Merge branch 'master' of https://github.com/aidancbrady/Mekanism
This commit is contained in:
commit
7bbcc1c178
10 changed files with 348 additions and 131 deletions
96
common/mekanism/client/ModelBoxSelectiveFace.java
Normal file
96
common/mekanism/client/ModelBoxSelectiveFace.java
Normal file
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
157
common/mekanism/client/ModelRendererSelectiveFace.java
Normal file
157
common/mekanism/client/ModelRendererSelectiveFace.java
Normal file
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
|
|
Loading…
Reference in a new issue