Skip to content

Commit 7eeecd1

Browse files
davenonymousthraaawn
authored andcommitted
Finished up rendering rework
1 parent 2f8a0d8 commit 7eeecd1

File tree

6 files changed

+40
-60
lines changed

6 files changed

+40
-60
lines changed

src/main/java/org/dave/compactmachines3/block/BlockMachine.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import org.dave.compactmachines3.CompactMachines3;
3636
import org.dave.compactmachines3.compat.ITopInfoProvider;
3737
import org.dave.compactmachines3.init.Blockss;
38+
import org.dave.compactmachines3.network.MessageMachineChunk;
3839
import org.dave.compactmachines3.network.MessageMachineContent;
3940
import org.dave.compactmachines3.network.PackageHandler;
4041
import org.dave.compactmachines3.reference.EnumMachineSize;
@@ -329,6 +330,7 @@ public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, En
329330

330331
player.openGui(CompactMachines3.instance, GuiIds.MACHINE_VIEW.ordinal(), world, pos.getX(), pos.getY(), pos.getZ());
331332
PackageHandler.instance.sendTo(new MessageMachineContent(machine.coords), (EntityPlayerMP)player);
333+
PackageHandler.instance.sendTo(new MessageMachineChunk(machine.coords), (EntityPlayerMP)player);
332334

333335
return true;
334336
}

src/main/java/org/dave/compactmachines3/command/CommandMachinesView.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import net.minecraft.entity.player.EntityPlayerMP;
77
import net.minecraft.server.MinecraftServer;
88
import org.dave.compactmachines3.CompactMachines3;
9+
import org.dave.compactmachines3.network.MessageMachineChunk;
910
import org.dave.compactmachines3.network.MessageMachineContent;
1011
import org.dave.compactmachines3.network.PackageHandler;
1112
import org.dave.compactmachines3.reference.GuiIds;
@@ -41,5 +42,6 @@ public void execute(MinecraftServer server, ICommandSender sender, String[] args
4142

4243
player.openGui(CompactMachines3.instance, GuiIds.MACHINE_ADMIN.ordinal(), player.world, 0,0,0);
4344
PackageHandler.instance.sendTo(new MessageMachineContent(coords), player);
45+
PackageHandler.instance.sendTo(new MessageMachineChunk(coords), player);
4446
}
4547
}

src/main/java/org/dave/compactmachines3/gui/machine/GuiMachine.java

Lines changed: 33 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -116,46 +116,45 @@ public void drawScreen(int mouseX, int mouseY, float partialTicks) {
116116
return;
117117
}
118118

