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)
|
||||
{
|
||||
GL11.glRotatef(180, 0, 1, 0);
|
||||
GL11.glTranslated(0, -1, -0.7);
|
||||
FMLClientHandler.instance().getClient().renderEngine.bindTexture(RenderMultimeter.TEXTURE);
|
||||
RenderMultimeter.MODEL.render(0.0625f);
|
||||
RenderMultimeter.INSTANCE.render();
|
||||
}
|
||||
else if (item.getItem() instanceof ItemTransformer)
|
||||
{
|
||||
|
|
|
@ -27,8 +27,54 @@ import cpw.mods.fml.relauncher.SideOnly;
|
|||
@SideOnly(Side.CLIENT)
|
||||
public class RenderMultimeter
|
||||
{
|
||||
public static final ModelMultimeter MODEL = new ModelMultimeter();
|
||||
public static final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + "multimeter.png");
|
||||
public static final RenderMultimeter INSTANCE = new RenderMultimeter();
|
||||
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)
|
||||
{
|
||||
|
@ -96,9 +142,9 @@ public class RenderMultimeter
|
|||
|
||||
for (int i = 0; i < 1; i++)
|
||||
{
|
||||
//TODO: Add other dispaly info support.
|
||||
// TODO: Add other dispaly info support.
|
||||
String display = UnitDisplay.getDisplay(part.getNetwork().graph.get(0), Unit.JOULES);
|
||||
|
||||
|
||||
if (dir.offsetX == 0)
|
||||
RenderUtility.renderText(display, (float) (part.getNetwork().size.x * 0.9f), 0.5f);
|
||||
if (dir.offsetZ == 0)
|
||||
|
@ -107,4 +153,5 @@ public class RenderMultimeter
|
|||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -155,8 +155,9 @@ public class PartTransformer extends JCuboidPart implements JNormalOcclusion, TF
|
|||
public void load(NBTTagCompound nbt)
|
||||
{
|
||||
super.load(nbt);
|
||||
this.placementSide = ForgeDirection.getOrientation(nbt.getByte("side"));
|
||||
this.stepUp = nbt.getBoolean("stepUp");
|
||||
placementSide = ForgeDirection.getOrientation(nbt.getByte("side"));
|
||||
stepUp = nbt.getBoolean("stepUp");
|
||||
multiplier = nbt.getByte("multiplier");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -165,6 +166,7 @@ public class PartTransformer extends JCuboidPart implements JNormalOcclusion, TF
|
|||
super.save(nbt);
|
||||
nbt.setByte("side", (byte) this.placementSide.ordinal());
|
||||
nbt.setBoolean("stepUp", this.stepUp);
|
||||
nbt.setByte("multiplier", multiplier);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue