diff --git a/common/mekanism/client/ModelBoxSelectiveFace.java b/common/mekanism/client/ModelBoxSelectiveFace.java new file mode 100644 index 000000000..e2007187c --- /dev/null +++ b/common/mekanism/client/ModelBoxSelectiveFace.java @@ -0,0 +1,96 @@ +package mekanism.client; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.PositionTextureVertex; +import net.minecraft.client.model.TexturedQuad; +import net.minecraft.client.renderer.Tessellator; + +public class ModelBoxSelectiveFace +{ + private PositionTextureVertex[] vertexPositions; + private TexturedQuad[] quadList; + public final float posX1; + public final float posY1; + public final float posZ1; + public final float posX2; + public final float posY2; + public final float posZ2; + + public ModelBoxSelectiveFace(ModelRendererSelectiveFace modelRenderer, int textureOffsetU, int textureOffsetV, float xMin, float yMin, float zMin, int xSize, int ySize, int zSize, float scaleFactor) + { + posX1 = xMin; + posY1 = yMin; + posZ1 = zMin; + posX2 = xMin + (float)xSize; + posY2 = yMin + (float)ySize; + posZ2 = zMin + (float)zSize; + vertexPositions = new PositionTextureVertex[8]; + quadList = new TexturedQuad[6]; + float xMax = xMin + (float)xSize; + float yMax = yMin + (float)ySize; + float zMax = zMin + (float)zSize; + xMin -= scaleFactor; + yMin -= scaleFactor; + zMin -= scaleFactor; + xMax += scaleFactor; + yMax += scaleFactor; + zMax += scaleFactor; + + if (modelRenderer.mirror) + { + float placeholder = xMax; + xMax = xMin; + xMin = placeholder; + } + + PositionTextureVertex positiontexturevertex0 = new PositionTextureVertex(xMin, yMin, zMin, 0.0F, 0.0F); + PositionTextureVertex positiontexturevertex1 = new PositionTextureVertex(xMax, yMin, zMin, 0.0F, 8.0F); + PositionTextureVertex positiontexturevertex2 = new PositionTextureVertex(xMax, yMax, zMin, 8.0F, 8.0F); + PositionTextureVertex positiontexturevertex3 = new PositionTextureVertex(xMin, yMax, zMin, 8.0F, 0.0F); + PositionTextureVertex positiontexturevertex4 = new PositionTextureVertex(xMin, yMin, zMax, 0.0F, 0.0F); + PositionTextureVertex positiontexturevertex5 = new PositionTextureVertex(xMax, yMin, zMax, 0.0F, 8.0F); + PositionTextureVertex positiontexturevertex6 = new PositionTextureVertex(xMax, yMax, zMax, 8.0F, 8.0F); + PositionTextureVertex positiontexturevertex7 = new PositionTextureVertex(xMin, yMax, zMax, 8.0F, 0.0F); + vertexPositions[0] = positiontexturevertex0; + vertexPositions[1] = positiontexturevertex1; + vertexPositions[2] = positiontexturevertex2; + vertexPositions[3] = positiontexturevertex3; + vertexPositions[4] = positiontexturevertex4; + vertexPositions[5] = positiontexturevertex5; + vertexPositions[6] = positiontexturevertex6; + vertexPositions[7] = positiontexturevertex7; + quadList[0] = new TexturedQuad(new PositionTextureVertex[] {positiontexturevertex2, positiontexturevertex3, positiontexturevertex7, positiontexturevertex6}, textureOffsetU + zSize + xSize, textureOffsetV + zSize, textureOffsetU + zSize + xSize + xSize, textureOffsetV, modelRenderer.textureWidth, modelRenderer.textureHeight); + quadList[1] = new TexturedQuad(new PositionTextureVertex[] {positiontexturevertex5, positiontexturevertex4, positiontexturevertex0, positiontexturevertex1}, textureOffsetU + zSize, textureOffsetV, textureOffsetU + zSize + xSize, textureOffsetV + zSize, modelRenderer.textureWidth, modelRenderer.textureHeight); + quadList[2] = new TexturedQuad(new PositionTextureVertex[] {positiontexturevertex4, positiontexturevertex5, positiontexturevertex6, positiontexturevertex7}, textureOffsetU + zSize + xSize + zSize, textureOffsetV + zSize, textureOffsetU + zSize + xSize + zSize + xSize, textureOffsetV + zSize + ySize, modelRenderer.textureWidth, modelRenderer.textureHeight); + quadList[3] = new TexturedQuad(new PositionTextureVertex[] {positiontexturevertex1, positiontexturevertex0, positiontexturevertex3, positiontexturevertex2}, textureOffsetU + zSize, textureOffsetV + zSize, textureOffsetU + zSize + xSize, textureOffsetV + zSize + ySize, modelRenderer.textureWidth, modelRenderer.textureHeight); + quadList[4] = new TexturedQuad(new PositionTextureVertex[] {positiontexturevertex0, positiontexturevertex4, positiontexturevertex7, positiontexturevertex3}, textureOffsetU, textureOffsetV + zSize, textureOffsetU + zSize, textureOffsetV + zSize + ySize, modelRenderer.textureWidth, modelRenderer.textureHeight); + quadList[5] = new TexturedQuad(new PositionTextureVertex[] {positiontexturevertex5, positiontexturevertex1, positiontexturevertex2, positiontexturevertex6}, textureOffsetU + zSize + xSize, textureOffsetV + zSize, textureOffsetU + zSize + xSize + zSize, textureOffsetV + zSize + ySize, modelRenderer.textureWidth, modelRenderer.textureHeight); + + if (modelRenderer.mirror) + { + for (int j1 = 0; j1 < quadList.length; ++j1) + { + quadList[j1].flipFace(); + } + } + } + + /** + * Draw the six sided box defined by this ModelBox + */ + @SideOnly(Side.CLIENT) + public void render(Tessellator par1Tessellator, boolean[] connected, float par2) + { + if(connected.length == quadList.length) + { + for (int i = 0; i < connected.length; ++i) + { + if(!connected[i]) + { + quadList[i].draw(par1Tessellator, par2); + } + } + } + } +} diff --git a/common/mekanism/client/ModelRendererSelectiveFace.java b/common/mekanism/client/ModelRendererSelectiveFace.java new file mode 100644 index 000000000..e76e19169 --- /dev/null +++ b/common/mekanism/client/ModelRendererSelectiveFace.java @@ -0,0 +1,157 @@ +package mekanism.client; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.TextureOffset; +import net.minecraft.client.renderer.GLAllocation; +import net.minecraft.client.renderer.Tessellator; + +import org.bouncycastle.util.Arrays; +import org.lwjgl.opengl.GL11; + +public class ModelRendererSelectiveFace +{ + public float textureWidth; + public float textureHeight; + public float offsetX; + public float offsetY; + public float offsetZ; + public float rotationPointX; + public float rotationPointY; + public float rotationPointZ; + public float rotateAngleX; + public float rotateAngleY; + public float rotateAngleZ; + public boolean[] connectedFaces; + public boolean mirror; + public boolean showModel; + public boolean isHidden; + public List cubeList; + private int textureOffsetX; + private int textureOffsetY; + private int displayList; + private boolean compiled; + private ModelBase baseModel; + + + public ModelRendererSelectiveFace(ModelBase par1ModelBase) + { + textureWidth = 64.0F; + textureHeight = 32.0F; + showModel = true; + cubeList = new ArrayList(); + baseModel = par1ModelBase; + setTextureSize(par1ModelBase.textureWidth, par1ModelBase.textureHeight); + } + + public ModelRendererSelectiveFace(ModelBase par1ModelBase, int par2, int par3) + { + this(par1ModelBase); + setTextureOffset(par2, par3); + } + + public ModelRendererSelectiveFace setTextureOffset(int par1, int par2) + { + textureOffsetX = par1; + textureOffsetY = par2; + return this; + } + + public ModelRendererSelectiveFace addBox(float minX, float minY, float minZ, int sizeX, int sizeY, int sizeZ) + { + cubeList.add(new ModelBoxSelectiveFace(this, textureOffsetX, textureOffsetY, minX, minY, minZ, sizeX, sizeY, sizeZ, 0.0F)); + return this; + } + + public void setRotationPoint(float pointX, float pointY, float pointZ) + { + rotationPointX = pointX; + rotationPointY = pointY; + rotationPointZ = pointZ; + } + + @SideOnly(Side.CLIENT) + public void render(boolean[] connected, float par1) + { + if (!isHidden) + { + if (showModel) + { + if (!(compiled && Arrays.areEqual(connected, connectedFaces))) + { + connectedFaces = connected; + compileDisplayList(par1); + } + + GL11.glTranslatef(offsetX, offsetY, offsetZ); + int i; + + if (rotateAngleX == 0.0F && rotateAngleY == 0.0F && rotateAngleZ == 0.0F) + { + if (rotationPointX == 0.0F && rotationPointY == 0.0F && rotationPointZ == 0.0F) + { + GL11.glCallList(displayList); + } + else + { + GL11.glTranslatef(rotationPointX * par1, rotationPointY * par1, rotationPointZ * par1); + GL11.glCallList(displayList); + GL11.glTranslatef(-rotationPointX * par1, -rotationPointY * par1, -rotationPointZ * par1); + } + } + else + { + GL11.glPushMatrix(); + GL11.glTranslatef(rotationPointX * par1, rotationPointY * par1, rotationPointZ * par1); + + if (rotateAngleZ != 0.0F) + { + GL11.glRotatef(rotateAngleZ * (180F / (float)Math.PI), 0.0F, 0.0F, 1.0F); + } + + if (rotateAngleY != 0.0F) + { + GL11.glRotatef(rotateAngleY * (180F / (float)Math.PI), 0.0F, 1.0F, 0.0F); + } + + if (rotateAngleX != 0.0F) + { + GL11.glRotatef(rotateAngleX * (180F / (float)Math.PI), 1.0F, 0.0F, 0.0F); + } + + GL11.glCallList(displayList); + GL11.glPopMatrix(); + } + + GL11.glTranslatef(-offsetX, -offsetY, -offsetZ); + } + } + } + + @SideOnly(Side.CLIENT) + private void compileDisplayList(float par1) + { + displayList = GLAllocation.generateDisplayLists(1); + GL11.glNewList(displayList, GL11.GL_COMPILE); + Tessellator tessellator = Tessellator.instance; + + for (int i = 0; i < cubeList.size(); ++i) + { + ((ModelBoxSelectiveFace)cubeList.get(i)).render(tessellator, connectedFaces, par1); + } + + GL11.glEndList(); + compiled = true; + } + + public ModelRendererSelectiveFace setTextureSize(int par1, int par2) + { + textureWidth = (float)par1; + textureHeight = (float)par2; + return this; + } +} diff --git a/common/mekanism/client/ModelTransmitter.java b/common/mekanism/client/ModelTransmitter.java index b9936f44a..62981eeea 100644 --- a/common/mekanism/client/ModelTransmitter.java +++ b/common/mekanism/client/ModelTransmitter.java @@ -10,96 +10,69 @@ import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class ModelTransmitter extends ModelBase { - ModelRenderer UpOn; - ModelRenderer DownOn; - ModelRenderer FrontOn; - ModelRenderer BackOn; - ModelRenderer LeftOn; - ModelRenderer RightOn; - ModelRenderer UpOff; - ModelRenderer DownOff; - ModelRenderer FrontOff; - ModelRenderer BackOff; - ModelRenderer LeftOff; - ModelRenderer RightOff; + public boolean[][] disabledFaces = { + {true, true, false, false, false, false}, + {true, true, false, false, false, false}, + {false, false, false, false, true, true}, + {false, false, false, false, true, true}, + {true, true, false, false, false, false}, + {true, true, false, false, false, false}, + }; + ModelRendererSelectiveFace Center; + ModelRendererSelectiveFace Up; + ModelRendererSelectiveFace Down; + ModelRendererSelectiveFace Front; + ModelRendererSelectiveFace Back; + ModelRendererSelectiveFace Left; + ModelRendererSelectiveFace Right; public ModelTransmitter() { textureWidth = 64; textureHeight = 64; - - UpOn = new ModelRenderer(this, 0, 13); - UpOn.addBox(0F, 0F, 0F, 6, 5, 6); - UpOn.setRotationPoint(-3F, 8F, -3F); - UpOn.setTextureSize(64, 64); - UpOn.mirror = true; - setRotation(UpOn, 0F, 0F, 0F); - DownOn = new ModelRenderer(this, 26, 13); - DownOn.addBox(0F, 0F, 0F, 6, 5, 6); - DownOn.setRotationPoint(-3F, 19F, -3F); - DownOn.setTextureSize(64, 64); - DownOn.mirror = true; - setRotation(DownOn, 0F, 0F, 0F); - FrontOn = new ModelRenderer(this, 0, 26); - FrontOn.addBox(0F, 0F, 0F, 5, 6, 6); - FrontOn.setRotationPoint(-3F, 13F, -3F); - FrontOn.setTextureSize(64, 64); - FrontOn.mirror = true; - setRotation(FrontOn, 0F, 1.570796F, 0F); - BackOn = new ModelRenderer(this, 0, 41); - BackOn.addBox(0F, 0F, 0F, 5, 6, 6); - BackOn.setRotationPoint(-3F, 13F, 8F); - BackOn.setTextureSize(64, 64); - BackOn.mirror = true; - setRotation(BackOn, 0F, 1.570796F, 0F); - LeftOn = new ModelRenderer(this, 26, 0); - LeftOn.addBox(0F, 0F, 0F, 6, 5, 6); - LeftOn.setRotationPoint(3F, 19F, 3F); - LeftOn.setTextureSize(64, 64); - LeftOn.mirror = true; - setRotation(LeftOn, 1.570796F, 1.570796F, 0F); - RightOn = new ModelRenderer(this, 26, 26); - RightOn.addBox(0F, 0F, 0F, 6, 5, 6); - RightOn.setRotationPoint(-8F, 19F, 3F); - RightOn.setTextureSize(64, 64); - RightOn.mirror = true; - setRotation(RightOn, 1.570796F, 1.570796F, 0F); - UpOff = new ModelRenderer(this, 0, 0); - UpOff.addBox(0F, 0F, 0F, 6, 0, 6); - UpOff.setRotationPoint(-3F, 13F, -3F); - UpOff.setTextureSize(64, 64); - UpOff.mirror = true; - setRotation(UpOff, 0F, 0F, 0F); - DownOff = new ModelRenderer(this, 0, 0); - DownOff.addBox(0F, 0F, 0F, 6, 0, 6); - DownOff.setRotationPoint(-3F, 19F, -3F); - DownOff.setTextureSize(64, 64); - DownOff.mirror = true; - setRotation(DownOff, 0F, 0F, 0F); - FrontOff = new ModelRenderer(this, 0, 0); - FrontOff.addBox(0F, 0F, 0F, 0, 6, 6); - FrontOff.setRotationPoint(-3F, 13F, -3F); - FrontOff.setTextureSize(64, 64); - FrontOff.mirror = true; - setRotation(FrontOff, 0F, 1.570796F, 0F); - BackOff = new ModelRenderer(this, 0, 0); - BackOff.addBox(0F, 0F, 0F, 0, 6, 6); - BackOff.setRotationPoint(-3F, 13F, 3F); - BackOff.setTextureSize(64, 64); - BackOff.mirror = true; - setRotation(BackOff, 0F, 1.570796F, 0F); - LeftOff = new ModelRenderer(this, 0, 0); - LeftOff.addBox(0F, 0F, 0F, 6, 0, 6); - LeftOff.setRotationPoint(3F, 19F, 3F); - LeftOff.setTextureSize(64, 64); - LeftOff.mirror = true; - setRotation(LeftOff, 1.570796F, 1.570796F, 0F); - RightOff = new ModelRenderer(this, 0, 0); - RightOff.addBox(0F, 0F, 0F, 6, 0, 6); - RightOff.setRotationPoint(-3F, 19F, 3F); - RightOff.setTextureSize(64, 64); - RightOff.mirror = true; - setRotation(RightOff, 1.570796F, 1.570796F, 0F); + + Center = new ModelRendererSelectiveFace(this, 0, 0); + Center.addBox(0F, 0F, 0F, 6, 6, 6); + Center.setRotationPoint(-3F, 13F, -3F); + Center.setTextureSize(64, 64); + Center.mirror = true; + setRotation(Center, 0F, 0F, 0F); + Up = new ModelRendererSelectiveFace(this, 0, 13); + Up.addBox(0F, 0F, 0F, 6, 5, 6); + Up.setRotationPoint(-3F, 8F, -3F); + Up.setTextureSize(64, 64); + Up.mirror = true; + setRotation(Up, 0F, 0F, 0F); + Down = new ModelRendererSelectiveFace(this, 26, 13); + Down.addBox(0F, 0F, 0F, 6, 5, 6); + Down.setRotationPoint(-3F, 19F, -3F); + Down.setTextureSize(64, 64); + Down.mirror = true; + setRotation(Down, 0F, 0F, 0F); + Front = new ModelRendererSelectiveFace(this, 0, 26); + Front.addBox(0F, 0F, 0F, 5, 6, 6); + Front.setRotationPoint(-3F, 13F, -3F); + Front.setTextureSize(64, 64); + Front.mirror = true; + setRotation(Front, 0F, 1.570796F, 0F); + Back = new ModelRendererSelectiveFace(this, 0, 41); + Back.addBox(0F, 0F, 0F, 5, 6, 6); + Back.setRotationPoint(-3F, 13F, 8F); + Back.setTextureSize(64, 64); + Back.mirror = true; + setRotation(Back, 0F, 1.570796F, 0F); + Left = new ModelRendererSelectiveFace(this, 26, 0); + Left.addBox(0F, 0F, 0F, 6, 5, 6); + Left.setRotationPoint(3F, 19F, 3F); + Left.setTextureSize(64, 64); + Left.mirror = true; + setRotation(Left, 1.570796F, 1.570796F, 0F); + Right = new ModelRendererSelectiveFace(this, 26, 26); + Right.addBox(0F, 0F, 0F, 6, 5, 6); + Right.setRotationPoint(-8F, 19F, 3F); + Right.setTextureSize(64, 64); + Right.mirror = true; + setRotation(Right, 1.570796F, 1.570796F, 0F); } @Override @@ -121,55 +94,35 @@ public class ModelTransmitter extends ModelBase switch(orientation) { case DOWN: - DownOn.render(0.0625F); + Down.render(disabledFaces[orientation.ordinal()], 0.0625F); break; case UP: - UpOn.render(0.0625F); + Up.render(disabledFaces[orientation.ordinal()], 0.0625F); break; case NORTH: - BackOn.render(0.0625F); + Back.render(disabledFaces[orientation.ordinal()], 0.0625F); break; case SOUTH: - FrontOn.render(0.0625F); + Front.render(disabledFaces[orientation.ordinal()], 0.0625F); break; case WEST: - RightOn.render(0.0625F); + Right.render(disabledFaces[orientation.ordinal()], 0.0625F); break; case EAST: - LeftOn.render(0.0625F); + Left.render(disabledFaces[orientation.ordinal()], 0.0625F); break; default: return; } } - else { - switch(orientation) - { - case DOWN: - DownOff.render(0.0625F); - break; - case UP: - UpOff.render(0.0625F); - break; - case NORTH: - BackOff.render(0.0625F); - break; - case SOUTH: - FrontOff.render(0.0625F); - break; - case WEST: - RightOff.render(0.0625F); - break; - case EAST: - LeftOff.render(0.0625F); - break; - default: - return; - } - } + } + + public void renderCenter(boolean[] connectable) + { + Center.render(connectable, 0.0625F); } - private void setRotation(ModelRenderer model, float x, float y, float z) + private void setRotation(ModelRendererSelectiveFace model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; diff --git a/common/mekanism/client/RenderMechanicalPipe.java b/common/mekanism/client/RenderMechanicalPipe.java index 4ae1fa2c2..0b43261d3 100644 --- a/common/mekanism/client/RenderMechanicalPipe.java +++ b/common/mekanism/client/RenderMechanicalPipe.java @@ -44,14 +44,17 @@ public class RenderMechanicalPipe extends TileEntitySpecialRenderer GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); GL11.glScalef(1.0F, -1F, -1F); + GL11.glDisable(GL11.GL_CULL_FACE); boolean[] connectable = PipeUtils.getConnections(tileEntity); + model.renderCenter(connectable); for(int i = 0; i < 6; i++) { model.renderSide(ForgeDirection.getOrientation(i), connectable[i]); } + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); if(tileEntity.fluidScale > 0 && tileEntity.refFluid != null) diff --git a/common/mekanism/client/RenderPressurizedTube.java b/common/mekanism/client/RenderPressurizedTube.java index 2804113db..fa637c4c5 100644 --- a/common/mekanism/client/RenderPressurizedTube.java +++ b/common/mekanism/client/RenderPressurizedTube.java @@ -46,6 +46,7 @@ public class RenderPressurizedTube extends TileEntitySpecialRenderer GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); GL11.glScalef(1.0F, -1F, -1F); + GL11.glDisable(GL11.GL_CULL_FACE); boolean[] connectable = new boolean[] {false, false, false, false, false, false}; @@ -64,6 +65,8 @@ public class RenderPressurizedTube extends TileEntitySpecialRenderer } } + model.renderCenter(connectable); + if(tileEntity.canTransferGas()) { for(int i = 0; i < 6; i++) @@ -104,6 +107,7 @@ public class RenderPressurizedTube extends TileEntitySpecialRenderer } } + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); if(tileEntity.gasScale > 0 && tileEntity.refGas != null && tileEntity.refGas.hasTexture()) diff --git a/common/mekanism/client/RenderUniversalCable.java b/common/mekanism/client/RenderUniversalCable.java index 061c347dc..b94cb18c8 100644 --- a/common/mekanism/client/RenderUniversalCable.java +++ b/common/mekanism/client/RenderUniversalCable.java @@ -39,14 +39,17 @@ public class RenderUniversalCable extends TileEntitySpecialRenderer GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); GL11.glScalef(1.0F, -1F, -1F); + GL11.glDisable(GL11.GL_CULL_FACE); boolean[] connectable = CableUtils.getConnections(tileEntity); + model.renderCenter(connectable); for(int i = 0; i < 6; i++) { model.renderSide(ForgeDirection.getOrientation(i), connectable[i]); } + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); if(Mekanism.fancyUniversalCableRender) diff --git a/common/mekanism/client/TransmitterRenderer.java b/common/mekanism/client/TransmitterRenderer.java index 44f6e69f5..3c60b3196 100644 --- a/common/mekanism/client/TransmitterRenderer.java +++ b/common/mekanism/client/TransmitterRenderer.java @@ -6,6 +6,7 @@ import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.world.IBlockAccess; +import net.minecraftforge.common.ForgeDirection; import org.lwjgl.opengl.GL11; @@ -25,6 +26,7 @@ public class TransmitterRenderer implements ISimpleBlockRenderingHandler GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(180F, 0.0F, -1.0F, 0.0F); GL11.glTranslated(0.0F, -1.0F, 0.0F); + GL11.glDisable(GL11.GL_CULL_FACE); switch(metadata) { @@ -39,12 +41,11 @@ public class TransmitterRenderer implements ISimpleBlockRenderingHandler break; } - transmitter.UpOn.render(0.0625F); - transmitter.DownOn.render(0.0625F); - transmitter.BackOff.render(0.0625F); - transmitter.FrontOff.render(0.0625F); - transmitter.LeftOff.render(0.0625F); - transmitter.RightOff.render(0.0625F); + transmitter.renderSide(ForgeDirection.UP, true); + transmitter.renderSide(ForgeDirection.DOWN, true); + transmitter.renderCenter(new boolean[]{true, true, false, false, false, false}); + + GL11.glEnable(GL11.GL_CULL_FACE); } @Override diff --git a/common/mekanism/common/Tier.java b/common/mekanism/common/Tier.java index cfd344741..b56ea3ed9 100644 --- a/common/mekanism/common/Tier.java +++ b/common/mekanism/common/Tier.java @@ -56,9 +56,9 @@ public final class Tier */ public static enum FactoryTier { - BASIC("Basic", 3, new ResourceLocation("mekanism", "gui/GuiBasicFactory.png")), - ADVANCED("Advanced", 5, new ResourceLocation("mekanism", "gui/GuiAdvancedFactory.png")), - ELITE("Elite", 7, new ResourceLocation("mekanism", "gui/GuiEliteFactory.png")); + BASIC("Basic", 3, new ResourceLocation("mekanism", "gui/factory/GuiBasicFactory.png")), + ADVANCED("Advanced", 5, new ResourceLocation("mekanism", "gui/factory/GuiAdvancedFactory.png")), + ELITE("Elite", 7, new ResourceLocation("mekanism", "gui/factory/GuiEliteFactory.png")); public int processes; public ResourceLocation guiLocation; diff --git a/common/mekanism/tools/common/ItemMekanismArmor.java b/common/mekanism/tools/common/ItemMekanismArmor.java index 8f9d37bfb..e16fc3bd4 100644 --- a/common/mekanism/tools/common/ItemMekanismArmor.java +++ b/common/mekanism/tools/common/ItemMekanismArmor.java @@ -36,6 +36,6 @@ public class ItemMekanismArmor extends ItemArmor @Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer) { - return "/assets/mekanism/armor/" + material.name().toLowerCase() + "_" + layer + ".png"; + return "mekanism:armor/" + material.name().toLowerCase() + "_" + layer + ".png"; } } diff --git a/common/mekanism/tools/common/MekanismTools.java b/common/mekanism/tools/common/MekanismTools.java index 59d37f149..d356a1d8c 100644 --- a/common/mekanism/tools/common/MekanismTools.java +++ b/common/mekanism/tools/common/MekanismTools.java @@ -466,10 +466,10 @@ public class MekanismTools implements IModule BronzeSword = new ItemMekanismSword(Mekanism.configuration.getItem("BronzeSword", 11409).getInt(), toolBRONZE).setUnlocalizedName("BronzeSword"); //Osmium - OsmiumHelmet = (new ItemMekanismArmor(Mekanism.configuration.getItem("OsmiumHelmet", 11410).getInt(), EnumArmorMaterial.DIAMOND, Mekanism.proxy.getArmorIndex("osmium"), 0)).setUnlocalizedName("OsmiumHelmet"); - OsmiumChestplate = (new ItemMekanismArmor(Mekanism.configuration.getItem("OsmiumChestplate", 11411).getInt(), EnumArmorMaterial.DIAMOND, Mekanism.proxy.getArmorIndex("osmium"), 1)).setUnlocalizedName("OsmiumChestplate"); - OsmiumLeggings = (new ItemMekanismArmor(Mekanism.configuration.getItem("OsmiumLeggings", 11412).getInt(), EnumArmorMaterial.DIAMOND, Mekanism.proxy.getArmorIndex("osmium"), 2)).setUnlocalizedName("OsmiumLeggings"); - OsmiumBoots = (new ItemMekanismArmor(Mekanism.configuration.getItem("OsmiumBoots", 11413).getInt(), EnumArmorMaterial.DIAMOND, Mekanism.proxy.getArmorIndex("osmium"), 3)).setUnlocalizedName("OsmiumBoots"); + OsmiumHelmet = (new ItemMekanismArmor(Mekanism.configuration.getItem("OsmiumHelmet", 11410).getInt(), armorOSMIUM, Mekanism.proxy.getArmorIndex("osmium"), 0)).setUnlocalizedName("OsmiumHelmet"); + OsmiumChestplate = (new ItemMekanismArmor(Mekanism.configuration.getItem("OsmiumChestplate", 11411).getInt(), armorOSMIUM, Mekanism.proxy.getArmorIndex("osmium"), 1)).setUnlocalizedName("OsmiumChestplate"); + OsmiumLeggings = (new ItemMekanismArmor(Mekanism.configuration.getItem("OsmiumLeggings", 11412).getInt(), armorOSMIUM, Mekanism.proxy.getArmorIndex("osmium"), 2)).setUnlocalizedName("OsmiumLeggings"); + OsmiumBoots = (new ItemMekanismArmor(Mekanism.configuration.getItem("OsmiumBoots", 11413).getInt(), armorOSMIUM, Mekanism.proxy.getArmorIndex("osmium"), 3)).setUnlocalizedName("OsmiumBoots"); OsmiumPaxel = new ItemMekanismPaxel(Mekanism.configuration.getItem("OsmiumPaxel", 11414).getInt(), toolOSMIUM2).setUnlocalizedName("OsmiumPaxel"); OsmiumPickaxe = new ItemMekanismPickaxe(Mekanism.configuration.getItem("OsmiumPickaxe", 11415).getInt(), toolOSMIUM).setUnlocalizedName("OsmiumPickaxe"); OsmiumAxe = new ItemMekanismAxe(Mekanism.configuration.getItem("OsmiumAxe", 11416).getInt(), toolOSMIUM).setUnlocalizedName("OsmiumAxe");