119-
List<BlockPos> toRenderCopy = CompactMachines3.clientWorldData.worldClone.providerClient.getRenderListForChunk(GuiMachineData.coords * 64, 0);
120-
if(GuiMachineData.requiresNewDisplayList && toRenderCopy != null) {
121-
TileEntityRendererDispatcher.instance.setWorld(CompactMachines3.clientWorldData.worldClone);
119+
if(GuiMachineData.requiresNewDisplayList) {
120+
List<BlockPos> toRenderCopy = CompactMachines3.clientWorldData.worldClone.providerClient.getRenderListForChunk(GuiMachineData.coords * 64, 0);
121+
if(toRenderCopy != null) {
122+
TileEntityRendererDispatcher.instance.setWorld(CompactMachines3.clientWorldData.worldClone);
122123

123-
if(glListId != -1) {
124-
GLAllocation.deleteDisplayLists(glListId);
125-
}
126-
127-
glListId = GLAllocation.generateDisplayLists(1);
128-
GlStateManager.glNewList(glListId, GL11.GL_COMPILE);
129-
130-
GlStateManager.pushAttrib();
131-
GlStateManager.pushMatrix();
124+
if (glListId != -1) {
125+
GLAllocation.deleteDisplayLists(glListId);
126+
}
132127

133-
GlStateManager.translate(-GuiMachineData.coords*1024, -40, 0);
134-
Tessellator tessellator = Tessellator.getInstance();
135-
BufferBuilder buffer = tessellator.getBuffer();
128+
glListId = GLAllocation.generateDisplayLists(1);
129+
GlStateManager.glNewList(glListId, GL11.GL_COMPILE);
136130

137-
// Aaaand render
138-
BlockRendererDispatcher blockrendererdispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher();
131+
GlStateManager.pushAttrib();
132+
GlStateManager.pushMatrix();
139133

140-
//List<BlockPos> toRenderCopy = new ArrayList<>(GuiMachineData.toRender);
134+
GlStateManager.translate(-GuiMachineData.coords * 1024, -40, 0);
135+
Tessellator tessellator = Tessellator.getInstance();
136+
BufferBuilder buffer = tessellator.getBuffer();
141137

138+
// Aaaand render
139+
BlockRendererDispatcher blockrendererdispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher();
142140

143-
buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
144-
GlStateManager.disableAlpha();
145-
this.renderLayer(blockrendererdispatcher, buffer, BlockRenderLayer.SOLID, toRenderCopy);
146-
GlStateManager.enableAlpha();
147-
this.renderLayer(blockrendererdispatcher, buffer, BlockRenderLayer.CUTOUT_MIPPED, toRenderCopy);
148-
this.renderLayer(blockrendererdispatcher, buffer, BlockRenderLayer.CUTOUT, toRenderCopy);
149-
GlStateManager.shadeModel(GL11.GL_FLAT);
150-
this.renderLayer(blockrendererdispatcher, buffer, BlockRenderLayer.TRANSLUCENT, toRenderCopy);
141+
buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
142+
GlStateManager.disableAlpha();
143+
this.renderLayer(blockrendererdispatcher, buffer, BlockRenderLayer.SOLID, toRenderCopy);
144+
GlStateManager.enableAlpha();
145+
this.renderLayer(blockrendererdispatcher, buffer, BlockRenderLayer.CUTOUT_MIPPED, toRenderCopy);
146+
this.renderLayer(blockrendererdispatcher, buffer, BlockRenderLayer.CUTOUT, toRenderCopy);
147+
GlStateManager.shadeModel(GL11.GL_FLAT);
148+
this.renderLayer(blockrendererdispatcher, buffer, BlockRenderLayer.TRANSLUCENT, toRenderCopy);
151149

152-
tessellator.draw();
150+
tessellator.draw();
153151

154152

155-
GlStateManager.popMatrix();
156-
GlStateManager.popAttrib();
153+
GlStateManager.popMatrix();
154+
GlStateManager.popAttrib();
157155

158-
GlStateManager.glEndList();
156+
GlStateManager.glEndList();
157+
}
159158
}
160159

161160
if(CompactMachines3.clientWorldData.worldClone != null && activeTab == 0) {
@@ -563,36 +562,13 @@ public void renderLayer(BlockRendererDispatcher blockrendererdispatcher, BufferB
563562

564563
ForgeHooksClient.setRenderLayer(null);
565564
}
566-
567-
/*
568-
IBlockAccess blockAccess = ChunkUtils.getBlockAccessFromChunk(GuiMachineData.chunk);
569-
for (BlockPos pos : toRender) {
570-
IBlockState state = blockAccess.getBlockState(pos);
571-
572-
if (!state.getBlock().canRenderInLayer(state, renderLayer)) {
573-
continue;
574-
}
575-
576-
try {
577-
state = state.getActualState(blockAccess, pos);
578-
} catch (Exception e) {
579-
Logz.debug("Could not determine actual state of block: %s", state.getBlock());
580-
}
581-
582-
ForgeHooksClient.setRenderLayer(renderLayer);
583-
584-
try {
585-
blockrendererdispatcher.renderBlock(state, pos, blockAccess, buffer);
586-
} catch (Exception e) {
587-
e.printStackTrace();
588-
}
589-
590-
ForgeHooksClient.setRenderLayer(null);
591-
}
592-
*/
593565
}
594566

595567
private void renderEntities() {
568+
if(CompactMachines3.clientWorldData == null || CompactMachines3.clientWorldData.worldClone == null) {
569+
return;
570+
}
571+
596572
ClassInheritanceMultiMap<Entity> entities = CompactMachines3.clientWorldData.worldClone.getChunk(GuiMachineData.coords * 16, 0).getEntityLists()[2];
597573
for(Entity entity : entities) {
598574
renderEntity(entity);

src/main/java/org/dave/compactmachines3/tile/TileEntityMachine.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,9 +324,12 @@ public void update() {
324324
this.markDirty();
325325
}
326326

327+
/*
328+
// Use this once we render in world or use the proxy world to determine client side capabilities.
327329
if(!this.getWorld().isRemote && this.getWorld().getTotalWorldTime() % 20 == 0 && this.coords != -1) {
328330
PackageHandler.instance.sendToAllAround(new MessageMachineChunk(this.coords), new NetworkRegistry.TargetPoint(this.world.provider.getDimension(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ(), 32.0f));
329331
}
332+
*/
330333
}
331334

332335
@Override

src/main/java/org/dave/compactmachines3/utility/ChunkUtils.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,6 @@ public static void loadEntities(World worldIn, NBTTagCompound compound, Chunk ch
224224
if (tileentity != null)
225225
{
226226
tileentity.setWorld(worldIn);
227-
//BlockPos pos = tileentity.getPos();
228-
//tileentity.setPos(new BlockPos(pos.getX() % 1024, pos.getY(), pos.getZ()));
229227

230228
for(AbstractExtraTileDataProvider provider : ExtraTileDataProviderRegistry.getDataProviders(tileentity)) {
231229
String tagName = String.format("cm3_extra:%s", provider.getName());

src/main/java/org/dave/compactmachines3/world/data/provider/cofh/ThermalDynamicsGrid.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.dave.compactmachines3.world.data.provider.cofh;
22

3-
43
import cofh.thermaldynamics.block.BlockDuct;
54
import cofh.thermaldynamics.duct.tiles.TileGrid;
65
import net.minecraft.nbt.NBTTagCompound;

0 commit comments

Comments
 (0)