aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r--src/main/java/gregtech/api/enums/TAE.java34
-rw-r--r--src/main/java/gregtech/api/items/ItemEnergyArmor.java5
-rw-r--r--src/main/java/gregtech/api/util/FishPondFakeRecipe.java80
-rw-r--r--src/main/java/gregtech/api/util/GTOreDictUnificator.java4
-rw-r--r--src/main/java/gregtech/api/util/GTUtility.java65
-rw-r--r--src/main/java/gregtech/api/util/ReflectionUtil.java13
-rw-r--r--src/main/java/gregtech/common/GTProxy.java6
-rw-r--r--src/main/java/gregtech/common/GTThaumcraftCompat.java2
-rw-r--r--src/main/java/gregtech/common/items/ItemAdvancedSensorCard.java5
-rw-r--r--src/main/java/gregtech/common/items/ItemSensorCard.java10
-rw-r--r--src/main/java/gregtech/common/render/GTCapeRenderer.java17
-rw-r--r--src/main/java/gregtech/common/tools/ToolPlunger.java20
-rw-r--r--src/main/java/gregtech/loaders/preload/LoaderGTBlockFluid.java38
13 files changed, 109 insertions, 190 deletions
diff --git a/src/main/java/gregtech/api/enums/TAE.java b/src/main/java/gregtech/api/enums/TAE.java
index 48a39da036..edc0e5123c 100644
--- a/src/main/java/gregtech/api/enums/TAE.java
+++ b/src/main/java/gregtech/api/enums/TAE.java
@@ -1,6 +1,5 @@
package gregtech.api.enums;
-import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.HashSet;
@@ -8,7 +7,6 @@ import gregtech.api.interfaces.ITexture;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.GTPPCore;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.xmod.gregtech.api.objects.GTPPCopiedBlockTexture;
public class TAE {
@@ -77,38 +75,6 @@ public class TAE {
Logger.INFO("Finalised TAE.");
}
- private static boolean registerTextures(GTPPCopiedBlockTexture GTPPCopiedBlockTexture) {
- try {
- // Handle page 2.
- Logger.INFO("[TAE} Registering Texture, Last used casing ID is " + gtPPLastUsedIndex + ".");
- if (gtPPLastUsedIndex >= 128) {
- Field x = ReflectionUtils.getField(Textures.BlockIcons.class, "casingTexturePages");
- if (x != null) {
- ITexture[][] h = (ITexture[][]) x.get(null);
- if (h != null) {
- h[64][secondaryIndex++] = GTPPCopiedBlockTexture;
- x.set(null, h);
- Logger
- .INFO("[TAE} Registered Texture with ID " + (secondaryIndex - 1) + " in secondary index.");
- return true;
- }
- }
- }
-
- // set to page 1.
- else {
- Textures.BlockIcons.setCasingTextureForId(gtPPLastUsedIndex, GTPPCopiedBlockTexture);
- Logger.INFO("[TAE} Registered Texture with ID " + (gtPPLastUsedIndex) + " in main index.");
- gtPPLastUsedIndex++;
- return true;
- }
- } catch (Throwable t) {
- t.printStackTrace();
- }
- Logger.INFO("[TAE} Failed to register texture, Last used casing ID is " + gtPPLastUsedIndex + ".");
- return false;
- }
-
public static ITexture getTexture(int index) {
if (gtPPLastUsedIndex >= 128) {
return Textures.BlockIcons.getCasingTextureForId(((64 * 128) + index));
diff --git a/src/main/java/gregtech/api/items/ItemEnergyArmor.java b/src/main/java/gregtech/api/items/ItemEnergyArmor.java
index 77c8d0991a..257059e963 100644
--- a/src/main/java/gregtech/api/items/ItemEnergyArmor.java
+++ b/src/main/java/gregtech/api/items/ItemEnergyArmor.java
@@ -28,7 +28,6 @@ import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.GregTechAPI;
import gregtech.api.util.GTLanguageManager;
import gregtech.api.util.GTModHandler;
-import gregtech.api.util.GTUtility;
public class ItemEnergyArmor extends ItemArmor implements ISpecialArmor {
@@ -126,11 +125,11 @@ public class ItemEnergyArmor extends ItemArmor implements ISpecialArmor {
if ((mSpecials & 8) != 0) {
if (GTModHandler.canUseElectricItem(aStack, 10000) && aPlayer.isPotionActive(Potion.poison)) {
- GTUtility.removePotion(aPlayer, Potion.poison.id);
+ aPlayer.removePotionEffect(Potion.poison.id);
GTModHandler.useElectricItem(aStack, 10000, aPlayer);
}
if (GTModHandler.canUseElectricItem(aStack, 100000) && aPlayer.isPotionActive(Potion.wither)) {
- GTUtility.removePotion(aPlayer, Potion.wither.id);
+ aPlayer.removePotionEffect(Potion.wither.id);
GTModHandler.useElectricItem(aStack, 100000, aPlayer);
}
}
diff --git a/src/main/java/gregtech/api/util/FishPondFakeRecipe.java b/src/main/java/gregtech/api/util/FishPondFakeRecipe.java
index 2deb38dccf..385af4ffef 100644
--- a/src/main/java/gregtech/api/util/FishPondFakeRecipe.java
+++ b/src/main/java/gregtech/api/util/FishPondFakeRecipe.java
@@ -1,8 +1,8 @@
package gregtech.api.util;
import static gregtech.api.util.GTRecipeBuilder.SECONDS;
-import static gtPlusPlus.api.recipe.GTPPRecipeMaps.fishPondRecipes;
+import java.lang.reflect.Field;
import java.util.ArrayList;
import net.minecraft.item.ItemStack;
@@ -11,61 +11,55 @@ import net.minecraftforge.common.FishingHooks;
import gregtech.api.enums.GTValues;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.minecraft.ItemUtils;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import gtPlusPlus.api.recipe.GTPPRecipeMaps;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.MTEIndustrialFishingPond;
public class FishPondFakeRecipe {
- public static ArrayList<WeightedRandomFishable> fish = new ArrayList<>();
- public static ArrayList<WeightedRandomFishable> junk = new ArrayList<>();
- public static ArrayList<WeightedRandomFishable> treasure = new ArrayList<>();
+ public static final ArrayList<ItemStack> fish = new ArrayList<>();
+ public static final ArrayList<ItemStack> junk = new ArrayList<>();
+ public static final ArrayList<ItemStack> treasure = new ArrayList<>();
@SuppressWarnings("unchecked")
- public static boolean generateFishPondRecipes() {
-
+ public static void generateFishPondRecipes() {
try {
- fish = (ArrayList<WeightedRandomFishable>) ReflectionUtils.getField(FishingHooks.class, "fish")
+ ArrayList<WeightedRandomFishable> fishList = (ArrayList<WeightedRandomFishable>) GTUtility
+ .getField(FishingHooks.class, "fish")
.get(null);
- junk = (ArrayList<WeightedRandomFishable>) ReflectionUtils.getField(FishingHooks.class, "junk")
+ ArrayList<WeightedRandomFishable> junkList = (ArrayList<WeightedRandomFishable>) GTUtility
+ .getField(FishingHooks.class, "junk")
.get(null);
- treasure = (ArrayList<WeightedRandomFishable>) ReflectionUtils.getField(FishingHooks.class, "treasure")
+ ArrayList<WeightedRandomFishable> treasureList = (ArrayList<WeightedRandomFishable>) GTUtility
+ .getField(FishingHooks.class, "treasure")
.get(null);
- } catch (IllegalArgumentException | IllegalAccessException e) {
- Logger.INFO("Error generating Fish Pond Recipes. [1]");
+ final Field stackField = GTUtility.getField(WeightedRandomFishable.class, "field_150711_b");
+ generateRecipesFor(MTEIndustrialFishingPond.FISH_MODE, fish, fishList, stackField);
+ generateRecipesFor(MTEIndustrialFishingPond.JUNK_MODE, junk, junkList, stackField);
+ generateRecipesFor(MTEIndustrialFishingPond.TREASURE_MODE, treasure, treasureList, stackField);
+ } catch (Exception e) {
+ Logger.INFO("Error reading the vanilla fishing loot table.");
e.printStackTrace();
}
+ }
- ArrayList<ArrayList<WeightedRandomFishable>> mega = new ArrayList<>();
- mega.add(fish);
- mega.add(junk);
- mega.add(treasure);
-
- int mType = 14;
- for (ArrayList<WeightedRandomFishable> f : mega) {
- for (WeightedRandomFishable weightedRandomFishable : f) {
- if (weightedRandomFishable != null) {
- WeightedRandomFishable u = weightedRandomFishable;
- try {
- ItemStack t = (ItemStack) ReflectionUtils
- .getField(WeightedRandomFishable.class, "field_150711_b")
- .get(u);
- GTValues.RA.stdBuilder()
- .itemInputs(GTUtility.getIntegratedCircuit(mType))
- .itemOutputs(t)
- .duration(5 * SECONDS)
- .eut(0)
- .ignoreCollision()
- .addTo(fishPondRecipes);
- Logger.INFO("Fishing [" + mType + "]: " + ItemUtils.getArrayStackNames(new ItemStack[] { t }));
- } catch (IllegalArgumentException | IllegalAccessException e1) {
- Logger.INFO("Error generating Fish Pond Recipes. [2]");
- e1.printStackTrace();
- }
- }
+ private static void generateRecipesFor(int circuitType, ArrayList<ItemStack> listToFill,
+ ArrayList<WeightedRandomFishable> lootTable, Field stackField) {
+ for (WeightedRandomFishable fishable : lootTable) {
+ try {
+ ItemStack stack = (ItemStack) stackField.get(fishable);
+ listToFill.add(stack.copy());
+ GTValues.RA.stdBuilder()
+ .itemInputs(GTUtility.getIntegratedCircuit(circuitType))
+ .itemOutputs(stack)
+ .duration(5 * SECONDS)
+ .eut(0)
+ .ignoreCollision()
+ .addTo(GTPPRecipeMaps.fishPondRecipes);
+ } catch (IllegalArgumentException | IllegalAccessException e1) {
+ Logger.INFO("Error generating Fish Pond Recipes");
+ e1.printStackTrace();
}
- mType++;
}
-
- return true;
+ listToFill.trimToSize();
}
}
diff --git a/src/main/java/gregtech/api/util/GTOreDictUnificator.java b/src/main/java/gregtech/api/util/GTOreDictUnificator.java
index 2a7ee08537..af7f249cec 100644
--- a/src/main/java/gregtech/api/util/GTOreDictUnificator.java
+++ b/src/main/java/gregtech/api/util/GTOreDictUnificator.java
@@ -583,4 +583,8 @@ public class GTOreDictUnificator {
return GTUtility.isStringValid(aName) ? Collections.unmodifiableList(OreDictionary.getOres(aName))
: Collections.emptyList();
}
+
+ public static Map<String, ItemStack> getName2StackMap() {
+ return sName2StackMap;
+ }
}
diff --git a/src/main/java/gregtech/api/util/GTUtility.java b/src/main/java/gregtech/api/util/GTUtility.java
index 442ba2a562..3294b0523d 100644
--- a/src/main/java/gregtech/api/util/GTUtility.java
+++ b/src/main/java/gregtech/api/util/GTUtility.java
@@ -62,7 +62,6 @@ import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
-import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.EnumCreatureAttribute;
import net.minecraft.entity.item.EntityItem;
@@ -364,21 +363,6 @@ public class GTUtility {
return null;
}
- public static Object callConstructor(String aClass, int aConstructorIndex, Object aReplacementObject,
- boolean aLogErrors, Object... aParameters) {
- try {
- return callConstructor(
- Class.forName(aClass),
- aConstructorIndex,
- aReplacementObject,
- aLogErrors,
- aParameters);
- } catch (Throwable e) {
- if (aLogErrors) e.printStackTrace(GTLog.err);
- }
- return aReplacementObject;
- }
-
public static Object callConstructor(Class<?> aClass, int aConstructorIndex, Object aReplacementObject,
boolean aLogErrors, Object... aParameters) {
if (aConstructorIndex < 0) {
@@ -401,31 +385,12 @@ public class GTUtility {
return aReplacementObject;
}
- public static String capitalizeString(String aString) {
- if (aString != null && aString.length() > 0) return aString.substring(0, 1)
- .toUpperCase() + aString.substring(1);
- return E;
- }
-
- public static boolean getPotion(EntityLivingBase aPlayer, int aPotionIndex) {
- try {
- Field tPotionHashmap = null;
-
- Field[] fields = EntityLiving.class.getDeclaredFields();
-
- for (Field field : fields) {
- if (field.getType() == HashMap.class) {
- tPotionHashmap = field;
- tPotionHashmap.setAccessible(true);
- break;
- }
- }
-
- if (tPotionHashmap != null) return ((HashMap<?, ?>) tPotionHashmap.get(aPlayer)).get(aPotionIndex) != null;
- } catch (Throwable e) {
- if (D1) e.printStackTrace(GTLog.err);
+ public static String capitalizeString(String s) {
+ if (s != null && !s.isEmpty()) {
+ return s.substring(0, 1)
+ .toUpperCase() + s.substring(1);
}
- return false;
+ return "";
}
public static String getClassName(Object aObject) {
@@ -438,26 +403,6 @@ public class GTUtility {
.lastIndexOf(".") + 1);
}
- public static void removePotion(EntityLivingBase aPlayer, int aPotionIndex) {
- try {
- Field tPotionHashmap = null;
-
- Field[] fields = EntityLiving.class.getDeclaredFields();
-
- for (Field field : fields) {
- if (field.getType() == HashMap.class) {
- tPotionHashmap = field;
- tPotionHashmap.setAccessible(true);
- break;
- }
- }
-
- if (tPotionHashmap != null) ((HashMap<?, ?>) tPotionHashmap.get(aPlayer)).remove(aPotionIndex);
- } catch (Throwable e) {
- if (D1) e.printStackTrace(GTLog.err);
- }
- }
-
public static boolean getFullInvisibility(EntityPlayer aPlayer) {
try {
if (aPlayer.isInvisible()) {
diff --git a/src/main/java/gregtech/api/util/ReflectionUtil.java b/src/main/java/gregtech/api/util/ReflectionUtil.java
new file mode 100644
index 0000000000..60abae8199
--- /dev/null
+++ b/src/main/java/gregtech/api/util/ReflectionUtil.java
@@ -0,0 +1,13 @@
+package gregtech.api.util;
+
+public class ReflectionUtil {
+
+ public static Class<?> getClass(String classname) {
+ try {
+ return Class.forName(classname);
+ } catch (ClassNotFoundException e) {
+ return null;
+ }
+ }
+
+}
diff --git a/src/main/java/gregtech/common/GTProxy.java b/src/main/java/gregtech/common/GTProxy.java
index 221fcd6f1f..b5854ea2eb 100644
--- a/src/main/java/gregtech/common/GTProxy.java
+++ b/src/main/java/gregtech/common/GTProxy.java
@@ -136,7 +136,6 @@ import gregtech.api.interfaces.IBlockOnWalkOver;
import gregtech.api.interfaces.IProjectileItem;
import gregtech.api.interfaces.IToolStats;
import gregtech.api.interfaces.internal.IGTMod;
-import gregtech.api.interfaces.internal.IThaumcraftCompat;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.items.MetaGeneratedItem;
import gregtech.api.items.MetaGeneratedTool;
@@ -796,8 +795,9 @@ public abstract class GTProxy implements IGTMod, IFuelHandler {
FMLCommonHandler.instance()
.bus()
.register(this);
- GregTechAPI.sThaumcraftCompat = (IThaumcraftCompat) GTUtility
- .callConstructor("gregtech.common.GTThaumcraftCompat", 0, null, GTValues.D1, new Object[0]);
+ if (Thaumcraft.isModLoaded()) {
+ GregTechAPI.sThaumcraftCompat = new GTThaumcraftCompat();
+ }
for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry
.getRegisteredFluidContainerData()) {
onFluidContainerRegistration(new FluidContainerRegistry.FluidContainerRegisterEvent(tData));
diff --git a/src/main/java/gregtech/common/GTThaumcraftCompat.java b/src/main/java/gregtech/common/GTThaumcraftCompat.java
index 7f8c6dd8c7..aa52d9a292 100644
--- a/src/main/java/gregtech/common/GTThaumcraftCompat.java
+++ b/src/main/java/gregtech/common/GTThaumcraftCompat.java
@@ -193,7 +193,7 @@ public class GTThaumcraftCompat implements IThaumcraftCompat {
if (aParentResearches != null) {
ArrayList<String> tParentResearches = new ArrayList<>();
Collections.addAll(tParentResearches, aParentResearches);
- if (tParentResearches.size() > 0) {
+ if (!tParentResearches.isEmpty()) {
rResearch.setParents(tParentResearches.toArray(new String[0]));
rResearch.setConcealed();
}
diff --git a/src/main/java/gregtech/common/items/ItemAdvancedSensorCard.java b/src/main/java/gregtech/common/items/ItemAdvancedSensorCard.java
index 8c68951bb7..8e588b4960 100644
--- a/src/main/java/gregtech/common/items/ItemAdvancedSensorCard.java
+++ b/src/main/java/gregtech/common/items/ItemAdvancedSensorCard.java
@@ -33,6 +33,7 @@ import com.google.common.collect.ImmutableList;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.enums.Mods;
import gregtech.common.misc.GlobalMetricsCoverDatabase;
import gregtech.common.misc.GlobalMetricsCoverDatabase.State;
import shedar.mods.ic2.nuclearcontrol.api.CardState;
@@ -41,7 +42,9 @@ import shedar.mods.ic2.nuclearcontrol.api.IPanelDataSource;
import shedar.mods.ic2.nuclearcontrol.api.PanelSetting;
import shedar.mods.ic2.nuclearcontrol.api.PanelString;
-@SuppressWarnings("unused")
+@cpw.mods.fml.common.Optional.Interface(
+ iface = "shedar.mods.ic2.nuclearcontrol.api.IPanelDataSource",
+ modid = Mods.Names.I_C2_NUCLEAR_CONTROL)
public class ItemAdvancedSensorCard extends Item implements IPanelDataSource {
public static final UUID CARD_TYPE_ID = UUID.fromString("ff952e84-7608-4c4a-85af-dd6e1aa27fc7");
diff --git a/src/main/java/gregtech/common/items/ItemSensorCard.java b/src/main/java/gregtech/common/items/ItemSensorCard.java
index 39e3d48081..c3f0ef7061 100644
--- a/src/main/java/gregtech/common/items/ItemSensorCard.java
+++ b/src/main/java/gregtech/common/items/ItemSensorCard.java
@@ -14,8 +14,10 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChunkCoordinates;
import net.minecraft.world.World;
+import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.enums.Mods;
import gregtech.api.interfaces.tileentity.IGregTechDeviceInformation;
import gregtech.api.items.GTGenericItem;
import gregtech.api.util.GTLanguageManager;
@@ -26,6 +28,14 @@ import shedar.mods.ic2.nuclearcontrol.api.IRemoteSensor;
import shedar.mods.ic2.nuclearcontrol.api.PanelSetting;
import shedar.mods.ic2.nuclearcontrol.api.PanelString;
+@Optional.InterfaceList(
+ value = {
+ @Optional.Interface(
+ iface = "shedar.mods.ic2.nuclearcontrol.api.IRemoteSensor",
+ modid = Mods.Names.I_C2_NUCLEAR_CONTROL),
+ @Optional.Interface(
+ iface = "shedar.mods.ic2.nuclearcontrol.api.IPanelDataSource",
+ modid = Mods.Names.I_C2_NUCLEAR_CONTROL) })
public class ItemSensorCard extends GTGenericItem implements IRemoteSensor, IPanelDataSource {
private static final UUID CARD_TYPE = new UUID(0L, 41L);
diff --git a/src/main/java/gregtech/common/render/GTCapeRenderer.java b/src/main/java/gregtech/common/render/GTCapeRenderer.java
index ea8e0a37cd..43fda419e4 100644
--- a/src/main/java/gregtech/common/render/GTCapeRenderer.java
+++ b/src/main/java/gregtech/common/render/GTCapeRenderer.java
@@ -6,7 +6,6 @@ import net.minecraft.client.entity.AbstractClientPlayer;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.entity.RenderPlayer;
-import net.minecraft.potion.Potion;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.RenderPlayerEvent;
@@ -19,14 +18,19 @@ import gregtech.api.util.GTUtility;
public class GTCapeRenderer extends RenderPlayer {
- private final ResourceLocation[] mCapes = { new ResourceLocation("gregtech:textures/BrainTechCape.png"),
+ // spotless:off
+ 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"),
- new ResourceLocation("gregtech:textures/DonorCape.png"), new ResourceLocation("gregtech:textures/DevCape.png"),
- new ResourceLocation("gregtech:textures/Steam.png"), new ResourceLocation("gregtech:textures/Titanium.png"),
+ new ResourceLocation("gregtech:textures/DonorCape.png"),
+ new ResourceLocation("gregtech:textures/DevCape.png"),
+ new ResourceLocation("gregtech:textures/Steam.png"),
+ new ResourceLocation("gregtech:textures/Titanium.png"),
new ResourceLocation("gregtech:textures/Neutronium.png"),
new ResourceLocation("gregtech:textures/Stargate.png") };
+ // spotless:on
private final Collection<String> mCapeList;
public GTCapeRenderer(Collection<String> aCapeList) {
@@ -40,13 +44,9 @@ public class GTCapeRenderer extends RenderPlayer {
aEvent.setCanceled(true);
return;
}
- float aPartialTicks = aEvent.partialRenderTick;
if (aPlayer.isInvisible()) {
return;
}
- if (GTUtility.getPotion(aPlayer, Potion.invisibility.id)) {
- return;
- }
try {
ResourceLocation tResource = aPlayer.getLocationCape();
if (aPlayer.getDisplayName()
@@ -101,6 +101,7 @@ public class GTCapeRenderer extends RenderPlayer {
bindTexture(tResource);
GL11.glPushMatrix();
GL11.glTranslatef(0.0F, 0.0F, 0.125F);
+ float aPartialTicks = aEvent.partialRenderTick;
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
diff --git a/src/main/java/gregtech/common/tools/ToolPlunger.java b/src/main/java/gregtech/common/tools/ToolPlunger.java
index 3ba428e707..5cb9bcff48 100644
--- a/src/main/java/gregtech/common/tools/ToolPlunger.java
+++ b/src/main/java/gregtech/common/tools/ToolPlunger.java
@@ -7,14 +7,13 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
+import gregtech.api.enums.Mods;
import gregtech.api.enums.SoundResource;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
-import gregtech.api.interfaces.IItemBehaviour;
-import gregtech.api.items.MetaBaseItem;
import gregtech.api.items.MetaGeneratedTool;
import gregtech.api.util.GTToolHarvestHelper;
-import gregtech.api.util.GTUtility;
+import gregtech.common.items.behaviors.BehaviourPlungerEssentia;
import gregtech.common.items.behaviors.BehaviourPlungerFluid;
import gregtech.common.items.behaviors.BehaviourPlungerItem;
@@ -62,21 +61,12 @@ public class ToolPlunger extends GTTool {
}
@Override
- @SuppressWarnings("unchecked") // the IItemBehaviour cast cannot be expressed strictly via generics
public void onStatsAddedToTool(MetaGeneratedTool aItem, int aID) {
aItem.addItemBehavior(aID, new BehaviourPlungerItem(getToolDamagePerDropConversion()));
aItem.addItemBehavior(aID, new BehaviourPlungerFluid(getToolDamagePerDropConversion()));
- try {
- Object tObject = GTUtility.callConstructor(
- "gregtech.common.items.behaviors.BehaviourPlungerEssentia",
- 0,
- null,
- false,
- getToolDamagePerDropConversion());
- if ((tObject instanceof IItemBehaviour)) {
- aItem.addItemBehavior(aID, (IItemBehaviour<MetaBaseItem>) tObject);
- }
- } catch (Throwable ignored) {}
+ if (Mods.Thaumcraft.isModLoaded()) {
+ aItem.addItemBehavior(aID, new BehaviourPlungerEssentia(getToolDamagePerDropConversion()));
+ }
}
@Override
diff --git a/src/main/java/gregtech/loaders/preload/LoaderGTBlockFluid.java b/src/main/java/gregtech/loaders/preload/LoaderGTBlockFluid.java
index 08eb98c7d4..ee207bbaeb 100644
--- a/src/main/java/gregtech/loaders/preload/LoaderGTBlockFluid.java
+++ b/src/main/java/gregtech/loaders/preload/LoaderGTBlockFluid.java
@@ -22,7 +22,6 @@ import java.util.Locale;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
-import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry;
@@ -80,10 +79,12 @@ import gregtech.common.blocks.BlockStones;
import gregtech.common.blocks.BlockTintedIndustrialGlass;
import gregtech.common.blocks.BlockWormholeRender;
import gregtech.common.blocks.TileEntityOres;
+import gregtech.common.items.ItemAdvancedSensorCard;
import gregtech.common.items.ItemDepletedCell;
import gregtech.common.items.ItemFluidDisplay;
import gregtech.common.items.ItemIntegratedCircuit;
import gregtech.common.items.ItemNeutronReflector;
+import gregtech.common.items.ItemSensorCard;
import gregtech.common.items.ItemTierDrone;
import gregtech.common.items.ItemVolumetricFlask;
import gregtech.common.items.ItemWirelessHeadphones;
@@ -179,25 +180,18 @@ public class LoaderGTBlockFluid implements Runnable {
ItemList.VOLUMETRIC_FLASK.set(new ItemVolumetricFlask("Volumetric_Flask", "Volumetric flask", 1000));
- Item tItem = (Item) GTUtility.callConstructor(
- "gregtech.common.items.ItemSensorCard",
- 0,
- null,
- false,
- new Object[] { "sensorcard", "GregTech Sensor Card" });
- ItemList.NC_SensorCard.set(
- tItem == null ? new GTGenericItem("sensorcard", "GregTech Sensor Card", "Nuclear Control not installed")
- : tItem);
-
- Item advSensorCard = (Item) GTUtility
- .callConstructor("gregtech.common.items.ItemAdvancedSensorCard", 0, null, false);
- ItemList.NC_AdvancedSensorCard.set(
- advSensorCard == null
- ? new GTGenericItem(
+ if (Mods.IC2NuclearControl.isModLoaded()) {
+ ItemList.NC_SensorCard.set(new ItemSensorCard("sensorcard", "GregTech Sensor Card"));
+ ItemList.NC_AdvancedSensorCard.set(new ItemAdvancedSensorCard());
+ } else {
+ ItemList.NC_SensorCard
+ .set(new GTGenericItem("sensorcard", "GregTech Sensor Card", "Nuclear Control not installed"));
+ ItemList.NC_AdvancedSensorCard.set(
+ new GTGenericItem(
"advancedsensorcard",
"GregTech Advanced Sensor Card",
- "Nuclear Control not installed")
- : advSensorCard);
+ "Nuclear Control not installed"));
+ }
ItemList.Neutron_Reflector.set(new ItemNeutronReflector("neutronreflector", "Iridium Neutron Reflector", 0));
ItemList.Reactor_Coolant_He_1
@@ -241,12 +235,12 @@ public class LoaderGTBlockFluid implements Runnable {
ItemList.Depleted_Thorium_1.set(new ItemDepletedCell("ThoriumcellDep", "Fuel Rod (Depleted Thorium)", 1));
ItemList.Depleted_Thorium_2
.set(new ItemDepletedCell("Double_ThoriumcellDep", "Dual Fuel Rod (Depleted Thorium)", 1)); // TODO
- // CHECK
- // num
+ // CHECK
+ // num
ItemList.Depleted_Thorium_4
.set(new ItemDepletedCell("Quad_ThoriumcellDep", "Quad Fuel Rod (Depleted Thorium)", 1)); // TODO
- // CHECK
- // num
+ // CHECK
+ // num
ItemList.ThoriumCell_1.set(
new ItemRadioactiveCellIC(
"Thoriumcell",