diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-02-22 21:55:14 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-02-22 21:55:14 +1000 |
commit | a6c18435d4bd220bc96127ecc63e0ad8df0c8c6f (patch) | |
tree | 8d5e19bfffb7dc735a9d3b6919cb9b8d69b70724 /src/Java/gtPlusPlus/core | |
parent | cb2fe66fc1e0af40f23209398727faa08c330f20 (diff) | |
download | GT5-Unofficial-a6c18435d4bd220bc96127ecc63e0ad8df0c8c6f.tar.gz GT5-Unofficial-a6c18435d4bd220bc96127ecc63e0ad8df0c8c6f.tar.bz2 GT5-Unofficial-a6c18435d4bd220bc96127ecc63e0ad8df0c8c6f.zip |
+ Added config for the Large Extruder.
+ Added config for machine component assemblers.
+ Added recipes for Large Extruder and its casings.
% Changed default config value for custom circuits. It was true, now it is false.
$ Tweaked ASM class handling when conditions are not met.
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r-- | src/Java/gtPlusPlus/core/common/CommonProxy.java | 5 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/config/ConfigHandler.java | 11 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/ModItems.java | 9 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/lib/CORE.java | 3 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java | 18 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java | 91 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/util/sys/GeoUtils.java | 6 |
7 files changed, 115 insertions, 28 deletions
diff --git a/src/Java/gtPlusPlus/core/common/CommonProxy.java b/src/Java/gtPlusPlus/core/common/CommonProxy.java index 421a522945..f895cd60d9 100644 --- a/src/Java/gtPlusPlus/core/common/CommonProxy.java +++ b/src/Java/gtPlusPlus/core/common/CommonProxy.java @@ -75,14 +75,15 @@ public class CommonProxy { registerEntities(); Logger.INFO("[Proxy] Calling Tile Entity registrator."); registerTileEntities(); - Logger.INFO("[Proxy] Calling Render registrator."); - registerRenderThings(); //Moved from Init after Debug Loading. //29/01/18 - Alkalus ModItems.init(); ModBlocks.init(); CI.preInit(); + + Logger.INFO("[Proxy] Calling Render registrator."); + registerRenderThings(); } diff --git a/src/Java/gtPlusPlus/core/config/ConfigHandler.java b/src/Java/gtPlusPlus/core/config/ConfigHandler.java index a9fbec55de..02b2d0366a 100644 --- a/src/Java/gtPlusPlus/core/config/ConfigHandler.java +++ b/src/Java/gtPlusPlus/core/config/ConfigHandler.java @@ -47,8 +47,8 @@ public class ConfigHandler { boilerSteamPerSecond = config.getInt("boilerSteamPerSecond", "machines", 750, 0, 10000, "Sets the steam per second value in LV,MV,HV boilers (respectively 1x,2x,3x this number for the tiers)"); //Circuits - enableCustomCircuits = config.getBoolean("enableCustomCircuits", "gregtech", true, - "Adds custom circuits to expand past the Master Tier."); + enableCustomCircuits = config.getBoolean("enableCustomCircuits", "gregtech", false, + "Adds custom circuits to expand past the Master Tier. Only really recommended to enable if enableOldGTcircuits is enabled."); enableOldGTcircuits = config.getBoolean("enableOldGTcircuits", "gregtech", false, "Restores circuits and their recipes from Pre-5.09.28 times."); @@ -76,7 +76,9 @@ public class ConfigHandler { // Single machines enableMachine_SolarGenerators = config.getBoolean("enableSolarGenerators", "gregtech", - false, "These may be overpowered, Consult a local electrician."); + false, "These may be overpowered, Consult a local electrician."); + enableMachine_ComponentAssemblers = config.getBoolean("enableComponentAssemblers", "gregtech", + true, "These construct machine components."); enableMachine_Safes = config.getBoolean("enableMachineSafes", "gregtech", true, "These protect your goodies/rare stuff."); enableMachine_Dehydrators = config.getBoolean("enableMachineDehydrators", "gregtech", true, @@ -144,6 +146,9 @@ public class ConfigHandler { "gregtech", true, "Very fast and efficient Cutting Machine."); enableMultiblock_IndustrialFishingPort = config.getBoolean("enableMultiblock_IndustrialFishingPort", "gregtech", true, "Fish the seas, except on land."); + + enableMultiblock_IndustrialExtrudingMachine = config.getBoolean("enableMultiblock_IndustrialExtrudingMachine", + "gregtech", true, "Very fast and efficient Extruding Machine."); // Options rfPerEU = config.getInt("rfUsedPerEUForUniversalBatteries", "configurables", 4, 1, 1000, diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index c93353459e..5f85b1193a 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -50,7 +50,6 @@ import gtPlusPlus.core.item.general.throwables.ItemHydrofluoricAcidPotion; import gtPlusPlus.core.item.general.throwables.ItemSulfuricAcidPotion; import gtPlusPlus.core.item.init.ItemsFoods; import gtPlusPlus.core.item.init.ItemsMultiTools; -import gtPlusPlus.core.item.tool.misc.ConnectedBlockFinder; import gtPlusPlus.core.item.tool.misc.SandstoneHammer; import gtPlusPlus.core.item.tool.staballoy.MultiPickaxeBase; import gtPlusPlus.core.item.tool.staballoy.MultiSpadeBase; @@ -277,6 +276,10 @@ public final class ModItems { public static Item itemFiber; public static Item itemDragonJar; + + static { + Logger.INFO("Items!"); + } public static final void init(){ @@ -702,9 +705,9 @@ public final class ModItems { CoalTar.run(); //Only used for debugging. - if (CORE.DEVENV) { + /*if (CORE.DEVENV) { new ConnectedBlockFinder(); - } + }*/ //Misc Items @SuppressWarnings("unused") diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java index dd4b55f048..b40ea8b8f4 100644 --- a/src/Java/gtPlusPlus/core/lib/CORE.java +++ b/src/Java/gtPlusPlus/core/lib/CORE.java @@ -186,6 +186,7 @@ public class CORE { public static boolean enableMachine_Tesseracts = true; public static boolean enableMachine_SimpleWasher = true; public static boolean enableMachine_Pollution = true; + public static boolean enableMachine_ComponentAssemblers = false; public static boolean enableCustom_Pipes = true; public static boolean enableCustom_Cables = true; @@ -211,6 +212,7 @@ public class CORE { public static boolean enableMultiblock_ThermalBoiler = true; public static boolean enableMultiblock_IndustrialCuttingMachine = true; public static boolean enableMultiblock_IndustrialFishingPort = true; + public static boolean enableMultiblock_IndustrialExtrudingMachine = true; //Visuals public static boolean enableTreeFarmerParticles = true; @@ -220,6 +222,7 @@ public class CORE { + } public static class Everglades{ diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java index c380303e58..0a6e6afef8 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java @@ -144,6 +144,7 @@ public class RECIPES_Machines { public static ItemStack EV_MACHINE_Macerator; public static ItemStack EV_MACHINE_Cutter; public static ItemStack EV_MACHINE_MassFabricator; + public static ItemStack EV_MACHINE_Extruder; //Cables @@ -216,6 +217,7 @@ public class RECIPES_Machines { EV_MACHINE_MassFabricator= ItemList.Machine_EV_Massfab.get(1); EV_MACHINE_Centrifuge= ItemList.Machine_EV_Centrifuge.get(1); EV_MACHINE_Cutter = ItemList.Machine_EV_Cutter.get(1); + EV_MACHINE_Extruder = ItemList.Machine_EV_Extruder.get(1); } @@ -1101,6 +1103,22 @@ public class RECIPES_Machines { GregtechItemList.Industrial_CuttingFactoryController.get(1)); } + //EV_MACHINE_Extruder + if (CORE.ConfigSwitches.enableMultiblock_IndustrialExtrudingMachine){ + ItemStack plate = ALLOY.INCONEL_690.getPlate(1); + RecipeUtils.recipeBuilder( + plate, CI.craftingToolHammer_Hard, plate, + "plateTalonite", "frameGtStaballoy", "plateTalonite", + plate, CI.craftingToolWrench, plate, + GregtechItemList.Casing_Extruder.get(Casing_Amount)); + + RecipeUtils.recipeBuilder( + plate,CI.getTieredCircuit(4),plate, + CI.electricPiston_EV, EV_MACHINE_Extruder, CI.electricPiston_EV, + plate,CI.getTieredCircuit(4),plate, + GregtechItemList.Industrial_Extruder.get(1)); + } + if (CORE.ConfigSwitches.enableMultiblock_IndustrialFishingPort){ ItemStack plate = ALLOY.INCONEL_792.getPlate(1); RecipeUtils.recipeBuilder( diff --git a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java index 5642b4f3e9..62cb3f147e 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java @@ -1,7 +1,9 @@ package gtPlusPlus.core.util.minecraft; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier; @@ -254,31 +256,44 @@ public class ItemUtils { } public static ItemStack getItemStackOfAmountFromOreDict(final String oredictName, final int amount){ - String mTemp = oredictName; - //Banned Materials and replacements for GT5.8 compat. if (oredictName.toLowerCase().contains("rutile")){ mTemp = oredictName.replace("Rutile", "Titanium"); } if (oredictName.toLowerCase().contains("vanadiumsteel")){ mTemp = oredictName.replace("VanadiumSteel", "StainlessSteel"); - } + } - ItemStack mTempItem = getItemStackOfAmountFromOreDictNoBroken(mTemp, amount); - if (mTempItem != null) { - return mTempItem; + //Use Cache + if (mDustCache.containsKey(oredictName)) { + return getSimpleStack(mDustCache.get(oredictName), amount); + } + if (mOreDictCache.containsKey(mTemp)) { + return getCachedValue(mTemp, amount); } final ArrayList<ItemStack> oreDictList = OreDictionary.getOres(mTemp); if (!oreDictList.isEmpty()){ final ItemStack returnValue = oreDictList.get(0).copy(); returnValue.stackSize = amount; + setCachedValue(mTemp, returnValue); return returnValue; } + setCachedValue(oredictName, getSimpleStack(ModItems.AAA_Broken)); return getSimpleStack(ModItems.AAA_Broken, amount); } + private static Map<String, ItemStack> mOreDictCache = new HashMap(); + + private static ItemStack getCachedValue(String string, int amount) { + return getSimpleStack(mOreDictCache.get(string), amount); + } + + private static void setCachedValue(String string, ItemStack stack) { + mOreDictCache.put(string, stack); + } + public static ItemStack getItemStackOfAmountFromOreDictNoBroken(final String oredictName, final int amount){ if (CORE.DEBUG){ Logger.WARNING("Looking up: "+oredictName+" - from method: "+ReflectionUtils.getMethodName(1)); @@ -286,7 +301,17 @@ public class ItemUtils { Logger.WARNING("Looking up: "+oredictName+" - from method: "+ReflectionUtils.getMethodName(3)); Logger.WARNING("Looking up: "+oredictName+" - from method: "+ReflectionUtils.getMethodName(4)); Logger.WARNING("Looking up: "+oredictName+" - from method: "+ReflectionUtils.getMethodName(5)); + } + + //Use Cache + if (mDustCache.containsKey(oredictName)) { + return getSimpleStack(mDustCache.get(oredictName), amount); + } + if (mOreDictCache.containsKey(oredictName)) { + return getCachedValue(oredictName, amount); } + + try{ //Adds a check to grab dusts using GT methodology if possible. @@ -296,28 +321,26 @@ public class ItemUtils { final Materials m = Materials.get(MaterialName); returnValue = getGregtechDust(m, amount); if (returnValue != null){ + setCachedValue(oredictName, returnValue); return returnValue; } - else { - returnValue = getGregtechDust(oredictName, amount); - if (returnValue != null) { - return returnValue; - } - } } if (returnValue == null){ returnValue = getItemStackOfAmountFromOreDict(oredictName, amount); if (returnValue != null){ - if ((returnValue.getItem().getClass() != ModItems.AAA_Broken.getClass()) || (returnValue.getItem() != ModItems.AAA_Broken)){ + if ((returnValue.getItem().getClass() != ModItems.AAA_Broken.getClass()) || (returnValue.getItem() != ModItems.AAA_Broken)){ + setCachedValue(oredictName, returnValue); return returnValue.copy(); } } } Logger.WARNING(oredictName+" was not valid."); + setCachedValue(oredictName, null); return null; } catch (final Throwable t){ + setCachedValue(oredictName, null); return null; } } @@ -625,29 +648,50 @@ public class ItemUtils { return outputs; } - private static String getModId(final Item item) { + private static Map<Item, String> mModidCache = new HashMap<Item, String>(); + + private static String getModId(final Item item) { + if (mModidCache.containsKey(item)) { + return mModidCache.get(item); + } + String value = ""; try { final GameRegistry.UniqueIdentifier id = GameRegistry.findUniqueIdentifierFor(item); - final String modname = (id.modId == null ? id.name : id.modId); - return (id == null) || id.modId.equals("") ? "minecraft" : modname; + if (id != null) { + final String modname = (id.modId == null ? id.name : id.modId); + value = ((id == null) || id.modId.equals("")) ? "minecraft" : modname; + } } catch (final Throwable t){ try { final UniqueIdentifier t2 = GameRegistry.findUniqueIdentifierFor(Block.getBlockFromItem(item)); - final String modname = (t2.modId == null ? t2.name : t2.modId); - return (t2 == null) || t2.modId.equals("") ? "minecraft" : modname; + if (t2 != null) { + final String modname = (t2.modId == null ? t2.name : t2.modId); + value = ((t2 == null) || t2.modId.equals("")) ? "minecraft" : modname; + } } catch (final Throwable t3){ - return "bad modid"; + value = "bad modid"; } } + if (!mModidCache.containsKey(item)) { + return mModidCache.put(item, value); + } + return value; } public static String getModId(final ItemStack key) { return getModId(key.getItem()); } + private static Map<String, ItemStack> mDustCache = new HashMap<String, ItemStack>(); + //Take 2 - GT/GT++ Dusts public static ItemStack getGregtechDust(final String oredictName, final int amount){ + + if (mDustCache.containsKey(oredictName)) { + return getSimpleStack(mDustCache.get(oredictName), amount); + } + final ArrayList<ItemStack> oreDictList = OreDictionary.getOres(oredictName); if (!oreDictList.isEmpty()){ ItemStack returnvalue; @@ -655,6 +699,7 @@ public class ItemUtils { final String modid = getModId(oreDictList.get(xrc).getItem()); if (modid.equals("gregtech") || modid.equals(CORE.MODID)){ returnvalue = oreDictList.get(xrc).copy(); + mDustCache.put(oredictName, returnvalue); returnvalue.stackSize = amount; return returnvalue; } @@ -665,6 +710,11 @@ public class ItemUtils { //Anything But Tinkers Dust public static ItemStack getNonTinkersDust(final String oredictName, final int amount){ + + if (mDustCache.containsKey(oredictName)) { + return getSimpleStack(mDustCache.get(oredictName), amount); + } + final ArrayList<ItemStack> oreDictList = OreDictionary.getOres(oredictName); if (!oreDictList.isEmpty()){ ItemStack returnvalue; @@ -672,6 +722,7 @@ public class ItemUtils { final String modid = getModId(oreDictList.get(xrc).getItem()); if (!modid.equals("tconstruct")){ returnvalue = oreDictList.get(xrc).copy(); + mDustCache.put(oredictName, returnvalue); returnvalue.stackSize = amount; return returnvalue; } @@ -694,7 +745,7 @@ public class ItemUtils { //Utils.LOG_INFO("[Component Maker] Found "+mItemName+"."); return (gregstack); } - + public static ItemStack getOrePrefixStack(OrePrefixes mPrefix, Material mMat, int mAmount) { diff --git a/src/Java/gtPlusPlus/core/util/sys/GeoUtils.java b/src/Java/gtPlusPlus/core/util/sys/GeoUtils.java index ae3e6242ed..3f465aa30f 100644 --- a/src/Java/gtPlusPlus/core/util/sys/GeoUtils.java +++ b/src/Java/gtPlusPlus/core/util/sys/GeoUtils.java @@ -6,10 +6,12 @@ import java.net.*; import org.apache.http.client.utils.URIBuilder; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; public class GeoUtils { public static String determineUsersCountry(){ + if (!CORE.DEBUG && !CORE.DEVENV) { try { if (NetworkUtils.checkNetworkIsAvailableWithValidInterface()){ return getUsersCountry(); @@ -21,6 +23,10 @@ public class GeoUtils { Logger.INFO("Failed to initialise GeoUtils."); return "Failed."; } + } + else { + return "Debug/Dev"; + } } private static String getUsersIPAddress() { |