From e3a650785887866e4b8533b61044479ecb80aee7 Mon Sep 17 00:00:00 2001 From: Mary <33456283+FourIsTheNumber@users.noreply.github.com> Date: Thu, 18 Jul 2024 09:58:41 -0400 Subject: 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 --- .../common/items/GT_MetaGenerated_Item_01.java | 43 +++++++++++++++++++++- .../java/gregtech/common/items/ID_MetaItem_01.java | 5 +++ 2 files changed, 47 insertions(+), 1 deletion(-) (limited to 'src/main/java/gregtech/common/items') diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java index 0a977aecfa..809c73c2e7 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java @@ -183,6 +183,11 @@ import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UMV; import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UV; import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UXV; import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_ZPM; +import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Iron; +import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Neodymium; +import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Samarium; +import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Steel; +import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Tengam; import static gregtech.common.items.ID_MetaItem_01.Emitter_EV; import static gregtech.common.items.ID_MetaItem_01.Emitter_HV; import static gregtech.common.items.ID_MetaItem_01.Emitter_IV; @@ -441,6 +446,7 @@ import net.minecraft.init.Items; import net.minecraft.item.EnumAction; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import gregtech.api.GregTech_API; @@ -505,6 +511,7 @@ import gregtech.common.items.behaviors.Behaviour_Sonictron; import gregtech.common.items.behaviors.Behaviour_Spray_Color; import gregtech.common.items.behaviors.Behaviour_Spray_Color_Remover; import gregtech.common.items.behaviors.Behaviour_WrittenBook; +import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_IndustrialElectromagneticSeparator.MagnetTiers; public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { @@ -3087,7 +3094,36 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 16L))); - + ItemList.Electromagnet_Iron.set( + addItem( + Electromagnet_Iron.ID, + "Iron Electromagnet", + MagnetTiers.buildMagnetTooltip(MagnetTiers.Iron), + new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 8))); + ItemList.Electromagnet_Steel.set( + addItem( + Electromagnet_Steel.ID, + "Steel Electromagnet", + MagnetTiers.buildMagnetTooltip(MagnetTiers.Steel), + new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 16))); + ItemList.Electromagnet_Neodymium.set( + addItem( + Electromagnet_Neodymium.ID, + "Neodymium Electromagnet", + MagnetTiers.buildMagnetTooltip(MagnetTiers.Neodymium), + new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 24))); + ItemList.Electromagnet_Samarium.set( + addItem( + Electromagnet_Samarium.ID, + EnumChatFormatting.YELLOW + "Samarium Electromagnet", + MagnetTiers.buildMagnetTooltip(MagnetTiers.Samarium), + new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 32))); + ItemList.Electromagnet_Tengam.set( + addItem( + Electromagnet_Tengam.ID, + EnumChatFormatting.GREEN + "Tengam Electromagnet", + MagnetTiers.buildMagnetTooltip(MagnetTiers.Tengam), + new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 40))); removeRecipes(); setBurnValues(); oredictBlacklistEntries(); @@ -3239,6 +3275,11 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { setFluidContainerStats(32000 + Large_Fluid_Cell_Iridium.ID, 8_192_000L, 2L); setFluidContainerStats(32000 + Large_Fluid_Cell_Osmium.ID, 32_768_000L, 1L); setFluidContainerStats(32000 + Large_Fluid_Cell_Neutronium.ID, 131_072_000L, 1L); + setFluidContainerStats(32000 + Electromagnet_Iron.ID, 0L, 1L); + setFluidContainerStats(32000 + Electromagnet_Steel.ID, 0L, 1L); + setFluidContainerStats(32000 + Electromagnet_Neodymium.ID, 0L, 1L); + setFluidContainerStats(32000 + Electromagnet_Samarium.ID, 0L, 1L); + setFluidContainerStats(32000 + Electromagnet_Tengam.ID, 0L, 1L); } private void oredictBlacklistEntries() { diff --git a/src/main/java/gregtech/common/items/ID_MetaItem_01.java b/src/main/java/gregtech/common/items/ID_MetaItem_01.java index ba479f399c..fd6f1cc78d 100644 --- a/src/main/java/gregtech/common/items/ID_MetaItem_01.java +++ b/src/main/java/gregtech/common/items/ID_MetaItem_01.java @@ -97,6 +97,11 @@ public enum ID_MetaItem_01 { Steam_Regulator_HV(334), Steam_Regulator_EV(335), Steam_Regulator_IV(336), + Electromagnet_Iron(345), + Electromagnet_Steel(346), + Electromagnet_Neodymium(347), + Electromagnet_Samarium(348), + Electromagnet_Tengam(349), Shape_Extruder_Plate(350), Shape_Extruder_Rod(351), Shape_Extruder_Bolt(352), -- cgit