mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
add a fill progress bar
This commit is contained in:
parent
b77633b152
commit
7757e3cb53
@ -10,6 +10,7 @@ import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.entity.RenderItem;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
@ -55,13 +56,12 @@ public class RenderMassStorage extends TileEntitySpecialRenderer {
|
||||
GL11.glPushMatrix();
|
||||
{
|
||||
|
||||
GL11.glTranslatef(4, 3, 0); // adjust up one pixel
|
||||
GL11.glTranslatef(4.0F, 2.5F, 0); // adjust to centered location
|
||||
GL11.glScalef(8.0F / 16.0F, 8.0F / 16.0F, 1); // scale to 8 pixels across
|
||||
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
|
||||
itemRenderer.renderItemIntoGUI(mc.fontRenderer, mc.renderEngine, storage.type, 0, 0, true);
|
||||
itemRenderer.renderItemOverlayIntoGUI(mc.fontRenderer, mc.renderEngine, storage.type, 0, 0);
|
||||
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
@ -71,7 +71,7 @@ public class RenderMassStorage extends TileEntitySpecialRenderer {
|
||||
String text = getTextForCount(storage.getStockpile(), mc.fontRenderer.getUnicodeFlag());
|
||||
|
||||
int textX = 32 - mc.fontRenderer.getStringWidth(text) / 2;
|
||||
int textY = 46;
|
||||
int textY = 44;
|
||||
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
GL11.glPushMatrix();
|
||||
@ -81,16 +81,38 @@ public class RenderMassStorage extends TileEntitySpecialRenderer {
|
||||
|
||||
int fontColor = 0x00FF00;
|
||||
|
||||
// funky text shadow rendering with no z-fighting and alpha testing still enabled
|
||||
mc.fontRenderer.drawString(text, textX + 1, textY + 1, (fontColor & 16579836) >> 2 | fontColor & -16777216);
|
||||
|
||||
GL11.glTranslatef(0, 0, 1);
|
||||
|
||||
mc.fontRenderer.drawString(text, textX, textY, 0x00FF00);
|
||||
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
|
||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||
|
||||
double fraction = (double) storage.getStockpile() / (double) storage.getCapacity();
|
||||
|
||||
GL11.glColor3d(1.0 - fraction, fraction, 0.0);
|
||||
|
||||
double bMinX = 2;
|
||||
double bMaxX = 2 + fraction * 12;
|
||||
double bMinY = 13.5;
|
||||
double bMaxY = 14;
|
||||
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.addVertex(bMinX, bMaxY, 0);
|
||||
tessellator.addVertex(bMaxX, bMaxY, 0);
|
||||
tessellator.addVertex(bMaxX, bMinY, 0);
|
||||
tessellator.addVertex(bMinX, bMinY, 0);
|
||||
tessellator.draw();
|
||||
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
|
||||
RenderHelper.enableStandardItemLighting();
|
||||
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ public class TileEntityMassStorage extends TileEntityCrateBase implements IContr
|
||||
}
|
||||
}
|
||||
|
||||
networkPackNT(64); // TE render distance
|
||||
networkPackNT(32); // TE render distance
|
||||
}
|
||||
}
|
||||
|
||||
@ -294,6 +294,11 @@ public class TileEntityMassStorage extends TileEntityCrateBase implements IContr
|
||||
nbt.setByte("redstone", (byte) redstone);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double getMaxRenderDistanceSquared() {
|
||||
return 1024.0D; // only render mass storage info 32 blocks away, for performance
|
||||
}
|
||||
|
||||
@Override
|
||||
public void nextMode(int i) {
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user