Fixed multimeter item rendering
This commit is contained in:
parent
fc0f5c2011
commit
5de21946a2
3 changed files with 56 additions and 10 deletions
|
@ -59,10 +59,7 @@ public class RenderRIItem implements IItemRenderer
|
||||||
}
|
}
|
||||||
else if (item.getItem() instanceof ItemMultimeter)
|
else if (item.getItem() instanceof ItemMultimeter)
|
||||||
{
|
{
|
||||||
GL11.glRotatef(180, 0, 1, 0);
|
RenderMultimeter.INSTANCE.render();
|
||||||
GL11.glTranslated(0, -1, -0.7);
|
|
||||||
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderMultimeter.TEXTURE);
|
|
||||||
RenderMultimeter.MODEL.render(0.0625f);
|
|
||||||
}
|
}
|
||||||
else if (item.getItem() instanceof ItemTransformer)
|
else if (item.getItem() instanceof ItemTransformer)
|
||||||
{
|
{
|
||||||
|
|
|
@ -27,8 +27,54 @@ import cpw.mods.fml.relauncher.SideOnly;
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public class RenderMultimeter
|
public class RenderMultimeter
|
||||||
{
|
{
|
||||||
public static final ModelMultimeter MODEL = new ModelMultimeter();
|
public static final RenderMultimeter INSTANCE = new RenderMultimeter();
|
||||||
public static final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + "multimeter.png");
|
private final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + "multimeter.png");
|
||||||
|
|
||||||
|
public static void render()
|
||||||
|
{
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glRotatef(90, 1, 0, 0);
|
||||||
|
RenderUtility.bind(TextureMap.locationBlocksTexture);
|
||||||
|
// Render the main panel
|
||||||
|
RenderUtility.renderCube(-0.5, -0.05, -0.5, 0.5, 0.05, 0.5, Archaic.blockMachinePart, ResonantInduction.loadedIconMap.get(Reference.PREFIX + "multimeter_screen"));
|
||||||
|
ForgeDirection dir = ForgeDirection.NORTH;
|
||||||
|
final int metadata = 8;
|
||||||
|
// Render edges
|
||||||
|
// UP
|
||||||
|
RenderUtility.renderCube(-0.501, -0.0501, -0.501, 0.501, 0.0501, -0.44, Archaic.blockMachinePart, null, metadata);
|
||||||
|
// DOWN
|
||||||
|
RenderUtility.renderCube(-0.501, -0.0501, 0.44, 0.501, 0.0501, 0.501, Archaic.blockMachinePart, null, metadata);
|
||||||
|
// LEFT
|
||||||
|
for (int i = 2; i < 6; i++)
|
||||||
|
{
|
||||||
|
ForgeDirection check = ForgeDirection.getOrientation(i);
|
||||||
|
|
||||||
|
if (dir.offsetX != 0 && check.offsetZ != 0)
|
||||||
|
{
|
||||||
|
if (dir.offsetX != check.offsetZ)
|
||||||
|
{
|
||||||
|
RenderUtility.renderCube(-0.501, -0.0501, -0.501, -0.44, 0.0501, 0.501, Archaic.blockMachinePart, null, metadata);
|
||||||
|
}
|
||||||
|
else if (dir.offsetX == check.offsetZ)
|
||||||
|
{
|
||||||
|
RenderUtility.renderCube(0.44, -0.0501, -0.501, 0.501, 0.0501, 0.501, Archaic.blockMachinePart, null, metadata);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (dir.offsetZ != 0 && check.offsetX != 0)
|
||||||
|
{
|
||||||
|
if (dir.offsetZ == check.offsetX)
|
||||||
|
{
|
||||||
|
RenderUtility.renderCube(-0.501, -0.0501, -0.501, -0.44, 0.0501, 0.501, Archaic.blockMachinePart, null, metadata);
|
||||||
|
}
|
||||||
|
else if (dir.offsetZ != check.offsetX)
|
||||||
|
{
|
||||||
|
RenderUtility.renderCube(0.44, -0.0501, -0.501, 0.501, 0.0501, 0.501, Archaic.blockMachinePart, null, metadata);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
public static void render(PartMultimeter part, double x, double y, double z)
|
public static void render(PartMultimeter part, double x, double y, double z)
|
||||||
{
|
{
|
||||||
|
@ -107,4 +153,5 @@ public class RenderMultimeter
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -155,8 +155,9 @@ public class PartTransformer extends JCuboidPart implements JNormalOcclusion, TF
|
||||||
public void load(NBTTagCompound nbt)
|
public void load(NBTTagCompound nbt)
|
||||||
{
|
{
|
||||||
super.load(nbt);
|
super.load(nbt);
|
||||||
this.placementSide = ForgeDirection.getOrientation(nbt.getByte("side"));
|
placementSide = ForgeDirection.getOrientation(nbt.getByte("side"));
|
||||||
this.stepUp = nbt.getBoolean("stepUp");
|
stepUp = nbt.getBoolean("stepUp");
|
||||||
|
multiplier = nbt.getByte("multiplier");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -165,6 +166,7 @@ public class PartTransformer extends JCuboidPart implements JNormalOcclusion, TF
|
||||||
super.save(nbt);
|
super.save(nbt);
|
||||||
nbt.setByte("side", (byte) this.placementSide.ordinal());
|
nbt.setByte("side", (byte) this.placementSide.ordinal());
|
||||||
nbt.setBoolean("stepUp", this.stepUp);
|
nbt.setBoolean("stepUp", this.stepUp);
|
||||||
|
nbt.setByte("multiplier", multiplier);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in a new issue