aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/bartworks/API/WerkstoffAPI.java15
-rw-r--r--src/main/java/bartworks/system/material/WerkstoffLoader.java13
-rw-r--r--src/main/java/bartworks/system/material/gtenhancement/PlatinumSludgeOverHaul.java29
-rw-r--r--src/main/java/bartworks/system/material/werkstoff_loaders/recipe/CraftingMaterialLoader.java37
-rw-r--r--src/main/java/bartworks/system/material/werkstoff_loaders/recipe/MoltenCellLoader.java6
-rw-r--r--src/main/java/bartworks/util/CachedReflectionUtils.java31
-rw-r--r--src/main/java/bwcrossmod/GTpp/loader/RadioHatchCompat.java254
-rw-r--r--src/main/java/gregtech/api/GregTechAPI.java296
-rw-r--r--src/main/java/gregtech/api/objects/GTChunkManager.java18
-rw-r--r--src/main/java/gregtech/api/objects/GTRenderedTexture.java2
-rw-r--r--src/main/java/gregtech/api/threads/RunnableMachineUpdate.java6
-rw-r--r--src/main/java/gregtech/api/util/GTChunkAssociatedData.java2
-rw-r--r--src/main/java/gregtech/api/util/GTModHandler.java65
-rw-r--r--src/main/java/gregtech/asm/GTCorePlugin.java17
-rw-r--r--src/main/java/gregtech/common/GTWorldgenerator.java2
-rw-r--r--src/main/java/gregtech/common/render/GTCopiedBlockTextureRender.java3
-rw-r--r--src/main/java/gregtech/common/render/GTCopiedCTMBlockTexture.java2
-rw-r--r--src/main/java/gregtech/common/render/GTRenderedTexture.java2
-rw-r--r--src/main/java/gregtech/common/render/GTSidedTextureRender.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/MTEWorldAccelerator.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEWormholeGenerator.java4
-rw-r--r--src/main/java/gregtech/loaders/misc/GTBeeDefinition.java4
-rw-r--r--src/main/java/gregtech/loaders/misc/bees/GTEffectTreeTwister.java4
-rw-r--r--src/main/java/gregtech/loaders/preload/LoaderGTBlockFluid.java35
-rw-r--r--src/main/java/gtPlusPlus/core/block/machine/BlockProjectTable.java36
-rw-r--r--src/main/java/gtPlusPlus/core/common/CommonProxy.java29
-rw-r--r--src/main/java/gtPlusPlus/core/item/general/books/ItemBaseBook.java59
-rw-r--r--src/main/java/gtPlusPlus/core/lib/GTPPCore.java2
-rw-r--r--src/main/java/gtPlusPlus/core/util/minecraft/PlayerUtils.java60
-rw-r--r--src/main/java/gtPlusPlus/everglades/gen/gt/WorldGen_GT_Base.java4
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java7
-rw-r--r--src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPPBeeDefinition.java67
-rw-r--r--src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPPBees.java83
-rw-r--r--src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPPBranchDefinition.java76
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GTPPMultiBlockBase.java6
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIsaMill.java2
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/MTEChemicalPlant.java2
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/MTELargerTurbineBase.java2
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java8
-rw-r--r--src/main/java/gtneioreplugin/util/GT5OreSmallHelper.java14
-rw-r--r--src/main/java/tectech/loader/recipe/BaseRecipeLoader.java2
41 files changed, 247 insertions, 1067 deletions
diff --git a/src/main/java/bartworks/API/WerkstoffAPI.java b/src/main/java/bartworks/API/WerkstoffAPI.java
index d23ef1b75c..0a89e67550 100644
--- a/src/main/java/bartworks/API/WerkstoffAPI.java
+++ b/src/main/java/bartworks/API/WerkstoffAPI.java
@@ -14,22 +14,13 @@
package bartworks.API;
import bartworks.system.material.Werkstoff;
+import bartworks.system.material.WerkstoffLoader;
public final class WerkstoffAPI {
- @SuppressWarnings("rawtypes")
- static Class w;
-
- static {
- try {
- w = Class.forName("bartworks.system.material.WerkstoffLoader");
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- }
-
public static Werkstoff getWerkstoff(String aName) throws NoSuchFieldException, IllegalAccessException {
- return (Werkstoff) w.getField(aName)
+ return (Werkstoff) WerkstoffLoader.class.getField(aName)
.get(null);
}
+
}
diff --git a/src/main/java/bartworks/system/material/WerkstoffLoader.java b/src/main/java/bartworks/system/material/WerkstoffLoader.java
index d5c9337a7c..858fda7a58 100644
--- a/src/main/java/bartworks/system/material/WerkstoffLoader.java
+++ b/src/main/java/bartworks/system/material/WerkstoffLoader.java
@@ -152,25 +152,12 @@ public class WerkstoffLoader {
public static final SubTag ANAEROBE_SMELTING = SubTag.getNewSubTag("AnaerobeSmelting");
public static final SubTag NOBLE_GAS_SMELTING = SubTag.getNewSubTag("NobleGasSmelting");
public static final SubTag NO_BLAST = SubTag.getNewSubTag("NoBlast");
- public static ItemList rotorMold;
- public static ItemList rotorShape;
- public static ItemList smallGearShape;
- public static ItemList ringMold;
- public static ItemList boltMold;
public static void setUp() {
OrePrefixes.cellMolten.mMaterialGenerationBits = 0b1000000;
OrePrefixes.capsuleMolten.mMaterialGenerationBits = 0b1000000;
- try {
- WerkstoffLoader.rotorMold = Enum.valueOf(ItemList.class, "Shape_Mold_Rotor");
- WerkstoffLoader.rotorShape = Enum.valueOf(ItemList.class, "Shape_Extruder_Rotor");
- WerkstoffLoader.smallGearShape = Enum.valueOf(ItemList.class, "Shape_Extruder_Small_Gear");
- WerkstoffLoader.ringMold = Enum.valueOf(ItemList.class, "Shape_Mold_Ring");
- WerkstoffLoader.boltMold = Enum.valueOf(ItemList.class, "Shape_Mold_Bolt");
- } catch (NullPointerException | IllegalArgumentException ignored) {}
-
// add tiberium
EnumUtils.createNewElement("Tr", 123L, 203L, 0L, -1L, null, "Tiberium", false);
diff --git a/src/main/java/bartworks/system/material/gtenhancement/PlatinumSludgeOverHaul.java b/src/main/java/bartworks/system/material/gtenhancement/PlatinumSludgeOverHaul.java
index a20996d463..5b5037ba08 100644
--- a/src/main/java/bartworks/system/material/gtenhancement/PlatinumSludgeOverHaul.java
+++ b/src/main/java/bartworks/system/material/gtenhancement/PlatinumSludgeOverHaul.java
@@ -117,6 +117,8 @@ import gregtech.api.util.GTOreDictUnificator;
import gregtech.api.util.GTRecipe;
import gregtech.api.util.GTUtility;
import gregtech.common.blocks.BlockOresAbstract;
+import gtPlusPlus.core.block.base.BlockBaseModular;
+import gtPlusPlus.core.item.base.BaseItemComponent;
public class PlatinumSludgeOverHaul {
@@ -1053,25 +1055,14 @@ public class PlatinumSludgeOverHaul {
}
}
- try {
- if (Class.forName("gtPlusPlus.core.item.base.BaseItemComponent")
- .isAssignableFrom(
- stack.getItem()
- .getClass())
- && !stack.getUnlocalizedName()
- .contains("dust")
- && !stack.getUnlocalizedName()
- .contains("Dust")) {
- return true;
- }
- if (Class.forName("gtPlusPlus.core.block.base.BlockBaseModular")
- .isAssignableFrom(
- Block.getBlockFromItem(stack.getItem())
- .getClass())) {
- return true;
- }
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
+ if (stack.getItem() instanceof BaseItemComponent && !stack.getUnlocalizedName()
+ .contains("dust")
+ && !stack.getUnlocalizedName()
+ .contains("Dust")) {
+ return true;
+ }
+ if (Block.getBlockFromItem(stack.getItem()) instanceof BlockBaseModular) {
+ return true;
}
if (stack.getItem() == HELICOPTER.getDust(1)
.getItem()) {
diff --git a/src/main/java/bartworks/system/material/werkstoff_loaders/recipe/CraftingMaterialLoader.java b/src/main/java/bartworks/system/material/werkstoff_loaders/recipe/CraftingMaterialLoader.java
index 022cf4c3e6..5512274260 100644
--- a/src/main/java/bartworks/system/material/werkstoff_loaders/recipe/CraftingMaterialLoader.java
+++ b/src/main/java/bartworks/system/material/werkstoff_loaders/recipe/CraftingMaterialLoader.java
@@ -38,7 +38,6 @@ import static gregtech.api.util.GTRecipeBuilder.SECONDS;
import static gregtech.api.util.GTRecipeBuilder.TICKS;
import bartworks.system.material.Werkstoff;
-import bartworks.system.material.WerkstoffLoader;
import bartworks.system.material.werkstoff_loaders.IWerkstoffRunnable;
import gregtech.api.enums.GTValues;
import gregtech.api.enums.ItemList;
@@ -185,18 +184,14 @@ public class CraftingMaterialLoader implements IWerkstoffRunnable {
.addTo(wiremillRecipes);
// smallGear
- if (WerkstoffLoader.smallGearShape != null) {
-
- GTValues.RA.stdBuilder()
- .itemInputs(werkstoff.get(ingot), WerkstoffLoader.smallGearShape.get(0L))
- .itemOutputs(werkstoff.get(gearGtSmall))
- .duration(
- (int) werkstoff.getStats()
- .getMass())
- .eut(8 * tVoltageMultiplier)
- .addTo(extruderRecipes);
-
- }
+ GTValues.RA.stdBuilder()
+ .itemInputs(werkstoff.get(ingot), ItemList.Shape_Extruder_Small_Gear.get(0L))
+ .itemOutputs(werkstoff.get(gearGtSmall))
+ .duration(
+ (int) werkstoff.getStats()
+ .getMass())
+ .eut(8 * tVoltageMultiplier)
+ .addTo(extruderRecipes);
GTModHandler.addCraftingRecipe(
werkstoff.get(gearGtSmall),
@@ -234,16 +229,12 @@ public class CraftingMaterialLoader implements IWerkstoffRunnable {
.eut(24)
.addTo(assemblerRecipes);
- if (WerkstoffLoader.rotorShape != null) {
-
- GTValues.RA.stdBuilder()
- .itemInputs(werkstoff.get(ingot, 5), WerkstoffLoader.rotorShape.get(0L))
- .itemOutputs(werkstoff.get(rotor))
- .duration(10 * SECONDS)
- .eut(60)
- .addTo(extruderRecipes);
-
- }
+ GTValues.RA.stdBuilder()
+ .itemInputs(werkstoff.get(ingot, 5), ItemList.Shape_Extruder_Rotor.get(0L))
+ .itemOutputs(werkstoff.get(rotor))
+ .duration(10 * SECONDS)
+ .eut(60)
+ .addTo(extruderRecipes);
// molten -> metal
if (werkstoff.hasItemType(cellMolten)) {
diff --git a/src/main/java/bartworks/system/material/werkstoff_loaders/recipe/MoltenCellLoader.java b/src/main/java/bartworks/system/material/werkstoff_loaders/recipe/MoltenCellLoader.java
index 8d639574cb..710f122592 100644
--- a/src/main/java/bartworks/system/material/werkstoff_loaders/recipe/MoltenCellLoader.java
+++ b/src/main/java/bartworks/system/material/werkstoff_loaders/recipe/MoltenCellLoader.java
@@ -300,12 +300,6 @@ public class MoltenCellLoader implements IWerkstoffRunnable {
.getMass() > 128 ? 64 : 30)
.addTo(fluidSolidifierRecipes);
- // No Spring Molds
-
- if (WerkstoffLoader.rotorMold == null) {
- return;
- }
-
GTValues.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Rotor.get(0))
.itemOutputs(werkstoff.get(rotor))
diff --git a/src/main/java/bartworks/util/CachedReflectionUtils.java b/src/main/java/bartworks/util/CachedReflectionUtils.java
deleted file mode 100644
index a02b644b4a..0000000000
--- a/src/main/java/bartworks/util/CachedReflectionUtils.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package bartworks.util;
-
-import java.lang.reflect.Field;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.commons.lang3.reflect.FieldUtils;
-
-public class CachedReflectionUtils {
-
- private static final ClassValue<Map<String, Field>> fields = new ConcurrentMapClassValue();
- private static final ClassValue<Map<String, Field>> declaredFields = new ConcurrentMapClassValue();
-
- public static Field getField(final Class<?> cls, final String fieldName) {
- return fields.get(cls)
- .computeIfAbsent(fieldName, f -> FieldUtils.getField(cls, f, true));
- }
-
- public static Field getDeclaredField(final Class<?> cls, final String fieldName) {
- return declaredFields.get(cls)
- .computeIfAbsent(fieldName, f -> FieldUtils.getDeclaredField(cls, f, true));
- }
-
- private static class ConcurrentMapClassValue extends ClassValue<Map<String, Field>> {
-
- @Override
- protected Map<String, Field> computeValue(Class<?> type) {
- return new ConcurrentHashMap<>();
- }
- }
-}
diff --git a/src/main/java/bwcrossmod/GTpp/loader/RadioHatchCompat.java b/src/main/java/bwcrossmod/GTpp/loader/RadioHatchCompat.java
index b410ec7e3e..9af6b96ba6 100644
--- a/src/main/java/bwcrossmod/GTpp/loader/RadioHatchCompat.java
+++ b/src/main/java/bwcrossmod/GTpp/loader/RadioHatchCompat.java
@@ -13,106 +13,34 @@
package bwcrossmod.GTpp.loader;
-import static gregtech.api.enums.Mods.GTPlusPlus;
-
-import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
import java.util.Map;
-import java.util.Queue;
-import java.util.Set;
import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
import net.minecraft.util.RegistryNamespaced;
import net.minecraftforge.oredict.OreDictionary;
-import bartworks.API.IRadMaterial;
import bartworks.util.log.DebugLog;
import bwcrossmod.BartWorksCrossmod;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.ModContainer;
import cpw.mods.fml.common.registry.GameData;
import cpw.mods.fml.common.registry.GameRegistry;
+import gregtech.api.enums.Mods;
+import gtPlusPlus.core.item.base.BaseItemComponent;
+import gtPlusPlus.core.item.base.rods.BaseItemRod;
+import gtPlusPlus.core.item.base.rods.BaseItemRodLong;
+import gtPlusPlus.core.material.Material;
public class RadioHatchCompat {
- private static Class<?> intf;
- private static Class<?> materialClass;
- private static Class<?> enu;
- private static Class<?> materialStackClass;
-
- private static Field isRadioactive;
- private static Field f;
- private static Field componentType;
- private static Field radlevel;
- private static Field protons;
-
- private static Field vMaterialInput;
- private static Field stackMaterial;
- private static Field RGBA;
- private static Field localizedName;
- private static Field unlocalizedName;
-
- private static Object rod;
- private static Object longRod;
-
public static HashSet<String> TranslateSet = new HashSet<>();
- static {
- try {
- RadioHatchCompat.intf = Class.forName("gtPlusPlus.core.item.base.BaseItemComponent");
- RadioHatchCompat.enu = Class.forName("gtPlusPlus.core.item.base.BaseItemComponent$ComponentTypes");
- RadioHatchCompat.materialClass = Class.forName("gtPlusPlus.core.material.Material");
- RadioHatchCompat.materialStackClass = Class.forName("gtPlusPlus.core.material.MaterialStack");
-
- RadioHatchCompat.f = RadioHatchCompat.intf.getField("componentMaterial");
- RadioHatchCompat.isRadioactive = RadioHatchCompat.materialClass.getField("isRadioactive");
- RadioHatchCompat.componentType = RadioHatchCompat.intf.getDeclaredField("componentType");
- RadioHatchCompat.radlevel = RadioHatchCompat.materialClass.getField("vRadiationLevel");
-
- RadioHatchCompat.vMaterialInput = RadioHatchCompat.materialClass.getDeclaredField("vMaterialInput");
- RadioHatchCompat.stackMaterial = RadioHatchCompat.materialStackClass.getDeclaredField("stackMaterial");
- RadioHatchCompat.protons = RadioHatchCompat.materialClass.getDeclaredField("vProtons");
- RadioHatchCompat.RGBA = RadioHatchCompat.materialClass.getDeclaredField("RGBA");
- RadioHatchCompat.localizedName = RadioHatchCompat.materialClass.getDeclaredField("localizedName");
- RadioHatchCompat.unlocalizedName = RadioHatchCompat.materialClass.getDeclaredField("unlocalizedName");
-
- RadioHatchCompat.vMaterialInput.setAccessible(true);
- RadioHatchCompat.stackMaterial.setAccessible(true);
- RadioHatchCompat.protons.setAccessible(true);
- RadioHatchCompat.RGBA.setAccessible(true);
- RadioHatchCompat.localizedName.setAccessible(true);
- RadioHatchCompat.unlocalizedName.setAccessible(true);
-
- Object[] arr = RadioHatchCompat.enu.getEnumConstants();
- for (Object o : arr) {
- if (RadioHatchCompat.rod != null && RadioHatchCompat.longRod != null) break;
- if ("ROD".equalsIgnoreCase(o.toString())) RadioHatchCompat.rod = o;
- else if ("RODLONG".equalsIgnoreCase(o.toString())) RadioHatchCompat.longRod = o;
- }
-
- } catch (NoSuchFieldException | ClassNotFoundException e) {
- e.printStackTrace();
- }
- }
-
@SuppressWarnings("unchecked")
public static void run() {
DebugLog.log("Starting Generation of missing GT++ rods/longrods");
try {
- Class<? extends Item> rodclass = (Class<? extends Item>) Class
- .forName("gtPlusPlus.core.item.base.rods.BaseItemRod");
- Class<? extends Item> longrodclass = (Class<? extends Item>) Class
- .forName("gtPlusPlus.core.item.base.rods.BaseItemRodLong");
- Constructor<? extends Item> c1 = rodclass.getConstructor(RadioHatchCompat.materialClass);
- Constructor<? extends Item> c2 = longrodclass.getConstructor(RadioHatchCompat.materialClass);
Field cOwners = GameData.class.getDeclaredField("customOwners");
cOwners.setAccessible(true);
Field map = RegistryNamespaced.class.getDeclaredField("field_148758_b");
@@ -127,158 +55,42 @@ public class RadioHatchCompat {
for (ModContainer container : Loader.instance()
.getModList()) {
if (gtpp != null && bartworks != null) break;
- if (BartWorksCrossmod.MOD_ID.equalsIgnoreCase(container.getModId())) bartworks = container;
- else if (container.getModId()
- .equalsIgnoreCase(GTPlusPlus.ID)) gtpp = container;
+ if (BartWorksCrossmod.MOD_ID.equalsIgnoreCase(container.getModId())) {
+ bartworks = container;
+ } else if (Mods.GTPlusPlus.ID.equalsIgnoreCase(container.getModId())) {
+ gtpp = container;
+ }
}
- for (Object mats : (Set<?>) RadioHatchCompat.materialClass.getField("mMaterialMap")
- .get(null)) {
- if (RadioHatchCompat.isRadioactive.getBoolean(mats)) {
-
- if (OreDictionary.getOres("stick" + RadioHatchCompat.unlocalizedName.get(mats))
- .isEmpty()) {
- Item it = c1.newInstance(mats);
- UniqueIdentifierMap.replace(it, "miscutils:" + it.getUnlocalizedName());
- GameRegistry.UniqueIdentifier ui = GameRegistry.findUniqueIdentifierFor(it);
- ownerItems.replace(ui, bartworks, gtpp);
-
- String tanslate = it.getUnlocalizedName() + ".name="
- + RadioHatchCompat.localizedName.get(mats)
- + " Rod";
- RadioHatchCompat.TranslateSet.add(tanslate);
-
- DebugLog.log(tanslate);
- DebugLog.log("Generate: " + RadioHatchCompat.rod + RadioHatchCompat.unlocalizedName.get(mats));
- }
- if (OreDictionary.getOres("stickLong" + RadioHatchCompat.unlocalizedName.get(mats))
- .isEmpty()) {
- Item it2 = c2.newInstance(mats);
- UniqueIdentifierMap.replace(it2, "miscutils:" + it2.getUnlocalizedName());
- GameRegistry.UniqueIdentifier ui2 = GameRegistry.findUniqueIdentifierFor(it2);
- ownerItems.replace(ui2, bartworks, gtpp);
+ for (Material mats : Material.mMaterialMap) {
+ if (!mats.isRadioactive) continue;
+
+ if (OreDictionary.getOres("stick" + mats.getUnlocalizedName())
+ .isEmpty()) {
+ Item itemRod = new BaseItemRod(mats);
+ UniqueIdentifierMap.replace(itemRod, "miscutils:" + itemRod.getUnlocalizedName());
+ GameRegistry.UniqueIdentifier ui = GameRegistry.findUniqueIdentifierFor(itemRod);
+ ownerItems.replace(ui, bartworks, gtpp);
+ String tanslate = itemRod.getUnlocalizedName() + ".name=" + mats.getLocalizedName() + " Rod";
+ RadioHatchCompat.TranslateSet.add(tanslate);
+ DebugLog.log(tanslate);
+ DebugLog.log("Generate: " + BaseItemComponent.ComponentTypes.ROD + mats.getUnlocalizedName());
+ }
- DebugLog
- .log("Generate: " + RadioHatchCompat.longRod + RadioHatchCompat.unlocalizedName.get(mats));
- }
+ if (OreDictionary.getOres("stickLong" + mats.getUnlocalizedName())
+ .isEmpty()) {
+ Item itemRodLong = new BaseItemRodLong(mats);
+ UniqueIdentifierMap.replace(itemRodLong, "miscutils:" + itemRodLong.getUnlocalizedName());
+ GameRegistry.UniqueIdentifier ui2 = GameRegistry.findUniqueIdentifierFor(itemRodLong);
+ ownerItems.replace(ui2, bartworks, gtpp);
+ DebugLog.log("Generate: " + BaseItemComponent.ComponentTypes.RODLONG + mats.getUnlocalizedName());
}
- }
- } catch (NoSuchFieldException | IllegalAccessException | NoSuchMethodException | InvocationTargetException
- | InstantiationException | ClassNotFoundException e) {
- e.printStackTrace();
- }
- }
- public static IRadMaterial GTppRadChecker(ItemStack lStack) {
- try {
- if (RadioHatchCompat.intf.isAssignableFrom(
- lStack.getItem()
- .getClass())) {
- if (!RadioHatchCompat.isRadioactive.getBoolean(RadioHatchCompat.f.get(lStack.getItem()))) return null;
- int amount = RadioHatchCompat.componentType.get(lStack.getItem())
- .equals(RadioHatchCompat.rod) ? 1
- : RadioHatchCompat.componentType.get(lStack.getItem())
- .equals(RadioHatchCompat.longRod) ? 2 : 0;
- if (amount == 0) return null;
- return new RadioHatchCompat.GTPPRadAdapter(amount, RadioHatchCompat.f.get(lStack.getItem()));
}
- } catch (IllegalAccessException e) {
+
+ } catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
- return null;
}
- static class GTPPRadAdapter implements IRadMaterial {
-
- static final HashMap<Object, Integer> BUFFER = new HashMap<>();
-
- GTPPRadAdapter(Object m) {
- this.m = m;
- }
-
- GTPPRadAdapter(int amount, Object m) {
- this.amount = (byte) amount;
- this.m = m;
- }
-
- byte amount;
- final Object m;
-
- private static ArrayList<?> getMaterialInput(Object GTPPMaterial) throws IllegalAccessException {
- Object ret = RadioHatchCompat.vMaterialInput.get(GTPPMaterial);
- return ret instanceof ArrayList ? (ArrayList<?>) ret : new ArrayList<>();
- }
-
- private static boolean isElement(Object GTPPMaterial) throws IllegalAccessException {
- return RadioHatchCompat.GTPPRadAdapter.getMaterialInput(GTPPMaterial)
- .isEmpty();
- }
-
- private static List<?> getElemets(Object GTPPMaterial) throws IllegalAccessException {
- ArrayList<Object> elements = new ArrayList<>();
- Queue<Object> toCheck = new LinkedList<>();
- ArrayList<?> materialInputs = RadioHatchCompat.GTPPRadAdapter.getMaterialInput(GTPPMaterial);
- if (materialInputs.isEmpty()) return Collections.singletonList(GTPPMaterial);
- for (Object materialStack : materialInputs) {
- if (!RadioHatchCompat.GTPPRadAdapter.isElement(RadioHatchCompat.stackMaterial.get(materialStack)))
- toCheck.add(RadioHatchCompat.stackMaterial.get(materialStack));
- else elements.add(RadioHatchCompat.stackMaterial.get(materialStack));
- }
- while (!toCheck.isEmpty()) {
- elements.addAll(GTPPRadAdapter.getElemets(toCheck.poll()));
- }
- return elements;
- }
-
- private static Integer calulateRad(Object m) {
- int ret = 0;
- try {
- List<?> pureElements = RadioHatchCompat.GTPPRadAdapter.getElemets(m);
- for (Object materialObj : pureElements) if (RadioHatchCompat.isRadioactive.getBoolean(materialObj))
- ret += RadioHatchCompat.radlevel.getByte(m)
- + RadioHatchCompat.GTPPRadAdapter.clampToZero(RadioHatchCompat.protons.getLong(materialObj));
- else ret += RadioHatchCompat.radlevel.getByte(m);
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- return ret;
- }
-
- @Override
- public int getRadiationLevel(ItemStack aStack) {
- return RadioHatchCompat.GTPPRadAdapter.BUFFER
- .computeIfAbsent(this.m, radlvl -> RadioHatchCompat.GTPPRadAdapter.calulateRad(this.m));
- }
-
- private static long clampToZero(long number) {
- return number > 0 ? number : 0;
- }
-
- @Override
- public byte getAmountOfMaterial(ItemStack aStack) {
- return this.amount;
- }
-
- @Override
- public short[] getColorForGUI(ItemStack aStack) {
- short[] rgba = { 0, 0, 0, 0 };
- try {
- rgba = (short[]) RadioHatchCompat.RGBA.get(this.m);
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- return rgba;
- }
-
- @Override
- public String getNameForGUI(ItemStack aStack) {
- String ret = "";
- try {
- ret = (String) RadioHatchCompat.localizedName.get(this.m);
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- return ret;
- }
- }
}
diff --git a/src/main/java/gregtech/api/GregTechAPI.java b/src/main/java/gregtech/api/GregTechAPI.java
index 6cabb8e04c..e10c773579 100644
--- a/src/main/java/gregtech/api/GregTechAPI.java
+++ b/src/main/java/gregtech/api/GregTechAPI.java
@@ -26,7 +26,6 @@ import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
@@ -47,10 +46,6 @@ import gregtech.api.interfaces.internal.IGTRecipeAdder;
import gregtech.api.interfaces.internal.IThaumcraftCompat;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IMachineBlockUpdateable;
-import gregtech.api.items.GTGenericItem;
-import gregtech.api.items.ItemCoolantCell;
-import gregtech.api.items.ItemCoolantCellIC;
-import gregtech.api.items.ItemTool;
import gregtech.api.metatileentity.BaseMetaTileEntity;
import gregtech.api.objects.GTCoverDefault;
import gregtech.api.objects.GTCoverNone;
@@ -287,20 +282,7 @@ public class GregTechAPI {
static {
sItemStackMappings.add(sCovers);
sItemStackMappings.add(sCoverBeha