diff options
Diffstat (limited to 'src/main/java/gregtech/api/util/GT_Utility.java')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_Utility.java | 125 |
1 files changed, 30 insertions, 95 deletions
diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java index b998bbbb38..65357e2f37 100644 --- a/src/main/java/gregtech/api/util/GT_Utility.java +++ b/src/main/java/gregtech/api/util/GT_Utility.java @@ -305,19 +305,28 @@ public class GT_Utility { } 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(GT_Log.err); + } + return aReplacementObject; + } + + public static Object callConstructor(Class<?> aClass, int aConstructorIndex, Object aReplacementObject, boolean aLogErrors, Object... aParameters) { if (aConstructorIndex < 0) { try { - for (Constructor tConstructor : Class.forName(aClass).getConstructors()) { + for (Constructor<?> tConstructor : aClass.getConstructors()) { try { return tConstructor.newInstance(aParameters); - } catch (Throwable e) {/*Do nothing*/} + } catch (Throwable ignored) {} } } catch (Throwable e) { if (aLogErrors) e.printStackTrace(GT_Log.err); } } else { try { - return Class.forName(aClass).getConstructors()[aConstructorIndex].newInstance(aParameters); + return aClass.getConstructors()[aConstructorIndex].newInstance(aParameters); } catch (Throwable e) { if (aLogErrors) e.printStackTrace(GT_Log.err); } @@ -1445,7 +1454,11 @@ public class GT_Utility { public static int stackToInt(ItemStack aStack) { if (isStackInvalid(aStack)) return 0; - return Item.getIdFromItem(aStack.getItem()) | (Items.feather.getDamage(aStack) << 16); + return itemToInt(aStack.getItem(), Items.feather.getDamage(aStack)); + } + + public static int itemToInt(Item aItem, int aMeta) { + return Item.getIdFromItem(aItem) | (aMeta << 16); } public static int stackToWildcard(ItemStack aStack) { @@ -1945,15 +1958,7 @@ public class GT_Utility { */ public static ItemStack loadItem(NBTTagCompound aNBT) { if (aNBT == null) return null; - ItemStack rStack = ItemStack.loadItemStackFromNBT(aNBT); - try { - if (rStack != null && (rStack.getItem().getClass().getName().startsWith("ic2.core.migration"))) { - rStack.getItem().onUpdate(rStack, DW, null, 0, false); - } - } catch (Throwable e) { - e.printStackTrace(GT_Log.err); - } - return GT_OreDictUnificator.get(true, rStack); + return GT_OreDictUnificator.get(true, ItemStack.loadItemStackFromNBT(aNBT)); } /** @@ -2039,20 +2044,6 @@ public class GT_Utility { return !GregTech_API.sDimensionalList.contains(aDimensionID) && DimensionManager.isDimensionRegistered(aDimensionID); } - //public static boolean isRealDimension(int aDimensionID) { - // try { - // if (DimensionManager.getProvider(aDimensionID).getClass().getName().contains("com.xcompwiz.mystcraft")) - // return true; - // } catch (Throwable e) {/*Do nothing*/} - // try { - // if (DimensionManager.getProvider(aDimensionID).getClass().getName().contains("TwilightForest")) return true; - // } catch (Throwable e) {/*Do nothing*/} - // try { - // if (DimensionManager.getProvider(aDimensionID).getClass().getName().contains("galacticraft")) return true; - // } catch (Throwable e) {/*Do nothing*/} - // return GregTech_API.sDimensionalList.contains(aDimensionID); - //} - public static boolean moveEntityToDimensionAtCoords(Entity entity, int aDimension, double aX, double aY, double aZ) { //Credit goes to BrandonCore Author :!: @@ -2156,7 +2147,7 @@ public class GT_Utility { TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - Block tBlock = aWorld.getBlock(aX, aY, aZ); + final Block tBlock = aWorld.getBlock(aX, aY, aZ); tList.add( "----- X: " + EnumChatFormatting.AQUA + formatNumbers(aX) + EnumChatFormatting.RESET + @@ -2184,7 +2175,7 @@ public class GT_Utility { try { if (tTileEntity instanceof IFluidHandler) { rEUAmount += 500; - FluidTankInfo[] tTanks = ((IFluidHandler) tTileEntity).getTankInfo(ForgeDirection.getOrientation(aSide)); + final FluidTankInfo[] tTanks = ((IFluidHandler) tTileEntity).getTankInfo(ForgeDirection.getOrientation(aSide)); if (tTanks != null) for (byte i = 0; i < tTanks.length; i++) { tList.add( GT_Utility.trans("167","Tank ") + i + ": " + @@ -2218,7 +2209,7 @@ public class GT_Utility { } try { if (tTileEntity instanceof IAlignmentProvider) { - IAlignment tAlignment = ((IAlignmentProvider) tTileEntity).getAlignment(); + final IAlignment tAlignment = ((IAlignmentProvider) tTileEntity).getAlignment(); if (tAlignment != null) { rEUAmount += 100; tList.add(GT_Utility.trans("219", "Extended Facing: ") + EnumChatFormatting.GREEN + tAlignment.getExtendedFacing() + EnumChatFormatting.RESET); @@ -2237,32 +2228,6 @@ public class GT_Utility { if (D1) e.printStackTrace(GT_Log.err); } try { - if (tTileEntity instanceof ic2.api.energy.tile.IEnergyTile) { - rEUAmount += 200; - //aList.add(((ic2.api.energy.tile.IEnergyTile)tTileEntity).isAddedToEnergyNet()?"Added to E-net":"Not added to E-net! Bug?"); - } - } catch (Throwable e) { - if (D1) e.printStackTrace(GT_Log.err); - } - try { - if (tTileEntity instanceof ic2.api.energy.tile.IEnergySink) { - rEUAmount += 400; - //aList.add("Demanded Energy: " + ((ic2.api.energy.tile.IEnergySink)tTileEntity).demandsEnergy()); - //tList.add("Max Safe Input: " + getTier(((ic2.api.energy.tile.IEnergySink)tTileEntity).getSinkTier())); - //tList.add("Max Safe Input: " + ((ic2.api.energy.tile.IEnergySink)tTileEntity).getMaxSafeInput()); - } - } catch (Throwable e) { - if (D1) e.printStackTrace(GT_Log.err); - } - try { - if (tTileEntity instanceof ic2.api.energy.tile.IEnergySource) { - rEUAmount += 400; - //aList.add("Max Energy Output: " + ((ic2.api.energy.tile.IEnergySource)tTileEntity).getMaxEnergyOutput()); - } - } catch (Throwable e) { - if (D1) e.printStackTrace(GT_Log.err); - } - try { if (tTileEntity instanceof ic2.api.energy.tile.IEnergyConductor) { rEUAmount += 200; tList.add(GT_Utility.trans("175","Conduction Loss: ") + EnumChatFormatting.YELLOW + ((ic2.api.energy.tile.IEnergyConductor) tTileEntity).getConductionLoss() + EnumChatFormatting.RESET); @@ -2276,7 +2241,6 @@ public class GT_Utility { tList.add( GT_Utility.trans("176","Contained Energy: ") + EnumChatFormatting.YELLOW + formatNumbers(((ic2.api.tile.IEnergyStorage) tTileEntity).getStored()) + EnumChatFormatting.RESET + " EU / " + EnumChatFormatting.YELLOW + formatNumbers(((ic2.api.tile.IEnergyStorage) tTileEntity).getCapacity()) + EnumChatFormatting.RESET + " EU"); - //aList.add(((ic2.api.tile.IEnergyStorage)tTileEntity).isTeleporterCompatible(ic2.api.Direction.YP)?"Teleporter Compatible":"Not Teleporter Compatible"); } } catch (Throwable e) { if (D1) e.printStackTrace(GT_Log.err); @@ -2309,7 +2273,7 @@ public class GT_Utility { try { if (tTileEntity instanceof ICoverable) { rEUAmount += 300; - String tString = ((ICoverable) tTileEntity).getCoverBehaviorAtSideNew((byte) aSide).getDescription((byte) aSide, ((ICoverable) tTileEntity).getCoverIDAtSide((byte) aSide), ((ICoverable) tTileEntity).getComplexCoverDataAtSide((byte) aSide), (ICoverable) tTileEntity); + final String tString = ((ICoverable) tTileEntity).getCoverBehaviorAtSideNew((byte) aSide).getDescription((byte) aSide, ((ICoverable) tTileEntity).getCoverIDAtSide((byte) aSide), ((ICoverable) tTileEntity).getComplexCoverDataAtSide((byte) aSide), (ICoverable) tTileEntity); if (tString != null && !tString.equals(E)) tList.add(tString); } } catch (Throwable e) { @@ -2347,7 +2311,7 @@ public class GT_Utility { try { if (tTileEntity instanceof ic2.api.crops.ICropTile) { rEUAmount += 1000; - ic2.api.crops.ICropTile crop = (ic2.api.crops.ICropTile) tTileEntity; + final ic2.api.crops.ICropTile crop = (ic2.api.crops.ICropTile) tTileEntity; if (crop.getScanLevel() < 4) crop.setScanLevel((byte) 4); if (crop.getCrop() != null) { @@ -2367,11 +2331,11 @@ public class GT_Utility { + GT_Utility.trans("197"," Air-Quality: ") + crop.getAirQuality() ); if (crop.getCrop() != null) { - StringBuilder tStringB = new StringBuilder(); + final StringBuilder tStringB = new StringBuilder(); for (String tAttribute : crop.getCrop().attributes()) { tStringB.append(", ").append(tAttribute); } - String tString = tStringB.toString(); + final String tString = tStringB.toString(); tList.add(GT_Utility.trans("198","Attributes:") + tString.replaceFirst(",", E)); tList.add(GT_Utility.trans("199","Discovered by: ") + crop.getCrop().discoveredBy()); } @@ -2381,9 +2345,9 @@ public class GT_Utility { } } - Chunk currentChunk = aWorld.getChunkFromBlockCoords(aX, aZ); + final Chunk currentChunk = aWorld.getChunkFromBlockCoords(aX, aZ); if (aPlayer.capabilities.isCreativeMode) { - FluidStack tFluid = undergroundOilReadInformation(currentChunk);//-# to only read + final FluidStack tFluid = undergroundOilReadInformation(currentChunk);//-# to only read if (tFluid!=null) tList.add(EnumChatFormatting.GOLD + tFluid.getLocalizedName() + EnumChatFormatting.RESET + ": " + EnumChatFormatting.YELLOW + formatNumbers(tFluid.amount) + EnumChatFormatting.RESET + " L"); else @@ -2399,14 +2363,14 @@ public class GT_Utility { try { if (tBlock instanceof IDebugableBlock) { rEUAmount += 500; - ArrayList<String> temp = ((IDebugableBlock) tBlock).getDebugInfo(aPlayer, aX, aY, aZ, 3); + final ArrayList<String> temp = ((IDebugableBlock) tBlock).getDebugInfo(aPlayer, aX, aY, aZ, 3); if (temp != null) tList.addAll(temp); } } catch (Throwable e) { if (D1) e.printStackTrace(GT_Log.err); } - BlockScanningEvent tEvent = new BlockScanningEvent(aWorld, aPlayer, aX, aY, aZ, (byte) aSide, aScanLevel, tBlock, tTileEntity, tList, aClickX, aClickY, aClickZ); + final BlockScanningEvent tEvent = new BlockScanningEvent(aWorld, aPlayer, aX, aY, aZ, (byte) aSide, aScanLevel, tBlock, tTileEntity, tList, aClickX, aClickY, aClickZ); tEvent.mEUCost = rEUAmount; MinecraftForge.EVENT_BUS.post(tEvent); if (!tEvent.isCanceled()) aList.addAll(tList); @@ -3055,35 +3019,9 @@ public class GT_Utility { public static Optional<GT_Recipe> reverseShapedRecipe(ItemStack output, Object... aRecipe) { if (output == null) { -// System.out.println("Null Recipe detected!"); return Optional.empty(); } -// System.out.println("Registering Reverse Recipe for: " + GT_LanguageManager.getTranslation(GT_LanguageManager.getTranslateableItemStackName(output) + "|" + output.getUnlocalizedName())); -// for (Object o : aRecipe) { -// String toPrint; -// if (o instanceof String) { -// toPrint = (String) o; -// toPrint += " String"; -// } else if (o instanceof ItemStack) { -// toPrint = GT_LanguageManager.getTranslation(GT_LanguageManager.getTranslateableItemStackName((ItemStack) o)); -// toPrint += " ItemStack"; -// } else if (o instanceof List) { -// toPrint = String.join(", ", ((List<String>) o)); -// toPrint += " List<String>"; -// } else if (o instanceof Item) { -// toPrint = GT_LanguageManager.getTranslation(GT_LanguageManager.getTranslateableItemStackName(new ItemStack((Item) o))); -// toPrint += " Item"; -// } else if (o instanceof Block) { -// toPrint = GT_LanguageManager.getTranslation(GT_LanguageManager.getTranslateableItemStackName(new ItemStack((Block) o))); -// toPrint += " Block"; -// } else if (o != null) { -// toPrint = o.toString(); -// toPrint += " Other"; -// } else { -// toPrint = "NULL"; -// } -// System.out.println(toPrint); -// } + Map<Object, Integer> recipeAsMap = new HashMap<>(); Map<Character, Object> ingridients = new HashMap<>(); Map<Character, Integer> amounts = new HashMap<>(); @@ -3115,7 +3053,6 @@ public class GT_Utility { toAdd.stackSize = amount; inputs.add(toAdd); } else if (o.getKey() instanceof String) { -// System.out.println("Found OreDictEntry: "+o.getKey()); final String dictName = (String) o.getKey(); // Do not register tools dictName in inputs if (ToolDictNames.contains(dictName)) continue; @@ -3129,8 +3066,6 @@ public class GT_Utility { copy.stackSize = amount; inputs.add(copy); } -// else -// System.out.println("OreDict Entry "+o.getKey()+" couldn't be found!"); } else { ItemStack copy = stack.copy(); copy.stackSize = amount; |