diff --git a/src/generated/resources/assets/gtceu/lang/en_ud.json b/src/generated/resources/assets/gtceu/lang/en_ud.json index 18580338c0..7c52c25c14 100644 --- a/src/generated/resources/assets/gtceu/lang/en_ud.json +++ b/src/generated/resources/assets/gtceu/lang/en_ud.json @@ -322,6 +322,7 @@ "block.gtceu.hp_steam_furnace": "ǝɔɐuɹnℲ ɯɐǝʇS ǝɹnssǝɹԀ ɥbıH", "block.gtceu.hp_steam_liquid_boiler": "ɹǝןıoᗺ pınbıꞀ ɯɐǝʇS ǝɹnssǝɹԀ ɥbıH", "block.gtceu.hp_steam_macerator": "ɹoʇɐɹǝɔɐW ɯɐǝʇS ǝɹnssǝɹԀ ɥbıH", + "block.gtceu.hp_steam_miner": "ɹǝuıW ɯɐǝʇS ǝɹnssǝɹԀ ɥbıH", "block.gtceu.hp_steam_rock_crusher": "ɹǝɥsnɹƆ ʞɔoᴚ ɯɐǝʇS ǝɹnssǝɹԀ ɥbıH", "block.gtceu.hp_steam_solar_boiler": "ɹǝןıoᗺ ɹɐןoS ɯɐǝʇS ǝɹnssǝɹԀ ɥbıH", "block.gtceu.hp_steam_solid_boiler": "ɹǝןıoᗺ pıןoS ɯɐǝʇS ǝɹnssǝɹԀ ɥbıH", @@ -574,6 +575,7 @@ "block.gtceu.lp_steam_furnace": "ǝɔɐuɹnℲ ɯɐǝʇS ǝɹnssǝɹԀ ʍoꞀ", "block.gtceu.lp_steam_liquid_boiler": "ɹǝןıoᗺ pınbıꞀ ɯɐǝʇS ǝɹnssǝɹԀ ʍoꞀ", "block.gtceu.lp_steam_macerator": "ɹoʇɐɹǝɔɐW ɯɐǝʇS ǝɹnssǝɹԀ ʍoꞀ", + "block.gtceu.lp_steam_miner": "ɹǝuıW ɯɐǝʇS ǝɹnssǝɹԀ ʍoꞀ", "block.gtceu.lp_steam_rock_crusher": "ɹǝɥsnɹƆ ʞɔoᴚ ɯɐǝʇS ǝɹnssǝɹԀ ʍoꞀ", "block.gtceu.lp_steam_solar_boiler": "ɹǝןıoᗺ ɹɐןoS ɯɐǝʇS ǝɹnssǝɹԀ ʍoꞀ", "block.gtceu.lp_steam_solid_boiler": "ɹǝןıoᗺ pıןoS ɯɐǝʇS ǝɹnssǝɹԀ ʍoꞀ", @@ -1088,7 +1090,6 @@ "block.gtceu.steam_large_turbine": "ǝuıqɹn⟘ ɯɐǝʇS ǝbɹɐꞀ", "block.gtceu.steam_liquid_boiler.bronze": "ɹǝןıoᗺ pınbıꞀ ɯɐǝʇS ןןɐɯS", "block.gtceu.steam_machine_casing": "buısɐƆ ǝuıɥɔɐW ɯɐǝʇS", - "block.gtceu.steam_miner": "ɹǝuıW ɯɐǝʇS", "block.gtceu.steam_output_bus": ")ɯɐǝʇS( snᗺ ʇndʇnO", "block.gtceu.steam_oven": "uǝʌO ɯɐǝʇS", "block.gtceu.steam_solid_boiler.bronze": "ɹǝןıoᗺ pıןoS ɯɐǝʇS ןןɐɯS", @@ -1742,7 +1743,6 @@ "config.gtceu.option.enableCleanroom": "ɯooɹuɐǝןƆǝןqɐuǝ", "config.gtceu.option.enableFEConverters": "sɹǝʇɹǝʌuoƆƎℲǝןqɐuǝ", "config.gtceu.option.enableMaintenance": "ǝɔuɐuǝʇuıɐWǝןqɐuǝ", - "config.gtceu.option.enableMoreDualHatchAbility": "ʎʇıןıqⱯɥɔʇɐHןɐnᗡǝɹoWǝןqɐuǝ", "config.gtceu.option.enableResearch": "ɥɔɹɐǝsǝᴚǝןqɐuǝ", "config.gtceu.option.enableTieredCasings": "sbuısɐƆpǝɹǝı⟘ǝןqɐuǝ", "config.gtceu.option.enableWorldAccelerators": "sɹoʇɐɹǝןǝɔɔⱯpןɹoMǝןqɐuǝ", diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index b3fdb619c0..6c8d4c0ec4 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -322,6 +322,7 @@ "block.gtceu.hp_steam_furnace": "High Pressure Steam Furnace", "block.gtceu.hp_steam_liquid_boiler": "High Pressure Steam Liquid Boiler", "block.gtceu.hp_steam_macerator": "High Pressure Steam Macerator", + "block.gtceu.hp_steam_miner": "High Pressure Steam Miner", "block.gtceu.hp_steam_rock_crusher": "High Pressure Steam Rock Crusher", "block.gtceu.hp_steam_solar_boiler": "High Pressure Steam Solar Boiler", "block.gtceu.hp_steam_solid_boiler": "High Pressure Steam Solid Boiler", @@ -574,6 +575,7 @@ "block.gtceu.lp_steam_furnace": "Low Pressure Steam Furnace", "block.gtceu.lp_steam_liquid_boiler": "Low Pressure Steam Liquid Boiler", "block.gtceu.lp_steam_macerator": "Low Pressure Steam Macerator", + "block.gtceu.lp_steam_miner": "Low Pressure Steam Miner", "block.gtceu.lp_steam_rock_crusher": "Low Pressure Steam Rock Crusher", "block.gtceu.lp_steam_solar_boiler": "Low Pressure Steam Solar Boiler", "block.gtceu.lp_steam_solid_boiler": "Low Pressure Steam Solid Boiler", @@ -1088,7 +1090,6 @@ "block.gtceu.steam_large_turbine": "Large Steam Turbine", "block.gtceu.steam_liquid_boiler.bronze": "Small Steam Liquid Boiler", "block.gtceu.steam_machine_casing": "Steam Machine Casing", - "block.gtceu.steam_miner": "Steam Miner", "block.gtceu.steam_output_bus": "Output Bus (Steam)", "block.gtceu.steam_oven": "Steam Oven", "block.gtceu.steam_solid_boiler.bronze": "Small Steam Solid Boiler", @@ -1742,7 +1743,6 @@ "config.gtceu.option.enableCleanroom": "enableCleanroom", "config.gtceu.option.enableFEConverters": "enableFEConverters", "config.gtceu.option.enableMaintenance": "enableMaintenance", - "config.gtceu.option.enableMoreDualHatchAbility": "enableMoreDualHatchAbility", "config.gtceu.option.enableResearch": "enableResearch", "config.gtceu.option.enableTieredCasings": "enableTieredCasings", "config.gtceu.option.enableWorldAccelerators": "enableWorldAccelerators", diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java index 2970d1a2fa..bf33252a42 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java @@ -131,21 +131,25 @@ public class GTMachines { "alloy_smelter", GTRecipeTypes.ALLOY_SMELTER_RECIPES); public static final Pair STEAM_ROCK_CRUSHER = registerSimpleSteamMachines( "rock_crusher", GTRecipeTypes.ROCK_BREAKER_RECIPES); - public static final MachineDefinition STEAM_MINER = REGISTRATE - .machine("steam_miner", holder -> new SteamMinerMachine(holder, 320, 4, 0)) - .rotationState(RotationState.NON_Y_AXIS) - .langValue("Steam Miner") - .recipeType(DUMMY_RECIPES) - .tier(0) - .tooltips(Component.translatable("gtceu.universal.tooltip.uses_per_tick_steam", 16) - .append(ChatFormatting.GRAY + ", ") - .append(Component.translatable("gtceu.machine.miner.per_block", 320 / 20))) - .tooltipBuilder((item, tooltip) -> { - int maxArea = IMiner.getWorkingArea(4); - tooltip.add(Component.translatable("gtceu.universal.tooltip.working_area", maxArea, maxArea)); - }) - .renderer(() -> new SteamMinerRenderer(false, GTCEu.id("block/machines/steam_miner"))) - .register(); + public static final Pair STEAM_MINER = registerSteamMachines( + "steam_miner", + (holder, isHP) -> isHP ? new SteamMinerMachine(holder, 240, 6, 0, 32) : + new SteamMinerMachine(holder, 320, 4, 0, 16), + (isHP, builder) -> builder + .rotationState(RotationState.NON_Y_AXIS) + .recipeType(DUMMY_RECIPES) + .tooltips(Component.translatable("gtceu.universal.tooltip.uses_per_tick_steam", isHP ? 32 : 16) + .append(ChatFormatting.GRAY + ", ") + .append(Component.translatable("gtceu.machine.miner.per_block", + isHP ? 240 / 20 : 280 / 20))) + .tooltipBuilder((item, tooltip) -> { + int maxArea = IMiner.getWorkingArea(isHP ? 6 : 4); + tooltip.add(Component.translatable("gtceu.universal.tooltip.working_area", maxArea, maxArea)); + }) + .renderer(() -> new SteamMinerRenderer(isHP, + isHP ? GTCEu.id("block/machines/high_pressure_steam_miner") : + GTCEu.id("block/machines/steam_miner"))) + .register()); ////////////////////////////////////// // *** SimpleTieredMachine ***// diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/steam/SteamMinerMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/steam/SteamMinerMachine.java index 9edc5d05c0..f6426d156d 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/steam/SteamMinerMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/steam/SteamMinerMachine.java @@ -71,10 +71,10 @@ public class SteamMinerMachine extends SteamWorkableMachine implements IMiner, I @Nullable protected ISubscription exportItemSubs; - public SteamMinerMachine(IMachineBlockEntity holder, int speed, int maximumRadius, int fortune) { + public SteamMinerMachine(IMachineBlockEntity holder, int speed, int maximumRadius, int fortune, int energyPerTick) { super(holder, false, fortune, speed, maximumRadius); this.inventorySize = 4; - this.energyPerTick = 16; + this.energyPerTick = energyPerTick; this.importItems = createImportItemHandler(); this.exportItems = createExportItemHandler(); } @@ -89,7 +89,7 @@ public SteamMinerMachine(IMachineBlockEntity holder, int speed, int maximumRadiu return new SteamMinerLogic(this, fortune, speed, maxRadius); } throw new IllegalArgumentException( - "MinerMachine need args [inventorySize, fortune, speed, maximumRadius] for initialization"); + "MinerMachine need args [fortune, speed, maximumRadius] for initialization"); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MetaTileEntityLoader.java b/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MetaTileEntityLoader.java index 2dad649847..dab0320afd 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MetaTileEntityLoader.java +++ b/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MetaTileEntityLoader.java @@ -524,12 +524,19 @@ public static void init(Consumer provider) { new UnificationEntry(TagPrefix.plate, GTMaterials.WroughtIron), 'S', new UnificationEntry(TagPrefix.plate, GTMaterials.Steel), 'P', new UnificationEntry(TagPrefix.pipeSmallFluid, GTMaterials.TinAlloy)); - VanillaRecipeHelper.addShapedRecipe(provider, true, "steam_miner", GTMachines.STEAM_MINER.asStack(), "DSD", - "SMS", "GSG", 'M', GTBlocks.BRONZE_BRICKS_HULL.asStack(), 'S', - new UnificationEntry(TagPrefix.pipeNormalFluid, GTMaterials.Bronze), 'D', - new UnificationEntry(TagPrefix.gem, GTMaterials.Diamond), 'G', - new UnificationEntry(TagPrefix.gearSmall, GTMaterials.Bronze)); - + VanillaRecipeHelper.addShapedRecipe(provider, true, "steam_miner_bronze", + GTMachines.STEAM_MINER.first().asStack(), + "DSD", "SMS", "GSG", + 'M', GTBlocks.BRONZE_BRICKS_HULL.asStack(), + 'S', new UnificationEntry(TagPrefix.pipeNormalFluid, GTMaterials.Bronze), + 'D', new UnificationEntry(TagPrefix.gem, GTMaterials.Diamond), + 'G', new UnificationEntry(TagPrefix.gearSmall, GTMaterials.Bronze)); + VanillaRecipeHelper.addShapedRecipe(provider, true, "steam_miner_steel", + GTMachines.STEAM_MINER.second().asStack(), "DSD", "SMS", "GSG", + 'M', GTMachines.STEAM_MINER.first().asStack(), + 'S', new UnificationEntry(TagPrefix.pipeNormalFluid, GTMaterials.TinAlloy), + 'D', new UnificationEntry(TagPrefix.gem, GTMaterials.Diamond), + 'G', new UnificationEntry(TagPrefix.gearSmall, GTMaterials.Steel)); // MULTI BLOCK CONTROLLERS VanillaRecipeHelper.addShapedRecipe(provider, true, "bronze_primitive_blast_furnace", GTMultiMachines.PRIMITIVE_BLAST_FURNACE.asStack(), "hRS", "PBR", "dRS", 'R', diff --git a/src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java b/src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java index 2edfabfc9e..9fa56ceb83 100644 --- a/src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java +++ b/src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java @@ -477,11 +477,22 @@ public static void remapIds(MissingMappingsEvent event) { if (mapping.getKey().equals(GTCEu.id("tungstensteel_coil_block"))) { mapping.remap(GTBlocks.COIL_RTMALLOY.get()); } + if (mapping.getKey().equals(GTCEu.id("steam_miner"))) { + mapping.remap(GTMachines.STEAM_MINER.first().getBlock()); + } }); event.getMappings(Registries.ITEM, GTCEu.MOD_ID).forEach(mapping -> { if (mapping.getKey().equals(GTCEu.id("tungstensteel_coil_block"))) { mapping.remap(GTBlocks.COIL_RTMALLOY.get().asItem()); } + if (mapping.getKey().equals(GTCEu.id("steam_miner"))) { + mapping.remap(GTMachines.STEAM_MINER.first().getItem()); + } + }); + event.getMappings(Registries.BLOCK_ENTITY_TYPE, GTCEu.MOD_ID).forEach(mapping -> { + if (mapping.getKey().equals(GTCEu.id("steam_miner"))) { + mapping.remap(GTMachines.STEAM_MINER.first().getBlockEntityType()); + } }); event.getMappings(Registries.BLOCK, "gregiceng").forEach(mapping -> { diff --git a/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_back.png b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_back.png new file mode 100644 index 0000000000..eced5b8735 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_back.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_down.mcmeta b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_down.mcmeta new file mode 100644 index 0000000000..f201982c03 --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_down.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_down.png b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_down.png new file mode 100644 index 0000000000..bfcdac5e84 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_down.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_front.png b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_front.png new file mode 100644 index 0000000000..52e24329b3 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_front.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_front.png.mcmeta b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_front.png.mcmeta new file mode 100644 index 0000000000..97596ba817 --- /dev/null +++ b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_front.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation":{ + "frametime":2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_side.png b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_side.png new file mode 100644 index 0000000000..3baa69ebde Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_side.png differ diff --git a/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_up.png b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_up.png new file mode 100644 index 0000000000..1017db7011 Binary files /dev/null and b/src/main/resources/assets/gtceu/textures/block/machines/high_pressure_steam_miner/overlay_up.png differ