diff options
Diffstat (limited to 'src/main/java/gregtech')
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", |