diff options
author | RealSilverMoon <31100241+RealSilverMoon@users.noreply.github.com> | 2024-02-01 01:15:29 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-31 18:15:29 +0100 |
commit | 787eba0a15c583b240e96630978b9c3539e55fa4 (patch) | |
tree | d4a4ba4e4fb4ea9d09174215581da5c79a6413a2 /src/main/java/gregtech/loaders | |
parent | 19950f533392fdadc5858ba12adce64374414083 (diff) | |
download | GT5-Unofficial-787eba0a15c583b240e96630978b9c3539e55fa4.tar.gz GT5-Unofficial-787eba0a15c583b240e96630978b9c3539e55fa4.tar.bz2 GT5-Unofficial-787eba0a15c583b240e96630978b9c3539e55fa4.zip |
Add Drone Centre (#2412)
* Add Drone Centre
* Apply texture and model
* Update en_US.lang
* Remove import.*
* Switch to block render
* Balance range and break chance
* Add recipe
* Spotless
* Update lang
* Fix recipe
* Rewrite connection system and UI
* Remove debuff party
* Spotless
* Fix server class not found
* A stupid enough recipe
* Another bad recipe
* Update tooltip & i18n
* Close it!
* Spotless
* Disable draggable
* prohibited remote control when centre is offline
* Rename
* Rename; Change specifiers
* Update texture
* spotless
---------
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/loaders')
5 files changed, 118 insertions, 3 deletions
diff --git a/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java b/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java index 8ee6b07714..6fe3d273f6 100644 --- a/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java +++ b/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java @@ -221,6 +221,7 @@ import static gregtech.api.enums.MetaTileEntityIDs.WIREMILL_LV; import static gregtech.api.enums.MetaTileEntityIDs.WIREMILL_MV; import static gregtech.api.enums.Mods.BuildCraftFactory; import static gregtech.api.enums.Mods.Forestry; +import static gregtech.api.enums.Mods.GalacticraftCore; import static gregtech.api.enums.Mods.Gendustry; import static gregtech.api.enums.Mods.IndustrialCraft2; import static gregtech.api.enums.Mods.NotEnoughItems; @@ -6485,6 +6486,31 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { OrePrefixes.rotor.get(Materials.StainlessSteel), 'P', OrePrefixes.pipeLarge.get(Materials.Polytetrafluoroethylene), 'M', ItemList.Electric_Motor_HV, 'B', ItemList.Hull_HV }); + + // Add Drone down link hatch + GT_ModHandler.addCraftingRecipe( + ItemList.Hatch_DroneDownLink.get(1L), + bits, + new Object[] { " S ", "CMC", "RRR", 'M', ItemList.Hatch_Maintenance, 'S', ItemList.Sensor_IV, 'R', + new ItemStack(GregTech_API.sBlockReinforced, 1, 9), 'C', ItemList.Conveyor_Module_EV }); + + // And Drone Centre + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Casing_Assembler.get(1), + ItemList.Cover_SolarPanel_HV.get(4), + ItemList.Conveyor_Module_IV.get(2), + ItemList.Robot_Arm_IV.get(2), + ItemList.Sensor_IV.get(2), + ItemList.Energy_LapotronicOrb.get(4), + ItemList.Cover_WirelessNeedsMaintainance.get(1), + GalacticraftCore.isModLoaded() ? GT_ModHandler.getModItem(GalacticraftCore.ID, "item.basicItem", 1, 19) + : ItemList.Sensor_EV.get(4)) + .itemOutputs(ItemList.Machine_Multi_DroneCentre.get(1L)) + .fluidInputs(Materials.AdvancedGlue.getFluid(8000L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); } private static void registerShapelessCraftingRecipes() { diff --git a/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java index 0f5023e854..c5dd0473a3 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java @@ -99,6 +99,21 @@ public class AssemblerRecipes implements Runnable { .eut(48) .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TungstenSteel, 16), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Data), 4), + ItemList.Electric_Motor_IV.get(16), + ItemList.Emitter_EV.get(4), + ItemList.Duct_Tape.get(64), + ItemList.Energy_LapotronicOrb.get(1), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.TierdDrone0.get(4)) + .fluidInputs(Materials.AdvancedGlue.getFluid(144)) + .duration(10 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + for (byte i = 0; i < 16; i = (byte) (i + 1)) { for (int j = 0; j < Dyes.VALUES[i].getSizeOfFluidList(); j++) { diff --git a/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java index 474e0575ac..8748c96654 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java @@ -1,6 +1,9 @@ package gregtech.loaders.postload.recipes; import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.enums.Mods.GregTech; +import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.enums.Mods.TecTech; import static gregtech.api.util.GT_RecipeBuilder.HOURS; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; @@ -19,6 +22,7 @@ import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; import gregtech.api.util.ExternalMaterials; +import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; public class AssemblyLineRecipes implements Runnable { @@ -840,5 +844,51 @@ public class AssemblyLineRecipes implements Runnable { .duration(60 * SECONDS) .eut(TierEU.RECIPE_UV) .addTo(AssemblyLine); + + // Drone T2 + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.TierdDrone0.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.NaquadahAlloy, 16), + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4 }, + NewHorizonsCoreMod.isModLoaded() + ? GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.HeavyDutyRocketEngineTier3", 4) + : ItemList.Casing_Firebox_TungstenSteel.get(16), + ItemList.Large_Fluid_Cell_Osmium.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeQuadruple, Materials.MysteriousCrystal, 1), + ItemList.Emitter_ZPM.get(4), + ItemList.Energy_Module.get(1), + ItemList.Cover_WirelessNeedsMaintainance.get(1)) + .itemOutputs(ItemList.TierdDrone1.get(4)) + .fluidInputs( + new FluidStack(solderIndalloy, 576), + FluidRegistry.getFluidStack(GTPlusPlus.isModLoaded() ? "fluid.rocketfuelmixc" : "nitrofuel", 4000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(AssemblyLine); + + // Drone T3 + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.TierdDrone1.get(1)) + .metadata(RESEARCH_TIME, 8 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 16), + new Object[] { OrePrefixes.circuit.get(Materials.Bio), 4 }, + ItemList.Field_Generator_UV.get(16), + ItemList.Gravistar.get(8), + ItemList.Emitter_UV.get(4), + TecTech.isModLoaded() ? GT_ModHandler.getModItem(GregTech.ID, "gt.blockmachines", 16, 15497) + : ItemList.Hatch_AutoMaintenance.get(64), + ItemList.Energy_Cluster.get(8), + ItemList.Cover_WirelessNeedsMaintainance.get(1)) + .itemOutputs(ItemList.TierdDrone2.get(1)) + .fluidInputs( + new FluidStack(solderIndalloy, 144000), + GTPlusPlus.isModLoaded() ? FluidRegistry.getFluidStack("molten.ethylcyanoacrylatesuperglue", 2000) + : Materials.AdvancedGlue.getFluid(256000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(AssemblyLine); } } diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java index 0d1257350d..9373e4b12f 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java @@ -60,6 +60,7 @@ import gregtech.common.blocks.GT_Block_Casings6; import gregtech.common.blocks.GT_Block_Casings8; import gregtech.common.blocks.GT_Block_Casings9; import gregtech.common.blocks.GT_Block_Concretes; +import gregtech.common.blocks.GT_Block_Drone; import gregtech.common.blocks.GT_Block_Granites; import gregtech.common.blocks.GT_Block_Machines; import gregtech.common.blocks.GT_Block_Metal; @@ -78,7 +79,9 @@ import gregtech.common.items.GT_MetaGenerated_Item_98; import gregtech.common.items.GT_MetaGenerated_Item_99; import gregtech.common.items.GT_MetaGenerated_Tool_01; import gregtech.common.items.GT_NeutronReflector_Item; +import gregtech.common.items.GT_TierDrone; import gregtech.common.items.GT_VolumetricFlask; +import gregtech.common.tileentities.render.TileDrone; public class GT_Loader_Item_Block_And_Fluid implements Runnable { @@ -540,7 +543,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable { GregTech_API.sBlockConcretes = new GT_Block_Concretes(); GregTech_API.sBlockStones = new GT_Block_Stones(); GregTech_API.sBlockOres1 = new GT_Block_Ores(); - + GregTech_API.sDroneRender = new GT_Block_Drone(); // meta ID order, DO NOT CHANGE ORDER GregTech_API.sBlockMetal1 = new GT_Block_Metal( @@ -664,6 +667,9 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable { tBaseMetaTileEntity.getClass() .getName()); + GT_Log.out.println("GT_Mod: Registering the DroneRender."); + GameRegistry.registerTileEntity(TileDrone.class, "DroneRender"); + GT_Log.out.println("GT_Mod: Registering the BaseMetaPipeEntity."); GameRegistry.registerTileEntity(BaseMetaPipeEntity.class, "BaseMetaPipeEntity"); FMLInterModComms.sendMessage(AppliedEnergistics2.ID, "whitelist-spatial", BaseMetaPipeEntity.class.getName()); @@ -2208,5 +2214,12 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable { .registerMachineBlock(GT_Utility.getBlockFromStack(GT_ModHandler.getIC2Item("reinforcedGlass", 0)), 0); GregTech_API.sSolenoidCoilCasings = new GT_Cyclotron_Coils(); + ItemList.TierdDrone0 + .set(new GT_TierDrone("tierdDrone0", "Drone (Level 1)", "Quadcopter Stable Small Aircraft", 1)); + ItemList.TierdDrone1 + .set(new GT_TierDrone("tierdDrone1", "Drone (Level 2)", "Dual Turbo High-Ejection Medium Aircraft", 2)); + ItemList.TierdDrone2 + .set(new GT_TierDrone("tierdDrone2", "Drone (Level 3)", "Single Engine Anti-Gravity Large Aircraft", 3)); + } } diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java index 9977af29f8..d1196552c6 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java @@ -99,6 +99,8 @@ import static gregtech.api.enums.MetaTileEntityIDs.DYNAMO_HATCH_UHV; import static gregtech.api.enums.MetaTileEntityIDs.DYNAMO_HATCH_ULV; import static gregtech.api.enums.MetaTileEntityIDs.DYNAMO_HATCH_UV; import static gregtech.api.enums.MetaTileEntityIDs.DYNAMO_HATCH_ZPM; +import static gregtech.api.enums.MetaTileEntityIDs.DroneDownLink; +import static gregtech.api.enums.MetaTileEntityIDs.Drone_Centre; import static gregtech.api.enums.MetaTileEntityIDs.EBF_CONTROLLER; import static gregtech.api.enums.MetaTileEntityIDs.ENERGY_HATCH_EV; import static gregtech.api.enums.MetaTileEntityIDs.ENERGY_HATCH_HV; @@ -577,6 +579,8 @@ import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_ProcessingA import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_PyrolyseOven; import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_TranscendentPlasmaMixer; import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_VacuumFreezer; +import gregtech.common.tileentities.machines.multi.drone.GT_MetaTileEntity_DroneCentre; +import gregtech.common.tileentities.machines.multi.drone.GT_MetaTileEntity_Hatch_DroneDownLink; import gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_AlloySmelter_Bronze; import gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_AlloySmelter_Steel; import gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_Compressor_Bronze; @@ -859,7 +863,6 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC LARGE_TUNGSTENSTEEL_BOILER_CONTROLLER.ID, "multimachine.boiler.tungstensteel", "Large Tungstensteel Boiler").getStackForm(1L)); - ItemList.FusionComputer_LuV.set( new GT_MetaTileEntity_FusionComputer1( FUSION_CONTROLLER_MKI.ID, @@ -1029,7 +1032,9 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC ItemList.NanoForge.set( new GT_MetaTileEntity_NanoForge(NANO_FORGE_CONTROLLER.ID, "multimachine.nanoforge", "Nano Forge") .getStackForm(1)); - + ItemList.Machine_Multi_DroneCentre.set( + new GT_MetaTileEntity_DroneCentre(Drone_Centre.ID, "multimachine_DroneCentre", "Drone Centre") + .getStackForm(1)); } private static void registerSteamMachines() { @@ -4091,6 +4096,12 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC "Auto Maintenance Hatch", 6, true).getStackForm(1L)); + ItemList.Hatch_DroneDownLink.set( + new GT_MetaTileEntity_Hatch_DroneDownLink( + DroneDownLink.ID, + "hatch.dronedownlink", + "Drone DownLink Module", + 5).getStackForm(1)); ItemList.Hatch_DataAccess_EV.set( new GT_MetaTileEntity_Hatch_DataAccess(DATA_ACCESS_HATCH.ID, "hatch.dataaccess", "Data Access Hatch", 4) .getStackForm(1L)); |