From 03f8ac57b99f8fa26975151ad39cb1a78667db73 Mon Sep 17 00:00:00 2001 From: Mary <33456283+FourIsTheNumber@users.noreply.github.com> Date: Thu, 29 Aug 2024 11:15:21 -0400 Subject: Compressor Multiblock (#2861) * Compressor boilerplate * Getting test structure working * Structure fixes * Implemented basic HIP and Black Hole structure elements complete with heat and black hole stabilization mechanics * Cooling glow, also HIP cools much slower than it heats * Got blue cooling texture working * spotless :3 * Force structure checks every 10 seconds like nano forge * Neutronium compressor recipemap created * Various strange changes attempting to get a neutronium compressor map working. Shelved for now * Absolutely going hog wild with neutronium testing * BIG RECIPE * Added Ollie author tag * Added a bunch of neutronium compressor recipes * Deeply cursed recipemap combining * Neutronium compressor structure * Black hole requirement for recipes established * Black hole implementation changed * Added black hole catalyzation * spotless * Removed neutronium compressor recipes from gt5u * Made eternal singularity work somehow * Boilerplate for new hatches * Tinkering * Split the multi in 4 * Fix refactor * Implemented the new black hole mechanic with catalysts. * Give speed bonuses/nerfs to recipes based on black hole. Shuffled some logic around * Imported real structures * Proper HIP implementation with heat sensor * Cut HIP mechanics from Neutronium * Restore Gangue for use in a black hole recipe * Made Gangue blocks load * sa+update deps * Added t1/t2 casings * Temporary casings for neutronium * SA from merge * Temporary HIP Textures * Temporary Black Hole textures * Support machinemode for black hole, support special value for compression * Don't let neutronium compressor do black hole recipes * Get all of the numbers in * Tooltip adjustments for readability * Casing fix and more tooltips * Correct structure tooltips * Improve legibility of HIP tooltip * 1 parallel per tier when overheated * Lost my privates * Fixed modern cast and imported the new textures * Removed very unnecessary logic * Nerf HIP parallels to 4 to make black hole better * Change all special value stuff to proper metadata --------- Co-authored-by: Martin Robertz --- .../gregtech/common/blocks/GT_Block_Casings10.java | 32 +- .../gregtech/common/blocks/GT_Block_Glass1.java | 9 +- .../gregtech/common/blocks/GT_Item_Glass1.java | 21 + .../common/items/GT_MetaGenerated_Item_01.java | 419 +++++++++++++++- .../java/gregtech/common/items/ID_MetaItem_01.java | 2 + .../GT_MetaTileEntity_BlackHoleCompressor.java | 539 +++++++++++++++++++++ .../GT_MetaTileEntity_HIPCompressor.java | 525 ++++++++++++++++++++ .../compressor/GT_MetaTileEntity_HeatSensor.java | 188 +++++++ .../GT_MetaTileEntity_IndustrialCompressor.java | 244 ++++++++++ .../GT_MetaTileEntity_NeutroniumCompressor.java | 261 ++++++++++ 10 files changed, 2233 insertions(+), 7 deletions(-) create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/compressor/GT_MetaTileEntity_BlackHoleCompressor.java create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/compressor/GT_MetaTileEntity_HIPCompressor.java create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/compressor/GT_MetaTileEntity_HeatSensor.java create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/compressor/GT_MetaTileEntity_IndustrialCompressor.java create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/compressor/GT_MetaTileEntity_NeutroniumCompressor.java (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Casings10.java b/src/main/java/gregtech/common/blocks/GT_Block_Casings10.java index 9c9db0a7e9..1a0902da97 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Casings10.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Casings10.java @@ -19,14 +19,33 @@ public class GT_Block_Casings10 extends GT_Block_Casings_Abstract { super(GT_Item_Casings10.class, "gt.blockcasings10", GT_Material_Casings.INSTANCE, 16); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "MagTech Casing"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Laser Containment Casing"); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "Quark Exclusion Casing"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "Pressure Containment Casing"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "Electric Compressor Casing"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "Compression Pipe Casing"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Neutronium Casing"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Active Neutronium Casing"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "Neutronium Stabilization Casing"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".9.name", "Coolant Duct"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "Heating Duct"); + GT_LanguageManager + .addStringLocalization(getUnlocalizedName() + ".11.name", "Extreme Density Space-Bending Casing"); + GT_LanguageManager + .addStringLocalization(getUnlocalizedName() + ".12.name", "Background Radiation Absorbent Casing"); ItemList.Casing_Electromagnetic_Separator.set(new ItemStack(this, 1, 0)); - ItemList.BlockQuarkContainmentCasing.set(new ItemStack(this, 1, 2)); ItemList.Casing_Laser.set(new ItemStack(this, 1, 1)); + ItemList.BlockQuarkContainmentCasing.set(new ItemStack(this, 1, 2)); ItemList.Casing_Autoclave.set(new ItemStack(this, 1, 3)); + ItemList.Compressor_Casing.set(new ItemStack(this, 1, 4)); + ItemList.Compressor_Pipe_Casing.set(new ItemStack(this, 1, 5)); + ItemList.Neutronium_Casing.set(new ItemStack(this, 1, 6)); + ItemList.Neutronium_Active_Casing.set(new ItemStack(this, 1, 7)); + ItemList.Neutronium_Stable_Casing.set(new ItemStack(this, 1, 8)); + ItemList.Coolant_Duct_Casing.set(new ItemStack(this, 1, 9)); + ItemList.Heating_Duct_Casing.set(new ItemStack(this, 1, 10)); + ItemList.Extreme_Density_Casing.set(new ItemStack(this, 1, 11)); + ItemList.Background_Radiation_Casing.set(new ItemStack(this, 1, 12)); } @Override @@ -42,6 +61,15 @@ public class GT_Block_Casings10 extends GT_Block_Casings_Abstract { case 1 -> Textures.BlockIcons.MACHINE_CASING_LASER.getIcon(); case 2 -> Textures.BlockIcons.BLOCK_QUARK_CONTAINMENT_CASING.getIcon(); case 3 -> Textures.BlockIcons.MACHINE_CASING_AUTOCLAVE.getIcon(); + case 4 -> Textures.BlockIcons.COMPRESSOR_CASING.getIcon(); + case 5 -> Textures.BlockIcons.COMPRESSOR_PIPE_CASING.getIcon(); + case 6 -> Textures.BlockIcons.NEUTRONIUM_CASING.getIcon(); + case 7 -> Textures.BlockIcons.NEUTRONIUM_ACTIVE_CASING.getIcon(); + case 8 -> Textures.BlockIcons.NEUTRONIUM_STABLE_CASING.getIcon(); + case 9 -> Textures.BlockIcons.MACHINE_CASING_PIPE_TUNGSTENSTEEL.getIcon(); + case 10 -> Textures.BlockIcons.MACHINE_CASING_PIPE_BRONZE.getIcon(); + case 11 -> Textures.BlockIcons.EXTREME_DENSITY_CASING.getIcon(); + case 12 -> Textures.BlockIcons.RADIATION_ABSORBENT_CASING.getIcon(); default -> Textures.BlockIcons.MACHINE_CASING_ROBUST_TUNGSTENSTEEL.getIcon(); }; } diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Glass1.java b/src/main/java/gregtech/common/blocks/GT_Block_Glass1.java index 0665411259..2aa5613d11 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Glass1.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Glass1.java @@ -26,20 +26,20 @@ public class GT_Block_Glass1 extends GT_Block_Casings_Abstract { this.opaque = false; GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "Chemical Grade Glass"); - GT_LanguageManager.addStringLocalization( - getUnlocalizedName() + ".0.tooltip", - "Able to resist the most extreme chemical conditions."); - GT_LanguageManager .addStringLocalization(getUnlocalizedName() + ".1.name", "Electron-Permeable Neutronium Coated Glass"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "Omni-Purpose Infinity Fused Glass"); GT_LanguageManager .addStringLocalization(getUnlocalizedName() + ".3.name", "Non-Photonic Matter Exclusion Glass"); + GT_LanguageManager + .addStringLocalization(getUnlocalizedName() + ".4.name", "Hawking Radiation Realignment Focus"); ItemList.GlassPHResistant.set(new ItemStack(this, 1, 0)); ItemList.GlassUVResistant.set(new ItemStack(this, 1, 1)); ItemList.GlassOmniPurposeInfinityFused.set(new ItemStack(this, 1, 2)); ItemList.GlassQuarkContainment.set(new ItemStack(this, 1, 3)); + ItemList.GlassQuarkContainment.set(new ItemStack(this, 1, 3)); + ItemList.Hawking_Glass.set(new ItemStack(this, 1, 4)); } @Override @@ -77,6 +77,7 @@ public class GT_Block_Glass1 extends GT_Block_Casings_Abstract { case 1 -> Textures.BlockIcons.NEUTRONIUM_COATED_UV_RESISTANT_GLASS.getIcon(); case 2 -> Textures.BlockIcons.OMNI_PURPOSE_INFINITY_FUSED_GLASS.getIcon(); case 3 -> Textures.BlockIcons.GLASS_QUARK_CONTAINMENT.getIcon(); + case 4 -> Textures.BlockIcons.HAWKING_GLASS.getIcon(); default -> Textures.BlockIcons.MACHINE_CASING_ROBUST_TUNGSTENSTEEL.getIcon(); }; } diff --git a/src/main/java/gregtech/common/blocks/GT_Item_Glass1.java b/src/main/java/gregtech/common/blocks/GT_Item_Glass1.java index 7fbb33ff6e..e8d0b6c236 100644 --- a/src/main/java/gregtech/common/blocks/GT_Item_Glass1.java +++ b/src/main/java/gregtech/common/blocks/GT_Item_Glass1.java @@ -1,6 +1,12 @@ package gregtech.common.blocks; +import java.util.List; + import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; + +import gregtech.api.util.GT_LanguageManager; /** * The glass types are split into separate files because they are registered as regular blocks, and a regular block can @@ -9,7 +15,22 @@ import net.minecraft.block.Block; */ public class GT_Item_Glass1 extends GT_Item_Casings_Abstract { + protected final String chemicalGlassTooltip = GT_LanguageManager.addStringLocalization( + getUnlocalizedName() + ".0.tooltip", + "Able to resist the most extreme chemical conditions."); + protected final String hawkingGlassTooltip = GT_LanguageManager.addStringLocalization( + getUnlocalizedName() + ".4.tooltip", + "Controls the outward flow of Hawking Radiation to stabilize a black hole."); + public GT_Item_Glass1(Block block) { super(block); } + + @Override + public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { + switch (getDamage(aStack)) { + case 0 -> aList.add(chemicalGlassTooltip); + case 4 -> aList.add(hawkingGlassTooltip); + } + } } 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 17d0c13f03..f7463ae576 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 @@ -48,7 +48,410 @@ import static gregtech.client.GT_TooltipHandler.Tier.UV; import static gregtech.client.GT_TooltipHandler.Tier.UXV; import static gregtech.client.GT_TooltipHandler.Tier.ZPM; import static gregtech.client.GT_TooltipHandler.registerTieredTooltip; -import static gregtech.common.items.ID_MetaItem_01.*; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_EV; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_EV_Full; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_IV; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_IV_Full; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_LuV; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_LuV_Full; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UEV; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UEV_Full; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UHV; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UHV_Full; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UIV; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UIV_Full; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UMV; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UMV_Full; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UV; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UV_Full; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UxV; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UxV_Full; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_ZPM; +import static gregtech.common.items.ID_MetaItem_01.BatteryHull_ZPM_Full; +import static gregtech.common.items.ID_MetaItem_01.Battery_Hull_HV; +import static gregtech.common.items.ID_MetaItem_01.Battery_Hull_LV; +import static gregtech.common.items.ID_MetaItem_01.Battery_Hull_MV; +import static gregtech.common.items.ID_MetaItem_01.Battery_RE_HV_Cadmium; +import static gregtech.common.items.ID_MetaItem_01.Battery_RE_HV_Lithium; +import static gregtech.common.items.ID_MetaItem_01.Battery_RE_HV_Sodium; +import static gregtech.common.items.ID_MetaItem_01.Battery_RE_LV_Cadmium; +import static gregtech.common.items.ID_MetaItem_01.Battery_RE_LV_Lithium; +import static gregtech.common.items.ID_MetaItem_01.Battery_RE_LV_Sodium; +import static gregtech.common.items.ID_MetaItem_01.Battery_RE_MV_Cadmium; +import static gregtech.common.items.ID_MetaItem_01.Battery_RE_MV_Lithium; +import static gregtech.common.items.ID_MetaItem_01.Battery_RE_MV_Sodium; +import static gregtech.common.items.ID_MetaItem_01.Battery_RE_ULV_Tantalum; +import static gregtech.common.items.ID_MetaItem_01.Battery_SU_HV_Mercury; +import static gregtech.common.items.ID_MetaItem_01.Battery_SU_HV_Sulfuric_Acid; +import static gregtech.common.items.ID_MetaItem_01.Battery_SU_LV_Mercury; +import static gregtech.common.items.ID_MetaItem_01.Battery_SU_LV_Sulfuric_Acid; +import static gregtech.common.items.ID_MetaItem_01.Battery_SU_MV_Mercury; +import static gregtech.common.items.ID_MetaItem_01.Battery_SU_MV_Sulfuric_Acid; +import static gregtech.common.items.ID_MetaItem_01.Black_Hole_Closer; +import static gregtech.common.items.ID_MetaItem_01.Black_Hole_Opener; +import static gregtech.common.items.ID_MetaItem_01.Book_Written_01; +import static gregtech.common.items.ID_MetaItem_01.Book_Written_02; +import static gregtech.common.items.ID_MetaItem_01.Book_Written_03; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Advanced; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Basic; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Board_Advanced; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Board_Basic; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Board_Elite; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Data; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Elite; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Good; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Master; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Advanced; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Crystal_Chip_Elite; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Crystal_Chip_Master; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Crystal_Chip_Wetware; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Wiring_Advanced; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Wiring_Basic; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Wiring_Elite; +import static gregtech.common.items.ID_MetaItem_01.Circuit_Primitive; +import static gregtech.common.items.ID_MetaItem_01.Component_Filter; +import static gregtech.common.items.ID_MetaItem_01.Component_Grinder_Diamond; +import static gregtech.common.items.ID_MetaItem_01.Component_Grinder_Tungsten; +import static gregtech.common.items.ID_MetaItem_01.Component_Minecraft_Wheels_Iron; +import static gregtech.common.items.ID_MetaItem_01.Component_Minecraft_Wheels_Steel; +import static gregtech.common.items.ID_MetaItem_01.Component_Sawblade_Diamond; +import static gregtech.common.items.ID_MetaItem_01.Compressed_Fireclay; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_EV; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_HV; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_IV; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_LV; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_LuV; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_MAX; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_MV; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UEV; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UHV; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UIV; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UMV; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UV; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UXV; +import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_ZPM; +import static gregtech.common.items.ID_MetaItem_01.Cover_ActivityDetector; +import static gregtech.common.items.ID_MetaItem_01.Cover_Chest_Advanced; +import static gregtech.common.items.ID_MetaItem_01.Cover_Chest_Basic; +import static gregtech.common.items.ID_MetaItem_01.Cover_Chest_Good; +import static gregtech.common.items.ID_MetaItem_01.Cover_Controller; +import static gregtech.common.items.ID_MetaItem_01.Cover_Crafting; +import static gregtech.common.items.ID_MetaItem_01.Cover_Drain; +import static gregtech.common.items.ID_MetaItem_01.Cover_EnergyDetector; +import static gregtech.common.items.ID_MetaItem_01.Cover_FLuidStorageMonitor; +import static gregtech.common.items.ID_MetaItem_01.Cover_FluidDetector; +import static gregtech.common.items.ID_MetaItem_01.Cover_FluidLimiter; +import static gregtech.common.items.ID_MetaItem_01.Cover_ItemDetector; +import static gregtech.common.items.ID_MetaItem_01.Cover_NeedsMaintenance; +import static gregtech.common.items.ID_MetaItem_01.Cover_PlayerDetector; +import static gregtech.common.items.ID_MetaItem_01.Cover_RedstoneReceiverExternal; +import static gregtech.common.items.ID_MetaItem_01.Cover_RedstoneReceiverInternal; +import static gregtech.common.items.ID_MetaItem_01.Cover_RedstoneTransmitterExternal; +import static gregtech.common.items.ID_MetaItem_01.Cover_RedstoneTransmitterInternal; +import static gregtech.common.items.ID_MetaItem_01.Cover_Screen; +import static gregtech.common.items.ID_MetaItem_01.Cover_Shutter; +import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel; +import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_8V; +import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_EV; +import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_HV; +import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_IV; +import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_LV; +import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_LuV; +import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_MV; +import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_UV; +import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_ZPM; +import static gregtech.common.items.ID_MetaItem_01.Crate_Empty; +import static gregtech.common.items.ID_MetaItem_01.Duct_Tape; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_EV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_HV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_IV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_LV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_LuV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_MAX; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_MV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UEV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UHV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UIV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UMV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UXV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_ZPM; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_EV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_HV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_IV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_LV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_LuV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_MAX; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_MV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UEV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UHV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UIV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UMV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UXV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_ZPM; +import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_EV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_HV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_IV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_LV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_LuV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_MAX; +import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_MV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UEV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UHV; +import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UIV; +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; +import static gregtech.common.items.ID_MetaItem_01.Emitter_LV; +import static gregtech.common.items.ID_MetaItem_01.Emitter_LuV; +import static gregtech.common.items.ID_MetaItem_01.Emitter_MAX; +import static gregtech.common.items.ID_MetaItem_01.Emitter_MV; +import static gregtech.common.items.ID_MetaItem_01.Emitter_UEV; +import static gregtech.common.items.ID_MetaItem_01.Emitter_UHV; +import static gregtech.common.items.ID_MetaItem_01.Emitter_UIV; +import static gregtech.common.items.ID_MetaItem_01.Emitter_UMV; +import static gregtech.common.items.ID_MetaItem_01.Emitter_UV; +import static gregtech.common.items.ID_MetaItem_01.Emitter_UXV; +import static gregtech.common.items.ID_MetaItem_01.Emitter_ZPM; +import static gregtech.common.items.ID_MetaItem_01.Empty_Board_Basic; +import static gregtech.common.items.ID_MetaItem_01.Empty_Board_Elite; +import static gregtech.common.items.ID_MetaItem_01.EnergisedTesseract; +import static gregtech.common.items.ID_MetaItem_01.Energy_Cluster; +import static gregtech.common.items.ID_MetaItem_01.Energy_Lapotronic_Orb; +import static gregtech.common.items.ID_MetaItem_01.Energy_Lapotronic_orb_2; +import static gregtech.common.items.ID_MetaItem_01.Energy_Module; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_EV; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_HV; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_IV; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_LV; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_LuV; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_MAX; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_MV; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UEV; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UHV; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UIV; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UMV; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UV; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UXV; +import static gregtech.common.items.ID_MetaItem_01.Field_Generator_ZPM; +import static gregtech.common.items.ID_MetaItem_01.Firebrick; +import static gregtech.common.items.ID_MetaItem_01.FluidFilter; +import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_EV; +import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_HV; +import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_IV; +import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_LV; +import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_LuV; +import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_MV; +import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_UV; +import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_ZPM; +import static gregtech.common.items.ID_MetaItem_01.Fuel_Can_Plastic_Empty; +import static gregtech.common.items.ID_MetaItem_01.Fuel_Can_Plastic_Filled; +import static gregtech.common.items.ID_MetaItem_01.GigaChad; +import static gregtech.common.items.ID_MetaItem_01.Gravistar; +import static gregtech.common.items.ID_MetaItem_01.Ingot_Heavy1; +import static gregtech.common.items.ID_MetaItem_01.Ingot_Heavy2; +import static gregtech.common.items.ID_MetaItem_01.Ingot_Heavy3; +import static gregtech.common.items.ID_MetaItem_01.Ingot_Iridium_Alloy; +import static gregtech.common.items.ID_MetaItem_01.ItemFilter_Export; +import static gregtech.common.items.ID_MetaItem_01.ItemFilter_Import; +import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Aluminium; +import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Chrome; +import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Iridium; +import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Neutronium; +import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Osmium; +import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_StainlessSteel; +import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Steel; +import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Titanium; +import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_TungstenSteel; +import static gregtech.common.items.ID_MetaItem_01.McGuffium_239; +import static gregtech.common.items.ID_MetaItem_01.NC_SensorKit; +import static gregtech.common.items.ID_MetaItem_01.NaquadriaSupersolid; +import static gregtech.common.items.ID_MetaItem_01.Paper_Magic_Empty; +import static gregtech.common.items.ID_MetaItem_01.Paper_Magic_Page; +import static gregtech.common.items.ID_MetaItem_01.Paper_Magic_Pages; +import static gregtech.common.items.ID_MetaItem_01.Paper_Printed_Pages; +import static gregtech.common.items.ID_MetaItem_01.Paper_Punch_Card_Empty; +import static gregtech.common.items.ID_MetaItem_01.Paper_Punch_Card_Encoded; +import static gregtech.common.items.ID_MetaItem_01.QuantumEye; +import static gregtech.common.items.ID_MetaItem_01.QuantumStar; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_EV; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_HV; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_IV; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_LV; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_LuV; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_MAX; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_MV; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UEV; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UHV; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UIV; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UMV; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UV; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UXV; +import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_ZPM; +import static gregtech.common.items.ID_MetaItem_01.Schematic; +import static gregtech.common.items.ID_MetaItem_01.Schematic_1by1; +import static gregtech.common.items.ID_MetaItem_01.Schematic_2by2; +import static gregtech.common.items.ID_MetaItem_01.Schematic_3by3; +import static gregtech.common.items.ID_MetaItem_01.Schematic_Crafting; +import static gregtech.common.items.ID_MetaItem_01.Schematic_Dust; +import static gregtech.common.items.ID_MetaItem_01.Sensor_EV; +import static gregtech.common.items.ID_MetaItem_01.Sensor_HV; +import static gregtech.common.items.ID_MetaItem_01.Sensor_IV; +import static gregtech.common.items.ID_MetaItem_01.Sensor_LV; +import static gregtech.common.items.ID_MetaItem_01.Sensor_LuV; +import static gregtech.common.items.ID_MetaItem_01.Sensor_MAX; +import static gregtech.common.items.ID_MetaItem_01.Sensor_MV; +import static gregtech.common.items.ID_MetaItem_01.Sensor_UEV; +import static gregtech.common.items.ID_MetaItem_01.Sensor_UHV; +import static gregtech.common.items.ID_MetaItem_01.Sensor_UIV; +import static gregtech.common.items.ID_MetaItem_01.Sensor_UMV; +import static gregtech.common.items.ID_MetaItem_01.Sensor_UV; +import static gregtech.common.items.ID_MetaItem_01.Sensor_UXV; +import static gregtech.common.items.ID_MetaItem_01.Sensor_ZPM; +import static gregtech.common.items.ID_MetaItem_01.Shape_Empty; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Axe; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Block; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Bolt; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Bottle; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Casing; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Cell; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_File; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Gear; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Hammer; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Hoe; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Ingot; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pickaxe; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Huge; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Large; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Medium; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Small; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Tiny; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Plate; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Ring; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Rod; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Rotor; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Saw; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Shovel; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Small_Gear; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Sword; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Tool_Head_Drill; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Turbine_Blade; +import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Wire; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Anvil; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Arrow; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Baguette; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Ball; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Block; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Bolt; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Bottle; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Bread; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Bun; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Casing; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Credit; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Cylinder; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Gear; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Gear_Small; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Ingot; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Name; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Nugget; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Huge; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Large; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Medium; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Small; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Tiny; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Plate; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Ring; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Rod; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Rod_Long; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Rotor; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Round; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Screw; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Tool_Head_Drill; +import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Turbine_Blade; +import static gregtech.common.items.ID_MetaItem_01.Shape_Slicer_Flat; +import static gregtech.common.items.ID_MetaItem_01.Shape_Slicer_Stripes; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_0; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_1; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_10; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_11; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_12; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_13; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_14; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_15; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_2; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_3; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_4; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_5; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_6; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_7; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_8; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_9; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Remover; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Remover_Empty; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_0; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_1; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_10; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_11; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_12; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_13; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_14; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_15; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_2; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_3; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_4; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_5; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_6; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_7; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_8; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_9; +import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_Remover; +import static gregtech.common.items.ID_MetaItem_01.Spray_Empty; +import static gregtech.common.items.ID_MetaItem_01.StableAdhesive; +import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_EV; +import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_HV; +import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_IV; +import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_LV; +import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_MV; +import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_EV; +import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_HV; +import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_IV; +import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_LV; +import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_MV; +import static gregtech.common.items.ID_MetaItem_01.SuperconductorComposite; +import static gregtech.common.items.ID_MetaItem_01.Tesseract; +import static gregtech.common.items.ID_MetaItem_01.Thermos_Can_Empty; +import static gregtech.common.items.ID_MetaItem_01.Tool_Cheat; +import static gregtech.common.items.ID_MetaItem_01.Tool_Cover_Copy_Paste; +import static gregtech.common.items.ID_MetaItem_01.Tool_DataOrb; +import static gregtech.common.items.ID_MetaItem_01.Tool_DataStick; +import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Invar_Empty; +import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Invar_Full; +import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Invar_Used; +import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Platinum_Empty; +import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Platinum_Full; +import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Platinum_Used; +import static gregtech.common.items.ID_MetaItem_01.Tool_MatchBox_Full; +import static gregtech.common.items.ID_MetaItem_01.Tool_MatchBox_Used; +import static gregtech.common.items.ID_MetaItem_01.Tool_Matches; +import static gregtech.common.items.ID_MetaItem_01.Tool_Scanner; +import static gregtech.common.items.ID_MetaItem_01.Tool_Sonictron; +import static gregtech.common.items.ID_MetaItem_01.Upgrade_Lock; +import static gregtech.common.items.ID_MetaItem_01.Upgrade_Muffler; +import static gregtech.common.items.ID_MetaItem_01.ZPM2; +import static gregtech.common.items.ID_MetaItem_01.ZPM3; +import static gregtech.common.items.ID_MetaItem_01.ZPM4; +import static gregtech.common.items.ID_MetaItem_01.ZPM5; +import static gregtech.common.items.ID_MetaItem_01.ZPM6; import java.util.Collection; import java.util.HashMap; @@ -2754,6 +3157,20 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { EnumChatFormatting.GREEN + "Tengam Electromagnet", MagnetTiers.buildMagnetTooltip(MagnetTiers.Tengam), new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 40))); + ItemList.Black_Hole_Opener.set( + addItem( + Black_Hole_Opener.ID, + "Black Hole Activation Catalyst", + "Opens a semi-stable black hole", + new TC_Aspects.TC_AspectStack(TC_Aspects.ALIENIS, 32), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 64))); + ItemList.Black_Hole_Closer.set( + addItem( + Black_Hole_Closer.ID, + "Black Hole Deactivation Catalyst", + "Safely closes a semi-stable black hole", + new TC_Aspects.TC_AspectStack(TC_Aspects.ALIENIS, 32), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 64))); // Empty battery hulls ItemList.BatteryHull_EV.set( 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 1de01d7bef..5748442f86 100644 --- a/src/main/java/gregtech/common/items/ID_MetaItem_01.java +++ b/src/main/java/gregtech/common/items/ID_MetaItem_01.java @@ -152,6 +152,8 @@ public enum ID_MetaItem_01 { Tesseract(415), GigaChad(416), EnergisedTesseract(417), + Black_Hole_Opener(418), + Black_Hole_Closer(419), StableAdhesive(427), SuperconductorComposite(428), NaquadriaSupersolid(429), diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/compressor/GT_MetaTileEntity_BlackHoleCompressor.java b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/GT_MetaTileEntity_BlackHoleCompressor.java new file mode 100644 index 0000000000..0b36d35cf8 --- /dev/null +++ b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/GT_MetaTileEntity_BlackHoleCompressor.java @@ -0,0 +1,539 @@ +package gregtech.common.tileentities.machines.multi.compressor; + +import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; +import static gregtech.api.enums.GT_HatchElement.*; +import static gregtech.api.enums.GT_Values.AuthorFourIsTheNumber; +import static gregtech.api.enums.GT_Values.Ollie; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_MULTI_COMPRESSOR; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_MULTI_COMPRESSOR_ACTIVE; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_MULTI_COMPRESSOR_ACTIVE_GLOW; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_MULTI_COMPRESSOR_GLOW; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import static gregtech.api.util.GT_StructureUtility.ofFrame; + +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import java.util.stream.Stream; + +import javax.annotation.Nonnull; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.FluidStack; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; +import com.gtnewhorizon.structurelib.structure.IStructureDefinition; +import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; +import com.gtnewhorizon.structurelib.structure.StructureDefinition; + +import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UITextures; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.logic.ProcessingLogic; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_ExtendedPowerMultiBlockBase; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; +import gregtech.api.recipe.RecipeMap; +import gregtech.api.recipe.RecipeMaps; +import gregtech.api.recipe.check.CheckRecipeResult; +import gregtech.api.recipe.check.CheckRecipeResultRegistry; +import gregtech.api.recipe.metadata.CompressionTierKey; +import gregtech.api.render.TextureFactory; +import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; +import gregtech.common.blocks.GT_Block_Casings10; +import gregtech.common.items.GT_MetaGenerated_Item_01; +import gtPlusPlus.core.util.minecraft.PlayerUtils; +import mcp.mobius.waila.api.IWailaConfigHandler; +import mcp.mobius.waila.api.IWailaDataAccessor; + +public class GT_MetaTileEntity_BlackHoleCompressor + extends GT_MetaTileEntity_ExtendedPowerMultiBlockBase + implements ISurvivalConstructable { + + private static final String STRUCTURE_PIECE_MAIN = "main"; + private static final IStructureDefinition STRUCTURE_DEFINITION = StructureDefinition + .builder() + .addShape( + STRUCTURE_PIECE_MAIN, + // spotless:off + transpose(new String[][]{ + {" "," "," "," "," "," "," "," "," "," CC CC "," CC CC "," CC CC "," CCC CCC "," CCC CCC "," CCCCC CCCCC "," CCCC CCCC "," "," "," "," CCCC CCCC "," CCCCC CCCCC "," CCC CCC "," CCC CCC "," CC CC "," CC CC "," CC CC "," "," "," "," "," "," "," "," "," "}, + {" "," "," "," "," "," "," "," CC CC "," CC CC "," CCC CCC "," CCC CCC "," CCCC CCCC "," CCCCC CCCCC "," CCCCCC CCCCCC "," CCCCCCC CCCCCCC "," CCCCCC CCCCCC "," "," "," "," CCCCCC CCCCCC "," CCCCCCC CCCCCCC "," CCCCCC CCCCCC "," CCCCC CCCCC "," CCCC CCCC "," CCC CCC "," CCC CCC "," CC CC "," CC CC "," "," "," "," "," "," "," "}, + {" "," "," "," "," "," "," CCBBBCC "," BBCCCCCCCBB "," BCCCCCCCCCCCB "," BCCCCCCCCCCCCCB "," BCCCCCCCCCCCCCCCB "," BCCCCCCCCCCCCCCCCCB "," BCCCCCCCBBBBBCCCCCCCB "," BCCCCCCB BCCCCCCB "," CCCCCCCB BCCCCCCC "," CCCCCCB BBB BCCCCCC "," BCCCCCB B B BCCCCCB "," BCCCCCB B B BCCCCCB "," BCCCCCB B B BCCCCCB "," CCCCCCB BBB BCCCCCC "," CCCCCCCB BCCCCCCC "," BCCCCCCB BCCCCCCB "," BCCCCCCCBBBBBCCCCCCCB "," BCCCCCCCCCCCCCCCCCB "," BCCCCCCCCCCCCCCCB "," BCCCCCCCCCCCCCB "," BCCCCCCCCCCCB "," BBCCCCCCCBB "," CCBBBCC "," "," "," "," "," "," "}, + {" "," "," "," "," "," CC CC "," CCBBBCC "," BBCCCCCCCBB "," BCCCCCCCCCCCB "," BCCCCCCCCCCCCCB "," BCCCCCCCCCCCCCCCB "," BCCCCCCCCCCCCCCCCCB "," BCCCCCCCBBBBBCCCCCCCB "," BCCCCCCBCCCCCBCCCCCCB "," CCCCCCCCBCCCCCCCBCCCCCCCC "," CCCCCCCBCCCCCCCCCBCCCCCCC "," BCCCCCBCCCCCCCCCBCCCCCB "," BCCCCCBCCCCCCCCCBCCCCCB "," BCCCCCBCCCCCCCCCBCCCCCB "," CCCCCCCBCCCCCCCCCBCCCCCCC "," CCCCCCCCBCCCCCCCBCCCCCCCC "," BCCCCCCBCCCCCBCCCCCCB "," BCCCCCCCBBBBBCCCCCCCB "," BCCCCCCCCCCCCCCCCCB "," BCCCCCCCCCCCCCCCB "," BCCCCCCCCCCCCCB "," BCCCCCCCCCCCB "," BBCCCCCCCBB "," CCBBBCC "," CC CC "," "," "," "," "," "}, + {" "," "," "," "," CC CC "," CCDDDCC "," CCBBBCC "," BBCCCCCCCBB "," BCCCCCCCCCCCB "," BCCCCCCCCCCCCCB "," BCCCCCCCCCCCCCCCB "," BCCCCCCCCCCCCCCCCCB "," BCCCCCCCBBBBBCCCCCCCB "," BCCCCCCB BCCCCCCB "," CCCCCCCCCB BCCCCCCCCC "," CCCCCCCCB BCCCCCCCC "," DBCCCCCB BCCCCCBD "," DBCCCCCB BCCCCCBD "," DBCCCCCB BCCCCCBD "," CCCCCCCCB BCCCCCCCC "," CCCCCCCCCB BCCCCCCCCC "," BCCCCCCB BCCCCCCB "," BCCCCCCCBBBBBCCCCCCCB "," BCCCCCCCCCCCCCCCCCB "," BCCCCCCCCCCCCCCCB "," BCCCCCCCCCCCCCB "," BCCCCCCCCCCCB "," BBCCCCCCCBB "," CCBBBCC "," CCDDDCC "," CC CC "," "," "," "," "}, + {" "," "," "," CC CC "," CC CC "," CC CC "," "," "," "," BB BB "," BBBB CCCCC BBBB "," BBBBCC CCBBBB "," BBC CBB "," C C "," CCC C C CCC "," CCC C C CCC "," C C "," C C "," C C "," CCC C C CCC "," CCC C C CCC "," C C "," BBC CBB "," BBBBCC CCBBBB "," BBBB CCCCC BBBB "," BB BB "," "," "," "," CC CC "," CC CC "," CC CC "," "," "," "}, + {" "," "," "," CC CC "," CCDDDCC "," "," "," "," "," "," "," BBB CCCCC BBB "," BBCC CCBB "," BC CB "," CC C C CC "," CC C C CC "," D C C D "," D C C D "," D C C D "," CC C C CC "," CC C C CC "," BC CB "," BBCC CCBB "," BBB CCCCC BBB "," "," "," "," "," "," "," CCDDDCC "," CC CC "," "," "," "}, + {" "," "," CC CC "," CC CC "," CC CC "," "," "," "," "," "," "," "," BBBCCCCCBBB "," BBC CBB "," CCC BC CB CCC "," CCC C C CCC "," C C "," C C "," C C "," CCC C C CCC "," CCC BC CB CCC "," BBC CBB "," BBBCCCCCBBB "," "," "," "," "," "," "," "," CC CC "," CC CC "," CC CC "," "," "}, + {" "," "," CC CC "," CCDDDCC "," "," "," "," "," "," "," "," "," "," BBCCCCCBB "," CC BC CB CC "," CC C C CC "," D C C D "," D C C D "," D C C D "," CC C C CC "," CC BC CB CC "," BBCCCCCBB "," "," "," "," "," "," "," "," "," "," CCDDDCC "," CC CC "," "," "}, + {" "," "," CC CC "," CC CC "," "," "," "," "," "," "," "," "," "," BCCCCCB "," CC BC CB CC "," CC C C CC "," C C "," C C "," C C "," CC C C CC "," CC BC CB CC "," BCCCCCB "," "," "," "," "," "," "," "," "," "," CC CC "," CC CC "," "," "}, + {" "," CC CC "," CCDDDCC "," CC CC "," "," "," "," "," "," "," "," "," "," "," CCC BBCCCBB CCC "," CCC BC CB CCC "," D C C D "," D C C D "," D C C D "," CCC BC CB CCC "," CCC BBCCCBB CCC "," "," "," "," "," "," "," "," "," "," "," CC CC "," CCDDDCC "," CC CC "," "}, + {" "," CC CC "," CC CC "," "," "," "," "," "," "," "," "," "," "," "," CC BCCCB CC "," CC BC CB CC "," C C "," C C "," C C "," CC BC CB CC "," CC BCCCB CC "," "," "," "," "," "," "," "," "," "," "," "," CC CC "," CC CC "," "}, + {" "," CCDDDCC "," CC CC "," "," "," "," "," "," "," "," "," "," "," "," CC BBB CC "," CC BCCCB CC "," D BCCCCCB D "," D BCCCCCB D "," D BCCCCCB D "," CC BCCCB CC "," CC BBB CC "," "," "," "," "," "," "," "," "," "," "," "," CC CC "," CCDDDCC "," "}, + {" "," CC CC "," CCBBBCC "," CCC "," "," "," "," "," "," "," "," "," "," "," CC