aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/api/GregTech_API.java13
-rw-r--r--src/main/java/gregtech/common/GT_Client.java7
-rw-r--r--src/main/java/gregtech/common/render/CosmicItemRendererGT.java74
-rw-r--r--src/main/java/gregtech/common/render/items/CosmicNeutroniumRenderer.java1
-rw-r--r--src/main/java/gregtech/common/render/items/GT_GeneratedItem_Renderer.java16
-rw-r--r--src/main/java/gregtech/common/render/items/GT_GeneratedMaterial_Renderer.java15
-rw-r--r--src/main/java/gregtech/common/render/items/GT_MetaGenerated_Item_Renderer.java2
-rw-r--r--src/main/java/gregtech/common/render/items/UniversiumRenderer.java12
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_PreLoad.java1
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) {