mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-02-23 06:20:46 +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.Minecraft;
|
||||||
import net.minecraft.client.renderer.OpenGlHelper;
|
import net.minecraft.client.renderer.OpenGlHelper;
|
||||||
import net.minecraft.client.renderer.RenderHelper;
|
import net.minecraft.client.renderer.RenderHelper;
|
||||||
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
import net.minecraft.client.renderer.entity.RenderItem;
|
import net.minecraft.client.renderer.entity.RenderItem;
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
@ -55,13 +56,12 @@ public class RenderMassStorage extends TileEntitySpecialRenderer {
|
|||||||
GL11.glPushMatrix();
|
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
|
GL11.glScalef(8.0F / 16.0F, 8.0F / 16.0F, 1); // scale to 8 pixels across
|
||||||
|
|
||||||
RenderHelper.disableStandardItemLighting();
|
RenderHelper.disableStandardItemLighting();
|
||||||
|
|
||||||
itemRenderer.renderItemIntoGUI(mc.fontRenderer, mc.renderEngine, storage.type, 0, 0, true);
|
itemRenderer.renderItemIntoGUI(mc.fontRenderer, mc.renderEngine, storage.type, 0, 0, true);
|
||||||
itemRenderer.renderItemOverlayIntoGUI(mc.fontRenderer, mc.renderEngine, storage.type, 0, 0);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
@ -71,7 +71,7 @@ public class RenderMassStorage extends TileEntitySpecialRenderer {
|
|||||||
String text = getTextForCount(storage.getStockpile(), mc.fontRenderer.getUnicodeFlag());
|
String text = getTextForCount(storage.getStockpile(), mc.fontRenderer.getUnicodeFlag());
|
||||||
|
|
||||||
int textX = 32 - mc.fontRenderer.getStringWidth(text) / 2;
|
int textX = 32 - mc.fontRenderer.getStringWidth(text) / 2;
|
||||||
int textY = 46;
|
int textY = 44;
|
||||||
|
|
||||||
GL11.glDisable(GL11.GL_LIGHTING);
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
@ -81,16 +81,38 @@ public class RenderMassStorage extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
int fontColor = 0x00FF00;
|
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);
|
mc.fontRenderer.drawString(text, textX + 1, textY + 1, (fontColor & 16579836) >> 2 | fontColor & -16777216);
|
||||||
|
|
||||||
GL11.glTranslatef(0, 0, 1);
|
GL11.glTranslatef(0, 0, 1);
|
||||||
|
|
||||||
mc.fontRenderer.drawString(text, textX, textY, 0x00FF00);
|
mc.fontRenderer.drawString(text, textX, textY, 0x00FF00);
|
||||||
|
|
||||||
}
|
}
|
||||||
GL11.glPopMatrix();
|
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);
|
GL11.glEnable(GL11.GL_LIGHTING);
|
||||||
|
|
||||||
|
RenderHelper.enableStandardItemLighting();
|
||||||
|
|
||||||
}
|
}
|
||||||
GL11.glPopMatrix();
|
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);
|
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
|
@Override
|
||||||
public void nextMode(int i) {
|
public void nextMode(int i) {
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user