From 95ae4bcb0146fbccb6eaf0f0b3477050b8dde533 Mon Sep 17 00:00:00 2001 From: kekzdealer Date: Fri, 11 Oct 2019 02:29:41 +0200 Subject: Fixed TFFT persistency. Made TFFT storage more expensive. Added Multi Hatch recipe. Increased version #. Perparing for release. --- src/main/java/kekztech/KekzCore.java | 52 ++++++++++++++++++--------- src/main/java/kekztech/MultiFluidHandler.java | 28 +++++++++++++-- 2 files changed, 62 insertions(+), 18 deletions(-) (limited to 'src/main/java/kekztech') diff --git a/src/main/java/kekztech/KekzCore.java b/src/main/java/kekztech/KekzCore.java index 33ad34d015..94aea7adc2 100644 --- a/src/main/java/kekztech/KekzCore.java +++ b/src/main/java/kekztech/KekzCore.java @@ -32,6 +32,12 @@ import tileentities.GTMTE_SOFuelCellMK2; import tileentities.TE_TFFTMultiHatch; import util.Util; +/** + * My GT-Meta-IDs are: 13101 - 13500 + * + * @author kekzdealer + * + */ @Mod(modid = KekzCore.MODID, name = KekzCore.NAME, version = KekzCore.VERSION, dependencies = "required-after:IC2; " + "required-after:gregtech" @@ -40,13 +46,14 @@ public class KekzCore { public static final String NAME = "KekzTech"; public static final String MODID = "kekztech"; - public static final String VERSION = "0.1a"; + public static final String VERSION = "0.2"; @Mod.Instance("kekztech") public static KekzCore instance; private GTMTE_SOFuelCellMK1 sofc1; private GTMTE_SOFuelCellMK2 sofc2; + @SuppressWarnings("unused") private GTMTE_ModularNuclearReactor mdr; private GTMTE_FluidMultiStorage fms; @@ -72,10 +79,10 @@ public class KekzCore { @Mod.EventHandler public void init(FMLInitializationEvent event ) { // Multiblock controllers - sofc1 = new GTMTE_SOFuelCellMK1(5000, "multimachine.fuelcellmk1", "Solid-Oxide Fuel Cell Mk I"); - sofc2 = new GTMTE_SOFuelCellMK2(5001, "multimachine.fuelcellmk2", "Solid-Oxide Fuel Cell Mk II"); - mdr = new GTMTE_ModularNuclearReactor(5002, "multimachine.nuclearreactor", "Nuclear Reactor"); - fms = new GTMTE_FluidMultiStorage(5003, "multimachine.tf_fluidtank", "T.F.F.T"); + sofc1 = new GTMTE_SOFuelCellMK1(13101, "multimachine.fuelcellmk1", "Solid-Oxide Fuel Cell Mk I"); + sofc2 = new GTMTE_SOFuelCellMK2(13102, "multimachine.fuelcellmk2", "Solid-Oxide Fuel Cell Mk II"); + mdr = new GTMTE_ModularNuclearReactor(13103, "multimachine.nuclearreactor", "Nuclear Reactor"); + fms = new GTMTE_FluidMultiStorage(13104, "multimachine.tf_fluidtank", "T.F.F.T"); } @Mod.EventHandler @@ -109,10 +116,10 @@ public class KekzCore { final Object[] tfft_recipe = { "HFH", "PVP", "CFC", 'H', OrePrefixes.pipeMedium.get(Materials.StainlessSteel), - 'F', ItemList.Field_Generator_LV.get(1L, (Object[]) null), + 'F', ItemList.Field_Generator_MV.get(1L, (Object[]) null), 'P', ItemList.Electric_Pump_HV.get(1L, (Object[]) null), 'V', OrePrefixes.rotor.get(Materials.VibrantAlloy), - 'C', OrePrefixes.circuit.get(Materials.Advanced) + 'C', OrePrefixes.circuit.get(Materials.Data) }; GT_ModHandler.addCraftingRecipe(fms.getStackForm(1), tfft_recipe); @@ -156,10 +163,10 @@ public class KekzCore { 200, 256); final ItemStack[] tfftstoragefield1 = { GT_Utility.getIntegratedCircuit(6), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 4), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.PulsatingIron, 1), GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Steel, 1), - ItemList.Electric_Pump_LV.get(1L, (Object[]) null) + ItemList.Electric_Pump_MV.get(1L, (Object[]) null) }; GT_Values.RA.addAssemblerRecipe( tfftstoragefield1, @@ -168,23 +175,23 @@ public class KekzCore { 200, 256); final ItemStack[] tfftstoragefield2 = { GT_Utility.getIntegratedCircuit(6), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.PulsatingIron, 4), GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.StainlessSteel, 1), - ItemList.Electric_Pump_MV.get(1L, (Object[]) null) + ItemList.Electric_Pump_HV.get(1L, (Object[]) null) }; GT_Values.RA.addAssemblerRecipe( tfftstoragefield2, - FluidRegistry.getFluidStack("molten.plastic", 144), + FluidRegistry.getFluidStack("molten.plastic", 576), new ItemStack(Block_TFFTStorageFieldBlockT2.getInstance(), 1), 200, 480); final ItemStack[] tfftstoragefield3 = { GT_Utility.getIntegratedCircuit(6), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 4), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.VibrantAlloy, 2), GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Titanium, 1), - ItemList.Field_Generator_LV.get(1L, (Object[]) null), - ItemList.Electric_Pump_HV.get(1L, (Object[]) null) + ItemList.Field_Generator_MV.get(1L, (Object[]) null), + ItemList.Electric_Pump_EV.get(1L, (Object[]) null) }; GT_Values.RA.addAssemblerRecipe( tfftstoragefield3, @@ -197,13 +204,26 @@ public class KekzCore { GT_OreDictUnificator.get(OrePrefixes.plateTriple, Materials.NiobiumTitanium, 1), GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.TungstenSteel, 1), ItemList.Field_Generator_HV.get(1L, (Object[]) null), - ItemList.Electric_Pump_EV.get(1L, (Object[]) null) + ItemList.Electric_Pump_IV.get(1L, (Object[]) null) }; GT_Values.RA.addAssemblerRecipe( tfftstoragefield4, FluidRegistry.getFluidStack("molten.epoxid", 1152), new ItemStack(Block_TFFTStorageFieldBlockT4.getInstance(), 1), 400, 4098); + final ItemStack[] tfftmultihatch = { + GT_Utility.getIntegratedCircuit(6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.StainlessSteel, 25), + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.RoseGold, 64), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Thorium, 12), + ItemList.Field_Generator_HV.get(1L, (Object[]) null), + }; + GT_Values.RA.addAssemblerRecipe( + tfftmultihatch, + FluidRegistry.getFluidStack("molten.epoxid", 576), + new ItemStack(Block_TFFTMultiHatch.getInstance(), 1), + 6000, 480); // Ceramic plates GT_Values.RA.addAlloySmelterRecipe( diff --git a/src/main/java/kekztech/MultiFluidHandler.java b/src/main/java/kekztech/MultiFluidHandler.java index 2565ede1dc..f131cfbb0d 100644 --- a/src/main/java/kekztech/MultiFluidHandler.java +++ b/src/main/java/kekztech/MultiFluidHandler.java @@ -12,10 +12,14 @@ public class MultiFluidHandler { public static final int MAX_DISTINCT_FLUIDS = 25; private final List fluids = new ArrayList<>(MAX_DISTINCT_FLUIDS); - private final int capacityPerFluid; + private int capacityPerFluid; private boolean locked = true; + public MultiFluidHandler() { + + } + public MultiFluidHandler(int capacityPerFluid) { this.capacityPerFluid = capacityPerFluid; } @@ -52,15 +56,35 @@ public class MultiFluidHandler { ? fluids.get(slot) : null; } - public NBTTagCompound getAsNBTTag(NBTTagCompound nbt) { + public NBTTagCompound saveNBTData(NBTTagCompound nbt) { + System.out.println("Saving a multi hatch!"); nbt = (nbt == null) ? new NBTTagCompound() : nbt; + + nbt.setInteger("capacityPerFluid", getCapacity()); int c = 0; for(FluidStack f : fluids) { nbt.setTag("" + c, f.writeToNBT(new NBTTagCompound())); + c++; } return nbt; } + public void loadNBTData(NBTTagCompound nbt) { + nbt = (nbt == null) ? new NBTTagCompound() : nbt; + + capacityPerFluid = nbt.getInteger("capacityPerFluid"); + + fluids.clear(); + final NBTTagCompound fluidsTag = (NBTTagCompound) nbt.getTag("fluids"); + for(int i = 0; i < MultiFluidHandler.MAX_DISTINCT_FLUIDS; i++) { + final NBTTagCompound fnbt = (NBTTagCompound) fluidsTag.getTag("" + i); + if(fnbt == null) { + break; + } + fluids.add(FluidStack.loadFluidStackFromNBT(fnbt)); + } + } + public ArrayList getInfoData() { final ArrayList lines = new ArrayList<>(fluids.size()); lines.add(EnumChatFormatting.YELLOW + "Stored Fluids:" + EnumChatFormatting.RESET); -- cgit