aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders
diff options
context:
space:
mode:
authorMary <33456283+FourIsTheNumber@users.noreply.github.com>2024-07-18 09:58:41 -0400
committerGitHub <noreply@github.com>2024-07-18 20:58:41 +0700
commite3a650785887866e4b8533b61044479ecb80aee7 (patch)
treea5dcc2993f3f234f93e5891286d18fdc426070b4 /src/main/java/gregtech/loaders
parentdcc8dac94e6d5a5561cf8bf38fc7f87e222b40e3 (diff)
downloadGT5-Unofficial-e3a650785887866e4b8533b61044479ecb80aee7.tar.gz
GT5-Unofficial-e3a650785887866e4b8533b61044479ecb80aee7.tar.bz2
GT5-Unofficial-e3a650785887866e4b8533b61044479ecb80aee7.zip
Add a Multiblock Electromagnetic Separator (#2726)
* Built multi template with required methods in gt++. * Filled out template based on gt++ electrolyzer code * Refactored into gregtech. Not supposed to add multis to gt++, whoops! * IntelliJ "smartly" deleted all of the imports in GT_Loader_MetaTileEntities and replaced it with a wildcard import... which caused it to fail checkstyle. Thanks so much, IntelliJ. * Figured out how to make IntelliJ Stop Doing That * Added author tag and vac freezer texture for testing. * Registered casing, working on getting texture functional * Added casing texture * Fixed structure check and added processing logic. Multi now forms and can run EMS recipes * Added overlay textures * Made new Casings10 class and added EMS Casings to it. Texture mesh now functions * Made controller match casing mesh * Shifted Casings10 to an actual page number instead of magic number. Now sits on page 16, following where waterline casings will be implemented in future * Added Electromagnet Housing. Has no texture, but you can place an open its inventory * Added electromagnets and their texture files * Multi now requires EM housing and breaks if there are 2 * Electromagnet Housing has proper texture and can be wrenched. Also has a placeholder overlay * Tooltip updates. Added pollution * Electromagnet tiers modify processing logic. Some issues remaining * Prettier switch & spotlessApply * Multi now validates electromagnet before recipe check. Also added a machine casing texture * Pollution fix * Support for exotic energy hatches added. Recipe check fails if electromagnet is too weak * Stack size of 1 for electromagnets * New electromagnet textures * Final pass on EM textures. Also, EM Housing uses IV hull as base texture instead of ULV * Put in placeholder-ish recipes for controller/casings/EM housing * Placeholder recipes for electromagnets. Also fixed structure check, whoops * Renamed multi to Magnetic Flux Exhibitor * MFE can run as a polarizer * Fixed exotic warning getting stuck * Attempted to add assline recipes, not working * Fixed assembling line recipe templates. Thank you chochem <3 * Fancied up tooltips * Fixed parallel issue * Updated recipes. Will have to move them to coremod * Nerfed speed on all electromagnets * sa * Restricted MFE to multiamp non-laser. * Spotless * Animated Mag hatch * Added glow * Removed pollution. I am a gentle soul * Addition to structure check * Disabled wireless laser compatibility * sa (cherry picked from commit 155cf4dd7284ca84bd9be79f11b6f577b38a4e0d) * spotless * Removed all recipes. These have been replaced in the coremod * -Removed unnecessary structure check -MIN_CASING final -Baps author tag -Refactored mMagHatch to not be a list -Added tooltip builder in MagnetTiers * Forgot to run spotless * Last minute tooltip fix for structure accuracy --------- Co-authored-by: Dream Master <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/loaders')
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java1
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java2
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java18
3 files changed, 19 insertions, 2 deletions
diff --git a/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java
index 8c6bfc8100..03c1f2a280 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java
@@ -883,5 +883,6 @@ public class AssemblyLineRecipes implements Runnable {
.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 7a0c7cfb84..04412da4c7 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
@@ -52,6 +52,7 @@ import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import gregtech.common.blocks.GT_Block_Casings1;
+import gregtech.common.blocks.GT_Block_Casings10;
import gregtech.common.blocks.GT_Block_Casings2;
import gregtech.common.blocks.GT_Block_Casings3;
import gregtech.common.blocks.GT_Block_Casings4;
@@ -536,6 +537,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
GregTech_API.sBlockCasings6 = new GT_Block_Casings6();
GregTech_API.sBlockCasings8 = new GT_Block_Casings8();
GregTech_API.sBlockCasings9 = new GT_Block_Casings9();
+ GregTech_API.sBlockCasings10 = new GT_Block_Casings10();
GregTech_API.sBlockGranites = new GT_Block_Granites();
GregTech_API.sBlockLongDistancePipes = new GT_Block_LongDistancePipe();
GregTech_API.sBlockConcretes = new GT_Block_Concretes();
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 31d917e868..5bd342cc48 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
@@ -146,6 +146,7 @@ import static gregtech.api.enums.MetaTileEntityIDs.HULL_WROUGHT_IRON;
import static gregtech.api.enums.MetaTileEntityIDs.HULL_ZPM;
import static gregtech.api.enums.MetaTileEntityIDs.IMPLOSION_COMPRESSOR_CONTROLLER;
import static gregtech.api.enums.MetaTileEntityIDs.INDUSTRIAL_APIARY;
+import static gregtech.api.enums.MetaTileEntityIDs.INDUSTRIAL_ELECTROMAGNETIC_SEPARATOR_CONTROLLER;
import static gregtech.api.enums.MetaTileEntityIDs.INPUT_BUS_EV;
import static gregtech.api.enums.MetaTileEntityIDs.INPUT_BUS_HV;
import static gregtech.api.enums.MetaTileEntityIDs.INPUT_BUS_IV;
@@ -224,6 +225,7 @@ import static gregtech.api.enums.MetaTileEntityIDs.MAGIC_ENERGY_ABSORBER_MV;
import static gregtech.api.enums.MetaTileEntityIDs.MAGIC_ENERGY_CONVERTER_HV;
import static gregtech.api.enums.MetaTileEntityIDs.MAGIC_ENERGY_CONVERTER_LV;
import static gregtech.api.enums.MetaTileEntityIDs.MAGIC_ENERGY_CONVERTER_MV;
+import static gregtech.api.enums.MetaTileEntityIDs.MAG_HATCH;
import static gregtech.api.enums.MetaTileEntityIDs.MAINTENANCE_HATCH;
import static gregtech.api.enums.MetaTileEntityIDs.MASS_FABRICATOR_EV;
import static gregtech.api.enums.MetaTileEntityIDs.MASS_FABRICATOR_HV;
@@ -483,6 +485,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Multi
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_QuadrupleHumongous;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MagHatch;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Transformer;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Wireless_Dynamo;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Wireless_Hatch;
@@ -551,6 +554,7 @@ import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_FusionCompu
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_FusionComputer3;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_HeatExchanger;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_ImplosionCompressor;
+import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_IndustrialElectromagneticSeparator;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_IntegratedOreFactory;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_LargeBoiler_Bronze;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_LargeBoiler_Steel;
@@ -602,8 +606,6 @@ import gregtech.common.tileentities.storage.GT_MetaTileEntity_SuperChest;
import gregtech.common.tileentities.storage.GT_MetaTileEntity_SuperTank;
// Free IDs left for machines in GT as of 29th of July 2022 - Colen. Please try use them up in order.
-// 358
-// 359
// 366
// 367
// 368
@@ -1038,6 +1040,12 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
new GT_MetaTileEntity_DroneCentre(Drone_Centre.ID, "multimachine_DroneCentre", "Drone Centre")
.getStackForm(1));
+ ItemList.Machine_Multi_IndustrialElectromagneticSeparator.set(
+ new GT_MetaTileEntity_IndustrialElectromagneticSeparator(
+ INDUSTRIAL_ELECTROMAGNETIC_SEPARATOR_CONTROLLER.ID,
+ "multimachine.electromagneticseparator",
+ "Magnetic Flux Exhibitor").getStackForm(1));
+
ItemList.Machine_Multi_Canner.set(
new GT_MetaTileEntity_MultiCanner(MULTI_CANNER_CONTROLLER.ID, "multimachine.canner", "TurboCan Pro")
.getStackForm(1));
@@ -2366,6 +2374,11 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
"Crafting Input Slave").getStackForm(1L));
}
+ private static void registerMagHatch() {
+ ItemList.Hatch_Electromagnet.set(
+ new GT_MetaTileEntity_MagHatch(MAG_HATCH.ID, "hatch.mag_hatch", "Electromagnet Housing").getStackForm(1L));
+ }
+
private static void registerInputBus() {
ItemList.Hatch_Input_Bus_ULV.set(
new GT_MetaTileEntity_Hatch_InputBus(INPUT_BUS_ULV.ID, "hatch.input_bus.tier.00", "Input Bus (ULV)", 0)
@@ -4042,6 +4055,7 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
registerSuperChest();
registerLongDistancePipe();
registerAE2Hatches();
+ registerMagHatch();
registerInputBus();
registerOutputBus();
registerMufflerHatch();