diff options
author | minecraft7771 <maxim235@gmx.de> | 2022-08-07 11:27:15 +0200 |
---|---|---|
committer | minecraft7771 <maxim235@gmx.de> | 2022-08-07 11:27:15 +0200 |
commit | e685f5f4853303c1d16dfc61254e4917004cf068 (patch) | |
tree | 13d56077b79c28acd2dd6d6647bc651e0186c1db | |
parent | 88656e0e321993dc4291e04e9e64ee3080303aea (diff) | |
parent | 403cc1926b061b2f2bd0486a43a16655e94ccc55 (diff) | |
download | GT5-Unofficial-e685f5f4853303c1d16dfc61254e4917004cf068.tar.gz GT5-Unofficial-e685f5f4853303c1d16dfc61254e4917004cf068.tar.bz2 GT5-Unofficial-e685f5f4853303c1d16dfc61254e4917004cf068.zip |
Merge branch 'master' into EnergyInfuserRework
3 files changed, 173 insertions, 7 deletions
diff --git a/dependencies.gradle b/dependencies.gradle index 880e4e515c..265d368702 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,7 +3,7 @@ dependencies { shadowImplementation('com.github.GTNewHorizons:AVRcore:master-SNAPSHOT') - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.40.81:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.40.84:dev') compile('com.github.GTNewHorizons:Yamcl:0.5.82:dev') compile('com.github.GTNewHorizons:NotEnoughItems:2.2.15-GTNH:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.3:dev') diff --git a/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java index 351506a459..90a09e953e 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java +++ b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java @@ -213,7 +213,7 @@ public class DreamCraftRecipeLoader { TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Casing_Coil_Infinity.get(1), 16_777_216*2, 2048*2, 32_000_000, 1, new Object[]{ new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, - GT_ModHandler.getModItem("miscutils", "itemFineWireHypogen", 64, 0), + GT_OreDictUnificator.get("wireGt02Hypogen", 8L), GT_ModHandler.getModItem("miscutils", "itemScrewHypogen", 8, 0), GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), GT_ModHandler.getModItem("dreamcraft", "item.MicaInsulatorFoil", 64, 0), @@ -786,6 +786,8 @@ public class DreamCraftRecipeLoader { item_parts_UIV_assline_recipes(); item_parts_UMV_assline_recipes(); + add_wireless_energy_recipes(); + //UHV-UMV Energy Hatch & Dynamo TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Energy_UV.get(1L), 24000, 16, 50000, 2, new Object[]{ @@ -2795,7 +2797,7 @@ public class DreamCraftRecipeLoader { total_computation, comp_per_second, research_eu_per_tick, research_amperage, new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 8L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 32L), GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SpaceTime, 16L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.SpaceTime, 8L), GT_OreDictUnificator.get(OrePrefixes.round, Materials.SpaceTime, 32L), @@ -3069,6 +3071,163 @@ public class DreamCraftRecipeLoader { } + private void add_wireless_energy_recipes() { + + Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); + + int recipe_duration_ticks = 20*20; + int recipe_eu_per_tick = 128_000_000; + + int research_eu_per_tick = 128_000_000; + int research_amperage = 4; + int comp_per_second = 2000; + int total_computation = 500_000; + + ItemStack[] energy_hatches = { + ItemList.Hatch_Energy_ULV.get(1), + ItemList.Hatch_Energy_LV.get(1), + ItemList.Hatch_Energy_MV.get(1), + ItemList.Hatch_Energy_HV.get(1), + ItemList.Hatch_Energy_EV.get(1), + ItemList.Hatch_Energy_IV.get(1), + ItemList.Hatch_Energy_LuV.get(1), + ItemList.Hatch_Energy_ZPM.get(1), + ItemList.Hatch_Energy_UV.get(1), + ItemList.Hatch_Energy_MAX.get(1), + getItemContainer("Hatch_Energy_UEV").get(1L), + getItemContainer("Hatch_Energy_UIV").get(1L), + getItemContainer("Hatch_Energy_UMV").get(1L) + }; + + ItemStack[] dynamo_hatches = { + ItemList.Hatch_Dynamo_ULV.get(1), + ItemList.Hatch_Dynamo_LV.get(1), + ItemList.Hatch_Dynamo_MV.get(1), + ItemList.Hatch_Dynamo_HV.get(1), + ItemList.Hatch_Dynamo_EV.get(1), + ItemList.Hatch_Dynamo_IV.get(1), + ItemList.Hatch_Dynamo_LuV.get(1), + ItemList.Hatch_Dynamo_ZPM.get(1), + ItemList.Hatch_Dynamo_UV.get(1), + ItemList.Hatch_Dynamo_MAX.get(1), + getItemContainer("Hatch_Dynamo_UEV").get(1L), + getItemContainer("Hatch_Dynamo_UIV").get(1L), + getItemContainer("Hatch_Dynamo_UMV").get(1L) + }; + + Object[] circuits_tier_plus_two = { + new Object[]{OrePrefixes.circuit.get(Materials.Good), 1L}, // MV + new Object[]{OrePrefixes.circuit.get(Materials.Advanced), 1L}, // HV + new Object[]{OrePrefixes.circuit.get(Materials.Data), 1L}, // EV + new Object[]{OrePrefixes.circuit.get(Materials.Elite), 1L}, // IV + new Object[]{OrePrefixes.circuit.get(Materials.Master), 1L}, // LuV + new Object[]{OrePrefixes.circuit.get(Materials.Ultimate), 1L}, // ZPM + new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 1L}, // UV + new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 1L}, // UHV + new Object[]{OrePrefixes.circuit.get(Materials.Bio), 1L}, // UEV + new Object[]{OrePrefixes.circuit.get(Materials.Nano), 1L}, // UIV + new Object[]{OrePrefixes.circuit.get(Materials.Piko), 1L}, // UMV + new Object[]{OrePrefixes.circuit.get(Materials.Quantum), 1L}, // UXV + new Object[]{OrePrefixes.circuit.get(Materials.Transcendent), 1L}, // MAX + }; + + ItemStack[] wireless_hatches = { + ItemList.Wireless_Hatch_Energy_ULV.get(1), + ItemList.Wireless_Hatch_Energy_LV.get(1), + ItemList.Wireless_Hatch_Energy_MV.get(1), + ItemList.Wireless_Hatch_Energy_HV.get(1), + ItemList.Wireless_Hatch_Energy_EV.get(1), + ItemList.Wireless_Hatch_Energy_IV.get(1), + ItemList.Wireless_Hatch_Energy_LuV.get(1), + ItemList.Wireless_Hatch_Energy_ZPM.get(1), + ItemList.Wireless_Hatch_Energy_UV.get(1), + ItemList.Wireless_Hatch_Energy_UHV.get(1), + ItemList.Wireless_Hatch_Energy_UEV.get(1), + ItemList.Wireless_Hatch_Energy_UIV.get(1), + ItemList.Wireless_Hatch_Energy_UMV.get(1), + }; + + ItemStack[] wireless_dynamos = { + ItemList.Wireless_Dynamo_Energy_ULV.get(1), + ItemList.Wireless_Dynamo_Energy_LV.get(1), + ItemList.Wireless_Dynamo_Energy_MV.get(1), + ItemList.Wireless_Dynamo_Energy_HV.get(1), + ItemList.Wireless_Dynamo_Energy_EV.get(1), + ItemList.Wireless_Dynamo_Energy_IV.get(1), + ItemList.Wireless_Dynamo_Energy_LuV.get(1), + ItemList.Wireless_Dynamo_Energy_ZPM.get(1), + ItemList.Wireless_Dynamo_Energy_UV.get(1), + ItemList.Wireless_Dynamo_Energy_UHV.get(1), + ItemList.Wireless_Dynamo_Energy_UEV.get(1), + ItemList.Wireless_Dynamo_Energy_UIV.get(1), + ItemList.Wireless_Dynamo_Energy_UMV.get(1), + }; + + // ------------------------ Wireless EU hatches ------------------------ + + for(int i = 0; i < wireless_hatches.length; i++) { + + TT_recipeAdder.addResearchableAssemblylineRecipe( + + (i==0) ? ItemList.Tesseract.get(1) : wireless_hatches[i-1], + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + energy_hatches[i], + GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), + ItemList.Casing_Coil_Superconductor.get(1), + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Power.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), + circuits_tier_plus_two[i], + ItemList.EnergisedTesseract.get(1) + }, + + new FluidStack[]{ + new FluidStack(solderUEV, 1296), + Materials.ExcitedDTEC.getFluid(500L) + }, + + wireless_hatches[i], + + recipe_duration_ticks, recipe_eu_per_tick); + } + + // ------------------------ Wireless EU dynamos ------------------------ + + for(int i = 0; i < wireless_hatches.length; i++) { + + TT_recipeAdder.addResearchableAssemblylineRecipe( + + (i==0) ? ItemList.EnergisedTesseract.get(1) : wireless_dynamos[i-1], + + total_computation, comp_per_second, research_eu_per_tick, research_amperage, + + new Object[]{ + dynamo_hatches[i], + GT_ModHandler.getModItem("GoodGenerator", "compactFusionCoil", 1), + ItemList.Casing_Coil_Superconductor.get(1), + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Power.get(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), + circuits_tier_plus_two[i], + ItemList.EnergisedTesseract.get(1) + }, + + new FluidStack[]{ + new FluidStack(solderUEV, 1296), + Materials.ExcitedDTEC.getFluid(500L) + }, + + wireless_dynamos[i], + + recipe_duration_ticks, recipe_eu_per_tick); + } + } + private void register_machine_EM_behaviours() { GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(5), ItemList.Machine_IV_Centrifuge.get(1)); GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(6), getItemContainer("CentrifugeLuV").get(1)); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java index a606e4163c..00efac0828 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java @@ -21,6 +21,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; @@ -40,7 +41,8 @@ import static net.minecraft.util.StatCollector.translateToLocal; public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { //region variables private final ArrayList<GT_MetaTileEntity_Hatch_OutputDataItems> eStacksDataOutputs = new ArrayList<>(); - private final ArrayList<GT_MetaTileEntity_Hatch_DataAccess> eDataAccessHatches = new ArrayList<>(); + private final ArrayList<IInventory> eDataAccessHatches = new ArrayList<>(); + private boolean slave = false; //endregion //region structure @@ -99,13 +101,14 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { eDataAccessHatches.clear(); eStacksDataOutputs.clear(); + slave = false; return structureCheck_EM("main", 2, 1, 0); } @Override public boolean checkRecipe_EM(ItemStack itemStack) { if (eDataAccessHatches.size() > 0 && eStacksDataOutputs.size() > 0) { - mEUt = -(int) V[4]; + mEUt = -(int) V[slave ? 6 : 4]; eAmpereFlow = 1 + eStacksDataOutputs.size() * eDataAccessHatches.size(); mMaxProgresstime = 20; mEfficiencyIncrease = 10000; @@ -117,7 +120,7 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB @Override public void outputAfterRecipe_EM() { ArrayList<ItemStack> stacks = new ArrayList<>(); - for (GT_MetaTileEntity_Hatch_DataAccess dataAccess : eDataAccessHatches) { + for (IInventory dataAccess : eDataAccessHatches) { int count = dataAccess.getSizeInventory(); for (int i = 0; i < count; i++) { ItemStack stack = dataAccess.getStackInSlot(i); @@ -177,7 +180,11 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB return eStacksDataOutputs.add((GT_MetaTileEntity_Hatch_OutputDataItems) aMetaTileEntity); } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DataAccess && !(aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputDataItems)) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); - return eDataAccessHatches.add((GT_MetaTileEntity_Hatch_DataAccess) aMetaTileEntity); + return eDataAccessHatches.add(aMetaTileEntity); + } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputDataItems) { + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); + slave = true; + return eDataAccessHatches.add(aMetaTileEntity); } return false; } |