aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders
diff options
context:
space:
mode:
authorRealSilverMoon <31100241+RealSilverMoon@users.noreply.github.com>2024-02-01 01:15:29 +0800
committerGitHub <noreply@github.com>2024-01-31 18:15:29 +0100
commit787eba0a15c583b240e96630978b9c3539e55fa4 (patch)
treed4a4ba4e4fb4ea9d09174215581da5c79a6413a2 /src/main/java/gregtech/loaders
parent19950f533392fdadc5858ba12adce64374414083 (diff)
downloadGT5-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')
-rw-r--r--src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java26
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java15
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java50
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java15
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java15
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));