From 482ac5d06ccaa1e553f0d8d0345a95f173d41160 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 11 Dec 2017 04:42:42 +0100 Subject: Merge GTNH features and changes (#160) + GTNH full compat mode. + Added boiler config, recipes changes and minor tweaks. $ Fix nbtutuls. $ Tree farm fixes. % Pipe and cable rendering tweaks. --- src/Java/gtPlusPlus/core/lib/CORE.java | 451 +++++++++++---------- .../gtPlusPlus/core/recipe/RECIPES_GREGTECH.java | 345 ++++++++-------- .../gtPlusPlus/core/recipe/RECIPES_General.java | 36 +- .../gtPlusPlus/core/recipe/RECIPES_Machines.java | 19 +- src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java | 10 +- 5 files changed, 446 insertions(+), 415 deletions(-) (limited to 'src/Java/gtPlusPlus/core') diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java index 8fa77c80d8..eecc916f1f 100644 --- a/src/Java/gtPlusPlus/core/lib/CORE.java +++ b/src/Java/gtPlusPlus/core/lib/CORE.java @@ -1,226 +1,231 @@ -package gtPlusPlus.core.lib; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Random; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; - -import com.mojang.authlib.GameProfile; - -import gregtech.api.GregTech_API; -import gtPlusPlus.api.analytics.SegmentAnalytics; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.array.Pair; -import gtPlusPlus.core.util.geo.GeoUtils; -import gtPlusPlus.core.util.gregtech.recipehandlers.GregtechRecipe; -import gtPlusPlus.core.util.networking.NetworkUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; -import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder; -import gtPlusPlus.xmod.gregtech.api.objects.XSTR; -import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; -import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractGenerator; -import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractTerminal; -import net.minecraft.item.ItemStack; -import net.minecraft.server.management.PlayerProfileCache; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.common.config.Configuration; - -public class CORE { - - //import cpw.mods.fml.common.Optional; - - - - //Analytics handler +package gtPlusPlus.core.lib; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; + +import com.mojang.authlib.GameProfile; + +import gregtech.api.GregTech_API; +import gtPlusPlus.api.analytics.SegmentAnalytics; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.util.array.Pair; +import gtPlusPlus.core.util.geo.GeoUtils; +import gtPlusPlus.core.util.gregtech.recipehandlers.GregtechRecipe; +import gtPlusPlus.core.util.networking.NetworkUtils; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; +import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder; +import gtPlusPlus.xmod.gregtech.api.objects.XSTR; +import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; +import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractGenerator; +import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractTerminal; +import net.minecraft.item.ItemStack; +import net.minecraft.server.management.PlayerProfileCache; +import net.minecraft.util.EnumChatFormatting; +import net.minecraftforge.common.config.Configuration; + +public class CORE { + + //import cpw.mods.fml.common.Optional; + + + + //Analytics handler public static SegmentAnalytics mAnalytics; - - public static Map PlayerCache; - - //Math Related - public static final float PI = (float) Math.PI; - public static volatile Random RANDOM = new XSTR(); - //Env. Variables + + public static Map PlayerCache; + + //Math Related + public static final float PI = (float) Math.PI; + public static volatile Random RANDOM = new XSTR(); + + //Env. Variables public static Configuration Config; - - public static boolean DEVENV = false; - public static boolean DEBUG = false; - public static boolean mFancyGraphics; - //Only can be set in Dev, no config or setting elsewhere. - public static final boolean LOAD_ALL_CONTENT = false;; + + public static boolean DEVENV = false; + public static boolean DEBUG = false; + public static boolean mFancyGraphics; + //Only can be set in Dev, no config or setting elsewhere. + public static final boolean LOAD_ALL_CONTENT = false;; + //Mod Variables - - public static final String name = "GT++"; - public static final String MODID = "miscutils"; - public static final String VERSION = "1.6.99-release"; - public static String MASTER_VERSION = NetworkUtils.getContentFromURL("https://raw.githubusercontent.com/draknyte1/GTplusplus/master/Recommended.txt").toLowerCase(); - public static String USER_COUNTRY = GeoUtils.determineUsersCountry(); - public static boolean isModUpToDate = Utils.isModUpToDate(); - - //Tweakables - public static int DARKBIOME_ID = 238; - - //GT Vars; - public static final int GREG_FIRST_ID = 760; - public static final boolean MAIN_GREGTECH_5U_EXPERIMENTAL_FORK = Meta_GT_Proxy.areWeUsingGregtech5uExperimental(); - public static final int GREGTECH_API_VERSION = GregTech_API.VERSION; - public static IGregtech_RecipeAdder RA; - - //Local Client Player, null if Server Side - public static GameProfile mLocalProfile; - //GT++ Fake Player Profile - public static GameProfile gameProfile = new GameProfile(UUID.nameUUIDFromBytes("gtplusplus.core".getBytes()), "[GT++]"); ; //Tooltips; - public static final String GT_Tooltip = "Added by: " + EnumChatFormatting.DARK_GREEN+"Alkalus "+EnumChatFormatting.GRAY+"- "+EnumChatFormatting.RED+"[GT++]"; - public static final String GT_Tooltip_Radioactive = EnumChatFormatting.GRAY+"Warning: "+EnumChatFormatting.GREEN+"Radioactive! "+EnumChatFormatting.GOLD+" Avoid direct handling without hazmat protection."; - public static final String noItem = ""; - - //Because I want to be lazy Gregtech New Horizons Var. - public static boolean GTNH = false; - //Because I want to be lazy. Beyond Reality Classic Var. - public static boolean BRC = false; - - - - /** - * Lists/Maps - */ - //Burnables List - public static List> burnables = new ArrayList>(); - - - //TesseractMapss - public static final Map> sTesseractGeneratorOwnershipMap = new HashMap>(); - public static final Map> sTesseractTerminalOwnershipMap = new HashMap>(); - - //BookMapt - public static final Map sBookList = new ConcurrentHashMap(); - - - - - /** - * Some Gregtech Material and Recipe Variables - */ - - @Deprecated - public static IGregtech_RecipeAdder sRecipeAdder; - public static GregtechRecipe GT_Recipe = new GregtechRecipe(); - public static final GT_Materials[] sMU_GeneratedMaterials = new GT_Materials[1000]; - - /** - * File Paths and Resource Paths - */ - - public static final String - TEX_DIR = "textures/", - TEX_DIR_GUI = TEX_DIR + "gui/", - TEX_DIR_ITEM = TEX_DIR + "items/", - TEX_DIR_BLOCK = TEX_DIR + "blocks/", - TEX_DIR_ENTITY = TEX_DIR + "entity/", - TEX_DIR_ASPECTS = TEX_DIR + "aspects/", - TEX_DIR_FLUIDS = TEX_DIR_BLOCK + "fluids/", - RES_PATH = MODID + ":" + TEX_DIR, - RES_PATH_GUI = MODID + ":" + TEX_DIR_GUI, - RES_PATH_ITEM = MODID + ":" + TEX_DIR_ITEM, - RES_PATH_BLOCK = MODID + ":" + TEX_DIR_BLOCK, - RES_PATH_ENTITY = MODID + ":" + TEX_DIR_ENTITY, - RES_PATH_ASPECTS = MODID + ":" + TEX_DIR_ASPECTS, - RES_PATH_FLUIDS = MODID + ":" + TEX_DIR_FLUIDS; - - - - - - - - - - - - /* - * Config Switch Class - */ - - public static class ConfigSwitches { - - //Updates - public static boolean enableUpdateChecker = true; - - //Debug - public static boolean disableEnderIOIntegration = false; - public static boolean MACHINE_INFO = true; - public static boolean showHiddenNEIItems = false; - - //Tools - public static boolean enableSkookumChoochers = true; - public static boolean enableMultiSizeTools = true; - - //Block Drops - public static int chanceToDropDrainedShard = 196; - public static int chanceToDropFluoriteOre = 32; - - //Machine Related - public static boolean enableAlternativeBatteryAlloy = false; - public static boolean enableThaumcraftShardUnification = false; - public static boolean disableIC2Recipes = false; - public static boolean enableAlternativeDivisionSigilRecipe = false; - public static int boilerSteamPerSecond = 750; - - //Feature Related - public static boolean enableCustomCapes = false; - public static boolean enableCustomCircuits = true; - public static boolean enableOldGTcircuits = false; - public static boolean disableZombieReinforcement = false; - - //GT Fixes - public static boolean enableNitroFix = false; - - //Single Block Machines - public static boolean enableMachine_SolarGenerators = false; - public static boolean enableMachine_Safes = true; - public static boolean enableMachine_Dehydrators = true; - public static boolean enableMachine_SteamConverter = true; - public static boolean enableMachine_FluidTanks = true; - public static boolean enableMachine_RocketEngines = true; - public static boolean enableMachine_GeothermalEngines = true; - public static boolean enableMachine_WorldAccelerators = true; - public static boolean enableMachine_Tesseracts = true; - public static boolean enableMachine_SimpleWasher = true; - public static boolean enableMachine_Pollution = true; - public static boolean enableCustom_Pipes = true; - public static boolean enableCustom_Cables = true; - - //Multiblocks - public static boolean enableMultiblock_AlloyBlastSmelter = true; - public static boolean enableMultiblock_IndustrialCentrifuge = true; - public static boolean enableMultiblock_IndustrialCokeOven = true; - public static boolean enableMultiblock_IndustrialElectrolyzer = true; - public static boolean enableMultiblock_IndustrialMacerationStack = true; - public static boolean enableMultiblock_IndustrialPlatePress = true; - public static boolean enableMultiblock_IndustrialWireMill = true; - public static boolean enableMultiblock_IronBlastFurnace = true; - public static boolean enableMultiblock_MatterFabricator = true; - public static boolean enableMultiblock_MultiTank = true; - public static boolean enableMultiblock_PowerSubstation = true; - public static boolean enableMultiblock_LiquidFluorideThoriumReactor = true; - public static boolean enableMultiblock_NuclearFuelRefinery = true; - public static boolean enableMultiblock_TreeFarmer = true; - public static boolean enableMultiblock_IndustrialSifter = true; - public static boolean enableMultiblock_IndustrialThermalCentrifuge = true; - public static boolean enableMultiblock_IndustrialWashPlant = true; - public static boolean enableMultiblock_LargeAutoCrafter = true; - public static boolean enableMultiblock_ThermalBoiler = true; - public static boolean enableMultiblock_IndustrialCuttingMachine = true; - - //Visuals - public static boolean enableTreeFarmerParticles = true; - public static boolean useGregtechTextures = true; - - - - - } - -} + + public static final String name = "GT++"; + public static final String MODID = "miscutils"; + public static final String VERSION = "1.6.99-release"; + public static String MASTER_VERSION = NetworkUtils.getContentFromURL("https://raw.githubusercontent.com/draknyte1/GTplusplus/master/Recommended.txt").toLowerCase(); + public static String USER_COUNTRY = GeoUtils.determineUsersCountry(); + public static boolean isModUpToDate = Utils.isModUpToDate(); + + //Tweakables + public static int DARKBIOME_ID = 238; + + //GT Vars; + public static final int GREG_FIRST_ID = 760; + public static final boolean MAIN_GREGTECH_5U_EXPERIMENTAL_FORK = Meta_GT_Proxy.areWeUsingGregtech5uExperimental(); + public static final int GREGTECH_API_VERSION = GregTech_API.VERSION; + public static IGregtech_RecipeAdder RA; + + //Local Client Player, null if Server Side + public static GameProfile mLocalProfile; + //GT++ Fake Player Profile + public static GameProfile gameProfile = new GameProfile(UUID.nameUUIDFromBytes("gtplusplus.core".getBytes()), "[GT++]"); + ; + //Tooltips; + public static final String GT_Tooltip = "Added by: " + EnumChatFormatting.DARK_GREEN+"Alkalus "+EnumChatFormatting.GRAY+"- "+EnumChatFormatting.RED+"[GT++]"; + public static final String GT_Tooltip_Radioactive = EnumChatFormatting.GRAY+"Warning: "+EnumChatFormatting.GREEN+"Radioactive! "+EnumChatFormatting.GOLD+" Avoid direct handling without hazmat protection."; + public static final String noItem = ""; + + //Because I want to be lazy Gregtech New Horizons Var. + public static boolean GTNH = false; + //Because I want to be lazy. Beyond Reality Classic Var. + public static boolean BRC = false; + + + + /** + * Lists/Maps + */ + + //Burnables List + public static List> burnables = new ArrayList>(); + + + //TesseractMapss + public static final Map> sTesseractGeneratorOwnershipMap = new HashMap>(); + public static final Map> sTesseractTerminalOwnershipMap = new HashMap>(); + + //BookMapt + public static final Map sBookList = new ConcurrentHashMap(); + + + + + /** + * Some Gregtech Material and Recipe Variables + */ + + @Deprecated + public static IGregtech_RecipeAdder sRecipeAdder; + public static GregtechRecipe GT_Recipe = new GregtechRecipe(); + public static final GT_Materials[] sMU_GeneratedMaterials = new GT_Materials[1000]; + + /** + * File Paths and Resource Paths + */ + + public static final String + TEX_DIR = "textures/", + TEX_DIR_GUI = TEX_DIR + "gui/", + TEX_DIR_ITEM = TEX_DIR + "items/", + TEX_DIR_BLOCK = TEX_DIR + "blocks/", + TEX_DIR_ENTITY = TEX_DIR + "entity/", + TEX_DIR_ASPECTS = TEX_DIR + "aspects/", + TEX_DIR_FLUIDS = TEX_DIR_BLOCK + "fluids/", + RES_PATH = MODID + ":" + TEX_DIR, + RES_PATH_GUI = MODID + ":" + TEX_DIR_GUI, + RES_PATH_ITEM = MODID + ":" + TEX_DIR_ITEM, + RES_PATH_BLOCK = MODID + ":" + TEX_DIR_BLOCK, + RES_PATH_ENTITY = MODID + ":" + TEX_DIR_ENTITY, + RES_PATH_ASPECTS = MODID + ":" + TEX_DIR_ASPECTS, + RES_PATH_FLUIDS = MODID + ":" + TEX_DIR_FLUIDS; + + + + + + + + + + + + /* + * Config Switch Class + */ + + public static class ConfigSwitches { + + //Updates + public static boolean enableUpdateChecker = true; + + //Debug + public static boolean disableEnderIOIntegration = false; + public static boolean MACHINE_INFO = true; + public static boolean showHiddenNEIItems = false; + + //Tools + public static boolean enableSkookumChoochers = true; + public static boolean enableMultiSizeTools = true; + + //Block Drops + public static int chanceToDropDrainedShard = 196; + public static int chanceToDropFluoriteOre = 32; + + //Machine Related + public static boolean enableAlternativeBatteryAlloy = false; + public static boolean enableThaumcraftShardUnification = false; + public static boolean disableIC2Recipes = false; + public static boolean enableAlternativeDivisionSigilRecipe = false; + public static int boilerSteamPerSecond = 750; + + //Feature Related + public static boolean enableCustomCapes = false; + public static boolean enableCustomCircuits = true; + public static boolean enableOldGTcircuits = false; + public static boolean disableZombieReinforcement = false; + + //GT Fixes + public static boolean enableNitroFix = false; + + //Single Block Machines + public static boolean enableMachine_SolarGenerators = false; + public static boolean enableMachine_Safes = true; + public static boolean enableMachine_Dehydrators = true; + public static boolean enableMachine_SteamConverter = true; + public static boolean enableMachine_FluidTanks = true; + public static boolean enableMachine_RocketEngines = true; + public static boolean enableMachine_GeothermalEngines = true; + public static boolean enableMachine_WorldAccelerators = true; + public static boolean enableMachine_Tesseracts = true; + public static boolean enableMachine_SimpleWasher = true; + public static boolean enableMachine_Pollution = true; + public static boolean enableCustom_Pipes = true; + public static boolean enableCustom_Cables = true; + + //Multiblocks + public static boolean enableMultiblock_AlloyBlastSmelter = true; + public static boolean enableMultiblock_IndustrialCentrifuge = true; + public static boolean enableMultiblock_IndustrialCokeOven = true; + public static boolean enableMultiblock_IndustrialElectrolyzer = true; + public static boolean enableMultiblock_IndustrialMacerationStack = true; + public static boolean enableMultiblock_IndustrialPlatePress = true; + public static boolean enableMultiblock_IndustrialWireMill = true; + public static boolean enableMultiblock_IronBlastFurnace = true; + public static boolean enableMultiblock_MatterFabricator = true; + public static boolean enableMultiblock_MultiTank = true; + public static boolean enableMultiblock_PowerSubstation = true; + public static boolean enableMultiblock_LiquidFluorideThoriumReactor = true; + public static boolean enableMultiblock_NuclearFuelRefinery = true; + public static boolean enableMultiblock_TreeFarmer = true; + public static boolean enableMultiblock_IndustrialSifter = true; + public static boolean enableMultiblock_IndustrialThermalCentrifuge = true; + public static boolean enableMultiblock_IndustrialWashPlant = true; + public static boolean enableMultiblock_LargeAutoCrafter = true; + public static boolean enableMultiblock_ThermalBoiler = true; + public static boolean enableMultiblock_IndustrialCuttingMachine = true; + + //Visuals + public static boolean enableTreeFarmerParticles = true; + public static boolean useGregtechTextures = true; + + + + + } + +} \ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index a333af99e7..de1812d05a 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -169,201 +169,204 @@ public class RECIPES_GREGTECH { 0, MathUtils.findPercentageOfInt(30*20, 80), 120); - - //HSS-G - CORE.RA.addBlastSmelterRecipe( - new ItemStack[]{ - ItemUtils.getGregtechCircuit(14), - ItemUtils.getItemStackOfAmountFromOreDict("dustTungstenSteel", 5), - ItemUtils.getItemStackOfAmountFromOreDict("dustVanadium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustMolybdenum", 2), - ItemUtils.getItemStackOfAmountFromOreDict("dustChrome", 1) - }, - FluidUtils.getFluidStack("molten.hssg", 9*144), - 0, - MathUtils.findPercentageOfInt(450*20, 80), - 120); - - //HSS-G - CORE.RA.addBlastSmelterRecipe( - new ItemStack[]{ - ItemUtils.getGregtechCircuit(5), - ItemUtils.getItemStackOfAmountFromOreDict("dustTungsten", 5), - ItemUtils.getItemStackOfAmountFromOreDict("dustSteel", 5), - ItemUtils.getItemStackOfAmountFromOreDict("dustVanadium", 2), - ItemUtils.getItemStackOfAmountFromOreDict("dustMolybdenum", 4), - ItemUtils.getItemStackOfAmountFromOreDict("dustChrome", 2) - }, - FluidUtils.getFluidStack("molten.hssg", 18*144), - 0, - MathUtils.findPercentageOfInt(900*20, 80), - 120); - - //HSS-E - CORE.RA.addBlastSmelterRecipe( - new ItemStack[]{ - ItemUtils.getGregtechCircuit(14), - ItemUtils.getItemStackOfAmountFromOreDict("dustHSSG", 6), - ItemUtils.getItemStackOfAmountFromOreDict("dustCobalt", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustSilicon", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustManganese", 1) - }, - FluidUtils.getFluidStack("molten.hsse", 9*144), - 0, - MathUtils.findPercentageOfInt(540*20, 80), - 120); - - //HSS-S - CORE.RA.addBlastSmelterRecipe( - new ItemStack[]{ - ItemUtils.getGregtechCircuit(3), - ItemUtils.getItemStackOfAmountFromOreDict("dustHSSG", 6), - ItemUtils.getItemStackOfAmountFromOreDict("dustOsmium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustIridium", 2) - }, - FluidUtils.getFluidStack("molten.hsss", 9*144), - 0, - MathUtils.findPercentageOfInt(810*20, 80), - 120); - - //Osmiridium - CORE.RA.addBlastSmelterRecipe( - new ItemStack[]{ - ItemUtils.getGregtechCircuit(2), - ItemUtils.getItemStackOfAmountFromOreDict("dustIridium", 3), - ItemUtils.getItemStackOfAmountFromOreDict("dustOsmium", 1) - }, - Materials.Helium.getGas(1000), - FluidUtils.getFluidStack("molten.osmiridium", 4*144), - 0, - MathUtils.findPercentageOfInt(500*20, 80), - 1920); - - //Naq Alloy - CORE.RA.addBlastSmelterRecipe( - new ItemStack[]{ - ItemUtils.getGregtechCircuit(2), - ItemUtils.getItemStackOfAmountFromOreDict("dustNaquadah", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustOsmiridium", 1) - }, - Materials.Argon.getGas(1000), - FluidUtils.getFluidStack("molten.naquadahalloy", 2*144), - 0, - MathUtils.findPercentageOfInt(500*20, 80), - 30720); - - //Nickel-Zinc-Ferrite - if (Materials.get("NickelZincFerrite") != null){ + if (!CORE.GTNH) { + //HSS-G CORE.RA.addBlastSmelterRecipe( new ItemStack[]{ - ItemUtils.getGregtechCircuit(2), - ItemUtils.getItemStackOfAmountFromOreDict("dustFerriteMixture", 6) + ItemUtils.getGregtechCircuit(14), + ItemUtils.getItemStackOfAmountFromOreDict("dustTungstenSteel", 5), + ItemUtils.getItemStackOfAmountFromOreDict("dustVanadium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustMolybdenum", 2), + ItemUtils.getItemStackOfAmountFromOreDict("dustChrome", 1) }, - Materials.Oxygen.getGas(2000), - FluidUtils.getFluidStack("molten.nickelzincferrite", 2*144), + FluidUtils.getFluidStack("molten.hssg", 9 * 144), 0, - MathUtils.findPercentageOfInt(600*20, 80), + MathUtils.findPercentageOfInt(450 * 20, 80), 120); - } - //Gallium-Arsenide - if (Materials.get("GalliumArsenide") != null){ + //HSS-G CORE.RA.addBlastSmelterRecipe( new ItemStack[]{ - ItemUtils.getGregtechCircuit(2), - ItemUtils.getItemStackOfAmountFromOreDict("dustGallium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustArsenic", 1) + ItemUtils.getGregtechCircuit(5), + ItemUtils.getItemStackOfAmountFromOreDict("dustTungsten", 5), + ItemUtils.getItemStackOfAmountFromOreDict("dustSteel", 5), + ItemUtils.getItemStackOfAmountFromOreDict("dustVanadium", 2), + ItemUtils.getItemStackOfAmountFromOreDict("dustMolybdenum", 4), + ItemUtils.getItemStackOfAmountFromOreDict("dustChrome", 2) }, - FluidUtils.getFluidStack("molten.galliumarsenide", 2*144), + FluidUtils.getFluidStack("molten.hssg", 18 * 144), 0, - MathUtils.findPercentageOfInt(600*20, 80), + MathUtils.findPercentageOfInt(900 * 20, 80), 120); - } - //TungstenCarbide - if (Materials.get("TungstenCarbide") != null){ + //HSS-E CORE.RA.addBlastSmelterRecipe( new ItemStack[]{ - ItemUtils.getGregtechCircuit(12), - ItemUtils.getItemStackOfAmountFromOreDict("dustTungsten", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 1) + ItemUtils.getGregtechCircuit(14), + ItemUtils.getItemStackOfAmountFromOreDict("dustHSSG", 6), + ItemUtils.getItemStackOfAmountFromOreDict("dustCobalt", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSilicon", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustManganese", 1) }, - FluidUtils.getFluidStack("molten.tungstencarbide", 2*144), + FluidUtils.getFluidStack("molten.hsse", 9 * 144), 0, - MathUtils.findPercentageOfInt((int) Math.max(Materials.get("TungstenCarbide").getMass() / 40L, 1L) * Materials.get("TungstenCarbide").mBlastFurnaceTemp, 80), - 480); - } - + MathUtils.findPercentageOfInt(540 * 20, 80), + 120); - //Vanadium-Gallium - if (Materials.get("VanadiumGallium") != null){ + //HSS-S CORE.RA.addBlastSmelterRecipe( new ItemStack[]{ - ItemUtils.getGregtechCircuit(12), - ItemUtils.getItemStackOfAmountFromOreDict("dustGallium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustVanadium", 3) + ItemUtils.getGregtechCircuit(3), + ItemUtils.getItemStackOfAmountFromOreDict("dustHSSG", 6), + ItemUtils.getItemStackOfAmountFromOreDict("dustOsmium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustIridium", 2) }, - FluidUtils.getFluidStack("molten.vanadiumgallium", 4*144), + FluidUtils.getFluidStack("molten.hsss", 9 * 144), 0, - MathUtils.findPercentageOfInt((int) Math.max(Materials.VanadiumGallium.getMass() / 40L, 1L) * Materials.VanadiumGallium.mBlastFurnaceTemp, 80), - 480); - } + MathUtils.findPercentageOfInt(810 * 20, 80), + 120); - //EIO - //Dark Steel - if (ItemUtils.getItemStackOfAmountFromOreDict("dustElectricalSteel", 1) != ItemUtils.getSimpleStack(ModItems.AAA_Broken)){ + //Osmiridium CORE.RA.addBlastSmelterRecipe( new ItemStack[]{ ItemUtils.getGregtechCircuit(2), - ItemUtils.getItemStackOfAmountFromOreDict("dustElectricalSteel", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustObsidian", 1) + ItemUtils.getItemStackOfAmountFromOreDict("dustIridium", 3), + ItemUtils.getItemStackOfAmountFromOreDict("dustOsmium", 1) }, - FluidUtils.getFluidStack("molten.darksteel", 2*144), + Materials.Helium.getGas(1000), + FluidUtils.getFluidStack("molten.osmiridium", 4 * 144), 0, - MathUtils.findPercentageOfInt(200*20, 80), - 120); - } - //Pulsating Iron - if (ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1) != ItemUtils.getSimpleStack(ModItems.AAA_Broken)){ + MathUtils.findPercentageOfInt(500 * 20, 80), + 1920); + + //Naq Alloy CORE.RA.addBlastSmelterRecipe( new ItemStack[]{ ItemUtils.getGregtechCircuit(2), - ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1), - ItemUtils.getSimpleStack(Items.ender_pearl) + ItemUtils.getItemStackOfAmountFromOreDict("dustNaquadah", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustOsmiridium", 1) }, - FluidUtils.getFluidStack("molten.pulsatingiron", 2*144), + Materials.Argon.getGas(1000), + FluidUtils.getFluidStack("molten.naquadahalloy", 2 * 144), 0, - MathUtils.findPercentageOfInt(8*20, 80), - 120); - } - //Energetic Alloy - if (ItemUtils.getItemStackOfAmountFromOreDict("dustEnergeticAlloy", 1) != ItemUtils.getSimpleStack(ModItems.AAA_Broken)){ - CORE.RA.addBlastSmelterRecipe( - new ItemStack[]{ - ItemUtils.getGregtechCircuit(12), - ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1), - ItemUtils.getSimpleStack(Items.glowstone_dust) - }, - FluidUtils.getFluidStack("molten.redstone", 144), - FluidUtils.getFluidStack("molten.energeticalloy", 144), - 0, - MathUtils.findPercentageOfInt(9*20, 80), - 120); - } - //Vibrant Alloy - if (ItemUtils.getItemStackOfAmountFromOreDict("dustVibrantAlloy", 1) != ItemUtils.getSimpleStack(ModItems.AAA_Broken)){ - CORE.RA.addBlastSmelterRecipe( - new ItemStack[]{ - ItemUtils.getGregtechCircuit(12), - ItemUtils.getItemStackOfAmountFromOreDict("dustEnergeticAlloy", 1), - ItemUtils.getSimpleStack(Items.ender_pearl) - }, - FluidUtils.getFluidStack("molten.vibrantalloy", 144), - 0, - MathUtils.findPercentageOfInt(16*20, 80), - 480); - } + MathUtils.findPercentageOfInt(500 * 20, 80), + 30720); + + //Nickel-Zinc-Ferrite + if (Materials.get("NickelZincFerrite") != null) { + CORE.RA.addBlastSmelterRecipe( + new ItemStack[]{ + ItemUtils.getGregtechCircuit(2), + ItemUtils.getItemStackOfAmountFromOreDict("dustFerriteMixture", 6) + }, + Materials.Oxygen.getGas(2000), + FluidUtils.getFluidStack("molten.nickelzincferrite", 2 * 144), + 0, + MathUtils.findPercentageOfInt(600 * 20, 80), + 120); + } + //Gallium-Arsenide + if (Materials.get("GalliumArsenide") != null) { + CORE.RA.addBlastSmelterRecipe( + new ItemStack[]{ + ItemUtils.getGregtechCircuit(2), + ItemUtils.getItemStackOfAmountFromOreDict("dustGallium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustArsenic", 1) + }, + FluidUtils.getFluidStack("molten.galliumarsenide", 2 * 144), + 0, + MathUtils.findPercentageOfInt(600 * 20, 80), + 120); + } + + //TungstenCarbide + if (Materials.get("TungstenCarbide") != null) { + CORE.RA.addBlastSmelterRecipe( + new ItemStack[]{ + ItemUtils.getGregtechCircuit(12), + ItemUtils.getItemStackOfAmountFromOreDict("dustTungsten", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 1) + }, + FluidUtils.getFluidStack("molten.tungstencarbide", 2 * 144), + 0, + MathUtils.findPercentageOfInt((int) Math.max(Materials.get("TungstenCarbide").getMass() / 40L, 1L) * Materials.get("TungstenCarbide").mBlastFurnaceTemp, 80), + 480); + } + + + //Vanadium-Gallium + if (Materials.get("VanadiumGallium") != null) { + CORE.RA.addBlastSmelterRecipe( + new ItemStack[]{ + ItemUtils.getGregtechCircuit(12), + ItemUtils.getItemStackOfAmountFromOreDict("dustGallium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustVanadium", 3) + }, + FluidUtils.getFluidStack("molten.vanadiumgallium", 4 * 144), + 0, + MathUtils.findPercentageOfInt((int) Math.max(Materials.VanadiumGallium.getMass() / 40L, 1L) * Materials.VanadiumGallium.mBlastFurnaceTemp, 80), + 480); + } + + //EIO + //Dark Steel + if (ItemUtils.getItemStackOfAmountFromOreDict("dustElectricalSteel", 1) != ItemUtils.getSimpleStack(ModItems.AAA_Broken)) { + CORE.RA.addBlastSmelterRecipe( + new ItemStack[]{ + ItemUtils.getGregtechCircuit(2), + ItemUtils.getItemStackOfAmountFromOreDict("dustElectricalSteel", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustObsidian", 1) + }, + FluidUtils.getFluidStack("molten.darksteel", 2 * 144), + 0, + MathUtils.findPercentageOfInt(200 * 20, 80), + 120); + } + + //Pulsating Iron + if (ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1) != ItemUtils.getSimpleStack(ModItems.AAA_Broken)) { + CORE.RA.addBlastSmelterRecipe( + new ItemStack[]{ + ItemUtils.getGregtechCircuit(2), + ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1), + ItemUtils.getSimpleStack(Items.ender_pearl) + }, + FluidUtils.getFluidStack("molten.pulsatingiron", 2 * 144), + 0, + MathUtils.findPercentageOfInt(8 * 20, 80), + 120); + } + + //Energetic Alloy + if (ItemUtils.getItemStackOfAmountFromOreDict("dustEnergeticAlloy", 1) != ItemUtils.getSimpleStack(ModItems.AAA_Broken)) { + CORE.RA.addBlastSmelterRecipe( + new ItemStack[]{ + ItemUtils.getGregtechCircuit(12), + ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1), + ItemUtils.getSimpleStack(Items.glowstone_dust) + }, + FluidUtils.getFluidStack("molten.redstone", 144), + FluidUtils.getFluidStack("molten.energeticalloy", 144), + 0, + MathUtils.findPercentageOfInt(9 * 20, 80), + 120); + } + + //Vibrant Alloy + if (ItemUtils.getItemStackOfAmountFromOreDict("dustVibrantAlloy", 1) != ItemUtils.getSimpleStack(ModItems.AAA_Broken)) { + CORE.RA.addBlastSmelterRecipe( + new ItemStack[]{ + ItemUtils.getGregtechCircuit(12), + ItemUtils.getItemStackOfAmountFromOreDict("dustEnergeticAlloy", 1), + ItemUtils.getSimpleStack(Items.ender_pearl) + }, + FluidUtils.getFluidStack("molten.vibrantalloy", 144), + 0, + MathUtils.findPercentageOfInt(16 * 20, 80), + 480); + } + } } private static void fluidcannerRecipes() { @@ -994,13 +997,15 @@ public class RECIPES_GREGTECH { ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), 8*20); //Ammonia - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 3), - ItemUtils.getItemStackOfAmountFromOreDict("dustMagnetite", 0), - FluidUtils.getFluidStack("nitrogen", 1000), - FluidUtils.getFluidStack("ammonia", 1000), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 3), - 14*20); + if (!CORE.GTNH) { + GT_Values.RA.addChemicalRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 3), + ItemUtils.getItemStackOfAmountFromOreDict("dustMagnetite", 0), + FluidUtils.getFluidStack("nitrogen", 1000), + FluidUtils.getFluidStack("ammonia", 1000), + ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 3), + 14 * 20); + }//moved to GTNH core mod //Ammonium GT_Values.RA.addChemicalRecipe( ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 1), @@ -1177,4 +1182,4 @@ public class RECIPES_GREGTECH { 500); } -} \ No newline at end of file +} diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java index 4304fdaff5..16cef8bc27 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java @@ -7,6 +7,7 @@ import gregtech.api.enums.ItemList; import gregtech.api.util.GT_ModHandler; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.item.ModItems; +import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.Utils; @@ -42,7 +43,7 @@ public class RECIPES_General { } } - private static void run(){ + private static void run() { //Workbench Blueprint RecipeUtils.recipeBuilder( RECIPE_Paper, RECIPE_LapisDust, NULL, @@ -58,7 +59,7 @@ public class RECIPES_General { OUTPUT_Workbench_Bronze);*/ //Generates recipes for the Dull shard when TC is not installed. - if (!LoadedMods.Thaumcraft){ + if (!LoadedMods.Thaumcraft) { //Dull Shard to Aer RecipeUtils.recipeBuilder( RECIPE_HydrogenDust, RECIPE_HydrogenDust, RECIPE_HydrogenDust, @@ -100,15 +101,28 @@ public class RECIPES_General { Utils.LOG_INFO("Added a recipe for Rainforest oak Saplings."); } - //Iron bars - final ItemStack ironBars = ItemUtils.getItemStack("minecraft:iron_bars", 1); - //Fish Trap - if (RecipeUtils.recipeBuilder( - ironBars, ironBars, ironBars, - ironBars, "frameGtWroughtIron", ironBars, - ironBars, ironBars, ironBars, - ItemUtils.getSimpleStack(ModBlocks.blockFishTrap))){ - Utils.LOG_INFO("Added a recipe for the Fish Trap."); + if (!CORE.GTNH) { + //Iron bars + final ItemStack ironBars = ItemUtils.getItemStack("minecraft:iron_bars", 1); + //Fish Trap + if (RecipeUtils.recipeBuilder( + ironBars, ironBars, ironBars, + ironBars, "frameGtWroughtIron", ironBars, + ironBars, ironBars, ironBars, + ItemUtils.getSimpleStack(ModBlocks.blockFishTrap))){ + Utils.LOG_INFO("Added a recipe for the Fish Trap."); + } + } else { + //Steel Bars + final ItemStack steelBars = ItemUtils.getItemStack("dreamcraft:item.SteelBars", 1); + //Fish Trap + if (RecipeUtils.recipeBuilder( + steelBars, steelBars, steelBars, + steelBars, "frameGtWroughtIron", steelBars, + steelBars, steelBars, steelBars, + ItemUtils.getSimpleStack(ModBlocks.blockFishTrap))) { + Utils.LOG_INFO("Added a recipe for the Fish Trap."); + } } //Alkalus Coin diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java index 9e408ff7d4..f2f9135194 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java @@ -930,12 +930,19 @@ public class RECIPES_Machines { RECIPE_LFTROuterCasing = GregtechItemList.Casing_Reactor_I.get(1); //Hastelloy ItemStack controlCircuit = ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR); - RecipeUtils.addShapedGregtechRecipe( - controlCircuit, "cableGt12NaquadahAlloy", controlCircuit, - "plateDoubleHastelloyN", GregtechItemList.Gregtech_Computer_Cube.get(1), "plateDoubleHastelloyN", - "plateThorium232", CI.machineHull_UV, "plateThorium232", - RECIPE_LFTRController); - + if(!CORE.GTNH) { + RecipeUtils.addShapedGregtechRecipe( + controlCircuit, "cableGt12NaquadahAlloy", controlCircuit, + "plateDoubleHastelloyN", GregtechItemList.Gregtech_Computer_Cube.get(1), "plateDoubleHastelloyN", + "plateThorium232", CI.machineHull_UV, "plateThorium232", + RECIPE_LFTRController); + } else { + RecipeUtils.addShapedGregtechRecipe( + controlCircuit, "cableGt12NaquadahAlloy", controlCircuit, + "plateDoubleHastelloyN", GregtechItemList.Gregtech_Computer_Cube.get(1), "plateDoubleHastelloyN", + "plateThorium232", CI.machineHull_LuV, "plateThorium232", + RECIPE_LFTRController); + } RecipeUtils.addShapedGregtechRecipe( "plateDoubleZeron100", CI.craftingToolScrewdriver, "plateDoubleZeron100", "gearTalonite", CI.fieldGenerator_ULV, "gearTalonite", diff --git a/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java b/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java index 6c15f3a189..31d00efc94 100644 --- a/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java +++ b/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java @@ -413,19 +413,19 @@ public class NBTUtils { createStringTagCompound(aStack, "mEntityTag", (String) e.getKey(), (String) e.getValue()); } else if (e.getValue().getClass() == Boolean.class || e.getValue().getClass() == boolean.class){ - createBooleanTagCompound(aStack, "mEntityTag", (String) e.getKey(), (boolean) e.getValue()); + createBooleanTagCompound(aStack, "mEntityTag", (String) e.getKey(), (Boolean) e.getValue()); } else if (e.getValue().getClass() == Integer.class || e.getValue().getClass() == int.class){ - createIntegerTagCompound(aStack, "mEntityTag", (String) e.getKey(), (int) e.getValue()); + createIntegerTagCompound(aStack, "mEntityTag", (String) e.getKey(), (Integer) e.getValue()); } else if (e.getValue().getClass() == Double.class || e.getValue().getClass() == double.class){ - createDoubleTagCompound(aStack, "mEntityTag", (String) e.getKey(), (double) e.getValue()); + createDoubleTagCompound(aStack, "mEntityTag", (String) e.getKey(), (Double) e.getValue()); } else if (e.getValue().getClass() == Long.class || e.getValue().getClass() == long.class){ - createLongTagCompound(aStack, "mEntityTag", (String) e.getKey(), (long) e.getValue()); + createLongTagCompound(aStack, "mEntityTag", (String) e.getKey(), (Long) e.getValue()); } else if (e.getValue().getClass() == Float.class || e.getValue().getClass() == float.class){ - createFloatTagCompound(aStack, "mEntityTag", (String) e.getKey(), (float) e.getValue()); + createFloatTagCompound(aStack, "mEntityTag", (String) e.getKey(), (Float) e.getValue()); } else { -- cgit