Skip to content

Commit 9eaaeaa

Browse files
authored
Thread Safe Rendering Fixes (#38)
1 parent 198a8cb commit 9eaaeaa

File tree

7 files changed

+10
-15
lines changed

7 files changed

+10
-15
lines changed

src/main/java/com/jaquadro/minecraft/storagedrawers/block/BlockDrawersCustom.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import com.jaquadro.minecraft.storagedrawers.StorageDrawers;
1414
import com.jaquadro.minecraft.storagedrawers.api.pack.BlockType;
1515
import com.jaquadro.minecraft.storagedrawers.block.tile.TileEntityDrawers;
16-
import com.jaquadro.minecraft.storagedrawers.core.ClientProxy;
1716
import com.jaquadro.minecraft.storagedrawers.item.ItemCustomDrawers;
1817

1918
import cpw.mods.fml.relauncher.Side;
@@ -55,7 +54,6 @@ public int getRenderBlockPass() {
5554

5655
@Override
5756
public boolean canRenderInPass(int pass) {
58-
ClientProxy.renderPass = pass;
5957
return true;
6058
}
6159

src/main/java/com/jaquadro/minecraft/storagedrawers/block/BlockFramingTable.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import com.jaquadro.minecraft.storagedrawers.StorageDrawers;
1919
import com.jaquadro.minecraft.storagedrawers.block.tile.TileEntityFramingTable;
20-
import com.jaquadro.minecraft.storagedrawers.core.ClientProxy;
2120
import com.jaquadro.minecraft.storagedrawers.core.ModBlocks;
2221
import com.jaquadro.minecraft.storagedrawers.core.ModCreativeTabs;
2322
import com.jaquadro.minecraft.storagedrawers.core.handlers.GuiHandler;
@@ -106,7 +105,6 @@ public int getRenderBlockPass() {
106105

107106
@Override
108107
public boolean canRenderInPass(int pass) {
109-
ClientProxy.renderPass = pass;
110108
return true;
111109
}
112110

src/main/java/com/jaquadro/minecraft/storagedrawers/block/BlockTrimCustom.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
import com.jaquadro.minecraft.storagedrawers.StorageDrawers;
1717
import com.jaquadro.minecraft.storagedrawers.block.tile.TileEntityTrim;
18-
import com.jaquadro.minecraft.storagedrawers.core.ClientProxy;
1918
import com.jaquadro.minecraft.storagedrawers.item.ItemCustomTrim;
2019

2120
import cpw.mods.fml.relauncher.Side;
@@ -46,7 +45,6 @@ public int getRenderBlockPass() {
4645

4746
@Override
4847
public boolean canRenderInPass(int pass) {
49-
ClientProxy.renderPass = pass;
5048
return true;
5149
}
5250

src/main/java/com/jaquadro/minecraft/storagedrawers/client/renderer/DrawersCustomRenderer.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@
55
import net.minecraft.item.ItemStack;
66
import net.minecraft.util.IIcon;
77
import net.minecraft.world.IBlockAccess;
8+
import net.minecraftforge.client.ForgeHooksClient;
89

10+
import com.gtnewhorizons.angelica.api.ThreadSafeISBRH;
911
import com.jaquadro.minecraft.storagedrawers.StorageDrawers;
1012
import com.jaquadro.minecraft.storagedrawers.block.BlockDrawers;
1113
import com.jaquadro.minecraft.storagedrawers.block.BlockDrawersCustom;
1214
import com.jaquadro.minecraft.storagedrawers.block.tile.TileEntityDrawers;
1315
import com.jaquadro.minecraft.storagedrawers.client.renderer.common.CommonDrawerRenderer;
14-
import com.jaquadro.minecraft.storagedrawers.core.ClientProxy;
1516

17+
@ThreadSafeISBRH(perThread = true)
1618
public class DrawersCustomRenderer extends DrawersRenderer {
1719

18-
private CommonDrawerRenderer commonRender = new CommonDrawerRenderer();
20+
private final CommonDrawerRenderer commonRender = new CommonDrawerRenderer();
1921

2022
@Override
2123
protected void renderBaseBlock(IBlockAccess world, TileEntityDrawers tile, int x, int y, int z, BlockDrawers block,
@@ -39,9 +41,9 @@ protected void renderBaseBlock(IBlockAccess world, TileEntityDrawers tile, int x
3941
if (panelIcon == null) panelIcon = custom.getDefaultFaceIcon();
4042
if (frontIcon == null) frontIcon = custom.getDefaultFaceIcon();
4143

42-
if (ClientProxy.renderPass == 0)
44+
if (ForgeHooksClient.getWorldRenderPass() == 0)
4345
commonRender.renderBasePass(world, x, y, z, custom, tile.getDirection(), panelIcon, trimIcon, frontIcon);
44-
else if (ClientProxy.renderPass == 1)
46+
else if (ForgeHooksClient.getWorldRenderPass() == 1)
4547
commonRender.renderOverlayPass(world, x, y, z, custom, tile.getDirection(), trimIcon, frontIcon);
4648
}
4749

src/main/java/com/jaquadro/minecraft/storagedrawers/client/renderer/FramingTableRenderer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
import net.minecraft.block.Block;
44
import net.minecraft.client.renderer.RenderBlocks;
55
import net.minecraft.world.IBlockAccess;
6+
import net.minecraftforge.client.ForgeHooksClient;
67

78
import org.lwjgl.opengl.GL11;
89

910
import com.gtnewhorizons.angelica.api.ThreadSafeISBRH;
1011
import com.jaquadro.minecraft.storagedrawers.StorageDrawers;
1112
import com.jaquadro.minecraft.storagedrawers.block.BlockFramingTable;
1213
import com.jaquadro.minecraft.storagedrawers.client.renderer.common.CommonFramingRenderer;
13-
import com.jaquadro.minecraft.storagedrawers.core.ClientProxy;
1414
import com.jaquadro.minecraft.storagedrawers.util.RenderHelper;
1515

1616
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
@@ -67,10 +67,10 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b
6767
renderHelper.state.setRotateTransform(side, RenderHelper.ZNEG);
6868
renderHelper.state.setUVRotation(RenderHelper.YPOS, renderHelper.state.rotateTransform);
6969

70-
if (ClientProxy.renderPass == 0) {
70+
if (ForgeHooksClient.getWorldRenderPass() == 0) {
7171
if (right) framingRenderer.renderRight(world, x, y, z, framingTable);
7272
else framingRenderer.renderLeft(world, x, y, z, framingTable);
73-
} else if (ClientProxy.renderPass == 1) {
73+
} else if (ForgeHooksClient.getWorldRenderPass() == 1) {
7474
if (right) framingRenderer.renderOverlayRight(world, x, y, z, framingTable);
7575
else framingRenderer.renderOverlayLeft(world, x, y, z, framingTable);
7676
}

src/main/java/com/jaquadro/minecraft/storagedrawers/client/renderer/TrimCustomRenderer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
1616

17-
@ThreadSafeISBRH(perThread = false)
17+
@ThreadSafeISBRH(perThread = true)
1818
public class TrimCustomRenderer implements ISimpleBlockRenderingHandler {
1919

2020
private CommonTrimRenderer commonRender = new CommonTrimRenderer();

src/main/java/com/jaquadro/minecraft/storagedrawers/core/ClientProxy.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
public class ClientProxy extends CommonProxy {
2424

25-
public static int renderPass = 0;
2625
private DrawersItemRenderer itemRenderer = new DrawersItemRenderer();
2726
private TrimItemRender trimItemRenderer = new TrimItemRender();
2827

0 commit comments

Comments
 (0)