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 --- .../common/register/WerkstoffMaterialPool.java | 14 + .../com/elisis/gtnhlanth/loader/RecipeLoader.java | 2 + src/main/java/gregtech/api/enums/GT_Values.java | 1 + src/main/java/gregtech/api/enums/ItemList.java | 20 + .../java/gregtech/api/enums/MetaTileEntityIDs.java | 7 +- src/main/java/gregtech/api/enums/Textures.java | 21 +- .../gregtech/api/gui/modularui/GT_UITextures.java | 4 + src/main/java/gregtech/api/recipe/RecipeMaps.java | 21 + .../recipe/check/CheckRecipeResultRegistry.java | 10 + .../api/recipe/metadata/CompressionTierKey.java | 33 + .../java/gregtech/api/util/GT_LanguageManager.java | 2 + .../java/gregtech/api/util/GT_RecipeConstants.java | 7 + .../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 ++++++ .../preload/GT_Loader_MetaTileEntities.java | 915 ++++++++++++++++++++- src/main/resources/assets/gregtech/lang/en_US.lang | 8 +- .../textures/blocks/iconsets/COMPRESSOR_CASING.png | Bin 0 -> 266 bytes .../blocks/iconsets/COMPRESSOR_PIPE_CASING.png | Bin 0 -> 243 bytes .../blocks/iconsets/EXTREME_DENSITY_CASING.png | Bin 0 -> 411 bytes .../textures/blocks/iconsets/HAWKING_GLASS.png | Bin 0 -> 179 bytes .../blocks/iconsets/NEUTRONIUM_ACTIVE_CASING.png | Bin 0 -> 2378 bytes .../iconsets/NEUTRONIUM_ACTIVE_CASING.png.mcmeta | 5 + .../textures/blocks/iconsets/NEUTRONIUM_CASING.png | Bin 0 -> 428 bytes .../blocks/iconsets/NEUTRONIUM_STABLE_CASING.png | Bin 0 -> 328 bytes .../iconsets/OVERLAY_FRONT_MULTI_COMPRESSOR.png | Bin 0 -> 254 bytes .../OVERLAY_FRONT_MULTI_COMPRESSOR_ACTIVE.png | Bin 0 -> 255 bytes .../OVERLAY_FRONT_MULTI_COMPRESSOR_ACTIVE_GLOW.png | Bin 0 -> 255 bytes .../OVERLAY_FRONT_MULTI_COMPRESSOR_COOLING.png | Bin 0 -> 371 bytes ...OVERLAY_FRONT_MULTI_COMPRESSOR_COOLING_GLOW.png | Bin 0 -> 265 bytes .../OVERLAY_FRONT_MULTI_COMPRESSOR_GLOW.png | Bin 0 -> 256 bytes .../blocks/iconsets/OVERLAY_HATCH_BLACKHOLE.png | Bin 0 -> 1711 bytes .../iconsets/OVERLAY_HATCH_BLACKHOLE_GLOW.png | Bin 0 -> 1702 bytes .../blocks/iconsets/RADIATION_ABSORBENT_CASING.png | Bin 0 -> 304 bytes .../overlay_button/machine_mode_compressing.png | Bin 0 -> 599 bytes .../overlay_button/machine_mode_singularity.png | Bin 0 -> 613 bytes .../gregtech/textures/items/gt.metaitem.01/418.png | Bin 0 -> 164 bytes .../gregtech/textures/items/gt.metaitem.01/419.png | Bin 0 -> 164 bytes 45 files changed, 3299 insertions(+), 11 deletions(-) create mode 100644 src/main/java/gregtech/api/recipe/metadata/CompressionTierKey.java 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 create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/COMPRESSOR_CASING.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/COMPRESSOR_PIPE_CASING.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/EXTREME_DENSITY_CASING.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/HAWKING_GLASS.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/NEUTRONIUM_ACTIVE_CASING.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/NEUTRONIUM_ACTIVE_CASING.png.mcmeta create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/NEUTRONIUM_CASING.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/NEUTRONIUM_STABLE_CASING.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_FRONT_MULTI_COMPRESSOR.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_FRONT_MULTI_COMPRESSOR_ACTIVE.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_FRONT_MULTI_COMPRESSOR_ACTIVE_GLOW.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_FRONT_MULTI_COMPRESSOR_COOLING.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_FRONT_MULTI_COMPRESSOR_COOLING_GLOW.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_FRONT_MULTI_COMPRESSOR_GLOW.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_HATCH_BLACKHOLE.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_HATCH_BLACKHOLE_GLOW.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/iconsets/RADIATION_ABSORBENT_CASING.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay_button/machine_mode_compressing.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay_button/machine_mode_singularity.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/418.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/419.png (limited to 'src') diff --git a/src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java b/src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java index 26a3cb65e3..0a7a808d8d 100644 --- a/src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java +++ b/src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java @@ -9,6 +9,7 @@ import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; import com.github.bartimaeusnek.bartworks.util.Pair; import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TextureSet; @SuppressWarnings({ "unchecked" }) @@ -682,6 +683,19 @@ public class WerkstoffMaterialPool implements Runnable { offsetID2 + 8, TextureSet.SET_DULL); + public static final Werkstoff Gangue = new Werkstoff( + new short[] { 0, 0, 0 }, + "Gangue", + subscriptNumbers("Useless..."), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable() + .onlyDust() + .addPrefix(OrePrefixes.block) + .removePrefix(OrePrefixes.ingot) + .removePrefix(OrePrefixes.gem), + offsetID2 + 9, + TextureSet.SET_DULL); // TODO: Deal with colouring public static final Werkstoff RoastedRareEarthOxides = new Werkstoff( new short[] { 160, 82, 45 }, diff --git a/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java b/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java index e568ea219c..57e58e9501 100644 --- a/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java +++ b/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java @@ -40,6 +40,7 @@ import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.FilledY import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.GadoliniumChlorideConcentrate; import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.GadoliniumExtractingNanoResin; import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.GadoliniumOreConcentrate; +import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.Gangue; import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.HolmiumChlorideConcentrate; import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.HolmiumExtractingNanoResin; import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.HolmiumOreConcentrate; @@ -1532,6 +1533,7 @@ public class RecipeLoader { WerkstoffMaterialPool.ConditionedBastnasiteMud.getFluidOrGas(1000)) .itemInputs(Materials.Saltpeter.getDust(1)) .fluidOutputs(WerkstoffMaterialPool.DiltedRareEarthBastnasiteMud.getFluidOrGas(11000)) + .itemOutputs(Gangue.get(OrePrefixes.dust, 1)) .eut(TierEU.RECIPE_EV) .duration(1000) .metadata(DISSOLUTION_TANK_RATIO, 10) diff --git a/src/main/java/gregtech/api/enums/GT_Values.java b/src/main/java/gregtech/api/enums/GT_Values.java index ec4a6ce5c7..88972e45fc 100644 --- a/src/main/java/gregtech/api/enums/GT_Values.java +++ b/src/main/java/gregtech/api/enums/GT_Values.java @@ -651,6 +651,7 @@ public class GT_Values { + EnumChatFormatting.WHITE + EnumChatFormatting.ITALIC + "Number"; + public static final String Ollie = "" + EnumChatFormatting.GREEN + EnumChatFormatting.BOLD + "Ollie"; public static final String authorBaps = "Author: " + EnumChatFormatting.GOLD + "Ba" + EnumChatFormatting.LIGHT_PURPLE diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java index bf9fa4ec90..766525c958 100644 --- a/src/main/java/gregtech/api/enums/ItemList.java +++ b/src/main/java/gregtech/api/enums/ItemList.java @@ -1091,6 +1091,8 @@ public enum ItemList implements IItemContainer { Hatch_DataAccess_LuV, Hatch_DataAccess_UV, + Hatch_HeatSensor, + Battery_Buffer_1by1_ULV, Battery_Buffer_1by1_LV, Battery_Buffer_1by1_MV, @@ -1474,6 +1476,24 @@ public enum ItemList implements IItemContainer { Electromagnet_Tengam, Machine_Multi_Canner, + + Machine_Multi_IndustrialCompressor, + Machine_Multi_HIPCompressor, + Machine_Multi_NeutroniumCompressor, + Machine_Multi_BlackHoleCompressor, + Compressor_Casing, + Compressor_Pipe_Casing, + Heating_Duct_Casing, + Coolant_Duct_Casing, + Neutronium_Casing, + Neutronium_Active_Casing, + Neutronium_Stable_Casing, + Background_Radiation_Casing, + Extreme_Density_Casing, + Hawking_Glass, + Black_Hole_Opener, + Black_Hole_Closer, + Machine_Multi_IndustrialLaserEngraver, Laser_Plate, Casing_Laser, diff --git a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java index d55d1bbcf9..7793a2f6b2 100644 --- a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java +++ b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java @@ -626,7 +626,12 @@ public enum MetaTileEntityIDs { INPUT_HATCH_ME(2717), INPUT_BUS_ME(2718), INDUSTRIAL_LASER_ENGRAVER_CONTROLLER(3004), - INDUSTRIAL_EXTRACTOR_CONTROLLER(3005), + INDUSTRIAL_COMPRESSOR_CONTROLLER(3005), + HIP_COMPRESSOR_CONTROLLER(3006), + NEUTRONIUM_COMPRESSOR_CONTROLLER(3007), + BLACKHOLE_COMPRESSOR_CONTROLLER(3008), + HEAT_DETECTOR_HATCH(3009), + INDUSTRIAL_EXTRACTOR_CONTROLLER(3010), DraconicEvolutionFusionCrafterController(5001), CHEST_BUFFER_ULV(9230), CHEST_BUFFER_LV(9231), diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java index d00c5dccb9..4a5142138a 100644 --- a/src/main/java/gregtech/api/enums/Textures.java +++ b/src/main/java/gregtech/api/enums/Textures.java @@ -336,6 +336,13 @@ public class Textures { OVERLAY_FRONT_MULTI_CANNER_ACTIVE_GLOW, OVERLAY_FRONT_MULTI_CANNER_GLOW, + OVERLAY_FRONT_MULTI_COMPRESSOR, + OVERLAY_FRONT_MULTI_COMPRESSOR_ACTIVE, + OVERLAY_FRONT_MULTI_COMPRESSOR_ACTIVE_GLOW, + OVERLAY_FRONT_MULTI_COMPRESSOR_GLOW, + OVERLAY_FRONT_MULTI_COMPRESSOR_COOLING, + OVERLAY_FRONT_MULTI_COMPRESSOR_COOLING_GLOW, + OVERLAY_FRONT_INDUSTRIAL_EXTRACTOR, OVERLAY_FRONT_INDUSTRIAL_EXTRACTOR_ACTIVE, OVERLAY_FRONT_INDUSTRIAL_EXTRACTOR_ACTIVE_GLOW, @@ -347,6 +354,7 @@ public class Textures { OVERLAY_FRONT_ENGRAVER_ACTIVE, OVERLAY_FRONT_ENGRAVER_ACTIVE_GLOW, OVERLAY_FRONT_ENGRAVER_GLOW, + OVERLAY_FRONT_MULTI_LATHE, OVERLAY_FRONT_MULTI_LATHE_ACTIVE, OVERLAY_FRONT_MULTI_LATHE_ACTIVE_GLOW, @@ -1330,6 +1338,9 @@ public class Textures { OVERLAY_HATCH_PH_SENSOR, OVERLAY_HATCH_PH_SENSOR_GLOW, + OVERLAY_HATCH_BLACKHOLE, + OVERLAY_HATCH_BLACKHOLE_GLOW, + STRUCTURE_MARK, MV_TOP_CYCLOTRON_SOLENOID, @@ -1409,7 +1420,15 @@ public class Textures { GLASS_QUARK_CONTAINMENT, BLOCK_QUARK_PIPE, BLOCK_QUARK_RELEASE_CHAMBER, - BLOCK_QUARK_CONTAINMENT_CASING,; + BLOCK_QUARK_CONTAINMENT_CASING, + COMPRESSOR_CASING, + COMPRESSOR_PIPE_CASING, + NEUTRONIUM_CASING, + NEUTRONIUM_ACTIVE_CASING, + NEUTRONIUM_STABLE_CASING, + EXTREME_DENSITY_CASING, + RADIATION_ABSORBENT_CASING, + HAWKING_GLASS; /** * Icon for Fresh CFoam diff --git a/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java b/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java index 526ba1aa18..6031399c06 100644 --- a/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java +++ b/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java @@ -441,6 +441,10 @@ public class GT_UITextures { .fullImage(GregTech.ID, "gui/overlay_button/machine_mode_slicing"); public static final UITexture OVERLAY_BUTTON_MACHINEMODE_CUTTING = UITexture .fullImage(GregTech.ID, "gui/overlay_button/machine_mode_cutting"); + public static final UITexture OVERLAY_BUTTON_MACHINEMODE_COMPRESSING = UITexture + .fullImage(GregTech.ID, "gui/overlay_button/machine_mode_compressing"); + public static final UITexture OVERLAY_BUTTON_MACHINEMODE_SINGULARITY = UITexture + .fullImage(GregTech.ID, "gui/overlay_button/machine_mode_singularity"); /** * Can adjust size as needed. diff --git a/src/main/java/gregtech/api/recipe/RecipeMaps.java b/src/main/java/gregtech/api/recipe/RecipeMaps.java index 82dd60441a..293b4f36b5 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipe/RecipeMaps.java @@ -1,8 +1,10 @@ package gregtech.api.recipe; +import static gregtech.api.enums.Mods.Avaritia; import static gregtech.api.enums.Mods.GTNHIntergalactic; import static gregtech.api.enums.Mods.NEICustomDiagrams; import static gregtech.api.enums.Mods.Railcraft; +import static gregtech.api.util.GT_ModHandler.getModItem; import static gregtech.api.util.GT_RecipeConstants.ADDITIVE_AMOUNT; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gregtech.api.util.GT_RecipeMapUtil.GT_RecipeTemplate; @@ -63,6 +65,7 @@ import gregtech.api.recipe.maps.ReplicatorBackend; import gregtech.api.recipe.maps.SpaceProjectFrontend; import gregtech.api.recipe.maps.TranscendentPlasmaMixerFrontend; import gregtech.api.recipe.maps.UnpackagerBackend; +import gregtech.api.recipe.metadata.CompressionTierKey; import gregtech.api.recipe.metadata.PCBFactoryTierKey; import gregtech.api.recipe.metadata.PurificationPlantBaseChanceKey; import gregtech.api.util.GT_ModHandler; @@ -125,9 +128,27 @@ public final class RecipeMaps { (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_COMPRESSOR_STEAM : null) .progressBarSteam(GT_UITextures.PROGRESSBAR_COMPRESS_STEAM) + .neiRecipeComparator( + Comparator + .comparing(recipe -> recipe.getMetadataOrDefault(CompressionTierKey.INSTANCE, 0)) + .thenComparing(GT_Recipe::compareTo)) // Avoid steam machine being used as handler icon .neiHandlerInfo(builder -> builder.setDisplayStack(ItemList.Machine_LV_Compressor.get(1))) .build(); + public static final RecipeMap neutroniumCompressorRecipes = RecipeMapBuilder + .of("gt.recipe.neutroniumcompressor") + .maxIO(1, 1, 1, 0) + .slotOverlays( + (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_COMPRESSOR + : null) + .progressBar(GT_UITextures.PROGRESSBAR_COMPRESS) + .neiHandlerInfo(builder -> builder.setDisplayStack(getModItem(Avaritia.ID, "Singularity", 1L, 0))) + .disableOptimize() + .neiRecipeComparator( + Comparator + .comparing(recipe -> recipe.getMetadataOrDefault(CompressionTierKey.INSTANCE, 0)) + .thenComparing(GT_Recipe::compareTo)) + .build(); public static final RecipeMap extractorRecipes = RecipeMapBuilder.of("gt.recipe.extractor") .maxIO(1, 1, 0, 0) .minInputs(1, 0) diff --git a/src/main/java/gregtech/api/recipe/check/CheckRecipeResultRegistry.java b/src/main/java/gregtech/api/recipe/check/CheckRecipeResultRegistry.java index 5844a49180..dc7fc0d6a6 100644 --- a/src/main/java/gregtech/api/recipe/check/CheckRecipeResultRegistry.java +++ b/src/main/java/gregtech/api/recipe/check/CheckRecipeResultRegistry.java @@ -109,6 +109,16 @@ public final class CheckRecipeResultRegistry { public static final CheckRecipeResult BACKFILLER_NO_CONCRETE = SimpleCheckRecipeResult .ofFailure("backfiller_no_concrete"); + /** + * Black Hole Compressor does not have an active black hole + */ + public static final CheckRecipeResult NO_BLACK_HOLE = SimpleCheckRecipeResult.ofFailure("no_black_hole"); + /** + * Black Hole Compressor became unstable + */ + public static final CheckRecipeResult UNSTABLE_BLACK_HOLE = SimpleCheckRecipeResult + .ofFailure("unstable_black_hole"); + public static final CheckRecipeResult NO_SEE_SKY = SimpleCheckRecipeResult.ofFailure("no_see_sky"); /** diff --git a/src/main/java/gregtech/api/recipe/metadata/CompressionTierKey.java b/src/main/java/gregtech/api/recipe/metadata/CompressionTierKey.java new file mode 100644 index 0000000000..384b5ce2d9 --- /dev/null +++ b/src/main/java/gregtech/api/recipe/metadata/CompressionTierKey.java @@ -0,0 +1,33 @@ +package gregtech.api.recipe.metadata; + +import static gregtech.api.util.GT_Utility.trans; + +import javax.annotation.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; + +import gregtech.api.recipe.RecipeMetadataKey; +import gregtech.api.util.MethodsReturnNonnullByDefault; +import gregtech.nei.RecipeDisplayInfo; + +/** + * Tier of advanced compression required + */ +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +public class CompressionTierKey extends RecipeMetadataKey { + + public static final CompressionTierKey INSTANCE = new CompressionTierKey(); + + private CompressionTierKey() { + super(Integer.class, "compression_tier"); + } + + @Override + public void drawInfo(RecipeDisplayInfo recipeInfo, @Nullable Object value) { + int tier = cast(value, 1); + switch (tier) { + case 1 -> recipeInfo.drawText(trans("509", "Requires HIP Unit")); + case 2 -> recipeInfo.drawText(trans("508", "Requires Stabilized Black Hole")); + } + } +} diff --git a/src/main/java/gregtech/api/util/GT_LanguageManager.java b/src/main/java/gregtech/api/util/GT_LanguageManager.java index e153b8e15f..4a9dc878ed 100644 --- a/src/main/java/gregtech/api/util/GT_LanguageManager.java +++ b/src/main/java/gregtech/api/util/GT_LanguageManager.java @@ -549,6 +549,8 @@ public class GT_LanguageManager { addStringLocalization("Interaction_DESCRIPTION_Index_505", "Enable with Signal (Safe)"); addStringLocalization("Interaction_DESCRIPTION_Index_506", "Disable with Signal (Safe)"); addStringLocalization("Interaction_DESCRIPTION_Index_507", "Safe Mode"); + addStringLocalization("Interaction_DESCRIPTION_Index_508", "Needs Stabilized Black Hole"); + addStringLocalization("Interaction_DESCRIPTION_Index_509", "Requires HIP Unit"); addStringLocalization("Interaction_DESCRIPTION_Index_602", "Use Private Frequency"); addStringLocalization("Interaction_DESCRIPTION_Index_756", "Connectable: "); addStringLocalization("Interaction_DESCRIPTION_Index_ALL", "All"); diff --git a/src/main/java/gregtech/api/util/GT_RecipeConstants.java b/src/main/java/gregtech/api/util/GT_RecipeConstants.java index a8cdb19b7a..c8a002c6c2 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeConstants.java +++ b/src/main/java/gregtech/api/util/GT_RecipeConstants.java @@ -143,6 +143,12 @@ public class GT_RecipeConstants { public static final RecipeMetadataKey QFT_FOCUS_TIER = SimpleRecipeMetadataKey .create(Integer.class, "qft_focus_tier"); + /** + * Tier of advanced compression (HIP/black hole) + */ + public static final RecipeMetadataKey COMPRESSION_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "compression"); + /** * Dissolution Tank Ratio. */ @@ -677,6 +683,7 @@ public class GT_RecipeConstants { GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(NKE_RANGE); GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(PRECISE_ASSEMBLER_CASING_TIER); GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(COAL_CASING_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(COMPRESSION_TIER); GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(RESEARCH_STATION_DATA); GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(SIEVERTS); GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(DECAY_TICKS); 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.uti