diff options
Diffstat (limited to 'src')
9 files changed, 39 insertions, 102 deletions
diff --git a/src/main/java/gregtech/api/GregTech_API.java b/src/main/java/gregtech/api/GregTech_API.java index 41a0885a84..39a39d4f0f 100644 --- a/src/main/java/gregtech/api/GregTech_API.java +++ b/src/main/java/gregtech/api/GregTech_API.java @@ -171,7 +171,7 @@ public class GregTech_API { public static final Map<String, ItemStack> sBookList = new ConcurrentHashMap<>(); /** * The List of all Sounds used in GT, indices are in the static Block at the bottom - * + * * @deprecated Use {@link SoundResource} */ @Deprecated @@ -279,7 +279,8 @@ public class GregTech_API { sMachineRainExplosions = true, sMachineThunderExplosions = true, sMachineFireExplosions = true, sMachineWireFire = true, mOutputRF = false, mInputRF = false, meIOLoaded = false, mRFExplosions = false, mServerStarted = false, mIC2Classic = false, mMagneticraft = false, mImmersiveEngineering = false, - mGTPlusPlus = false, mTranslocator = false, mTConstruct = false, mGalacticraft = false, mAE2 = false; + mGTPlusPlus = false, mTranslocator = false, mTConstruct = false, mGalacticraft = false, mAE2 = false, + mHodgepodge = false; public static int mEUtoRF = 360, mRFtoEU = 20; @@ -733,7 +734,7 @@ public class GregTech_API { /** * Register a new ItemStack as configuration circuits. Duplicates or invalid stacks will be silently ignored. - * + * * @param minTier the minimal tier this circuit can be offered for free, e.g. normal configuration circuit is * available in LV+ single blocks, GT++ breakthrough circuit is offered in HV+ single blocks */ @@ -841,7 +842,7 @@ public class GregTech_API { /** * returns a Cover behavior, guaranteed to not return null after preload - * + * * @return The Cover behavior */ public static GT_CoverBehaviorBase<?> getCoverBehaviorNew(ItemStack aStack) { @@ -982,7 +983,7 @@ public class GregTech_API { /** * Sets the {@link IIconRegister} for Block Icons - * + * * @param aIconRegister The {@link IIconRegister} Icon Register */ @SideOnly(Side.CLIENT) @@ -992,7 +993,7 @@ public class GregTech_API { /** * Sets the {@link IIconRegister} for Items Icons - * + * * @param aIconRegister The {@link IIconRegister} Icon Register */ @SideOnly(Side.CLIENT) diff --git a/src/main/java/gregtech/common/GT_Client.java b/src/main/java/gregtech/common/GT_Client.java index 3978a6383b..327aeb5b23 100644 --- a/src/main/java/gregtech/common/GT_Client.java +++ b/src/main/java/gregtech/common/GT_Client.java @@ -49,7 +49,6 @@ import com.gtnewhorizon.structurelib.alignment.IAlignmentProvider; import cpw.mods.fml.client.event.ConfigChangedEvent; import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.common.network.FMLNetworkEvent; @@ -583,12 +582,6 @@ public class GT_Client extends GT_Proxy implements Runnable { } } - if (Loader.isModLoaded("Avaritia")) { - // TODO make this work - // CosmicItemRendererGT.registerItemWithMeta(Item.getItemFromBlock(GregTech_API.sBlockCasings5), 14); - CosmicItemRendererGT.init(); - } - // reobf doesn't work with lambda, so this must be a class // noinspection Convert2Lambda ((IReloadableResourceManager) Minecraft.getMinecraft().getResourceManager()) diff --git a/src/main/java/gregtech/common/render/CosmicItemRendererGT.java b/src/main/java/gregtech/common/render/CosmicItemRendererGT.java deleted file mode 100644 index cea0fd684f..0000000000 --- a/src/main/java/gregtech/common/render/CosmicItemRendererGT.java +++ /dev/null @@ -1,74 +0,0 @@ -package gregtech.common.render; - -import java.util.*; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.MinecraftForgeClient; -import net.minecraftforge.oredict.OreDictionary; - -import fox.spiteful.avaritia.render.CosmicItemRenderer; - -public class CosmicItemRendererGT extends CosmicItemRenderer { - - private static CosmicItemRendererGT sInstance = null; - public static HashMap<Item, List<Integer>> sCosmicItemRendererGtMapping = new HashMap<Item, List<Integer>>(); - private static boolean sInit = false; - - public static void registerItemWithMeta(Item aItem, List<Integer> aMeta) { - if (aItem != null) { - if (aMeta == null || aMeta.isEmpty()) { - ArrayList<Integer> aWildCard = new ArrayList<Integer>(); - aWildCard.add(OreDictionary.WILDCARD_VALUE); - sCosmicItemRendererGtMapping.put(aItem, aWildCard); - } else { - sCosmicItemRendererGtMapping.put(aItem, aMeta); - } - } - } - - public static void registerItemWithMeta(Item aItem, int aMeta) { - if (aItem != null) { - ArrayList<Integer> aSingleMeta = new ArrayList<Integer>(); - aSingleMeta.add(aMeta); - sCosmicItemRendererGtMapping.put(aItem, aSingleMeta); - } - } - - public static void init() { - if (sInstance == null) { - sInstance = new CosmicItemRendererGT(); - } - if (!sInit) { - for (Item aItem : sCosmicItemRendererGtMapping.keySet()) { - MinecraftForgeClient.registerItemRenderer(aItem, sInstance); - } - sInit = true; - } - } - - private boolean isSupported(ItemStack aStack) { - List<Integer> aMeta = sCosmicItemRendererGtMapping.get(aStack.getItem()); - if (aMeta != null && !aMeta.isEmpty()) { - - for (int meta : aMeta) { - if (meta == OreDictionary.WILDCARD_VALUE) { - return true; - } else { - if (aStack.getItemDamage() == meta) { - return true; - } - } - } - } - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (!isSupported(item)) { - return; - } - super.renderItem(type, item, data); - } -} diff --git a/src/main/java/gregtech/common/render/items/CosmicNeutroniumRenderer.java b/src/main/java/gregtech/common/render/items/CosmicNeutroniumRenderer.java index 5a67abf85a..125c692353 100644 --- a/src/main/java/gregtech/common/render/items/CosmicNeutroniumRenderer.java +++ b/src/main/java/gregtech/common/render/items/CosmicNeutroniumRenderer.java @@ -34,6 +34,7 @@ public class CosmicNeutroniumRenderer extends GT_GeneratedMaterial_Renderer { return; } + markNeedsAnimationUpdate(haloFuzzy); GL11.glPushMatrix(); // Ideally this magic haloColour number should scale depending on the # of transparent pixels, diff --git a/src/main/java/gregtech/common/render/items/GT_GeneratedItem_Renderer.java b/src/main/java/gregtech/common/render/items/GT_GeneratedItem_Renderer.java index 7559580f96..436b9c4422 100644 --- a/src/main/java/gregtech/common/render/items/GT_GeneratedItem_Renderer.java +++ b/src/main/java/gregtech/common/render/items/GT_GeneratedItem_Renderer.java @@ -16,6 +16,9 @@ import net.minecraftforge.fluids.FluidStack; import org.lwjgl.opengl.GL11; +import com.mitchej123.hodgepodge.textures.IPatchedTextureAtlasSprite; + +import gregtech.api.GregTech_API; import gregtech.api.enums.ItemList; import gregtech.api.enums.Textures; import gregtech.api.items.GT_MetaGenerated_Item; @@ -71,6 +74,8 @@ public class GT_GeneratedItem_Renderer implements IItemRenderer { if (tIcon == null) tIcon = Textures.ItemIcons.RENDERING_ERROR.getIcon(); + markNeedsAnimationUpdate(tIcon); + ItemList largeFluidCell = getLargeFluidCell(aStack); if (largeFluidCell != null) { renderLargeFluidCellExtraParts(type, largeFluidCell, aStack); @@ -109,8 +114,7 @@ public class GT_GeneratedItem_Renderer implements IItemRenderer { return null; } - private static void renderLargeFluidCellExtraParts(IItemRenderer.ItemRenderType type, ItemList item, - ItemStack stack) { + private void renderLargeFluidCellExtraParts(IItemRenderer.ItemRenderType type, ItemList item, ItemStack stack) { IIcon inner; if (item == Large_Fluid_Cell_Steel) inner = ExtraIcons.steelLargeCellInner; @@ -125,6 +129,7 @@ public class GT_GeneratedItem_Renderer implements IItemRenderer { // Empty inner side Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture); + markNeedsAnimationUpdate(inner); if (type.equals(ItemRenderType.INVENTORY)) { GT_RenderUtil.renderItemIcon(inner, 16.0D, -0.001D, 0.0F, 0.0F, -1.0F); } else { @@ -146,6 +151,7 @@ public class GT_GeneratedItem_Renderer implements IItemRenderer { int fluidColor = fluidStack.getFluid().getColor(fluidStack); Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture); + markNeedsAnimationUpdate(fluidIcon); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glDepthFunc(GL11.GL_EQUAL); GL11.glColor3ub((byte) (fluidColor >> 16), (byte) (fluidColor >> 8), (byte) fluidColor); @@ -174,4 +180,10 @@ public class GT_GeneratedItem_Renderer implements IItemRenderer { return internal.getItem() == stack.getItem() && internal.getItemDamage() == stack.getItemDamage(); } + + protected void markNeedsAnimationUpdate(IIcon icon) { + if (GregTech_API.mHodgepodge && icon instanceof IPatchedTextureAtlasSprite) { + ((IPatchedTextureAtlasSprite) icon).markNeedsAnimationUpdate(); + } + } } diff --git a/src/main/java/gregtech/common/render/items/GT_GeneratedMaterial_Renderer.java b/src/main/java/gregtech/common/render/items/GT_GeneratedMaterial_Renderer.java index 46d6a13469..e0ff69e216 100644 --- a/src/main/java/gregtech/common/render/items/GT_GeneratedMaterial_Renderer.java +++ b/src/main/java/gregtech/common/render/items/GT_GeneratedMaterial_Renderer.java @@ -11,6 +11,10 @@ import net.minecraftforge.fluids.FluidStack; import org.lwjgl.opengl.GL11; import codechicken.lib.render.TextureUtils; + +import com.mitchej123.hodgepodge.textures.IPatchedTextureAtlasSprite; + +import gregtech.api.GregTech_API; import gregtech.api.interfaces.IIconContainer; import gregtech.api.items.GT_MetaGenerated_Item; import gregtech.api.util.GT_Utility; @@ -36,7 +40,7 @@ public class GT_GeneratedMaterial_Renderer implements IItemRenderer { * {@link IItemRenderer#renderItem(ItemRenderType, ItemStack, Object...)} verbatim. Do not modify the argument. * * While this is called, BLEND and ALPHA_TEST is on. It is expected that these remain enabled while exit. - * + * * @return true if did special fluid display rendering. false otherwise. */ public boolean renderFluidDisplayItem(ItemRenderType type, ItemStack aStack, Object... data) { @@ -63,12 +67,14 @@ public class GT_GeneratedMaterial_Renderer implements IItemRenderer { GL11.glEnable(GL11.GL_ALPHA_TEST); if (tIcon != null) { + markNeedsAnimationUpdate(tIcon); renderRegularItem(type, aStack, tIcon, aFluid == null); } if (tOverlay != null && aFluid != null && aFluid.getFluid() != null) { IIcon fluidIcon = aFluid.getFluid().getIcon(aFluid); if (fluidIcon != null) { + markNeedsAnimationUpdate(fluidIcon); // Adds colour to a cells fluid. Does not colour full fluid icons as shown in NEI etc. renderContainedFluid(type, aFluid, fluidIcon); } @@ -77,6 +83,7 @@ public class GT_GeneratedMaterial_Renderer implements IItemRenderer { if (tOverlay != null) { GL11.glColor3f(1.0F, 1.0F, 1.0F); TextureUtils.bindAtlas(aItem.getSpriteNumber()); + markNeedsAnimationUpdate(tOverlay); if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) { GT_RenderUtil.renderItemIcon(tOverlay, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F); } else { @@ -140,4 +147,10 @@ public class GT_GeneratedMaterial_Renderer implements IItemRenderer { } GL11.glDepthFunc(GL11.GL_LEQUAL); } + + protected void markNeedsAnimationUpdate(IIcon icon) { + if (GregTech_API.mHodgepodge && icon instanceof IPatchedTextureAtlasSprite) { + ((IPatchedTextureAtlasSprite) icon).markNeedsAnimationUpdate(); + } + } } diff --git a/src/main/java/gregtech/common/render/items/GT_MetaGenerated_Item_Renderer.java b/src/main/java/gregtech/common/render/items/GT_MetaGenerated_Item_Renderer.java index b255fbab9c..19b14e7d6d 100644 --- a/src/main/java/gregtech/common/render/items/GT_MetaGenerated_Item_Renderer.java +++ b/src/main/java/gregtech/common/render/items/GT_MetaGenerated_Item_Renderer.java @@ -16,7 +16,7 @@ import gregtech.api.util.GT_Utility; public class GT_MetaGenerated_Item_Renderer implements IItemRenderer { - private final IItemRenderer mItemRenderer = new GT_GeneratedItem_Renderer();; + private final IItemRenderer mItemRenderer = new GT_GeneratedItem_Renderer(); private final IItemRenderer mMaterialRenderer = new GT_GeneratedMaterial_Renderer(); public GT_MetaGenerated_Item_Renderer() { diff --git a/src/main/java/gregtech/common/render/items/UniversiumRenderer.java b/src/main/java/gregtech/common/render/items/UniversiumRenderer.java index d7b1aced36..ff5171b998 100644 --- a/src/main/java/gregtech/common/render/items/UniversiumRenderer.java +++ b/src/main/java/gregtech/common/render/items/UniversiumRenderer.java @@ -267,17 +267,7 @@ public class UniversiumRenderer extends GT_GeneratedMaterial_Renderer { } break; } - case EQUIPPED: { - EntityLivingBase ent = (EntityLivingBase) (data[1]); - if (ent != null) { - CosmicRenderStuffs.setLightFromLocation( - ent.worldObj, - MathHelper.floor_double(ent.posX), - MathHelper.floor_double(ent.posY), - MathHelper.floor_double(ent.posZ)); - } - break; - } + case EQUIPPED: case EQUIPPED_FIRST_PERSON: { EntityLivingBase ent = (EntityLivingBase) (data[1]); if (ent != null) { diff --git a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java index 53c5fc833c..0c813d002a 100644 --- a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java +++ b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java @@ -125,6 +125,7 @@ public class GT_PreLoad { GregTech_API.mTConstruct = Loader.isModLoaded("TConstruct"); GregTech_API.mGalacticraft = Loader.isModLoaded("GalacticraftCore"); GregTech_API.mAE2 = Loader.isModLoaded(MOD_ID_AE); + GregTech_API.mHodgepodge = Loader.isModLoaded("hodgepodge"); } public static void createLogFiles(File parentFile, Configuration tMainConfig) { |