diff options
Diffstat (limited to 'src/main/java/gregtech/common/render')
6 files changed, 936 insertions, 1068 deletions
diff --git a/src/main/java/gregtech/common/render/GT_CapeRenderer.java b/src/main/java/gregtech/common/render/GT_CapeRenderer.java index 6daf94c3b6..49ba9a72e8 100644 --- a/src/main/java/gregtech/common/render/GT_CapeRenderer.java +++ b/src/main/java/gregtech/common/render/GT_CapeRenderer.java @@ -3,9 +3,6 @@ package gregtech.common.render; import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_Utility;
-
-import java.util.Collection;
-
import net.minecraft.client.entity.AbstractClientPlayer;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.RenderManager;
@@ -14,92 +11,85 @@ import net.minecraft.potion.Potion; import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.RenderPlayerEvent;
-import net.minecraftforge.client.event.RenderPlayerEvent.Specials.Pre;
-
import org.lwjgl.opengl.GL11;
+import java.util.Collection;
+
public class GT_CapeRenderer
- extends RenderPlayer
-{
- private final ResourceLocation[] mCapes = { new ResourceLocation("gregtech:textures/BrainTechCape.png"), new ResourceLocation("gregtech:textures/GregTechCape.png"), new ResourceLocation("gregtech:textures/MrBrainCape.png"), new ResourceLocation("gregtech:textures/GregoriusCape.png") };
- private final Collection<String> mCapeList;
-
- public GT_CapeRenderer(Collection<String> aCapeList)
- {
- this.mCapeList = aCapeList;
- setRenderManager(RenderManager.instance);
- }
-
- public void receiveRenderSpecialsEvent(RenderPlayerEvent.Specials.Pre aEvent)
- {
- AbstractClientPlayer aPlayer = (AbstractClientPlayer)aEvent.entityPlayer;
- if (GT_Utility.getFullInvisibility(aPlayer))
- {
- aEvent.setCanceled(true);return;
- }
- float aPartialTicks = aEvent.partialRenderTick;
- if (aPlayer.isInvisible()) {
- return;
- }
- if (GT_Utility.getPotion(aPlayer, Integer.valueOf(Potion.invisibility.id).intValue())) {
- return;
+ extends RenderPlayer {
+ private final ResourceLocation[] mCapes = {new ResourceLocation("gregtech:textures/BrainTechCape.png"), new ResourceLocation("gregtech:textures/GregTechCape.png"), new ResourceLocation("gregtech:textures/MrBrainCape.png"), new ResourceLocation("gregtech:textures/GregoriusCape.png")};
+ private final Collection<String> mCapeList;
+
+ public GT_CapeRenderer(Collection<String> aCapeList) {
+ this.mCapeList = aCapeList;
+ setRenderManager(RenderManager.instance);
}
- try
- {
- ResourceLocation tResource = null;
- if (aPlayer.getDisplayName().equalsIgnoreCase("Friedi4321")) {
- tResource = this.mCapes[0];
- }
- if (this.mCapeList.contains(aPlayer.getDisplayName().toLowerCase())) {
- tResource = this.mCapes[1];
- }
- if (aPlayer.getDisplayName().equalsIgnoreCase("Mr_Brain")) {
- tResource = this.mCapes[2];
- }
- if (aPlayer.getDisplayName().equalsIgnoreCase("GregoriusT")) {
- tResource = this.mCapes[3];
- }
- if ((tResource != null) && (!aPlayer.getHideCape()))
- {
- bindTexture(tResource);
- GL11.glPushMatrix();
- GL11.glTranslatef(0.0F, 0.0F, 0.125F);
- double d0 = aPlayer.field_71091_bM + (aPlayer.field_71094_bP - aPlayer.field_71091_bM) * aPartialTicks - (aPlayer.prevPosX + (aPlayer.posX - aPlayer.prevPosX) * aPartialTicks);
- double d1 = aPlayer.field_71096_bN + (aPlayer.field_71095_bQ - aPlayer.field_71096_bN) * aPartialTicks - (aPlayer.prevPosY + (aPlayer.posY - aPlayer.prevPosY) * aPartialTicks);
- double d2 = aPlayer.field_71097_bO + (aPlayer.field_71085_bR - aPlayer.field_71097_bO) * aPartialTicks - (aPlayer.prevPosZ + (aPlayer.posZ - aPlayer.prevPosZ) * aPartialTicks);
- float f6 = aPlayer.prevRenderYawOffset + (aPlayer.renderYawOffset - aPlayer.prevRenderYawOffset) * aPartialTicks;
- double d3 = MathHelper.sin(f6 * 3.141593F / 180.0F);
- double d4 = -MathHelper.cos(f6 * 3.141593F / 180.0F);
- float f7 = (float)d1 * 10.0F;
- float f8 = (float)(d0 * d3 + d2 * d4) * 100.0F;
- float f9 = (float)(d0 * d4 - d2 * d3) * 100.0F;
- if (f7 < -6.0F) {
- f7 = -6.0F;
+
+ public void receiveRenderSpecialsEvent(RenderPlayerEvent.Specials.Pre aEvent) {
+ AbstractClientPlayer aPlayer = (AbstractClientPlayer) aEvent.entityPlayer;
+ if (GT_Utility.getFullInvisibility(aPlayer)) {
+ aEvent.setCanceled(true);
+ return;
}
- if (f7 > 32.0F) {
- f7 = 32.0F;
+ float aPartialTicks = aEvent.partialRenderTick;
+ if (aPlayer.isInvisible()) {
+ return;
}
- if (f8 < 0.0F) {
- f8 = 0.0F;
+ if (GT_Utility.getPotion(aPlayer, Integer.valueOf(Potion.invisibility.id).intValue())) {
+ return;
}
- float f10 = aPlayer.prevCameraYaw + (aPlayer.cameraYaw - aPlayer.prevCameraYaw) * aPartialTicks;
- f7 += MathHelper.sin((aPlayer.prevDistanceWalkedModified + (aPlayer.distanceWalkedModified - aPlayer.prevDistanceWalkedModified) * aPartialTicks) * 6.0F) * 32.0F * f10;
- if (aPlayer.isSneaking()) {
- f7 += 25.0F;
+ try {
+ ResourceLocation tResource = null;
+ if (aPlayer.getDisplayName().equalsIgnoreCase("Friedi4321")) {
+ tResource = this.mCapes[0];
+ }
+ if (this.mCapeList.contains(aPlayer.getDisplayName().toLowerCase())) {
+ tResource = this.mCapes[1];
+ }
+ if (aPlayer.getDisplayName().equalsIgnoreCase("Mr_Brain")) {
+ tResource = this.mCapes[2];
+ }
+ if (aPlayer.getDisplayName().equalsIgnoreCase("GregoriusT")) {
+ tResource = this.mCapes[3];
+ }
+ if ((tResource != null) && (!aPlayer.getHideCape())) {
+ bindTexture(tResource);
+ GL11.glPushMatrix();
+ GL11.glTranslatef(0.0F, 0.0F, 0.125F);
+ double d0 = aPlayer.field_71091_bM + (aPlayer.field_71094_bP - aPlayer.field_71091_bM) * aPartialTicks - (aPlayer.prevPosX + (aPlayer.posX - aPlayer.prevPosX) * aPartialTicks);
+ double d1 = aPlayer.field_71096_bN + (aPlayer.field_71095_bQ - aPlayer.field_71096_bN) * aPartialTicks - (aPlayer.prevPosY + (aPlayer.posY - aPlayer.prevPosY) * aPartialTicks);
+ double d2 = aPlayer.field_71097_bO + (aPlayer.field_71085_bR - aPlayer.field_71097_bO) * aPartialTicks - (aPlayer.prevPosZ + (aPlayer.posZ - aPlayer.prevPosZ) * aPartialTicks);
+ float f6 = aPlayer.prevRenderYawOffset + (aPlayer.renderYawOffset - aPlayer.prevRenderYawOffset) * aPartialTicks;
+ double d3 = MathHelper.sin(f6 * 3.141593F / 180.0F);
+ double d4 = -MathHelper.cos(f6 * 3.141593F / 180.0F);
+ float f7 = (float) d1 * 10.0F;
+ float f8 = (float) (d0 * d3 + d2 * d4) * 100.0F;
+ float f9 = (float) (d0 * d4 - d2 * d3) * 100.0F;
+ if (f7 < -6.0F) {
+ f7 = -6.0F;
+ }
+ if (f7 > 32.0F) {
+ f7 = 32.0F;
+ }
+ if (f8 < 0.0F) {
+ f8 = 0.0F;
+ }
+ float f10 = aPlayer.prevCameraYaw + (aPlayer.cameraYaw - aPlayer.prevCameraYaw) * aPartialTicks;
+ f7 += MathHelper.sin((aPlayer.prevDistanceWalkedModified + (aPlayer.distanceWalkedModified - aPlayer.prevDistanceWalkedModified) * aPartialTicks) * 6.0F) * 32.0F * f10;
+ if (aPlayer.isSneaking()) {
+ f7 += 25.0F;
+ }
+ GL11.glRotatef(6.0F + f8 / 2.0F + f7, 1.0F, 0.0F, 0.0F);
+ GL11.glRotatef(f9 / 2.0F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(-f9 / 2.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
+ ((ModelBiped) this.mainModel).renderCloak(0.0625F);
+ GL11.glPopMatrix();
+ }
+ } catch (Throwable e) {
+ if (GT_Values.D1) {
+ e.printStackTrace(GT_Log.err);
+ }
}
- GL11.glRotatef(6.0F + f8 / 2.0F + f7, 1.0F, 0.0F, 0.0F);
- GL11.glRotatef(f9 / 2.0F, 0.0F, 0.0F, 1.0F);
- GL11.glRotatef(-f9 / 2.0F, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
- ((ModelBiped)this.mainModel).renderCloak(0.0625F);
- GL11.glPopMatrix();
- }
- }
- catch (Throwable e)
- {
- if (GT_Values.D1) {
- e.printStackTrace(GT_Log.err);
- }
}
- }
}
diff --git a/src/main/java/gregtech/common/render/GT_MetaGenerated_Item_Renderer.java b/src/main/java/gregtech/common/render/GT_MetaGenerated_Item_Renderer.java index aab095d5b7..316b5542a5 100644 --- a/src/main/java/gregtech/common/render/GT_MetaGenerated_Item_Renderer.java +++ b/src/main/java/gregtech/common/render/GT_MetaGenerated_Item_Renderer.java @@ -3,182 +3,152 @@ package gregtech.common.render; import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Item;
import gregtech.api.util.GT_Utility;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.RenderItem;
-import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.IItemRenderer.ItemRenderType;
-import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
import net.minecraftforge.client.MinecraftForgeClient;
-import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
import org.lwjgl.opengl.GL11;
+import java.util.Iterator;
+
public class GT_MetaGenerated_Item_Renderer
- implements IItemRenderer
-{
- public GT_MetaGenerated_Item_Renderer()
- {
- GT_MetaGenerated_Item tItem;
- for (Iterator i$ = GT_MetaGenerated_Item.sInstances.values().iterator(); i$.hasNext(); MinecraftForgeClient.registerItemRenderer(tItem, this))
- {
- tItem = (GT_MetaGenerated_Item)i$.next();
- if ((tItem == null) || (!tItem.useStandardMetaItemRenderer())) {}
- }
- }
-
- public boolean handleRenderType(ItemStack aStack, IItemRenderer.ItemRenderType aType)
- {
- if ((GT_Utility.isStackInvalid(aStack)) || (aStack.getItemDamage() < 0)) {
- return false;
- }
- return (aType == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON) || (aType == IItemRenderer.ItemRenderType.INVENTORY) || (aType == IItemRenderer.ItemRenderType.EQUIPPED) || (aType == IItemRenderer.ItemRenderType.ENTITY);
- }
-
- public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType aType, ItemStack aStack, IItemRenderer.ItemRendererHelper aHelper)
- {
- if (GT_Utility.isStackInvalid(aStack)) {
- return false;
- }
- return aType == IItemRenderer.ItemRenderType.ENTITY;
- }
-
- public void renderItem(IItemRenderer.ItemRenderType type, ItemStack aStack, Object... data)
- {
- if (GT_Utility.isStackInvalid(aStack)) {
- return;
+ implements IItemRenderer {
+ public GT_MetaGenerated_Item_Renderer() {
+ GT_MetaGenerated_Item tItem;
+ for (Iterator i$ = GT_MetaGenerated_Item.sInstances.values().iterator(); i$.hasNext(); MinecraftForgeClient.registerItemRenderer(tItem, this)) {
+ tItem = (GT_MetaGenerated_Item) i$.next();
+ if ((tItem == null) || (!tItem.useStandardMetaItemRenderer())) {
+ }
+ }
}
- short aMetaData = (short)aStack.getItemDamage();
- if (aMetaData < 0) {
- return;
+
+ public boolean handleRenderType(ItemStack aStack, IItemRenderer.ItemRenderType aType) {
+ if ((GT_Utility.isStackInvalid(aStack)) || (aStack.getItemDamage() < 0)) {
+ return false;
+ }
+ return (aType == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON) || (aType == IItemRenderer.ItemRenderType.INVENTORY) || (aType == IItemRenderer.ItemRenderType.EQUIPPED) || (aType == IItemRenderer.ItemRenderType.ENTITY);
}
- GT_MetaGenerated_Item aItem = (GT_MetaGenerated_Item)aStack.getItem();
-
- GL11.glEnable(3042);
- if (type == IItemRenderer.ItemRenderType.ENTITY) {
- if (RenderItem.renderInFrame)
- {
- GL11.glScalef(0.85F, 0.85F, 0.85F);
- GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslated(-0.5D, -0.42D, 0.0D);
- }
- else
- {
- GL11.glTranslated(-0.5D, -0.42D, 0.0D);
- }
+ public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType aType, ItemStack aStack, IItemRenderer.ItemRendererHelper aHelper) {
+ if (GT_Utility.isStackInvalid(aStack)) {
+ return false;
+ }
+ return aType == IItemRenderer.ItemRenderType.ENTITY;
}
- GL11.glColor3f(1.0F, 1.0F, 1.0F);
- if (aMetaData < aItem.mOffset)
- {
- IIconContainer aIcon = aItem.getIconContainer(aMetaData);
- IIcon tOverlay = null;IIcon tFluidIcon = null;
- IIcon tIcon;
- if (aIcon == null)
- {
- tIcon = aStack.getIconIndex();
- }
- else
- {
- tIcon = aIcon.getIcon();
- tOverlay = aIcon.getOverlayIcon();
- }
- if (tIcon == null) {
- return;
- }
- FluidStack tFluid = GT_Utility.getFluidForFilledItem(aStack, true);
- if ((tOverlay != null) && (tFluid != null) && (tFluid.getFluid() != null)) {
- tFluidIcon = tFluid.getFluid().getIcon(tFluid);
- }
- Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture);
- GL11.glBlendFunc(770, 771);
- if (tFluidIcon == null)
- {
- short[] tModulation = aItem.getRGBa(aStack);
- GL11.glColor3f(tModulation[0] / 255.0F, tModulation[1] / 255.0F, tModulation[2] / 255.0F);
- }
- if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
- GT_RenderUtil.renderItemIcon(tIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
- } else {
- ItemRenderer.renderItemIn2D(Tessellator.instance, tIcon.getMaxU(), tIcon.getMinV(), tIcon.getMinU(), tIcon.getMaxV(), tIcon.getIconWidth(), tIcon.getIconHeight(), 0.0625F);
- }
- if (tFluidIcon != null)
- {
- assert (tFluid != null);
- int tColor = tFluid.getFluid().getColor(tFluid);
- GL11.glColor3f((tColor >> 16 & 0xFF) / 255.0F, (tColor >> 8 & 0xFF) / 255.0F, (tColor & 0xFF) / 255.0F);
- Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture);
- GL11.glBlendFunc(770, 771);
- GL11.glDepthFunc(514);
- if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
- GT_RenderUtil.renderItemIcon(tFluidIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
- } else {
- ItemRenderer.renderItemIn2D(Tessellator.instance, tFluidIcon.getMaxU(), tFluidIcon.getMinV(), tFluidIcon.getMinU(), tFluidIcon.getMaxV(), tFluidIcon.getIconWidth(), tFluidIcon.getIconHeight(), 0.0625F);
+
+ public void renderItem(IItemRenderer.ItemRenderType type, ItemStack aStack, Object... data) {
+ if (GT_Utility.isStackInvalid(aStack)) {
+ return;
}
- GL11.glDepthFunc(515);
- }
- GL11.glColor3f(1.0F, 1.0F, 1.0F);
- if (tOverlay != null)
- {
- Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture);
- GL11.glBlendFunc(770, 771);
- if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
- GT_RenderUtil.renderItemIcon(tOverlay, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
- } else {
- ItemRenderer.renderItemIn2D(Tessellator.instance, tOverlay.getMaxU(), tOverlay.getMinV(), tOverlay.getMinU(), tOverlay.getMaxV(), tOverlay.getIconWidth(), tOverlay.getIconHeight(), 0.0625F);
+ short aMetaData = (short) aStack.getItemDamage();
+ if (aMetaData < 0) {
+ return;
}
- }
- }
- else
- {
- IIcon tIcon;
- if (aItem.mIconList[(aMetaData - aItem.mOffset)].length > 1)
- {
- Long[] tStats = (Long[])aItem.mElectricStats.get(Short.valueOf(aMetaData));
+ GT_MetaGenerated_Item aItem = (GT_MetaGenerated_Item) aStack.getItem();
- if ((tStats != null) && (tStats[3].longValue() < 0L))
- {
- long tCharge = aItem.getRealCharge(aStack);
-
- if (tCharge <= 0L)
- {
- tIcon = aItem.mIconList[(aMetaData - aItem.mOffset)][1];
- }
- else
- {
-
- if (tCharge >= tStats[0].longValue()) {
- tIcon = aItem.mIconList[(aMetaData - aItem.mOffset)][8];
+
+ GL11.glEnable(3042);
+ if (type == IItemRenderer.ItemRenderType.ENTITY) {
+ if (RenderItem.renderInFrame) {
+ GL11.glScalef(0.85F, 0.85F, 0.85F);
+ GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslated(-0.5D, -0.42D, 0.0D);
} else {
- tIcon = aItem.mIconList[(aMetaData - aItem.mOffset)][(7 - (int)java.lang.Math.max(0L, java.lang.Math.min(5L, (tStats[0].longValue() - tCharge) * 6L / tStats[0].longValue())))];
+ GL11.glTranslated(-0.5D, -0.42D, 0.0D);
}
- }
}
- else
- {
- tIcon = aItem.mIconList[(aMetaData - aItem.mOffset)][0];
+ GL11.glColor3f(1.0F, 1.0F, 1.0F);
+ if (aMetaData < aItem.mOffset) {
+ IIconContainer aIcon = aItem.getIconContainer(aMetaData);
+ IIcon tOverlay = null;
+ IIcon tFluidIcon = null;
+ IIcon tIcon;
+ if (aIcon == null) {
+ tIcon = aStack.getIconIndex();
+ } else {
+ tIcon = aIcon.getIcon();
+ tOverlay = aIcon.getOverlayIcon();
+ }
+ if (tIcon == null) {
+ return;
+ }
+ FluidStack tFluid = GT_Utility.getFluidForFilledItem(aStack, true);
+ if ((tOverlay != null) && (tFluid != null) && (tFluid.getFluid() != null)) {
+ tFluidIcon = tFluid.getFluid().getIcon(tFluid);
+ }
+ Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture);
+ GL11.glBlendFunc(770, 771);
+ if (tFluidIcon == null) {
+ short[] tModulation = aItem.getRGBa(aStack);
+ GL11.glColor3f(tModulation[0] / 255.0F, tModulation[1] / 255.0F, tModulation[2] / 255.0F);
+ }
+ if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
+ GT_RenderUtil.renderItemIcon(tIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
+ } else {
+ ItemRenderer.renderItemIn2D(Tessellator.instance, tIcon.getMaxU(), tIcon.getMinV(), tIcon.getMinU(), tIcon.getMaxV(), tIcon.getIconWidth(), tIcon.getIconHeight(), 0.0625F);
+ }
+ if (tFluidIcon != null) {
+ assert (tFluid != null);
+ int tColor = tFluid.getFluid().getColor(tFluid);
+ GL11.glColor3f((tColor >> 16 & 0xFF) / 255.0F, (tColor >> 8 & 0xFF) / 255.0F, (tColor & 0xFF) / 255.0F);
+ Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture);
+ GL11.glBlendFunc(770, 771);
+ GL11.glDepthFunc(514);
+ if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
+ GT_RenderUtil.renderItemIcon(tFluidIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
+ } else {
+ ItemRenderer.renderItemIn2D(Tessellator.instance, tFluidIcon.getMaxU(), tFluidIcon.getMinV(), tFluidIcon.getMinU(), tFluidIcon.getMaxV(), tFluidIcon.getIconWidth(), tFluidIcon.getIconHeight(), 0.0625F);
+ }
+ GL11.glDepthFunc(515);
+ }
+ GL11.glColor3f(1.0F, 1.0F, 1.0F);
+ if (tOverlay != null) {
+ Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture);
+ GL11.glBlendFunc(770, 771);
+ if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
+ GT_RenderUtil.renderItemIcon(tOverlay, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
+ } else {
+ ItemRenderer.renderItemIn2D(Tessellator.instance, tOverlay.getMaxU(), tOverlay.getMinV(), tOverlay.getMinU(), tOverlay.getMaxV(), tOverlay.getIconWidth(), tOverlay.getIconHeight(), 0.0625F);
+ }
+ }
+ } else {
+ IIcon tIcon;
+ if (aItem.mIconList[(aMetaData - aItem.mOffset)].length > 1) {
+ Long[] tStats = (Long[]) aItem.mElectricStats.get(Short.valueOf(aMetaData));
+
+ if ((tStats != null) && (tStats[3].longValue() < 0L)) {
+ long tCharge = aItem.getRealCharge(aStack);
+
+ if (tCharge <= 0L) {
+ tIcon = aItem.mIconList[(aMetaData - aItem.mOffset)][1];
+ } else {
+
+ if (tCharge >= tStats[0].longValue()) {
+ tIcon = aItem.mIconList[(aMetaData - aItem.mOffset)][8];
+ } else {
+ tIcon = aItem.mIconList[(aMetaData - aItem.mOffset)][(7 - (int) java.lang.Math.max(0L, java.lang.Math.min(5L, (tStats[0].longValue() - tCharge) * 6L / tStats[0].longValue())))];
+ }
+ }
+ } else {
+ tIcon = aItem.mIconList[(aMetaData - aItem.mOffset)][0];
+ }
+ } else {
+ tIcon = aItem.mIconList[(aMetaData - aItem.mOffset)][0];
+ }
+ Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture);
+ GL11.glBlendFunc(770, 771);
+ if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
+ GT_RenderUtil.renderItemIcon(tIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
+ } else {
+ ItemRenderer.renderItemIn2D(Tessellator.instance, tIcon.getMaxU(), tIcon.getMinV(), tIcon.getMinU(), tIcon.getMaxV(), tIcon.getIconWidth(), tIcon.getIconHeight(), 0.0625F);
+ }
}
- }
- else
- {
- tIcon = aItem.mIconList[(aMetaData - aItem.mOffset)][0];
- }
- Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture);
- GL11.glBlendFunc(770, 771);
- if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
- GT_RenderUtil.renderItemIcon(tIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
- } else {
- ItemRenderer.renderItemIn2D(Tessellator.instance, tIcon.getMaxU(), tIcon.getMinV(), tIcon.getMinU(), tIcon.getMaxV(), tIcon.getIconWidth(), tIcon.getIconHeight(), 0.0625F);
- }
+ GL11.glDisable(3042);
}
- GL11.glDisable(3042);
- }
}
diff --git a/src/main/java/gregtech/common/render/GT_MetaGenerated_Tool_Renderer.java b/src/main/java/gregtech/common/render/GT_MetaGenerated_Tool_Renderer.java index f905cc0eeb..40d4acf8f8 100644 --- a/src/main/java/gregtech/common/render/GT_MetaGenerated_Tool_Renderer.java +++ b/src/main/java/gregtech/common/render/GT_MetaGenerated_Tool_Renderer.java @@ -5,204 +5,180 @@ import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.IToolStats;
import gregtech.api.items.GT_MetaGenerated_Tool;
import gregtech.api.util.GT_Utility;
-import java.util.HashMap;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.RenderItem;
-import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraftforge.client.IItemRenderer;
-import net.minecraftforge.client.IItemRenderer.ItemRenderType;
-import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
import net.minecraftforge.client.MinecraftForgeClient;
import org.lwjgl.opengl.GL11;
public class GT_MetaGenerated_Tool_Renderer
- implements IItemRenderer
-{
- public GT_MetaGenerated_Tool_Renderer()
- {
- for (GT_MetaGenerated_Tool tItem : GT_MetaGenerated_Tool.sInstances.values()) {
- if (tItem != null) {
- MinecraftForgeClient.registerItemRenderer(tItem, this);
- }
- }
- }
-
- public boolean handleRenderType(ItemStack aStack, IItemRenderer.ItemRenderType aType)
- {
- if ((GT_Utility.isStackInvalid(aStack)) || (aStack.getItemDamage() < 0)) {
- return false;
- }
- return (aType == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON) || (aType == IItemRenderer.ItemRenderType.INVENTORY) || (aType == IItemRenderer.ItemRenderType.EQUIPPED) || (aType == IItemRenderer.ItemRenderType.ENTITY);
- }
-
- public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType aType, ItemStack aStack, IItemRenderer.ItemRendererHelper aHelper)
- {
- if (GT_Utility.isStackInvalid(aStack)) {
- return false;
- }
- return aType == IItemRenderer.ItemRenderType.ENTITY;
- }
-
- public void renderItem(IItemRenderer.ItemRenderType aType, ItemStack aStack, Object... data)
- {
- if (GT_Utility.isStackInvalid(aStack)) {
- return;
- }
- GT_MetaGenerated_Tool aItem = (GT_MetaGenerated_Tool)aStack.getItem();
- GL11.glEnable(3042);
- if (aType == IItemRenderer.ItemRenderType.ENTITY) {
- if (RenderItem.renderInFrame)
- {
- GL11.glScalef(0.85F, 0.85F, 0.85F);
- GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslated(-0.5D, -0.42D, 0.0D);
- }
- else
- {
- GL11.glTranslated(-0.5D, -0.42D, 0.0D);
- }
- }
- GL11.glColor3f(1.0F, 1.0F, 1.0F);
-
- IToolStats tToolStats = aItem.getToolStats(aStack);
- if (tToolStats != null)
- {
- IIconContainer aIcon = tToolStats.getIcon(false, aStack);
- if (aIcon != null)
- {
- IIcon tIcon = aIcon.getIcon();IIcon tOverlay = aIcon.getOverlayIcon();
- if (tIcon != null)
- {
- Minecraft.getMinecraft().renderEngine.bindTexture(aIcon.getTextureFile());
- GL11.glBlendFunc(770, 771);
- short[] tModulation = tToolStats.getRGBa(false, aStack);
- GL11.glColor3f(tModulation[0] / 255.0F, tModulation[1] / 255.0F, tModulation[2] / 255.0F);
- if (aType.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
- GT_RenderUtil.renderItemIcon(tIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
- } else {
- ItemRenderer.renderItemIn2D(Tessellator.instance, tIcon.getMaxU(), tIcon.getMinV(), tIcon.getMinU(), tIcon.getMaxV(), tIcon.getIconWidth(), tIcon.getIconHeight(), 0.0625F);
- }
- GL11.glColor3f(1.0F, 1.0F, 1.0F);
- }
- if (tOverlay != null)
- {
- Minecraft.getMinecraft().renderEngine.bindTexture(aIcon.getTextureFile());
- GL11.glBlendFunc(770, 771);
- if (aType.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
- GT_RenderUtil.renderItemIcon(tOverlay, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
- } else {
- ItemRenderer.renderItemIn2D(Tessellator.instance, tOverlay.getMaxU(), tOverlay.getMinV(), tOverlay.getMinU(), tOverlay.getMaxV(), tOverlay.getIconWidth(), tOverlay.getIconHeight(), 0.0625F);
- }
+ implements IItemRenderer {
+ public GT_MetaGenerated_Tool_Renderer() {
+ for (GT_MetaGenerated_Tool tItem : GT_MetaGenerated_Tool.sInstances.values()) {
+ if (tItem != null) {
+ MinecraftForgeClient.registerItemRenderer(tItem, this);
+ }
}
- }
- aIcon = tToolStats.getIcon(true, aStack);
- if (aIcon != null)
- {
- IIcon tIcon = aIcon.getIcon();IIcon tOverlay = aIcon.getOverlayIcon();
- if (tIcon != null)
- {
- Minecraft.getMinecraft().renderEngine.bindTexture(aIcon.getTextureFile());
- GL11.glBlendFunc(770, 771);
- short[] tModulation = tToolStats.getRGBa(true, aStack);
- GL11.glColor3f(tModulation[0] / 255.0F, tModulation[1] / 255.0F, tModulation[2] / 255.0F);
- if (aType.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
- GT_RenderUtil.renderItemIcon(tIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
- } else {
- ItemRenderer.renderItemIn2D(Tessellator.instance, tIcon.getMaxU(), tIcon.getMinV(), tIcon.getMinU(), tIcon.getMaxV(), tIcon.getIconWidth(), tIcon.getIconHeight(), 0.0625F);
- }
- GL11.glColor3f(1.0F, 1.0F, 1.0F);
+ }
+
+ public boolean handleRenderType(ItemStack aStack, IItemRenderer.ItemRenderType aType) {
+ if ((GT_Utility.isStackInvalid(aStack)) || (aStack.getItemDamage() < 0)) {
+ return false;
}
- if (tOverlay != null)
- {
- Minecraft.getMinecraft().renderEngine.bindTexture(aIcon.getTextureFile());
- GL11.glBlendFunc(770, 771);
- if (aType.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
- GT_RenderUtil.renderItemIcon(tOverlay, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
- } else {
- ItemRenderer.renderItemIn2D(Tessellator.instance, tOverlay.getMaxU(), tOverlay.getMinV(), tOverlay.getMinU(), tOverlay.getMaxV(), tOverlay.getIconWidth(), tOverlay.getIconHeight(), 0.0625F);
- }
+ return (aType == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON) || (aType == IItemRenderer.ItemRenderType.INVENTORY) || (aType == IItemRenderer.ItemRenderType.EQUIPPED) || (aType == IItemRenderer.ItemRenderType.ENTITY);
+ }
+
+ public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType aType, ItemStack aStack, IItemRenderer.ItemRendererHelper aHelper) {
+ if (GT_Utility.isStackInvalid(aStack)) {
+ return false;
}
- }
- if ((aType == IItemRenderer.ItemRenderType.INVENTORY) && (GT_MetaGenerated_Tool.getPrimaryMaterial(aStack) != Materials._NULL))
- {
- long tDamage = GT_MetaGenerated_Tool.getToolDamage(aStack);long tMaxDamage = GT_MetaGenerated_Tool.getToolMaxDamage(aStack);
- if (tDamage <= 0L) {
- aIcon = gregtech.api.enums.Textures.ItemIcons.DURABILITY_BAR[8];
- } else if (tDamage >= tMaxDamage) {
- aIcon = gregtech.api.enums.Textures.ItemIcons.DURABILITY_BAR[0];
- } else {
- aIcon = gregtech.api.enums.Textures.ItemIcons.DURABILITY_BAR[((int)java.lang.Math.max(0L, java.lang.Math.min(7L, (tMaxDamage - tDamage) * 8L / tMaxDamage)))];
+ return aType == IItemRenderer.ItemRenderType.ENTITY;
+ }
+
+ public void renderItem(IItemRenderer.ItemRenderType aType, ItemStack aStack, Object... data) {
+ if (GT_Utility.isStackInvalid(aStack)) {
+ return;
}
- if (aIcon != null)
- {
- IIcon tIcon = aIcon.getIcon();IIcon tOverlay = aIcon.getOverlayIcon();
- if (tIcon != null)
- {
- Minecraft.getMinecraft().renderEngine.bindTexture(aIcon.getTextureFile());
- GL11.glBlendFunc(770, 771);
- if (aType.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
- GT_RenderUtil.renderItemIcon(tIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
+ GT_MetaGenerated_Tool aItem = (GT_MetaGenerated_Tool) aStack.getItem();
+ GL11.glEnable(3042);
+ if (aType == IItemRenderer.ItemRenderType.ENTITY) {
+ if (RenderItem.renderInFrame) {
+ GL11.glScalef(0.85F, 0.85F, 0.85F);
+ GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslated(-0.5D, -0.42D, 0.0D);
} else {
- ItemRenderer.renderItemIn2D(Tessellator.instance, tIcon.getMaxU(), tIcon.getMinV(), tIcon.getMinU(), tIcon.getMaxV(), tIcon.getIconWidth(), tIcon.getIconHeight(), 0.0625F);
+ GL11.glTranslated(-0.5D, -0.42D, 0.0D);
}
- }
- if (tOverlay != null)
- {
- Minecraft.getMinecraft().renderEngine.bindTexture(aIcon.getTextureFile());
- GL11.glBlendFunc(770, 771);
- if (aType.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
- GT_RenderUtil.renderItemIcon(tOverlay, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
- } else {
- ItemRenderer.renderItemIn2D(Tessellator.instance, tOverlay.getMaxU(), tOverlay.getMinV(), tOverlay.getMinU(), tOverlay.getMaxV(), tOverlay.getIconWidth(), tOverlay.getIconHeight(), 0.0625F);
- }
- }
- }
- Long[] tStats = aItem.getElectricStats(aStack);
- if ((tStats != null) && (tStats[3].longValue() < 0L))
- {
- long tCharge = aItem.getRealCharge(aStack);
- if (tCharge <= 0L) {
- aIcon = gregtech.api.enums.Textures.ItemIcons.ENERGY_BAR[0];
- } else if (tCharge >= tStats[0].longValue()) {
- aIcon = gregtech.api.enums.Textures.ItemIcons.ENERGY_BAR[8];
- } else {
- aIcon = gregtech.api.enums.Textures.ItemIcons.ENERGY_BAR[(7 - (int)java.lang.Math.max(0L, java.lang.Math.min(6L, (tStats[0].longValue() - tCharge) * 7L / tStats[0].longValue())))];
- }
}
- else
- {
- aIcon = null;
- }
- if (aIcon != null)
- {
- IIcon tIcon = aIcon.getIcon();IIcon tOverlay = aIcon.getOverlayIcon();
- if (tIcon != null)
- {
- Minecraft.getMinecraft().renderEngine.bindTexture(aIcon.getTextureFile());
- GL11.glBlendFunc(770, 771);
- if (aType.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
- GT_RenderUtil.renderItemIcon(tIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
- } else {
- ItemRenderer.renderItemIn2D(Tessellator.instance, tIcon.getMaxU(), tIcon.getMinV(), tIcon.getMinU(), tIcon.getMaxV(), tIcon.getIconWidth(), tIcon.getIconHeight(), 0.0625F);
+ GL11.glColor3f(1.0F, 1.0F, 1.0F);
+
+ IToolStats tToolStats = aItem.getToolStats(aStack);
+ if (tToolStats != null) {
+ IIconContainer aIcon = tToolStats.getIcon(false, aStack);
+ if (aIcon != null) {
+ IIcon tIcon = aIcon.getIcon();
+ IIcon tOverlay = aIcon.getOverlayIcon();
+ if (tIcon != null) {
+ Minecraft.getMinecraft().renderEngine.bindTexture(aIcon.getTextureFile());
+ GL11.glBlendFunc(770, 771);
+ short[] tModulation = tToolStats.getRGBa(false, aStack);
+ GL11.glColor3f(tModulation[0] / 255.0F, tModulation[1] / 255.0F, tModulation[2] / 255.0F);
+ if (aType.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
+ GT_RenderUtil.renderItemIcon(tIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
+ } else {
+ ItemRenderer.renderItemIn2D(Tessellator.instance, tIcon.getMaxU(), tIcon.getMinV(), tIcon.getMinU(), tIcon.getMaxV(), tIcon.getIconWidth(), tIcon.getIconHeight(), 0.0625F);
+ }
+ GL11.glColor3f(1.0F, 1.0F, 1.0F);
+ }
+ if (tOverlay != null) {
+ Minecraft.getMinecraft().renderEngine.bindTexture(aIcon.getTextureFile());
+ GL11.glBlendFunc(770, 771);
+ if (aType.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
+ GT_RenderUtil.renderItemIcon(tOverlay, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
+ } else {
+ ItemRenderer.renderItemIn2D(Tessellator.instance, tOverlay.getMaxU(), tOverlay.getMinV(), tOverlay.getMinU(), tOverlay.getMaxV(), tOverlay.getIconWidth(), tOverlay.getIconHeight(), 0.0625F);
+ }
+ }
}
- }
- if (tOverlay != null)
- {
- Minecraft.getMinecraft().renderEngine.bindTexture(aIcon.getTextureFile());
- GL11.glBlendFunc(770, 771);
- if (aType.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
- GT_RenderUtil.renderItemIcon(tOverlay, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
- } else {
- ItemRenderer.renderItemIn2D(Tessellator.instance, tOverlay.getMaxU(), tOverlay.getMinV(), tOverlay.getMinU(), tOverlay.getMaxV(), tOverlay.getIconWidth(), tOverlay.getIconHeight(), 0.0625F);
+ aIcon = tToolStats.getIcon(true, aStack);
+ if (aIcon != null) {
+ IIcon tIcon = aIcon.getIcon();
+ IIcon tOverlay = aIcon.getOverlayIcon();
+ if (tIcon != null) {
+ Minecraft.getMinecraft().renderEngine.bindTexture(aIcon.getTextureFile());
+ GL11.glBlendFunc(770, 771);
+ short[] tModulation = tToolStats.getRGBa(true, aStack);
+ GL11.glColor3f(tModulation[0] / 255.0F, tModulation[1] / 255.0F, tModulation[2] / 255.0F);
+ if (aType.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
+ GT_RenderUtil.renderItemIcon(tIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
+ } else {
+ ItemRenderer.renderItemIn2D(Tessellator.instance, tIcon.getMaxU(), tIcon.getMinV(), tIcon.getMinU(), tIcon.getMaxV(), tIcon.getIconWidth(), tIcon.getIconHeight(), 0.0625F);
+ }
+ GL11.glColor3f(1.0F, 1.0F, 1.0F);
+ }
+ if (tOverlay != null) {
+ Minecraft.getMinecraft().renderEngine.bindTexture(aIcon.getTextureFile());
+ GL11.glBlendFunc(770, 771);
+ if (aType.equals(IItemRenderer.ItemRenderType.INVENTORY)) {
+ GT_RenderUtil.renderItemIcon(tOverlay, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F);
+ } else {
+ ItemRenderer.renderItemIn2D(Tessellator.instance, tOverlay.getMaxU( |
