This commit is contained in:
Aidan Brady 2013-07-31 21:20:50 -04:00
commit 7bbcc1c178
10 changed files with 348 additions and 131 deletions

View 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);
}
}
}
}
}

View 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;
}
}

View file

@ -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;

View file

@ -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)

View file

@ -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())

View file

@ -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)

View file

@ -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

View file

@ -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;

View file

@ -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";
}
}

View file

@ -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");