From a32804c1cb0f52f559bb20b08a6936d42dadf0c8 Mon Sep 17 00:00:00 2001 From: pouffy Date: Mon, 22 Jul 2024 17:00:46 +0100 Subject: [PATCH] Proper Datagen - Also: better flamethrower fuel registry - Also: Blast Stove multiblock & my multiblock system. --- .../2d06ea55ee27bcb1f7f87fa8ec3e037afa7e1ad9 | 129 +- .../437397df7729d64e5e613b753009842e7e3a7495 | 6 + .../5b8c0f5df972d0059948e36f3c0712dca4487541 | 56 + .../9047e4e94996e73e9dfde3738763637fb609e07e | 2 - .../cfbcb044faafa2dbcc08be0b04e41d5ce0d5d7d4 | 19 + .../d23115c077360024abb1b7cd062b73c032f45140 | 1 + .../blockstates/blast_stove.json | 34 + .../blockstates/fluid_output.json | 7 + .../assets/createindustry/lang/en_ud.json | 261 ++- .../assets/createindustry/lang/en_us.json | 1792 +++++++---------- .../models/block/fluid_output.json | 6 + .../models/item/blast_furnace_gas_bucket.json | 6 + .../models/item/blast_stove.json | 3 + .../models/item/fluid_output.json | 3 + .../models/item/heated_air_bucket.json | 6 + ...slab_from_black_concrete_stonecutting.json | 34 + ...airs_from_black_concrete_stonecutting.json | 34 + ...wall_from_black_concrete_stonecutting.json | 34 + ..._slab_from_blue_concrete_stonecutting.json | 34 + ...tairs_from_blue_concrete_stonecutting.json | 34 + ..._wall_from_blue_concrete_stonecutting.json | 34 + ...slab_from_brown_concrete_stonecutting.json | 34 + ...airs_from_brown_concrete_stonecutting.json | 34 + ...wall_from_brown_concrete_stonecutting.json | 34 + ..._slab_from_cyan_concrete_stonecutting.json | 34 + ...tairs_from_cyan_concrete_stonecutting.json | 34 + ..._wall_from_cyan_concrete_stonecutting.json | 34 + ..._slab_from_gray_concrete_stonecutting.json | 34 + ...tairs_from_gray_concrete_stonecutting.json | 34 + ..._wall_from_gray_concrete_stonecutting.json | 34 + ...slab_from_green_concrete_stonecutting.json | 34 + ...airs_from_green_concrete_stonecutting.json | 34 + ...wall_from_green_concrete_stonecutting.json | 34 + ...from_light_blue_concrete_stonecutting.json | 34 + ...from_light_blue_concrete_stonecutting.json | 34 + ...from_light_blue_concrete_stonecutting.json | 34 + ...from_light_gray_concrete_stonecutting.json | 34 + ...from_light_gray_concrete_stonecutting.json | 34 + ...from_light_gray_concrete_stonecutting.json | 34 + ..._slab_from_lime_concrete_stonecutting.json | 34 + ...tairs_from_lime_concrete_stonecutting.json | 34 + ..._wall_from_lime_concrete_stonecutting.json | 34 + ...ab_from_magenta_concrete_stonecutting.json | 34 + ...rs_from_magenta_concrete_stonecutting.json | 34 + ...ll_from_magenta_concrete_stonecutting.json | 34 + ...lab_from_orange_concrete_stonecutting.json | 34 + ...irs_from_orange_concrete_stonecutting.json | 34 + ...all_from_orange_concrete_stonecutting.json | 34 + ..._slab_from_pink_concrete_stonecutting.json | 34 + ...tairs_from_pink_concrete_stonecutting.json | 34 + ..._wall_from_pink_concrete_stonecutting.json | 34 + ...from_stone_types_bauxite_stonecutting.json | 32 + ...lab_from_purple_concrete_stonecutting.json | 34 + ...irs_from_purple_concrete_stonecutting.json | 34 + ...all_from_purple_concrete_stonecutting.json | 34 + ...e_slab_from_red_concrete_stonecutting.json | 34 + ...stairs_from_red_concrete_stonecutting.json | 34 + ...e_wall_from_red_concrete_stonecutting.json | 34 + ...from_stone_types_bauxite_stonecutting.json | 32 + ...slab_from_white_concrete_stonecutting.json | 34 + ...airs_from_white_concrete_stonecutting.json | 34 + ...wall_from_white_concrete_stonecutting.json | 34 + ...lab_from_yellow_concrete_stonecutting.json | 34 + ...irs_from_yellow_concrete_stonecutting.json | 34 + ...all_from_yellow_concrete_stonecutting.json | 34 + .../loot_tables/blocks/blast_stove.json | 20 + .../loot_tables/blocks/fluid_output.json | 20 + .../loot_tables/blocks/red_caution_block.json | 2 +- ...lab_from_black_concrete_stonecutting.json} | 5 +- ...irs_from_black_concrete_stonecutting.json} | 5 +- ...all_from_black_concrete_stonecutting.json} | 5 +- ...slab_from_blue_concrete_stonecutting.json} | 5 +- ...airs_from_blue_concrete_stonecutting.json} | 5 +- ...wall_from_blue_concrete_stonecutting.json} | 5 +- ...lab_from_brown_concrete_stonecutting.json} | 5 +- ...irs_from_brown_concrete_stonecutting.json} | 5 +- ...wall_from_brown_concrete_stonecutting.json | 8 + .../createindustry/recipes/casting/steel.json | 9 +- .../recipes/coking/charcoal.json | 10 +- .../recipes/coking/coal_coke.json | 10 +- .../recipes/compacting/bitumen.json | 9 +- .../recipes/compacting/cinderflourblock.json | 16 + .../recipes/compacting/plastic_molding.json | 9 +- .../recipes/compacting/steel_block.json | 21 +- .../recipes/compacting/thermite_powder.json | 9 +- .../recipes/crushing/bauxite_recycling.json | 13 +- .../recipes/crushing/coal_coke_dust.json | 5 +- .../recipes/crushing/copper_sulfate.json | 28 + .../recipes/crushing/galena_recycling.json | 9 +- .../recipes/crushing/lignite.json | 5 +- .../recipes/crushing/limesand.json | 6 +- .../recipes/crushing/saltpeter.json | 9 +- .../recipes/crushing/sulfur.json | 9 +- ...slab_from_cyan_concrete_stonecutting.json} | 5 +- ...airs_from_cyan_concrete_stonecutting.json} | 7 +- ...wall_from_cyan_concrete_stonecutting.json} | 5 +- .../recipes/distillation/crude_oil.json | 36 + .../distillation/crude_oil_no_naphtha.json | 32 + .../recipes/distillation/heavy_oil.json | 20 + .../recipes/distillation/naphtha.json | 20 + .../recipes/filling/air_tank.json | 5 +- .../filling/bottle_of_battery_acid.json | 5 +- .../recipes/filling/bottle_of_concrete.json | 5 +- .../recipes/filling/butane_tank.json | 5 +- .../recipes/filling/carbon_dioxide_tank.json | 5 +- .../recipes/filling/ethylene_tank.json | 5 +- .../filling/hardened_wood_creosote.json | 5 +- .../recipes/filling/lpg_tank.json | 5 +- .../recipes/filling/napalm_potato.json | 5 +- .../recipes/filling/neon_tank.json | 5 +- .../recipes/filling/propane_tank.json | 5 +- .../recipes/filling/propylene_tank.json | 5 +- .../recipes/gas_blasting/heated_air.json | 26 + ...slab_from_gray_concrete_stonecutting.json} | 5 +- ...airs_from_gray_concrete_stonecutting.json} | 5 +- ...wall_from_gray_concrete_stonecutting.json} | 5 +- ...lab_from_green_concrete_stonecutting.json} | 5 +- ...irs_from_green_concrete_stonecutting.json} | 5 +- ...all_from_green_concrete_stonecutting.json} | 5 +- .../recipes/industrial_blasting/steel.json | 10 +- .../heavy_machinery_casing.json | 1 - .../item_application/steel_casing.json | 1 - ...rom_light_blue_concrete_stonecutting.json} | 5 +- ...rom_light_blue_concrete_stonecutting.json} | 5 +- ...rom_light_blue_concrete_stonecutting.json} | 5 +- ...rom_light_gray_concrete_stonecutting.json} | 5 +- ...rom_light_gray_concrete_stonecutting.json} | 5 +- ...rom_light_gray_concrete_stonecutting.json} | 5 +- ...slab_from_lime_concrete_stonecutting.json} | 5 +- ...airs_from_lime_concrete_stonecutting.json} | 5 +- ...wall_from_lime_concrete_stonecutting.json} | 5 +- ...b_from_magenta_concrete_stonecutting.json} | 5 +- ...s_from_magenta_concrete_stonecutting.json} | 5 +- ...l_from_magenta_concrete_stonecutting.json} | 5 +- .../advanced_potato_cannon.json | 22 +- .../mechanical_crafting/diesel_engine.json | 47 +- .../mechanical_crafting/engine_base.json | 25 +- .../mechanical_crafting/engine_chamber.json | 22 +- .../mechanical_crafting/flamethrower.json | 24 +- .../mechanical_crafting/generator.json | 26 + .../large_radial_engine.json | 44 +- .../mechanical_crafting/lithium_blade.json | 61 +- .../mechanical_crafting/pumpjack_base.json | 41 +- .../mechanical_crafting/pumpjack_crank.json | 26 +- .../quad_potato_cannon.json | 38 +- .../mechanical_crafting/radial_engine.json | 48 +- .../recipes/mechanical_crafting/rotor.json | 34 +- .../mechanical_crafting/spark_plug.json | 12 +- .../recipes/mechanical_crafting/stator.json | 22 +- .../steel_distillation_controller.json | 37 +- .../steel_distillation_output.json | 20 +- .../mechanical_crafting/surface_scanner.json | 48 +- .../recipes/milling/limesand.json | 7 +- .../recipes/mixing/blasting_mixture.json | 6 +- .../recipes/mixing/cast_iron_ingot.json | 8 +- .../createindustry/recipes/mixing/cement.json | 3 - .../recipes/mixing/concrete_mixture.json | 3 - .../mixing/concrete_mixture_from_slag.json | 3 - .../recipes/mixing/cooling_fluid.json | 12 +- .../recipes/mixing/copper_sulfate.json | 11 +- .../recipes/mixing/gun_powder.json | 10 +- .../recipes/mixing/liquid_asphalt.json | 10 +- .../recipes/mixing/liquid_concrete.json} | 10 +- .../mixing/liquid_plastic_from_ethylene.json | 12 +- .../mixing/liquid_plastic_from_propylene.json | 11 +- .../createindustry/recipes/mixing/napalm.json | 14 +- .../createindustry/recipes/mixing/neon.json | 11 +- .../createindustry/recipes/mixing/slag.json | 9 +- .../recipes/mixing/sulfuric_acid.json | 10 +- .../recipes/mixing/zinc_sulfate.json | 11 +- ...ab_from_orange_concrete_stonecutting.json} | 5 +- ...rs_from_orange_concrete_stonecutting.json} | 5 +- ...ll_from_orange_concrete_stonecutting.json} | 5 +- ...slab_from_pink_concrete_stonecutting.json} | 5 +- ...airs_from_pink_concrete_stonecutting.json} | 5 +- ...wall_from_pink_concrete_stonecutting.json} | 5 +- .../recipes/pressing/synthetic_leather.json | 0 ...ab_from_purple_concrete_stonecutting.json} | 5 +- ...rs_from_purple_concrete_stonecutting.json} | 5 +- ...ll_from_purple_concrete_stonecutting.json} | 5 +- ..._slab_from_red_concrete_stonecutting.json} | 5 +- ...tairs_from_red_concrete_stonecutting.json} | 5 +- ..._wall_from_red_concrete_stonecutting.json} | 5 +- .../sequenced_assembly/gasoline_engine.json | 60 +- .../sequenced_assembly/heavy_plate.json | 20 +- .../sequenced_assembly/lpg_engine.json | 32 +- .../sequenced_assembly/steel_mechanism.json | 58 +- .../sequenced_assembly/turbine_engine.json | 30 +- ...lab_from_white_concrete_stonecutting.json} | 5 +- ...irs_from_white_concrete_stonecutting.json} | 5 +- ...all_from_white_concrete_stonecutting.json} | 5 +- ...ab_from_yellow_concrete_stonecutting.json} | 5 +- ...rs_from_yellow_concrete_stonecutting.json} | 5 +- ...ll_from_yellow_concrete_stonecutting.json} | 5 +- .../createindustry/tags/fluids/flammable.json | 2 + .../data/createindustry/tags/fluids/gas.json | 6 +- .../tags/items/buckets/blast_furnace_gas.json | 5 + .../forge/tags/items/buckets/heated_air.json | 5 + .../tags/blocks/mineable/pickaxe.json | 164 +- .../tags/blocks/needs_diamond_tool.json | 4 +- .../tags/blocks/needs_stone_tool.json | 136 +- .../data/minecraft/tags/blocks/slabs.json | 18 + .../data/minecraft/tags/blocks/stairs.json | 4 +- .../data/minecraft/tags/blocks/walls.json | 50 +- .../drmangotea/createindustry/CreateTFMG.java | 25 +- .../base/TFMGColoredBlocks.java | 105 + .../createindustry/base/TFMGRegistrate.java | 137 ++ .../BuldingCreativeModeTab.java | 4 +- .../base/datagen/TFMGDataGen.java | 64 + .../base/datagen/TFMGRegistrateTags.java | 37 + .../recipe/TFMGProcessingRecipeGen.java | 146 ++ .../datagen/recipe/TFMGRecipeProvider.java | 480 +++++ .../datagen/recipe/create/CompactingGen.java | 52 + .../datagen/recipe/create/CrushingGen.java | 70 + .../datagen/recipe/create/FillingGen.java | 83 + .../recipe/create/ItemApplicationGen.java | 35 + .../recipe/create/MechanicalCraftingGen.java | 152 ++ .../datagen/recipe/create/MillingGen.java | 32 + .../base/datagen/recipe/create/MixingGen.java | 119 ++ .../datagen/recipe/create/PressingGen.java | 29 + .../recipe/create/SequencedAssemblyGen.java | 92 + .../base/datagen/recipe/tfmg/CastingGen.java | 29 + .../base/datagen/recipe/tfmg/CokingGen.java | 35 + .../datagen/recipe/tfmg/DistillationGen.java | 49 + .../datagen/recipe/tfmg/GasBlastingGen.java | 31 + .../recipe/tfmg/IndustrialBlastingGen.java | 30 + .../recipe/vanilla/TFMGStandardRecipeGen.java | 317 +++ .../base/effects/FrostyEffect.java | 25 + .../base/multiblock/FluidOutputBlock.java | 22 + .../multiblock/FluidOutputBlockEntity.java | 135 ++ .../MultiblockMasterBlockEntity.java | 172 ++ .../base/multiblock/MultiblockStructure.java | 369 ++++ .../base/multiblock/PositionUtil.java | 88 + .../StackableMultiblockSegment.java | 40 + .../base/util/ProperBrewingRecipe.java | 39 + .../createindustry/base/util/Triple.java | 72 + .../base/util/spark/CoolSpark.java | 155 ++ .../base/util/spark/CoolSparkRenderer.java | 55 + .../engines/intake/AirIntakeBlockEntity.java | 70 +- .../machines/firebox/FireboxGenerator.java | 4 +- .../blast_stove/BlastStoveBlock.java | 39 + .../blast_stove/BlastStoveBlockEntity.java | 263 +++ .../blast_stove/BlastStoveGenerator.java | 48 + .../createindustry/events/CommonEvents.java | 14 + .../BuiltinFlamethrowerFuelTypes.java | 84 + .../flamethrover/FlamethrowerFuelType.java | 198 ++ .../FlamethrowerFuelTypeManager.java | 191 ++ .../flamethrover/FlamethrowerItem.java | 91 +- .../mixins/AreaEffectCloudMixin.java | 63 + .../createindustry/mixins/ArrowMixin.java | 18 +- .../gas_blasting/GasBlastingRecipe.java | 77 + .../recipes/jei/GasBlastingCategory.java | 51 + .../createindustry/recipes/jei/TFMGJei.java | 12 +- .../registry/TFMGBlockEntities.java | 13 +- .../createindustry/registry/TFMGBlocks.java | 330 ++- .../registry/TFMGEntityTypes.java | 8 +- .../createindustry/registry/TFMGFluids.java | 4 +- .../registry/TFMGMobEffects.java | 29 +- .../createindustry/registry/TFMGPackets.java | 5 +- .../createindustry/registry/TFMGPotions.java | 9 + .../registry/TFMGRecipeTypes.java | 4 +- .../createindustry/registry/TFMGTags.java | 43 +- .../lang/default/interface.json | 6 + .../models/block/blast_stove/block.json | 23 + .../block/blast_stove/block_running.json | 23 + .../models/block/blast_stove/item.json | 23 + .../textures/block/blast_stove.png | Bin 0 -> 278 bytes .../textures/block/blast_stove_running.png | Bin 0 -> 272 bytes .../textures/block/fluid_output.png | Bin 0 -> 316 bytes .../textures/fluid/blast_furnace_gas.png | Bin 0 -> 6408 bytes .../fluid/blast_furnace_gas.png.mcmeta | 5 + .../textures/fluid/heated_air.png | Bin 0 -> 11675 bytes .../textures/fluid/heated_air.png.mcmeta | 5 + .../createindustry/textures/gui/icons.png | Bin 0 -> 967 bytes .../item/blast_furnace_gas_bucket.png | Bin 0 -> 220 bytes .../textures/item/heated_air_bucket.png | Bin 0 -> 224 bytes .../textures/mob_effect/frostbite.png | Bin 0 -> 250 bytes src/main/resources/createindustry.mixins.json | 12 +- .../flamethrower_fuel_types/hellfire.json | 10 + .../cyan_concrete_stairs_stonecutting.json | 9 - .../recipes/compacting/cinderflourblock.json | 18 - .../recipes/crushing/copper_sulfate.json | 29 - .../recipes/distillation/crude_oil.json | 39 - .../distillation/crude_oil_no_naphtha.json | 35 - .../recipes/distillation/heavy_oil.json | 23 - .../recipes/distillation/naphtha.json | 23 - .../cast_iron_distillation_controller.json | 28 - .../mechanical_crafting/generator.json | 30 - .../pumpjack_hammer_holder.json | 26 - .../recipes/milling/charcoal_dust.json | 17 - .../recipes/mixing/hellfire_potion.json | 30 - 291 files changed, 8792 insertions(+), 2664 deletions(-) create mode 100644 src/generated/resources/.cache/437397df7729d64e5e613b753009842e7e3a7495 create mode 100644 src/generated/resources/.cache/5b8c0f5df972d0059948e36f3c0712dca4487541 delete mode 100644 src/generated/resources/.cache/9047e4e94996e73e9dfde3738763637fb609e07e create mode 100644 src/generated/resources/.cache/cfbcb044faafa2dbcc08be0b04e41d5ce0d5d7d4 create mode 100644 src/generated/resources/.cache/d23115c077360024abb1b7cd062b73c032f45140 create mode 100644 src/generated/resources/assets/createindustry/blockstates/blast_stove.json create mode 100644 src/generated/resources/assets/createindustry/blockstates/fluid_output.json create mode 100644 src/generated/resources/assets/createindustry/models/block/fluid_output.json create mode 100644 src/generated/resources/assets/createindustry/models/item/blast_furnace_gas_bucket.json create mode 100644 src/generated/resources/assets/createindustry/models/item/blast_stove.json create mode 100644 src/generated/resources/assets/createindustry/models/item/fluid_output.json create mode 100644 src/generated/resources/assets/createindustry/models/item/heated_air_bucket.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/black_concrete_slab_from_black_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/black_concrete_stairs_from_black_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/black_concrete_wall_from_black_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/blue_concrete_slab_from_blue_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/blue_concrete_stairs_from_blue_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/blue_concrete_wall_from_blue_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/brown_concrete_slab_from_brown_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/brown_concrete_stairs_from_brown_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/brown_concrete_wall_from_brown_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_slab_from_cyan_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_wall_from_cyan_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/gray_concrete_slab_from_gray_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/gray_concrete_stairs_from_gray_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/gray_concrete_wall_from_gray_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/green_concrete_slab_from_green_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/green_concrete_stairs_from_green_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/green_concrete_wall_from_green_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/lime_concrete_slab_from_lime_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/lime_concrete_stairs_from_lime_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/lime_concrete_wall_from_lime_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_slab_from_magenta_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_wall_from_magenta_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/orange_concrete_slab_from_orange_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/orange_concrete_stairs_from_orange_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/orange_concrete_wall_from_orange_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/pink_concrete_slab_from_pink_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/pink_concrete_stairs_from_pink_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/pink_concrete_wall_from_pink_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/purple_concrete_slab_from_purple_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/purple_concrete_stairs_from_purple_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/purple_concrete_wall_from_purple_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/red_concrete_slab_from_red_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/red_concrete_stairs_from_red_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/red_concrete_wall_from_red_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/white_concrete_slab_from_white_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/white_concrete_stairs_from_white_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/white_concrete_wall_from_white_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_slab_from_yellow_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_wall_from_yellow_concrete_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/loot_tables/blocks/blast_stove.json create mode 100644 src/generated/resources/data/createindustry/loot_tables/blocks/fluid_output.json rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/black_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/black_concrete_slab_from_black_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/black_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/black_concrete_stairs_from_black_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/black_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/black_concrete_wall_from_black_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/blue_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/blue_concrete_slab_from_blue_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/blue_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/blue_concrete_stairs_from_blue_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/blue_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/blue_concrete_wall_from_blue_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/brown_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/brown_concrete_slab_from_brown_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/brown_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/brown_concrete_stairs_from_brown_concrete_stonecutting.json} (61%) create mode 100644 src/generated/resources/data/createindustry/recipes/brown_concrete_wall_from_brown_concrete_stonecutting.json rename src/{main => generated}/resources/data/createindustry/recipes/casting/steel.json (80%) rename src/{main => generated}/resources/data/createindustry/recipes/coking/charcoal.json (65%) rename src/{main => generated}/resources/data/createindustry/recipes/coking/coal_coke.json (66%) rename src/{main => generated}/resources/data/createindustry/recipes/compacting/bitumen.json (80%) create mode 100644 src/generated/resources/data/createindustry/recipes/compacting/cinderflourblock.json rename src/{main => generated}/resources/data/createindustry/recipes/compacting/plastic_molding.json (81%) rename src/{main => generated}/resources/data/createindustry/recipes/compacting/steel_block.json (87%) rename src/{main => generated}/resources/data/createindustry/recipes/compacting/thermite_powder.json (90%) rename src/{main => generated}/resources/data/createindustry/recipes/crushing/bauxite_recycling.json (57%) rename src/{main => generated}/resources/data/createindustry/recipes/crushing/coal_coke_dust.json (85%) create mode 100644 src/generated/resources/data/createindustry/recipes/crushing/copper_sulfate.json rename src/{main => generated}/resources/data/createindustry/recipes/crushing/galena_recycling.json (67%) rename src/{main => generated}/resources/data/createindustry/recipes/crushing/lignite.json (84%) rename src/{main => generated}/resources/data/createindustry/recipes/crushing/limesand.json (84%) rename src/{main => generated}/resources/data/createindustry/recipes/crushing/saltpeter.json (57%) rename src/{main => generated}/resources/data/createindustry/recipes/crushing/sulfur.json (66%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/cyan_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/cyan_concrete_slab_from_cyan_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/brown_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json} (65%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/cyan_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/cyan_concrete_wall_from_cyan_concrete_stonecutting.json} (62%) create mode 100644 src/generated/resources/data/createindustry/recipes/distillation/crude_oil.json create mode 100644 src/generated/resources/data/createindustry/recipes/distillation/crude_oil_no_naphtha.json create mode 100644 src/generated/resources/data/createindustry/recipes/distillation/heavy_oil.json create mode 100644 src/generated/resources/data/createindustry/recipes/distillation/naphtha.json rename src/{main => generated}/resources/data/createindustry/recipes/filling/air_tank.json (85%) rename src/{main => generated}/resources/data/createindustry/recipes/filling/bottle_of_battery_acid.json (86%) rename src/{main => generated}/resources/data/createindustry/recipes/filling/bottle_of_concrete.json (86%) rename src/{main => generated}/resources/data/createindustry/recipes/filling/butane_tank.json (85%) rename src/{main => generated}/resources/data/createindustry/recipes/filling/carbon_dioxide_tank.json (86%) rename src/{main => generated}/resources/data/createindustry/recipes/filling/ethylene_tank.json (85%) rename src/{main => generated}/resources/data/createindustry/recipes/filling/hardened_wood_creosote.json (85%) rename src/{main => generated}/resources/data/createindustry/recipes/filling/lpg_tank.json (85%) rename src/{main => generated}/resources/data/createindustry/recipes/filling/napalm_potato.json (85%) rename src/{main => generated}/resources/data/createindustry/recipes/filling/neon_tank.json (85%) rename src/{main => generated}/resources/data/createindustry/recipes/filling/propane_tank.json (85%) rename src/{main => generated}/resources/data/createindustry/recipes/filling/propylene_tank.json (85%) create mode 100644 src/generated/resources/data/createindustry/recipes/gas_blasting/heated_air.json rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/gray_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/gray_concrete_slab_from_gray_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/gray_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/gray_concrete_stairs_from_gray_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/gray_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/gray_concrete_wall_from_gray_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/green_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/green_concrete_slab_from_green_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/green_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/green_concrete_stairs_from_green_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/green_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/green_concrete_wall_from_green_concrete_stonecutting.json} (62%) rename src/{main => generated}/resources/data/createindustry/recipes/industrial_blasting/steel.json (57%) rename src/{main => generated}/resources/data/createindustry/recipes/item_application/heavy_machinery_casing.json (99%) rename src/{main => generated}/resources/data/createindustry/recipes/item_application/steel_casing.json (99%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/light_blue_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/light_blue_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json} (60%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/light_blue_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/light_gray_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/light_gray_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json} (60%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/light_gray_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/lime_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/lime_concrete_slab_from_lime_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/lime_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/lime_concrete_stairs_from_lime_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/lime_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/lime_concrete_wall_from_lime_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/magenta_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/magenta_concrete_slab_from_magenta_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/magenta_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/magenta_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/magenta_concrete_wall_from_magenta_concrete_stonecutting.json} (62%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/advanced_potato_cannon.json (93%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/diesel_engine.json (94%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/engine_base.json (68%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/engine_chamber.json (83%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/flamethrower.json (85%) create mode 100644 src/generated/resources/data/createindustry/recipes/mechanical_crafting/generator.json rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/large_radial_engine.json (95%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/lithium_blade.json (88%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_base.json (74%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_crank.json (65%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/quad_potato_cannon.json (94%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/radial_engine.json (94%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/rotor.json (92%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/spark_plug.json (89%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/stator.json (93%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_controller.json (82%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_output.json (92%) rename src/{main => generated}/resources/data/createindustry/recipes/mechanical_crafting/surface_scanner.json (81%) rename src/{main => generated}/resources/data/createindustry/recipes/milling/limesand.json (83%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/blasting_mixture.json (81%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/cast_iron_ingot.json (89%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/cement.json (98%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/concrete_mixture.json (98%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/concrete_mixture_from_slag.json (99%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/cooling_fluid.json (56%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/copper_sulfate.json (85%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/gun_powder.json (87%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/liquid_asphalt.json (68%) rename src/{main/resources/data/createindustry/recipes/mixing/liquid_concrete_.json => generated/resources/data/createindustry/recipes/mixing/liquid_concrete.json} (60%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/liquid_plastic_from_ethylene.json (56%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/liquid_plastic_from_propylene.json (57%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/napalm.json (58%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/neon.json (54%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/slag.json (60%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/sulfuric_acid.json (66%) rename src/{main => generated}/resources/data/createindustry/recipes/mixing/zinc_sulfate.json (85%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/orange_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/orange_concrete_slab_from_orange_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/orange_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/orange_concrete_stairs_from_orange_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/orange_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/orange_concrete_wall_from_orange_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/pink_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/pink_concrete_slab_from_pink_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/pink_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/pink_concrete_stairs_from_pink_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/pink_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/pink_concrete_wall_from_pink_concrete_stonecutting.json} (62%) rename src/{main => generated}/resources/data/createindustry/recipes/pressing/synthetic_leather.json (100%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/purple_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/purple_concrete_slab_from_purple_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/purple_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/purple_concrete_stairs_from_purple_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/purple_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/purple_concrete_wall_from_purple_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/red_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/red_concrete_slab_from_red_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/red_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/red_concrete_stairs_from_red_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/red_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/red_concrete_wall_from_red_concrete_stonecutting.json} (62%) rename src/{main => generated}/resources/data/createindustry/recipes/sequenced_assembly/gasoline_engine.json (72%) rename src/{main => generated}/resources/data/createindustry/recipes/sequenced_assembly/heavy_plate.json (96%) rename src/{main => generated}/resources/data/createindustry/recipes/sequenced_assembly/lpg_engine.json (91%) rename src/{main => generated}/resources/data/createindustry/recipes/sequenced_assembly/steel_mechanism.json (90%) rename src/{main => generated}/resources/data/createindustry/recipes/sequenced_assembly/turbine_engine.json (92%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/white_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/white_concrete_slab_from_white_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/white_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/white_concrete_stairs_from_white_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/white_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/white_concrete_wall_from_white_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/yellow_concrete_slab_stonecutting.json => generated/resources/data/createindustry/recipes/yellow_concrete_slab_from_yellow_concrete_stonecutting.json} (62%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/yellow_concrete_stairs_stonecutting.json => generated/resources/data/createindustry/recipes/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json} (61%) rename src/{main/resources/data/createindustry/recipes/colored_concrete/basic/yellow_concrete_wall_stonecutting.json => generated/resources/data/createindustry/recipes/yellow_concrete_wall_from_yellow_concrete_stonecutting.json} (62%) create mode 100644 src/generated/resources/data/forge/tags/items/buckets/blast_furnace_gas.json create mode 100644 src/generated/resources/data/forge/tags/items/buckets/heated_air.json create mode 100644 src/main/java/com/drmangotea/createindustry/base/TFMGColoredBlocks.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/TFMGRegistrate.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/TFMGDataGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/TFMGRegistrateTags.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/TFMGProcessingRecipeGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/TFMGRecipeProvider.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/CompactingGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/CrushingGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/FillingGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/ItemApplicationGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/MechanicalCraftingGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/MillingGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/MixingGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/PressingGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/SequencedAssemblyGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/CastingGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/CokingGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/DistillationGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/GasBlastingGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/IndustrialBlastingGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/datagen/recipe/vanilla/TFMGStandardRecipeGen.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/effects/FrostyEffect.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/multiblock/FluidOutputBlock.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/multiblock/FluidOutputBlockEntity.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/multiblock/MultiblockMasterBlockEntity.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/multiblock/MultiblockStructure.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/multiblock/PositionUtil.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/multiblock/StackableMultiblockSegment.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/util/ProperBrewingRecipe.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/util/Triple.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/util/spark/CoolSpark.java create mode 100644 src/main/java/com/drmangotea/createindustry/base/util/spark/CoolSparkRenderer.java create mode 100644 src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_stove/BlastStoveBlock.java create mode 100644 src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_stove/BlastStoveBlockEntity.java create mode 100644 src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_stove/BlastStoveGenerator.java create mode 100644 src/main/java/com/drmangotea/createindustry/events/CommonEvents.java create mode 100644 src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/BuiltinFlamethrowerFuelTypes.java create mode 100644 src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/FlamethrowerFuelType.java create mode 100644 src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/FlamethrowerFuelTypeManager.java create mode 100644 src/main/java/com/drmangotea/createindustry/mixins/AreaEffectCloudMixin.java create mode 100644 src/main/java/com/drmangotea/createindustry/recipes/gas_blasting/GasBlastingRecipe.java create mode 100644 src/main/java/com/drmangotea/createindustry/recipes/jei/GasBlastingCategory.java create mode 100644 src/main/resources/assets/createindustry/models/block/blast_stove/block.json create mode 100644 src/main/resources/assets/createindustry/models/block/blast_stove/block_running.json create mode 100644 src/main/resources/assets/createindustry/models/block/blast_stove/item.json create mode 100644 src/main/resources/assets/createindustry/textures/block/blast_stove.png create mode 100644 src/main/resources/assets/createindustry/textures/block/blast_stove_running.png create mode 100644 src/main/resources/assets/createindustry/textures/block/fluid_output.png create mode 100644 src/main/resources/assets/createindustry/textures/fluid/blast_furnace_gas.png create mode 100644 src/main/resources/assets/createindustry/textures/fluid/blast_furnace_gas.png.mcmeta create mode 100644 src/main/resources/assets/createindustry/textures/fluid/heated_air.png create mode 100644 src/main/resources/assets/createindustry/textures/fluid/heated_air.png.mcmeta create mode 100644 src/main/resources/assets/createindustry/textures/gui/icons.png create mode 100644 src/main/resources/assets/createindustry/textures/item/blast_furnace_gas_bucket.png create mode 100644 src/main/resources/assets/createindustry/textures/item/heated_air_bucket.png create mode 100644 src/main/resources/assets/createindustry/textures/mob_effect/frostbite.png create mode 100644 src/main/resources/data/createindustry/flamethrower_fuel_types/hellfire.json delete mode 100644 src/main/resources/data/createindustry/recipes/colored_concrete/basic/cyan_concrete_stairs_stonecutting.json delete mode 100644 src/main/resources/data/createindustry/recipes/compacting/cinderflourblock.json delete mode 100644 src/main/resources/data/createindustry/recipes/crushing/copper_sulfate.json delete mode 100644 src/main/resources/data/createindustry/recipes/distillation/crude_oil.json delete mode 100644 src/main/resources/data/createindustry/recipes/distillation/crude_oil_no_naphtha.json delete mode 100644 src/main/resources/data/createindustry/recipes/distillation/heavy_oil.json delete mode 100644 src/main/resources/data/createindustry/recipes/distillation/naphtha.json delete mode 100644 src/main/resources/data/createindustry/recipes/mechanical_crafting/cast_iron_distillation_controller.json delete mode 100644 src/main/resources/data/createindustry/recipes/mechanical_crafting/generator.json delete mode 100644 src/main/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_hammer_holder.json delete mode 100644 src/main/resources/data/createindustry/recipes/milling/charcoal_dust.json delete mode 100644 src/main/resources/data/createindustry/recipes/mixing/hellfire_potion.json diff --git a/src/generated/resources/.cache/2d06ea55ee27bcb1f7f87fa8ec3e037afa7e1ad9 b/src/generated/resources/.cache/2d06ea55ee27bcb1f7f87fa8ec3e037afa7e1ad9 index deb3235b..a178adec 100644 --- a/src/generated/resources/.cache/2d06ea55ee27bcb1f7f87fa8ec3e037afa7e1ad9 +++ b/src/generated/resources/.cache/2d06ea55ee27bcb1f7f87fa8ec3e037afa7e1ad9 @@ -1,4 +1,4 @@ -// 1.19.2 2024-07-03T15:07:29.6139549 Registrate Provider for createindustry [Recipes, Advancements, Loot tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] +// 1.19.2 2024-07-22T13:17:30.0184464 Registrate Provider for createindustry [Recipes, Advancements, Loot tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] 618a4fde84a56aca00c6990dbde278f8fb76bb1e assets/createindustry/blockstates/accumulator.json 50db526af77cf0ead08cadfd3f7daa8b84a40312 assets/createindustry/blockstates/air_intake.json 429437419b2ec98bd716e7ba15583b84da7488d5 assets/createindustry/blockstates/aluminum_bars.json @@ -22,6 +22,7 @@ e464e2a4f734edddc561ed16c6ef59cff24f7c48 assets/createindustry/blockstates/aspha 93a81066656b7dd0e3ddfa5c0acef85773691cbe assets/createindustry/blockstates/black_concrete_stairs.json e7be4ba03250473eed90673c18fa8ff499df4b2e assets/createindustry/blockstates/black_concrete_wall.json 9444760b497a6f7a8b01dbbb9ef3c6d1c4cce578 assets/createindustry/blockstates/blast_furnace_output.json +fbe4f941fdadbd4eefe6ff77e58a68227df6fff6 assets/createindustry/blockstates/blast_stove.json 7d985fc27492c127bdb8dc5cc7fa4d4038ca92fe assets/createindustry/blockstates/blue_caution_block.json f844fd0e8d4d18f36fc3cf4e8872f1427f273101 assets/createindustry/blockstates/blue_concrete.json c45124689815c652aae0f78c9be6eb6e28d4d5d4 assets/createindustry/blockstates/blue_concrete_slab.json @@ -120,6 +121,7 @@ e5f2c9437f90c1f10f8eaabb26864aa857a1919a assets/createindustry/blockstates/facto 99208a5e408102130b13f510ccebfaeb44290826 assets/createindustry/blockstates/fireproof_bricks.json cc2530ffc221ed2a1c2fd35526f720b40a94628b assets/createindustry/blockstates/fireproof_brick_reinforcement.json db10fa8e367e21a0e2a8031ce119acc3146580f6 assets/createindustry/blockstates/flarestack.json +867c554a97c2c937ebda71d76117d4d1ab3e8932 assets/createindustry/blockstates/fluid_output.json 37df5306e8020d0993c2db8008b65975b84912a2 assets/createindustry/blockstates/formwork_block.json d49ae2f7556fb9d5892399783e4a51554162761f assets/createindustry/blockstates/fossilstone.json c6acb588494564b6c3a8d2a14430780e3c2c403a assets/createindustry/blockstates/galena.json @@ -329,8 +331,8 @@ a3376853404f164207006a3e6797872b39748966 assets/createindustry/blockstates/yello cf86260011f9890489b886d2f29eec92ca423f94 assets/createindustry/blockstates/yellow_concrete_wall.json 0305f011b989c226baf09bc39547daceff7ac826 assets/createindustry/blockstates/zinc_frame.json cbdfdcd64606aff5f426f6be20e9d60b155bed55 assets/createindustry/blockstates/zinc_truss.json -956bbc8f41a89742a1e2690097f91de990b76a7d assets/createindustry/lang/en_ud.json -648834006ff13f225f188bfd357e6c81e7f31b38 assets/createindustry/lang/en_us.json +1f2547484e4f4e6f04f9e68f434a2f0528c5f94e assets/createindustry/lang/en_ud.json +a42f166cd990f4550aebdeb8f6686334be4392c1 assets/createindustry/lang/en_us.json c97ace9182228ac09c3decbeae4a1c5f19bf2729 assets/createindustry/models/block/aluminum_block.json 04ac8fe21a740f3dd29d3d6083d59729f129b14b assets/createindustry/models/block/aluminum_cable_hub.json eadb8c93c688022b4f6e9d928a09f6e3da7d1ff8 assets/createindustry/models/block/aluminum_cap.json @@ -555,6 +557,7 @@ e1e4f3b39217735e396719fa5114f1f3ff2d9bd3 assets/createindustry/models/block/fact 54b1147d65e48f75952de33211975c83962d015c assets/createindustry/models/block/fireproof_brick_reinforcement_wall_post.json 5ccef430d7d4768a444fb9c4df05aa8a972c8b2e assets/createindustry/models/block/fireproof_brick_reinforcement_wall_side.json d222386101c8e54e41c3fa63ebb25e451343bc78 assets/createindustry/models/block/fireproof_brick_reinforcement_wall_side_tall.json +5c9252f68de67c7e17b4397ef65366eb62fca331 assets/createindustry/models/block/fluid_output.json 94612d92d85d3a687b6dcf77bb72c0498d7d3cfe assets/createindustry/models/block/fossilstone.json 3d8753f09d26238c9588aa0eed83204f022e5e0b assets/createindustry/models/block/galena_natural_0.json d3a33e53fd26e0b0fc528ff1d713dc583a22b877 assets/createindustry/models/block/galena_natural_1.json @@ -929,7 +932,9 @@ d781586c69140d00c4698d434426725148e53127 assets/createindustry/models/item/black 9cf294ab7912a46233883d3e8118cfa2171d3676 assets/createindustry/models/item/black_concrete_stairs.json 28865a2b9212f1bcc4a65a32002623bc186da9b1 assets/createindustry/models/item/black_concrete_wall.json bffbc5ebd39352eaca157e47c44cf3a7d43a29dc assets/createindustry/models/item/blasting_mixture.json +607470667a74b14a9e6922f3e9db34112b8c9cb6 assets/createindustry/models/item/blast_furnace_gas_bucket.json eb79e25c93a3d2251496fddc141e749d2ace2b01 assets/createindustry/models/item/blast_furnace_output.json +36cb9ebba6d775917a0156cc34c68c974b68bfcd assets/createindustry/models/item/blast_stove.json c7e6bbd897b6eb363505e2840b62ec9cee129894 assets/createindustry/models/item/block_mold.json 7d7d4580545f0732e28341f8b2ad6fa059309866 assets/createindustry/models/item/blue_caution_block.json 0e500b3a21b83741ff9a6015fa60bd944f4a9dc0 assets/createindustry/models/item/blue_concrete.json @@ -1044,6 +1049,7 @@ b59c027fe75c566a73d1c068f0558e0c8d262226 assets/createindustry/models/item/firec 4375c1b9f57ca9b5b5cf700b9b7c4ff25c554650 assets/createindustry/models/item/fireproof_brick_reinforcement.json 12c9549ea0701818057a9a8e5c75803b33f5ba14 assets/createindustry/models/item/flamethrower.json 004725e848bb688280bcb1e0bb03901ab640318a assets/createindustry/models/item/flarestack.json +e322478fbd14a6704b46f46b69844e145c457d35 assets/createindustry/models/item/fluid_output.json 51b592f033acb1ebef30bcccb5893e8532169eeb assets/createindustry/models/item/formwork_block.json 643ec369a783780a0c783c3190613930536d2141 assets/createindustry/models/item/fossilstone.json d3a33e53fd26e0b0fc528ff1d713dc583a22b877 assets/createindustry/models/item/galena.json @@ -1065,6 +1071,7 @@ f2e482ff0d0b555b4581c15edb4e01b9c7935820 assets/createindustry/models/item/gray_ 54e1b1c148e2a5f3235ed472d7386324fad82163 assets/createindustry/models/item/green_concrete_wall.json 05529b1cd0b8e6f5ae54440f59bdf33b0e3a50b7 assets/createindustry/models/item/hardened_planks.json cc83f31a318b8c43e9bdc125c62d1c25750019ff assets/createindustry/models/item/hardened_planks_slab.json +4538a79dee23e6d3828f35b9a5308f70c00322c7 assets/createindustry/models/item/heated_air_bucket.json f72c5699b4f2ed494d460dc4c9e05e69e12fddc0 assets/createindustry/models/item/heavy_cable_hub.json 3ea2174152c3617010a278e23923c08917da844e assets/createindustry/models/item/heavy_casing_door.json e8c4d2eb1eba75a042a07210c237c9eb380370d0 assets/createindustry/models/item/heavy_casing_encased_aluminum_cogwheel.json @@ -1310,8 +1317,17 @@ d2674ab227f0eeb92258f423f03ef3286de168e3 data/createindustry/advancements/recipe 009fd5fbd1380a356ff56b1789789c91cd4a50d7 data/createindustry/advancements/recipes/createindustry.building/aluminum_scaffolding_from_ingots_aluminum_stonecutting.json 1d5c52d2325fb70c9c556cd301db08f462eed0cb data/createindustry/advancements/recipes/createindustry.building/bauxite_from_stone_types_bauxite_stonecutting.json b7581ba7be6397c4ad1f35b330add15e6de9228a data/createindustry/advancements/recipes/createindustry.building/bauxite_pillar_from_stone_types_bauxite_stonecutting.json +7e7b33896d054b570bc2a149263085def1ff66ce data/createindustry/advancements/recipes/createindustry.building/black_concrete_slab_from_black_concrete_stonecutting.json +89bc33f51f9986e5963e12cf409a6981941561e6 data/createindustry/advancements/recipes/createindustry.building/black_concrete_stairs_from_black_concrete_stonecutting.json +2f3c38746785d951d202dfcc82c02ce4728c76a9 data/createindustry/advancements/recipes/createindustry.building/black_concrete_wall_from_black_concrete_stonecutting.json +74d8e004c6455aee5688a68b0c2b88421f557fde data/createindustry/advancements/recipes/createindustry.building/blue_concrete_slab_from_blue_concrete_stonecutting.json +3c399e6f78aa215fc41981cce126eab9c6025008 data/createindustry/advancements/recipes/createindustry.building/blue_concrete_stairs_from_blue_concrete_stonecutting.json +f6bb773a24d1323b70cc09997e235ce8cb142e92 data/createindustry/advancements/recipes/createindustry.building/blue_concrete_wall_from_blue_concrete_stonecutting.json 5283cd6664990505f294ecff96617720850747d6 data/createindustry/advancements/recipes/createindustry.building/brass_frame_from_ingots_brass_stonecutting.json 0ca83190e88186440e0c9f9d8fd888cd81c81892 data/createindustry/advancements/recipes/createindustry.building/brass_truss_from_ingots_brass_stonecutting.json +8b3626357a8ecb767bd679a42bbfd635432cfce2 data/createindustry/advancements/recipes/createindustry.building/brown_concrete_slab_from_brown_concrete_stonecutting.json +6c025acaec671d8d5441efbe37c9a4d3ea82c0de data/createindustry/advancements/recipes/createindustry.building/brown_concrete_stairs_from_brown_concrete_stonecutting.json +b15d0554a49e764e987b2afe8c56d12506dcfbc2 data/createindustry/advancements/recipes/createindustry.building/brown_concrete_wall_from_brown_concrete_stonecutting.json 967e04b6c4fb862ca6b8cbb9bdb7c4e254672584 data/createindustry/advancements/recipes/createindustry.building/cast_iron_bars_from_ingots_cast_iron_stonecutting.json 26c33f8368dc9ed39e9929a714d1e5110f94725d data/createindustry/advancements/recipes/createindustry.building/cast_iron_ladder_from_ingots_cast_iron_stonecutting.json 10d9b0cf937e47b40bb980abb40ca5d6d164821d data/createindustry/advancements/recipes/createindustry.building/concrete_slab_from_concrete_stonecutting.json @@ -1351,18 +1367,45 @@ b84f0ff75600f120e5a6d19c107cd3c14224e95a data/createindustry/advancements/recipe 61ad3008b0c4421768875529b3148242ec6916f5 data/createindustry/advancements/recipes/createindustry.building/cut_galena_stairs_from_stone_types_galena_stonecutting.json 134528494c677fb4e6062d29a35f5c97cb91fa26 data/createindustry/advancements/recipes/createindustry.building/cut_galena_wall.json 39e5b7451f429210f362f7e0a732da312dfb5c87 data/createindustry/advancements/recipes/createindustry.building/cut_galena_wall_from_stone_types_galena_stonecutting.json +454bcf1b8cd9e36d1d976b198f826d8c7cc0d733 data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_slab_from_cyan_concrete_stonecutting.json +b22b4a153e93d05d4cd648007846e295bca0e7ec data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json +5b1f0669e02cd36f2504447f4d4013f0cc97770b data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_wall_from_cyan_concrete_stonecutting.json 4b7b3ee4b321ef3f9f08e02c10f00d3ea4d6f9c6 data/createindustry/advancements/recipes/createindustry.building/galena_from_stone_types_galena_stonecutting.json ab255209c912e9ac90c8430df6b75642f615c35d data/createindustry/advancements/recipes/createindustry.building/galena_pillar_from_stone_types_galena_stonecutting.json +c78f445ed73049146ee8f61a2349956be29d11ce data/createindustry/advancements/recipes/createindustry.building/gray_concrete_slab_from_gray_concrete_stonecutting.json +a79c18b4390c6b0a2b2a193b003bb46db38c2ecf data/createindustry/advancements/recipes/createindustry.building/gray_concrete_stairs_from_gray_concrete_stonecutting.json +ae89be9cfddb7cc07f2666fc5df3396cda8ae4c7 data/createindustry/advancements/recipes/createindustry.building/gray_concrete_wall_from_gray_concrete_stonecutting.json +012ec1fcdf6b8f7947fb6c528e7c413c2f594950 data/createindustry/advancements/recipes/createindustry.building/green_concrete_slab_from_green_concrete_stonecutting.json +5b7e1b6f7d35ad0f06e21fca8b42d70cc35b30b7 data/createindustry/advancements/recipes/createindustry.building/green_concrete_stairs_from_green_concrete_stonecutting.json +9f42ec0a3e5cd0233e60646bda7948ee57be9ced data/createindustry/advancements/recipes/createindustry.building/green_concrete_wall_from_green_concrete_stonecutting.json 584827d3369e4a9f7a2628df267ef782bd98b6f9 data/createindustry/advancements/recipes/createindustry.building/layered_bauxite_from_stone_types_bauxite_stonecutting.json b18bd32defaa39d69e2acf33b23dfca2dbab89b8 data/createindustry/advancements/recipes/createindustry.building/layered_galena_from_stone_types_galena_stonecutting.json 6384e6ffce1c0ef227a2dd2284c58e2f09b61ea6 data/createindustry/advancements/recipes/createindustry.building/lead_bars_from_ingots_lead_stonecutting.json f6addd0e793f5ba973de0ed416fa3f3bc1f133c1 data/createindustry/advancements/recipes/createindustry.building/lead_frame_from_ingots_lead_stonecutting.json 6b602cb386e43f343b8e53318034b79867a6aab3 data/createindustry/advancements/recipes/createindustry.building/lead_ladder_from_ingots_lead_stonecutting.json 09c09c4e318d8b5012f30154508b8be710527f2d data/createindustry/advancements/recipes/createindustry.building/lead_truss_from_ingots_lead_stonecutting.json +40c20c313127309c67084110121c4543a5a31928 data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json +28d3f181bcf5b51bd4bc5538b48fd4d13b7f0cf3 data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json +b777235bfc1ec2ea24b5ab4b3acc64ae2a4abdb0 data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json +5fcd3753857457a18d7834d5cb32f5aa267db9ba data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json +bc7c83255b4ce8b6045b5aa70f0a5e16ec940ae9 data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json +a230297611f055034da7a7864e67eb69633737f3 data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json +0214dcd0df9567c77c946a3e1535d19ab6acb4c8 data/createindustry/advancements/recipes/createindustry.building/lime_concrete_slab_from_lime_concrete_stonecutting.json +a1790a43025ecb38570c82b98a21d56c736b1ddb data/createindustry/advancements/recipes/createindustry.building/lime_concrete_stairs_from_lime_concrete_stonecutting.json +9c86d53f54c9da9ea1180497f699504f66982fc9 data/createindustry/advancements/recipes/createindustry.building/lime_concrete_wall_from_lime_concrete_stonecutting.json +6f24b019cf394fea4597b5f63e93205a71cb1fe9 data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_slab_from_magenta_concrete_stonecutting.json +0f1ed0168386ccdec22ff30946297ac7b22c9ebc data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json +5d6771ffa604ad94f8ac53e58a6ee17000844f24 data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_wall_from_magenta_concrete_stonecutting.json 171db373d1846016b2ec665c57c7e98fe8558de6 data/createindustry/advancements/recipes/createindustry.building/nickel_bars_from_ingots_nickel_stonecutting.json 437d390f50060a63027fb128812a9bae9426b2fa data/createindustry/advancements/recipes/createindustry.building/nickel_frame_from_ingots_nickel_stonecutting.json 54291532100d1975263fb96587d1db0e8581fcc0 data/createindustry/advancements/recipes/createindustry.building/nickel_ladder_from_ingots_nickel_stonecutting.json 0154a88e337b1a6396eb74c12c6a93fdc5d4b435 data/createindustry/advancements/recipes/createindustry.building/nickel_truss_from_ingots_nickel_stonecutting.json +5d526b0dfc921d41eeea9418806a505d96d00743 data/createindustry/advancements/recipes/createindustry.building/orange_concrete_slab_from_orange_concrete_stonecutting.json +c96e7c86efc8ea7522c632c07908e90515977a54 data/createindustry/advancements/recipes/createindustry.building/orange_concrete_stairs_from_orange_concrete_stonecutting.json +fe89a1d790080e892331570a21cc1b532fe05eb4 data/createindustry/advancements/recipes/createindustry.building/orange_concrete_wall_from_orange_concrete_stonecutting.json +fac7554a9fccf7322ccfc8870094b865335cd05a data/createindustry/advancements/recipes/createindustry.building/pink_concrete_slab_from_pink_concrete_stonecutting.json +15c1798d29ad71ef9d753eef4840a0ea85bd1a83 data/createindustry/advancements/recipes/createindustry.building/pink_concrete_stairs_from_pink_concrete_stonecutting.json +a080b37828a407ccb25a39524f46458ad878e2de data/createindustry/advancements/recipes/createindustry.building/pink_concrete_wall_from_pink_concrete_stonecutting.json cb14f63af64b6ea52af2f1676d4f94772f7707d5 data/createindustry/advancements/recipes/createindustry.building/polished_cut_bauxite_from_stone_types_bauxite_stonecutting.json 033df645e8ff979abd5d78fad26641c9a56ca5bd data/createindustry/advancements/recipes/createindustry.building/polished_cut_bauxite_slab.json 476faffb71beaff22049bf58c14624e947986f8d data/createindustry/advancements/recipes/createindustry.building/polished_cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json @@ -1379,7 +1422,13 @@ b0c61949440e4867bd4a7d1a53b6d81401e3b45e data/createindustry/advancements/recipe 7cf05421ce7f91c2b526919073f2de13b00b2f92 data/createindustry/advancements/recipes/createindustry.building/polished_cut_galena_stairs_from_stone_types_galena_stonecutting.json 19f98ebd97dd179292a0fb674f254fb26dbc0939 data/createindustry/advancements/recipes/createindustry.building/polished_cut_galena_wall.json 132e7001a262bb1ddf375c4d87ddd3f90bb6e3fc data/createindustry/advancements/recipes/createindustry.building/polished_cut_galena_wall_from_stone_types_galena_stonecutting.json +6d03afe8d1a0911ee01b2dc92aabc9a6a747363b data/createindustry/advancements/recipes/createindustry.building/purple_concrete_slab_from_purple_concrete_stonecutting.json +4a9b1034a60402f00a1af2cdd39e6e316d2d51db data/createindustry/advancements/recipes/createindustry.building/purple_concrete_stairs_from_purple_concrete_stonecutting.json +983696fa146942636556004756909c139153ad60 data/createindustry/advancements/recipes/createindustry.building/purple_concrete_wall_from_purple_concrete_stonecutting.json 0280358a26e7e09605674cf3293bde493e708491 data/createindustry/advancements/recipes/createindustry.building/rebar_concrete_slab_from_rebar_concrete_stonecutting.json +d36a3380b101332a83b8d3772ce75b4d0520520b data/createindustry/advancements/recipes/createindustry.building/red_concrete_slab_from_red_concrete_stonecutting.json +64ea2a5015e184683a42274a39a07726c9a2584d data/createindustry/advancements/recipes/createindustry.building/red_concrete_stairs_from_red_concrete_stonecutting.json +d4c04754b5400459a98bd69806b90c80244cb2a3 data/createindustry/advancements/recipes/createindustry.building/red_concrete_wall_from_red_concrete_stonecutting.json e569c8560d069caf0b682a0eaa579a0ca2fbb634 data/createindustry/advancements/recipes/createindustry.building/small_bauxite_bricks_from_stone_types_bauxite_stonecutting.json aba10772636e91d259ad5d7aa183f68ca131db00 data/createindustry/advancements/recipes/createindustry.building/small_bauxite_brick_slab.json 8269301b00ac7508bb192dca97a47236eb6d769b data/createindustry/advancements/recipes/createindustry.building/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json @@ -1399,6 +1448,12 @@ ccfa4762f732fa30d22fbbea75ab7be37063428f data/createindustry/advancements/recipe 676ffb2246d0d0077aaccc5f6f2de4481b09bdf9 data/createindustry/advancements/recipes/createindustry.building/steel_bars_from_ingots_steel_stonecutting.json 7f0a202e2cdf6c9d07aabbccb2de107f732da92d data/createindustry/advancements/recipes/createindustry.building/steel_ladder_from_ingots_steel_stonecutting.json 341d7345e8c6384c0a1b051f4e4d69b98c4e0089 data/createindustry/advancements/recipes/createindustry.building/steel_scaffolding_from_ingots_steel_stonecutting.json +7bea325d84ae46de41a070bf434d185eb621081f data/createindustry/advancements/recipes/createindustry.building/white_concrete_slab_from_white_concrete_stonecutting.json +3608af49e140a850cee25d50392803286da8996a data/createindustry/advancements/recipes/createindustry.building/white_concrete_stairs_from_white_concrete_stonecutting.json +b00df9e6d25f4b29a57cc589e8fe15221cfa56ba data/createindustry/advancements/recipes/createindustry.building/white_concrete_wall_from_white_concrete_stonecutting.json +de1591355ac8b88b9fbc53b1ae4eff5dd0100908 data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_slab_from_yellow_concrete_stonecutting.json +62228af9525fc48f83c880aaef8befe6fa16524d data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json +9df4748b0c2e983bc519aae741fa7a357aba69ab data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_wall_from_yellow_concrete_stonecutting.json e87030d8e7c99edde9291fa703fd5c89a15f5c9b data/createindustry/advancements/recipes/createindustry.building/zinc_frame_from_ingots_zinc_stonecutting.json 7e1c572245dbeff28e34d48910d1dabca150735e data/createindustry/advancements/recipes/createindustry.building/zinc_truss_from_ingots_zinc_stonecutting.json 109c8f09132b868ee36e5812e9e5d94553b302e7 data/createindustry/loot_tables/blocks/accumulator.json @@ -1424,6 +1479,7 @@ d4877afdadc46be2f29b04b05efc0c99867f4e47 data/createindustry/loot_tables/blocks/ 098f069575ea2aae6b5319052aa7056c6f456924 data/createindustry/loot_tables/blocks/black_concrete_stairs.json 33af91d47277dfdb85241b92424cceba48dcc6ec data/createindustry/loot_tables/blocks/black_concrete_wall.json e695854289287dccc00102aa689eeaec111b52a1 data/createindustry/loot_tables/blocks/blast_furnace_output.json +72e9dbf59438d95ebf8806e26148437b20f60283 data/createindustry/loot_tables/blocks/blast_stove.json 6438a4f0600426fcbe9d08a7d7ebfb0d89f52b23 data/createindustry/loot_tables/blocks/blue_caution_block.json 31428000d99664e19e46cd9d84ccaf811a67f5c4 data/createindustry/loot_tables/blocks/blue_concrete.json 454f4c7dc8aaae9af0bcb8af2537bed95997a910 data/createindustry/loot_tables/blocks/blue_concrete_slab.json @@ -1518,6 +1574,7 @@ eeed2ad0af88d5e3048848be9302ae0abbba071a data/createindustry/loot_tables/blocks/ 90f596af44be27cd43c4db44408e4bb78c495669 data/createindustry/loot_tables/blocks/fireproof_bricks.json 64a448ce12f834191e77eb96b5edbaf3d71c4b8d data/createindustry/loot_tables/blocks/fireproof_brick_reinforcement.json 6689e290ede100d11c15d60105ce24e7e3dbc723 data/createindustry/loot_tables/blocks/flarestack.json +e339fcfca2e5f424f5afeadecc5128985604542c data/createindustry/loot_tables/blocks/fluid_output.json b340d10b7eda3c5d50aa44984bd4bf8173f10638 data/createindustry/loot_tables/blocks/formwork_block.json 0771c6f9b8a849cc5f826fba90669cbbdac3a34f data/createindustry/loot_tables/blocks/fossilstone.json ac74e86294604a13dfe6e78210d5752ca59d13c8 data/createindustry/loot_tables/blocks/galena.json @@ -1719,8 +1776,17 @@ ba930ee89155dc321e546aef3df7e6275e7c8f3b data/createindustry/recipes/aluminum_ba 73173b977371d01cc437cf583ce233b7a439c58a data/createindustry/recipes/aluminum_scaffolding_from_ingots_aluminum_stonecutting.json 50fedca289c3aae4c5a2aa5e4a9facb84c847da7 data/createindustry/recipes/bauxite_from_stone_types_bauxite_stonecutting.json abee45903bfc415321b86d794bd4ddcd91532660 data/createindustry/recipes/bauxite_pillar_from_stone_types_bauxite_stonecutting.json +f44236623296b7e872b2de6a8aa745d05661b571 data/createindustry/recipes/black_concrete_slab_from_black_concrete_stonecutting.json +be66f1cd72752220f24ab32849ecb9cdf98f5003 data/createindustry/recipes/black_concrete_stairs_from_black_concrete_stonecutting.json +49e6f12d4418cca9d8c367449a74fd715aac12c1 data/createindustry/recipes/black_concrete_wall_from_black_concrete_stonecutting.json +42d0d79c0e339454660909e001b6a8d03a3d4921 data/createindustry/recipes/blue_concrete_slab_from_blue_concrete_stonecutting.json +795b29948ee4b3a66dc4dba1707868813c050e40 data/createindustry/recipes/blue_concrete_stairs_from_blue_concrete_stonecutting.json +df8bbbe4a842d78879e641884e4b8b7b31776944 data/createindustry/recipes/blue_concrete_wall_from_blue_concrete_stonecutting.json 498f518ba7465da1547da2ae6f082b345db9d2b7 data/createindustry/recipes/brass_frame_from_ingots_brass_stonecutting.json 809778aaf97d20c214a5b98ed13950388b2982a4 data/createindustry/recipes/brass_truss_from_ingots_brass_stonecutting.json +1461155cdf0c9008cdbae767328328ab12b1986d data/createindustry/recipes/brown_concrete_slab_from_brown_concrete_stonecutting.json +940e62dfa9d1c43120e81ab268fcb8a4d7892062 data/createindustry/recipes/brown_concrete_stairs_from_brown_concrete_stonecutting.json +84a9a408807e65e201294af6b0a638bf3f8d1edd data/createindustry/recipes/brown_concrete_wall_from_brown_concrete_stonecutting.json 6d3f05fb8a16273588219d3b017f6043a4a2ff05 data/createindustry/recipes/cast_iron_bars_from_ingots_cast_iron_stonecutting.json 342bfbca2a3a51a772bf9b504336d80ae46dbf64 data/createindustry/recipes/cast_iron_ladder_from_ingots_cast_iron_stonecutting.json a74b0a75d87d545c9a66ad660b02918b34fb28e2 data/createindustry/recipes/cinderblock_from_concrete_stonecutting.json @@ -1761,18 +1827,45 @@ e4375725157ca0594a8facaa4326abecb5a00efe data/createindustry/recipes/cut_galena_ a8b5f6ec2701058cc5a8a03d28429086e100d443 data/createindustry/recipes/cut_galena_stairs_from_stone_types_galena_stonecutting.json 9c003bb5033de93cfbdd96dbb29700ada7e4b0d5 data/createindustry/recipes/cut_galena_wall.json 52b7a8d7b028afd8a76b25aa433de82a54385902 data/createindustry/recipes/cut_galena_wall_from_stone_types_galena_stonecutting.json +86aae3002e6f85a9c0e637ee6ac4e056cb034ad9 data/createindustry/recipes/cyan_concrete_slab_from_cyan_concrete_stonecutting.json +6a14458c396bba1ff1f59ac9961ae3820ca45875 data/createindustry/recipes/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json +d899d6495f51b52673ab70094473bee78f0970a0 data/createindustry/recipes/cyan_concrete_wall_from_cyan_concrete_stonecutting.json 4dd60c91dab6786525df4388ea338b125e2392ac data/createindustry/recipes/galena_from_stone_types_galena_stonecutting.json 0efdebc7cc2ab10a83da366e90ab82b9d45b4c1f data/createindustry/recipes/galena_pillar_from_stone_types_galena_stonecutting.json +19cffa02751e45cc279806a97babf2b440803f61 data/createindustry/recipes/gray_concrete_slab_from_gray_concrete_stonecutting.json +c8df33d28867d2103bcceb87e67e5cc87113ef9c data/createindustry/recipes/gray_concrete_stairs_from_gray_concrete_stonecutting.json +6da0a18822e7dc8635391fbebf60d170fdb64ebf data/createindustry/recipes/gray_concrete_wall_from_gray_concrete_stonecutting.json +fa9fcb4e854749858c237a2dae2ff104836f6069 data/createindustry/recipes/green_concrete_slab_from_green_concrete_stonecutting.json +bd87b219e3fffcf43811c8f728c09b5ca213e018 data/createindustry/recipes/green_concrete_stairs_from_green_concrete_stonecutting.json +33107106290275c917c1373e8b4819418bded9b3 data/createindustry/recipes/green_concrete_wall_from_green_concrete_stonecutting.json 25704cca2c6e1a8733542959c6b8cb62c4887d08 data/createindustry/recipes/layered_bauxite_from_stone_types_bauxite_stonecutting.json d5f15df148876382599af5ca634aa4e13355f2f8 data/createindustry/recipes/layered_galena_from_stone_types_galena_stonecutting.json 4b2d95295687385c816c9004789fc7a6ceef876f data/createindustry/recipes/lead_bars_from_ingots_lead_stonecutting.json 25b6a5c836bb927f542c9fe517a8dde9e56388f3 data/createindustry/recipes/lead_frame_from_ingots_lead_stonecutting.json 87e87dd946b0ed5d8b8157e6f1958dc7605cdfa9 data/createindustry/recipes/lead_ladder_from_ingots_lead_stonecutting.json c9b247458d6ed97000cf99fad9996dcf384fda7e data/createindustry/recipes/lead_truss_from_ingots_lead_stonecutting.json +85410c50443cbf2adad606ead1ec6b444a127f94 data/createindustry/recipes/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json +4581cb14645dad16af81b59a0bdd5b42c889d872 data/createindustry/recipes/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json +00bc528f51bb5ef064b4ec3a9835df06baccfad8 data/createindustry/recipes/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json +076c0732b0fe421c9fd8e2f8b64a2fc686870b0c data/createindustry/recipes/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json +39680aded359ce3c40110365cad683740c21f96b data/createindustry/recipes/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json +0e37bc9cafaecdba52aadf6f6cee9e93a4ab04c1 data/createindustry/recipes/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json +114c218adb80a3cdda3f81d82c96314bb259b5b7 data/createindustry/recipes/lime_concrete_slab_from_lime_concrete_stonecutting.json +5bce7501f6ae6fbb035c53cfe1cf63a72c61b036 data/createindustry/recipes/lime_concrete_stairs_from_lime_concrete_stonecutting.json +1008cfb92910d5e77dcade9edb204e6778725b47 data/createindustry/recipes/lime_concrete_wall_from_lime_concrete_stonecutting.json +81473414d75a5278b608be086448fa0ca1138ad5 data/createindustry/recipes/magenta_concrete_slab_from_magenta_concrete_stonecutting.json +19ac61053c8a98720080f7a51782549a210305be data/createindustry/recipes/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json +847121a62769e973e84d097a0f3b55f18a7030ae data/createindustry/recipes/magenta_concrete_wall_from_magenta_concrete_stonecutting.json f62e5d367c18c9802f322a37c05784fa57d1b6dc data/createindustry/recipes/nickel_bars_from_ingots_nickel_stonecutting.json 90cdd665bcee7f1b09058f644d4178ce0c2a14b4 data/createindustry/recipes/nickel_frame_from_ingots_nickel_stonecutting.json 18d96369990005fe7e20f58211b719f25203af40 data/createindustry/recipes/nickel_ladder_from_ingots_nickel_stonecutting.json 2fe0e7742fc2df5ebf6a9d1ca40a9e36b1807c23 data/createindustry/recipes/nickel_truss_from_ingots_nickel_stonecutting.json +1f5bc870fddab135da3483edb70d005b1b9177f3 data/createindustry/recipes/orange_concrete_slab_from_orange_concrete_stonecutting.json +00fd23ccdf13b8d8bf8b85278ec07471872edbf4 data/createindustry/recipes/orange_concrete_stairs_from_orange_concrete_stonecutting.json +b956c5c04365e2c894bfe741c577a2bdca7753da data/createindustry/recipes/orange_concrete_wall_from_orange_concrete_stonecutting.json +d77ff5d6d99da6cd1275377e8a38980d7264284b data/createindustry/recipes/pink_concrete_slab_from_pink_concrete_stonecutting.json +44833c1e27bf6ece90c73a4b143aeea7287b78ff data/createindustry/recipes/pink_concrete_stairs_from_pink_concrete_stonecutting.json +9f0eba63d93066c7e1e191ad466aa3830b89c4c2 data/createindustry/recipes/pink_concrete_wall_from_pink_concrete_stonecutting.json 5063ac5e6c029317ce9c808074bc5a61781b60cd data/createindustry/recipes/polished_cut_bauxite_from_stone_types_bauxite_stonecutting.json 63863bef147fa85f0cc5aca000164f805a504b66 data/createindustry/recipes/polished_cut_bauxite_slab.json f64d9e73f878cf66c9915c41bd7c6a78ca277ba7 data/createindustry/recipes/polished_cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json @@ -1789,7 +1882,13 @@ b0fcd376ad0c8633c10bf179f41441ec43a82459 data/createindustry/recipes/polished_cu 9cfa3caf0b7dfe705e0c0ace179a9f1743c3b8d9 data/createindustry/recipes/polished_cut_galena_stairs_from_stone_types_galena_stonecutting.json 52d3f5a086edb3dc21194c9d04762db7a9365e74 data/createindustry/recipes/polished_cut_galena_wall.json 462634ffcb403f5377f7a9beeaa1f6909ae4eb71 data/createindustry/recipes/polished_cut_galena_wall_from_stone_types_galena_stonecutting.json +75a8c6b872a3dac15f7d856be9824fa6bbf57343 data/createindustry/recipes/purple_concrete_slab_from_purple_concrete_stonecutting.json +ae3d4290eb060fb055ba115b7423b2266f0ed3de data/createindustry/recipes/purple_concrete_stairs_from_purple_concrete_stonecutting.json +3b33f3210dc9343ba0baed5094ba7479b7946756 data/createindustry/recipes/purple_concrete_wall_from_purple_concrete_stonecutting.json 5e0ad39f1c6de2d3cd897ae46c47c87aeaf32369 data/createindustry/recipes/rebar_concrete_slab_from_rebar_concrete_stonecutting.json +2786c91e864839717c3853956945e2378cf3fea0 data/createindustry/recipes/red_concrete_slab_from_red_concrete_stonecutting.json +105a455d14fa5f0f975f5e0fdebaa19c294184ed data/createindustry/recipes/red_concrete_stairs_from_red_concrete_stonecutting.json +26148f387f22902567389b05ea43d600b9af0276 data/createindustry/recipes/red_concrete_wall_from_red_concrete_stonecutting.json 6f6a608aa0e725dffb9cbaba2db54efb0577b83b data/createindustry/recipes/small_bauxite_bricks_from_stone_types_bauxite_stonecutting.json b8d40a154023fac37543de2de2d5e57808682b85 data/createindustry/recipes/small_bauxite_brick_slab.json ea81ff80cfbb97837fb58a9b3413641acfce0f74 data/createindustry/recipes/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json @@ -1809,10 +1908,16 @@ d552da0f118007c997159e5bc12899e46325507b data/createindustry/recipes/small_galen 76687910efa99f4c1a04429ef5f6846c594f97eb data/createindustry/recipes/steel_bars_from_ingots_steel_stonecutting.json 4bd3f4b3e1612feee9253f9a77ffc8b03afca749 data/createindustry/recipes/steel_ladder_from_ingots_steel_stonecutting.json 3a8f9eee9835e5400a9dd664a150985ce336fa61 data/createindustry/recipes/steel_scaffolding_from_ingots_steel_stonecutting.json +62e7068babd8cb08456f175b3689a6be80428c9c data/createindustry/recipes/white_concrete_slab_from_white_concrete_stonecutting.json +c6780e7a1826925eeca6ec387e64c9ca542d94ca data/createindustry/recipes/white_concrete_stairs_from_white_concrete_stonecutting.json +e030a640c28336c5541d022d00a68b9abc640d2e data/createindustry/recipes/white_concrete_wall_from_white_concrete_stonecutting.json +dad9566f47a93c6e34c837223d939fdf3eebaac5 data/createindustry/recipes/yellow_concrete_slab_from_yellow_concrete_stonecutting.json +792e974fbbc0caf8d9f0fecb1ac1780b3f58acab data/createindustry/recipes/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json +1e45593e1375420bd23210dc0f9099a337e94c78 data/createindustry/recipes/yellow_concrete_wall_from_yellow_concrete_stonecutting.json 0165af18f74ef648bf5bc43fa6a3e1bfecc28d37 data/createindustry/recipes/zinc_frame_from_ingots_zinc_stonecutting.json daa491cd60ae376335b7127363d95f371386facf data/createindustry/recipes/zinc_truss_from_ingots_zinc_stonecutting.json -16e1a691a318f0b61485f03f9a53518f6dac1172 data/createindustry/tags/fluids/flammable.json -a02b460633b0dca808eb512863a03012741681bf data/createindustry/tags/fluids/gas.json +503c7a40ea8a115006c886e6491ac53f80e7e6fe data/createindustry/tags/fluids/flammable.json +87856087484f006ce6cb7fd66fb9f604230cf4d0 data/createindustry/tags/fluids/gas.json 9790752bec1ad9dc61eb08c66e62caa28516713c data/createindustry/tags/items/stone_types/bauxite.json 452f588ae1f56a1550e8474a84475e247702956d data/createindustry/tags/items/stone_types/galena.json f06c7fc56a3fd8c006ab1a4dc1bea7d249f5fa1a data/create/tags/blocks/casing.json @@ -1848,6 +1953,7 @@ b155c2a248cf00210ec9bf5f667f5311fae11fac data/forge/tags/fluids/lpg.json 7ce9a02e99bee89703ff24fdbe21abcce1347a6a data/forge/tags/fluids/molten_steel.json 43cc953e0d37f106d45720e3b60d68b1326dc918 data/forge/tags/fluids/naphtha.json fdf36a6ebc5ded27ea102a86a012e1e67cc04735 data/forge/tags/items/buckets/air.json +15b17fd094ff312b575c078bcca4c21fffb4a6eb data/forge/tags/items/buckets/blast_furnace_gas.json 5d76fa22c3b4c2ed6179a747ee09e1f9a08c7330 data/forge/tags/items/buckets/butane.json e984f557bf075b4520d7f5b4289495d42cdef8bf data/forge/tags/items/buckets/carbon_dioxide.json 56e275681f5a224499cd75db791b9fdb75d41de4 data/forge/tags/items/buckets/creosote.json @@ -1855,6 +1961,7 @@ e984f557bf075b4520d7f5b4289495d42cdef8bf data/forge/tags/items/buckets/carbon_di 91713040b0e0f63ca939cd49cb6790ba8f4bbe56 data/forge/tags/items/buckets/diesel.json 71b01dc21125186f1d721142e6b1fe5fa8c36b44 data/forge/tags/items/buckets/ethylene.json cccd098fb747b51c1f93b9ab165dfcc84ee86685 data/forge/tags/items/buckets/gasoline.json +5fe1cb81af1dd19795b8b643cfc435871636bfda data/forge/tags/items/buckets/heated_air.json 089a1707a509a2b162328f22e140b12f3ffc7ed6 data/forge/tags/items/buckets/heavy_oil.json e381969c78533c39cd1e932732de254e2c304cd4 data/forge/tags/items/buckets/kerosene.json 701ce1eb09cd3e0d5fdd02a12646293fab95cc71 data/forge/tags/items/buckets/lpg.json @@ -1908,14 +2015,14 @@ bfe14208dfd52956c9f8ef191e52402124ef9197 data/minecraft/tags/blocks/azalea_root_ bfe14208dfd52956c9f8ef191e52402124ef9197 data/minecraft/tags/blocks/dripstone_replaceable_blocks.json bfe14208dfd52956c9f8ef191e52402124ef9197 data/minecraft/tags/blocks/lush_ground_replaceable.json 0135251ca2defce82e1a0a793b1cf049410e9e7e data/minecraft/tags/blocks/mineable/axe.json -d192f035136a3a60c6e9dbf3587ff9595f0c1771 data/minecraft/tags/blocks/mineable/pickaxe.json +ca051180bd0a3cb105653f7ee369ff4b0926540e data/minecraft/tags/blocks/mineable/pickaxe.json bfe14208dfd52956c9f8ef191e52402124ef9197 data/minecraft/tags/blocks/moss_replaceable.json -8a3dfd27452a21f14ee2a9936ddc357c3dbb9ae4 data/minecraft/tags/blocks/needs_diamond_tool.json +442d600c050b48c5627c116134ba76ba64ad8427 data/minecraft/tags/blocks/needs_diamond_tool.json 7f9d5c5e9c71eab5cf9c876e16959b9a741db3c1 data/minecraft/tags/blocks/needs_iron_tool.json -242f9a36d2b0e7c0bd5578d9de3af023c9d4dcda data/minecraft/tags/blocks/needs_stone_tool.json -78373a936afe2a40d0a891f4498ab54029245e44 data/minecraft/tags/blocks/slabs.json -b8ac4ce0d3db740b9d02b97853804db08ed0826c data/minecraft/tags/blocks/stairs.json -4e45d4da715835a2e978e35791b90fe7e97da935 data/minecraft/tags/blocks/walls.json +f4bb81f2f2e310a52829280124a1859ec391cdad data/minecraft/tags/blocks/needs_stone_tool.json +69c0ae1c2e6a270df5095fa1e5e399ae7a6a4697 data/minecraft/tags/blocks/slabs.json +22dcdc168532e6a58d1857d42a938b7077b453db data/minecraft/tags/blocks/stairs.json +c24c3718cb06e9140b4328b7366a97c9b77c23bc data/minecraft/tags/blocks/walls.json 23cf02cfaf4f4efd7feb2a328e623fc63523216b data/minecraft/tags/blocks/wooden_doors.json 23cf02cfaf4f4efd7feb2a328e623fc63523216b data/minecraft/tags/items/doors.json 78373a936afe2a40d0a891f4498ab54029245e44 data/minecraft/tags/items/slabs.json diff --git a/src/generated/resources/.cache/437397df7729d64e5e613b753009842e7e3a7495 b/src/generated/resources/.cache/437397df7729d64e5e613b753009842e7e3a7495 new file mode 100644 index 00000000..04e644f3 --- /dev/null +++ b/src/generated/resources/.cache/437397df7729d64e5e613b753009842e7e3a7495 @@ -0,0 +1,6 @@ +// 1.19.2 2024-07-22T12:33:14.6532438 TFMG's Sequenced Assembly Recipes +258d38baea53fb3126ec94f06a5d5e6e6c14d7d1 data/createindustry/recipes/sequenced_assembly/gasoline_engine.json +e30d3f96b49da40f39cc488873345e2793c4f8d8 data/createindustry/recipes/sequenced_assembly/heavy_plate.json +da3f1fceaf82a27b879d176056d3c541bb35ce99 data/createindustry/recipes/sequenced_assembly/lpg_engine.json +83bf2c416a7ac7c7958dd4ab8feedfd9429d8dad data/createindustry/recipes/sequenced_assembly/steel_mechanism.json +bfac9c93d67d83a0761bb65bb12346514639ad51 data/createindustry/recipes/sequenced_assembly/turbine_engine.json diff --git a/src/generated/resources/.cache/5b8c0f5df972d0059948e36f3c0712dca4487541 b/src/generated/resources/.cache/5b8c0f5df972d0059948e36f3c0712dca4487541 new file mode 100644 index 00000000..b6898fa7 --- /dev/null +++ b/src/generated/resources/.cache/5b8c0f5df972d0059948e36f3c0712dca4487541 @@ -0,0 +1,56 @@ +// 1.19.2 2024-07-22T13:27:08.9267636 TFMG's Processing Recipes +b37b7a8bacea5e80c7e080905b858b915af79763 data/createindustry/recipes/casting/steel.json +bfa68e40711dec40213c454b51825a08fa7135bf data/createindustry/recipes/coking/charcoal.json +54e9218c4e8656d38cf51f2af80652a1bd251593 data/createindustry/recipes/coking/coal_coke.json +6fd40a434761c8167eff8b8a7ade51f4fd1be313 data/createindustry/recipes/compacting/bitumen.json +52c90dd510024a3e1bdf6ae5990d4090927ac836 data/createindustry/recipes/compacting/cinderflourblock.json +180ceaee957572e9053b5e2165481dd56b3b2307 data/createindustry/recipes/compacting/plastic_molding.json +d98e44345a87579988171eb09a36d70f6fb368d6 data/createindustry/recipes/compacting/steel_block.json +a8b002d3bd79ea96c81cb5464026d40aeb919573 data/createindustry/recipes/compacting/thermite_powder.json +ae0f1f08c8804c0917062bc4c27c3b703167c275 data/createindustry/recipes/crushing/bauxite_recycling.json +8316b31edf4ef34ca86cd0c45b4da63e0f9a4143 data/createindustry/recipes/crushing/coal_coke_dust.json +da04be7e09f0619a70ce0381bf70b2f18f8be1b5 data/createindustry/recipes/crushing/copper_sulfate.json +6f659f695f6c4d2ac797054aba421d870dc59117 data/createindustry/recipes/crushing/galena_recycling.json +513e6b31cd5bda6a8f587a3002791624a4dc512b data/createindustry/recipes/crushing/lignite.json +6fd8239d1a5d74e4396b4678726b0b4284344e11 data/createindustry/recipes/crushing/limesand.json +c3d2fe15beb23f8cf18d7a848caefbaa06f335f2 data/createindustry/recipes/crushing/saltpeter.json +10bbf46b2a239ed623f16dbf3bdc84233280511b data/createindustry/recipes/crushing/sulfur.json +2375441aac6ee7dbbe6e5267a3d6415ecbfe3181 data/createindustry/recipes/distillation/crude_oil.json +e892ae58a62b6418064d356119b2fcd606b844fa data/createindustry/recipes/distillation/crude_oil_no_naphtha.json +dd6e8cf86ffa4ed576f46bfda151d242bb80de64 data/createindustry/recipes/distillation/heavy_oil.json +383264cd5bf9809d9787f403677bc2382b369eb7 data/createindustry/recipes/distillation/naphtha.json +f978eccd4691cdf7f79a854357abbc8b1307341b data/createindustry/recipes/filling/air_tank.json +45ac3b54e9a50b2a47a1bfedcfc6e6e674fdc47f data/createindustry/recipes/filling/bottle_of_battery_acid.json +ee5247aa1b17d5b14df206af42b3c7905c50bb94 data/createindustry/recipes/filling/bottle_of_concrete.json +812a539e4f87190ee283c5add67d7b125badebc8 data/createindustry/recipes/filling/butane_tank.json +e21db6e692dd85709d0c00559fc9220c2a2e6530 data/createindustry/recipes/filling/carbon_dioxide_tank.json +2d8da4d48e238d543e8129895ca59a0935ad1067 data/createindustry/recipes/filling/ethylene_tank.json +283aa7be890ca3fbd25357c8be288124cdbae975 data/createindustry/recipes/filling/hardened_wood_creosote.json +2b950614669ac2bb8463c48e606ae88f796eb2fa data/createindustry/recipes/filling/lpg_tank.json +7c1adb066b59fa889525812f48432cdafce178c3 data/createindustry/recipes/filling/napalm_potato.json +821ea765f7054283f6bf8d04e0ec1c82b8cfcf09 data/createindustry/recipes/filling/neon_tank.json +240a0d9935faa5eb8024245f1bf3ee2a83e23856 data/createindustry/recipes/filling/propane_tank.json +434aa03777ec738eeac96443ca45046fa2f1037b data/createindustry/recipes/filling/propylene_tank.json +734bb4adb55a628db6d205901dda3c35a8489855 data/createindustry/recipes/gas_blasting/heated_air.json +0939d97f720d323a0aec8f1f1e6c02698c634a79 data/createindustry/recipes/industrial_blasting/steel.json +9d96784b0740ffc3ceb0f11679bef7e26f6061d5 data/createindustry/recipes/item_application/heavy_machinery_casing.json +65ea7b81b508a91bb849cc64744bc11aa74082f6 data/createindustry/recipes/item_application/steel_casing.json +82ddfc0e1f1077beb8f3a6b20fb6960312411217 data/createindustry/recipes/milling/limesand.json +e59186ee803780bdbe9fae2212433476d2459f0f data/createindustry/recipes/mixing/blasting_mixture.json +24faf88c6b9dc8e53c99ca690fa2a56bafc634ec data/createindustry/recipes/mixing/cast_iron_ingot.json +9805ae2291c59912f5dea85061e98f85b8820705 data/createindustry/recipes/mixing/cement.json +30bd501977960395aa9c1d7263eafc790f4c14cb data/createindustry/recipes/mixing/concrete_mixture.json +ead743154be8c100fea443696d3c93835ac1c584 data/createindustry/recipes/mixing/concrete_mixture_from_slag.json +63ab0af81c7c3c721d1192ac610b61756c3643dc data/createindustry/recipes/mixing/cooling_fluid.json +86220a406057c4281aca95f93589e5721d2b8b82 data/createindustry/recipes/mixing/copper_sulfate.json +d714d33c8ee6cd65f925464d663e06bcbd87709c data/createindustry/recipes/mixing/gun_powder.json +cab04677cf05d6c9f14bcaa6e201c3240c0f6998 data/createindustry/recipes/mixing/liquid_asphalt.json +01351b9d90e07c1396b574aab4fc6e0e9cdb1b2a data/createindustry/recipes/mixing/liquid_concrete.json +70db70b38822f87335fb197912837bd2ebd46348 data/createindustry/recipes/mixing/liquid_plastic_from_ethylene.json +84830703ef22cc705280f136044d83a2ee08baff data/createindustry/recipes/mixing/liquid_plastic_from_propylene.json +df0cee89322a498b43363ceeb226b551f7dd4803 data/createindustry/recipes/mixing/napalm.json +5d287309d6d632d44e73a291b6da191e175a98b4 data/createindustry/recipes/mixing/neon.json +e8349432c4aa738fa5992294353ea18dafced4e9 data/createindustry/recipes/mixing/slag.json +4a84b6e28baa9b148f0a87202e510ecca5882165 data/createindustry/recipes/mixing/sulfuric_acid.json +26a945e79d613057da87156c0c859e3319a42eb8 data/createindustry/recipes/mixing/zinc_sulfate.json +b30fc6733ead4e816811f4302159279adc2f485e data/createindustry/recipes/pressing/synthetic_leather.json diff --git a/src/generated/resources/.cache/9047e4e94996e73e9dfde3738763637fb609e07e b/src/generated/resources/.cache/9047e4e94996e73e9dfde3738763637fb609e07e deleted file mode 100644 index 9ea862ff..00000000 --- a/src/generated/resources/.cache/9047e4e94996e73e9dfde3738763637fb609e07e +++ /dev/null @@ -1,2 +0,0 @@ -// 1.19.2 2024-07-04T21:35:03.7066189 Create: The Factory Must Grow's lang merger -667bd974985484dace99ea6a538d4b4bf26283f8 assets/createindustry/lang/en_us.json diff --git a/src/generated/resources/.cache/cfbcb044faafa2dbcc08be0b04e41d5ce0d5d7d4 b/src/generated/resources/.cache/cfbcb044faafa2dbcc08be0b04e41d5ce0d5d7d4 new file mode 100644 index 00000000..f3c56b08 --- /dev/null +++ b/src/generated/resources/.cache/cfbcb044faafa2dbcc08be0b04e41d5ce0d5d7d4 @@ -0,0 +1,19 @@ +// 1.19.2 2024-07-22T12:33:14.6532438 TFMG's Mechanical Crafting Recipes +943bb90b6ad0c793849cf95481b330abac7d7b14 data/createindustry/recipes/mechanical_crafting/advanced_potato_cannon.json +186a2a531980ac2f606a78a1b911fe0e2625b16d data/createindustry/recipes/mechanical_crafting/diesel_engine.json +6a98e0b3dffc6f85248962a6e6394aeb051ff68e data/createindustry/recipes/mechanical_crafting/engine_base.json +b82c5db4030da57245d2a706e0d35f53bf34e453 data/createindustry/recipes/mechanical_crafting/engine_chamber.json +6de25f528d7b58c42be4a75457b5a568c5d530a0 data/createindustry/recipes/mechanical_crafting/flamethrower.json +c479fcfc368163072ee415028bed90890f2ac9d5 data/createindustry/recipes/mechanical_crafting/generator.json +e2ccd4d3cee345a55beac281c6dc6ae46c6b744f data/createindustry/recipes/mechanical_crafting/large_radial_engine.json +f56738f712c94c7de85f801533c4891e161f8923 data/createindustry/recipes/mechanical_crafting/lithium_blade.json +df8d95c2c1e0df5028f47cde8deaca9df890e8d1 data/createindustry/recipes/mechanical_crafting/pumpjack_base.json +ecf585a454dc7a12ab50edf689bc9e8af91f07ef data/createindustry/recipes/mechanical_crafting/pumpjack_crank.json +2a62e8e8f0e160fb7d893ab31d4426a3757f65e7 data/createindustry/recipes/mechanical_crafting/quad_potato_cannon.json +500cde4e41bef594b28e8c628394147ac5daef49 data/createindustry/recipes/mechanical_crafting/radial_engine.json +6ee95c0ef86697df16cbe602fa15c3911084f84c data/createindustry/recipes/mechanical_crafting/rotor.json +f6b1c4af8f20cfc987de77b0b611452f954a2bd6 data/createindustry/recipes/mechanical_crafting/spark_plug.json +96fa8c1bf732f1c5f4b59d78185ca6e9dc92d426 data/createindustry/recipes/mechanical_crafting/stator.json +bf8682fa294a02a842d1ce74b7754753a18a5b26 data/createindustry/recipes/mechanical_crafting/steel_distillation_controller.json +bc6f7b98d34b36a35e2d905e1207464932e4fa8a data/createindustry/recipes/mechanical_crafting/steel_distillation_output.json +ea4ef2ce08d85c2430846c95a2c867ea5e2ba2ec data/createindustry/recipes/mechanical_crafting/surface_scanner.json diff --git a/src/generated/resources/.cache/d23115c077360024abb1b7cd062b73c032f45140 b/src/generated/resources/.cache/d23115c077360024abb1b7cd062b73c032f45140 new file mode 100644 index 00000000..6b0217e9 --- /dev/null +++ b/src/generated/resources/.cache/d23115c077360024abb1b7cd062b73c032f45140 @@ -0,0 +1 @@ +// 1.19.2 2024-07-22T12:33:14.6422344 TFMG's Standard Recipes diff --git a/src/generated/resources/assets/createindustry/blockstates/blast_stove.json b/src/generated/resources/assets/createindustry/blockstates/blast_stove.json new file mode 100644 index 00000000..ba4a1003 --- /dev/null +++ b/src/generated/resources/assets/createindustry/blockstates/blast_stove.json @@ -0,0 +1,34 @@ +{ + "variants": { + "facing=east,running=false": { + "model": "createindustry:block/blast_stove/block", + "y": 90 + }, + "facing=east,running=true": { + "model": "createindustry:block/blast_stove/block_running", + "y": 90 + }, + "facing=north,running=false": { + "model": "createindustry:block/blast_stove/block" + }, + "facing=north,running=true": { + "model": "createindustry:block/blast_stove/block_running" + }, + "facing=south,running=false": { + "model": "createindustry:block/blast_stove/block", + "y": 180 + }, + "facing=south,running=true": { + "model": "createindustry:block/blast_stove/block_running", + "y": 180 + }, + "facing=west,running=false": { + "model": "createindustry:block/blast_stove/block", + "y": 270 + }, + "facing=west,running=true": { + "model": "createindustry:block/blast_stove/block_running", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/blockstates/fluid_output.json b/src/generated/resources/assets/createindustry/blockstates/fluid_output.json new file mode 100644 index 00000000..898dc42c --- /dev/null +++ b/src/generated/resources/assets/createindustry/blockstates/fluid_output.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "createindustry:block/fluid_output" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/lang/en_ud.json b/src/generated/resources/assets/createindustry/lang/en_ud.json index 0ba1b3f2..3e649147 100644 --- a/src/generated/resources/assets/createindustry/lang/en_ud.json +++ b/src/generated/resources/assets/createindustry/lang/en_ud.json @@ -1,6 +1,9 @@ { + "OwO": "∩ʍ∩", "block.createindustry.accumulator": "ɹoʇɐןnɯnɔɔⱯ", + "block.createindustry.accumulator.tooltip.summary": "do⟘ ǝɥʇ ɯoɹɟ ʎןʍoןS pǝʇʇndʇno ǝq uɐɔ ʇɐɥʇ )ɯoʇʇoq ɯoɹɟ pǝʇɹǝsuı( ʎbɹǝuǝ ɟo ʇunoɯⱯ ǝbɹɐꞀ ɐ spןoH", "block.createindustry.air_intake": "ǝʞɐʇuI ɹıⱯ", + "block.createindustry.aluminium_cable_hub.tooltip.summary": "ǝuoʇspǝɹ ɥʇıʍ ɟɟo pǝuɹnʇ ǝq uɐƆ", "block.createindustry.aluminum_bars": "sɹɐᗺ ɯnuıɯnןⱯ", "block.createindustry.aluminum_block": "ɯnuıɯnןⱯ ɟo ʞɔoןᗺ", "block.createindustry.aluminum_cable_hub": "qnH ǝןqɐƆ ɯnuıɯnןⱯ", @@ -22,12 +25,14 @@ "block.createindustry.black_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ʞɔɐןᗺ", "block.createindustry.black_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ʞɔɐןᗺ", "block.createindustry.blast_furnace_output": "ʇndʇnO ǝɔɐuɹnℲ ʇsɐןᗺ", + "block.createindustry.blast_stove": "ǝʌoʇS ʇsɐןᗺ", "block.createindustry.blue_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ǝnןᗺ", "block.createindustry.blue_concrete": "ǝʇǝɹɔuoƆ ǝnןᗺ", "block.createindustry.blue_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ǝnןᗺ", "block.createindustry.blue_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ǝnןᗺ", "block.createindustry.blue_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ǝnןᗺ", "block.createindustry.brass_cable_hub": "qnH ǝןqɐƆ ssɐɹᗺ", + "block.createindustry.brass_cable_hub.tooltip.summary": "ǝuoʇspǝɹ ɥʇıʍ ɟɟo pǝuɹnʇ ǝq uɐƆ", "block.createindustry.brass_fluid_valve": "ǝʌןɐΛ pınןℲ ssɐɹᗺ", "block.createindustry.brass_frame": "ǝɯɐɹℲ ssɐɹᗺ", "block.createindustry.brass_mechanical_pump": "dɯnԀ ןɐɔıuɐɥɔǝW ssɐɹᗺ", @@ -39,9 +44,12 @@ "block.createindustry.brown_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ uʍoɹᗺ", "block.createindustry.brown_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ uʍoɹᗺ", "block.createindustry.brown_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ uʍoɹᗺ", + "block.createindustry.cable connector.tooltip.summary": "‾ʎbɹǝuƎ‾ ʇɹodsuɐɹʇ ɯǝɥʇ buıʞɯɐ ‾ǝןqɐƆ ɹǝddoƆ‾ ɐ ɥʇıʍ sɹoʇɔǝuuoɔ ǝןqɐɔ ᄅ ʞɔıןɔ ʇɥbıᴚ", "block.createindustry.cable_connector": "ɹoʇɔǝuuoƆ ǝןqɐƆ", "block.createindustry.cable_tube": "ǝqn⟘ ǝןqɐƆ", + "block.createindustry.cable_tube.tooltip.summary": "ǝןqɐƆ ɐ ǝʞıן ʎbɹǝuƎ sʇɹodsuɐɹ⟘", "block.createindustry.capacitor": "ɹoʇıɔɐdɐƆ", + "block.createindustry.capacitor.tooltip.summary": "do⟘ ǝɥʇ ɯoɹɟ ʎןʞɔınὉ pǝʇʇndʇno ǝq uɐɔ ʇɐɥʇ )ɯoʇʇoq ɯoɹɟ pǝʇɹǝsuı( ʎbɹǝuǝ ɟo ʇunoɯⱯ ןןɐɯS ɐ spןoH", "block.createindustry.cast_iron_bars": "sɹɐᗺ uoɹI ʇsɐƆ", "block.createindustry.cast_iron_block": "uoɹI ʇsɐƆ ɟo ʞɔoןᗺ", "block.createindustry.cast_iron_fluid_valve": "ǝʌןɐΛ pınןℲ uoɹI ʇsɐƆ", @@ -60,14 +68,23 @@ "block.createindustry.coal_coke_block": "ǝʞoƆ ןɐoƆ ɟo ʞɔoןᗺ", "block.createindustry.coke_oven": "uǝʌO ǝʞoƆ", "block.createindustry.compact_engine": "ǝuıbuƎ ʇɔɐdɯoƆ", + "block.createindustry.compact_engine.behaviour1": "ʇı oʇuı pǝʇʇnduı ‾ןɐubıS ǝuoʇspǝᴚ‾ ǝɥʇ ɟo ɥʇbuǝɹʇs ǝɥʇ uo pǝsɐq ‾WԀᴚ‾ ʇndʇno ןןıM", + "block.createindustry.compact_engine.condition1": "oʇuı ǝʇosoǝɹƆ ǝuıןosɐ⅁ uǝɥM", + "block.createindustry.compact_engine.tooltip.summary": "ǝuıןosɐ⅁ ɯoɹɟ uoıʇɐʇoᴚ sǝʞɐW", "block.createindustry.concrete": "ǝʇǝɹɔuoƆ", "block.createindustry.concrete_slab": "qɐןS ǝʇǝɹɔuoƆ", "block.createindustry.concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ", "block.createindustry.concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ", "block.createindustry.converter": "ɹǝʇɹǝʌuoƆ", + "block.createindustry.converter.behaviour1": "‾⅁WℲ⟘‾ ɥʇıʍ ǝןqɐsn ʇı buıʞɐɯ ‾ǝbɐʇןoΛ‾ ɥʇıM ƎℲ sʇndʇno ‾do⟘‾ ǝɥ⟘", + "block.createindustry.converter.condition1": "ɯoʇʇoᗺ ɯoɹɟ ƎℲ ʇnԀ uǝɥM", + "block.createindustry.converter.tooltip.summary": "ǝbɐʇןoʌ buıppɐ ʎq ⅁WℲ⟘ ɥʇıʍ ǝןqıʇɐdɯoɔ spoɯ ɹǝɥʇo sǝʞɐW", "block.createindustry.cooling_fluid": "pınןℲ buıןooƆ", "block.createindustry.copper_cable_hub": "qnH ǝןqɐƆ ɹǝddoƆ", + "block.createindustry.copper_cable_hub.tooltip.summary": "ǝuoʇspǝɹ ɥʇıʍ ɟɟo pǝuɹnʇ ǝq uɐƆ", "block.createindustry.copper_coil": "ןıoƆ ɹǝddoƆ", + "block.createindustry.copper_coil.tooltip.behaviour1": "sɹǝʍoʇ ǝʌıʇɔǝdsǝɹ ɹıǝɥʇ ɟo doʇ ǝɥʇ uo pǝʇʇndʇno puɐ pǝʇʇnduı ɥʇoq sı ʎbɹǝuƎ ˙ʇndʇno ǝɥʇ ʇı ǝʞɐɯ oʇ ɥɔuǝɹʍ ɐ ɥʇıʍ ɹǝʍoʇ ɹǝbɹɐן ǝɥʇ uı ʞɔoןq doʇ ǝɥʇ ʞɔıןƆ-ᴚ ˙buıɥɔnoʇ sʞɔoןq doʇ ɹıǝɥʇ ɥʇıʍ puɐ ʇɥbıǝɥ uı sʞɔoןq ϛ xɐɯ ɥʇoq 'ɹǝɥʇo ǝɥʇ uɐɥʇ ɹǝbɹɐן ʞɔoןq Ɩ ʇsɐǝןʇɐ ǝuo 'ɹǝɥʇoɥɔɐǝ ɯoɹɟ ʞɔoןq ǝuo ɹo oʇ ʇxǝu ɹǝɥʇıǝ sןıoɔ ɟo sɹǝʍoʇ oʇ ǝʌɐɥ oʇ ǝʌɐɥ noʎ ǝbɐʇןoʌ ǝsɐǝɹɔuı o⟘", + "block.createindustry.copper_coil.tooltip.summary": "ǝbɐʇןoΛ sǝsɐǝɹɔuI", "block.createindustry.copper_encased_aluminum_pipe": "ǝdıԀ ɯnuıɯnןⱯ pǝsɐɔuƎ ɹǝddoƆ", "block.createindustry.copper_encased_brass_pipe": "ǝdıԀ ssɐɹᗺ pǝsɐɔuƎ ɹǝddoƆ", "block.createindustry.copper_encased_cast_iron_pipe": "ǝdıԀ uoɹI ʇsɐƆ pǝsɐɔuƎ ɹǝddoƆ", @@ -77,7 +94,9 @@ "block.createindustry.copper_truss": "ssnɹ⟘ ɹǝddoƆ", "block.createindustry.copycat_cable_base": "ǝsɐᗺ ǝןqɐƆ ʇɐɔʎdoƆ", "block.createindustry.copycat_cable_block": "ʞɔoןᗺ ǝןqɐƆ ʇɐɔʎdoƆ", + "block.createindustry.copycat_cable_block.tooltip.summary": "ǝuoʇspǝɹ ɥʇıʍ ɟɟo pǝuɹnʇ ǝq uɐƆ", "block.createindustry.creative_generator": "ɹoʇɐɹǝuǝ⅁ ǝʌıʇɐǝɹƆ", + "block.createindustry.creative_generator.tooltip.summary": "ןǝuɐd ʇnduı sʇı uo ǝnןɐʌ ǝɥʇ uo pǝsɐq ʎbɹǝuǝ sʇndʇnO", "block.createindustry.creosote": "ǝʇosoǝɹƆ", "block.createindustry.crude_oil": "ןıO ǝpnɹƆ", "block.createindustry.cut_bauxite": "ǝʇıxnɐᗺ ʇnƆ", @@ -105,30 +124,50 @@ "block.createindustry.deepslate_lithium_ore": "ǝɹO ɯnıɥʇıꞀ ǝʇɐןsdǝǝᗡ", "block.createindustry.deepslate_nickel_ore": "ǝɹO ןǝʞɔıN ǝʇɐןsdǝǝᗡ", "block.createindustry.diagonal_cable_block": "ʞɔoןᗺ ǝןqɐƆ ןɐuobɐıᗡ", + "block.createindustry.diagonal_cable_block.tooltip.summary": ")ʎןןɐuobɐıp ʇnᗺ( ǝןqɐƆ ɐ ǝʞıן ʎbɹǝuƎ sʇɹodsuɐɹ⟘", "block.createindustry.diesel": "ןǝsǝıᗡ", "block.createindustry.diesel_engine": "ǝuıbuƎ ןǝsǝıᗡ", "block.createindustry.diesel_engine_expansion": "uoısuɐdxƎ ǝuıbuƎ ןǝsǝıᗡ", "block.createindustry.electric_casing": "buısɐƆ ɔıɹʇɔǝןƎ", "block.createindustry.electric_motor": "ɹoʇoW ɔıɹʇɔǝןƎ", + "block.createindustry.electric_motor.tooltip.summary": ")ǝpıs uo ǝןqɐɹnbıɟuoɔ ɯdɹ( uoıʇɐʇoɹ oʇ ʎbɹǝuǝ sǝbuɐɥƆ", "block.createindustry.energy_meter": "ɹǝʇǝW ʎbɹǝuƎ", + "block.createindustry.energy_meter.condition1": "ǝɔɹnoS ɹǝʍoԀ uo ʇnd uǝɥM", + "block.createindustry.energy_meter.condition2": "sǝןbbo⅁ s,ɹǝǝuıbuƎ ɥʇıʍ uo pǝʞooן uǝɥM", + "block.createindustry.energy_meter.tooltip.behaviour1": "‾ǝɔɹnoS ɹǝʍoԀ‾ ǝɥʇ ɟo ‾ʎbɹǝuƎ‾ ǝɥʇ sǝɹnsɐǝW", + "block.createindustry.energy_meter.tooltip.behaviour2": "ʎbɹǝuǝ sǝɔɹnos ǝɥʇ uo oɟuı pǝןıɐʇǝp sʍoɥS", + "block.createindustry.energy_meter.tooltip.summary": "ʎbɹǝuǝ sǝɹnsɐǝW", "block.createindustry.exhaust": "ʇsnɐɥxƎ", "block.createindustry.factory_floor": "ɹooןℲ ʎɹoʇɔɐℲ", "block.createindustry.factory_floor_slab": "qɐןS ɹooןℲ ʎɹoʇɔɐℲ", "block.createindustry.factory_floor_stairs": "sɹıɐʇS ɹooןℲ ʎɹoʇɔɐℲ", "block.createindustry.firebox": "xoqǝɹıℲ", + "block.createindustry.firebox.condition1": "oʇuı sǝןqɐuɹnq pǝʇʇnduı uǝɥM", + "block.createindustry.firebox.tooltip.behaviour1": "ʇı ʇɐǝɥɹǝdns oʇ ʎɐʍ ou sı ǝɹǝɥʇ 'ןǝnɟ ɟo ʇno sunɹ ʇı ןıʇun ‾ɹǝuɹnᗺ ǝzɐןᗺ‾ ɐ sɐ ʇɔɐ ןןıʍ ‾xoqǝɹıℲ‾ ǝɥ⟘", + "block.createindustry.firebox.tooltip.summary": "ɹǝuɹnq ǝzɐןq ɐ sɐ uoıʇɔunɟ oʇ sǝןqɐuɹnq sǝs∩", "block.createindustry.fireclay": "ʎɐןɔǝɹıℲ", + "block.createindustry.fireclay.tooltip.summary": "pןɹoʍɹǝʌo ǝɥʇ uı suıǝʌ punoɹbɹǝpun uı punoɟ sı ʇI", "block.createindustry.fireproof_brick_reinforcement": "ʇuǝɯǝɔɹoɟuıǝᴚ ʞɔıɹᗺ ɟooɹdǝɹıℲ", "block.createindustry.fireproof_bricks": "sʞɔıɹᗺ ɟooɹdǝɹıℲ", "block.createindustry.flarestack": "ʞɔɐʇsǝɹɐןℲ", + "block.createindustry.flarestack.tooltip.behaviour1": "ǝpısuı pǝdɯnd sı ʇɐɥʍ sǝʇǝןǝᗡ", + "block.createindustry.flarestack.tooltip.condition1": "ɯoʇʇoq ǝɥʇ ɯoɹɟ oʇuı sǝsɐ⅁/spınןℲ ǝןqɐuɹnq pǝdɯnԀ uǝɥM", + "block.createindustry.flarestack.tooltip.summary": "sʇɔnpoɹd ןıo pǝpǝǝuun suɹnᗺ", + "block.createindustry.fluid_output": "ʇndʇnO pınןℲ", "block.createindustry.formwork_block": "ʞɔoןᗺ ʞɹoʍɯɹoℲ", + "block.createindustry.formwork_block.tooltip.behaviour1": "sʞɔoןq pıןos oʇuı suɹnʇ ʎןןɐnʇuǝʌǝ ǝʇǝɹɔuoƆ sıɥʇ '‾ǝʇǝɹɔuoƆ pınbıꞀ‾ ɥʇıʍ ʇno sןןıℲ", + "block.createindustry.formwork_block.tooltip.condition1": "oʇuı ǝʇǝɹɔuoɔ pǝdɯnԀ uǝɥM", + "block.createindustry.formwork_block.tooltip.summary": "sʞɔoןq ǝʇǝɹɔuoɔ oʇuı suɹnʇ ʇı ןıʇun ǝʇǝɹɔuoƆ pınbıꞀ spןoH", "block.createindustry.fossilstone": "ǝuoʇsןıssoℲ", "block.createindustry.galena": "ɐuǝןɐ⅁", "block.createindustry.galena_pillar": "ɹɐןןıԀ ɐuǝןɐ⅁", "block.createindustry.galvanic_cell": "ןןǝƆ ɔıuɐʌןɐ⅁", + "block.createindustry.galvanic_cell.tooltip.summary": "ʎʇıɔıɹʇɔǝןǝ oʇuı ǝɹnʇuǝʌ ɹnoʎ buıʇɹɐʇs ɹoɟ ןɐǝpı 'ǝpısuı ʎbɹǝuǝ ǝןqɐbɹɐɥɔun ɟo ʇunoɯɐ ןןɐɯs ɐ sɐH", "block.createindustry.gasoline": "ǝuıןosɐ⅁", "block.createindustry.gasoline_engine": "ǝuıbuƎ ǝuıןosɐ⅁", "block.createindustry.gasoline_engine_back": "ʞɔɐᗺ ǝuıbuƎ ǝuıןosɐ⅁", "block.createindustry.generator": "ɹoʇɐɹǝuǝ⅁", + "block.createindustry.generator.tooltip.summary": "ʎbɹǝuǝ oʇ uoıʇɐʇoɹ sǝbuɐɥƆ", "block.createindustry.glass_aluminum_pipe": "ǝdıԀ ɯnuıɯnןⱯ ssɐן⅁", "block.createindustry.glass_brass_pipe": "ǝdıԀ ssɐɹᗺ ssɐן⅁", "block.createindustry.glass_cast_iron_pipe": "ǝdıԀ uoɹI ʇsɐƆ ssɐן⅁", @@ -147,6 +186,7 @@ "block.createindustry.hardened_planks": "sʞuɐןԀ pǝuǝpɹɐH", "block.createindustry.hardened_planks_slab": "qɐןS sʞuɐןԀ pǝuǝpɹɐH", "block.createindustry.heavy_cable_hub": "qnH ǝןqɐƆ ʎʌɐǝH", + "block.createindustry.heavy_cable_hub.tooltip.summary": "ǝuoʇspǝɹ ɥʇıʍ ɟɟo pǝuɹnʇ ǝq uɐƆ", "block.createindustry.heavy_casing_door": "ɹooᗡ buısɐƆ ʎʌɐǝH", "block.createindustry.heavy_casing_encased_aluminum_cogwheel": "ןǝǝɥʍboƆ ɯnuıɯnןⱯ pǝsɐɔuƎ buısɐƆ ʎʌɐǝH", "block.createindustry.heavy_casing_encased_cogwheel": "ןǝǝɥʍboƆ pǝsɐɔuƎ buısɐƆ ʎʌɐǝH", @@ -181,6 +221,9 @@ "block.createindustry.light_blue_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ǝnןᗺ ʇɥbıꞀ", "block.createindustry.light_blue_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ǝnןᗺ ʇɥbıꞀ", "block.createindustry.light_bulb": "qןnᗺ ʇɥbıꞀ", + "block.createindustry.light_bulb.behaviour1": "ʍoןb ǝɥʇ ɹǝbuoɹʇs ǝɥʇ '‾ǝbɐʇןoΛ‾ ǝɥʇ ɹǝɥbıɥ ǝɥʇ 'pǝɔuɐןɐq ǝɹɐ ‾ʎbɹǝuƎ‾ puɐ ‾ǝbɐʇןoΛ‾ ɟı ‾ʍoן⅁‾ ןןıʍ qןnqʇɥbıן ǝɥ⟘", + "block.createindustry.light_bulb.condition1": "ǝɔɹnoS ɹǝʍoԀ uo ʇnd uǝɥM", + "block.createindustry.light_bulb.tooltip.summary": "pǝɹǝʍoԀ uǝɥʍ sʍoן⅁", "block.createindustry.light_gray_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ʎɐɹ⅁ ʇɥbıꞀ", "block.createindustry.light_gray_concrete": "ǝʇǝɹɔuoƆ ʎɐɹ⅁ ʇɥbıꞀ", "block.createindustry.light_gray_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ʎɐɹ⅁ ʇɥbıꞀ", @@ -198,7 +241,11 @@ "block.createindustry.lithium_block": "ɯnıɥʇıꞀ ɟo ʞɔoןᗺ", "block.createindustry.lithium_ore": "ǝɹO ɯnıɥʇıꞀ", "block.createindustry.lithium_torch": "ɥɔɹo⟘ ɯnıɥʇıꞀ", + "block.createindustry.lithium_torch.tooltip.summary": "uʍop ǝpısdn pǝɔɐןd ǝq uɐɔ puɐ ɹǝʇɐʍɹǝpun sʞɹoM", "block.createindustry.low_grade_fuel_engine": "ǝuıbuƎ ןǝnℲ ǝpɐɹ⅁ ʍoꞀ", + "block.createindustry.low_grade_fuel_engine.behaviour1": "ʇı oʇuı pǝʇʇnduı ‾ןɐubıS ǝuoʇspǝᴚ‾ ǝɥʇ ɟo ɥʇbuǝɹʇs ǝɥʇ uo pǝsɐq ‾WԀᴚ‾ ɟo ʇunoɯɐ ןןɐɯs ɐ ʇndʇno ןןıM", + "block.createindustry.low_grade_fuel_engine.condition1": "oʇuı ǝʇosoǝɹƆ pǝdɯnԀ uǝɥM", + "block.createindustry.low_grade_fuel_engine.tooltip.summary": "ǝʇosoǝɹƆ ɯoɹɟ uoıʇɐʇoᴚ sǝʞɐW", "block.createindustry.lpg_engine": "ǝuıbuƎ bdꞀ", "block.createindustry.lpg_engine_back": "ʞɔɐᗺ ǝuıbuƎ bdꞀ", "block.createindustry.lubrication_oil": "ןıO uoıʇɐɔıɹqnꞀ", @@ -215,6 +262,11 @@ "block.createindustry.napalm_bomb": "qɯoᗺ ɯןɐdɐN", "block.createindustry.naphtha": "ɐɥʇɥdɐN", "block.createindustry.neon_tube": "ǝqn⟘ uoǝN", + "block.createindustry.neon_tube.behaviour1": " ‾ʍoן⅁‾ ןןıʍ ǝqnʇ ǝɥ⟘", + "block.createindustry.neon_tube.behaviour2": "ɹoןoƆ sǝbuɐɥƆ", + "block.createindustry.neon_tube.condition1": "ǝɔɹnoS ɹǝʍoԀ uo ʇnd uǝɥM", + "block.createindustry.neon_tube.condition2": "ǝʎᗡ ɥʇıʍ pǝʞɔıןƆ-ᴚ uǝɥM", + "block.createindustry.neon_tube.tooltip.summary": "pǝɹǝʍoԀ uǝɥʍ ɹoןoɔ uıɐʇɹǝɔ ɐ uı sʍoן⅁", "block.createindustry.nickel_bars": "sɹɐᗺ ןǝʞɔıN", "block.createindustry.nickel_block": "ןǝʞɔıN ɟo ʞɔoןᗺ", "block.createindustry.nickel_flywheel": "ןǝǝɥʍʎןℲ ןǝʞɔıN", @@ -239,6 +291,9 @@ "block.createindustry.plastic_pipe": "ǝdıԀ ɔıʇsɐןԀ", "block.createindustry.plastic_smart_fluid_pipe": "ǝdıԀ pınןℲ ʇɹɐɯS ɔıʇsɐןԀ", "block.createindustry.polarizer": "ɹǝzıɹɐןoԀ", + "block.createindustry.polarizer.condition1": "pǝɹǝʍod uǝɥM", + "block.createindustry.polarizer.tooltip.behaviour1": "‾ʇobuI ןǝǝʇS‾ ɐ ɥʇıʍ pǝʞɔıןɔ ʇɥbıɹ uǝɥʍ ‾ʇobuI ɔıʇǝubɐW‾ ɐ oʇuı ‾ʇobuI ןǝǝʇS‾ ɐ uɹnʇ ןןıM", + "block.createindustry.polarizer.tooltip.summary": "ןǝǝʇS ɟo ʇno sʇobuI ɔıʇǝubɐW sǝʞɐW", "block.createindustry.polished_cut_bauxite": "ǝʇıxnɐᗺ ʇnƆ pǝɥsıןoԀ", "block.createindustry.polished_cut_bauxite_slab": "qɐןS ǝʇıxnɐᗺ ʇnƆ pǝɥsıןoԀ", "block.createindustry.polished_cut_bauxite_stairs": "sɹıɐʇS ǝʇıxnɐᗺ ʇnƆ pǝɥsıןoԀ", @@ -266,13 +321,24 @@ "block.createindustry.rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ", "block.createindustry.rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ", "block.createindustry.rebar_formwork_block": "ʞɔoןᗺ ʞɹoʍɯɹoℲ ɹɐqǝᴚ", + "block.createindustry.rebar_formwork_block.tooltip.behaviour1": "sʞɔoןq ǝʇǝɹɔuoɔ ɹɐqǝɹ pıןos oʇuı suɹnʇ ʎןןɐnʇuǝʌǝ ǝʇǝɹɔuoɔ sıɥʇ '‾ǝʇǝɹɔuoƆ pınbıꞀ‾ ɥʇıʍ ʇno sןןıℲ", + "block.createindustry.rebar_formwork_block.tooltip.condition1": "oʇuı ǝʇǝɹɔuoɔ pǝdɯnԀ uǝɥM", + "block.createindustry.rebar_formwork_block.tooltip.summary": "sʞɔoןq ǝʇǝɹɔuoɔ ɹɐqǝɹ oʇuı suɹnʇ ʇı ןıʇun ǝʇǝɹɔuoƆ pınbıꞀ spןoH", "block.createindustry.red_caution_block": "ʞɔoןᗺ uoıʇnɐƆ pǝᴚ", "block.createindustry.red_concrete": "ǝʇǝɹɔuoƆ pǝᴚ", "block.createindustry.red_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ pǝᴚ", "block.createindustry.red_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ pǝᴚ", "block.createindustry.red_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ pǝᴚ", "block.createindustry.resistor": "ɹoʇsısǝᴚ", + "block.createindustry.resistor.tooltip.behaviour1": "ʇuoɹɟ uo )doʇ uo ǝןqɐɹnbıɟuoɔ( ǝbɐʇןoʌ pǝʍoןןɐ sʇı uo pǝsɐq ǝbɐʇןoʌ ɥʇıʍ ʎbɹǝuǝ sʇndʇnO", + "block.createindustry.resistor.tooltip.condition1": ")ǝɹnʇxǝʇ ǝɥʇ ɟo doʇ uo ɹǝןןɐɯs sı pɐǝן ɟo dıɹʇs ǝɹǝɥʍ( ʞɔɐq ǝɥʇ ɯoɹɟ oʇuı ʎbɹǝuƎ ʇnԀ uǝɥM", + "block.createindustry.resistor.tooltip.summary": "ǝbɐʇןoʌ sǝɔnpǝᴚ", "block.createindustry.rgb_light_bulb": "qןnᗺ ʇɥbıꞀ qbᴚ", + "block.createindustry.rgb_light_bulb.behaviour1": "ʍoןb ǝɥʇ ɹǝbuoɹʇs ǝɥʇ '‾ǝbɐʇןoΛ‾ ǝɥʇ ɹǝɥbıɥ ǝɥʇ 'pǝɔuɐןɐq ǝɹɐ ‾ʎbɹǝuƎ‾ puɐ ‾ǝbɐʇןoΛ‾ ɟı ‾ʍoן⅁‾ ןןıʍ qןnqʇɥbıן ǝɥ⟘", + "block.createindustry.rgb_light_bulb.behaviour2": "sɹoןoɔ ɥbnoɹɥʇ sǝןɔʎƆ", + "block.createindustry.rgb_light_bulb.condition1": "ǝɔɹnoS ɹǝʍoԀ uo ʇnd uǝɥM", + "block.createindustry.rgb_light_bulb.condition2": "ɥɔuǝɹM ɥʇıʍ pǝʞɔıןƆ-ᴚ uǝɥM", + "block.createindustry.rgb_light_bulb.tooltip.summary": "pǝɹǝʍoԀ uǝɥʍ ɹoןoɔ uıɐʇɹǝɔ ɐ uı sʍoן⅁", "block.createindustry.rotor": "ɹoʇoᴚ", "block.createindustry.small_bauxite_brick_slab": "qɐןS ʞɔıɹᗺ ǝʇıxnɐᗺ ןןɐɯS", "block.createindustry.small_bauxite_brick_stairs": "sɹıɐʇS ʞɔıɹᗺ ǝʇıxnɐᗺ ןןɐɯS", @@ -286,8 +352,10 @@ "block.createindustry.steel_bars": "sɹɐᗺ ןǝǝʇS", "block.createindustry.steel_block": "ןǝǝʇS ɟo ʞɔoןᗺ", "block.createindustry.steel_cable_hub": "qnH ǝןqɐƆ ןǝǝʇS", + "block.createindustry.steel_cable_hub.tooltip.summary": "ǝuoʇspǝɹ ɥʇıʍ ɟɟo pǝuɹnʇ ǝq uɐƆ", "block.createindustry.steel_casing": "buısɐƆ ןǝǝʇS", "block.createindustry.steel_casing_cable_hub": "qnH ǝןqɐƆ buısɐƆ ןǝǝʇS", + "block.createindustry.steel_casing_cable_hub.tooltip.summary": "ǝuoʇspǝɹ ɥʇıʍ ɟɟo pǝuɹnʇ ǝq uɐƆ", "block.createindustry.steel_cogwheel": "ןǝǝɥʍboƆ ןǝǝʇS", "block.createindustry.steel_distillation_controller": "ɹǝןןoɹʇuoƆ uoıʇɐןןıʇsıᗡ ןǝǝʇS", "block.createindustry.steel_distillation_output": "ʇndʇnO uoıʇɐןןıʇsıᗡ ןǝǝʇS", @@ -317,6 +385,13 @@ "block.createindustry.turbine_engine_back": "ʞɔɐᗺ ǝuıbuƎ ǝuıqɹn⟘", "block.createindustry.voltage_cube": "ǝqnƆ ǝbɐʇןoΛ", "block.createindustry.voltmeter": "ɹǝʇǝɯʇןoΛ", + "block.createindustry.voltmeter.condition1": "ǝɔɹnoS ɹǝʍoԀ uo ʇnd uǝɥM", + "block.createindustry.voltmeter.condition2": "sǝןbbo⅁ s,ɹǝǝuıbuƎ ɥʇıʍ uo pǝʞooן uǝɥM", + "block.createindustry.voltmeter.condition3": "ɥɔuǝɹM ɥʇıʍ pǝʞɔıןƆ-ᴚ uǝɥM", + "block.createindustry.voltmeter.tooltip.behaviour1": "‾ǝbuɐᴚ buıɹnsɐǝW‾ sʇı ʎq pǝuıɯɹǝʇǝp sı ‾ɹǝʇǝɯʇןoΛ‾ ǝɥʇ uo ʎbɹǝuǝ xɐɯ ǝɥʇ ‾ǝɔɹnoS ɹǝʍoԀ‾ ǝɥʇ ɟo ‾ǝbɐʇןoΛ‾ ǝɥʇ sǝɹnsɐǝW", + "block.createindustry.voltmeter.tooltip.behaviour2": "‾ǝbuɐᴚ buıɹnsɐǝW‾ sɹǝʇǝɯʇןoΛ ǝɥʇ sɐ ןןǝʍ sɐ ‾ǝbɐʇןoΛ‾ sǝɔɹnos ǝɥʇ uo oɟuı pǝןıɐʇǝp sʍoɥS", + "block.createindustry.voltmeter.tooltip.behaviour3": "‾ǝbuɐᴚ buıɹnsɐǝW‾ ǝɥʇ sǝbuɐɥƆ", + "block.createindustry.voltmeter.tooltip.summary": "ǝbɐʇןoʌ sǝɹnsɐǝW", "block.createindustry.white_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ǝʇıɥM", "block.createindustry.white_concrete": "ǝʇǝɹɔuoƆ ǝʇıɥM", "block.createindustry.white_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ǝʇıɥM", @@ -329,7 +404,153 @@ "block.createindustry.yellow_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ʍoןןǝʎ", "block.createindustry.zinc_frame": "ǝɯɐɹℲ ɔuıZ", "block.createindustry.zinc_truss": "ssnɹ⟘ ɔuıZ", + "create.creative_generator.voltage_generation": "uoıʇɐɹǝuǝ⅁ ǝbɐʇןoΛ", + "create.goggles.blast_furnace.diameter.one": "Ɩ :ɹǝʇǝɯɐıᗡ", + "create.goggles.blast_furnace.diameter.two": "ᄅ :ɹǝʇǝɯɐıᗡ", + "create.goggles.blast_furnace.fuel_amount": "%1$s :ʇunoɯⱯ ןǝnℲ", + "create.goggles.blast_furnace.height": "%1$s :ʇɥbıǝH", + "create.goggles.blast_furnace.invalid": "pıןɐʌuI ǝɔɐuɹnℲ ʇsɐןᗺ", + "create.goggles.blast_furnace.item_count": "%1$s :ʇunoƆ ɯǝʇI", + "create.goggles.blast_furnace.nothing_lol": "", + "create.goggles.blast_furnace.stats": ":ǝɔɐuɹnℲ ʇsɐןᗺ", + "create.goggles.blast_furnace.status.off": "ǝןpI :snʇɐʇS", + "create.goggles.blast_furnace.status.running": "buıuunᴚ :snʇɐʇS", + "create.goggles.coke_oven.fluid_amount_exhaust": "qɯ %1$s :ǝpıxoıᗡ uoqɹɐƆ", + "create.goggles.coke_oven.fluid_amount_output": "qɯ %1$s :sʇuǝʇuoƆ ʞuɐ⟘ ןɐuɹǝʇuI", + "create.goggles.coke_oven.invalid": "pıןɐʌuI uǝʌO ǝʞoƆ", + "create.goggles.coke_oven.item_count": "%1$s :ʇunoƆ ɯǝʇI ǝbɐɹoʇS ןɐuɹǝʇuI", + "create.goggles.coke_oven.progress": "%1$s :ssǝɹboɹԀ", + "create.goggles.coke_oven.status": ":uǝʌO ǝʞoƆ", + "create.goggles.coke_oven.tank_full": "ןןnℲ sı ʞuɐ⟘ ןɐuɹǝʇuI uⱯ", + "create.goggles.diesel_engine.info": ":ǝuıbuƎ ןǝsǝıᗡ", + "create.goggles.distillation_tower.found_outputs": "%1$s :ʇunoƆ ʇndʇnO", + "create.goggles.distillation_tower.level": "%1$s :ןǝʌǝꞀ ʇɐǝH", + "create.goggles.distillation_tower.no_outputs": "punoℲ sʞɔoןᗺ ʇndʇnO oN", + "create.goggles.distillation_tower.status": ":oɟuI ɹǝʍo⟘ uoıʇɐןןıʇsıᗡ", + "create.goggles.distillation_tower.tank_not_found": "punoℲ ʇoN ʞuɐ⟘ pınןℲ ןǝǝʇS", + "create.goggles.electric_machine.no_power": "ɹǝʍoԀ oN", + "create.goggles.electricity.insufficient_voltage": "ǝbɐʇןoΛ ʇuǝıɔıɟɟnsuI", + "create.goggles.energy_meter": ":ɹǝʇǝW ʎbɹǝuƎ", + "create.goggles.energy_meter.energy": "ǝɟ %1$s :ʎbɹǝuƎ ", + "create.goggles.engine.backpartmissing": ":buıssıW ʇɹɐԀ ʞɔɐᗺ", + "create.goggles.engine.efficiency": ":ʎɔuǝıɔıɟɟƎ", + "create.goggles.engine.stress": "n%1$ss", + "create.goggles.engine_exhaust_stats": ":sʇɐʇS ʇsnɐɥxƎ ǝuıbuƎ", + "create.goggles.engine_redstone_input": ":pǝǝdS", + "create.goggles.engine_stats": ":sʇɐʇS ǝuıbuƎ", + "create.goggles.fluid_in_tank": ":sʇuǝʇuoƆ ʞuɐ⟘", + "create.goggles.fuel_container": "ǝbɐɹoʇS pınןℲ", + "create.goggles.generator.production": "ʇ/ǝɟ %1$s :uoıʇɔnpoɹԀ ʎbɹǝuƎ", + "create.goggles.get_engine_efficiency": "%1$s", + "create.goggles.machine_input.info": "oɟuI ʇnduI ǝuıɥɔɐW", + "create.goggles.machine_input.no_rot": "¡pǝpıʌoɹԀ uoıʇɐʇoᴚ oN", + "create.goggles.machine_input.power_level": " :ןǝʌǝꞀ ɹǝʍoԀ", + "create.goggles.misc.dot_one": "˙", + "create.goggles.misc.dot_three": "˙˙˙", + "create.goggles.misc.dot_two": "˙˙", + "create.goggles.misc.number": "%1$s", + "create.goggles.misc.percent_symbol": "%", + "create.goggles.misc.storage_info": ":oɟuI ǝbɐɹoʇS", + "create.goggles.motor.usage": "ʇ/ǝɟ %1$s :ǝbɐs∩ ʎbɹǝuƎ", + "create.goggles.pumpjack.deposit_info": ":oɟuI ʇısodǝᗡ", + "create.goggles.pumpjack.fluid_amount": ":ʇunoɯⱯ pınןℲ", + "create.goggles.pumpjack.part_missing": "buıssıW ʞuɐɹƆ ɹo ɹǝɯɯɐH", + "create.goggles.pumpjack.wrong_rotation1": "ʇsnɯ ɹǝʞɹɐɯ pǝɹ ǝɥʇ 'ʎןʇɔǝɹɹoɔuı pǝʇuǝıɹo sı ǝsɐᗺ ʞɔɐظdɯnԀ ǝɥ⟘", + "create.goggles.pumpjack.wrong_rotation2": "ɹǝpןoH ɹǝɯɯɐH ʞɔɐظdɯnԀ ǝɥʇ ɯoɹɟ ʎɐʍɐ ǝɔɐɟ", + "create.goggles.pumpjack_fluid_storage": ":oɟuI ʞuɐ⟘ pınןℲ", + "create.goggles.pumpjack_info": ":oɟuI ʞɔɐظdɯnԀ", + "create.goggles.surface_scanner.deposit_found": "¡pǝʇɐɔoꞀ ʇısodǝᗡ", + "create.goggles.surface_scanner.distance": "sʞɔoןᗺ %1$s :ǝɔuɐʇsıᗡ", + "create.goggles.surface_scanner.no_deposit": "punoℲ ʇısodǝᗡ oN", + "create.goggles.surface_scanner.no_rotation": "pǝɹǝʍodu∩ ǝuıɥɔɐW", + "create.goggles.surface_scanner.scanning_surface": "ǝɔɐɟɹnS ǝɥ⟘ buıuuɐɔS", + "create.goggles.voltmeter": ":ɹǝʇǝɯʇןoΛ", + "create.goggles.voltmeter.range": "Λ %1$s :ǝbuɐᴚ buıɹnsɐǝW ", + "create.goggles.voltmeter.voltage": "Λ %1$s :ǝbɐʇןoΛ pǝɹnsɐǝW ", + "create.goggles.zero": "pıןɐʌuI ǝuıɥɔɐW", + "create.pumpjack_deposit_amount": "sʇǝʞɔnᗺ %1$s", + "create.recipe.advanced_distillation": "uoıʇɐןןıʇsıᗡ pǝɔuɐʌpⱯ", + "create.recipe.casting": "buıʇsɐƆ", + "create.recipe.coking": "buıʞoƆ", + "create.recipe.distillation": "uoıʇɐןןıʇsıᗡ", + "create.recipe.industrial_blasting": "buıʇsɐןᗺ ןɐıɹʇsnpuI", + "create.resistor.allowed_voltage": "ǝbɐʇןoΛ pǝʍoןןⱯ", + "create.tooltip.engine_analog_strength": "ϛƖ/%1$s", + "create.wires.removed_data": "pǝʌoɯǝᴚ ɐʇɐᗡ", + "createindustry.ponder.blast_furnace.header": "ǝɔɐuɹnℲ ʇsɐןᗺ ɐ buıpןınᗺ", + "createindustry.ponder.blast_furnace.text_1": "ʞɔoןq ʇndʇnO ǝɔɐuɹnℲ ʇsɐןᗺ ɐ sı ǝɔɐuɹnℲ ʇsɐןᗺ ǝɥʇ ɟo ǝsɐq ǝɥ⟘", + "createindustry.ponder.blast_furnace.text_2": "ǝuǝɔs ǝɥʇ uı uʍoɥs sɐ sʞɔıɹᗺ ɟooɹdǝɹıℲ buısn ʎǝuɯıɥɔ ɐ ʇɔnɹʇsuoɔ 'ǝɔɐuɹnℲ ʇsɐןᗺ ɐ ǝןqɯǝssɐ o⟘", + "createindustry.ponder.blast_furnace.text_3": "pǝɔɹoɟuıǝɹ ǝq oʇ sǝɹınbǝɹ ʎǝuɯıɥɔ ǝɥʇ ɟo ɟןɐɥ ɯoʇʇoq ǝɥ⟘", + "createindustry.ponder.blast_furnace.text_4": "doʇ ǝɥʇ ʇɐ buıuǝdo ǝɥʇ ɥbnoɹɥʇ pǝʇɹǝsuı ǝɹɐ sɯǝʇı ɹǝɥʇo puɐ ןǝnℲ", + "createindustry.ponder.casting.header": "ןɐʇǝW buıʇsɐƆ", + "createindustry.ponder.casting.text_1": "ʇnodS buıʇsɐƆ ɐ buısn uısɐᗺ buıʇsɐƆ ɐ oʇuı ןɐʇǝɯ pınbıן buıɹnod ɟo ssǝɔoɹd ǝɥʇ sı buıʇsɐƆ", + "createindustry.ponder.casting.text_2": "uoıʇɔunɟ oʇ pןoɯ ɐ sǝɹınbǝɹ 'ʎןsnoıʌqo 'uısɐᗺ buıʇsɐƆ ǝɥ⟘", + "createindustry.ponder.coke_oven.header": "uǝʌO ǝʞoƆ ɐ buıpןınᗺ", + "createindustry.ponder.coke_oven.text_1": "ɥɔuǝɹʍ ɐ ɥʇıʍ ǝpıs sʇı buıʞɔıןɔ puɐ 'ǝuǝɔs ǝɥʇ uı uʍoɥs sɐ sʞɔoןq uǝʌO ǝʞoƆ buıɔɐןd ʎq ʇןınq sı uǝʌO ǝʞoƆ ǝɥ⟘", + "createindustry.ponder.coke_oven.text_2": "ʎןsnoǝuɐʇןnɯıs buıʞɹoʍ suǝʌo ɟo sʎɐɹɹɐ buoן ǝʌɐɥ oʇ ʇuǝıɔıɟɟǝ ǝɹoɯ sı ʇı os 'ʍoןs sı buıʞoɔ ɟo ssǝɔoɹd ǝɥ⟘", + "createindustry.ponder.coke_oven.text_3": "ǝpıs ʎuɐ ɯoɹɟ pǝʇʇnduı ǝq uɐɔ ןɐoƆ", + "createindustry.ponder.coke_oven.text_4": "uoıʇɔunɟ oʇ ʇı ɹoɟ ʇno pǝdɯnd ǝq oʇ ǝʌɐɥ ɥɔıɥʍ ᄅOƆ puɐ ǝʇosoǝɹƆ sǝɔnpoɹd uǝʌo ǝɥʇ 'buıuunɹ ǝןıɥM", + "createindustry.ponder.coke_oven.text_5": "buıuǝdo ǝɥʇ ɟo ʇno doɹp ןןıʍ ǝʞoƆ ןɐoƆ 'ǝuop ǝɔuO", + "createindustry.ponder.diesel_engine.header": "ǝuıbuƎ ןǝsǝıᗡ ɐ buıpןınᗺ", + "createindustry.ponder.diesel_engine.text_1": "ʞɔoןq ǝuıbuƎ ןǝsǝıᗡ ɐ ɟo ʇuoɹɟuı ʇɟɐɥs ɐ buıɔɐןd ʎq pǝןqɯǝssɐ ǝɹɐ sǝuıbuƎ ןǝsǝıᗡ", + "createindustry.ponder.diesel_engine.text_2": "ʞɔoןq ʇsnɐɥxǝ uɐ puɐ sǝdıd ɥʇıʍ pǝʌoɯǝɹ ǝq oʇ sɐɥ ɥɔıɥʍ sɐb ʇsnɐɥxǝ sǝɔnpoɹd ǝuıbuǝ ǝɥ⟘", + "createindustry.ponder.diesel_engine.text_3": "pǝɹınbǝɹ sı ǝʞɐʇuI ɹıⱯ uɐ os 'unɹ oʇ ǝuıbuǝ ǝɥʇ ɹoɟ pǝpǝǝu sı ɹıⱯ", + "createindustry.ponder.diesel_engine_expansion.header": "sǝuıbuƎ ןǝsǝıᗡ buıpuɐdxƎ", + "createindustry.ponder.diesel_engine_expansion.text_1": "spınןɟ ɹoʇɐıpɐɹ puɐ uoıʇɐɔıɹqnן ɹoɟ 'sʇoןs ʇnduı ʍǝu oʍʇ ǝuıbuƎ ןǝsǝıᗡ ɐ ǝʌıb uɐɔ suoısuɐdxƎ ǝuıbuƎ ןǝsǝıᗡ", + "createindustry.ponder.distillation_tower.header": "dnʇǝS ɹǝʍo⟘ uoıʇɐןןıʇsıᗡ", + "createindustry.ponder.distillation_tower.text_1": "ɹǝʍo⟘ uoıʇɐןןıʇsıᗡ ɐ oʇuı pǝuɹnʇ ǝq uɐɔ ʞuɐ⟘ pınןℲ ןǝǝʇS ǝbɹɐן ʎןʇuǝıɔıɟɟns Ɐ", + "createindustry.ponder.distillation_tower.text_10": "ǝuǝsoɹǝʞ", + "createindustry.ponder.distillation_tower.text_11": "ןǝsǝıᗡ", + "createindustry.ponder.distillation_tower.text_12": "ןıO ʎʌɐǝH", + "createindustry.ponder.distillation_tower.text_2": "˙˙˙ʞuɐʇ ǝɥʇ oʇ ʇxǝu ɹǝןןoɹʇuoƆ ɹǝʍo⟘ uoıʇɐןןıʇsıᗡ ןǝǝʇS ɐ buıɔɐןd ʇsɹıɟ ʎq pǝןqɯǝssɐ sı ɹǝʍoʇ ǝɥ⟘", + "createindustry.ponder.distillation_tower.text_3": "sǝdıԀ ןɐıɹʇsnpuI ɥʇıʍ pǝʇɔǝuuoɔ ןןɐ 'sʇndʇnO ɹǝʍo⟘ uoıʇɐןןıʇsıᗡ 9 oʇ dn buıɔɐןd puⱯ", + "createindustry.ponder.distillation_tower.text_4": "sןǝʌǝן ɹǝʍod ʇuǝɹɹnɔ sʎɐןdsıp ןɐıp ǝɥ⟘ ˙ɹǝʍo⟘ uoıʇɐןןıʇsıᗡ ǝɥʇ unɹ oʇ pǝɹınbǝɹ ǝɹɐ sɹǝuɹnᗺ ǝzɐןᗺ", + "createindustry.ponder.distillation_tower.text_5": "ʞɔoןq ɹǝןןoɹʇuoɔ ǝɥʇ oʇuı pǝdɯnd ǝq ʇsnɯ ʇı 'ןıO ǝpnɹƆ ʇnduı o⟘", + "createindustry.ponder.distillation_tower.text_6": "sʇɔnpoɹdʎq ןıO ǝɥʇ ɟo ǝuo sǝpıʌoɹd ʞɔoןq ʇndʇno ɥɔɐƎ", + "createindustry.ponder.distillation_tower.text_7": "⅁ԀꞀ", + "createindustry.ponder.distillation_tower.text_8": "ǝuıןosɐ⅁", + "createindustry.ponder.distillation_tower.text_9": "ɐɥʇɥdɐN", + "createindustry.ponder.large_generator.header": "ɹoʇɐɹǝuǝ⅁ ǝbɹɐꞀ ɐ buıpןınᗺ", + "createindustry.ponder.large_generator.text_1": "ɹoʇoᴚ ǝɥʇ sı ɹoʇɐɹǝuǝ⅁ ǝbɹɐꞀ ǝɥʇ ɟo uıɐɯ ǝɥ⟘", + "createindustry.ponder.large_generator.text_2": "ɹoʇoᴚ ǝɥʇ punoɹɐ ʞɔoןq ɹoʇɐʇS ǝɔɐןd 'ɹoʇɐɹǝuǝ⅁ ǝbɹɐꞀ ǝɥʇ ǝʇǝןdɯoɔ o⟘", + "createindustry.ponder.large_generator.text_3": "ʎbɹǝuǝ ɔıɹʇɔǝןǝ ǝɔnpoɹd ןןıʍ ɹoʇoᴚ ǝɥʇ oʇ ɹǝʍod ןɐuoıʇɐʇoɹ buıpıʌoɹԀ", + "createindustry.ponder.large_generator.text_4": "ʇndʇno ʎbɹǝuǝ ǝɥʇ ʇı ǝʞɐɯ ןןıʍ ɥɔuǝɹʍ ɐ ɥʇıʍ ǝpıs ɐ buıʞɔıןƆ", + "createindustry.ponder.pumpjack.header": "sʞɔɐظdɯnԀ buıpןınᗺ", + "createindustry.ponder.pumpjack.text_1": "sǝdıԀ ןɐıɹʇsnpuI buısn ʇısodǝp ɐ ɟo doʇ uo ǝuıןǝdıd ɐ pןınq ʇsɹıɟ ʇsnɯ noʎ 'ןıO buıʇɔɐɹʇxǝ ʇɹɐʇs o⟘", + "createindustry.ponder.pumpjack.text_2": "˙˙˙ǝsɐᗺ ʞɔɐظdɯnԀ ɐ uʍop buıɔɐןd ʇsɹıɟ ʎq ǝuıןǝdıd ǝɥʇ ɟo doʇ uo ʞɔɐظdɯnԀ ɐ ʇɔnɹʇsuoɔ 'uǝɥ⟘", + "createindustry.ponder.pumpjack.text_3": "˙˙˙ʇı puıɥǝq ɹǝɯɯɐH ʞɔɐظdɯnԀ ǝɥʇ buıɔɐןԀ", + "createindustry.ponder.pumpjack.text_4": "ǝsɐq ǝɥʇ puɐ ʞuɐɹɔ ǝɥʇ ǝʌoqɐ ʞɔɐظdɯnԀ ǝɥʇ ɟo pɐǝH ǝɥʇ puⱯ ɹoʇɔǝuuoƆ ǝɥʇ buıpןınq sı dǝʇs ʇxǝN", + "createindustry.ponder.pumpjack.text_5": "ǝɹnʇɔnɹʇs ǝɥʇ ɥsıuıɟ oʇ pǝpǝǝu sı ǝnןbɹǝdns ʇɐɥʇ puıɯ uı dǝǝʞ 'sʇɹɐԀ ɹǝɯɯɐH ʞɔɐظdɯnԀ ɥʇıʍ pǝʇɔǝuuoɔ ǝq oʇ pǝǝu ʎǝɥʇ ʍoN", + "createindustry.ponder.pumpjack.text_6": "ǝuǝɔs ǝɥʇ uı uʍoɥs sɐ 'ʇı ǝʌoqɐ ʞuɐɹƆ ʞɔɐظdɯnԀ ɐ ɥʇıʍ ʇnduI ǝuıɥɔɐW ǝɥʇ buıɔɐןd 'ʎןןɐuıɟ puⱯ", + "createindustry.ponder.radial_engines.header": "sǝuıbuƎ ןɐıpɐᴚ buıs∩", + "createindustry.ponder.radial_engines.text_1": "sǝpıs ɥʇoq ɯoɹɟ ʇɟɐɥs ɐ sɐɥ puɐ ʞɔoןq ʇsnɐɥxǝ uɐ ǝɹınbǝɹ ʇ,usǝop ʇɐɥʇ ǝuıbuƎ ɟo ǝdʎ⟘ ןɐıɔǝds ɐ ǝɹɐ sǝuıbuƎ ןɐıpɐᴚ", + "createindustry.ponder.radial_engines.text_2": "sןɐubıs ǝuoʇspǝɹ puɐ ןǝnɟ ʇdǝɔɔɐ uɐɔ ʇɐɥʇ ʇoןs ʇnduı uɐ uʍɐds ןןıʍ sǝpıs sʇı ɟo ǝuo ɯoɹɟ ǝuıbuƎ ǝɥʇ buıʞɔıןƆ", + "createindustry.ponder.radial_engines.text_3": "ןǝnɟ sɐ ǝuıןosɐb sǝsn sǝuıbuƎ ןɐıpɐᴚ ɹɐןnbǝᴚ", + "createindustry.ponder.radial_engines.text_4": "ɟןǝsʇı ʞɔoןq ǝɥʇ ɹo ʇoןs ʇnduı ǝɥʇ oʇ pǝıןddɐ sı ןɐubıs ǝuoʇspǝɹ uǝɥʍ ʇɹɐʇs ןןıʍ ǝuıbuƎ", + "createindustry.ponder.radial_engines.text_5": "ןǝnɟ sɐ ǝuǝsoɹǝʞ sǝsn ɥɔıɥʍ ǝuıbuƎ ןɐıpɐᴚ ǝbɹɐꞀ ǝɥ⟘ sı ןɐıpɐɹ ɐ ɟo ʇuɐıɹɐʌ puoɔǝs ǝɥ⟘", + "createindustry.ponder.small_engines.header": "sǝuıbuƎ ןןɐɯS buıpןınᗺ", + "createindustry.ponder.small_engines.text_1": "ɹǝɥʇoɥɔɐǝ oʇ ʇuǝɔɐظpɐ sʇɹɐd ʞɔɐq puɐ ʇuoɹɟ ǝɥʇ ǝɔɐןd 'ǝuıbuǝ ןןɐɯs ɐ ǝʇɐǝɹɔ o⟘", + "createindustry.ponder.small_engines.text_2": "ʞɔoןq ʇsnɐɥxǝ uɐ puɐ sǝdıd buısn ʇɹɐd ʞɔɐq ǝɥʇ ɯoɹɟ pǝʌoɯǝɹ ǝq ʇsnɯ ʇsnɐɥxǝ puɐ 'ʇɹɐd ʇuoɹɟ ǝɥʇ oʇuı pǝʇʇnduı sı ןǝnℲ", + "createindustry.ponder.small_engines.text_3": "ǝuıbuǝ ǝɥʇ sʇɹɐʇs ʇɹɐd ʇuoɹɟ ǝɥʇ oʇ ןɐubıs ǝuoʇspǝɹ ɐ buıʎןddⱯ", + "createindustry.ponder.small_engines.text_4": "sǝuıbuǝ ǝuıןosɐb puɐ ǝuǝsoɹǝʞ '⅁ԀꞀ ǝpnןɔuı sǝuıbuǝ ןןɐɯS", + "createindustry.ponder.surface_scanner.header": "ןıO buıʇɐɔoꞀ", + "createindustry.ponder.surface_scanner.text_1": "sʇısodǝp ןıo ǝpnɹɔ ǝʇɐɔoן oʇ pǝsn sı ɹǝuuɐɔS ǝɔɐɟɹnS ǝɥ⟘", + "createindustry.ponder.surface_scanner.text_2": "ʇısodǝp ʇsǝɹɐǝu ǝɥʇ ɹoɟ uɐɔs ʇı sǝʞɐɯ ɹǝʍod ןɐuoıʇɐʇoɹ ɥʇıʍ ǝuıɥɔɐɯ ǝɥʇ buıpıʌoɹԀ", + "createindustry.ponder.surface_scanner.text_3": "uoıʇɐɔoן sʇı spɹɐʍoʇ ʇuıod ןןıʍ ssɐdɯoɔ ǝɥʇ 'punoɟ sı ʇısodǝp ɐ ɟI", + "createindustry.ponder.tag.metallurgy": "buıssǝɔoɹԀ ןɐʇǝW", + "createindustry.ponder.tag.metallurgy.description": "ɥɔns sɐ sןɐıɹǝʇɐɯ ʍɐɹ puɐ ןɐʇǝW ǝsn ɹo ssǝɔoɹd 'ǝɔnpoɹd ʇɐɥʇ sǝuıɥɔɐW", + "createindustry.ponder.tag.oil": "sǝuıɥɔɐW pǝʇɐןǝᴚ ןıO", + "createindustry.ponder.tag.oil.description": "sʇɔnpoɹdʎq sʇı puɐ ןıO ǝpnɹƆ ǝsn ɹo ssǝɔoɹd 'ʇɔɐɹʇxǝ ʇɐɥʇ sǝuıɥɔɐW", + "createindustry.subtitle.diesel_engine_sounds": "spunoS ǝuıbuƎ ןǝsǝıᗡ", + "createindustry.subtitle.engine_sounds": "spunoS ǝuıbuƎ", + "death.attack.createindustry.acid": "ɥʇɐq pıɔɐ uɐ ʞooʇ %1$s", + "death.attack.createindustry.acid.player": "ɥʇɐq pıɔɐ uɐ ʞooʇ %1$s", + "death.attack.createindustry.concrete": "ǝʇǝɹɔuoƆ ʇɐǝ oʇ pǝıɹʇ %1$s", + "death.attack.createindustry.concrete.player": "ǝʇǝɹɔuoƆ ʇɐǝ oʇ pǝıɹʇ %1$s", + "effect.createindustry.frostbite": "ǝʇıqʇsoɹℲ", + "effect.createindustry.hellfire": "ǝɹıɟןןǝH", "entity.createindustry.blue_spark": "ʞɹɐdS ǝnןᗺ", + "entity.createindustry.cool_spark": "ʞɹɐdS ןooƆ", "entity.createindustry.copper_grenade": "ǝpɐuǝɹ⅁ ɹǝddoƆ", "entity.createindustry.green_spark": "ʞɹɐdS uǝǝɹ⅁", "entity.createindustry.lithium_spark": "ʞɹɐdS ɯnıɥʇıꞀ", @@ -340,6 +561,7 @@ "entity.createindustry.thermite_grenade": "ǝpɐuǝɹ⅁ ǝʇıɯɹǝɥ⟘", "entity.createindustry.zinc_grenade": "ǝpɐuǝɹ⅁ ɔuıZ", "fluid.createindustry.air": "ɹıⱯ", + "fluid.createindustry.blast_furnace_gas": "sɐ⅁ ǝɔɐuɹnℲ ʇsɐןᗺ", "fluid.createindustry.butane": "ǝuɐʇnᗺ", "fluid.createindustry.carbon_dioxide": "ǝpıxoıᗡ uoqɹɐƆ", "fluid.createindustry.cooling_fluid": "pınןℲ buıןooƆ", @@ -348,6 +570,7 @@ "fluid.createindustry.diesel": "ןǝsǝıᗡ", "fluid.createindustry.ethylene": "ǝuǝןʎɥʇƎ", "fluid.createindustry.gasoline": "ǝuıןosɐ⅁", + "fluid.createindustry.heated_air": "ɹıⱯ pǝʇɐǝH", "fluid.createindustry.heavy_oil": "ןıO ʎʌɐǝH", "fluid.createindustry.kerosene": "ǝuǝsoɹǝʞ", "fluid.createindustry.liquid_asphalt": "ʇןɐɥdsⱯ pınbıꞀ", @@ -364,6 +587,11 @@ "fluid.createindustry.propylene": "ǝuǝןʎdoɹԀ", "fluid.createindustry.sulfuric_acid": "pıɔⱯ ɔıɹnɟןnS", "item.createindustry.advanced_potato_cannon": "uouuɐƆ oʇɐʇoԀ pǝɔuɐʌpⱯ", + "item.createindustry.advanced_potato_cannon.tooltip.behaviour1": "˙‾ʎɹoʇuǝʌuI‾ ɹnoʎ ɯoɹɟ ‾oʇɐʇoԀ ɯןɐdɐN‾ ɐ ‾sʇooɥS‾", + "item.createindustry.advanced_potato_cannon.tooltip.behaviour2": "ʞuɐ⟘ ǝɥʇ ɯoɹɟ pǝuıɐɹp sı ‾ǝɹnssǝɹd‾ ‾ɹıⱯ‾ 'pɐǝʇsuI ˙pǝsn ǝq ןןıʍ ‾ʎʇıןıqɐɹnᗡ‾ ‾oN‾", + "item.createindustry.advanced_potato_cannon.tooltip.condition1": "pǝʞɔıןƆ-ᴚ uǝɥM", + "item.createindustry.advanced_potato_cannon.tooltip.condition2": "ʞuɐʇʞɔɐᗺ buıɹɐǝʍ ǝןıɥM", + "item.createindustry.advanced_potato_cannon.tooltip.summary": "‾ʞuɐʇʞɔɐᗺ‾ ɐ ɯoɹɟ ‾ǝɹnssǝɹԀ‾ ‾ɹıⱯ‾ ɥʇıʍ pǝɹǝʍod ǝq uɐƆ ˙sǝıɯǝuƎ ʇɐ ‾sǝoʇɐʇoԀ ɯןɐdɐN‾ sǝɥɔunɐꞀ", "item.createindustry.air_bucket": "ʞuɐ⟘ ɹıⱯ", "item.createindustry.aluminum_axe": "ǝxⱯ ɯnuıɯnןⱯ", "item.createindustry.aluminum_hoe": "ǝoH ɯnuıɯnןⱯ", @@ -373,6 +601,7 @@ "item.createindustry.aluminum_sword": "pɹoʍS ɯnuıɯnןⱯ", "item.createindustry.aluminum_wire": "ǝɹıM ɯnuıɯnןⱯ", "item.createindustry.bitumen": "uǝɯnʇıᗺ", + "item.createindustry.blast_furnace_gas_bucket": "ʞuɐ⟘ sɐ⅁ ǝɔɐuɹnℲ ʇsɐןᗺ", "item.createindustry.blasting_mixture": "ǝɹnʇxıW buıʇsɐןᗺ", "item.createindustry.block_mold": "pןoW ʞɔoןᗺ", "item.createindustry.bottle_of_battery_acid": "pıɔⱯ ʎɹǝʇʇɐᗺ ,o ǝןʇʇoᗺ", @@ -400,7 +629,13 @@ "item.createindustry.fireclay_ball": "ןןɐᗺ ʎɐןɔǝɹıℲ", "item.createindustry.fireproof_brick": "ʞɔıɹᗺ ɟooɹdǝɹıℲ", "item.createindustry.flamethrower": "ɹǝʍoɹɥʇǝɯɐןℲ", + "item.createindustry.flamethrower.tooltip.behaviour1": " ‾sǝɯɐןℲ ʇno sʇooɥS‾", + "item.createindustry.flamethrower.tooltip.behaviour2": "ǝɔıoɥɔ ɟo ‾ןǝnℲ‾ ɹnoʎ oʇ buıpɹoɔɔɐ ǝbuɐɥɔ ‾pɐǝɹdS‾ puɐ ‾ǝbuɐᴚ‾ ˙ʞuɐʇ ǝɥʇ ɯoɹɟ pǝɯnsuoɔ ǝq ןןıʍ ‾ןǝnℲ‾ ǝɥ⟘", + "item.createindustry.flamethrower.tooltip.condition1": "pǝʞɔıןƆ-ᴚ uǝɥM", + "item.createindustry.flamethrower.tooltip.condition2": "ǝpısuı sɐ⅁/pınןℲ ǝןqɐuɹnᗺ ɐ ɥʇıʍ ʞuɐ⟘ pınןℲ ɐ buıʞɔıןƆ-ᴚ uǝɥM", + "item.createindustry.flamethrower.tooltip.summary": "sǝıɯǝuƎ ɹnoʎ uɹnq oʇ ǝɯɐןɟ ɟo ʇsɹnq ɐ ʇno ʇooɥs oʇ ‾spınןℲ‾ puɐ ‾sǝsɐ⅁‾ ǝןqɐuɹnq suɹnᗺ", "item.createindustry.gasoline_bucket": "ʇǝʞɔnᗺ ǝuıןosɐ⅁", + "item.createindustry.heated_air_bucket": "ʞuɐ⟘ ɹıⱯ pǝʇɐǝH", "item.createindustry.heavy_oil_bucket": "ʇǝʞɔnᗺ ןıO ʎʌɐǝH", "item.createindustry.heavy_plate": "ǝʇɐןԀ ʎʌɐǝH", "item.createindustry.ingot_mold": "pןoW ʇobuI", @@ -417,6 +652,11 @@ "item.createindustry.liquid_plastic_bucket": "ʇǝʞɔnᗺ ɔıʇsɐןԀ pınbıꞀ", "item.createindustry.lit_lithium_blade": "ǝpɐןᗺ ɯnıɥʇıꞀ", "item.createindustry.lithium_blade": "ǝpɐןᗺ ɯnıɥʇıꞀ", + "item.createindustry.lithium_blade.tooltip.behaviour1": " ɹǝʇɐʍ uı ɟןǝsɯǝɥʇ sǝɥsınbuıʇxǝ ʎɯǝuƎ ɹǝʇɟɐ uǝʌǝ pǝʍǝuǝɹ sı ǝɹıɟ sıɥʇ 'ǝɯıʇ ɟo ʇunoɯɐ ʇǝs ɐ ɹoɟ ǝɹıɟ uo sǝıɯǝuǝ sʇǝs ǝɯɐןɟ sʇI ˙‾ǝbɹɐɥƆ ɯnıɥʇıꞀ‾ ɐ buıɯnsuoɔ 'ǝɹıɟןןǝɥ uo ʇǝs sI", + "item.createindustry.lithium_blade.tooltip.behaviour2": "ǝbɹɐɥɔ sǝpɐןq ǝɥʇ buıɯnsuoɔ ‾ǝɹıɟןןǝH‾ ɟo sʇןoq ןɐɹǝʌǝs ʇno sʇooɥS", + "item.createindustry.lithium_blade.tooltip.condition1": "ɟɟO uǝɥʍ pǝʞɔıןƆ-ᴚ uǝɥM", + "item.createindustry.lithium_blade.tooltip.condition2": "uO uǝɥʍ buıʞɔıןƆ-ᴚ uǝɥM", + "item.createindustry.lithium_blade.tooltip.summary": "‾ǝɹıɟןןǝH‾ ɟo sʇןoᗺ ʇno buıʇooɥs puɐ sǝıɯǝuǝ buıuɹnq ǝɯɐןɟɐ ʇǝs sı ǝpɐןᗺ sıɥʇ '‾sǝbɹɐɥƆ ɯnıɥʇıꞀ‾ʇobuI ןǝǝʇS‾ buıs∩", "item.createindustry.lithium_charge": "ǝbɹɐɥƆ ɯnıɥʇıꞀ", "item.createindustry.lithium_ingot": "ʇobuI ɯnıɥʇıꞀ", "item.createindustry.lpg_bucket": "ʞuɐ⟘ bdꞀ", @@ -431,10 +671,16 @@ "item.createindustry.nickel_ingot": "ʇobuI ןǝʞɔıN", "item.createindustry.nitrate_dust": "ʇsnᗡ ǝʇɐɹʇıN", "item.createindustry.pipe_bomb": "qɯoᗺ ǝdıԀ", + "item.createindustry.pipebomb.tooltip.summary": "ןooɔ oS", "item.createindustry.plastic_sheet": "ʇǝǝɥS ɔıʇsɐןԀ", "item.createindustry.propane_bucket": "ʞuɐ⟘ ǝuɐdoɹԀ", "item.createindustry.propylene_bucket": "ʞuɐ⟘ ǝuǝןʎdoɹԀ", "item.createindustry.quad_potato_cannon": "uouuɐƆ oʇɐʇoԀ pɐnὉ", + "item.createindustry.quad_potato_cannon.tooltip.behaviour1": "˙‾ʎɹoʇuǝʌuI‾ ɹnoʎ ɯoɹɟ ɯǝʇı ǝןqɐʇıns ɐ ‾sʇooɥS‾", + "item.createindustry.quad_potato_cannon.tooltip.behaviour2": "ʞuɐ⟘ ǝɥʇ ɯoɹɟ pǝuıɐɹp sı ‾ǝɹnssǝɹd‾ ‾ɹıⱯ‾ 'pɐǝʇsuI ˙pǝsn ǝq ןןıʍ ‾ʎʇıןıqɐɹnᗡ‾ ‾oN‾", + "item.createindustry.quad_potato_cannon.tooltip.condition1": "pǝʞɔıןƆ-ᴚ uǝɥM", + "item.createindustry.quad_potato_cannon.tooltip.condition2": "ʞuɐʇʞɔɐᗺ buıɹɐǝʍ ǝןıɥM", + "item.createindustry.quad_potato_cannon.tooltip.summary": "‾ʞuɐʇʞɔɐᗺ‾ ɐ ɯoɹɟ ‾ǝɹnssǝɹԀ‾ ‾ɹıⱯ‾ ɥʇıʍ pǝɹǝʍod ǝq uɐƆ ˙sǝıɯǝuƎ ʇɐ sǝןqɐʇǝbǝʌ uʍoɹb-ǝɯoɥ ɹnoʎ ɟo ㄣ sǝɥɔunɐꞀ", "item.createindustry.raw_lead": "pɐǝꞀ ʍɐᴚ", "item.createindustry.raw_lithium": "ɯnıɥʇıꞀ ʍɐᴚ", "item.createindustry.raw_nickel": "ןǝʞɔıN ʍɐᴚ", @@ -442,6 +688,9 @@ "item.createindustry.resistor_": "ɹoʇsısǝᴚ", "item.createindustry.screw": "ʍǝɹɔS", "item.createindustry.screwdriver": "ɹǝʌıɹpʍǝɹɔS", + "item.createindustry.screwdriver.tooltip.behaviour1": "‾buıʇɔǝuuoƆ ʇnoɥʇıM‾ ɹǝɥʇoɥɔɐǝ oʇ ʇxǝu pǝɔɐןd ǝq oʇ ‾sǝdıԀ‾ ɹoɟ buıʍoןןɐ uoıʇɐʇoɹ ʇuǝɹɹnɔ sʇı uı ‾ǝdıԀ‾ sʞɔoꞀ", + "item.createindustry.screwdriver.tooltip.condition1": "ǝdıd buıʞɔıןƆ-ᴚ uǝɥM", + "item.createindustry.screwdriver.tooltip.summary": "ǝɔɐןd uı sǝdıd ʞɔoן uɐƆ", "item.createindustry.slag": "bɐןS", "item.createindustry.spark_plug": "bnןԀ ʞɹɐdS", "item.createindustry.steel_axe": "ǝxⱯ ןǝǝʇS", @@ -469,5 +718,15 @@ "item.createindustry.unfinished_turbine_engine": "ǝuıbuƎ ǝuıqɹn⟘ pǝɥsıuıɟu∩", "item.createindustry.unprocessed_heavy_plate": "ǝʇɐןԀ ʎʌɐǝH pǝssǝɔoɹdu∩", "item.createindustry.zinc_grenade": "ǝpɐuǝɹ⅁ ɔuıZ", - "item.createindustry.zinc_sulfate": "ǝʇɐɟןnS ɔuıZ" + "item.createindustry.zinc_sulfate": "ǝʇɐɟןnS ɔuıZ", + "item.minecraft.lingering_potion.effect.frostbite_potion": "ǝʇıqʇsoɹℲ ɟo uoıʇoԀ buıɹǝbuıꞀ", + "item.minecraft.lingering_potion.effect.hellfire_potion": "ǝɹıɟןןǝH ɟo uoıʇoԀ buıɹǝbuıꞀ", + "item.minecraft.potion.effect.frostbite_potion": "ǝʇıqʇsoɹℲ ɟo uoıʇoԀ", + "item.minecraft.potion.effect.hellfire_potion": "ǝɹıɟןןǝH ɟo uoıʇoԀ", + "item.minecraft.splash_potion.effect.frostbite_potion": "ǝʇıqʇsoɹℲ ɟo uoıʇoԀ ɥsɐןdS", + "item.minecraft.splash_potion.effect.hellfire_potion": "ǝɹıɟןןǝH ɟo uoıʇoԀ ɥsɐןdS", + "item.minecraft.tipped_arrow.effect.frostbite_potion": "ǝʇıqʇsoɹℲ ɟo ʍoɹɹⱯ", + "item.minecraft.tipped_arrow.effect.hellfire_potion": "ǝɹıɟןןǝH ɟo ʍoɹɹⱯ", + "itemGroup.createindustry.base": "ʍoɹ⅁ ʇsnW ʎɹoʇɔɐℲ ǝɥ⟘ :ǝʇɐǝɹƆ", + "itemGroup.createindustry.building": "sʞɔoןᗺ buıpןınᗺ ⅁WℲ⟘ :ǝʇɐǝɹƆ" } \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/lang/en_us.json b/src/generated/resources/assets/createindustry/lang/en_us.json index 700adcb8..e76056aa 100644 --- a/src/generated/resources/assets/createindustry/lang/en_us.json +++ b/src/generated/resources/assets/createindustry/lang/en_us.json @@ -1,1064 +1,732 @@ { - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.createindustry.accumulator": "Accumulator", - "block.createindustry.air_intake": "Air Intake", - "block.createindustry.aluminum_bars": "Aluminum Bars", - "block.createindustry.aluminum_block": "Block of Aluminum", - "block.createindustry.aluminum_cable_hub": "Aluminum Cable Hub", - "block.createindustry.aluminum_cogwheel": "Aluminum Cogwheel", - "block.createindustry.aluminum_fluid_valve": "Aluminum Fluid Valve", - "block.createindustry.aluminum_flywheel": "Aluminum Flywheel", - "block.createindustry.aluminum_frame": "Aluminum Frame", - "block.createindustry.aluminum_ladder": "Aluminum Ladder", - "block.createindustry.aluminum_mechanical_pump": "Aluminum Mechanical Pump", - "block.createindustry.aluminum_pipe": "Aluminum Pipe", - "block.createindustry.aluminum_scaffolding": "Aluminum Scaffolding", - "block.createindustry.aluminum_smart_fluid_pipe": "Aluminum Smart Fluid Pipe", - "block.createindustry.aluminum_truss": "Aluminum Truss", - "block.createindustry.asphalt": "Asphalt", - "block.createindustry.bauxite": "Bauxite", - "block.createindustry.bauxite_pillar": "Bauxite Pillar", - "block.createindustry.black_concrete": "Black Concrete", - "block.createindustry.black_concrete_slab": "Black Concrete Slab", - "block.createindustry.black_concrete_stairs": "Black Concrete Stairs", - "block.createindustry.black_concrete_wall": "Black Concrete Wall", - "block.createindustry.blast_furnace_output": "Blast Furnace Output", - "block.createindustry.blue_caution_block": "Blue Caution Block", - "block.createindustry.blue_concrete": "Blue Concrete", - "block.createindustry.blue_concrete_slab": "Blue Concrete Slab", - "block.createindustry.blue_concrete_stairs": "Blue Concrete Stairs", - "block.createindustry.blue_concrete_wall": "Blue Concrete Wall", - "block.createindustry.brass_cable_hub": "Brass Cable Hub", - "block.createindustry.brass_fluid_valve": "Brass Fluid Valve", - "block.createindustry.brass_frame": "Brass Frame", - "block.createindustry.brass_mechanical_pump": "Brass Mechanical Pump", - "block.createindustry.brass_pipe": "Brass Pipe", - "block.createindustry.brass_smart_fluid_pipe": "Brass Smart Fluid Pipe", - "block.createindustry.brass_truss": "Brass Truss", - "block.createindustry.brown_caution_block": "Brown Caution Block", - "block.createindustry.brown_concrete": "Brown Concrete", - "block.createindustry.brown_concrete_slab": "Brown Concrete Slab", - "block.createindustry.brown_concrete_stairs": "Brown Concrete Stairs", - "block.createindustry.brown_concrete_wall": "Brown Concrete Wall", - "block.createindustry.cable_connector": "Cable Connector", - "block.createindustry.cable_tube": "Cable Tube", - "block.createindustry.capacitor": "Capacitor", - "block.createindustry.cast_iron_bars": "Cast Iron Bars", - "block.createindustry.cast_iron_block": "Block of Cast Iron", - "block.createindustry.cast_iron_fluid_valve": "Cast Iron Fluid Valve", - "block.createindustry.cast_iron_flywheel": "Cast Iron Flywheel", - "block.createindustry.cast_iron_frame": "Cast Iron Frame", - "block.createindustry.cast_iron_ladder": "Cast Iron Ladder", - "block.createindustry.cast_iron_mechanical_pump": "Cast Iron Mechanical Pump", - "block.createindustry.cast_iron_pipe": "Cast Iron Pipe", - "block.createindustry.cast_iron_smart_fluid_pipe": "Cast Iron Smart Fluid Pipe", - "block.createindustry.cast_iron_truss": "Cast Iron Truss", - "block.createindustry.casting_basin": "Casting Basin", - "block.createindustry.casting_spout": "Casting Spout", - "block.createindustry.cement": "Cement", - "block.createindustry.cinder_block": "Cinder Block", - "block.createindustry.cinderflour_block": "Cinderflour Block", - "block.createindustry.coal_coke_block": "Block of Coal Coke", - "block.createindustry.coke_oven": "Coke Oven", - "block.createindustry.compact_engine": "Compact Engine", - "block.createindustry.concrete": "Concrete", - "block.createindustry.concrete_slab": "Concrete Slab", - "block.createindustry.concrete_stairs": "Concrete Stairs", - "block.createindustry.concrete_wall": "Concrete Wall", - "block.createindustry.converter": "Converter", - "block.createindustry.cooling_fluid": "Cooling Fluid", - "block.createindustry.copper_cable_hub": "Copper Cable Hub", - "block.createindustry.copper_coil": "Copper Coil", - "block.createindustry.copper_encased_aluminum_pipe": "Copper Encased Aluminum Pipe", - "block.createindustry.copper_encased_brass_pipe": "Copper Encased Brass Pipe", - "block.createindustry.copper_encased_cast_iron_pipe": "Copper Encased Cast Iron Pipe", - "block.createindustry.copper_encased_plastic_pipe": "Copper Encased Plastic Pipe", - "block.createindustry.copper_encased_steel_pipe": "Copper Encased Steel Pipe", - "block.createindustry.copper_frame": "Copper Frame", - "block.createindustry.copper_truss": "Copper Truss", - "block.createindustry.copycat_cable_base": "Copycat Cable Base", - "block.createindustry.copycat_cable_block": "Copycat Cable Block", - "block.createindustry.creative_generator": "Creative Generator", - "block.createindustry.creosote": "Creosote", - "block.createindustry.crude_oil": "Crude Oil", - "block.createindustry.cut_bauxite": "Cut Bauxite", - "block.createindustry.cut_bauxite_brick_slab": "Cut Bauxite Brick Slab", - "block.createindustry.cut_bauxite_brick_stairs": "Cut Bauxite Brick Stairs", - "block.createindustry.cut_bauxite_brick_wall": "Cut Bauxite Brick Wall", - "block.createindustry.cut_bauxite_bricks": "Cut Bauxite Bricks", - "block.createindustry.cut_bauxite_slab": "Cut Bauxite Slab", - "block.createindustry.cut_bauxite_stairs": "Cut Bauxite Stairs", - "block.createindustry.cut_bauxite_wall": "Cut Bauxite Wall", - "block.createindustry.cut_galena": "Cut Galena", - "block.createindustry.cut_galena_brick_slab": "Cut Galena Brick Slab", - "block.createindustry.cut_galena_brick_stairs": "Cut Galena Brick Stairs", - "block.createindustry.cut_galena_brick_wall": "Cut Galena Brick Wall", - "block.createindustry.cut_galena_bricks": "Cut Galena Bricks", - "block.createindustry.cut_galena_slab": "Cut Galena Slab", - "block.createindustry.cut_galena_stairs": "Cut Galena Stairs", - "block.createindustry.cut_galena_wall": "Cut Galena Wall", - "block.createindustry.cyan_caution_block": "Cyan Caution Block", - "block.createindustry.cyan_concrete": "Cyan Concrete", - "block.createindustry.cyan_concrete_slab": "Cyan Concrete Slab", - "block.createindustry.cyan_concrete_stairs": "Cyan Concrete Stairs", - "block.createindustry.cyan_concrete_wall": "Cyan Concrete Wall", - "block.createindustry.deepslate_lead_ore": "Deepslate Lead Ore", - "block.createindustry.deepslate_lithium_ore": "Deepslate Lithium Ore", - "block.createindustry.deepslate_nickel_ore": "Deepslate Nickel Ore", - "block.createindustry.diagonal_cable_block": "Diagonal Cable Block", - "block.createindustry.diesel": "Diesel", - "block.createindustry.diesel_engine": "Diesel Engine", - "block.createindustry.diesel_engine_expansion": "Diesel Engine Expansion", - "block.createindustry.electric_casing": "Electric Casing", - "block.createindustry.electric_motor": "Electric Motor", - "block.createindustry.energy_meter": "Energy Meter", - "block.createindustry.exhaust": "Exhaust", - "block.createindustry.factory_floor": "Factory Floor", - "block.createindustry.factory_floor_slab": "Factory Floor Slab", - "block.createindustry.factory_floor_stairs": "Factory Floor Stairs", - "block.createindustry.firebox": "Firebox", - "block.createindustry.fireclay": "Fireclay", - "block.createindustry.fireproof_brick_reinforcement": "Fireproof Brick Reinforcement", - "block.createindustry.fireproof_bricks": "Fireproof Bricks", - "block.createindustry.flarestack": "Flarestack", - "block.createindustry.formwork_block": "Formwork Block", - "block.createindustry.fossilstone": "Fossilstone", - "block.createindustry.galena": "Galena", - "block.createindustry.galena_pillar": "Galena Pillar", - "block.createindustry.galvanic_cell": "Galvanic Cell", - "block.createindustry.gasoline": "Gasoline", - "block.createindustry.gasoline_engine": "Gasoline Engine", - "block.createindustry.gasoline_engine_back": "Gasoline Engine Back", - "block.createindustry.generator": "Generator", - "block.createindustry.glass_aluminum_pipe": "Glass Aluminum Pipe", - "block.createindustry.glass_brass_pipe": "Glass Brass Pipe", - "block.createindustry.glass_cast_iron_pipe": "Glass Cast Iron Pipe", - "block.createindustry.glass_plastic_pipe": "Glass Plastic Pipe", - "block.createindustry.glass_steel_pipe": "Glass Steel Pipe", - "block.createindustry.gray_caution_block": "Gray Caution Block", - "block.createindustry.gray_concrete": "Gray Concrete", - "block.createindustry.gray_concrete_slab": "Gray Concrete Slab", - "block.createindustry.gray_concrete_stairs": "Gray Concrete Stairs", - "block.createindustry.gray_concrete_wall": "Gray Concrete Wall", - "block.createindustry.green_caution_block": "Green Caution Block", - "block.createindustry.green_concrete": "Green Concrete", - "block.createindustry.green_concrete_slab": "Green Concrete Slab", - "block.createindustry.green_concrete_stairs": "Green Concrete Stairs", - "block.createindustry.green_concrete_wall": "Green Concrete Wall", - "block.createindustry.hardened_planks": "Hardened Planks", - "block.createindustry.hardened_planks_slab": "Hardened Planks Slab", - "block.createindustry.heavy_cable_hub": "Heavy Cable Hub", - "block.createindustry.heavy_casing_door": "Heavy Casing Door", - "block.createindustry.heavy_casing_encased_aluminum_cogwheel": "Heavy Casing Encased Aluminum Cogwheel", - "block.createindustry.heavy_casing_encased_cogwheel": "Heavy Casing Encased Cogwheel", - "block.createindustry.heavy_casing_encased_large_aluminum_cogwheel": "Heavy Casing Encased Large Aluminum Cogwheel", - "block.createindustry.heavy_casing_encased_large_cogwheel": "Heavy Casing Encased Large Cogwheel", - "block.createindustry.heavy_casing_encased_large_steel_cogwheel": "Heavy Casing Encased Large Steel Cogwheel", - "block.createindustry.heavy_casing_encased_shaft": "Heavy Casing Encased Shaft", - "block.createindustry.heavy_casing_encased_steel_cogwheel": "Heavy Casing Encased Steel Cogwheel", - "block.createindustry.heavy_machinery_casing": "Heavy Machinery Casing", - "block.createindustry.heavy_oil": "Heavy Oil", - "block.createindustry.industrial_pipe": "Industrial Pipe", - "block.createindustry.kerosene": "Kerosene", - "block.createindustry.large_aluminum_cogwheel": "Large Aluminum Cogwheel", - "block.createindustry.large_pumpjack_hammer_connector": "Large Pumpjack Hammer Connector", - "block.createindustry.large_pumpjack_hammer_head": "Large Pumpjack Hammer Head", - "block.createindustry.large_pumpjack_hammer_part": "Large Pumpjack Hammer Part", - "block.createindustry.large_radial_engine": "Large Radial Engine", - "block.createindustry.large_steel_cogwheel": "Large Steel Cogwheel", - "block.createindustry.layered_bauxite": "Layered Bauxite", - "block.createindustry.layered_galena": "Layered Galena", - "block.createindustry.lead_bars": "Lead Bars", - "block.createindustry.lead_block": "Block of Lead", - "block.createindustry.lead_flywheel": "Lead Flywheel", - "block.createindustry.lead_frame": "Lead Frame", - "block.createindustry.lead_glass": "Lead Glass", - "block.createindustry.lead_ladder": "Leadder", - "block.createindustry.lead_ore": "Lead Ore", - "block.createindustry.lead_truss": "Lead Truss", - "block.createindustry.light_blue_caution_block": "Light Blue Caution Block", - "block.createindustry.light_blue_concrete": "Light Blue Concrete", - "block.createindustry.light_blue_concrete_slab": "Light Blue Concrete Slab", - "block.createindustry.light_blue_concrete_stairs": "Light Blue Concrete Stairs", - "block.createindustry.light_blue_concrete_wall": "Light Blue Concrete Wall", - "block.createindustry.light_bulb": "Light Bulb", - "block.createindustry.light_gray_caution_block": "Light Gray Caution Block", - "block.createindustry.light_gray_concrete": "Light Gray Concrete", - "block.createindustry.light_gray_concrete_slab": "Light Gray Concrete Slab", - "block.createindustry.light_gray_concrete_stairs": "Light Gray Concrete Stairs", - "block.createindustry.light_gray_concrete_wall": "Light Gray Concrete Wall", - "block.createindustry.lignite": "Lignite", - "block.createindustry.lime_caution_block": "Lime Caution Block", - "block.createindustry.lime_concrete": "Lime Concrete", - "block.createindustry.lime_concrete_slab": "Lime Concrete Slab", - "block.createindustry.lime_concrete_stairs": "Lime Concrete Stairs", - "block.createindustry.lime_concrete_wall": "Lime Concrete Wall", - "block.createindustry.liquid_asphalt": "Liquid Asphalt", - "block.createindustry.liquid_concrete": "Liquid Concrete", - "block.createindustry.liquid_plastic": "Liquid Plastic", - "block.createindustry.lithium_block": "Block of Lithium", - "block.createindustry.lithium_ore": "Lithium Ore", - "block.createindustry.lithium_torch": "Lithium Torch", - "block.createindustry.low_grade_fuel_engine": "Low Grade Fuel Engine", - "block.createindustry.lpg_engine": "Lpg Engine", - "block.createindustry.lpg_engine_back": "Lpg Engine Back", - "block.createindustry.lubrication_oil": "Lubrication Oil", - "block.createindustry.machine_input": "Machine Input", - "block.createindustry.magenta_caution_block": "Magenta Caution Block", - "block.createindustry.magenta_concrete": "Magenta Concrete", - "block.createindustry.magenta_concrete_slab": "Magenta Concrete Slab", - "block.createindustry.magenta_concrete_stairs": "Magenta Concrete Stairs", - "block.createindustry.magenta_concrete_wall": "Magenta Concrete Wall", - "block.createindustry.molten_metal": "Molten Metal", - "block.createindustry.molten_slag": "Molten Slag", - "block.createindustry.molten_steel": "Molten Steel", - "block.createindustry.napalm": "Napalm", - "block.createindustry.napalm_bomb": "Napalm Bomb", - "block.createindustry.naphtha": "Naphtha", - "block.createindustry.neon_tube": "Neon Tube", - "block.createindustry.nickel_bars": "Nickel Bars", - "block.createindustry.nickel_block": "Block of Nickel", - "block.createindustry.nickel_flywheel": "Nickel Flywheel", - "block.createindustry.nickel_frame": "Nickel Frame", - "block.createindustry.nickel_ladder": "Nickel Ladder", - "block.createindustry.nickel_ore": "Nickel Ore", - "block.createindustry.nickel_truss": "Nickel Truss", - "block.createindustry.oil_deposit": "Oil Deposit", - "block.createindustry.orange_caution_block": "Orange Caution Block", - "block.createindustry.orange_concrete": "Orange Concrete", - "block.createindustry.orange_concrete_slab": "Orange Concrete Slab", - "block.createindustry.orange_concrete_stairs": "Orange Concrete Stairs", - "block.createindustry.orange_concrete_wall": "Orange Concrete Wall", - "block.createindustry.pink_caution_block": "Pink Caution Block", - "block.createindustry.pink_concrete": "Pink Concrete", - "block.createindustry.pink_concrete_slab": "Pink Concrete Slab", - "block.createindustry.pink_concrete_stairs": "Pink Concrete Stairs", - "block.createindustry.pink_concrete_wall": "Pink Concrete Wall", - "block.createindustry.plastic_block": "Block of Plastic", - "block.createindustry.plastic_fluid_valve": "Plastic Fluid Valve", - "block.createindustry.plastic_mechanical_pump": "Plastic Mechanical Pump", - "block.createindustry.plastic_pipe": "Plastic Pipe", - "block.createindustry.plastic_smart_fluid_pipe": "Plastic Smart Fluid Pipe", - "block.createindustry.polarizer": "Polarizer", - "block.createindustry.polished_cut_bauxite": "Polished Cut Bauxite", - "block.createindustry.polished_cut_bauxite_slab": "Polished Cut Bauxite Slab", - "block.createindustry.polished_cut_bauxite_stairs": "Polished Cut Bauxite Stairs", - "block.createindustry.polished_cut_bauxite_wall": "Polished Cut Bauxite Wall", - "block.createindustry.polished_cut_galena": "Polished Cut Galena", - "block.createindustry.polished_cut_galena_slab": "Polished Cut Galena Slab", - "block.createindustry.polished_cut_galena_stairs": "Polished Cut Galena Stairs", - "block.createindustry.polished_cut_galena_wall": "Polished Cut Galena Wall", - "block.createindustry.pumpjack_base": "Pumpjack Base", - "block.createindustry.pumpjack_crank": "Pumpjack Crank", - "block.createindustry.pumpjack_hammer": "Pumpjack Hammer Holder", - "block.createindustry.pumpjack_hammer_connector": "Pumpjack Hammer Connector", - "block.createindustry.pumpjack_hammer_head": "Pumpjack Hammer Head", - "block.createindustry.pumpjack_hammer_part": "Pumpjack Hammer Part", - "block.createindustry.purple_caution_block": "Purple Caution Block", - "block.createindustry.purple_concrete": "Purple Concrete", - "block.createindustry.purple_concrete_slab": "Purple Concrete Slab", - "block.createindustry.purple_concrete_stairs": "Purple Concrete Stairs", - "block.createindustry.purple_concrete_wall": "Purple Concrete Wall", - "block.createindustry.radial_engine": "Radial Engine", - "block.createindustry.radial_engine_input": "Radial Engine Input", - "block.createindustry.radial_engine_input_ponder": "Radial Engine Input Ponder", - "block.createindustry.rebar_concrete": "Rebar Concrete", - "block.createindustry.rebar_concrete_slab": "Rebar Concrete Slab", - "block.createindustry.rebar_concrete_stairs": "Rebar Concrete Stairs", - "block.createindustry.rebar_concrete_wall": "Rebar Concrete Wall", - "block.createindustry.rebar_formwork_block": "Rebar Formwork Block", - "block.createindustry.red_caution_block": "Red Caution Block", - "block.createindustry.red_concrete": "Red Concrete", - "block.createindustry.red_concrete_slab": "Red Concrete Slab", - "block.createindustry.red_concrete_stairs": "Red Concrete Stairs", - "block.createindustry.red_concrete_wall": "Red Concrete Wall", - "block.createindustry.resistor": "Resistor", - "block.createindustry.rgb_light_bulb": "Rgb Light Bulb", - "block.createindustry.rotor": "Rotor", - "block.createindustry.small_bauxite_brick_slab": "Small Bauxite Brick Slab", - "block.createindustry.small_bauxite_brick_stairs": "Small Bauxite Brick Stairs", - "block.createindustry.small_bauxite_brick_wall": "Small Bauxite Brick Wall", - "block.createindustry.small_bauxite_bricks": "Small Bauxite Bricks", - "block.createindustry.small_galena_brick_slab": "Small Galena Brick Slab", - "block.createindustry.small_galena_brick_stairs": "Small Galena Brick Stairs", - "block.createindustry.small_galena_brick_wall": "Small Galena Brick Wall", - "block.createindustry.small_galena_bricks": "Small Galena Bricks", - "block.createindustry.stator": "Stator", - "block.createindustry.steel_bars": "Steel Bars", - "block.createindustry.steel_block": "Block of Steel", - "block.createindustry.steel_cable_hub": "Steel Cable Hub", - "block.createindustry.steel_casing": "Steel Casing", - "block.createindustry.steel_casing_cable_hub": "Steel Casing Cable Hub", - "block.createindustry.steel_cogwheel": "Steel Cogwheel", - "block.createindustry.steel_distillation_controller": "Steel Distillation Controller", - "block.createindustry.steel_distillation_output": "Steel Distillation Output", - "block.createindustry.steel_door": "Steel Door", - "block.createindustry.steel_encased_aluminum_cogwheel": "Steel Encased Aluminum Cogwheel", - "block.createindustry.steel_encased_cogwheel": "Steel Encased Cogwheel", - "block.createindustry.steel_encased_large_aluminum_cogwheel": "Steel Encased Large Aluminum Cogwheel", - "block.createindustry.steel_encased_large_cogwheel": "Steel Encased Large Cogwheel", - "block.createindustry.steel_encased_large_steel_cogwheel": "Steel Encased Large Steel Cogwheel", - "block.createindustry.steel_encased_shaft": "Steel Encased Shaft", - "block.createindustry.steel_encased_steel_cogwheel": "Steel Encased Steel Cogwheel", - "block.createindustry.steel_fluid_tank": "Steel Fluid Tank", - "block.createindustry.steel_fluid_valve": "Steel Fluid Valve", - "block.createindustry.steel_flywheel": "Steel Flywheel", - "block.createindustry.steel_frame": "Steel Frame", - "block.createindustry.steel_gearbox": "Steel Gearbox", - "block.createindustry.steel_ladder": "Steel Ladder", - "block.createindustry.steel_mechanical_pump": "Steel Mechanical Pump", - "block.createindustry.steel_pipe": "Steel Pipe", - "block.createindustry.steel_scaffolding": "Steel Scaffolding", - "block.createindustry.steel_smart_fluid_pipe": "Steel Smart Fluid Pipe", - "block.createindustry.steel_truss": "Steel Truss", - "block.createindustry.sulfur": "Sulfur", - "block.createindustry.sulfuric_acid": "Sulfuric Acid", - "block.createindustry.surface_scanner": "Surface Scanner", - "block.createindustry.turbine_engine": "Turbine Engine", - "block.createindustry.turbine_engine_back": "Turbine Engine Back", - "block.createindustry.voltage_cube": "Voltage Cube", - "block.createindustry.voltmeter": "Voltmeter", - "block.createindustry.white_caution_block": "White Caution Block", - "block.createindustry.white_concrete": "White Concrete", - "block.createindustry.white_concrete_slab": "White Concrete Slab", - "block.createindustry.white_concrete_stairs": "White Concrete Stairs", - "block.createindustry.white_concrete_wall": "White Concrete Wall", - "block.createindustry.yellow_caution_block": "Yellow Caution Block", - "block.createindustry.yellow_concrete": "Yellow Concrete", - "block.createindustry.yellow_concrete_slab": "Yellow Concrete Slab", - "block.createindustry.yellow_concrete_stairs": "Yellow Concrete Stairs", - "block.createindustry.yellow_concrete_wall": "Yellow Concrete Wall", - "block.createindustry.zinc_frame": "Zinc Frame", - "block.createindustry.zinc_truss": "Zinc Truss", - - "entity.createindustry.blue_spark": "Blue Spark", - "entity.createindustry.copper_grenade": "Copper Grenade", - "entity.createindustry.green_spark": "Green Spark", - "entity.createindustry.lithium_spark": "Lithium Spark", - "entity.createindustry.napalm_bomb_entity": "Napalm Bomb Entity", - "entity.createindustry.napalm_potato": "Napalm Potato", - "entity.createindustry.pipe_bomb": "Pipe Bomb", - "entity.createindustry.spark": "Spark", - "entity.createindustry.thermite_grenade": "Thermite Grenade", - "entity.createindustry.zinc_grenade": "Zinc Grenade", - - "fluid.createindustry.air": "Air", - "fluid.createindustry.butane": "Butane", - "fluid.createindustry.carbon_dioxide": "Carbon Dioxide", - "fluid.createindustry.cooling_fluid": "Cooling Fluid", - "fluid.createindustry.creosote": "Creosote", - "fluid.createindustry.crude_oil": "Crude Oil", - "fluid.createindustry.diesel": "Diesel", - "fluid.createindustry.ethylene": "Ethylene", - "fluid.createindustry.gasoline": "Gasoline", - "fluid.createindustry.heavy_oil": "Heavy Oil", - "fluid.createindustry.kerosene": "Kerosene", - "fluid.createindustry.liquid_asphalt": "Liquid Asphalt", - "fluid.createindustry.liquid_concrete": "Liquid Concrete", - "fluid.createindustry.liquid_plastic": "Liquid Plastic", - "fluid.createindustry.lpg": "Lpg", - "fluid.createindustry.lubrication_oil": "Lubrication Oil", - "fluid.createindustry.molten_slag": "Molten Slag", - "fluid.createindustry.molten_steel": "Molten Steel", - "fluid.createindustry.napalm": "Napalm", - "fluid.createindustry.naphtha": "Naphtha", - "fluid.createindustry.neon": "Neon", - "fluid.createindustry.propane": "Propane", - "fluid.createindustry.propylene": "Propylene", - "fluid.createindustry.sulfuric_acid": "Sulfuric Acid", - - "item.createindustry.advanced_potato_cannon": "Advanced Potato Cannon", - "item.createindustry.air_bucket": "Air Tank", - "item.createindustry.aluminum_axe": "Aluminum Axe", - "item.createindustry.aluminum_hoe": "Aluminum Hoe", - "item.createindustry.aluminum_ingot": "Aluminum Ingot", - "item.createindustry.aluminum_pickaxe": "Aluminum Pickaxe", - "item.createindustry.aluminum_shovel": "Aluminum Shovel", - "item.createindustry.aluminum_sword": "Aluminum Sword", - "item.createindustry.aluminum_wire": "Aluminum Wire", - "item.createindustry.bitumen": "Bitumen", - "item.createindustry.blasting_mixture": "Blasting Mixture", - "item.createindustry.block_mold": "Block Mold", - "item.createindustry.bottle_of_battery_acid": "Bottle o' Battery Acid", - "item.createindustry.bottle_of_concrete": "Bottle Of Concrete", - "item.createindustry.butane_bucket": "Butane Tank", - "item.createindustry.capacitor_": "Capacitor", - "item.createindustry.carbon_dioxide_bucket": "Carbon Dioxide Tank", - "item.createindustry.cast_iron_ingot": "Cast Iron Ingot", - "item.createindustry.cinderblock": "Cinderblock", - "item.createindustry.cinderflourblock": "Cinderflourblock", - "item.createindustry.coal_coke": "Coal Coke", - "item.createindustry.coal_coke_dust": "Coal Coke Dust", - "item.createindustry.concrete_mixture": "Concrete Mixture", - "item.createindustry.cooling_fluid_bucket": "Cooling Fluid Bucket", - "item.createindustry.copper_cable": "Copper Cable", - "item.createindustry.copper_grenade": "Copper Grenade", - "item.createindustry.copper_sulfate": "Copper Sulfate", - "item.createindustry.copper_wire": "Copper Wire", - "item.createindustry.creosote_bucket": "Creosote Bucket", - "item.createindustry.crude_oil_bucket": "Crude Oil Bucket", - "item.createindustry.diesel_bucket": "Diesel Bucket", - "item.createindustry.engine_base": "Engine Base", - "item.createindustry.engine_chamber": "Engine Chamber", - "item.createindustry.ethylene_bucket": "Ethylene Tank", - "item.createindustry.fireclay_ball": "Fireclay Ball", - "item.createindustry.fireproof_brick": "Fireproof Brick", - "item.createindustry.flamethrower": "Flamethrower", - "item.createindustry.gasoline_bucket": "Gasoline Bucket", - "item.createindustry.heavy_oil_bucket": "Heavy Oil Bucket", - "item.createindustry.heavy_plate": "Heavy Plate", - "item.createindustry.ingot_mold": "Ingot Mold", - "item.createindustry.kerosene_bucket": "Kerosene Bucket", - "item.createindustry.lead_axe": "Lead Axe", - "item.createindustry.lead_hoe": "Lead Hoe", - "item.createindustry.lead_ingot": "Lead Ingot", - "item.createindustry.lead_pickaxe": "Lead Pickaxe", - "item.createindustry.lead_shovel": "Lead Shovel", - "item.createindustry.lead_sword": "Lead Sword", - "item.createindustry.limesand": "Limesand", - "item.createindustry.liquid_asphalt_bucket": "Liquid Asphalt Bucket", - "item.createindustry.liquid_concrete_bucket": "Liquid Concrete Bucket", - "item.createindustry.liquid_plastic_bucket": "Liquid Plastic Bucket", - "item.createindustry.lit_lithium_blade": "Lithium Blade", - "item.createindustry.lithium_blade": "Lithium Blade", - "item.createindustry.lithium_charge": "Lithium Charge", - "item.createindustry.lithium_ingot": "Lithium Ingot", - "item.createindustry.lpg_bucket": "Lpg Tank", - "item.createindustry.lubrication_oil_bucket": "Lubrication Oil Bucket", - "item.createindustry.magnetic_ingot": "Magnetic Ingot", - "item.createindustry.molten_slag_bucket": "Molten Slag Bucket", - "item.createindustry.molten_steel_bucket": "Molten Steel Bucket", - "item.createindustry.napalm_bucket": "Napalm Bucket", - "item.createindustry.napalm_potato": "Napalm Potato", - "item.createindustry.naphtha_bucket": "Naphtha Bucket", - "item.createindustry.neon_bucket": "Neon Tank", - "item.createindustry.nickel_ingot": "Nickel Ingot", - "item.createindustry.nitrate_dust": "Nitrate Dust", - "item.createindustry.pipe_bomb": "Pipe Bomb", - "item.createindustry.plastic_sheet": "Plastic Sheet", - "item.createindustry.propane_bucket": "Propane Tank", - "item.createindustry.propylene_bucket": "Propylene Tank", - "item.createindustry.quad_potato_cannon": "Quad Potato Cannon", - "item.createindustry.raw_lead": "Raw Lead", - "item.createindustry.raw_lithium": "Raw Lithium", - "item.createindustry.raw_nickel": "Raw Nickel", - "item.createindustry.rebar": "Rebar", - "item.createindustry.resistor_": "Resistor", - "item.createindustry.screw": "Screw", - "item.createindustry.screwdriver": "Screwdriver", - "item.createindustry.slag": "Slag", - "item.createindustry.spark_plug": "Spark Plug", - "item.createindustry.steel_axe": "Steel Axe", - "item.createindustry.steel_boots": "Steel Boots", - "item.createindustry.steel_chestplate": "Steel Chestplate", - "item.createindustry.steel_helmet": "Steel Helmet", - "item.createindustry.steel_hoe": "Steel Hoe", - "item.createindustry.steel_ingot": "Steel Ingot", - "item.createindustry.steel_leggings": "Steel Leggings", - "item.createindustry.steel_mechanism": "Steel Mechanism", - "item.createindustry.steel_pickaxe": "Steel Pickaxe", - "item.createindustry.steel_shovel": "Steel Shovel", - "item.createindustry.steel_sword": "Steel Sword", - "item.createindustry.steel_vertical_gearbox": "Steel Vertical Gearbox", - "item.createindustry.sulfur_dust": "Sulfur Dust", - "item.createindustry.sulfuric_acid_bucket": "Sulfuric Acid Bucket", - "item.createindustry.synthetic_leather": "Synthetic Leather", - "item.createindustry.synthetic_string": "Synthetic String", - "item.createindustry.thermite_grenade": "Thermite Grenade", - "item.createindustry.thermite_powder": "Thermite Powder", - "item.createindustry.turbine_blade": "Turbine Blade", - "item.createindustry.unfinished_gasoline_engine": "Unfinished Gasoline Engine", - "item.createindustry.unfinished_lpg_engine": "Unfinished Lpg Engine", - "item.createindustry.unfinished_steel_mechanism": "Unfinished Steel Mechanism", - "item.createindustry.unfinished_turbine_engine": "Unfinished Turbine Engine", - "item.createindustry.unprocessed_heavy_plate": "Unprocessed Heavy Plate", - "item.createindustry.zinc_grenade": "Zinc Grenade", - "item.createindustry.zinc_sulfate": "Zinc Sulfate", - - "itemGroup.createindustry.base": "Create: The Factory Must Grow", - "itemGroup.createindustry.building": "Create: TFMG Building Blocks", - - "create.goggles.misc.number": "%1$s", - "create.goggles.misc.percent_symbol": "%", - "create.goggles.misc.dot_one": ".", - "create.goggles.misc.dot_two": "..", - "create.goggles.misc.dot_three": "...", - "create.goggles.misc.storage_info": "Storage Info:", - "create.goggles.fluid_in_tank": "Tank Contents:", - "create.goggles.surface_scanner.no_rotation": "Machine Unpowered", - "create.goggles.surface_scanner.no_deposit": "No Deposit Found", - "create.goggles.surface_scanner.deposit_found": "Deposit Located!", - "create.goggles.surface_scanner.distance": "Distance: %1$s Blocks", - "create.goggles.surface_scanner.scanning_surface": "Scanning The Surface", - "create.goggles.distillation_tower.status": "Distillation Tower Info:", - "create.goggles.distillation_tower.tank_not_found": "Steel Fluid Tank Not Found", - "create.goggles.distillation_tower.level": "Heat Level: %1$s", - "create.goggles.distillation_tower.found_outputs": "Output Count: %1$s", - "create.goggles.distillation_tower.no_outputs": "No Output Blocks Found", - "create.goggles.blast_furnace.stats": "Blast Furnace:", - "create.goggles.blast_furnace.fuel_amount": "Fuel Amount: %1$s", - "create.goggles.blast_furnace.item_count": "Item Count: %1$s", - "create.goggles.blast_furnace.height": "Height: %1$s", - "create.goggles.blast_furnace.nothing_lol": "", - "create.goggles.blast_furnace.status.off": "Status: Idle", - "create.goggles.blast_furnace.status.running": "Status: Running", - "create.goggles.blast_furnace.diameter.one": "Diameter: 1", - "create.goggles.blast_furnace.diameter.two": "Diameter: 2", - "create.goggles.blast_furnace.invalid": "Blast Furnace Invalid", - "create.goggles.coke_oven.status": "Coke Oven:", - "create.goggles.coke_oven.fluid_amount_output": "Internal Tank Contents: %1$s mb", - "create.goggles.coke_oven.fluid_amount_exhaust": "Carbon Dioxide: %1$s mb", - "create.goggles.coke_oven.item_count": "Internal Storage Item Count: %1$s", - "create.goggles.coke_oven.invalid": "Coke Oven Invalid", - "create.goggles.coke_oven.tank_full": "An Internal Tank is Full", - "create.goggles.coke_oven.progress": "Progress: %1$s", - "create.goggles.engine_stats": "Engine Stats:", - "create.goggles.engine_exhaust_stats": "Engine Exhaust Stats:", - "create.goggles.fuel_container": "Fluid Storage", - "create.goggles.engine.backpartmissing": "Back Part Missing:", - "create.goggles.engine_redstone_input": "Speed:", - "create.goggles.engine.efficiency": "Efficiency:", - - "create.tooltip.engine_analog_strength": "%1$s/15", - - "create.goggles.get_engine_efficiency": "%1$s", - "create.goggles.engine.stress": "%1$ssu", - "create.goggles.diesel_engine.info": "Diesel Engine:", - "create.goggles.pumpjack_info": "Pumpjack Info:", - "create.goggles.pumpjack.part_missing": "Hammer or Crank Missing", - "create.goggles.pumpjack.wrong_rotation1": "The Pumpjack Base is oriented incorrectly, the red marker must", - "create.goggles.pumpjack.wrong_rotation2": "face away from the Pumpjack Hammer Holder", - "create.goggles.pumpjack_fluid_storage": "Fluid Tank Info:", - "create.goggles.pumpjack.fluid_amount": "Fluid Amount:", - "create.goggles.pumpjack.deposit_info": "Deposit Info:", - - "create.pumpjack_deposit_amount": "%1$s Buckets", - - "create.goggles.zero": "Machine Invalid", - "create.goggles.machine_input.info": "Machine Input Info", - "create.goggles.machine_input.no_rot": "No Rotation Provided!", - "create.goggles.machine_input.power_level": "Power Level: ", - "create.goggles.electricity.no_power": "No Power", - "create.goggles.electricity.insufficient_voltage": "Insufficient Voltage", - "create.goggles.voltmeter": "Voltmeter:", - "create.goggles.voltmeter.voltage": " Measured Voltage: %1$s V", - "create.goggles.voltmeter.range": " Measuring Range: %1$s V", - "create.goggles.energy_meter": "Energy Meter:", - "create.goggles.energy_meter.energy": " Energy: %1$s fe", - "create.goggles.motor.usage": "Energy Usage: %1$s fe/t", - "create.goggles.generator.production": "Energy Production: %1$s fe/t", - - "create.resistor.allowed_voltage": "Allowed Voltage", - - "create.creative_generator.voltage_generation": "Voltage Generation", - - "death.attack.createindustry.concrete": "%1$s tried to eat Concrete", - "death.attack.createindustry.concrete.player": "%1$s tried to eat Concrete", - "death.attack.createindustry.acid": "%1$s took an acid bath", - "death.attack.createindustry.acid.player": "%1$s took an acid bath", - - "create.recipe.distillation": "Distillation", - "create.recipe.advanced_distillation": "Advanced Distillation", - "create.recipe.industrial_blasting": "Industrial Blasting", - "create.recipe.casting": "Casting", - "create.recipe.coking": "Coking", - - "item.minecraft.potion.effect.hellfire_potion": "Potion of Hellfire", - "item.minecraft.splash_potion.effect.hellfire_potion": "Splash Potion of Hellfire", - "item.minecraft.lingering_potion.effect.hellfire_potion": "Lingering Potion of Hellfire", - "item.minecraft.tipped_arrow.effect.hellfire_potion": "Arrow of Hellfire", - - "effect.createindustry.hellfire": "Hellfire", - - "create.wires.removed_data": "Data Removed", - - "createindustry.subtitle.engine_sounds": "Engine Sounds", - "createindustry.subtitle.diesel_engine_sounds": "Diesel Engine Sounds", - - "1": "Welcome to whoever was forced to work on this, if you got this file, it means you didn't make enough textures", - - "2": "and its time work on something special OwO, the tooltips to be specific", - - "3": "Good Luck! ;3", - - "UwU": "here are some examples:", - - "comment 1": "WHOEVER WILL WORK ON THIS DONT FORGET TO CHANGE item.createindustry to block.createindustry if needed", - - "comment 2": "open create to see how exactly tooltips look", - - "OwO": "UwU", - - "item.createindustry.item or block name.tooltip.summary": "SUMMARY", - "item.createindustry.item or block name.tooltip.condition1": "if (you right click this block for example)", - "item.createindustry.item or block name.tooltip.behaviour1": "what happens when you do condition above", - "item.createindustry.item or block name.tooltip.condition2": "condition 2", - "item.createindustry.item or block name.tooltip.behaviour2": "-||- :3", - - "createindustry.ponder.small_engines.text_1": "To create a small engine, place the front and back parts adjacent to eachother", - "createindustry.ponder.small_engines.text_2": "Fuel is inputted into the front part, and exhaust must be removed from the back part using pipes and an exhaust block", - "createindustry.ponder.small_engines.text_3": "Applying a redstone signal to the front part starts the engine", - "createindustry.ponder.small_engines.text_4": "Small engines include LPG, kerosene and gasoline engines", - "createindustry.ponder.diesel_engine.text_1": "Diesel Engines are assembled by placing a shaft infront of a Diesel Engine block", - "createindustry.ponder.diesel_engine.text_2": "The engine produces exhaust gas which has to be removed with pipes and an exhaust block", - "createindustry.ponder.diesel_engine.text_3": "Air is needed for the engine to run, so an Air Intake is required", - "createindustry.ponder.diesel_engine_expansion.text_1": "Diesel Engine Expansions can give a Diesel Engine two new input slots, for lubrication and radiator fluids", - "createindustry.ponder.surface_scanner.text_1": "The Surface Scanner is used to locate crude oil deposits", - "createindustry.ponder.surface_scanner.text_2": "Providing the machine with rotational power makes it scan for the nearest deposit", - "createindustry.ponder.surface_scanner.text_3": "If a deposit is found, the compass will point towards its location", - "createindustry.ponder.pumpjack.text_1": "To start extracting Oil, you must first build a pipeline on top of a deposit using Industrial Pipes", - "createindustry.ponder.pumpjack.text_2": "Then, construct a Pumpjack on top of the pipeline by first placing down a Pumpjack Base...", - "createindustry.ponder.pumpjack.text_3": "Placing the Pumpjack Hammer behind it...", - "createindustry.ponder.pumpjack.text_4": "Next step is building the Connector And the Head of the Pumpjack above the crank and the base", - "createindustry.ponder.pumpjack.text_5": "Now they need to be connected with Pumpjack Hammer Parts, keep in mind that superglue is needed to finish the structure", - "createindustry.ponder.pumpjack.text_6": "And finally, placing the Machine Input with a Pumpjack Crank above it, as shown in the scene", - "createindustry.ponder.distillation_tower.text_1": "A sufficiently large Steel Fluid Tank can be turned into a Distillation Tower", - "createindustry.ponder.distillation_tower.text_2": "The tower is assembled by first placing a Steel Distillation Tower Controller next to the tank...", - "createindustry.ponder.distillation_tower.text_3": "And placing up to 6 Distillation Tower Outputs, all connected with Industrial Pipes", - "createindustry.ponder.distillation_tower.text_4": "Blaze Burners are required to run the Distillation Tower. The dial displays current power levels", - "createindustry.ponder.distillation_tower.text_5": "To input Crude Oil, it must be pumped into the controller block", - "createindustry.ponder.distillation_tower.text_6": "Each output block provides one of the Oil byproducts", - "createindustry.ponder.distillation_tower.text_7": "LPG", - "createindustry.ponder.distillation_tower.text_8": "Gasoline", - "createindustry.ponder.distillation_tower.text_9": "Naphtha", - "createindustry.ponder.distillation_tower.text_10": "Kerosene", - "createindustry.ponder.distillation_tower.text_11": "Diesel", - "createindustry.ponder.distillation_tower.text_12": "Heavy Oil", - "createindustry.ponder.blast_furnace.text_1": "The base of the Blast Furnace is a Blast Furnace Output block", - "createindustry.ponder.blast_furnace.text_2": "To assemble a Blast Furnace, construct a chimney using Fireproof Bricks as shown in the scene", - "createindustry.ponder.blast_furnace.text_3": "The bottom half of the chimney requires to be reinforced", - "createindustry.ponder.blast_furnace.text_4": "Fuel and other items are inserted through the opening at the top", - "createindustry.ponder.coke_oven.text_1": "The Coke Oven is built by placing Coke Oven blocks as shown in the scene, and clicking its side with a wrench", - "createindustry.ponder.coke_oven.text_2": "The process of coking is slow, so it is more efficient to have long arrays of ovens working simultaneously", - "createindustry.ponder.coke_oven.text_3": "Coal can be inputted from any side", - "createindustry.ponder.coke_oven.text_4": "While running, the oven produces Creosote and CO2 which have to be pumped out for it to function", - "createindustry.ponder.coke_oven.text_5": "Once done, Coal Coke will drop out of the opening", - "createindustry.ponder.casting.text_1": "Casting is the process of pouring liquid metal into a Casting Basin using a Casting Spout", - "createindustry.ponder.casting.text_2": "The Casting Basin, obviously, requires a mold to function", - "createindustry.ponder.radial_engines.text_1": "Radial Engines are a special Type of Engine that doesn't require an exhaust block and has a shaft from both sides", - "createindustry.ponder.radial_engines.text_2": "Clicking the Engine from one of its sides will spawn an input slot that can accept fuel and redstone signals", - "createindustry.ponder.radial_engines.text_3": "Regular Radial Engines uses gasoline as fuel", - "createindustry.ponder.radial_engines.text_4": "Engine will start when redstone signal is applied to the input slot or the block itself", - "createindustry.ponder.radial_engines.text_5": "The second variant of a radial is The Large Radial Engine which uses kerosene as fuel", - "createindustry.ponder.large_generator.text_1": "The main of the Large Generator is the Rotor", - "createindustry.ponder.large_generator.text_2": "To complete the Large Generator, place Stator block around the Rotor", - "createindustry.ponder.large_generator.text_3": "Providing rotational power to the Rotor will produce electric energy", - "createindustry.ponder.large_generator.text_4": "Clicking a side with a wrench will make it the energy output", - - "createindustry.ponder.distillation_tower.header": "Distillation Tower Setup", - - "createindustry.ponder.pumpjack.header": "Building Pumpjacks", - - "createindustry.ponder.surface_scanner.header": "Locating Oil", - - "createindustry.ponder.diesel_engine.header": "Building a Diesel Engine", - - "createindustry.ponder.diesel_engine_expansion.header": "Expanding Diesel Engines", - - "createindustry.ponder.small_engines.header": "Building Small Engines", - - "createindustry.ponder.radial_engines.header": "Using Radial Engines", - - "createindustry.ponder.coke_oven.header": "Building a Coke Oven", - - "createindustry.ponder.blast_furnace.header": "Building a Blast Furnace", - - "createindustry.ponder.casting.header": "Casting Metal", - "createindustry.ponder.tag.oil": "Oil Related Machines", - "createindustry.ponder.tag.metallurgy": "Metal Processing", - "createindustry.ponder.tag.oil.description": "Machines that extract, process or use Crude Oil and its byproducts", - "createindustry.ponder.tag.metallurgy.description": "Machines that produce, process or use Metal and raw materials as such", - - "item.createindustry.quad_potato_cannon.tooltip.summary": "Launches 4 of your home-grown vegetables at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", - "item.createindustry.quad_potato_cannon.tooltip.condition1": "When R-Clicked", - "item.createindustry.quad_potato_cannon.tooltip.behaviour1": "_Shoots_ a suitable item from your _Inventory_.", - "item.createindustry.quad_potato_cannon.tooltip.condition2": "While wearing Backtank", - "item.createindustry.quad_potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", - "item.createindustry.advanced_potato_cannon.tooltip.summary": "Launches _Napalm Potatoes_ at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", - "item.createindustry.advanced_potato_cannon.tooltip.condition1": "When R-Clicked", - "item.createindustry.advanced_potato_cannon.tooltip.behaviour1": "_Shoots_ a _Napalm Potato_ from your _Inventory_.", - "item.createindustry.advanced_potato_cannon.tooltip.condition2": "While wearing Backtank", - "item.createindustry.advanced_potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", - "item.createindustry.flamethrower.tooltip.summary": "Burns burnable _Gases_ and _Fluids_ to shoot out a burst of flame to burn your Enemies", - "item.createindustry.flamethrower.tooltip.condition1": "When R-Clicked", - "item.createindustry.flamethrower.tooltip.behaviour1": "_Shoots out Flames_ ", - "item.createindustry.flamethrower.tooltip.condition2": "When R-Clicking a Fluid Tank with a Burnable Fluid/Gas inside", - "item.createindustry.flamethrower.tooltip.behaviour2": "The _Fuel_ will be consumed from the tank. _Range_ and _Spread_ change according to your _Fuel_ of choice", - "item.createindustry.lithium_blade.tooltip.summary": "Using _Steel Ingot_Lithium Charges_, this Blade is set aflame burning enemies and shooting out Bolts of _Hellfire_", - "item.createindustry.lithium_blade.tooltip.condition1": "When R-Clicked when Off", - "item.createindustry.lithium_blade.tooltip.behaviour1": "Is set on hellfire, consuming a _Lithium Charge_. Its flame sets enemies on fire for a set amount of time, this fire is renewed even after Enemy extinguishes themself in water ", - "item.createindustry.lithium_blade.tooltip.condition2": "When R-Clicking when On", - "item.createindustry.lithium_blade.tooltip.behaviour2": "Shoots out several bolts of _Hellfire_ consuming the blades charge", - "item.createindustry.pipebomb.tooltip.summary": "So cool", - "item.createindustry.screwdriver.tooltip.summary": "Can lock pipes in place", - "item.createindustry.screwdriver.tooltip.condition1": "When R-Clicking pipe", - "item.createindustry.screwdriver.tooltip.behaviour1": "Locks _Pipe_ in its current rotation allowing for _Pipes_ to be placed next to eachother _Without Connecting_", - - "block.createindustry.formwork_block.tooltip.summary": "Holds Liquid Concrete until it turns into concrete blocks", - "block.createindustry.formwork_block.tooltip.condition1": "When Pumped concrete into", - "block.createindustry.formwork_block.tooltip.behaviour1": "Fills out with _Liquid Concrete_, this Concrete eventually turns into solid blocks", - "block.createindustry.rebar_formwork_block.tooltip.summary": "Holds Liquid Concrete until it turns into rebar concrete blocks", - "block.createindustry.rebar_formwork_block.tooltip.condition1": "When Pumped concrete into", - "block.createindustry.rebar_formwork_block.tooltip.behaviour1": "Fills out with _Liquid Concrete_, this concrete eventually turns into solid rebar concrete blocks", - "block.createindustry.firebox.tooltip.summary": "Uses burnables to function as a blaze burner", - "block.createindustry.firebox.condition1": "When inputted burnables into", - "block.createindustry.firebox.tooltip.behaviour1": "The _Firebox_ will act as a _Blaze Burner_ until it runs out of fuel, there is no way to superheat it", - "block.createindustry.polarizer.tooltip.summary": "Makes Magnetic Ingots out of Steel", - "block.createindustry.polarizer.condition1": "When powered", - "block.createindustry.polarizer.tooltip.behaviour1": "Will turn a _Steel Ingot_ into a _Magnetic Ingot_ when right clicked with a _Steel Ingot_", - "block.createindustry.energy_meter.tooltip.summary": "Measures energy", - "block.createindustry.energy_meter.condition1": "When put on Power Source", - "block.createindustry.energy_meter.tooltip.behaviour1": "Measures the _Energy_ of the _Power Source_", - "block.createindustry.energy_meter.condition2": "When looked on with Engineer's Goggles", - "block.createindustry.energy_meter.tooltip.behaviour2": "Shows detailed info on the sources energy", - "block.createindustry.voltmeter.tooltip.summary": "Measures voltage", - "block.createindustry.voltmeter.condition1": "When put on Power Source", - "block.createindustry.voltmeter.tooltip.behaviour1": "Measures the _Voltage_ of the _Power Source_ the max energy on the _Voltmeter_ is determined by its _Measuring Range_", - "block.createindustry.voltmeter.condition2": "When looked on with Engineer's Goggles", - "block.createindustry.voltmeter.tooltip.behaviour2": "Shows detailed info on the sources _Voltage_ as well as the Voltmeters _Measuring Range_", - "block.createindustry.voltmeter.condition3": "When R-Clicked with Wrench", - "block.createindustry.voltmeter.tooltip.behaviour3": "Changes the _Measuring Range_", - "block.createindustry.converter.tooltip.summary": "Makes other mods compatible with TFMG by adding voltage", - "block.createindustry.converter.condition1": "When Put FE from Bottom", - "block.createindustry.converter.behaviour1": "The _Top_ outputs FE With _Voltage_ making it usable with _TFMG_", - "block.createindustry.light_bulb.tooltip.summary": "Glows when Powered", - "block.createindustry.light_bulb.condition1": "When put on Power Source", - "block.createindustry.light_bulb.behaviour1": "The lightbulb will _Glow_ if _Voltage_ and _Energy_ are balanced, the higher the _Voltage_, the stronger the glow", - "block.createindustry.rgb_light_bulb.tooltip.summary": "Glows in a certain color when Powered", - "block.createindustry.rgb_light_bulb.condition1": "When put on Power Source", - "block.createindustry.rgb_light_bulb.behaviour1": "The lightbulb will _Glow_ if _Voltage_ and _Energy_ are balanced, the higher the _Voltage_, the stronger the glow", - "block.createindustry.rgb_light_bulb.condition2": "When R-Clicked with Wrench", - "block.createindustry.rgb_light_bulb.behaviour2": "Cycles through colors", - "block.createindustry.creative_generator.tooltip.summary": "Outputs energy based on the value on its input panel", - "block.createindustry.cable connector.tooltip.summary": "Right click 2 cable connectors with a _Copper Cable_ amking them transport _Energy_", - "block.createindustry.lithium_torch.tooltip.summary": "Works underwater and can be placed upside down", - "block.createindustry.cable_tube.tooltip.summary": "Transports Energy like a Cable", - "block.createindustry.diagonal_cable_block.tooltip.summary": "Transports Energy like a Cable (But diagonally)", - "block.createindustry.capacitor.tooltip.summary": "Holds a Small Amount of energy (inserted from bottom) that can be outputted Quickly from the Top", - "block.createindustry.accumulator.tooltip.summary": "Holds a Large Amount of energy (inserted from bottom) that can be outputted Slowly from the Top", - "block.createindustry.electric_motor.tooltip.summary": "Changes energy to rotation (rpm configurable on side)", - "block.createindustry.generator.tooltip.summary": "Changes rotation to energy", - "block.createindustry.copper_coil.tooltip.summary": "Increases Voltage", - "block.createindustry.copper_coil.tooltip.behaviour1": "To increase voltage you have to have to towers of coils either next to or one block from eachother, one atleast 1 block larger than the other, both max 5 blocks in height and with their top blocks touching. R-Click the top block in the larger tower with a wrench to make it the output. Energy is both inputted and outputted on the top of their respective towers", - "block.createindustry.flarestack.tooltip.summary": "Burns unneeded oil products", - "block.createindustry.flarestack.tooltip.condition1": "When Pumped burnable Fluids/Gases into from the bottom", - "block.createindustry.flarestack.tooltip.behaviour1": "Deletes what is pumped inside", - "block.createindustry.resistor.tooltip.summary": "Reduces voltage", - "block.createindustry.resistor.tooltip.condition1": "When Put Energy into from the back (where strip of lead is smaller on top of the texture)", - "block.createindustry.resistor.tooltip.behaviour1": "Outputs energy with voltage based on its allowed voltage (configurable on top) on front", - "block.createindustry.galvanic_cell.tooltip.summary": "Has a small amount of unchargable energy inside, ideal for starting your venture into electricity", - "block.createindustry.neon_tube.tooltip.summary": "Glows in a certain color when Powered", - "block.createindustry.neon_tube.condition1": "When put on Power Source", - "block.createindustry.neon_tube.behaviour1": "The tube will _Glow_ ", - "block.createindustry.neon_tube.condition2": "When R-Clicked with Dye", - "block.createindustry.neon_tube.behaviour2": "Changes Color", - "block.createindustry.low_grade_fuel_engine.tooltip.summary": "Makes Rotation from Creosote", - "block.createindustry.low_grade_fuel_engine.condition1": "When Pumped Creosote into", - "block.createindustry.low_grade_fuel_engine.behaviour1": "Will output a small amount of _RPM_ based on the strength of the _Redstone Signal_ inputted into it", - "block.createindustry.compact_engine.tooltip.summary": "Makes Rotation from Gasoline", - "block.createindustry.compact_engine.condition1": "When Gasoline Creosote into", - "block.createindustry.compact_engine.behaviour1": "Will output _RPM_ based on the strength of the _Redstone Signal_ inputted into it", - "block.createindustry.fireclay.tooltip.summary": "It is found in underground veins in the overworld", - - "createindustry.ponder.large_generator.header": "Building a Large Generator", - - "item.createindustry.pipe_bomb.tooltip.summary": "So cool", - - "block.createindustry.copper_cable_hub.tooltip.summary": "Can be turned off with redstone", - "block.createindustry.aluminium_cable_hub.tooltip.summary": "Can be turned off with redstone", - "block.createindustry.brass_cable_hub.tooltip.summary": "Can be turned off with redstone", - "block.createindustry.steel_cable_hub.tooltip.summary": "Can be turned off with redstone", - "block.createindustry.heavy_cable_hub.tooltip.summary": "Can be turned off with redstone", - "block.createindustry.steel_casing_cable_hub.tooltip.summary": "Can be turned off with redstone", - "block.createindustry.copycat_cable_block.tooltip.summary": "Can be turned off with redstone", - - - "_": "->------------------------] UI & Messages [------------------------<-", - - "itemGroup.createindustry.base": "Create: The Factory Must Grow", - "itemGroup.createindustry.building": "Create: TFMG Building Blocks", - - "create.goggles.misc.number": "%1$s", - "create.goggles.misc.percent_symbol": "%", - "create.goggles.misc.dot_one": ".", - "create.goggles.misc.dot_two": "..", - "create.goggles.misc.dot_three": "...", - "create.goggles.misc.storage_info": "Storage Info:", - "create.goggles.fluid_in_tank": "Tank Contents:", - "create.goggles.surface_scanner.no_rotation": "Machine Unpowered", - "create.goggles.surface_scanner.no_deposit": "No Deposit Found", - "create.goggles.surface_scanner.deposit_found": "Deposit Located!", - "create.goggles.surface_scanner.distance": "Distance: %1$s Blocks", - "create.goggles.surface_scanner.scanning_surface": "Scanning The Surface", - "create.goggles.distillation_tower.status": "Distillation Tower Info:", - "create.goggles.distillation_tower.tank_not_found": "Steel Fluid Tank Not Found", - "create.goggles.distillation_tower.level": "Heat Level: %1$s", - "create.goggles.distillation_tower.found_outputs": "Output Count: %1$s", - "create.goggles.distillation_tower.no_outputs": "No Output Blocks Found", - "create.goggles.blast_furnace.stats": "Blast Furnace:", - "create.goggles.blast_furnace.fuel_amount": "Fuel Amount: %1$s", - "create.goggles.blast_furnace.item_count": "Item Count: %1$s", - "create.goggles.blast_furnace.height": "Height: %1$s", - "create.goggles.blast_furnace.nothing_lol": "", - "create.goggles.blast_furnace.status.off": "Status: Idle", - "create.goggles.blast_furnace.status.running": "Status: Running", - "create.goggles.blast_furnace.diameter.one": "Diameter: 1", - "create.goggles.blast_furnace.diameter.two": "Diameter: 2", - "create.goggles.blast_furnace.invalid": "Blast Furnace Invalid", - "create.goggles.coke_oven.status": "Coke Oven:", - "create.goggles.coke_oven.fluid_amount_output": "Internal Tank Contents: %1$s mb", - "create.goggles.coke_oven.fluid_amount_exhaust": "Carbon Dioxide: %1$s mb", - "create.goggles.coke_oven.item_count": "Internal Storage Item Count: %1$s", - "create.goggles.coke_oven.invalid": "Coke Oven Invalid", - "create.goggles.coke_oven.tank_full": "An Internal Tank is Full", - "create.goggles.coke_oven.progress": "Progress: %1$s", - "create.goggles.engine_stats": "Engine Stats:", - "create.goggles.engine_exhaust_stats": "Engine Exhaust Stats:", - "create.goggles.fuel_container": "Fluid Storage", - "create.goggles.engine.backpartmissing": "Back Part Missing:", - "create.goggles.engine_redstone_input": "Speed:", - "create.goggles.engine.efficiency": "Efficiency:", - - "create.tooltip.engine_analog_strength": "%1$s/15", - - "create.goggles.get_engine_efficiency": "%1$s", - "create.goggles.engine.stress": "%1$ssu", - "create.goggles.diesel_engine.info": "Diesel Engine:", - "create.goggles.pumpjack_info": "Pumpjack Info:", - "create.goggles.pumpjack.part_missing": "Hammer or Crank Missing", - "create.goggles.pumpjack.wrong_rotation1": "The Pumpjack Base is oriented incorrectly, the red marker must", - "create.goggles.pumpjack.wrong_rotation2": "face away from the Pumpjack Hammer Holder", - "create.goggles.pumpjack_fluid_storage": "Fluid Tank Info:", - "create.goggles.pumpjack.fluid_amount": "Fluid Amount:", - "create.goggles.pumpjack.deposit_info": "Deposit Info:", - - "create.pumpjack_deposit_amount": "%1$s Buckets", - - "create.goggles.zero": "Machine Invalid", - "create.goggles.machine_input.info": "Machine Input Info", - "create.goggles.machine_input.no_rot": "No Rotation Provided!", - "create.goggles.machine_input.power_level": "Power Level: ", - "create.goggles.electric_machine.no_power": "No Power", - "create.goggles.electricity.insufficient_voltage": "Insufficient Voltage", - "create.goggles.voltmeter": "Voltmeter:", - "create.goggles.voltmeter.voltage": " Measured Voltage: %1$s V", - "create.goggles.voltmeter.range": " Measuring Range: %1$s V", - "create.goggles.energy_meter": "Energy Meter:", - "create.goggles.energy_meter.energy": " Energy: %1$s fe", - "create.goggles.motor.usage": "Energy Usage: %1$s fe/t", - "create.goggles.generator.production": "Energy Production: %1$s fe/t", - - "create.resistor.allowed_voltage": "Allowed Voltage", - - "create.creative_generator.voltage_generation": "Voltage Generation", - - "death.attack.createindustry.concrete": "%1$s tried to eat Concrete", - "death.attack.createindustry.concrete.player": "%1$s tried to eat Concrete", - "death.attack.createindustry.acid": "%1$s took an acid bath", - "death.attack.createindustry.acid.player": "%1$s took an acid bath", - - "create.recipe.distillation": "Distillation", - "create.recipe.advanced_distillation": "Advanced Distillation", - "create.recipe.industrial_blasting": "Industrial Blasting", - "create.recipe.casting": "Casting", - "create.recipe.coking": "Coking", - - "item.minecraft.potion.effect.hellfire_potion": "Potion of Hellfire", - "item.minecraft.splash_potion.effect.hellfire_potion": "Splash Potion of Hellfire", - "item.minecraft.lingering_potion.effect.hellfire_potion": "Lingering Potion of Hellfire", - "item.minecraft.tipped_arrow.effect.hellfire_potion": "Arrow of Hellfire", - - "effect.createindustry.hellfire": "Hellfire", - - "create.wires.removed_data": "Data Removed", - - "createindustry.subtitle.engine_sounds": "Engine Sounds", - "createindustry.subtitle.diesel_engine_sounds": "Diesel Engine Sounds", - - - "_": "->------------------------] Tooltips [------------------------<-", - - "OwO": "UwU", - - "item.createindustry.quad_potato_cannon.tooltip.summary": "Launches 4 of your home-grown vegetables at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", - "item.createindustry.quad_potato_cannon.tooltip.condition1": "When R-Clicked", - "item.createindustry.quad_potato_cannon.tooltip.behaviour1": "_Shoots_ a suitable item from your _Inventory_.", - "item.createindustry.quad_potato_cannon.tooltip.condition2": "While wearing Backtank", - "item.createindustry.quad_potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", - "item.createindustry.advanced_potato_cannon.tooltip.summary": "Launches _Napalm Potatoes_ at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", - "item.createindustry.advanced_potato_cannon.tooltip.condition1": "When R-Clicked", - "item.createindustry.advanced_potato_cannon.tooltip.behaviour1": "_Shoots_ a _Napalm Potato_ from your _Inventory_.", - "item.createindustry.advanced_potato_cannon.tooltip.condition2": "While wearing Backtank", - "item.createindustry.advanced_potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", - "item.createindustry.flamethrower.tooltip.summary": "Burns burnable _Gases_ and _Fluids_ to shoot out a burst of flame to burn your Enemies", - "item.createindustry.flamethrower.tooltip.condition1": "When R-Clicked", - "item.createindustry.flamethrower.tooltip.behaviour1": "_Shoots out Flames_ ", - "item.createindustry.flamethrower.tooltip.condition2": "When R-Clicking a Fluid Tank with a Burnable Fluid/Gas inside", - "item.createindustry.flamethrower.tooltip.behaviour2": "The _Fuel_ will be consumed from the tank. _Range_ and _Spread_ change according to your _Fuel_ of choice", - "item.createindustry.lithium_blade.tooltip.summary": "Using _Steel Ingot_Lithium Charges_, this Blade is set aflame burning enemies and shooting out Bolts of _Hellfire_", - "item.createindustry.lithium_blade.tooltip.condition1": "When R-Clicked when Off", - "item.createindustry.lithium_blade.tooltip.behaviour1": "Is set on hellfire, consuming a _Lithium Charge_. Its flame sets enemies on fire for a set amount of time, this fire is renewed even after Enemy extinguishes themself in water ", - "item.createindustry.lithium_blade.tooltip.condition2": "When R-Clicking when On", - "item.createindustry.lithium_blade.tooltip.behaviour2": "Shoots out several bolts of _Hellfire_ consuming the blades charge", - "item.createindustry.pipebomb.tooltip.summary": "So cool", - "item.createindustry.screwdriver.tooltip.summary": "Can lock pipes in place", - "item.createindustry.screwdriver.tooltip.condition1": "When R-Clicking pipe", - "item.createindustry.screwdriver.tooltip.behaviour1": "Locks _Pipe_ in its current rotation allowing for _Pipes_ to be placed next to eachother _Without Connecting_", - - "block.createindustry.formwork_block.tooltip.summary": "Holds Liquid Concrete until it turns into concrete blocks", - "block.createindustry.formwork_block.tooltip.condition1": "When Pumped concrete into", - "block.createindustry.formwork_block.tooltip.behaviour1": "Fills out with _Liquid Concrete_, this Concrete eventually turns into solid blocks", - "block.createindustry.rebar_formwork_block.tooltip.summary": "Holds Liquid Concrete until it turns into rebar concrete blocks", - "block.createindustry.rebar_formwork_block.tooltip.condition1": "When Pumped concrete into", - "block.createindustry.rebar_formwork_block.tooltip.behaviour1": "Fills out with _Liquid Concrete_, this concrete eventually turns into solid rebar concrete blocks", - "block.createindustry.firebox.tooltip.summary": "Uses burnables to function as a blaze burner", - "block.createindustry.firebox.condition1": "When inputted burnables into", - "block.createindustry.firebox.tooltip.behaviour1": "The _Firebox_ will act as a _Blaze Burner_ until it runs out of fuel, there is no way to superheat it", - "block.createindustry.polarizer.tooltip.summary": "Makes Magnetic Ingots out of Steel", - "block.createindustry.polarizer.condition1": "When powered", - "block.createindustry.polarizer.tooltip.behaviour1": "Will turn a _Steel Ingot_ into a _Magnetic Ingot_ when right clicked with a _Steel Ingot_", - "block.createindustry.energy_meter.tooltip.summary": "Measures energy", - "block.createindustry.energy_meter.condition1": "When put on Power Source", - "block.createindustry.energy_meter.tooltip.behaviour1": "Measures the _Energy_ of the _Power Source_", - "block.createindustry.energy_meter.condition2": "When looked on with Engineer's Goggles", - "block.createindustry.energy_meter.tooltip.behaviour2": "Shows detailed info on the sources energy", - "block.createindustry.voltmeter.tooltip.summary": "Measures voltage", - "block.createindustry.voltmeter.condition1": "When put on Power Source", - "block.createindustry.voltmeter.tooltip.behaviour1": "Measures the _Voltage_ of the _Power Source_ the max energy on the _Voltmeter_ is determined by its _Measuring Range_", - "block.createindustry.voltmeter.condition2": "When looked on with Engineer's Goggles", - "block.createindustry.voltmeter.tooltip.behaviour2": "Shows detailed info on the sources _Voltage_ as well as the Voltmeters _Measuring Range_", - "block.createindustry.voltmeter.condition3": "When R-Clicked with Wrench", - "block.createindustry.voltmeter.tooltip.behaviour3": "Changes the _Measuring Range_", - "block.createindustry.converter.tooltip.summary": "Makes other mods compatible with TFMG by adding voltage", - "block.createindustry.converter.condition1": "When Put FE from Bottom", - "block.createindustry.converter.behaviour1": "The _Top_ outputs FE With _Voltage_ making it usable with _TFMG_", - "block.createindustry.light_bulb.tooltip.summary": "Glows when Powered", - "block.createindustry.light_bulb.condition1": "When put on Power Source", - "block.createindustry.light_bulb.behaviour1": "The lightbulb will _Glow_ if _Voltage_ and _Energy_ are balanced, the higher the _Voltage_, the stronger the glow", - "block.createindustry.rgb_light_bulb.tooltip.summary": "Glows in a certain color when Powered", - "block.createindustry.rgb_light_bulb.condition1": "When put on Power Source", - "block.createindustry.rgb_light_bulb.behaviour1": "The lightbulb will _Glow_ if _Voltage_ and _Energy_ are balanced, the higher the _Voltage_, the stronger the glow", - "block.createindustry.rgb_light_bulb.condition2": "When R-Clicked with Wrench", - "block.createindustry.rgb_light_bulb.behaviour2": "Cycles through colors", - "block.createindustry.creative_generator.tooltip.summary": "Outputs energy based on the value on its input panel", - "block.createindustry.cable connector.tooltip.summary": "Right click 2 cable connectors with a _Copper Cable_ amking them transport _Energy_", - "block.createindustry.lithium_torch.tooltip.summary": "Works underwater and can be placed upside down", - "block.createindustry.cable_tube.tooltip.summary": "Transports Energy like a Cable", - "block.createindustry.diagonal_cable_block.tooltip.summary": "Transports Energy like a Cable (But diagonally)", - "block.createindustry.capacitor.tooltip.summary": "Holds a Small Amount of energy (inserted from bottom) that can be outputted Quickly from the Top", - "block.createindustry.accumulator.tooltip.summary": "Holds a Large Amount of energy (inserted from bottom) that can be outputted Slowly from the Top", - "block.createindustry.electric_motor.tooltip.summary": "Changes energy to rotation (rpm configurable on side)", - "block.createindustry.generator.tooltip.summary": "Changes rotation to energy", - "block.createindustry.copper_coil.tooltip.summary": "Increases Voltage", - "block.createindustry.copper_coil.tooltip.behaviour1": "To increase voltage you have to have to towers of coils either next to or one block from eachother, one atleast 1 block larger than the other, both max 5 blocks in height and with their top blocks touching. R-Click the top block in the larger tower with a wrench to make it the output. Energy is both inputted and outputted on the top of their respective towers", - "block.createindustry.flarestack.tooltip.summary": "Burns unneeded oil products", - "block.createindustry.flarestack.tooltip.condition1": "When Pumped burnable Fluids/Gases into from the bottom", - "block.createindustry.flarestack.tooltip.behaviour1": "Deletes what is pumped inside", - "block.createindustry.resistor.tooltip.summary": "Reduces voltage", - "block.createindustry.resistor.tooltip.condition1": "When Put Energy into from the back (where strip of lead is smaller on top of the texture)", - "block.createindustry.resistor.tooltip.behaviour1": "Outputs energy with voltage based on its allowed voltage (configurable on top) on front", - "block.createindustry.galvanic_cell.tooltip.summary": "Has a small amount of unchargable energy inside, ideal for starting your venture into electricity", - "block.createindustry.neon_tube.tooltip.summary": "Glows in a certain color when Powered", - "block.createindustry.neon_tube.condition1": "When put on Power Source", - "block.createindustry.neon_tube.behaviour1": "The tube will _Glow_ ", - "block.createindustry.neon_tube.condition2": "When R-Clicked with Dye", - "block.createindustry.neon_tube.behaviour2": "Changes Color", - "block.createindustry.low_grade_fuel_engine.tooltip.summary": "Makes Rotation from Creosote", - "block.createindustry.low_grade_fuel_engine.condition1": "When Pumped Creosote into", - "block.createindustry.low_grade_fuel_engine.behaviour1": "Will output a small amount of _RPM_ based on the strength of the _Redstone Signal_ inputted into it", - "block.createindustry.compact_engine.tooltip.summary": "Makes Rotation from Gasoline", - "block.createindustry.compact_engine.condition1": "When Gasoline Creosote into", - "block.createindustry.compact_engine.behaviour1": "Will output _RPM_ based on the strength of the _Redstone Signal_ inputted into it", - "block.createindustry.fireclay.tooltip.summary": "It is found in underground veins in the overworld", - "block.createindustry.copper_cable_hub.tooltip.summary": "Can be turned off with redstone", - "block.createindustry.aluminium_cable_hub.tooltip.summary": "Can be turned off with redstone", - "block.createindustry.brass_cable_hub.tooltip.summary": "Can be turned off with redstone", - "block.createindustry.steel_cable_hub.tooltip.summary": "Can be turned off with redstone", - "block.createindustry.heavy_cable_hub.tooltip.summary": "Can be turned off with redstone", - "block.createindustry.steel_casing_cable_hub.tooltip.summary": "Can be turned off with redstone", - "block.createindustry.copycat_cable_block.tooltip.summary": "Can be turned off with redstone", - - - "_": "->------------------------] Ponders [------------------------<-", - - "createindustry.ponder.small_engines.text_1": "To create a small engine, place the front and back parts adjacent to eachother", - "createindustry.ponder.small_engines.text_2": "Fuel is inputted into the front part, and exhaust must be removed from the back part using pipes and an exhaust block", - "createindustry.ponder.small_engines.text_3": "Applying a redstone signal to the front part starts the engine", - "createindustry.ponder.small_engines.text_4": "Small engines include LPG, kerosene and gasoline engines", - "createindustry.ponder.diesel_engine.text_1": "Diesel Engines are assembled by placing a shaft infront of a Diesel Engine block", - "createindustry.ponder.diesel_engine.text_2": "The engine produces exhaust gas which has to be removed with pipes and an exhaust block", - "createindustry.ponder.diesel_engine.text_3": "Air is needed for the engine to run, so an Air Intake is required", - "createindustry.ponder.diesel_engine_expansion.text_1": "Diesel Engine Expansions can give a Diesel Engine two new input slots, for lubrication and radiator fluids", - "createindustry.ponder.surface_scanner.text_1": "The Surface Scanner is used to locate crude oil deposits", - "createindustry.ponder.surface_scanner.text_2": "Providing the machine with rotational power makes it scan for the nearest deposit", - "createindustry.ponder.surface_scanner.text_3": "If a deposit is found, the compass will point towards its location", - "createindustry.ponder.pumpjack.text_1": "To start extracting Oil, you must first build a pipeline on top of a deposit using Industrial Pipes", - "createindustry.ponder.pumpjack.text_2": "Then, construct a Pumpjack on top of the pipeline by first placing down a Pumpjack Base...", - "createindustry.ponder.pumpjack.text_3": "Placing the Pumpjack Hammer behind it...", - "createindustry.ponder.pumpjack.text_4": "Next step is building the Connector And the Head of the Pumpjack above the crank and the base", - "createindustry.ponder.pumpjack.text_5": "Now they need to be connected with Pumpjack Hammer Parts, keep in mind that superglue is needed to finish the structure", - "createindustry.ponder.pumpjack.text_6": "And finally, placing the Machine Input with a Pumpjack Crank above it, as shown in the scene", - "createindustry.ponder.distillation_tower.text_1": "A sufficiently large Steel Fluid Tank can be turned into a Distillation Tower", - "createindustry.ponder.distillation_tower.text_2": "The tower is assembled by first placing a Steel Distillation Tower Controller next to the tank...", - "createindustry.ponder.distillation_tower.text_3": "And placing up to 6 Distillation Tower Outputs, all connected with Industrial Pipes", - "createindustry.ponder.distillation_tower.text_4": "Blaze Burners are required to run the Distillation Tower. The dial displays current power levels", - "createindustry.ponder.distillation_tower.text_5": "To input Crude Oil, it must be pumped into the controller block", - "createindustry.ponder.distillation_tower.text_6": "Each output block provides one of the Oil byproducts", - "createindustry.ponder.distillation_tower.text_7": "LPG", - "createindustry.ponder.distillation_tower.text_8": "Gasoline", - "createindustry.ponder.distillation_tower.text_9": "Naphtha", - "createindustry.ponder.distillation_tower.text_10": "Kerosene", - "createindustry.ponder.distillation_tower.text_11": "Diesel", - "createindustry.ponder.distillation_tower.text_12": "Heavy Oil", - "createindustry.ponder.blast_furnace.text_1": "The base of the Blast Furnace is a Blast Furnace Output block", - "createindustry.ponder.blast_furnace.text_2": "To assemble a Blast Furnace, construct a chimney using Fireproof Bricks as shown in the scene", - "createindustry.ponder.blast_furnace.text_3": "The bottom half of the chimney requires to be reinforced", - "createindustry.ponder.blast_furnace.text_4": "Fuel and other items are inserted through the opening at the top", - "createindustry.ponder.coke_oven.text_1": "The Coke Oven is built by placing Coke Oven blocks as shown in the scene, and clicking its side with a wrench", - "createindustry.ponder.coke_oven.text_2": "The process of coking is slow, so it is more efficient to have long arrays of ovens working simultaneously", - "createindustry.ponder.coke_oven.text_3": "Coal can be inputted from any side", - "createindustry.ponder.coke_oven.text_4": "While running, the oven produces Creosote and CO2 which have to be pumped out for it to function", - "createindustry.ponder.coke_oven.text_5": "Once done, Coal Coke will drop out of the opening", - "createindustry.ponder.casting.text_1": "Casting is the process of pouring liquid metal into a Casting Basin using a Casting Spout", - "createindustry.ponder.casting.text_2": "The Casting Basin, obviously, requires a mold to function", - "createindustry.ponder.radial_engines.text_1": "Radial Engines are a special Type of Engine that doesn't require an exhaust block and has a shaft from both sides", - "createindustry.ponder.radial_engines.text_2": "Clicking the Engine from one of its sides will spawn an input slot that can accept fuel and redstone signals", - "createindustry.ponder.radial_engines.text_3": "Regular Radial Engines uses gasoline as fuel", - "createindustry.ponder.radial_engines.text_4": "Engine will start when redstone signal is applied to the input slot or the block itself", - "createindustry.ponder.radial_engines.text_5": "The second variant of a radial is The Large Radial Engine which uses kerosene as fuel", - "createindustry.ponder.large_generator.text_1": "The main of the Large Generator is the Rotor", - "createindustry.ponder.large_generator.text_2": "To complete the Large Generator, place Stator block around the Rotor", - "createindustry.ponder.large_generator.text_3": "Providing rotational power to the Rotor will produce electric energy", - "createindustry.ponder.large_generator.text_4": "Clicking a side with a wrench will make it the energy output", - - "createindustry.ponder.distillation_tower.header": "Distillation Tower Setup", - - "createindustry.ponder.pumpjack.header": "Building Pumpjacks", - - "createindustry.ponder.surface_scanner.header": "Locating Oil", - - "createindustry.ponder.diesel_engine.header": "Building a Diesel Engine", - - "createindustry.ponder.diesel_engine_expansion.header": "Expanding Diesel Engines", - - "createindustry.ponder.small_engines.header": "Building Small Engines", - - "createindustry.ponder.radial_engines.header": "Using Radial Engines", - - "createindustry.ponder.large_generator.header": "Building a Large Generator", - - "createindustry.ponder.coke_oven.header": "Building a Coke Oven", - - "createindustry.ponder.blast_furnace.header": "Building a Blast Furnace", - - "createindustry.ponder.casting.header": "Casting Metal", - "createindustry.ponder.tag.oil": "Oil Related Machines", - "createindustry.ponder.tag.metallurgy": "Metal Processing", - "createindustry.ponder.tag.oil.description": "Machines that extract, process or use Crude Oil and its byproducts", - "createindustry.ponder.tag.metallurgy.description": "Machines that produce, process or use Metal and raw materials as such", - - "_": "Thank you for translating Create: The Factory Must Grow!" - + "OwO": "UwU", + "block.createindustry.accumulator": "Accumulator", + "block.createindustry.accumulator.tooltip.summary": "Holds a Large Amount of energy (inserted from bottom) that can be outputted Slowly from the Top", + "block.createindustry.air_intake": "Air Intake", + "block.createindustry.aluminium_cable_hub.tooltip.summary": "Can be turned off with redstone", + "block.createindustry.aluminum_bars": "Aluminum Bars", + "block.createindustry.aluminum_block": "Block of Aluminum", + "block.createindustry.aluminum_cable_hub": "Aluminum Cable Hub", + "block.createindustry.aluminum_cogwheel": "Aluminum Cogwheel", + "block.createindustry.aluminum_fluid_valve": "Aluminum Fluid Valve", + "block.createindustry.aluminum_flywheel": "Aluminum Flywheel", + "block.createindustry.aluminum_frame": "Aluminum Frame", + "block.createindustry.aluminum_ladder": "Aluminum Ladder", + "block.createindustry.aluminum_mechanical_pump": "Aluminum Mechanical Pump", + "block.createindustry.aluminum_pipe": "Aluminum Pipe", + "block.createindustry.aluminum_scaffolding": "Aluminum Scaffolding", + "block.createindustry.aluminum_smart_fluid_pipe": "Aluminum Smart Fluid Pipe", + "block.createindustry.aluminum_truss": "Aluminum Truss", + "block.createindustry.asphalt": "Asphalt", + "block.createindustry.bauxite": "Bauxite", + "block.createindustry.bauxite_pillar": "Bauxite Pillar", + "block.createindustry.black_concrete": "Black Concrete", + "block.createindustry.black_concrete_slab": "Black Concrete Slab", + "block.createindustry.black_concrete_stairs": "Black Concrete Stairs", + "block.createindustry.black_concrete_wall": "Black Concrete Wall", + "block.createindustry.blast_furnace_output": "Blast Furnace Output", + "block.createindustry.blast_stove": "Blast Stove", + "block.createindustry.blue_caution_block": "Blue Caution Block", + "block.createindustry.blue_concrete": "Blue Concrete", + "block.createindustry.blue_concrete_slab": "Blue Concrete Slab", + "block.createindustry.blue_concrete_stairs": "Blue Concrete Stairs", + "block.createindustry.blue_concrete_wall": "Blue Concrete Wall", + "block.createindustry.brass_cable_hub": "Brass Cable Hub", + "block.createindustry.brass_cable_hub.tooltip.summary": "Can be turned off with redstone", + "block.createindustry.brass_fluid_valve": "Brass Fluid Valve", + "block.createindustry.brass_frame": "Brass Frame", + "block.createindustry.brass_mechanical_pump": "Brass Mechanical Pump", + "block.createindustry.brass_pipe": "Brass Pipe", + "block.createindustry.brass_smart_fluid_pipe": "Brass Smart Fluid Pipe", + "block.createindustry.brass_truss": "Brass Truss", + "block.createindustry.brown_caution_block": "Brown Caution Block", + "block.createindustry.brown_concrete": "Brown Concrete", + "block.createindustry.brown_concrete_slab": "Brown Concrete Slab", + "block.createindustry.brown_concrete_stairs": "Brown Concrete Stairs", + "block.createindustry.brown_concrete_wall": "Brown Concrete Wall", + "block.createindustry.cable connector.tooltip.summary": "Right click 2 cable connectors with a _Copper Cable_ amking them transport _Energy_", + "block.createindustry.cable_connector": "Cable Connector", + "block.createindustry.cable_tube": "Cable Tube", + "block.createindustry.cable_tube.tooltip.summary": "Transports Energy like a Cable", + "block.createindustry.capacitor": "Capacitor", + "block.createindustry.capacitor.tooltip.summary": "Holds a Small Amount of energy (inserted from bottom) that can be outputted Quickly from the Top", + "block.createindustry.cast_iron_bars": "Cast Iron Bars", + "block.createindustry.cast_iron_block": "Block of Cast Iron", + "block.createindustry.cast_iron_fluid_valve": "Cast Iron Fluid Valve", + "block.createindustry.cast_iron_flywheel": "Cast Iron Flywheel", + "block.createindustry.cast_iron_frame": "Cast Iron Frame", + "block.createindustry.cast_iron_ladder": "Cast Iron Ladder", + "block.createindustry.cast_iron_mechanical_pump": "Cast Iron Mechanical Pump", + "block.createindustry.cast_iron_pipe": "Cast Iron Pipe", + "block.createindustry.cast_iron_smart_fluid_pipe": "Cast Iron Smart Fluid Pipe", + "block.createindustry.cast_iron_truss": "Cast Iron Truss", + "block.createindustry.casting_basin": "Casting Basin", + "block.createindustry.casting_spout": "Casting Spout", + "block.createindustry.cement": "Cement", + "block.createindustry.cinder_block": "Cinder Block", + "block.createindustry.cinderflour_block": "Cinderflour Block", + "block.createindustry.coal_coke_block": "Block of Coal Coke", + "block.createindustry.coke_oven": "Coke Oven", + "block.createindustry.compact_engine": "Compact Engine", + "block.createindustry.compact_engine.behaviour1": "Will output _RPM_ based on the strength of the _Redstone Signal_ inputted into it", + "block.createindustry.compact_engine.condition1": "When Gasoline Creosote into", + "block.createindustry.compact_engine.tooltip.summary": "Makes Rotation from Gasoline", + "block.createindustry.concrete": "Concrete", + "block.createindustry.concrete_slab": "Concrete Slab", + "block.createindustry.concrete_stairs": "Concrete Stairs", + "block.createindustry.concrete_wall": "Concrete Wall", + "block.createindustry.converter": "Converter", + "block.createindustry.converter.behaviour1": "The _Top_ outputs FE With _Voltage_ making it usable with _TFMG_", + "block.createindustry.converter.condition1": "When Put FE from Bottom", + "block.createindustry.converter.tooltip.summary": "Makes other mods compatible with TFMG by adding voltage", + "block.createindustry.cooling_fluid": "Cooling Fluid", + "block.createindustry.copper_cable_hub": "Copper Cable Hub", + "block.createindustry.copper_cable_hub.tooltip.summary": "Can be turned off with redstone", + "block.createindustry.copper_coil": "Copper Coil", + "block.createindustry.copper_coil.tooltip.behaviour1": "To increase voltage you have to have to towers of coils either next to or one block from eachother, one atleast 1 block larger than the other, both max 5 blocks in height and with their top blocks touching. R-Click the top block in the larger tower with a wrench to make it the output. Energy is both inputted and outputted on the top of their respective towers", + "block.createindustry.copper_coil.tooltip.summary": "Increases Voltage", + "block.createindustry.copper_encased_aluminum_pipe": "Copper Encased Aluminum Pipe", + "block.createindustry.copper_encased_brass_pipe": "Copper Encased Brass Pipe", + "block.createindustry.copper_encased_cast_iron_pipe": "Copper Encased Cast Iron Pipe", + "block.createindustry.copper_encased_plastic_pipe": "Copper Encased Plastic Pipe", + "block.createindustry.copper_encased_steel_pipe": "Copper Encased Steel Pipe", + "block.createindustry.copper_frame": "Copper Frame", + "block.createindustry.copper_truss": "Copper Truss", + "block.createindustry.copycat_cable_base": "Copycat Cable Base", + "block.createindustry.copycat_cable_block": "Copycat Cable Block", + "block.createindustry.copycat_cable_block.tooltip.summary": "Can be turned off with redstone", + "block.createindustry.creative_generator": "Creative Generator", + "block.createindustry.creative_generator.tooltip.summary": "Outputs energy based on the value on its input panel", + "block.createindustry.creosote": "Creosote", + "block.createindustry.crude_oil": "Crude Oil", + "block.createindustry.cut_bauxite": "Cut Bauxite", + "block.createindustry.cut_bauxite_brick_slab": "Cut Bauxite Brick Slab", + "block.createindustry.cut_bauxite_brick_stairs": "Cut Bauxite Brick Stairs", + "block.createindustry.cut_bauxite_brick_wall": "Cut Bauxite Brick Wall", + "block.createindustry.cut_bauxite_bricks": "Cut Bauxite Bricks", + "block.createindustry.cut_bauxite_slab": "Cut Bauxite Slab", + "block.createindustry.cut_bauxite_stairs": "Cut Bauxite Stairs", + "block.createindustry.cut_bauxite_wall": "Cut Bauxite Wall", + "block.createindustry.cut_galena": "Cut Galena", + "block.createindustry.cut_galena_brick_slab": "Cut Galena Brick Slab", + "block.createindustry.cut_galena_brick_stairs": "Cut Galena Brick Stairs", + "block.createindustry.cut_galena_brick_wall": "Cut Galena Brick Wall", + "block.createindustry.cut_galena_bricks": "Cut Galena Bricks", + "block.createindustry.cut_galena_slab": "Cut Galena Slab", + "block.createindustry.cut_galena_stairs": "Cut Galena Stairs", + "block.createindustry.cut_galena_wall": "Cut Galena Wall", + "block.createindustry.cyan_caution_block": "Cyan Caution Block", + "block.createindustry.cyan_concrete": "Cyan Concrete", + "block.createindustry.cyan_concrete_slab": "Cyan Concrete Slab", + "block.createindustry.cyan_concrete_stairs": "Cyan Concrete Stairs", + "block.createindustry.cyan_concrete_wall": "Cyan Concrete Wall", + "block.createindustry.deepslate_lead_ore": "Deepslate Lead Ore", + "block.createindustry.deepslate_lithium_ore": "Deepslate Lithium Ore", + "block.createindustry.deepslate_nickel_ore": "Deepslate Nickel Ore", + "block.createindustry.diagonal_cable_block": "Diagonal Cable Block", + "block.createindustry.diagonal_cable_block.tooltip.summary": "Transports Energy like a Cable (But diagonally)", + "block.createindustry.diesel": "Diesel", + "block.createindustry.diesel_engine": "Diesel Engine", + "block.createindustry.diesel_engine_expansion": "Diesel Engine Expansion", + "block.createindustry.electric_casing": "Electric Casing", + "block.createindustry.electric_motor": "Electric Motor", + "block.createindustry.electric_motor.tooltip.summary": "Changes energy to rotation (rpm configurable on side)", + "block.createindustry.energy_meter": "Energy Meter", + "block.createindustry.energy_meter.condition1": "When put on Power Source", + "block.createindustry.energy_meter.condition2": "When looked on with Engineer's Goggles", + "block.createindustry.energy_meter.tooltip.behaviour1": "Measures the _Energy_ of the _Power Source_", + "block.createindustry.energy_meter.tooltip.behaviour2": "Shows detailed info on the sources energy", + "block.createindustry.energy_meter.tooltip.summary": "Measures energy", + "block.createindustry.exhaust": "Exhaust", + "block.createindustry.factory_floor": "Factory Floor", + "block.createindustry.factory_floor_slab": "Factory Floor Slab", + "block.createindustry.factory_floor_stairs": "Factory Floor Stairs", + "block.createindustry.firebox": "Firebox", + "block.createindustry.firebox.condition1": "When inputted burnables into", + "block.createindustry.firebox.tooltip.behaviour1": "The _Firebox_ will act as a _Blaze Burner_ until it runs out of fuel, there is no way to superheat it", + "block.createindustry.firebox.tooltip.summary": "Uses burnables to function as a blaze burner", + "block.createindustry.fireclay": "Fireclay", + "block.createindustry.fireclay.tooltip.summary": "It is found in underground veins in the overworld", + "block.createindustry.fireproof_brick_reinforcement": "Fireproof Brick Reinforcement", + "block.createindustry.fireproof_bricks": "Fireproof Bricks", + "block.createindustry.flarestack": "Flarestack", + "block.createindustry.flarestack.tooltip.behaviour1": "Deletes what is pumped inside", + "block.createindustry.flarestack.tooltip.condition1": "When Pumped burnable Fluids/Gases into from the bottom", + "block.createindustry.flarestack.tooltip.summary": "Burns unneeded oil products", + "block.createindustry.fluid_output": "Fluid Output", + "block.createindustry.formwork_block": "Formwork Block", + "block.createindustry.formwork_block.tooltip.behaviour1": "Fills out with _Liquid Concrete_, this Concrete eventually turns into solid blocks", + "block.createindustry.formwork_block.tooltip.condition1": "When Pumped concrete into", + "block.createindustry.formwork_block.tooltip.summary": "Holds Liquid Concrete until it turns into concrete blocks", + "block.createindustry.fossilstone": "Fossilstone", + "block.createindustry.galena": "Galena", + "block.createindustry.galena_pillar": "Galena Pillar", + "block.createindustry.galvanic_cell": "Galvanic Cell", + "block.createindustry.galvanic_cell.tooltip.summary": "Has a small amount of unchargable energy inside, ideal for starting your venture into electricity", + "block.createindustry.gasoline": "Gasoline", + "block.createindustry.gasoline_engine": "Gasoline Engine", + "block.createindustry.gasoline_engine_back": "Gasoline Engine Back", + "block.createindustry.generator": "Generator", + "block.createindustry.generator.tooltip.summary": "Changes rotation to energy", + "block.createindustry.glass_aluminum_pipe": "Glass Aluminum Pipe", + "block.createindustry.glass_brass_pipe": "Glass Brass Pipe", + "block.createindustry.glass_cast_iron_pipe": "Glass Cast Iron Pipe", + "block.createindustry.glass_plastic_pipe": "Glass Plastic Pipe", + "block.createindustry.glass_steel_pipe": "Glass Steel Pipe", + "block.createindustry.gray_caution_block": "Gray Caution Block", + "block.createindustry.gray_concrete": "Gray Concrete", + "block.createindustry.gray_concrete_slab": "Gray Concrete Slab", + "block.createindustry.gray_concrete_stairs": "Gray Concrete Stairs", + "block.createindustry.gray_concrete_wall": "Gray Concrete Wall", + "block.createindustry.green_caution_block": "Green Caution Block", + "block.createindustry.green_concrete": "Green Concrete", + "block.createindustry.green_concrete_slab": "Green Concrete Slab", + "block.createindustry.green_concrete_stairs": "Green Concrete Stairs", + "block.createindustry.green_concrete_wall": "Green Concrete Wall", + "block.createindustry.hardened_planks": "Hardened Planks", + "block.createindustry.hardened_planks_slab": "Hardened Planks Slab", + "block.createindustry.heavy_cable_hub": "Heavy Cable Hub", + "block.createindustry.heavy_cable_hub.tooltip.summary": "Can be turned off with redstone", + "block.createindustry.heavy_casing_door": "Heavy Casing Door", + "block.createindustry.heavy_casing_encased_aluminum_cogwheel": "Heavy Casing Encased Aluminum Cogwheel", + "block.createindustry.heavy_casing_encased_cogwheel": "Heavy Casing Encased Cogwheel", + "block.createindustry.heavy_casing_encased_large_aluminum_cogwheel": "Heavy Casing Encased Large Aluminum Cogwheel", + "block.createindustry.heavy_casing_encased_large_cogwheel": "Heavy Casing Encased Large Cogwheel", + "block.createindustry.heavy_casing_encased_large_steel_cogwheel": "Heavy Casing Encased Large Steel Cogwheel", + "block.createindustry.heavy_casing_encased_shaft": "Heavy Casing Encased Shaft", + "block.createindustry.heavy_casing_encased_steel_cogwheel": "Heavy Casing Encased Steel Cogwheel", + "block.createindustry.heavy_machinery_casing": "Heavy Machinery Casing", + "block.createindustry.heavy_oil": "Heavy Oil", + "block.createindustry.industrial_pipe": "Industrial Pipe", + "block.createindustry.kerosene": "Kerosene", + "block.createindustry.large_aluminum_cogwheel": "Large Aluminum Cogwheel", + "block.createindustry.large_pumpjack_hammer_connector": "Large Pumpjack Hammer Connector", + "block.createindustry.large_pumpjack_hammer_head": "Large Pumpjack Hammer Head", + "block.createindustry.large_pumpjack_hammer_part": "Large Pumpjack Hammer Part", + "block.createindustry.large_radial_engine": "Large Radial Engine", + "block.createindustry.large_steel_cogwheel": "Large Steel Cogwheel", + "block.createindustry.layered_bauxite": "Layered Bauxite", + "block.createindustry.layered_galena": "Layered Galena", + "block.createindustry.lead_bars": "Lead Bars", + "block.createindustry.lead_block": "Block of Lead", + "block.createindustry.lead_flywheel": "Lead Flywheel", + "block.createindustry.lead_frame": "Lead Frame", + "block.createindustry.lead_glass": "Lead Glass", + "block.createindustry.lead_ladder": "Leadder", + "block.createindustry.lead_ore": "Lead Ore", + "block.createindustry.lead_truss": "Lead Truss", + "block.createindustry.light_blue_caution_block": "Light Blue Caution Block", + "block.createindustry.light_blue_concrete": "Light Blue Concrete", + "block.createindustry.light_blue_concrete_slab": "Light Blue Concrete Slab", + "block.createindustry.light_blue_concrete_stairs": "Light Blue Concrete Stairs", + "block.createindustry.light_blue_concrete_wall": "Light Blue Concrete Wall", + "block.createindustry.light_bulb": "Light Bulb", + "block.createindustry.light_bulb.behaviour1": "The lightbulb will _Glow_ if _Voltage_ and _Energy_ are balanced, the higher the _Voltage_, the stronger the glow", + "block.createindustry.light_bulb.condition1": "When put on Power Source", + "block.createindustry.light_bulb.tooltip.summary": "Glows when Powered", + "block.createindustry.light_gray_caution_block": "Light Gray Caution Block", + "block.createindustry.light_gray_concrete": "Light Gray Concrete", + "block.createindustry.light_gray_concrete_slab": "Light Gray Concrete Slab", + "block.createindustry.light_gray_concrete_stairs": "Light Gray Concrete Stairs", + "block.createindustry.light_gray_concrete_wall": "Light Gray Concrete Wall", + "block.createindustry.lignite": "Lignite", + "block.createindustry.lime_caution_block": "Lime Caution Block", + "block.createindustry.lime_concrete": "Lime Concrete", + "block.createindustry.lime_concrete_slab": "Lime Concrete Slab", + "block.createindustry.lime_concrete_stairs": "Lime Concrete Stairs", + "block.createindustry.lime_concrete_wall": "Lime Concrete Wall", + "block.createindustry.liquid_asphalt": "Liquid Asphalt", + "block.createindustry.liquid_concrete": "Liquid Concrete", + "block.createindustry.liquid_plastic": "Liquid Plastic", + "block.createindustry.lithium_block": "Block of Lithium", + "block.createindustry.lithium_ore": "Lithium Ore", + "block.createindustry.lithium_torch": "Lithium Torch", + "block.createindustry.lithium_torch.tooltip.summary": "Works underwater and can be placed upside down", + "block.createindustry.low_grade_fuel_engine": "Low Grade Fuel Engine", + "block.createindustry.low_grade_fuel_engine.behaviour1": "Will output a small amount of _RPM_ based on the strength of the _Redstone Signal_ inputted into it", + "block.createindustry.low_grade_fuel_engine.condition1": "When Pumped Creosote into", + "block.createindustry.low_grade_fuel_engine.tooltip.summary": "Makes Rotation from Creosote", + "block.createindustry.lpg_engine": "Lpg Engine", + "block.createindustry.lpg_engine_back": "Lpg Engine Back", + "block.createindustry.lubrication_oil": "Lubrication Oil", + "block.createindustry.machine_input": "Machine Input", + "block.createindustry.magenta_caution_block": "Magenta Caution Block", + "block.createindustry.magenta_concrete": "Magenta Concrete", + "block.createindustry.magenta_concrete_slab": "Magenta Concrete Slab", + "block.createindustry.magenta_concrete_stairs": "Magenta Concrete Stairs", + "block.createindustry.magenta_concrete_wall": "Magenta Concrete Wall", + "block.createindustry.molten_metal": "Molten Metal", + "block.createindustry.molten_slag": "Molten Slag", + "block.createindustry.molten_steel": "Molten Steel", + "block.createindustry.napalm": "Napalm", + "block.createindustry.napalm_bomb": "Napalm Bomb", + "block.createindustry.naphtha": "Naphtha", + "block.createindustry.neon_tube": "Neon Tube", + "block.createindustry.neon_tube.behaviour1": "The tube will _Glow_ ", + "block.createindustry.neon_tube.behaviour2": "Changes Color", + "block.createindustry.neon_tube.condition1": "When put on Power Source", + "block.createindustry.neon_tube.condition2": "When R-Clicked with Dye", + "block.createindustry.neon_tube.tooltip.summary": "Glows in a certain color when Powered", + "block.createindustry.nickel_bars": "Nickel Bars", + "block.createindustry.nickel_block": "Block of Nickel", + "block.createindustry.nickel_flywheel": "Nickel Flywheel", + "block.createindustry.nickel_frame": "Nickel Frame", + "block.createindustry.nickel_ladder": "Nickel Ladder", + "block.createindustry.nickel_ore": "Nickel Ore", + "block.createindustry.nickel_truss": "Nickel Truss", + "block.createindustry.oil_deposit": "Oil Deposit", + "block.createindustry.orange_caution_block": "Orange Caution Block", + "block.createindustry.orange_concrete": "Orange Concrete", + "block.createindustry.orange_concrete_slab": "Orange Concrete Slab", + "block.createindustry.orange_concrete_stairs": "Orange Concrete Stairs", + "block.createindustry.orange_concrete_wall": "Orange Concrete Wall", + "block.createindustry.pink_caution_block": "Pink Caution Block", + "block.createindustry.pink_concrete": "Pink Concrete", + "block.createindustry.pink_concrete_slab": "Pink Concrete Slab", + "block.createindustry.pink_concrete_stairs": "Pink Concrete Stairs", + "block.createindustry.pink_concrete_wall": "Pink Concrete Wall", + "block.createindustry.plastic_block": "Block of Plastic", + "block.createindustry.plastic_fluid_valve": "Plastic Fluid Valve", + "block.createindustry.plastic_mechanical_pump": "Plastic Mechanical Pump", + "block.createindustry.plastic_pipe": "Plastic Pipe", + "block.createindustry.plastic_smart_fluid_pipe": "Plastic Smart Fluid Pipe", + "block.createindustry.polarizer": "Polarizer", + "block.createindustry.polarizer.condition1": "When powered", + "block.createindustry.polarizer.tooltip.behaviour1": "Will turn a _Steel Ingot_ into a _Magnetic Ingot_ when right clicked with a _Steel Ingot_", + "block.createindustry.polarizer.tooltip.summary": "Makes Magnetic Ingots out of Steel", + "block.createindustry.polished_cut_bauxite": "Polished Cut Bauxite", + "block.createindustry.polished_cut_bauxite_slab": "Polished Cut Bauxite Slab", + "block.createindustry.polished_cut_bauxite_stairs": "Polished Cut Bauxite Stairs", + "block.createindustry.polished_cut_bauxite_wall": "Polished Cut Bauxite Wall", + "block.createindustry.polished_cut_galena": "Polished Cut Galena", + "block.createindustry.polished_cut_galena_slab": "Polished Cut Galena Slab", + "block.createindustry.polished_cut_galena_stairs": "Polished Cut Galena Stairs", + "block.createindustry.polished_cut_galena_wall": "Polished Cut Galena Wall", + "block.createindustry.pumpjack_base": "Pumpjack Base", + "block.createindustry.pumpjack_crank": "Pumpjack Crank", + "block.createindustry.pumpjack_hammer": "Pumpjack Hammer Holder", + "block.createindustry.pumpjack_hammer_connector": "Pumpjack Hammer Connector", + "block.createindustry.pumpjack_hammer_head": "Pumpjack Hammer Head", + "block.createindustry.pumpjack_hammer_part": "Pumpjack Hammer Part", + "block.createindustry.purple_caution_block": "Purple Caution Block", + "block.createindustry.purple_concrete": "Purple Concrete", + "block.createindustry.purple_concrete_slab": "Purple Concrete Slab", + "block.createindustry.purple_concrete_stairs": "Purple Concrete Stairs", + "block.createindustry.purple_concrete_wall": "Purple Concrete Wall", + "block.createindustry.radial_engine": "Radial Engine", + "block.createindustry.radial_engine_input": "Radial Engine Input", + "block.createindustry.radial_engine_input_ponder": "Radial Engine Input Ponder", + "block.createindustry.rebar_concrete": "Rebar Concrete", + "block.createindustry.rebar_concrete_slab": "Rebar Concrete Slab", + "block.createindustry.rebar_concrete_stairs": "Rebar Concrete Stairs", + "block.createindustry.rebar_concrete_wall": "Rebar Concrete Wall", + "block.createindustry.rebar_formwork_block": "Rebar Formwork Block", + "block.createindustry.rebar_formwork_block.tooltip.behaviour1": "Fills out with _Liquid Concrete_, this concrete eventually turns into solid rebar concrete blocks", + "block.createindustry.rebar_formwork_block.tooltip.condition1": "When Pumped concrete into", + "block.createindustry.rebar_formwork_block.tooltip.summary": "Holds Liquid Concrete until it turns into rebar concrete blocks", + "block.createindustry.red_caution_block": "Red Caution Block", + "block.createindustry.red_concrete": "Red Concrete", + "block.createindustry.red_concrete_slab": "Red Concrete Slab", + "block.createindustry.red_concrete_stairs": "Red Concrete Stairs", + "block.createindustry.red_concrete_wall": "Red Concrete Wall", + "block.createindustry.resistor": "Resistor", + "block.createindustry.resistor.tooltip.behaviour1": "Outputs energy with voltage based on its allowed voltage (configurable on top) on front", + "block.createindustry.resistor.tooltip.condition1": "When Put Energy into from the back (where strip of lead is smaller on top of the texture)", + "block.createindustry.resistor.tooltip.summary": "Reduces voltage", + "block.createindustry.rgb_light_bulb": "Rgb Light Bulb", + "block.createindustry.rgb_light_bulb.behaviour1": "The lightbulb will _Glow_ if _Voltage_ and _Energy_ are balanced, the higher the _Voltage_, the stronger the glow", + "block.createindustry.rgb_light_bulb.behaviour2": "Cycles through colors", + "block.createindustry.rgb_light_bulb.condition1": "When put on Power Source", + "block.createindustry.rgb_light_bulb.condition2": "When R-Clicked with Wrench", + "block.createindustry.rgb_light_bulb.tooltip.summary": "Glows in a certain color when Powered", + "block.createindustry.rotor": "Rotor", + "block.createindustry.small_bauxite_brick_slab": "Small Bauxite Brick Slab", + "block.createindustry.small_bauxite_brick_stairs": "Small Bauxite Brick Stairs", + "block.createindustry.small_bauxite_brick_wall": "Small Bauxite Brick Wall", + "block.createindustry.small_bauxite_bricks": "Small Bauxite Bricks", + "block.createindustry.small_galena_brick_slab": "Small Galena Brick Slab", + "block.createindustry.small_galena_brick_stairs": "Small Galena Brick Stairs", + "block.createindustry.small_galena_brick_wall": "Small Galena Brick Wall", + "block.createindustry.small_galena_bricks": "Small Galena Bricks", + "block.createindustry.stator": "Stator", + "block.createindustry.steel_bars": "Steel Bars", + "block.createindustry.steel_block": "Block of Steel", + "block.createindustry.steel_cable_hub": "Steel Cable Hub", + "block.createindustry.steel_cable_hub.tooltip.summary": "Can be turned off with redstone", + "block.createindustry.steel_casing": "Steel Casing", + "block.createindustry.steel_casing_cable_hub": "Steel Casing Cable Hub", + "block.createindustry.steel_casing_cable_hub.tooltip.summary": "Can be turned off with redstone", + "block.createindustry.steel_cogwheel": "Steel Cogwheel", + "block.createindustry.steel_distillation_controller": "Steel Distillation Controller", + "block.createindustry.steel_distillation_output": "Steel Distillation Output", + "block.createindustry.steel_door": "Steel Door", + "block.createindustry.steel_encased_aluminum_cogwheel": "Steel Encased Aluminum Cogwheel", + "block.createindustry.steel_encased_cogwheel": "Steel Encased Cogwheel", + "block.createindustry.steel_encased_large_aluminum_cogwheel": "Steel Encased Large Aluminum Cogwheel", + "block.createindustry.steel_encased_large_cogwheel": "Steel Encased Large Cogwheel", + "block.createindustry.steel_encased_large_steel_cogwheel": "Steel Encased Large Steel Cogwheel", + "block.createindustry.steel_encased_shaft": "Steel Encased Shaft", + "block.createindustry.steel_encased_steel_cogwheel": "Steel Encased Steel Cogwheel", + "block.createindustry.steel_fluid_tank": "Steel Fluid Tank", + "block.createindustry.steel_fluid_valve": "Steel Fluid Valve", + "block.createindustry.steel_flywheel": "Steel Flywheel", + "block.createindustry.steel_frame": "Steel Frame", + "block.createindustry.steel_gearbox": "Steel Gearbox", + "block.createindustry.steel_ladder": "Steel Ladder", + "block.createindustry.steel_mechanical_pump": "Steel Mechanical Pump", + "block.createindustry.steel_pipe": "Steel Pipe", + "block.createindustry.steel_scaffolding": "Steel Scaffolding", + "block.createindustry.steel_smart_fluid_pipe": "Steel Smart Fluid Pipe", + "block.createindustry.steel_truss": "Steel Truss", + "block.createindustry.sulfur": "Sulfur", + "block.createindustry.sulfuric_acid": "Sulfuric Acid", + "block.createindustry.surface_scanner": "Surface Scanner", + "block.createindustry.turbine_engine": "Turbine Engine", + "block.createindustry.turbine_engine_back": "Turbine Engine Back", + "block.createindustry.voltage_cube": "Voltage Cube", + "block.createindustry.voltmeter": "Voltmeter", + "block.createindustry.voltmeter.condition1": "When put on Power Source", + "block.createindustry.voltmeter.condition2": "When looked on with Engineer's Goggles", + "block.createindustry.voltmeter.condition3": "When R-Clicked with Wrench", + "block.createindustry.voltmeter.tooltip.behaviour1": "Measures the _Voltage_ of the _Power Source_ the max energy on the _Voltmeter_ is determined by its _Measuring Range_", + "block.createindustry.voltmeter.tooltip.behaviour2": "Shows detailed info on the sources _Voltage_ as well as the Voltmeters _Measuring Range_", + "block.createindustry.voltmeter.tooltip.behaviour3": "Changes the _Measuring Range_", + "block.createindustry.voltmeter.tooltip.summary": "Measures voltage", + "block.createindustry.white_caution_block": "White Caution Block", + "block.createindustry.white_concrete": "White Concrete", + "block.createindustry.white_concrete_slab": "White Concrete Slab", + "block.createindustry.white_concrete_stairs": "White Concrete Stairs", + "block.createindustry.white_concrete_wall": "White Concrete Wall", + "block.createindustry.yellow_caution_block": "Yellow Caution Block", + "block.createindustry.yellow_concrete": "Yellow Concrete", + "block.createindustry.yellow_concrete_slab": "Yellow Concrete Slab", + "block.createindustry.yellow_concrete_stairs": "Yellow Concrete Stairs", + "block.createindustry.yellow_concrete_wall": "Yellow Concrete Wall", + "block.createindustry.zinc_frame": "Zinc Frame", + "block.createindustry.zinc_truss": "Zinc Truss", + "create.creative_generator.voltage_generation": "Voltage Generation", + "create.goggles.blast_furnace.diameter.one": "Diameter: 1", + "create.goggles.blast_furnace.diameter.two": "Diameter: 2", + "create.goggles.blast_furnace.fuel_amount": "Fuel Amount: %1$s", + "create.goggles.blast_furnace.height": "Height: %1$s", + "create.goggles.blast_furnace.invalid": "Blast Furnace Invalid", + "create.goggles.blast_furnace.item_count": "Item Count: %1$s", + "create.goggles.blast_furnace.nothing_lol": "", + "create.goggles.blast_furnace.stats": "Blast Furnace:", + "create.goggles.blast_furnace.status.off": "Status: Idle", + "create.goggles.blast_furnace.status.running": "Status: Running", + "create.goggles.coke_oven.fluid_amount_exhaust": "Carbon Dioxide: %1$s mb", + "create.goggles.coke_oven.fluid_amount_output": "Internal Tank Contents: %1$s mb", + "create.goggles.coke_oven.invalid": "Coke Oven Invalid", + "create.goggles.coke_oven.item_count": "Internal Storage Item Count: %1$s", + "create.goggles.coke_oven.progress": "Progress: %1$s", + "create.goggles.coke_oven.status": "Coke Oven:", + "create.goggles.coke_oven.tank_full": "An Internal Tank is Full", + "create.goggles.diesel_engine.info": "Diesel Engine:", + "create.goggles.distillation_tower.found_outputs": "Output Count: %1$s", + "create.goggles.distillation_tower.level": "Heat Level: %1$s", + "create.goggles.distillation_tower.no_outputs": "No Output Blocks Found", + "create.goggles.distillation_tower.status": "Distillation Tower Info:", + "create.goggles.distillation_tower.tank_not_found": "Steel Fluid Tank Not Found", + "create.goggles.electric_machine.no_power": "No Power", + "create.goggles.electricity.insufficient_voltage": "Insufficient Voltage", + "create.goggles.energy_meter": "Energy Meter:", + "create.goggles.energy_meter.energy": " Energy: %1$s fe", + "create.goggles.engine.backpartmissing": "Back Part Missing:", + "create.goggles.engine.efficiency": "Efficiency:", + "create.goggles.engine.stress": "%1$ssu", + "create.goggles.engine_exhaust_stats": "Engine Exhaust Stats:", + "create.goggles.engine_redstone_input": "Speed:", + "create.goggles.engine_stats": "Engine Stats:", + "create.goggles.fluid_in_tank": "Tank Contents:", + "create.goggles.fuel_container": "Fluid Storage", + "create.goggles.generator.production": "Energy Production: %1$s fe/t", + "create.goggles.get_engine_efficiency": "%1$s", + "create.goggles.machine_input.info": "Machine Input Info", + "create.goggles.machine_input.no_rot": "No Rotation Provided!", + "create.goggles.machine_input.power_level": "Power Level: ", + "create.goggles.misc.dot_one": ".", + "create.goggles.misc.dot_three": "...", + "create.goggles.misc.dot_two": "..", + "create.goggles.misc.number": "%1$s", + "create.goggles.misc.percent_symbol": "%", + "create.goggles.misc.storage_info": "Storage Info:", + "create.goggles.motor.usage": "Energy Usage: %1$s fe/t", + "create.goggles.pumpjack.deposit_info": "Deposit Info:", + "create.goggles.pumpjack.fluid_amount": "Fluid Amount:", + "create.goggles.pumpjack.part_missing": "Hammer or Crank Missing", + "create.goggles.pumpjack.wrong_rotation1": "The Pumpjack Base is oriented incorrectly, the red marker must", + "create.goggles.pumpjack.wrong_rotation2": "face away from the Pumpjack Hammer Holder", + "create.goggles.pumpjack_fluid_storage": "Fluid Tank Info:", + "create.goggles.pumpjack_info": "Pumpjack Info:", + "create.goggles.surface_scanner.deposit_found": "Deposit Located!", + "create.goggles.surface_scanner.distance": "Distance: %1$s Blocks", + "create.goggles.surface_scanner.no_deposit": "No Deposit Found", + "create.goggles.surface_scanner.no_rotation": "Machine Unpowered", + "create.goggles.surface_scanner.scanning_surface": "Scanning The Surface", + "create.goggles.voltmeter": "Voltmeter:", + "create.goggles.voltmeter.range": " Measuring Range: %1$s V", + "create.goggles.voltmeter.voltage": " Measured Voltage: %1$s V", + "create.goggles.zero": "Machine Invalid", + "create.pumpjack_deposit_amount": "%1$s Buckets", + "create.recipe.advanced_distillation": "Advanced Distillation", + "create.recipe.casting": "Casting", + "create.recipe.coking": "Coking", + "create.recipe.distillation": "Distillation", + "create.recipe.industrial_blasting": "Industrial Blasting", + "create.resistor.allowed_voltage": "Allowed Voltage", + "create.tooltip.engine_analog_strength": "%1$s/15", + "create.wires.removed_data": "Data Removed", + "createindustry.ponder.blast_furnace.header": "Building a Blast Furnace", + "createindustry.ponder.blast_furnace.text_1": "The base of the Blast Furnace is a Blast Furnace Output block", + "createindustry.ponder.blast_furnace.text_2": "To assemble a Blast Furnace, construct a chimney using Fireproof Bricks as shown in the scene", + "createindustry.ponder.blast_furnace.text_3": "The bottom half of the chimney requires to be reinforced", + "createindustry.ponder.blast_furnace.text_4": "Fuel and other items are inserted through the opening at the top", + "createindustry.ponder.casting.header": "Casting Metal", + "createindustry.ponder.casting.text_1": "Casting is the process of pouring liquid metal into a Casting Basin using a Casting Spout", + "createindustry.ponder.casting.text_2": "The Casting Basin, obviously, requires a mold to function", + "createindustry.ponder.coke_oven.header": "Building a Coke Oven", + "createindustry.ponder.coke_oven.text_1": "The Coke Oven is built by placing Coke Oven blocks as shown in the scene, and clicking its side with a wrench", + "createindustry.ponder.coke_oven.text_2": "The process of coking is slow, so it is more efficient to have long arrays of ovens working simultaneously", + "createindustry.ponder.coke_oven.text_3": "Coal can be inputted from any side", + "createindustry.ponder.coke_oven.text_4": "While running, the oven produces Creosote and CO2 which have to be pumped out for it to function", + "createindustry.ponder.coke_oven.text_5": "Once done, Coal Coke will drop out of the opening", + "createindustry.ponder.diesel_engine.header": "Building a Diesel Engine", + "createindustry.ponder.diesel_engine.text_1": "Diesel Engines are assembled by placing a shaft infront of a Diesel Engine block", + "createindustry.ponder.diesel_engine.text_2": "The engine produces exhaust gas which has to be removed with pipes and an exhaust block", + "createindustry.ponder.diesel_engine.text_3": "Air is needed for the engine to run, so an Air Intake is required", + "createindustry.ponder.diesel_engine_expansion.header": "Expanding Diesel Engines", + "createindustry.ponder.diesel_engine_expansion.text_1": "Diesel Engine Expansions can give a Diesel Engine two new input slots, for lubrication and radiator fluids", + "createindustry.ponder.distillation_tower.header": "Distillation Tower Setup", + "createindustry.ponder.distillation_tower.text_1": "A sufficiently large Steel Fluid Tank can be turned into a Distillation Tower", + "createindustry.ponder.distillation_tower.text_10": "Kerosene", + "createindustry.ponder.distillation_tower.text_11": "Diesel", + "createindustry.ponder.distillation_tower.text_12": "Heavy Oil", + "createindustry.ponder.distillation_tower.text_2": "The tower is assembled by first placing a Steel Distillation Tower Controller next to the tank...", + "createindustry.ponder.distillation_tower.text_3": "And placing up to 6 Distillation Tower Outputs, all connected with Industrial Pipes", + "createindustry.ponder.distillation_tower.text_4": "Blaze Burners are required to run the Distillation Tower. The dial displays current power levels", + "createindustry.ponder.distillation_tower.text_5": "To input Crude Oil, it must be pumped into the controller block", + "createindustry.ponder.distillation_tower.text_6": "Each output block provides one of the Oil byproducts", + "createindustry.ponder.distillation_tower.text_7": "LPG", + "createindustry.ponder.distillation_tower.text_8": "Gasoline", + "createindustry.ponder.distillation_tower.text_9": "Naphtha", + "createindustry.ponder.large_generator.header": "Building a Large Generator", + "createindustry.ponder.large_generator.text_1": "The main of the Large Generator is the Rotor", + "createindustry.ponder.large_generator.text_2": "To complete the Large Generator, place Stator block around the Rotor", + "createindustry.ponder.large_generator.text_3": "Providing rotational power to the Rotor will produce electric energy", + "createindustry.ponder.large_generator.text_4": "Clicking a side with a wrench will make it the energy output", + "createindustry.ponder.pumpjack.header": "Building Pumpjacks", + "createindustry.ponder.pumpjack.text_1": "To start extracting Oil, you must first build a pipeline on top of a deposit using Industrial Pipes", + "createindustry.ponder.pumpjack.text_2": "Then, construct a Pumpjack on top of the pipeline by first placing down a Pumpjack Base...", + "createindustry.ponder.pumpjack.text_3": "Placing the Pumpjack Hammer behind it...", + "createindustry.ponder.pumpjack.text_4": "Next step is building the Connector And the Head of the Pumpjack above the crank and the base", + "createindustry.ponder.pumpjack.text_5": "Now they need to be connected with Pumpjack Hammer Parts, keep in mind that superglue is needed to finish the structure", + "createindustry.ponder.pumpjack.text_6": "And finally, placing the Machine Input with a Pumpjack Crank above it, as shown in the scene", + "createindustry.ponder.radial_engines.header": "Using Radial Engines", + "createindustry.ponder.radial_engines.text_1": "Radial Engines are a special Type of Engine that doesn't require an exhaust block and has a shaft from both sides", + "createindustry.ponder.radial_engines.text_2": "Clicking the Engine from one of its sides will spawn an input slot that can accept fuel and redstone signals", + "createindustry.ponder.radial_engines.text_3": "Regular Radial Engines uses gasoline as fuel", + "createindustry.ponder.radial_engines.text_4": "Engine will start when redstone signal is applied to the input slot or the block itself", + "createindustry.ponder.radial_engines.text_5": "The second variant of a radial is The Large Radial Engine which uses kerosene as fuel", + "createindustry.ponder.small_engines.header": "Building Small Engines", + "createindustry.ponder.small_engines.text_1": "To create a small engine, place the front and back parts adjacent to eachother", + "createindustry.ponder.small_engines.text_2": "Fuel is inputted into the front part, and exhaust must be removed from the back part using pipes and an exhaust block", + "createindustry.ponder.small_engines.text_3": "Applying a redstone signal to the front part starts the engine", + "createindustry.ponder.small_engines.text_4": "Small engines include LPG, kerosene and gasoline engines", + "createindustry.ponder.surface_scanner.header": "Locating Oil", + "createindustry.ponder.surface_scanner.text_1": "The Surface Scanner is used to locate crude oil deposits", + "createindustry.ponder.surface_scanner.text_2": "Providing the machine with rotational power makes it scan for the nearest deposit", + "createindustry.ponder.surface_scanner.text_3": "If a deposit is found, the compass will point towards its location", + "createindustry.ponder.tag.metallurgy": "Metal Processing", + "createindustry.ponder.tag.metallurgy.description": "Machines that produce, process or use Metal and raw materials as such", + "createindustry.ponder.tag.oil": "Oil Related Machines", + "createindustry.ponder.tag.oil.description": "Machines that extract, process or use Crude Oil and its byproducts", + "createindustry.subtitle.diesel_engine_sounds": "Diesel Engine Sounds", + "createindustry.subtitle.engine_sounds": "Engine Sounds", + "death.attack.createindustry.acid": "%1$s took an acid bath", + "death.attack.createindustry.acid.player": "%1$s took an acid bath", + "death.attack.createindustry.concrete": "%1$s tried to eat Concrete", + "death.attack.createindustry.concrete.player": "%1$s tried to eat Concrete", + "effect.createindustry.frostbite": "Frostbite", + "effect.createindustry.hellfire": "Hellfire", + "entity.createindustry.blue_spark": "Blue Spark", + "entity.createindustry.cool_spark": "Cool Spark", + "entity.createindustry.copper_grenade": "Copper Grenade", + "entity.createindustry.green_spark": "Green Spark", + "entity.createindustry.lithium_spark": "Lithium Spark", + "entity.createindustry.napalm_bomb_entity": "Napalm Bomb Entity", + "entity.createindustry.napalm_potato": "Napalm Potato", + "entity.createindustry.pipe_bomb": "Pipe Bomb", + "entity.createindustry.spark": "Spark", + "entity.createindustry.thermite_grenade": "Thermite Grenade", + "entity.createindustry.zinc_grenade": "Zinc Grenade", + "fluid.createindustry.air": "Air", + "fluid.createindustry.blast_furnace_gas": "Blast Furnace Gas", + "fluid.createindustry.butane": "Butane", + "fluid.createindustry.carbon_dioxide": "Carbon Dioxide", + "fluid.createindustry.cooling_fluid": "Cooling Fluid", + "fluid.createindustry.creosote": "Creosote", + "fluid.createindustry.crude_oil": "Crude Oil", + "fluid.createindustry.diesel": "Diesel", + "fluid.createindustry.ethylene": "Ethylene", + "fluid.createindustry.gasoline": "Gasoline", + "fluid.createindustry.heated_air": "Heated Air", + "fluid.createindustry.heavy_oil": "Heavy Oil", + "fluid.createindustry.kerosene": "Kerosene", + "fluid.createindustry.liquid_asphalt": "Liquid Asphalt", + "fluid.createindustry.liquid_concrete": "Liquid Concrete", + "fluid.createindustry.liquid_plastic": "Liquid Plastic", + "fluid.createindustry.lpg": "Lpg", + "fluid.createindustry.lubrication_oil": "Lubrication Oil", + "fluid.createindustry.molten_slag": "Molten Slag", + "fluid.createindustry.molten_steel": "Molten Steel", + "fluid.createindustry.napalm": "Napalm", + "fluid.createindustry.naphtha": "Naphtha", + "fluid.createindustry.neon": "Neon", + "fluid.createindustry.propane": "Propane", + "fluid.createindustry.propylene": "Propylene", + "fluid.createindustry.sulfuric_acid": "Sulfuric Acid", + "item.createindustry.advanced_potato_cannon": "Advanced Potato Cannon", + "item.createindustry.advanced_potato_cannon.tooltip.behaviour1": "_Shoots_ a _Napalm Potato_ from your _Inventory_.", + "item.createindustry.advanced_potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", + "item.createindustry.advanced_potato_cannon.tooltip.condition1": "When R-Clicked", + "item.createindustry.advanced_potato_cannon.tooltip.condition2": "While wearing Backtank", + "item.createindustry.advanced_potato_cannon.tooltip.summary": "Launches _Napalm Potatoes_ at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", + "item.createindustry.air_bucket": "Air Tank", + "item.createindustry.aluminum_axe": "Aluminum Axe", + "item.createindustry.aluminum_hoe": "Aluminum Hoe", + "item.createindustry.aluminum_ingot": "Aluminum Ingot", + "item.createindustry.aluminum_pickaxe": "Aluminum Pickaxe", + "item.createindustry.aluminum_shovel": "Aluminum Shovel", + "item.createindustry.aluminum_sword": "Aluminum Sword", + "item.createindustry.aluminum_wire": "Aluminum Wire", + "item.createindustry.bitumen": "Bitumen", + "item.createindustry.blast_furnace_gas_bucket": "Blast Furnace Gas Tank", + "item.createindustry.blasting_mixture": "Blasting Mixture", + "item.createindustry.block_mold": "Block Mold", + "item.createindustry.bottle_of_battery_acid": "Bottle o' Battery Acid", + "item.createindustry.bottle_of_concrete": "Bottle Of Concrete", + "item.createindustry.butane_bucket": "Butane Tank", + "item.createindustry.capacitor_": "Capacitor", + "item.createindustry.carbon_dioxide_bucket": "Carbon Dioxide Tank", + "item.createindustry.cast_iron_ingot": "Cast Iron Ingot", + "item.createindustry.cinderblock": "Cinderblock", + "item.createindustry.cinderflourblock": "Cinderflourblock", + "item.createindustry.coal_coke": "Coal Coke", + "item.createindustry.coal_coke_dust": "Coal Coke Dust", + "item.createindustry.concrete_mixture": "Concrete Mixture", + "item.createindustry.cooling_fluid_bucket": "Cooling Fluid Bucket", + "item.createindustry.copper_cable": "Copper Cable", + "item.createindustry.copper_grenade": "Copper Grenade", + "item.createindustry.copper_sulfate": "Copper Sulfate", + "item.createindustry.copper_wire": "Copper Wire", + "item.createindustry.creosote_bucket": "Creosote Bucket", + "item.createindustry.crude_oil_bucket": "Crude Oil Bucket", + "item.createindustry.diesel_bucket": "Diesel Bucket", + "item.createindustry.engine_base": "Engine Base", + "item.createindustry.engine_chamber": "Engine Chamber", + "item.createindustry.ethylene_bucket": "Ethylene Tank", + "item.createindustry.fireclay_ball": "Fireclay Ball", + "item.createindustry.fireproof_brick": "Fireproof Brick", + "item.createindustry.flamethrower": "Flamethrower", + "item.createindustry.flamethrower.tooltip.behaviour1": "_Shoots out Flames_ ", + "item.createindustry.flamethrower.tooltip.behaviour2": "The _Fuel_ will be consumed from the tank. _Range_ and _Spread_ change according to your _Fuel_ of choice", + "item.createindustry.flamethrower.tooltip.condition1": "When R-Clicked", + "item.createindustry.flamethrower.tooltip.condition2": "When R-Clicking a Fluid Tank with a Burnable Fluid/Gas inside", + "item.createindustry.flamethrower.tooltip.summary": "Burns burnable _Gases_ and _Fluids_ to shoot out a burst of flame to burn your Enemies", + "item.createindustry.gasoline_bucket": "Gasoline Bucket", + "item.createindustry.heated_air_bucket": "Heated Air Tank", + "item.createindustry.heavy_oil_bucket": "Heavy Oil Bucket", + "item.createindustry.heavy_plate": "Heavy Plate", + "item.createindustry.ingot_mold": "Ingot Mold", + "item.createindustry.kerosene_bucket": "Kerosene Bucket", + "item.createindustry.lead_axe": "Lead Axe", + "item.createindustry.lead_hoe": "Lead Hoe", + "item.createindustry.lead_ingot": "Lead Ingot", + "item.createindustry.lead_pickaxe": "Lead Pickaxe", + "item.createindustry.lead_shovel": "Lead Shovel", + "item.createindustry.lead_sword": "Lead Sword", + "item.createindustry.limesand": "Limesand", + "item.createindustry.liquid_asphalt_bucket": "Liquid Asphalt Bucket", + "item.createindustry.liquid_concrete_bucket": "Liquid Concrete Bucket", + "item.createindustry.liquid_plastic_bucket": "Liquid Plastic Bucket", + "item.createindustry.lit_lithium_blade": "Lithium Blade", + "item.createindustry.lithium_blade": "Lithium Blade", + "item.createindustry.lithium_blade.tooltip.behaviour1": "Is set on hellfire, consuming a _Lithium Charge_. Its flame sets enemies on fire for a set amount of time, this fire is renewed even after Enemy extinguishes themself in water ", + "item.createindustry.lithium_blade.tooltip.behaviour2": "Shoots out several bolts of _Hellfire_ consuming the blades charge", + "item.createindustry.lithium_blade.tooltip.condition1": "When R-Clicked when Off", + "item.createindustry.lithium_blade.tooltip.condition2": "When R-Clicking when On", + "item.createindustry.lithium_blade.tooltip.summary": "Using _Steel Ingot_Lithium Charges_, this Blade is set aflame burning enemies and shooting out Bolts of _Hellfire_", + "item.createindustry.lithium_charge": "Lithium Charge", + "item.createindustry.lithium_ingot": "Lithium Ingot", + "item.createindustry.lpg_bucket": "Lpg Tank", + "item.createindustry.lubrication_oil_bucket": "Lubrication Oil Bucket", + "item.createindustry.magnetic_ingot": "Magnetic Ingot", + "item.createindustry.molten_slag_bucket": "Molten Slag Bucket", + "item.createindustry.molten_steel_bucket": "Molten Steel Bucket", + "item.createindustry.napalm_bucket": "Napalm Bucket", + "item.createindustry.napalm_potato": "Napalm Potato", + "item.createindustry.naphtha_bucket": "Naphtha Bucket", + "item.createindustry.neon_bucket": "Neon Tank", + "item.createindustry.nickel_ingot": "Nickel Ingot", + "item.createindustry.nitrate_dust": "Nitrate Dust", + "item.createindustry.pipe_bomb": "Pipe Bomb", + "item.createindustry.pipebomb.tooltip.summary": "So cool", + "item.createindustry.plastic_sheet": "Plastic Sheet", + "item.createindustry.propane_bucket": "Propane Tank", + "item.createindustry.propylene_bucket": "Propylene Tank", + "item.createindustry.quad_potato_cannon": "Quad Potato Cannon", + "item.createindustry.quad_potato_cannon.tooltip.behaviour1": "_Shoots_ a suitable item from your _Inventory_.", + "item.createindustry.quad_potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", + "item.createindustry.quad_potato_cannon.tooltip.condition1": "When R-Clicked", + "item.createindustry.quad_potato_cannon.tooltip.condition2": "While wearing Backtank", + "item.createindustry.quad_potato_cannon.tooltip.summary": "Launches 4 of your home-grown vegetables at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", + "item.createindustry.raw_lead": "Raw Lead", + "item.createindustry.raw_lithium": "Raw Lithium", + "item.createindustry.raw_nickel": "Raw Nickel", + "item.createindustry.rebar": "Rebar", + "item.createindustry.resistor_": "Resistor", + "item.createindustry.screw": "Screw", + "item.createindustry.screwdriver": "Screwdriver", + "item.createindustry.screwdriver.tooltip.behaviour1": "Locks _Pipe_ in its current rotation allowing for _Pipes_ to be placed next to eachother _Without Connecting_", + "item.createindustry.screwdriver.tooltip.condition1": "When R-Clicking pipe", + "item.createindustry.screwdriver.tooltip.summary": "Can lock pipes in place", + "item.createindustry.slag": "Slag", + "item.createindustry.spark_plug": "Spark Plug", + "item.createindustry.steel_axe": "Steel Axe", + "item.createindustry.steel_boots": "Steel Boots", + "item.createindustry.steel_chestplate": "Steel Chestplate", + "item.createindustry.steel_helmet": "Steel Helmet", + "item.createindustry.steel_hoe": "Steel Hoe", + "item.createindustry.steel_ingot": "Steel Ingot", + "item.createindustry.steel_leggings": "Steel Leggings", + "item.createindustry.steel_mechanism": "Steel Mechanism", + "item.createindustry.steel_pickaxe": "Steel Pickaxe", + "item.createindustry.steel_shovel": "Steel Shovel", + "item.createindustry.steel_sword": "Steel Sword", + "item.createindustry.steel_vertical_gearbox": "Steel Vertical Gearbox", + "item.createindustry.sulfur_dust": "Sulfur Dust", + "item.createindustry.sulfuric_acid_bucket": "Sulfuric Acid Bucket", + "item.createindustry.synthetic_leather": "Synthetic Leather", + "item.createindustry.synthetic_string": "Synthetic String", + "item.createindustry.thermite_grenade": "Thermite Grenade", + "item.createindustry.thermite_powder": "Thermite Powder", + "item.createindustry.turbine_blade": "Turbine Blade", + "item.createindustry.unfinished_gasoline_engine": "Unfinished Gasoline Engine", + "item.createindustry.unfinished_lpg_engine": "Unfinished Lpg Engine", + "item.createindustry.unfinished_steel_mechanism": "Unfinished Steel Mechanism", + "item.createindustry.unfinished_turbine_engine": "Unfinished Turbine Engine", + "item.createindustry.unprocessed_heavy_plate": "Unprocessed Heavy Plate", + "item.createindustry.zinc_grenade": "Zinc Grenade", + "item.createindustry.zinc_sulfate": "Zinc Sulfate", + "item.minecraft.lingering_potion.effect.frostbite_potion": "Lingering Potion of Frostbite", + "item.minecraft.lingering_potion.effect.hellfire_potion": "Lingering Potion of Hellfire", + "item.minecraft.potion.effect.frostbite_potion": "Potion of Frostbite", + "item.minecraft.potion.effect.hellfire_potion": "Potion of Hellfire", + "item.minecraft.splash_potion.effect.frostbite_potion": "Splash Potion of Frostbite", + "item.minecraft.splash_potion.effect.hellfire_potion": "Splash Potion of Hellfire", + "item.minecraft.tipped_arrow.effect.frostbite_potion": "Arrow of Frostbite", + "item.minecraft.tipped_arrow.effect.hellfire_potion": "Arrow of Hellfire", + "itemGroup.createindustry.base": "Create: The Factory Must Grow", + "itemGroup.createindustry.building": "Create: TFMG Building Blocks" } \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/fluid_output.json b/src/generated/resources/assets/createindustry/models/block/fluid_output.json new file mode 100644 index 00000000..29178aad --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/fluid_output.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "createindustry:block/fluid_output" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/item/blast_furnace_gas_bucket.json b/src/generated/resources/assets/createindustry/models/item/blast_furnace_gas_bucket.json new file mode 100644 index 00000000..8bd1ce8c --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/item/blast_furnace_gas_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "createindustry:item/blast_furnace_gas_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/item/blast_stove.json b/src/generated/resources/assets/createindustry/models/item/blast_stove.json new file mode 100644 index 00000000..e1e9d3b4 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/item/blast_stove.json @@ -0,0 +1,3 @@ +{ + "parent": "createindustry:block/blast_stove/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/item/fluid_output.json b/src/generated/resources/assets/createindustry/models/item/fluid_output.json new file mode 100644 index 00000000..31b51b51 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/item/fluid_output.json @@ -0,0 +1,3 @@ +{ + "parent": "createindustry:block/fluid_output" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/item/heated_air_bucket.json b/src/generated/resources/assets/createindustry/models/item/heated_air_bucket.json new file mode 100644 index 00000000..15469164 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/item/heated_air_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "createindustry:item/heated_air_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/black_concrete_slab_from_black_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/black_concrete_slab_from_black_concrete_stonecutting.json new file mode 100644 index 00000000..f08dba0d --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/black_concrete_slab_from_black_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:black_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:black_concrete_slab_from_black_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_black_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:black_concrete_slab_from_black_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/black_concrete_stairs_from_black_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/black_concrete_stairs_from_black_concrete_stonecutting.json new file mode 100644 index 00000000..98f4a668 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/black_concrete_stairs_from_black_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:black_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:black_concrete_stairs_from_black_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_black_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:black_concrete_stairs_from_black_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/black_concrete_wall_from_black_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/black_concrete_wall_from_black_concrete_stonecutting.json new file mode 100644 index 00000000..badf5af1 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/black_concrete_wall_from_black_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:black_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:black_concrete_wall_from_black_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_black_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:black_concrete_wall_from_black_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/blue_concrete_slab_from_blue_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/blue_concrete_slab_from_blue_concrete_stonecutting.json new file mode 100644 index 00000000..bccee0a0 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/blue_concrete_slab_from_blue_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:blue_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:blue_concrete_slab_from_blue_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_blue_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:blue_concrete_slab_from_blue_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/blue_concrete_stairs_from_blue_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/blue_concrete_stairs_from_blue_concrete_stonecutting.json new file mode 100644 index 00000000..1f6229b7 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/blue_concrete_stairs_from_blue_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:blue_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:blue_concrete_stairs_from_blue_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_blue_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:blue_concrete_stairs_from_blue_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/blue_concrete_wall_from_blue_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/blue_concrete_wall_from_blue_concrete_stonecutting.json new file mode 100644 index 00000000..372a3e6b --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/blue_concrete_wall_from_blue_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:blue_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:blue_concrete_wall_from_blue_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_blue_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:blue_concrete_wall_from_blue_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/brown_concrete_slab_from_brown_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/brown_concrete_slab_from_brown_concrete_stonecutting.json new file mode 100644 index 00000000..dc331900 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/brown_concrete_slab_from_brown_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_brown_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:brown_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:brown_concrete_slab_from_brown_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_brown_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:brown_concrete_slab_from_brown_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/brown_concrete_stairs_from_brown_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/brown_concrete_stairs_from_brown_concrete_stonecutting.json new file mode 100644 index 00000000..bbc75303 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/brown_concrete_stairs_from_brown_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_brown_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:brown_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:brown_concrete_stairs_from_brown_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_brown_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:brown_concrete_stairs_from_brown_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/brown_concrete_wall_from_brown_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/brown_concrete_wall_from_brown_concrete_stonecutting.json new file mode 100644 index 00000000..c750a09e --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/brown_concrete_wall_from_brown_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_brown_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:brown_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:brown_concrete_wall_from_brown_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_brown_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:brown_concrete_wall_from_brown_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_slab_from_cyan_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_slab_from_cyan_concrete_stonecutting.json new file mode 100644 index 00000000..459b329c --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_slab_from_cyan_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:cyan_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:cyan_concrete_slab_from_cyan_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cyan_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:cyan_concrete_slab_from_cyan_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json new file mode 100644 index 00000000..301ed3ef --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:cyan_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:cyan_concrete_stairs_from_cyan_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cyan_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:cyan_concrete_stairs_from_cyan_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_wall_from_cyan_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_wall_from_cyan_concrete_stonecutting.json new file mode 100644 index 00000000..83eecb48 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/cyan_concrete_wall_from_cyan_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:cyan_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:cyan_concrete_wall_from_cyan_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cyan_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:cyan_concrete_wall_from_cyan_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/gray_concrete_slab_from_gray_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/gray_concrete_slab_from_gray_concrete_stonecutting.json new file mode 100644 index 00000000..65909e79 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/gray_concrete_slab_from_gray_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_gray_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:gray_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:gray_concrete_slab_from_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_gray_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:gray_concrete_slab_from_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/gray_concrete_stairs_from_gray_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/gray_concrete_stairs_from_gray_concrete_stonecutting.json new file mode 100644 index 00000000..1d6de579 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/gray_concrete_stairs_from_gray_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_gray_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:gray_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:gray_concrete_stairs_from_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_gray_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:gray_concrete_stairs_from_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/gray_concrete_wall_from_gray_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/gray_concrete_wall_from_gray_concrete_stonecutting.json new file mode 100644 index 00000000..37b0f891 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/gray_concrete_wall_from_gray_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_gray_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:gray_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:gray_concrete_wall_from_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_gray_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:gray_concrete_wall_from_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/green_concrete_slab_from_green_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/green_concrete_slab_from_green_concrete_stonecutting.json new file mode 100644 index 00000000..173bd3fe --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/green_concrete_slab_from_green_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_green_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:green_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:green_concrete_slab_from_green_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_green_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:green_concrete_slab_from_green_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/green_concrete_stairs_from_green_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/green_concrete_stairs_from_green_concrete_stonecutting.json new file mode 100644 index 00000000..defad769 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/green_concrete_stairs_from_green_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_green_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:green_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:green_concrete_stairs_from_green_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_green_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:green_concrete_stairs_from_green_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/green_concrete_wall_from_green_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/green_concrete_wall_from_green_concrete_stonecutting.json new file mode 100644 index 00000000..0ccf58ad --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/green_concrete_wall_from_green_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_green_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:green_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:green_concrete_wall_from_green_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_green_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:green_concrete_wall_from_green_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json new file mode 100644 index 00000000..17f5373c --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_blue_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:light_blue_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:light_blue_concrete_slab_from_light_blue_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_light_blue_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:light_blue_concrete_slab_from_light_blue_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json new file mode 100644 index 00000000..504cd90d --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_blue_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:light_blue_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:light_blue_concrete_stairs_from_light_blue_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_light_blue_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:light_blue_concrete_stairs_from_light_blue_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json new file mode 100644 index 00000000..423cc478 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_blue_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:light_blue_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:light_blue_concrete_wall_from_light_blue_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_light_blue_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:light_blue_concrete_wall_from_light_blue_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json new file mode 100644 index 00000000..6119bc15 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_gray_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:light_gray_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:light_gray_concrete_slab_from_light_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_light_gray_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:light_gray_concrete_slab_from_light_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json new file mode 100644 index 00000000..0bf57458 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_gray_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:light_gray_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:light_gray_concrete_stairs_from_light_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_light_gray_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:light_gray_concrete_stairs_from_light_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json new file mode 100644 index 00000000..be98c396 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_gray_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:light_gray_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:light_gray_concrete_wall_from_light_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_light_gray_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:light_gray_concrete_wall_from_light_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/lime_concrete_slab_from_lime_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/lime_concrete_slab_from_lime_concrete_stonecutting.json new file mode 100644 index 00000000..80f5995a --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/lime_concrete_slab_from_lime_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lime_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:lime_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:lime_concrete_slab_from_lime_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_lime_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:lime_concrete_slab_from_lime_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/lime_concrete_stairs_from_lime_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/lime_concrete_stairs_from_lime_concrete_stonecutting.json new file mode 100644 index 00000000..95ccf473 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/lime_concrete_stairs_from_lime_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lime_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:lime_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:lime_concrete_stairs_from_lime_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_lime_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:lime_concrete_stairs_from_lime_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/lime_concrete_wall_from_lime_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/lime_concrete_wall_from_lime_concrete_stonecutting.json new file mode 100644 index 00000000..a422d0a1 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/lime_concrete_wall_from_lime_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lime_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:lime_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:lime_concrete_wall_from_lime_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_lime_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:lime_concrete_wall_from_lime_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_slab_from_magenta_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_slab_from_magenta_concrete_stonecutting.json new file mode 100644 index 00000000..6c8e1bb4 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_slab_from_magenta_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_magenta_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:magenta_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:magenta_concrete_slab_from_magenta_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_magenta_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:magenta_concrete_slab_from_magenta_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json new file mode 100644 index 00000000..b904546b --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_magenta_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:magenta_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:magenta_concrete_stairs_from_magenta_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_magenta_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:magenta_concrete_stairs_from_magenta_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_wall_from_magenta_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_wall_from_magenta_concrete_stonecutting.json new file mode 100644 index 00000000..c8e1970a --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/magenta_concrete_wall_from_magenta_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_magenta_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:magenta_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:magenta_concrete_wall_from_magenta_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_magenta_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:magenta_concrete_wall_from_magenta_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/orange_concrete_slab_from_orange_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/orange_concrete_slab_from_orange_concrete_stonecutting.json new file mode 100644 index 00000000..894e0c3f --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/orange_concrete_slab_from_orange_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_orange_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:orange_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:orange_concrete_slab_from_orange_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_orange_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:orange_concrete_slab_from_orange_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/orange_concrete_stairs_from_orange_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/orange_concrete_stairs_from_orange_concrete_stonecutting.json new file mode 100644 index 00000000..dfd748d3 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/orange_concrete_stairs_from_orange_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_orange_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:orange_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:orange_concrete_stairs_from_orange_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_orange_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:orange_concrete_stairs_from_orange_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/orange_concrete_wall_from_orange_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/orange_concrete_wall_from_orange_concrete_stonecutting.json new file mode 100644 index 00000000..428cb739 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/orange_concrete_wall_from_orange_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_orange_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:orange_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:orange_concrete_wall_from_orange_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_orange_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:orange_concrete_wall_from_orange_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/pink_concrete_slab_from_pink_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/pink_concrete_slab_from_pink_concrete_stonecutting.json new file mode 100644 index 00000000..7bd8a4ae --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/pink_concrete_slab_from_pink_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:pink_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:pink_concrete_slab_from_pink_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_pink_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:pink_concrete_slab_from_pink_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/pink_concrete_stairs_from_pink_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/pink_concrete_stairs_from_pink_concrete_stonecutting.json new file mode 100644 index 00000000..f2ce6320 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/pink_concrete_stairs_from_pink_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:pink_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:pink_concrete_stairs_from_pink_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_pink_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:pink_concrete_stairs_from_pink_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/pink_concrete_wall_from_pink_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/pink_concrete_wall_from_pink_concrete_stonecutting.json new file mode 100644 index 00000000..ab10fd4f --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/pink_concrete_wall_from_pink_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:pink_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:pink_concrete_wall_from_pink_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_pink_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:pink_concrete_wall_from_pink_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..b72edd0e --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "tag": "createindustry:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_bauxite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/purple_concrete_slab_from_purple_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/purple_concrete_slab_from_purple_concrete_stonecutting.json new file mode 100644 index 00000000..5344ad2c --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/purple_concrete_slab_from_purple_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_purple_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:purple_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:purple_concrete_slab_from_purple_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_purple_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:purple_concrete_slab_from_purple_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/purple_concrete_stairs_from_purple_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/purple_concrete_stairs_from_purple_concrete_stonecutting.json new file mode 100644 index 00000000..ad17648f --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/purple_concrete_stairs_from_purple_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_purple_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:purple_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:purple_concrete_stairs_from_purple_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_purple_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:purple_concrete_stairs_from_purple_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/purple_concrete_wall_from_purple_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/purple_concrete_wall_from_purple_concrete_stonecutting.json new file mode 100644 index 00000000..bc785072 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/purple_concrete_wall_from_purple_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_purple_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:purple_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:purple_concrete_wall_from_purple_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_purple_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:purple_concrete_wall_from_purple_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/red_concrete_slab_from_red_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/red_concrete_slab_from_red_concrete_stonecutting.json new file mode 100644 index 00000000..87fa0bca --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/red_concrete_slab_from_red_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_red_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:red_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:red_concrete_slab_from_red_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:red_concrete_slab_from_red_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/red_concrete_stairs_from_red_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/red_concrete_stairs_from_red_concrete_stonecutting.json new file mode 100644 index 00000000..1bec7dfb --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/red_concrete_stairs_from_red_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_red_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:red_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:red_concrete_stairs_from_red_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:red_concrete_stairs_from_red_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/red_concrete_wall_from_red_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/red_concrete_wall_from_red_concrete_stonecutting.json new file mode 100644 index 00000000..31ec8955 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/red_concrete_wall_from_red_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_red_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:red_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:red_concrete_wall_from_red_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:red_concrete_wall_from_red_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..70454f53 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "tag": "createindustry:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_bauxite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/white_concrete_slab_from_white_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/white_concrete_slab_from_white_concrete_stonecutting.json new file mode 100644 index 00000000..e27fb2d8 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/white_concrete_slab_from_white_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:white_concrete_slab_from_white_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:white_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_white_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:white_concrete_slab_from_white_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/white_concrete_stairs_from_white_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/white_concrete_stairs_from_white_concrete_stonecutting.json new file mode 100644 index 00000000..f3eae0d6 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/white_concrete_stairs_from_white_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:white_concrete_stairs_from_white_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:white_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_white_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:white_concrete_stairs_from_white_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/white_concrete_wall_from_white_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/white_concrete_wall_from_white_concrete_stonecutting.json new file mode 100644 index 00000000..13ca080a --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/white_concrete_wall_from_white_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:white_concrete_wall_from_white_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:white_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_white_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:white_concrete_wall_from_white_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_slab_from_yellow_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_slab_from_yellow_concrete_stonecutting.json new file mode 100644 index 00000000..5d6be7c5 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_slab_from_yellow_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:yellow_concrete_slab_from_yellow_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:yellow_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_yellow_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:yellow_concrete_slab_from_yellow_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json new file mode 100644 index 00000000..9d8ee4db --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:yellow_concrete_stairs_from_yellow_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:yellow_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_yellow_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:yellow_concrete_stairs_from_yellow_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_wall_from_yellow_concrete_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_wall_from_yellow_concrete_stonecutting.json new file mode 100644 index 00000000..c0172536 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/yellow_concrete_wall_from_yellow_concrete_stonecutting.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "createindustry:yellow_concrete_wall_from_yellow_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_concrete": { + "conditions": { + "items": [ + { + "items": [ + "createindustry:yellow_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_yellow_concrete", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:yellow_concrete_wall_from_yellow_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/loot_tables/blocks/blast_stove.json b/src/generated/resources/data/createindustry/loot_tables/blocks/blast_stove.json new file mode 100644 index 00000000..e96693ff --- /dev/null +++ b/src/generated/resources/data/createindustry/loot_tables/blocks/blast_stove.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createindustry:blast_stove" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/loot_tables/blocks/fluid_output.json b/src/generated/resources/data/createindustry/loot_tables/blocks/fluid_output.json new file mode 100644 index 00000000..98a0a49c --- /dev/null +++ b/src/generated/resources/data/createindustry/loot_tables/blocks/fluid_output.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "createindustry:fluid_output" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/loot_tables/blocks/red_caution_block.json b/src/generated/resources/data/createindustry/loot_tables/blocks/red_caution_block.json index 38fe9914..22b7ea54 100644 --- a/src/generated/resources/data/createindustry/loot_tables/blocks/red_caution_block.json +++ b/src/generated/resources/data/createindustry/loot_tables/blocks/red_caution_block.json @@ -11,7 +11,7 @@ "entries": [ { "type": "minecraft:item", - "name": "minecraft:air" + "name": "createindustry:red_caution_block" } ], "rolls": 1.0 diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/black_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/black_concrete_slab_from_black_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/black_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/black_concrete_slab_from_black_concrete_stonecutting.json index b6fe29f6..32a89ce2 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/black_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/black_concrete_slab_from_black_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:black_concrete" }, - "result": "createindustry:black_concrete_slab", - "count": 2 + "result": "createindustry:black_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/black_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/black_concrete_stairs_from_black_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/black_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/black_concrete_stairs_from_black_concrete_stonecutting.json index c14bac35..80877cab 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/black_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/black_concrete_stairs_from_black_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:black_concrete" }, - "result": "createindustry:black_concrete_stairs", - "count": 1 + "result": "createindustry:black_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/black_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/black_concrete_wall_from_black_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/black_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/black_concrete_wall_from_black_concrete_stonecutting.json index f6912d33..8bb3b2cc 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/black_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/black_concrete_wall_from_black_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:black_concrete" }, - "result": "createindustry:black_concrete_wall", - "count": 1 + "result": "createindustry:black_concrete_wall" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/blue_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/blue_concrete_slab_from_blue_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/blue_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/blue_concrete_slab_from_blue_concrete_stonecutting.json index 5f542b6e..9d980d1a 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/blue_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/blue_concrete_slab_from_blue_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:blue_concrete" }, - "result": "createindustry:blue_concrete_wall", - "count": 1 + "result": "createindustry:blue_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/blue_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/blue_concrete_stairs_from_blue_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/blue_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/blue_concrete_stairs_from_blue_concrete_stonecutting.json index 9afd3a97..9585759b 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/blue_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/blue_concrete_stairs_from_blue_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:blue_concrete" }, - "result": "createindustry:blue_concrete_stairs", - "count": 1 + "result": "createindustry:blue_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/blue_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/blue_concrete_wall_from_blue_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/blue_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/blue_concrete_wall_from_blue_concrete_stonecutting.json index a449c7ba..25e1c0ff 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/blue_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/blue_concrete_wall_from_blue_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:blue_concrete" }, - "result": "createindustry:blue_concrete_slab", - "count": 2 + "result": "createindustry:blue_concrete_wall" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/brown_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/brown_concrete_slab_from_brown_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/brown_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/brown_concrete_slab_from_brown_concrete_stonecutting.json index 08e582d8..d9b8331a 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/brown_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/brown_concrete_slab_from_brown_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:brown_concrete" }, - "result": "createindustry:brown_concrete_slab", - "count": 2 + "result": "createindustry:brown_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/brown_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/brown_concrete_stairs_from_brown_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/brown_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/brown_concrete_stairs_from_brown_concrete_stonecutting.json index 580f8fcf..cfbdc3fc 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/brown_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/brown_concrete_stairs_from_brown_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:brown_concrete" }, - "result": "createindustry:brown_concrete_stairs", - "count": 1 + "result": "createindustry:brown_concrete_stairs" } \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/recipes/brown_concrete_wall_from_brown_concrete_stonecutting.json b/src/generated/resources/data/createindustry/recipes/brown_concrete_wall_from_brown_concrete_stonecutting.json new file mode 100644 index 00000000..1e6bd421 --- /dev/null +++ b/src/generated/resources/data/createindustry/recipes/brown_concrete_wall_from_brown_concrete_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "item": "createindustry:brown_concrete" + }, + "result": "createindustry:brown_concrete_wall" +} \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/casting/steel.json b/src/generated/resources/data/createindustry/recipes/casting/steel.json similarity index 80% rename from src/main/resources/data/createindustry/recipes/casting/steel.json rename to src/generated/resources/data/createindustry/recipes/casting/steel.json index 700e8fae..30b275ec 100644 --- a/src/main/resources/data/createindustry/recipes/casting/steel.json +++ b/src/generated/resources/data/createindustry/recipes/casting/steel.json @@ -2,21 +2,18 @@ "type": "createindustry:casting", "ingredients": [ { + "amount": 1, "fluid": "createindustry:molten_steel", - "amount": 1 + "nbt": {} } ], "processingTime": 300, "results": [ { - "count": 1, "item": "createindustry:steel_ingot" - } - , + }, { - "count": 1, "item": "createindustry:steel_block" } - ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/coking/charcoal.json b/src/generated/resources/data/createindustry/recipes/coking/charcoal.json similarity index 65% rename from src/main/resources/data/createindustry/recipes/coking/charcoal.json rename to src/generated/resources/data/createindustry/recipes/coking/charcoal.json index f84243c9..0afa03f6 100644 --- a/src/main/resources/data/createindustry/recipes/coking/charcoal.json +++ b/src/generated/resources/data/createindustry/recipes/coking/charcoal.json @@ -2,21 +2,17 @@ "type": "createindustry:coking", "ingredients": [ { - "count": 1, "item": "minecraft:coal" } ], "processingTime": 400, "results": [ { - "count": 1, "item": "minecraft:charcoal" - } - , + }, { - "fluid": "createindustry:creosote", - "amount": 1 + "amount": 1, + "fluid": "createindustry:creosote" } - ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/coking/coal_coke.json b/src/generated/resources/data/createindustry/recipes/coking/coal_coke.json similarity index 66% rename from src/main/resources/data/createindustry/recipes/coking/coal_coke.json rename to src/generated/resources/data/createindustry/recipes/coking/coal_coke.json index 25911eb4..8a616e55 100644 --- a/src/main/resources/data/createindustry/recipes/coking/coal_coke.json +++ b/src/generated/resources/data/createindustry/recipes/coking/coal_coke.json @@ -2,21 +2,17 @@ "type": "createindustry:coking", "ingredients": [ { - "count": 1, "item": "minecraft:coal" } ], "processingTime": 1000, "results": [ { - "count": 1, "item": "createindustry:coal_coke" - } - , + }, { - "fluid": "createindustry:creosote", - "amount": 1 + "amount": 1, + "fluid": "createindustry:creosote" } - ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/compacting/bitumen.json b/src/generated/resources/data/createindustry/recipes/compacting/bitumen.json similarity index 80% rename from src/main/resources/data/createindustry/recipes/compacting/bitumen.json rename to src/generated/resources/data/createindustry/recipes/compacting/bitumen.json index a4318f33..1e8936f9 100644 --- a/src/main/resources/data/createindustry/recipes/compacting/bitumen.json +++ b/src/generated/resources/data/createindustry/recipes/compacting/bitumen.json @@ -1,14 +1,11 @@ - { "type": "create:compacting", "ingredients": [ - { + "amount": 10, "fluid": "createindustry:heavy_oil", - "amount": 10 - } - - + "nbt": {} + } ], "results": [ { diff --git a/src/generated/resources/data/createindustry/recipes/compacting/cinderflourblock.json b/src/generated/resources/data/createindustry/recipes/compacting/cinderflourblock.json new file mode 100644 index 00000000..32c92aea --- /dev/null +++ b/src/generated/resources/data/createindustry/recipes/compacting/cinderflourblock.json @@ -0,0 +1,16 @@ +{ + "type": "create:compacting", + "ingredients": [ + { + "item": "create:cinder_flour" + }, + { + "item": "create:cinder_flour" + } + ], + "results": [ + { + "item": "createindustry:cinderflour_block" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/compacting/plastic_molding.json b/src/generated/resources/data/createindustry/recipes/compacting/plastic_molding.json similarity index 81% rename from src/main/resources/data/createindustry/recipes/compacting/plastic_molding.json rename to src/generated/resources/data/createindustry/recipes/compacting/plastic_molding.json index 4db77c8e..d806255a 100644 --- a/src/main/resources/data/createindustry/recipes/compacting/plastic_molding.json +++ b/src/generated/resources/data/createindustry/recipes/compacting/plastic_molding.json @@ -1,14 +1,11 @@ - { "type": "create:compacting", "ingredients": [ - { + "amount": 200, "fluid": "createindustry:liquid_plastic", - "amount": 200 - } - - + "nbt": {} + } ], "results": [ { diff --git a/src/main/resources/data/createindustry/recipes/compacting/steel_block.json b/src/generated/resources/data/createindustry/recipes/compacting/steel_block.json similarity index 87% rename from src/main/resources/data/createindustry/recipes/compacting/steel_block.json rename to src/generated/resources/data/createindustry/recipes/compacting/steel_block.json index 1b0cc765..7a7c16ab 100644 --- a/src/main/resources/data/createindustry/recipes/compacting/steel_block.json +++ b/src/generated/resources/data/createindustry/recipes/compacting/steel_block.json @@ -1,36 +1,33 @@ - { "type": "create:compacting", "ingredients": [ { "item": "createindustry:steel_ingot" - }, + }, { "item": "createindustry:steel_ingot" - }, + }, { "item": "createindustry:steel_ingot" - }, + }, { "item": "createindustry:steel_ingot" - }, + }, { "item": "createindustry:steel_ingot" - }, + }, { "item": "createindustry:steel_ingot" - }, + }, { "item": "createindustry:steel_ingot" - }, + }, { "item": "createindustry:steel_ingot" - }, + }, { "item": "createindustry:steel_ingot" - } - - + } ], "results": [ { diff --git a/src/main/resources/data/createindustry/recipes/compacting/thermite_powder.json b/src/generated/resources/data/createindustry/recipes/compacting/thermite_powder.json similarity index 90% rename from src/main/resources/data/createindustry/recipes/compacting/thermite_powder.json rename to src/generated/resources/data/createindustry/recipes/compacting/thermite_powder.json index f9e05669..68203700 100644 --- a/src/main/resources/data/createindustry/recipes/compacting/thermite_powder.json +++ b/src/generated/resources/data/createindustry/recipes/compacting/thermite_powder.json @@ -1,17 +1,12 @@ - { "type": "create:compacting", "ingredients": [ - { "tag": "forge:ingots/aluminum" - }, + }, { "item": "create:crimsite" - } - - - + } ], "results": [ { diff --git a/src/main/resources/data/createindustry/recipes/crushing/bauxite_recycling.json b/src/generated/resources/data/createindustry/recipes/crushing/bauxite_recycling.json similarity index 57% rename from src/main/resources/data/createindustry/recipes/crushing/bauxite_recycling.json rename to src/generated/resources/data/createindustry/recipes/crushing/bauxite_recycling.json index 2e4f9263..2b65a567 100644 --- a/src/main/resources/data/createindustry/recipes/crushing/bauxite_recycling.json +++ b/src/generated/resources/data/createindustry/recipes/crushing/bauxite_recycling.json @@ -5,19 +5,18 @@ "tag": "createindustry:stone_types/bauxite" } ], + "processingTime": 250, "results": [ { "item": "create:crushed_raw_aluminum" }, { - "item": "create:crushed_raw_aluminum", - "chance": 0.25 + "chance": 0.25, + "item": "create:crushed_raw_aluminum" }, { - "item": "create:experience_nugget", - "chance": 0.15 + "chance": 0.15, + "item": "create:experience_nugget" } - ], - "processingTime": 250 - + ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/crushing/coal_coke_dust.json b/src/generated/resources/data/createindustry/recipes/crushing/coal_coke_dust.json similarity index 85% rename from src/main/resources/data/createindustry/recipes/crushing/coal_coke_dust.json rename to src/generated/resources/data/createindustry/recipes/crushing/coal_coke_dust.json index fddff594..c6373741 100644 --- a/src/main/resources/data/createindustry/recipes/crushing/coal_coke_dust.json +++ b/src/generated/resources/data/createindustry/recipes/crushing/coal_coke_dust.json @@ -5,11 +5,10 @@ "item": "createindustry:coal_coke" } ], + "processingTime": 250, "results": [ { "item": "createindustry:coal_coke_dust" } - ], - "processingTime": 250 - + ] } \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/recipes/crushing/copper_sulfate.json b/src/generated/resources/data/createindustry/recipes/crushing/copper_sulfate.json new file mode 100644 index 00000000..20ee9457 --- /dev/null +++ b/src/generated/resources/data/createindustry/recipes/crushing/copper_sulfate.json @@ -0,0 +1,28 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "createindustry:copper_sulfate" + } + ], + "processingTime": 100, + "results": [ + { + "count": 4, + "item": "minecraft:bone_meal" + }, + { + "chance": 0.5, + "count": 3, + "item": "minecraft:bone_meal" + }, + { + "chance": 0.5, + "item": "minecraft:blue_dye" + }, + { + "chance": 0.3, + "item": "minecraft:cyan_dye" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/crushing/galena_recycling.json b/src/generated/resources/data/createindustry/recipes/crushing/galena_recycling.json similarity index 67% rename from src/main/resources/data/createindustry/recipes/crushing/galena_recycling.json rename to src/generated/resources/data/createindustry/recipes/crushing/galena_recycling.json index 94345e55..bb470df4 100644 --- a/src/main/resources/data/createindustry/recipes/crushing/galena_recycling.json +++ b/src/generated/resources/data/createindustry/recipes/crushing/galena_recycling.json @@ -5,15 +5,14 @@ "tag": "createindustry:stone_types/galena" } ], + "processingTime": 250, "results": [ { "item": "create:crushed_raw_lead" }, { - "item": "create:experience_nugget", - "chance": 0.15 + "chance": 0.15, + "item": "create:experience_nugget" } - ], - "processingTime": 250 - + ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/crushing/lignite.json b/src/generated/resources/data/createindustry/recipes/crushing/lignite.json similarity index 84% rename from src/main/resources/data/createindustry/recipes/crushing/lignite.json rename to src/generated/resources/data/createindustry/recipes/crushing/lignite.json index a3232233..e80e02c2 100644 --- a/src/main/resources/data/createindustry/recipes/crushing/lignite.json +++ b/src/generated/resources/data/createindustry/recipes/crushing/lignite.json @@ -5,11 +5,10 @@ "item": "createindustry:lignite" } ], + "processingTime": 250, "results": [ { "item": "minecraft:coal" } - ], - "processingTime": 250 - + ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/crushing/limesand.json b/src/generated/resources/data/createindustry/recipes/crushing/limesand.json similarity index 84% rename from src/main/resources/data/createindustry/recipes/crushing/limesand.json rename to src/generated/resources/data/createindustry/recipes/crushing/limesand.json index 75ba674b..9b5a40ca 100644 --- a/src/main/resources/data/createindustry/recipes/crushing/limesand.json +++ b/src/generated/resources/data/createindustry/recipes/crushing/limesand.json @@ -1,4 +1,3 @@ - { "type": "create:crushing", "ingredients": [ @@ -6,11 +5,10 @@ "item": "create:limestone" } ], + "processingTime": 100, "results": [ { "item": "createindustry:limesand" - } - ], - "processingTime": 100 + ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/crushing/saltpeter.json b/src/generated/resources/data/createindustry/recipes/crushing/saltpeter.json similarity index 57% rename from src/main/resources/data/createindustry/recipes/crushing/saltpeter.json rename to src/generated/resources/data/createindustry/recipes/crushing/saltpeter.json index 3da73c85..2aab35ac 100644 --- a/src/main/resources/data/createindustry/recipes/crushing/saltpeter.json +++ b/src/generated/resources/data/createindustry/recipes/crushing/saltpeter.json @@ -5,12 +5,11 @@ "item": "minecraft:dirt" } ], + "processingTime": 350, "results": [ { - "item": "createindustry:nitrate_dust", - "chance": 0.2 + "chance": 0.2, + "item": "createindustry:nitrate_dust" } - ], - "processingTime": 350 - + ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/crushing/sulfur.json b/src/generated/resources/data/createindustry/recipes/crushing/sulfur.json similarity index 66% rename from src/main/resources/data/createindustry/recipes/crushing/sulfur.json rename to src/generated/resources/data/createindustry/recipes/crushing/sulfur.json index 078ea8a1..be189f00 100644 --- a/src/main/resources/data/createindustry/recipes/crushing/sulfur.json +++ b/src/generated/resources/data/createindustry/recipes/crushing/sulfur.json @@ -5,15 +5,14 @@ "item": "createindustry:sulfur" } ], + "processingTime": 250, "results": [ { "item": "createindustry:sulfur_dust" }, { - "item": "createindustry:sulfur_dust", - "chance": 0.1 + "chance": 0.1, + "item": "createindustry:sulfur_dust" } - ], - "processingTime": 250 - + ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/cyan_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/cyan_concrete_slab_from_cyan_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/cyan_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/cyan_concrete_slab_from_cyan_concrete_stonecutting.json index 3414a31a..380aa9c7 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/cyan_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/cyan_concrete_slab_from_cyan_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:cyan_concrete" }, - "result": "createindustry:cyan_concrete_wall", - "count": 1 + "result": "createindustry:cyan_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/brown_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json similarity index 65% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/brown_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json index 1b6bdaf5..00746121 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/brown_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { - "item": "createindustry:brown_concrete" + "item": "createindustry:cyan_concrete" }, - "result": "createindustry:brown_concrete_wall", - "count": 1 + "result": "createindustry:cyan_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/cyan_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/cyan_concrete_wall_from_cyan_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/cyan_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/cyan_concrete_wall_from_cyan_concrete_stonecutting.json index 09908c36..191e8d55 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/cyan_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/cyan_concrete_wall_from_cyan_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:cyan_concrete" }, - "result": "createindustry:cyan_concrete_slab", - "count": 2 + "result": "createindustry:cyan_concrete_wall" } \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/recipes/distillation/crude_oil.json b/src/generated/resources/data/createindustry/recipes/distillation/crude_oil.json new file mode 100644 index 00000000..2eb257b0 --- /dev/null +++ b/src/generated/resources/data/createindustry/recipes/distillation/crude_oil.json @@ -0,0 +1,36 @@ +{ + "type": "createindustry:distillation", + "ingredients": [ + { + "amount": 360, + "fluid": "createindustry:crude_oil", + "nbt": {} + } + ], + "results": [ + { + "amount": 80, + "fluid": "createindustry:heavy_oil" + }, + { + "amount": 60, + "fluid": "createindustry:diesel" + }, + { + "amount": 40, + "fluid": "createindustry:kerosene" + }, + { + "amount": 40, + "fluid": "createindustry:naphtha" + }, + { + "amount": 80, + "fluid": "createindustry:gasoline" + }, + { + "amount": 60, + "fluid": "createindustry:lpg" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/recipes/distillation/crude_oil_no_naphtha.json b/src/generated/resources/data/createindustry/recipes/distillation/crude_oil_no_naphtha.json new file mode 100644 index 00000000..7aaaff8e --- /dev/null +++ b/src/generated/resources/data/createindustry/recipes/distillation/crude_oil_no_naphtha.json @@ -0,0 +1,32 @@ +{ + "type": "createindustry:distillation", + "ingredients": [ + { + "amount": 340, + "fluid": "createindustry:crude_oil", + "nbt": {} + } + ], + "results": [ + { + "amount": 80, + "fluid": "createindustry:heavy_oil" + }, + { + "amount": 60, + "fluid": "createindustry:diesel" + }, + { + "amount": 40, + "fluid": "createindustry:kerosene" + }, + { + "amount": 80, + "fluid": "createindustry:gasoline" + }, + { + "amount": 60, + "fluid": "createindustry:lpg" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/recipes/distillation/heavy_oil.json b/src/generated/resources/data/createindustry/recipes/distillation/heavy_oil.json new file mode 100644 index 00000000..2ef23a9f --- /dev/null +++ b/src/generated/resources/data/createindustry/recipes/distillation/heavy_oil.json @@ -0,0 +1,20 @@ +{ + "type": "createindustry:distillation", + "ingredients": [ + { + "amount": 150, + "fluid": "createindustry:heavy_oil", + "nbt": {} + } + ], + "results": [ + { + "amount": 100, + "fluid": "createindustry:diesel" + }, + { + "amount": 50, + "fluid": "createindustry:lubrication_oil" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/recipes/distillation/naphtha.json b/src/generated/resources/data/createindustry/recipes/distillation/naphtha.json new file mode 100644 index 00000000..dafe7713 --- /dev/null +++ b/src/generated/resources/data/createindustry/recipes/distillation/naphtha.json @@ -0,0 +1,20 @@ +{ + "type": "createindustry:distillation", + "ingredients": [ + { + "amount": 100, + "fluid": "createindustry:naphtha", + "nbt": {} + } + ], + "results": [ + { + "amount": 50, + "fluid": "createindustry:ethylene" + }, + { + "amount": 50, + "fluid": "createindustry:propylene" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/filling/air_tank.json b/src/generated/resources/data/createindustry/recipes/filling/air_tank.json similarity index 85% rename from src/main/resources/data/createindustry/recipes/filling/air_tank.json rename to src/generated/resources/data/createindustry/recipes/filling/air_tank.json index f4f7fb60..471fcf1b 100644 --- a/src/main/resources/data/createindustry/recipes/filling/air_tank.json +++ b/src/generated/resources/data/createindustry/recipes/filling/air_tank.json @@ -1,4 +1,3 @@ - { "type": "create:filling", "ingredients": [ @@ -6,9 +5,9 @@ "item": "minecraft:bucket" }, { + "amount": 1000, "fluid": "createindustry:air", - "nbt": {}, - "amount": 1000 + "nbt": {} } ], "results": [ diff --git a/src/main/resources/data/createindustry/recipes/filling/bottle_of_battery_acid.json b/src/generated/resources/data/createindustry/recipes/filling/bottle_of_battery_acid.json similarity index 86% rename from src/main/resources/data/createindustry/recipes/filling/bottle_of_battery_acid.json rename to src/generated/resources/data/createindustry/recipes/filling/bottle_of_battery_acid.json index 47514057..177506c9 100644 --- a/src/main/resources/data/createindustry/recipes/filling/bottle_of_battery_acid.json +++ b/src/generated/resources/data/createindustry/recipes/filling/bottle_of_battery_acid.json @@ -1,4 +1,3 @@ - { "type": "create:filling", "ingredients": [ @@ -6,9 +5,9 @@ "item": "minecraft:glass_bottle" }, { + "amount": 250, "fluid": "createindustry:sulfuric_acid", - "nbt": {}, - "amount": 250 + "nbt": {} } ], "results": [ diff --git a/src/main/resources/data/createindustry/recipes/filling/bottle_of_concrete.json b/src/generated/resources/data/createindustry/recipes/filling/bottle_of_concrete.json similarity index 86% rename from src/main/resources/data/createindustry/recipes/filling/bottle_of_concrete.json rename to src/generated/resources/data/createindustry/recipes/filling/bottle_of_concrete.json index 1c6f5623..a9267501 100644 --- a/src/main/resources/data/createindustry/recipes/filling/bottle_of_concrete.json +++ b/src/generated/resources/data/createindustry/recipes/filling/bottle_of_concrete.json @@ -1,4 +1,3 @@ - { "type": "create:filling", "ingredients": [ @@ -6,9 +5,9 @@ "item": "minecraft:glass_bottle" }, { + "amount": 250, "fluid": "createindustry:liquid_concrete", - "nbt": {}, - "amount": 250 + "nbt": {} } ], "results": [ diff --git a/src/main/resources/data/createindustry/recipes/filling/butane_tank.json b/src/generated/resources/data/createindustry/recipes/filling/butane_tank.json similarity index 85% rename from src/main/resources/data/createindustry/recipes/filling/butane_tank.json rename to src/generated/resources/data/createindustry/recipes/filling/butane_tank.json index da1d9856..ccb1d6da 100644 --- a/src/main/resources/data/createindustry/recipes/filling/butane_tank.json +++ b/src/generated/resources/data/createindustry/recipes/filling/butane_tank.json @@ -1,4 +1,3 @@ - { "type": "create:filling", "ingredients": [ @@ -6,9 +5,9 @@ "item": "minecraft:bucket" }, { + "amount": 1000, "fluid": "createindustry:butane", - "nbt": {}, - "amount": 1000 + "nbt": {} } ], "results": [ diff --git a/src/main/resources/data/createindustry/recipes/filling/carbon_dioxide_tank.json b/src/generated/resources/data/createindustry/recipes/filling/carbon_dioxide_tank.json similarity index 86% rename from src/main/resources/data/createindustry/recipes/filling/carbon_dioxide_tank.json rename to src/generated/resources/data/createindustry/recipes/filling/carbon_dioxide_tank.json index fdd23abf..358a8bf1 100644 --- a/src/main/resources/data/createindustry/recipes/filling/carbon_dioxide_tank.json +++ b/src/generated/resources/data/createindustry/recipes/filling/carbon_dioxide_tank.json @@ -1,4 +1,3 @@ - { "type": "create:filling", "ingredients": [ @@ -6,9 +5,9 @@ "item": "minecraft:bucket" }, { + "amount": 1000, "fluid": "createindustry:carbon_dioxide", - "nbt": {}, - "amount": 1000 + "nbt": {} } ], "results": [ diff --git a/src/main/resources/data/createindustry/recipes/filling/ethylene_tank.json b/src/generated/resources/data/createindustry/recipes/filling/ethylene_tank.json similarity index 85% rename from src/main/resources/data/createindustry/recipes/filling/ethylene_tank.json rename to src/generated/resources/data/createindustry/recipes/filling/ethylene_tank.json index bc5d292d..abf81fd7 100644 --- a/src/main/resources/data/createindustry/recipes/filling/ethylene_tank.json +++ b/src/generated/resources/data/createindustry/recipes/filling/ethylene_tank.json @@ -1,4 +1,3 @@ - { "type": "create:filling", "ingredients": [ @@ -6,9 +5,9 @@ "item": "minecraft:bucket" }, { + "amount": 1000, "fluid": "createindustry:ethylene", - "nbt": {}, - "amount": 1000 + "nbt": {} } ], "results": [ diff --git a/src/main/resources/data/createindustry/recipes/filling/hardened_wood_creosote.json b/src/generated/resources/data/createindustry/recipes/filling/hardened_wood_creosote.json similarity index 85% rename from src/main/resources/data/createindustry/recipes/filling/hardened_wood_creosote.json rename to src/generated/resources/data/createindustry/recipes/filling/hardened_wood_creosote.json index d2152c07..c2a5cf8e 100644 --- a/src/main/resources/data/createindustry/recipes/filling/hardened_wood_creosote.json +++ b/src/generated/resources/data/createindustry/recipes/filling/hardened_wood_creosote.json @@ -1,4 +1,3 @@ - { "type": "create:filling", "ingredients": [ @@ -6,9 +5,9 @@ "tag": "minecraft:planks" }, { + "amount": 200, "fluid": "createindustry:creosote", - "nbt": {}, - "amount": 200 + "nbt": {} } ], "results": [ diff --git a/src/main/resources/data/createindustry/recipes/filling/lpg_tank.json b/src/generated/resources/data/createindustry/recipes/filling/lpg_tank.json similarity index 85% rename from src/main/resources/data/createindustry/recipes/filling/lpg_tank.json rename to src/generated/resources/data/createindustry/recipes/filling/lpg_tank.json index ac814df1..0a9b9a22 100644 --- a/src/main/resources/data/createindustry/recipes/filling/lpg_tank.json +++ b/src/generated/resources/data/createindustry/recipes/filling/lpg_tank.json @@ -1,4 +1,3 @@ - { "type": "create:filling", "ingredients": [ @@ -6,9 +5,9 @@ "item": "minecraft:bucket" }, { + "amount": 1000, "fluid": "createindustry:lpg", - "nbt": {}, - "amount": 1000 + "nbt": {} } ], "results": [ diff --git a/src/main/resources/data/createindustry/recipes/filling/napalm_potato.json b/src/generated/resources/data/createindustry/recipes/filling/napalm_potato.json similarity index 85% rename from src/main/resources/data/createindustry/recipes/filling/napalm_potato.json rename to src/generated/resources/data/createindustry/recipes/filling/napalm_potato.json index 03778569..e807ee52 100644 --- a/src/main/resources/data/createindustry/recipes/filling/napalm_potato.json +++ b/src/generated/resources/data/createindustry/recipes/filling/napalm_potato.json @@ -1,4 +1,3 @@ - { "type": "create:filling", "ingredients": [ @@ -6,9 +5,9 @@ "item": "minecraft:potato" }, { + "amount": 250, "fluid": "createindustry:napalm", - "nbt": {}, - "amount": 1000 + "nbt": {} } ], "results": [ diff --git a/src/main/resources/data/createindustry/recipes/filling/neon_tank.json b/src/generated/resources/data/createindustry/recipes/filling/neon_tank.json similarity index 85% rename from src/main/resources/data/createindustry/recipes/filling/neon_tank.json rename to src/generated/resources/data/createindustry/recipes/filling/neon_tank.json index 055557a8..abb27731 100644 --- a/src/main/resources/data/createindustry/recipes/filling/neon_tank.json +++ b/src/generated/resources/data/createindustry/recipes/filling/neon_tank.json @@ -1,4 +1,3 @@ - { "type": "create:filling", "ingredients": [ @@ -6,9 +5,9 @@ "item": "minecraft:bucket" }, { + "amount": 1000, "fluid": "createindustry:neon", - "nbt": {}, - "amount": 1000 + "nbt": {} } ], "results": [ diff --git a/src/main/resources/data/createindustry/recipes/filling/propane_tank.json b/src/generated/resources/data/createindustry/recipes/filling/propane_tank.json similarity index 85% rename from src/main/resources/data/createindustry/recipes/filling/propane_tank.json rename to src/generated/resources/data/createindustry/recipes/filling/propane_tank.json index 602d74e0..62365391 100644 --- a/src/main/resources/data/createindustry/recipes/filling/propane_tank.json +++ b/src/generated/resources/data/createindustry/recipes/filling/propane_tank.json @@ -1,4 +1,3 @@ - { "type": "create:filling", "ingredients": [ @@ -6,9 +5,9 @@ "item": "minecraft:bucket" }, { + "amount": 1000, "fluid": "createindustry:propane", - "nbt": {}, - "amount": 1000 + "nbt": {} } ], "results": [ diff --git a/src/main/resources/data/createindustry/recipes/filling/propylene_tank.json b/src/generated/resources/data/createindustry/recipes/filling/propylene_tank.json similarity index 85% rename from src/main/resources/data/createindustry/recipes/filling/propylene_tank.json rename to src/generated/resources/data/createindustry/recipes/filling/propylene_tank.json index bc9540c8..380aeeb8 100644 --- a/src/main/resources/data/createindustry/recipes/filling/propylene_tank.json +++ b/src/generated/resources/data/createindustry/recipes/filling/propylene_tank.json @@ -1,4 +1,3 @@ - { "type": "create:filling", "ingredients": [ @@ -6,9 +5,9 @@ "item": "minecraft:bucket" }, { + "amount": 1000, "fluid": "createindustry:propylene", - "nbt": {}, - "amount": 1000 + "nbt": {} } ], "results": [ diff --git a/src/generated/resources/data/createindustry/recipes/gas_blasting/heated_air.json b/src/generated/resources/data/createindustry/recipes/gas_blasting/heated_air.json new file mode 100644 index 00000000..0872497a --- /dev/null +++ b/src/generated/resources/data/createindustry/recipes/gas_blasting/heated_air.json @@ -0,0 +1,26 @@ +{ + "type": "createindustry:gas_blasting", + "ingredients": [ + { + "amount": 1000, + "fluid": "createindustry:air", + "nbt": {} + }, + { + "amount": 250, + "fluid": "createindustry:blast_furnace_gas", + "nbt": {} + } + ], + "processingTime": 400, + "results": [ + { + "amount": 1000, + "fluid": "createindustry:heated_air" + }, + { + "amount": 750, + "fluid": "createindustry:carbon_dioxide" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/gray_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/gray_concrete_slab_from_gray_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/gray_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/gray_concrete_slab_from_gray_concrete_stonecutting.json index 073d2271..3202b863 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/gray_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/gray_concrete_slab_from_gray_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:gray_concrete" }, - "result": "createindustry:gray_concrete_slab", - "count": 2 + "result": "createindustry:gray_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/gray_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/gray_concrete_stairs_from_gray_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/gray_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/gray_concrete_stairs_from_gray_concrete_stonecutting.json index c4e62d56..1e1516be 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/gray_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/gray_concrete_stairs_from_gray_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:gray_concrete" }, - "result": "createindustry:gray_concrete_stairs", - "count": 1 + "result": "createindustry:gray_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/gray_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/gray_concrete_wall_from_gray_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/gray_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/gray_concrete_wall_from_gray_concrete_stonecutting.json index b6e47bbd..d263cfc4 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/gray_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/gray_concrete_wall_from_gray_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:gray_concrete" }, - "result": "createindustry:gray_concrete_wall", - "count": 1 + "result": "createindustry:gray_concrete_wall" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/green_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/green_concrete_slab_from_green_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/green_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/green_concrete_slab_from_green_concrete_stonecutting.json index 527ceac3..4fcf3bba 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/green_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/green_concrete_slab_from_green_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:green_concrete" }, - "result": "createindustry:green_concrete_slab", - "count": 2 + "result": "createindustry:green_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/green_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/green_concrete_stairs_from_green_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/green_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/green_concrete_stairs_from_green_concrete_stonecutting.json index 429982fb..dae256c2 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/green_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/green_concrete_stairs_from_green_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:green_concrete" }, - "result": "createindustry:green_concrete_stairs", - "count": 1 + "result": "createindustry:green_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/green_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/green_concrete_wall_from_green_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/green_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/green_concrete_wall_from_green_concrete_stonecutting.json index 0a7ec3fe..dc024df7 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/green_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/green_concrete_wall_from_green_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:green_concrete" }, - "result": "createindustry:green_concrete_wall", - "count": 1 + "result": "createindustry:green_concrete_wall" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/industrial_blasting/steel.json b/src/generated/resources/data/createindustry/recipes/industrial_blasting/steel.json similarity index 57% rename from src/main/resources/data/createindustry/recipes/industrial_blasting/steel.json rename to src/generated/resources/data/createindustry/recipes/industrial_blasting/steel.json index f5f5e4de..9fd10e21 100644 --- a/src/main/resources/data/createindustry/recipes/industrial_blasting/steel.json +++ b/src/generated/resources/data/createindustry/recipes/industrial_blasting/steel.json @@ -2,20 +2,18 @@ "type": "createindustry:industrial_blasting", "ingredients": [ { - "count": 1, "item": "createindustry:blasting_mixture" } ], "processingTime": 200, "results": [ { - "fluid": "createindustry:molten_steel", - "amount": 111 + "amount": 111, + "fluid": "createindustry:molten_steel" }, { - "fluid": "createindustry:molten_slag", - "amount": 75 + "amount": 75, + "fluid": "createindustry:molten_slag" } - ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/item_application/heavy_machinery_casing.json b/src/generated/resources/data/createindustry/recipes/item_application/heavy_machinery_casing.json similarity index 99% rename from src/main/resources/data/createindustry/recipes/item_application/heavy_machinery_casing.json rename to src/generated/resources/data/createindustry/recipes/item_application/heavy_machinery_casing.json index aa0280f5..7f1553f3 100644 --- a/src/main/resources/data/createindustry/recipes/item_application/heavy_machinery_casing.json +++ b/src/generated/resources/data/createindustry/recipes/item_application/heavy_machinery_casing.json @@ -1,4 +1,3 @@ - { "type": "create:item_application", "ingredients": [ diff --git a/src/main/resources/data/createindustry/recipes/item_application/steel_casing.json b/src/generated/resources/data/createindustry/recipes/item_application/steel_casing.json similarity index 99% rename from src/main/resources/data/createindustry/recipes/item_application/steel_casing.json rename to src/generated/resources/data/createindustry/recipes/item_application/steel_casing.json index e2b3c066..70543ea4 100644 --- a/src/main/resources/data/createindustry/recipes/item_application/steel_casing.json +++ b/src/generated/resources/data/createindustry/recipes/item_application/steel_casing.json @@ -1,4 +1,3 @@ - { "type": "create:item_application", "ingredients": [ diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_blue_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_blue_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json index d790048a..b4d95089 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_blue_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:light_blue_concrete" }, - "result": "createindustry:light_blue_concrete_slab", - "count": 2 + "result": "createindustry:light_blue_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_blue_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json similarity index 60% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_blue_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json index 420b270e..8b37aac8 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_blue_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:light_blue_concrete" }, - "result": "createindustry:light_blue_concrete_stairs", - "count": 1 + "result": "createindustry:light_blue_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_blue_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_blue_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json index f19d1f23..d57df644 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_blue_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:light_blue_concrete" }, - "result": "createindustry:light_blue_concrete_wall", - "count": 1 + "result": "createindustry:light_blue_concrete_wall" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_gray_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_gray_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json index 05e90cc0..9e6f3e1a 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_gray_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:light_gray_concrete" }, - "result": "createindustry:light_gray_concrete_slab", - "count": 2 + "result": "createindustry:light_gray_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_gray_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json similarity index 60% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_gray_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json index 7740b9ee..6b011f0c 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_gray_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:light_gray_concrete" }, - "result": "createindustry:light_gray_concrete_stairs", - "count": 1 + "result": "createindustry:light_gray_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_gray_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_gray_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json index 74f352cf..3d9f8818 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/light_gray_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:light_gray_concrete" }, - "result": "createindustry:light_gray_concrete_wall", - "count": 1 + "result": "createindustry:light_gray_concrete_wall" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/lime_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/lime_concrete_slab_from_lime_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/lime_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/lime_concrete_slab_from_lime_concrete_stonecutting.json index b9a41bb0..ad23be1b 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/lime_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/lime_concrete_slab_from_lime_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:lime_concrete" }, - "result": "createindustry:lime_concrete_slab", - "count": 2 + "result": "createindustry:lime_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/lime_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/lime_concrete_stairs_from_lime_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/lime_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/lime_concrete_stairs_from_lime_concrete_stonecutting.json index 9ebfbe48..8415cd42 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/lime_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/lime_concrete_stairs_from_lime_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:lime_concrete" }, - "result": "createindustry:lime_concrete_stairs", - "count": 1 + "result": "createindustry:lime_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/lime_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/lime_concrete_wall_from_lime_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/lime_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/lime_concrete_wall_from_lime_concrete_stonecutting.json index 5034a6e5..ab724396 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/lime_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/lime_concrete_wall_from_lime_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:lime_concrete" }, - "result": "createindustry:lime_concrete_wall", - "count": 1 + "result": "createindustry:lime_concrete_wall" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/magenta_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/magenta_concrete_slab_from_magenta_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/magenta_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/magenta_concrete_slab_from_magenta_concrete_stonecutting.json index 13e90e3b..c2a99dd1 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/magenta_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/magenta_concrete_slab_from_magenta_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:magenta_concrete" }, - "result": "createindustry:magenta_concrete_slab", - "count": 2 + "result": "createindustry:magenta_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/magenta_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/magenta_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json index a971af2e..ff0211ee 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/magenta_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:magenta_concrete" }, - "result": "createindustry:magenta_concrete_stairs", - "count": 1 + "result": "createindustry:magenta_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/magenta_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/magenta_concrete_wall_from_magenta_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/magenta_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/magenta_concrete_wall_from_magenta_concrete_stonecutting.json index 09224ef9..9f42c7b7 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/magenta_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/magenta_concrete_wall_from_magenta_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:magenta_concrete" }, - "result": "createindustry:magenta_concrete_wall", - "count": 1 + "result": "createindustry:magenta_concrete_wall" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/advanced_potato_cannon.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/advanced_potato_cannon.json similarity index 93% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/advanced_potato_cannon.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/advanced_potato_cannon.json index 83717a43..da0b0d0d 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/advanced_potato_cannon.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/advanced_potato_cannon.json @@ -1,25 +1,25 @@ { "type": "create:mechanical_crafting", - "pattern": [ - "IIPPH", - " AH H" - ], + "acceptMirrored": true, "key": { - "P": { - "item": "createindustry:steel_mechanism" - }, "A": { "item": "createindustry:plastic_sheet" }, + "H": { + "item": "createindustry:heavy_plate" + }, "I": { "item": "createindustry:steel_pipe" }, - "H": { - "item": "createindustry:heavy_plate" + "P": { + "item": "createindustry:steel_mechanism" } }, + "pattern": [ + "IIPPH", + " AH H" + ], "result": { "item": "createindustry:advanced_potato_cannon" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/diesel_engine.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/diesel_engine.json similarity index 94% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/diesel_engine.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/diesel_engine.json index 0aedfabc..ff943a5f 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/diesel_engine.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/diesel_engine.json @@ -1,5 +1,26 @@ { "type": "create:mechanical_crafting", + "acceptMirrored": true, + "key": { + "A": { + "tag": "forge:ingots/aluminum" + }, + "C": { + "item": "createindustry:heavy_machinery_casing" + }, + "H": { + "item": "createindustry:heavy_plate" + }, + "O": { + "tag": "forge:ingots/steel" + }, + "S": { + "item": "createindustry:steel_mechanism" + }, + "T": { + "item": "createindustry:steel_fluid_tank" + } + }, "pattern": [ " O ", " A ", @@ -8,31 +29,7 @@ "STS", "HHH" ], - "key": { - - "A": { - "tag": "forge:ingots/aluminum" - }, - "H": { - "item": "createindustry:heavy_plate" - }, - "S": { - "item": "createindustry:steel_mechanism" - }, - "C": { - "item": "createindustry:heavy_machinery_casing" - }, - "O": { - "tag": "forge:ingots/steel" - }, - "T": { - "item": "createindustry:steel_fluid_tank" - } - - - }, "result": { "item": "createindustry:diesel_engine" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/engine_base.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/engine_base.json similarity index 68% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/engine_base.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/engine_base.json index b1314309..93f62c5d 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/engine_base.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/engine_base.json @@ -1,27 +1,22 @@ { "type": "create:mechanical_crafting", - "pattern": [ - "HAH", - "HCH", - " " - ], + "acceptMirrored": true, "key": { - "A": { "item": "create:shaft" }, + "C": { + "item": "createindustry:heavy_machinery_casing" + }, "H": { "item": "createindustry:heavy_plate" - }, - - "C": { - "item": "createindustry:heavy_machinery_casing" - } - - + } }, + "pattern": [ + "HAH", + "HCH" + ], "result": { "item": "createindustry:engine_base" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/engine_chamber.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/engine_chamber.json similarity index 83% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/engine_chamber.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/engine_chamber.json index 332c09cd..e7dffe57 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/engine_chamber.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/engine_chamber.json @@ -1,25 +1,23 @@ { "type": "create:mechanical_crafting", - "pattern": [ - " S ", - " A ", - " P " - ], + "acceptMirrored": true, "key": { - - - "S": { - "item": "createindustry:spark_plug" - }, "A": { "tag": "forge:ingots/aluminum" }, "P": { "item": "createindustry:steel_mechanism" + }, + "S": { + "item": "createindustry:spark_plug" } }, + "pattern": [ + "S", + "A", + "P" + ], "result": { "item": "createindustry:engine_chamber" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/flamethrower.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/flamethrower.json similarity index 85% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/flamethrower.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/flamethrower.json index 429edf90..ca22304a 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/flamethrower.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/flamethrower.json @@ -1,28 +1,28 @@ { "type": "create:mechanical_crafting", - "pattern": [ - "IIPPH", - " ATAH" - ], + "acceptMirrored": true, "key": { - "P": { - "item": "createindustry:steel_mechanism" - }, "A": { - "item": "createindustry:plastic_sheet" + "tag": "forge:ingots/aluminum" + }, + "H": { + "item": "createindustry:heavy_plate" }, "I": { "item": "createindustry:steel_pipe" }, - "H": { - "item": "createindustry:heavy_plate" + "P": { + "item": "createindustry:steel_mechanism" }, "T": { "item": "createindustry:steel_fluid_tank" } }, + "pattern": [ + "IIPPH", + " ATAH" + ], "result": { "item": "createindustry:flamethrower" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/recipes/mechanical_crafting/generator.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/generator.json new file mode 100644 index 00000000..8b25a418 --- /dev/null +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/generator.json @@ -0,0 +1,26 @@ +{ + "type": "create:mechanical_crafting", + "acceptMirrored": true, + "key": { + "C": { + "item": "createindustry:electric_casing" + }, + "E": { + "item": "createindustry:steel_mechanism" + }, + "K": { + "item": "createindustry:copper_cable" + }, + "M": { + "item": "createindustry:magnetic_ingot" + } + }, + "pattern": [ + "EME", + "MCM", + "KMK" + ], + "result": { + "item": "createindustry:generator" + } +} \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/large_radial_engine.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/large_radial_engine.json similarity index 95% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/large_radial_engine.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/large_radial_engine.json index 484246f7..ec7e08c3 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/large_radial_engine.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/large_radial_engine.json @@ -1,42 +1,40 @@ { "type": "create:mechanical_crafting", - "pattern": [ - " MHM ", - "MNLNM", - "EPCPE", - "MHSHM", - " MHM " - ], + "acceptMirrored": true, "key": { - - "L": { - "item": "createindustry:lubrication_oil_bucket" - }, - "C": { "item": "createindustry:heavy_machinery_casing" }, - "M": { - "item": "createindustry:engine_chamber" - }, - "S": { - "item": "create:shaft" - }, - "P": { - "item": "createindustry:steel_pipe" - }, "E": { "item": "createindustry:exhaust" }, "H": { "item": "createindustry:heavy_plate" }, + "L": { + "item": "createindustry:lubrication_oil_bucket" + }, + "M": { + "item": "createindustry:engine_chamber" + }, "N": { "item": "createindustry:steel_mechanism" + }, + "P": { + "item": "createindustry:steel_pipe" + }, + "S": { + "item": "create:shaft" } }, + "pattern": [ + " MHM ", + "MNLNM", + "EPCPE", + "MHSHM", + " MHM " + ], "result": { "item": "createindustry:large_radial_engine" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/lithium_blade.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/lithium_blade.json similarity index 88% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/lithium_blade.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/lithium_blade.json index d60f8bc6..e1aca6fc 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/lithium_blade.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/lithium_blade.json @@ -1,44 +1,39 @@ { "type": "create:mechanical_crafting", + "acceptMirrored": true, + "key": { + "C": { + "tag": "forge:wires/copper" + }, + "K": { + "item": "createindustry:capacitor_" + }, + "L": { + "item": "createindustry:synthetic_leather" + }, + "M": { + "item": "createindustry:steel_mechanism" + }, + "P": { + "item": "createindustry:plastic_sheet" + }, + "R": { + "item": "createindustry:resistor_" + }, + "S": { + "item": "createindustry:steel_sword" + }, + "T": { + "item": "createindustry:lithium_torch" + } + }, "pattern": [ " T ", "CSC", "CMK", "PLR" ], - "key": { - - "T": { - "item": "createindustry:lithium_torch" - }, - "M": { - "item": "createindustry:steel_mechanism" - }, - "S": { - "item": "createindustry:steel_sword" - }, - "K": { - "item": "createindustry:capacitor_" - }, - "R": { - "item": "createindustry:resistor_" - }, - "P": { - "item": "createindustry:plastic_sheet" - }, - "L": { - "item": "createindustry:synthetic_leather" - }, - - - "C": { - "tag": "forge:wires/copper" - } - - - }, "result": { "item": "createindustry:lithium_blade" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_base.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_base.json similarity index 74% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_base.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_base.json index 06e08c97..6c1fe9ab 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_base.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_base.json @@ -1,32 +1,29 @@ { "type": "create:mechanical_crafting", + "acceptMirrored": true, + "key": { + "A": { + "tag": "forge:string" + }, + "C": { + "item": "createindustry:heavy_machinery_casing" + }, + "H": { + "item": "createindustry:heavy_plate" + }, + "I": { + "item": "createindustry:industrial_pipe" + }, + "S": { + "item": "createindustry:steel_mechanism" + } + }, "pattern": [ "HAH", "SCS", "HIH" ], - "key": { - - "A": { - "item": "minecraft:string" - }, - "H": { - "item": "createindustry:heavy_plate" - }, - "S": { - "item": "createindustry:steel_mechanism" - }, - "C": { - "item": "createindustry:heavy_machinery_casing" - }, - "I": { - "item": "createindustry:industrial_pipe" - } - - - }, "result": { "item": "createindustry:pumpjack_base" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_crank.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_crank.json similarity index 65% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_crank.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_crank.json index f549e757..849cd192 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_crank.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/pumpjack_crank.json @@ -1,29 +1,25 @@ { "type": "create:mechanical_crafting", - "pattern": [ - "HAH", - "SCS", - " " - ], + "acceptMirrored": true, "key": { - "A": { - "item": "minecraft:string" + "tag": "forge:string" + }, + "C": { + "item": "createindustry:heavy_machinery_casing" }, "H": { "item": "createindustry:heavy_plate" }, "S": { "item": "createindustry:rebar" - }, - "C": { - "item": "createindustry:heavy_machinery_casing" - } - - + } }, + "pattern": [ + "HAH", + "SCS" + ], "result": { "item": "createindustry:pumpjack_crank" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/quad_potato_cannon.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/quad_potato_cannon.json similarity index 94% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/quad_potato_cannon.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/quad_potato_cannon.json index 75fa7fe2..f3b75e3d 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/quad_potato_cannon.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/quad_potato_cannon.json @@ -1,29 +1,29 @@ { "type": "create:mechanical_crafting", + "acceptMirrored": true, + "key": { + "A": { + "item": "createindustry:rebar" + }, + "H": { + "item": "createindustry:heavy_plate" + }, + "I": { + "item": "createindustry:steel_pipe" + }, + "P": { + "item": "createindustry:steel_mechanism" + }, + "S": { + "item": "createindustry:industrial_pipe" + } + }, "pattern": [ "HIIIS", "HPPIS", " A " ], - "key": { - "P": { - "item": "createindustry:steel_mechanism" - }, - "A": { - "item": "createindustry:rebar" - }, - "S": { - "item": "createindustry:industrial_pipe" - }, - "I": { - "item": "createindustry:steel_pipe" - }, - "H": { - "item": "createindustry:heavy_plate" - } - }, "result": { "item": "createindustry:quad_potato_cannon" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/radial_engine.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/radial_engine.json similarity index 94% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/radial_engine.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/radial_engine.json index 9d892d90..50d49060 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/radial_engine.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/radial_engine.json @@ -1,5 +1,26 @@ { "type": "create:mechanical_crafting", + "acceptMirrored": true, + "key": { + "C": { + "item": "createindustry:heavy_machinery_casing" + }, + "E": { + "item": "createindustry:exhaust" + }, + "L": { + "item": "createindustry:lubrication_oil_bucket" + }, + "M": { + "item": "createindustry:engine_chamber" + }, + "P": { + "item": "createindustry:steel_pipe" + }, + "S": { + "item": "create:shaft" + } + }, "pattern": [ " M ", " MLM ", @@ -7,32 +28,7 @@ " MSM ", " M " ], - "key": { - - "L": { - "item": "createindustry:lubrication_oil_bucket" - }, - - "C": { - "item": "createindustry:heavy_machinery_casing" - }, - "M": { - "item": "createindustry:engine_chamber" - }, - "S": { - "item": "create:shaft" - }, - "P": { - "item": "createindustry:steel_pipe" - }, - "E": { - "item": "createindustry:exhaust" - } - - - }, "result": { "item": "createindustry:radial_engine" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/rotor.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/rotor.json similarity index 92% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/rotor.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/rotor.json index 53335e71..14732584 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/rotor.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/rotor.json @@ -1,5 +1,20 @@ { "type": "create:mechanical_crafting", + "acceptMirrored": true, + "key": { + "A": { + "tag": "forge:ingots/aluminum" + }, + "C": { + "item": "createindustry:copper_coil" + }, + "R": { + "item": "createindustry:rebar" + }, + "S": { + "item": "create:shaft" + } + }, "pattern": [ " CCC ", "CRARC", @@ -7,24 +22,7 @@ "CRARC", " CCC " ], - "key": { - - "A": { - "tag": "forge:ingots/aluminum" - }, - - "C": { - "item": "createindustry:copper_coil" - }, - "S": { - "item": "create:shaft" - }, - "R": { - "item": "createindustry:rebar" - } - }, "result": { "item": "createindustry:rotor" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/spark_plug.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/spark_plug.json similarity index 89% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/spark_plug.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/spark_plug.json index 9cce220f..19742beb 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/spark_plug.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/spark_plug.json @@ -1,9 +1,6 @@ { "type": "create:mechanical_crafting", - "pattern": [ - "F", - "A" - ], + "acceptMirrored": true, "key": { "A": { "tag": "forge:ingots/aluminum" @@ -12,8 +9,11 @@ "item": "minecraft:flint" } }, + "pattern": [ + "F", + "A" + ], "result": { "item": "createindustry:spark_plug" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/stator.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/stator.json similarity index 93% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/stator.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/stator.json index a8b0ce8f..e7a571ae 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/stator.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/stator.json @@ -1,13 +1,10 @@ { "type": "create:mechanical_crafting", - "pattern": [ - "MMM", - "CPC", - "RAR" - ], + "acceptMirrored": true, "key": { - - + "A": { + "item": "createindustry:electric_casing" + }, "C": { "item": "createindustry:copper_cable" }, @@ -19,13 +16,14 @@ }, "R": { "tag": "forge:ingots/steel" - }, - "A": { - "item": "createindustry:electric_casing" } }, + "pattern": [ + "MMM", + "CPC", + "RAR" + ], "result": { "item": "createindustry:stator" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_controller.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_controller.json similarity index 82% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_controller.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_controller.json index 3c6b7048..7279bad0 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_controller.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_controller.json @@ -1,33 +1,32 @@ { "type": "create:mechanical_crafting", - "pattern": [ - "HIH", - "PDP", - "ECE" - ], + "acceptMirrored": true, "key": { - "P": { - "item": "createindustry:steel_mechanism" + "C": { + "item": "createindustry:heavy_machinery_casing" }, - "I": { - "item": "createindustry:industrial_pipe" - }, - "H": { - "item": "createindustry:heavy_plate" - }, - "C": { - "item": "createindustry:heavy_machinery_casing" - }, "D": { "item": "create:display_board" }, "E": { "item": "create:electron_tube" + }, + "H": { + "item": "createindustry:heavy_plate" + }, + "I": { + "item": "createindustry:industrial_pipe" + }, + "P": { + "item": "createindustry:steel_mechanism" } - }, + "pattern": [ + "HIH", + "PDP", + "ECE" + ], "result": { "item": "createindustry:steel_distillation_controller" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_output.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_output.json similarity index 92% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_output.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_output.json index fa58815f..5a9f4102 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_output.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/steel_distillation_output.json @@ -1,23 +1,23 @@ { "type": "create:mechanical_crafting", - "pattern": [ - "HPH", - "PTP", - "HPH" - ], + "acceptMirrored": true, "key": { - "T": { - "item": "createindustry:steel_fluid_tank" - }, "H": { "item": "createindustry:heavy_plate" }, "P": { "item": "createindustry:steel_pipe" + }, + "T": { + "item": "createindustry:steel_fluid_tank" } }, + "pattern": [ + "HPH", + "PTP", + "HPH" + ], "result": { "item": "createindustry:steel_distillation_output" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mechanical_crafting/surface_scanner.json b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/surface_scanner.json similarity index 81% rename from src/main/resources/data/createindustry/recipes/mechanical_crafting/surface_scanner.json rename to src/generated/resources/data/createindustry/recipes/mechanical_crafting/surface_scanner.json index 57e8460b..79cc5e36 100644 --- a/src/main/resources/data/createindustry/recipes/mechanical_crafting/surface_scanner.json +++ b/src/generated/resources/data/createindustry/recipes/mechanical_crafting/surface_scanner.json @@ -1,36 +1,32 @@ { "type": "create:mechanical_crafting", + "acceptMirrored": true, + "key": { + "C": { + "item": "createindustry:heavy_machinery_casing" + }, + "E": { + "item": "createindustry:steel_mechanism" + }, + "H": { + "item": "minecraft:compass" + }, + "I": { + "item": "createindustry:heavy_plate" + }, + "K": { + "tag": "forge:plates/copper" + }, + "S": { + "item": "create:shaft" + } + }, "pattern": [ "IHI", "SCK", "EEK" ], - "key": { - - "I": { - "item": "createindustry:heavy_plate" - }, - - "C": { - "item": "createindustry:heavy_machinery_casing" - }, - "H": { - "item": "minecraft:compass" - }, - "S": { - "item": "create:shaft" - }, - "E": { - "item": "createindustry:steel_mechanism" - }, - "K": { - "tag": "forge:plates/copper" - } - - - }, "result": { "item": "createindustry:surface_scanner" - }, - "acceptMirrored": true + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/milling/limesand.json b/src/generated/resources/data/createindustry/recipes/milling/limesand.json similarity index 83% rename from src/main/resources/data/createindustry/recipes/milling/limesand.json rename to src/generated/resources/data/createindustry/recipes/milling/limesand.json index 93dc10f4..2e045d37 100644 --- a/src/main/resources/data/createindustry/recipes/milling/limesand.json +++ b/src/generated/resources/data/createindustry/recipes/milling/limesand.json @@ -1,4 +1,3 @@ - { "type": "create:milling", "ingredients": [ @@ -6,12 +5,10 @@ "item": "create:limestone" } ], + "processingTime": 130, "results": [ { "item": "createindustry:limesand" - } - ], - "processingTime": 130 - + ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/blasting_mixture.json b/src/generated/resources/data/createindustry/recipes/mixing/blasting_mixture.json similarity index 81% rename from src/main/resources/data/createindustry/recipes/mixing/blasting_mixture.json rename to src/generated/resources/data/createindustry/recipes/mixing/blasting_mixture.json index 16d0a090..cf699150 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/blasting_mixture.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/blasting_mixture.json @@ -1,4 +1,3 @@ - { "type": "create:mixing", "ingredients": [ @@ -17,9 +16,8 @@ ], "results": [ { - "item": "createindustry:blasting_mixture", - "count": 3 + "count": 3, + "item": "createindustry:blasting_mixture" } ] - } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/cast_iron_ingot.json b/src/generated/resources/data/createindustry/recipes/mixing/cast_iron_ingot.json similarity index 89% rename from src/main/resources/data/createindustry/recipes/mixing/cast_iron_ingot.json rename to src/generated/resources/data/createindustry/recipes/mixing/cast_iron_ingot.json index 18ae0376..f06c5e69 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/cast_iron_ingot.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/cast_iron_ingot.json @@ -1,6 +1,6 @@ - { "type": "create:mixing", + "heatRequirement": "heated", "ingredients": [ { "item": "minecraft:iron_ingot" @@ -9,12 +9,10 @@ "item": "minecraft:coal" } ], + "processingTime": 100, "results": [ { "item": "createindustry:cast_iron_ingot" - } - ], - "heatRequirement": "heated", - "processingTime": 100 + ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/cement.json b/src/generated/resources/data/createindustry/recipes/mixing/cement.json similarity index 98% rename from src/main/resources/data/createindustry/recipes/mixing/cement.json rename to src/generated/resources/data/createindustry/recipes/mixing/cement.json index 4eadb871..14643bad 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/cement.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/cement.json @@ -1,4 +1,3 @@ - { "type": "create:mixing", "ingredients": [ @@ -8,13 +7,11 @@ { "item": "minecraft:clay_ball" } - ], "results": [ { "count": 4, "item": "createindustry:cement" - } ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/concrete_mixture.json b/src/generated/resources/data/createindustry/recipes/mixing/concrete_mixture.json similarity index 98% rename from src/main/resources/data/createindustry/recipes/mixing/concrete_mixture.json rename to src/generated/resources/data/createindustry/recipes/mixing/concrete_mixture.json index 091a3e88..793a8df8 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/concrete_mixture.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/concrete_mixture.json @@ -1,4 +1,3 @@ - { "type": "create:mixing", "ingredients": [ @@ -11,13 +10,11 @@ { "item": "createindustry:cement" } - ], "results": [ { "count": 16, "item": "createindustry:concrete_mixture" - } ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/concrete_mixture_from_slag.json b/src/generated/resources/data/createindustry/recipes/mixing/concrete_mixture_from_slag.json similarity index 99% rename from src/main/resources/data/createindustry/recipes/mixing/concrete_mixture_from_slag.json rename to src/generated/resources/data/createindustry/recipes/mixing/concrete_mixture_from_slag.json index c6540b69..55ba6859 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/concrete_mixture_from_slag.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/concrete_mixture_from_slag.json @@ -1,4 +1,3 @@ - { "type": "create:mixing", "ingredients": [ @@ -11,13 +10,11 @@ { "item": "createindustry:cement" } - ], "results": [ { "count": 32, "item": "createindustry:concrete_mixture" - } ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/cooling_fluid.json b/src/generated/resources/data/createindustry/recipes/mixing/cooling_fluid.json similarity index 56% rename from src/main/resources/data/createindustry/recipes/mixing/cooling_fluid.json rename to src/generated/resources/data/createindustry/recipes/mixing/cooling_fluid.json index 877b05f5..19473037 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/cooling_fluid.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/cooling_fluid.json @@ -1,21 +1,21 @@ - { "type": "create:mixing", "ingredients": [ { + "amount": 250, "fluid": "createindustry:ethylene", - "amount": 250 + "nbt": {} }, { + "amount": 250, "fluid": "minecraft:water", - "amount": 250 + "nbt": {} } ], "results": [ { - "fluid": "createindustry:cooling_fluid", - "amount": 500 - + "amount": 500, + "fluid": "createindustry:cooling_fluid" } ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/copper_sulfate.json b/src/generated/resources/data/createindustry/recipes/mixing/copper_sulfate.json similarity index 85% rename from src/main/resources/data/createindustry/recipes/mixing/copper_sulfate.json rename to src/generated/resources/data/createindustry/recipes/mixing/copper_sulfate.json index 12745425..b0a91feb 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/copper_sulfate.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/copper_sulfate.json @@ -1,21 +1,18 @@ - { "type": "create:mixing", "ingredients": [ { - "fluid": "createindustry:sulfuric_acid", - "amount": 500 + "tag": "forge:ingots/copper" }, { - "tag": "forge:ingots/copper" + "amount": 500, + "fluid": "createindustry:sulfuric_acid", + "nbt": {} } - ], "results": [ { - "count": 1, "item": "createindustry:copper_sulfate" - } ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/gun_powder.json b/src/generated/resources/data/createindustry/recipes/mixing/gun_powder.json similarity index 87% rename from src/main/resources/data/createindustry/recipes/mixing/gun_powder.json rename to src/generated/resources/data/createindustry/recipes/mixing/gun_powder.json index f8e088ac..cd7d624f 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/gun_powder.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/gun_powder.json @@ -1,4 +1,3 @@ - { "type": "create:mixing", "ingredients": [ @@ -13,23 +12,18 @@ }, { "item": "minecraft:charcoal" - }, - { "item": "minecraft:charcoal" - }, { "item": "createindustry:sulfur_dust" - } ], "results": [ { - "item": "minecraft:gunpowder", - "count": 6 - + "count": 6, + "item": "minecraft:gunpowder" } ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/liquid_asphalt.json b/src/generated/resources/data/createindustry/recipes/mixing/liquid_asphalt.json similarity index 68% rename from src/main/resources/data/createindustry/recipes/mixing/liquid_asphalt.json rename to src/generated/resources/data/createindustry/recipes/mixing/liquid_asphalt.json index e334cb34..3afafc5e 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/liquid_asphalt.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/liquid_asphalt.json @@ -1,4 +1,3 @@ - { "type": "create:mixing", "ingredients": [ @@ -12,16 +11,15 @@ "item": "minecraft:gravel" }, { + "amount": 500, "fluid": "minecraft:water", - "nbt": {}, - "amount": 500 + "nbt": {} } ], "results": [ { - "fluid": "createindustry:liquid_asphalt", - "nbt": {}, - "amount": 1200 + "amount": 1200, + "fluid": "createindustry:liquid_asphalt" } ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/liquid_concrete_.json b/src/generated/resources/data/createindustry/recipes/mixing/liquid_concrete.json similarity index 60% rename from src/main/resources/data/createindustry/recipes/mixing/liquid_concrete_.json rename to src/generated/resources/data/createindustry/recipes/mixing/liquid_concrete.json index 93bdad10..52fae4cc 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/liquid_concrete_.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/liquid_concrete.json @@ -1,4 +1,3 @@ - { "type": "create:mixing", "ingredients": [ @@ -6,16 +5,15 @@ "item": "createindustry:concrete_mixture" }, { + "amount": 250, "fluid": "minecraft:water", - "nbt": {}, - "amount": 250 + "nbt": {} } ], "results": [ { - "fluid": "createindustry:liquid_concrete", - "nbt": {}, - "amount": 1000 + "amount": 1000, + "fluid": "createindustry:liquid_concrete" } ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/liquid_plastic_from_ethylene.json b/src/generated/resources/data/createindustry/recipes/mixing/liquid_plastic_from_ethylene.json similarity index 56% rename from src/main/resources/data/createindustry/recipes/mixing/liquid_plastic_from_ethylene.json rename to src/generated/resources/data/createindustry/recipes/mixing/liquid_plastic_from_ethylene.json index 0f5d2ae5..34e25073 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/liquid_plastic_from_ethylene.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/liquid_plastic_from_ethylene.json @@ -1,20 +1,16 @@ - { "type": "create:mixing", "ingredients": [ - { + "amount": 500, "fluid": "createindustry:ethylene", - "amount": 500 + "nbt": {} } ], "results": [ { - "fluid": "createindustry:liquid_plastic", - "amount": 500 - + "amount": 500, + "fluid": "createindustry:liquid_plastic" } ] - - } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/liquid_plastic_from_propylene.json b/src/generated/resources/data/createindustry/recipes/mixing/liquid_plastic_from_propylene.json similarity index 57% rename from src/main/resources/data/createindustry/recipes/mixing/liquid_plastic_from_propylene.json rename to src/generated/resources/data/createindustry/recipes/mixing/liquid_plastic_from_propylene.json index 84241f03..11d0f076 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/liquid_plastic_from_propylene.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/liquid_plastic_from_propylene.json @@ -1,19 +1,16 @@ - { "type": "create:mixing", "ingredients": [ { + "amount": 500, "fluid": "createindustry:propylene", - "amount": 500 + "nbt": {} } ], "results": [ { - "fluid": "createindustry:liquid_plastic", - "amount": 500 - + "amount": 500, + "fluid": "createindustry:liquid_plastic" } ] - - } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/napalm.json b/src/generated/resources/data/createindustry/recipes/mixing/napalm.json similarity index 58% rename from src/main/resources/data/createindustry/recipes/mixing/napalm.json rename to src/generated/resources/data/createindustry/recipes/mixing/napalm.json index 09c1a97f..fd0746e3 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/napalm.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/napalm.json @@ -1,4 +1,3 @@ - { "type": "create:mixing", "ingredients": [ @@ -6,17 +5,16 @@ "tag": "forge:ingots/aluminum" }, { + "amount": 1000, "fluid": "createindustry:gasoline", - "amount": 1000 + "nbt": {} } ], + "processingTime": 1000, "results": [ { - "fluid": "createindustry:napalm", - "amount": 1000 - + "amount": 1000, + "fluid": "createindustry:napalm" } - ], - - "processingTime": 1000 + ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/neon.json b/src/generated/resources/data/createindustry/recipes/mixing/neon.json similarity index 54% rename from src/main/resources/data/createindustry/recipes/mixing/neon.json rename to src/generated/resources/data/createindustry/recipes/mixing/neon.json index 8764598a..0d731b56 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/neon.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/neon.json @@ -1,19 +1,16 @@ - { "type": "create:mixing", "ingredients": [ - { + "amount": 250, "fluid": "createindustry:air", - "nbt": {}, - "amount": 250 + "nbt": {} } ], "results": [ { - "fluid": "createindustry:neon", - "nbt": {}, - "amount": 1 + "amount": 1, + "fluid": "createindustry:neon" } ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/slag.json b/src/generated/resources/data/createindustry/recipes/mixing/slag.json similarity index 60% rename from src/main/resources/data/createindustry/recipes/mixing/slag.json rename to src/generated/resources/data/createindustry/recipes/mixing/slag.json index 759da831..3e3b4bb3 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/slag.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/slag.json @@ -1,17 +1,16 @@ - { "type": "create:mixing", "ingredients": [ { + "amount": 1000, "fluid": "createindustry:molten_slag", - "amount": 1000 + "nbt": {} } ], "results": [ { - "item": "createindustry:slag", - "count": 9 - + "count": 9, + "item": "createindustry:slag" } ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/sulfuric_acid.json b/src/generated/resources/data/createindustry/recipes/mixing/sulfuric_acid.json similarity index 66% rename from src/main/resources/data/createindustry/recipes/mixing/sulfuric_acid.json rename to src/generated/resources/data/createindustry/recipes/mixing/sulfuric_acid.json index 3133b4f6..4915e594 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/sulfuric_acid.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/sulfuric_acid.json @@ -1,4 +1,3 @@ - { "type": "create:mixing", "ingredients": [ @@ -9,16 +8,15 @@ "item": "createindustry:nitrate_dust" }, { + "amount": 500, "fluid": "minecraft:water", - "nbt": {}, - "amount": 500 + "nbt": {} } ], "results": [ { - "fluid": "createindustry:sulfuric_acid", - "nbt": {}, - "amount": 500 + "amount": 500, + "fluid": "createindustry:sulfuric_acid" } ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/mixing/zinc_sulfate.json b/src/generated/resources/data/createindustry/recipes/mixing/zinc_sulfate.json similarity index 85% rename from src/main/resources/data/createindustry/recipes/mixing/zinc_sulfate.json rename to src/generated/resources/data/createindustry/recipes/mixing/zinc_sulfate.json index 526dbe0a..926c1d0e 100644 --- a/src/main/resources/data/createindustry/recipes/mixing/zinc_sulfate.json +++ b/src/generated/resources/data/createindustry/recipes/mixing/zinc_sulfate.json @@ -1,21 +1,18 @@ - { "type": "create:mixing", "ingredients": [ { - "fluid": "createindustry:sulfuric_acid", - "amount": 500 + "tag": "forge:ingots/zinc" }, { - "tag": "forge:ingots/zinc" + "amount": 500, + "fluid": "createindustry:sulfuric_acid", + "nbt": {} } - ], "results": [ { - "count": 1, "item": "createindustry:zinc_sulfate" - } ] } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/orange_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/orange_concrete_slab_from_orange_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/orange_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/orange_concrete_slab_from_orange_concrete_stonecutting.json index c01b8a5a..191a9b91 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/orange_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/orange_concrete_slab_from_orange_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:orange_concrete" }, - "result": "createindustry:orange_concrete_slab", - "count": 2 + "result": "createindustry:orange_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/orange_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/orange_concrete_stairs_from_orange_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/orange_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/orange_concrete_stairs_from_orange_concrete_stonecutting.json index 7ef82fb8..a4bf4a44 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/orange_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/orange_concrete_stairs_from_orange_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:orange_concrete" }, - "result": "createindustry:orange_concrete_stairs", - "count": 1 + "result": "createindustry:orange_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/orange_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/orange_concrete_wall_from_orange_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/orange_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/orange_concrete_wall_from_orange_concrete_stonecutting.json index 7e563b08..3634bb62 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/orange_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/orange_concrete_wall_from_orange_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:orange_concrete" }, - "result": "createindustry:orange_concrete_wall", - "count": 1 + "result": "createindustry:orange_concrete_wall" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/pink_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/pink_concrete_slab_from_pink_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/pink_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/pink_concrete_slab_from_pink_concrete_stonecutting.json index a2a03ef5..9cb68b26 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/pink_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/pink_concrete_slab_from_pink_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:pink_concrete" }, - "result": "createindustry:pink_concrete_slab", - "count": 2 + "result": "createindustry:pink_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/pink_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/pink_concrete_stairs_from_pink_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/pink_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/pink_concrete_stairs_from_pink_concrete_stonecutting.json index c81bd342..b36c4cdc 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/pink_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/pink_concrete_stairs_from_pink_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:pink_concrete" }, - "result": "createindustry:pink_concrete_stairs", - "count": 1 + "result": "createindustry:pink_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/pink_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/pink_concrete_wall_from_pink_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/pink_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/pink_concrete_wall_from_pink_concrete_stonecutting.json index d8cce61b..448696ea 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/pink_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/pink_concrete_wall_from_pink_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:pink_concrete" }, - "result": "createindustry:pink_concrete_wall", - "count": 1 + "result": "createindustry:pink_concrete_wall" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/pressing/synthetic_leather.json b/src/generated/resources/data/createindustry/recipes/pressing/synthetic_leather.json similarity index 100% rename from src/main/resources/data/createindustry/recipes/pressing/synthetic_leather.json rename to src/generated/resources/data/createindustry/recipes/pressing/synthetic_leather.json diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/purple_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/purple_concrete_slab_from_purple_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/purple_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/purple_concrete_slab_from_purple_concrete_stonecutting.json index 49b4d1c8..bde8c24e 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/purple_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/purple_concrete_slab_from_purple_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:purple_concrete" }, - "result": "createindustry:purple_concrete_slab", - "count": 2 + "result": "createindustry:purple_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/purple_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/purple_concrete_stairs_from_purple_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/purple_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/purple_concrete_stairs_from_purple_concrete_stonecutting.json index f708fcb6..1828a449 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/purple_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/purple_concrete_stairs_from_purple_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:purple_concrete" }, - "result": "createindustry:purple_concrete_stairs", - "count": 1 + "result": "createindustry:purple_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/purple_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/purple_concrete_wall_from_purple_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/purple_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/purple_concrete_wall_from_purple_concrete_stonecutting.json index 87828487..11b04bdc 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/purple_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/purple_concrete_wall_from_purple_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:purple_concrete" }, - "result": "createindustry:purple_concrete_wall", - "count": 1 + "result": "createindustry:purple_concrete_wall" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/red_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/red_concrete_slab_from_red_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/red_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/red_concrete_slab_from_red_concrete_stonecutting.json index a49be929..0d638653 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/red_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/red_concrete_slab_from_red_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:red_concrete" }, - "result": "createindustry:red_concrete_slab", - "count": 2 + "result": "createindustry:red_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/red_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/red_concrete_stairs_from_red_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/red_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/red_concrete_stairs_from_red_concrete_stonecutting.json index 16fbc256..646fd384 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/red_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/red_concrete_stairs_from_red_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:red_concrete" }, - "result": "createindustry:red_concrete_stairs", - "count": 1 + "result": "createindustry:red_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/red_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/red_concrete_wall_from_red_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/red_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/red_concrete_wall_from_red_concrete_stonecutting.json index f4729a20..8fc46b0a 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/red_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/red_concrete_wall_from_red_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:red_concrete" }, - "result": "createindustry:red_concrete_wall", - "count": 1 + "result": "createindustry:red_concrete_wall" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/sequenced_assembly/gasoline_engine.json b/src/generated/resources/data/createindustry/recipes/sequenced_assembly/gasoline_engine.json similarity index 72% rename from src/main/resources/data/createindustry/recipes/sequenced_assembly/gasoline_engine.json rename to src/generated/resources/data/createindustry/recipes/sequenced_assembly/gasoline_engine.json index b6e77ac2..cfa87d95 100644 --- a/src/main/resources/data/createindustry/recipes/sequenced_assembly/gasoline_engine.json +++ b/src/generated/resources/data/createindustry/recipes/sequenced_assembly/gasoline_engine.json @@ -1,35 +1,35 @@ - { "type": "create:sequenced_assembly", "ingredient": { "item": "createindustry:engine_base" }, - "transitionalItem": { - "item": "createindustry:unfinished_gasoline_engine" - }, - "sequence": [ - - - -{ - "type": "create:filling", - "ingredients": [ - { - "item": "createindustry:unfinished_gasoline_engine" - }, - { - "fluid": "createindustry:lubrication_oil", - "nbt": {}, - "amount": 1000 - } - ], + "loops": 8, "results": [ { - "item": "createindustry:unfinished_gasoline_engine" + "chance": 120.0, + "count": 2, + "item": "createindustry:gasoline_engine" } - ] -}, - + ], + "sequence": [ + { + "type": "create:filling", + "ingredients": [ + { + "item": "createindustry:unfinished_gasoline_engine" + }, + { + "amount": 1000, + "fluid": "createindustry:lubrication_oil", + "nbt": {} + } + ], + "results": [ + { + "item": "createindustry:unfinished_gasoline_engine" + } + ] + }, { "type": "create:deploying", "ingredients": [ @@ -78,14 +78,8 @@ } ] } - - ], - "results": [ - { - "item": "createindustry:gasoline_engine", - "count": 2 - } - ], - "loops": 8 + "transitionalItem": { + "item": "createindustry:unfinished_gasoline_engine" + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/sequenced_assembly/heavy_plate.json b/src/generated/resources/data/createindustry/recipes/sequenced_assembly/heavy_plate.json similarity index 96% rename from src/main/resources/data/createindustry/recipes/sequenced_assembly/heavy_plate.json rename to src/generated/resources/data/createindustry/recipes/sequenced_assembly/heavy_plate.json index dbce83b9..04e66d9c 100644 --- a/src/main/resources/data/createindustry/recipes/sequenced_assembly/heavy_plate.json +++ b/src/generated/resources/data/createindustry/recipes/sequenced_assembly/heavy_plate.json @@ -1,12 +1,15 @@ - { "type": "create:sequenced_assembly", "ingredient": { "tag": "forge:ingots/steel" }, - "transitionalItem": { - "item": "createindustry:unprocessed_heavy_plate" - }, + "loops": 1, + "results": [ + { + "chance": 120.0, + "item": "createindustry:heavy_plate" + } + ], "sequence": [ { "type": "create:pressing", @@ -48,10 +51,7 @@ ] } ], - "results": [ - { - "item": "createindustry:heavy_plate" - } - ], - "loops": 1 + "transitionalItem": { + "item": "createindustry:unprocessed_heavy_plate" + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/sequenced_assembly/lpg_engine.json b/src/generated/resources/data/createindustry/recipes/sequenced_assembly/lpg_engine.json similarity index 91% rename from src/main/resources/data/createindustry/recipes/sequenced_assembly/lpg_engine.json rename to src/generated/resources/data/createindustry/recipes/sequenced_assembly/lpg_engine.json index 358bf990..b0387e4d 100644 --- a/src/main/resources/data/createindustry/recipes/sequenced_assembly/lpg_engine.json +++ b/src/generated/resources/data/createindustry/recipes/sequenced_assembly/lpg_engine.json @@ -1,14 +1,17 @@ - { "type": "create:sequenced_assembly", "ingredient": { "item": "createindustry:engine_base" }, - "transitionalItem": { - "item": "createindustry:unfinished_lpg_engine" - }, + "loops": 8, + "results": [ + { + "chance": 120.0, + "count": 2, + "item": "createindustry:lpg_engine" + } + ], "sequence": [ - { "type": "create:deploying", "ingredients": [ @@ -57,11 +60,6 @@ } ] }, - - - - - { "type": "create:filling", "ingredients": [ @@ -69,9 +67,9 @@ "item": "createindustry:unfinished_lpg_engine" }, { + "amount": 1000, "fluid": "createindustry:lubrication_oil", - "nbt": {}, - "amount": 1000 + "nbt": {} } ], "results": [ @@ -81,11 +79,7 @@ ] } ], - "results": [ - { - "item": "createindustry:lpg_engine", - "count": 2 - } - ], - "loops": 8 + "transitionalItem": { + "item": "createindustry:unfinished_lpg_engine" + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/sequenced_assembly/steel_mechanism.json b/src/generated/resources/data/createindustry/recipes/sequenced_assembly/steel_mechanism.json similarity index 90% rename from src/main/resources/data/createindustry/recipes/sequenced_assembly/steel_mechanism.json rename to src/generated/resources/data/createindustry/recipes/sequenced_assembly/steel_mechanism.json index 561dd56d..ce75ff2b 100644 --- a/src/main/resources/data/createindustry/recipes/sequenced_assembly/steel_mechanism.json +++ b/src/generated/resources/data/createindustry/recipes/sequenced_assembly/steel_mechanism.json @@ -1,12 +1,31 @@ - { "type": "create:sequenced_assembly", "ingredient": { - "item": "createindustry:heavy_plate" - }, - "transitionalItem": { - "item": "createindustry:unfinished_steel_mechanism" + "tag": "forge:ingots/steel" }, + "loops": 1, + "results": [ + { + "chance": 120.0, + "item": "createindustry:steel_mechanism" + }, + { + "chance": 0.8, + "item": "createindustry:heavy_plate" + }, + { + "chance": 0.8, + "item": "createindustry:steel_ingot" + }, + { + "chance": 0.5, + "item": "createindustry:aluminum_ingot" + }, + { + "chance": 0.3, + "item": "createindustry:industrial_pipe" + } + ], "sequence": [ { "type": "create:deploying", @@ -15,7 +34,7 @@ "item": "createindustry:unfinished_steel_mechanism" }, { - "tag": "forge:ingots/steel" + "tag": "forge:ingots/steel" } ], "results": [ @@ -72,29 +91,8 @@ } ] } - ], - "results": [ - { - "chance": 120.0, - "item": "createindustry:steel_mechanism" - }, - { - "chance": 8.0, - "item": "createindustry:heavy_plate" - }, - { - "chance": 8.0, - "item": "createindustry:steel_ingot" - }, - { - "chance": 5.0, - "item": "createindustry:aluminum_ingot" - }, - { - "chance": 3.0, - "item": "createindustry:industrial_pipe" - } - ], - "loops": 1 + "transitionalItem": { + "item": "createindustry:unfinished_steel_mechanism" + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/sequenced_assembly/turbine_engine.json b/src/generated/resources/data/createindustry/recipes/sequenced_assembly/turbine_engine.json similarity index 92% rename from src/main/resources/data/createindustry/recipes/sequenced_assembly/turbine_engine.json rename to src/generated/resources/data/createindustry/recipes/sequenced_assembly/turbine_engine.json index 22cb61bd..19f950f8 100644 --- a/src/main/resources/data/createindustry/recipes/sequenced_assembly/turbine_engine.json +++ b/src/generated/resources/data/createindustry/recipes/sequenced_assembly/turbine_engine.json @@ -1,14 +1,17 @@ - { "type": "create:sequenced_assembly", "ingredient": { "item": "createindustry:engine_base" }, - "transitionalItem": { - "item": "createindustry:unfinished_turbine_engine" - }, + "loops": 6, + "results": [ + { + "chance": 120.0, + "count": 2, + "item": "createindustry:turbine_engine" + } + ], "sequence": [ - { "type": "create:deploying", "ingredients": [ @@ -57,7 +60,6 @@ } ] }, - { "type": "create:filling", "ingredients": [ @@ -65,9 +67,9 @@ "item": "createindustry:unfinished_turbine_engine" }, { + "amount": 1000, "fluid": "createindustry:lubrication_oil", - "nbt": {}, - "amount": 1000 + "nbt": {} } ], "results": [ @@ -76,8 +78,6 @@ } ] }, - - { "type": "create:deploying", "ingredients": [ @@ -95,11 +95,7 @@ ] } ], - "results": [ - { - "item": "createindustry:turbine_engine", - "count": 2 - } - ], - "loops": 6 + "transitionalItem": { + "item": "createindustry:unfinished_turbine_engine" + } } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/white_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/white_concrete_slab_from_white_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/white_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/white_concrete_slab_from_white_concrete_stonecutting.json index 8581d365..102a660e 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/white_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/white_concrete_slab_from_white_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:white_concrete" }, - "result": "createindustry:white_concrete_slab", - "count": 2 + "result": "createindustry:white_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/white_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/white_concrete_stairs_from_white_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/white_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/white_concrete_stairs_from_white_concrete_stonecutting.json index cafb90c2..a81c169f 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/white_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/white_concrete_stairs_from_white_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:white_concrete" }, - "result": "createindustry:white_concrete_stairs", - "count": 1 + "result": "createindustry:white_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/white_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/white_concrete_wall_from_white_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/white_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/white_concrete_wall_from_white_concrete_stonecutting.json index f867f3fd..cea0bc56 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/white_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/white_concrete_wall_from_white_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:white_concrete" }, - "result": "createindustry:white_concrete_wall", - "count": 1 + "result": "createindustry:white_concrete_wall" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/yellow_concrete_slab_stonecutting.json b/src/generated/resources/data/createindustry/recipes/yellow_concrete_slab_from_yellow_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/yellow_concrete_slab_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/yellow_concrete_slab_from_yellow_concrete_stonecutting.json index 15e555e8..61411b3c 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/yellow_concrete_slab_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/yellow_concrete_slab_from_yellow_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 2, "ingredient": { "item": "createindustry:yellow_concrete" }, - "result": "createindustry:yellow_concrete_slab", - "count": 2 + "result": "createindustry:yellow_concrete_slab" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/yellow_concrete_stairs_stonecutting.json b/src/generated/resources/data/createindustry/recipes/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json similarity index 61% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/yellow_concrete_stairs_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json index 71636b82..d95dd4f7 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/yellow_concrete_stairs_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:yellow_concrete" }, - "result": "createindustry:yellow_concrete_stairs", - "count": 1 + "result": "createindustry:yellow_concrete_stairs" } \ No newline at end of file diff --git a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/yellow_concrete_wall_stonecutting.json b/src/generated/resources/data/createindustry/recipes/yellow_concrete_wall_from_yellow_concrete_stonecutting.json similarity index 62% rename from src/main/resources/data/createindustry/recipes/colored_concrete/basic/yellow_concrete_wall_stonecutting.json rename to src/generated/resources/data/createindustry/recipes/yellow_concrete_wall_from_yellow_concrete_stonecutting.json index 4f667f98..ab277838 100644 --- a/src/main/resources/data/createindustry/recipes/colored_concrete/basic/yellow_concrete_wall_stonecutting.json +++ b/src/generated/resources/data/createindustry/recipes/yellow_concrete_wall_from_yellow_concrete_stonecutting.json @@ -1,9 +1,8 @@ - { "type": "minecraft:stonecutting", + "count": 1, "ingredient": { "item": "createindustry:yellow_concrete" }, - "result": "createindustry:yellow_concrete_wall", - "count": 1 + "result": "createindustry:yellow_concrete_wall" } \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/tags/fluids/flammable.json b/src/generated/resources/data/createindustry/tags/fluids/flammable.json index 675d8856..dc769d2a 100644 --- a/src/generated/resources/data/createindustry/tags/fluids/flammable.json +++ b/src/generated/resources/data/createindustry/tags/fluids/flammable.json @@ -6,6 +6,8 @@ "createindustry:butane", "createindustry:flowing_lpg", "createindustry:lpg", + "createindustry:flowing_blast_furnace_gas", + "createindustry:blast_furnace_gas", "createindustry:flowing_lubrication_oil", "createindustry:lubrication_oil", "createindustry:flowing_napalm", diff --git a/src/generated/resources/data/createindustry/tags/fluids/gas.json b/src/generated/resources/data/createindustry/tags/fluids/gas.json index 7d1ef704..5b6ba4c9 100644 --- a/src/generated/resources/data/createindustry/tags/fluids/gas.json +++ b/src/generated/resources/data/createindustry/tags/fluids/gas.json @@ -2,6 +2,8 @@ "values": [ "createindustry:flowing_air", "createindustry:air", + "createindustry:flowing_heated_air", + "createindustry:heated_air", "createindustry:flowing_carbon_dioxide", "createindustry:carbon_dioxide", "createindustry:flowing_ethylene", @@ -15,6 +17,8 @@ "createindustry:flowing_lpg", "createindustry:lpg", "createindustry:flowing_neon", - "createindustry:neon" + "createindustry:neon", + "createindustry:flowing_blast_furnace_gas", + "createindustry:blast_furnace_gas" ] } \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/buckets/blast_furnace_gas.json b/src/generated/resources/data/forge/tags/items/buckets/blast_furnace_gas.json new file mode 100644 index 00000000..5e6f103e --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/buckets/blast_furnace_gas.json @@ -0,0 +1,5 @@ +{ + "values": [ + "createindustry:blast_furnace_gas_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/buckets/heated_air.json b/src/generated/resources/data/forge/tags/items/buckets/heated_air.json new file mode 100644 index 00000000..56d1fa45 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/buckets/heated_air.json @@ -0,0 +1,5 @@ +{ + "values": [ + "createindustry:heated_air_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json index c63f7a18..9c833eae 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -25,6 +25,7 @@ "createindustry:deepslate_lithium_ore", "createindustry:sulfur", "createindustry:lignite", + "createindustry:fluid_output", "createindustry:light_bulb", "createindustry:rgb_light_bulb", "createindustry:copycat_cable_block", @@ -72,6 +73,7 @@ "createindustry:large_pumpjack_hammer_head", "createindustry:large_pumpjack_hammer_connector", "createindustry:pumpjack_base", + "createindustry:blast_stove", "createindustry:fireproof_bricks", "createindustry:fireproof_brick_reinforcement", "createindustry:blast_furnace_output", @@ -138,92 +140,13 @@ "createindustry:factory_floor_slab", "createindustry:cinder_block", "createindustry:cinderflour_block", - "createindustry:black_concrete", - "createindustry:black_concrete_wall", - "createindustry:black_concrete_stairs", - "createindustry:black_concrete_slab", - "createindustry:white_concrete", - "createindustry:white_concrete_wall", - "createindustry:white_concrete_stairs", - "createindustry:white_concrete_slab", - "createindustry:blue_concrete", - "createindustry:blue_concrete_wall", - "createindustry:blue_concrete_stairs", - "createindustry:blue_concrete_slab", - "createindustry:light_blue_concrete", - "createindustry:light_blue_concrete_wall", - "createindustry:light_blue_concrete_stairs", - "createindustry:light_blue_concrete_slab", - "createindustry:red_concrete", - "createindustry:red_concrete_wall", - "createindustry:red_concrete_stairs", - "createindustry:red_concrete_slab", - "createindustry:green_concrete", - "createindustry:green_concrete_wall", - "createindustry:green_concrete_stairs", - "createindustry:green_concrete_slab", - "createindustry:lime_concrete", - "createindustry:lime_concrete_wall", - "createindustry:lime_concrete_stairs", - "createindustry:lime_concrete_slab", - "createindustry:pink_concrete", - "createindustry:pink_concrete_wall", - "createindustry:pink_concrete_stairs", - "createindustry:pink_concrete_slab", - "createindustry:magenta_concrete", - "createindustry:magenta_concrete_wall", - "createindustry:magenta_concrete_stairs", - "createindustry:magenta_concrete_slab", - "createindustry:yellow_concrete", - "createindustry:yellow_concrete_wall", - "createindustry:yellow_concrete_stairs", - "createindustry:yellow_concrete_slab", - "createindustry:gray_concrete", - "createindustry:gray_concrete_wall", - "createindustry:gray_concrete_stairs", - "createindustry:gray_concrete_slab", - "createindustry:light_gray_concrete", - "createindustry:light_gray_concrete_wall", - "createindustry:light_gray_concrete_stairs", - "createindustry:light_gray_concrete_slab", - "createindustry:brown_concrete", - "createindustry:brown_concrete_wall", - "createindustry:brown_concrete_stairs", - "createindustry:brown_concrete_slab", - "createindustry:cyan_concrete", - "createindustry:cyan_concrete_wall", - "createindustry:cyan_concrete_stairs", - "createindustry:cyan_concrete_slab", - "createindustry:purple_concrete", - "createindustry:purple_concrete_wall", - "createindustry:purple_concrete_stairs", - "createindustry:purple_concrete_slab", - "createindustry:orange_concrete", - "createindustry:orange_concrete_wall", - "createindustry:orange_concrete_stairs", - "createindustry:orange_concrete_slab", + "createindustry:concrete", "createindustry:concrete_wall", "createindustry:concrete_stairs", - "createindustry:concrete", - "createindustry:white_caution_block", - "createindustry:blue_caution_block", - "createindustry:light_blue_caution_block", - "createindustry:red_caution_block", - "createindustry:green_caution_block", - "createindustry:lime_caution_block", - "createindustry:pink_caution_block", - "createindustry:magenta_caution_block", - "createindustry:yellow_caution_block", - "createindustry:gray_caution_block", - "createindustry:light_gray_caution_block", - "createindustry:brown_caution_block", - "createindustry:cyan_caution_block", - "createindustry:purple_caution_block", - "createindustry:orange_caution_block", "createindustry:concrete_slab", + "createindustry:rebar_concrete", "createindustry:rebar_concrete_wall", "createindustry:rebar_concrete_stairs", - "createindustry:rebar_concrete", "createindustry:rebar_concrete_slab", "createindustry:steel_encased_shaft", "createindustry:heavy_casing_encased_shaft", @@ -269,6 +192,85 @@ "createindustry:aluminum_mechanical_pump", "createindustry:aluminum_smart_fluid_pipe", "createindustry:aluminum_fluid_valve", + "createindustry:black_concrete", + "createindustry:white_concrete", + "createindustry:blue_concrete", + "createindustry:light_blue_concrete", + "createindustry:red_concrete", + "createindustry:green_concrete", + "createindustry:lime_concrete", + "createindustry:pink_concrete", + "createindustry:magenta_concrete", + "createindustry:yellow_concrete", + "createindustry:gray_concrete", + "createindustry:light_gray_concrete", + "createindustry:brown_concrete", + "createindustry:cyan_concrete", + "createindustry:purple_concrete", + "createindustry:orange_concrete", + "createindustry:black_concrete_stairs", + "createindustry:white_concrete_stairs", + "createindustry:blue_concrete_stairs", + "createindustry:light_blue_concrete_stairs", + "createindustry:red_concrete_stairs", + "createindustry:green_concrete_stairs", + "createindustry:lime_concrete_stairs", + "createindustry:pink_concrete_stairs", + "createindustry:magenta_concrete_stairs", + "createindustry:yellow_concrete_stairs", + "createindustry:gray_concrete_stairs", + "createindustry:light_gray_concrete_stairs", + "createindustry:brown_concrete_stairs", + "createindustry:cyan_concrete_stairs", + "createindustry:purple_concrete_stairs", + "createindustry:orange_concrete_stairs", + "createindustry:black_concrete_slab", + "createindustry:white_concrete_slab", + "createindustry:blue_concrete_slab", + "createindustry:light_blue_concrete_slab", + "createindustry:red_concrete_slab", + "createindustry:green_concrete_slab", + "createindustry:lime_concrete_slab", + "createindustry:pink_concrete_slab", + "createindustry:magenta_concrete_slab", + "createindustry:yellow_concrete_slab", + "createindustry:gray_concrete_slab", + "createindustry:light_gray_concrete_slab", + "createindustry:brown_concrete_slab", + "createindustry:cyan_concrete_slab", + "createindustry:purple_concrete_slab", + "createindustry:orange_concrete_slab", + "createindustry:black_concrete_wall", + "createindustry:white_concrete_wall", + "createindustry:blue_concrete_wall", + "createindustry:light_blue_concrete_wall", + "createindustry:red_concrete_wall", + "createindustry:green_concrete_wall", + "createindustry:lime_concrete_wall", + "createindustry:pink_concrete_wall", + "createindustry:magenta_concrete_wall", + "createindustry:yellow_concrete_wall", + "createindustry:gray_concrete_wall", + "createindustry:light_gray_concrete_wall", + "createindustry:brown_concrete_wall", + "createindustry:cyan_concrete_wall", + "createindustry:purple_concrete_wall", + "createindustry:orange_concrete_wall", + "createindustry:white_caution_block", + "createindustry:blue_caution_block", + "createindustry:light_blue_caution_block", + "createindustry:red_caution_block", + "createindustry:green_caution_block", + "createindustry:lime_caution_block", + "createindustry:pink_caution_block", + "createindustry:magenta_caution_block", + "createindustry:yellow_caution_block", + "createindustry:gray_caution_block", + "createindustry:light_gray_caution_block", + "createindustry:brown_caution_block", + "createindustry:cyan_caution_block", + "createindustry:purple_caution_block", + "createindustry:orange_caution_block", "createindustry:bauxite", "createindustry:cut_bauxite", "createindustry:cut_bauxite_stairs", diff --git a/src/generated/resources/data/minecraft/tags/blocks/needs_diamond_tool.json b/src/generated/resources/data/minecraft/tags/blocks/needs_diamond_tool.json index 4265bdc0..122d95d3 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/needs_diamond_tool.json +++ b/src/generated/resources/data/minecraft/tags/blocks/needs_diamond_tool.json @@ -1,7 +1,7 @@ { "values": [ + "createindustry:rebar_concrete", "createindustry:rebar_concrete_wall", - "createindustry:rebar_concrete_stairs", - "createindustry:rebar_concrete" + "createindustry:rebar_concrete_stairs" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/needs_stone_tool.json b/src/generated/resources/data/minecraft/tags/blocks/needs_stone_tool.json index 5684aa20..2f9e7fb1 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/needs_stone_tool.json +++ b/src/generated/resources/data/minecraft/tags/blocks/needs_stone_tool.json @@ -12,73 +12,75 @@ "createindustry:factory_floor_stairs", "createindustry:factory_floor", "createindustry:factory_floor_slab", - "createindustry:black_concrete", - "createindustry:black_concrete_wall", - "createindustry:black_concrete_stairs", - "createindustry:black_concrete_slab", - "createindustry:white_concrete", - "createindustry:white_concrete_wall", - "createindustry:white_concrete_stairs", - "createindustry:white_concrete_slab", - "createindustry:blue_concrete", - "createindustry:blue_concrete_wall", - "createindustry:blue_concrete_stairs", - "createindustry:blue_concrete_slab", - "createindustry:light_blue_concrete", - "createindustry:light_blue_concrete_wall", - "createindustry:light_blue_concrete_stairs", - "createindustry:light_blue_concrete_slab", - "createindustry:red_concrete", - "createindustry:red_concrete_wall", - "createindustry:red_concrete_stairs", - "createindustry:red_concrete_slab", - "createindustry:green_concrete", - "createindustry:green_concrete_wall", - "createindustry:green_concrete_stairs", - "createindustry:green_concrete_slab", - "createindustry:lime_concrete", - "createindustry:lime_concrete_wall", - "createindustry:lime_concrete_stairs", - "createindustry:lime_concrete_slab", - "createindustry:pink_concrete", - "createindustry:pink_concrete_wall", - "createindustry:pink_concrete_stairs", - "createindustry:pink_concrete_slab", - "createindustry:magenta_concrete", - "createindustry:magenta_concrete_wall", - "createindustry:magenta_concrete_stairs", - "createindustry:magenta_concrete_slab", - "createindustry:yellow_concrete", - "createindustry:yellow_concrete_wall", - "createindustry:yellow_concrete_stairs", - "createindustry:yellow_concrete_slab", - "createindustry:gray_concrete", - "createindustry:gray_concrete_wall", - "createindustry:gray_concrete_stairs", - "createindustry:gray_concrete_slab", - "createindustry:light_gray_concrete", - "createindustry:light_gray_concrete_wall", - "createindustry:light_gray_concrete_stairs", - "createindustry:light_gray_concrete_slab", - "createindustry:brown_concrete", - "createindustry:brown_concrete_wall", - "createindustry:brown_concrete_stairs", - "createindustry:brown_concrete_slab", - "createindustry:cyan_concrete", - "createindustry:cyan_concrete_wall", - "createindustry:cyan_concrete_stairs", - "createindustry:cyan_concrete_slab", - "createindustry:purple_concrete", - "createindustry:purple_concrete_wall", - "createindustry:purple_concrete_stairs", - "createindustry:purple_concrete_slab", - "createindustry:orange_concrete", - "createindustry:orange_concrete_wall", - "createindustry:orange_concrete_stairs", - "createindustry:orange_concrete_slab", + "createindustry:concrete", "createindustry:concrete_wall", "createindustry:concrete_stairs", - "createindustry:concrete", + "createindustry:concrete_slab", + "createindustry:rebar_concrete_slab", + "createindustry:black_concrete", + "createindustry:white_concrete", + "createindustry:blue_concrete", + "createindustry:light_blue_concrete", + "createindustry:red_concrete", + "createindustry:green_concrete", + "createindustry:lime_concrete", + "createindustry:pink_concrete", + "createindustry:magenta_concrete", + "createindustry:yellow_concrete", + "createindustry:gray_concrete", + "createindustry:light_gray_concrete", + "createindustry:brown_concrete", + "createindustry:cyan_concrete", + "createindustry:purple_concrete", + "createindustry:orange_concrete", + "createindustry:black_concrete_stairs", + "createindustry:white_concrete_stairs", + "createindustry:blue_concrete_stairs", + "createindustry:light_blue_concrete_stairs", + "createindustry:red_concrete_stairs", + "createindustry:green_concrete_stairs", + "createindustry:lime_concrete_stairs", + "createindustry:pink_concrete_stairs", + "createindustry:magenta_concrete_stairs", + "createindustry:yellow_concrete_stairs", + "createindustry:gray_concrete_stairs", + "createindustry:light_gray_concrete_stairs", + "createindustry:brown_concrete_stairs", + "createindustry:cyan_concrete_stairs", + "createindustry:purple_concrete_stairs", + "createindustry:orange_concrete_stairs", + "createindustry:black_concrete_slab", + "createindustry:white_concrete_slab", + "createindustry:blue_concrete_slab", + "createindustry:light_blue_concrete_slab", + "createindustry:red_concrete_slab", + "createindustry:green_concrete_slab", + "createindustry:lime_concrete_slab", + "createindustry:pink_concrete_slab", + "createindustry:magenta_concrete_slab", + "createindustry:yellow_concrete_slab", + "createindustry:gray_concrete_slab", + "createindustry:light_gray_concrete_slab", + "createindustry:brown_concrete_slab", + "createindustry:cyan_concrete_slab", + "createindustry:purple_concrete_slab", + "createindustry:orange_concrete_slab", + "createindustry:black_concrete_wall", + "createindustry:white_concrete_wall", + "createindustry:blue_concrete_wall", + "createindustry:light_blue_concrete_wall", + "createindustry:red_concrete_wall", + "createindustry:green_concrete_wall", + "createindustry:lime_concrete_wall", + "createindustry:pink_concrete_wall", + "createindustry:magenta_concrete_wall", + "createindustry:yellow_concrete_wall", + "createindustry:gray_concrete_wall", + "createindustry:light_gray_concrete_wall", + "createindustry:brown_concrete_wall", + "createindustry:cyan_concrete_wall", + "createindustry:purple_concrete_wall", + "createindustry:orange_concrete_wall", "createindustry:white_caution_block", "createindustry:blue_caution_block", "createindustry:light_blue_caution_block", @@ -93,8 +95,6 @@ "createindustry:brown_caution_block", "createindustry:cyan_caution_block", "createindustry:purple_caution_block", - "createindustry:orange_caution_block", - "createindustry:concrete_slab", - "createindustry:rebar_concrete_slab" + "createindustry:orange_caution_block" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/slabs.json b/src/generated/resources/data/minecraft/tags/blocks/slabs.json index 3d5b1480..d419f6da 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/slabs.json +++ b/src/generated/resources/data/minecraft/tags/blocks/slabs.json @@ -1,5 +1,23 @@ { "values": [ + "createindustry:concrete_slab", + "createindustry:rebar_concrete_slab", + "createindustry:black_concrete_slab", + "createindustry:white_concrete_slab", + "createindustry:blue_concrete_slab", + "createindustry:light_blue_concrete_slab", + "createindustry:red_concrete_slab", + "createindustry:green_concrete_slab", + "createindustry:lime_concrete_slab", + "createindustry:pink_concrete_slab", + "createindustry:magenta_concrete_slab", + "createindustry:yellow_concrete_slab", + "createindustry:gray_concrete_slab", + "createindustry:light_gray_concrete_slab", + "createindustry:brown_concrete_slab", + "createindustry:cyan_concrete_slab", + "createindustry:purple_concrete_slab", + "createindustry:orange_concrete_slab", "createindustry:cut_bauxite_slab", "createindustry:polished_cut_bauxite_slab", "createindustry:cut_bauxite_brick_slab", diff --git a/src/generated/resources/data/minecraft/tags/blocks/stairs.json b/src/generated/resources/data/minecraft/tags/blocks/stairs.json index 54889bb0..f17068a9 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/stairs.json +++ b/src/generated/resources/data/minecraft/tags/blocks/stairs.json @@ -1,6 +1,8 @@ { "values": [ "createindustry:factory_floor_stairs", + "createindustry:concrete_stairs", + "createindustry:rebar_concrete_stairs", "createindustry:black_concrete_stairs", "createindustry:white_concrete_stairs", "createindustry:blue_concrete_stairs", @@ -17,8 +19,6 @@ "createindustry:cyan_concrete_stairs", "createindustry:purple_concrete_stairs", "createindustry:orange_concrete_stairs", - "createindustry:concrete_stairs", - "createindustry:rebar_concrete_stairs", "createindustry:cut_bauxite_stairs", "createindustry:polished_cut_bauxite_stairs", "createindustry:cut_bauxite_brick_stairs", diff --git a/src/generated/resources/data/minecraft/tags/blocks/walls.json b/src/generated/resources/data/minecraft/tags/blocks/walls.json index 18529983..9c6343b5 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/walls.json +++ b/src/generated/resources/data/minecraft/tags/blocks/walls.json @@ -2,42 +2,24 @@ "values": [ "createindustry:fireproof_brick_reinforcement", "createindustry:factory_floor_slab", - "createindustry:black_concrete_wall", - "createindustry:black_concrete_slab", - "createindustry:white_concrete_wall", - "createindustry:white_concrete_slab", - "createindustry:blue_concrete_wall", - "createindustry:blue_concrete_slab", - "createindustry:light_blue_concrete_wall", - "createindustry:light_blue_concrete_slab", - "createindustry:red_concrete_wall", - "createindustry:red_concrete_slab", - "createindustry:green_concrete_wall", - "createindustry:green_concrete_slab", - "createindustry:lime_concrete_wall", - "createindustry:lime_concrete_slab", - "createindustry:pink_concrete_wall", - "createindustry:pink_concrete_slab", - "createindustry:magenta_concrete_wall", - "createindustry:magenta_concrete_slab", - "createindustry:yellow_concrete_wall", - "createindustry:yellow_concrete_slab", - "createindustry:gray_concrete_wall", - "createindustry:gray_concrete_slab", - "createindustry:light_gray_concrete_wall", - "createindustry:light_gray_concrete_slab", - "createindustry:brown_concrete_wall", - "createindustry:brown_concrete_slab", - "createindustry:cyan_concrete_wall", - "createindustry:cyan_concrete_slab", - "createindustry:purple_concrete_wall", - "createindustry:purple_concrete_slab", - "createindustry:orange_concrete_wall", - "createindustry:orange_concrete_slab", "createindustry:concrete_wall", - "createindustry:concrete_slab", "createindustry:rebar_concrete_wall", - "createindustry:rebar_concrete_slab", + "createindustry:black_concrete_wall", + "createindustry:white_concrete_wall", + "createindustry:blue_concrete_wall", + "createindustry:light_blue_concrete_wall", + "createindustry:red_concrete_wall", + "createindustry:green_concrete_wall", + "createindustry:lime_concrete_wall", + "createindustry:pink_concrete_wall", + "createindustry:magenta_concrete_wall", + "createindustry:yellow_concrete_wall", + "createindustry:gray_concrete_wall", + "createindustry:light_gray_concrete_wall", + "createindustry:brown_concrete_wall", + "createindustry:cyan_concrete_wall", + "createindustry:purple_concrete_wall", + "createindustry:orange_concrete_wall", "createindustry:cut_bauxite_wall", "createindustry:polished_cut_bauxite_wall", "createindustry:cut_bauxite_brick_wall", diff --git a/src/main/java/com/drmangotea/createindustry/CreateTFMG.java b/src/main/java/com/drmangotea/createindustry/CreateTFMG.java index 1592af5a..46067bd9 100644 --- a/src/main/java/com/drmangotea/createindustry/CreateTFMG.java +++ b/src/main/java/com/drmangotea/createindustry/CreateTFMG.java @@ -1,5 +1,10 @@ package com.drmangotea.createindustry; +import com.drmangotea.createindustry.base.TFMGRegistrate; +import com.drmangotea.createindustry.base.datagen.TFMGDataGen; +import com.drmangotea.createindustry.items.weapons.flamethrover.BuiltinFlamethrowerFuelTypes; +import com.drmangotea.createindustry.items.weapons.flamethrover.FlamethrowerFuelType; +import com.drmangotea.createindustry.items.weapons.flamethrover.FlamethrowerFuelTypeManager; import com.drmangotea.createindustry.registry.TFMGContraptions; import com.drmangotea.createindustry.base.TFMGLangPartials; import com.drmangotea.createindustry.config.TFMGConfigs; @@ -9,9 +14,7 @@ import com.drmangotea.createindustry.worldgen.TFMGConfiguredFeatures; import com.drmangotea.createindustry.worldgen.TFMGFeatures; import com.drmangotea.createindustry.worldgen.TFMGOreConfigEntries; import com.mojang.logging.LogUtils; -import com.simibubi.create.AllParticleTypes; import com.simibubi.create.content.processing.burner.BlazeBurnerBlock; -import com.simibubi.create.foundation.data.CreateRegistrate; import com.simibubi.create.foundation.data.LangMerger; import com.simibubi.create.foundation.item.ItemDescription; import com.simibubi.create.foundation.item.KineticStats; @@ -47,7 +50,7 @@ public class CreateTFMG public static final String MOD_ID = "createindustry"; public static final String NAME = "Create: The Factory Must Grow"; - public static final CreateRegistrate REGISTRATE = CreateRegistrate.create(MOD_ID); + public static final TFMGRegistrate REGISTRATE = TFMGRegistrate.create(); public static final Logger LOGGER = LogUtils.getLogger(); static { @@ -95,7 +98,7 @@ public class CreateTFMG // modEventBus.addListener(CreateTFMG::init); MinecraftForge.EVENT_BUS.register(this); - modEventBus.addListener(EventPriority.LOWEST, CreateTFMG::gatherData); + modEventBus.addListener(EventPriority.LOWEST, TFMGDataGen::gatherData); modEventBus.addListener(TFMGSoundEvents::register); DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> CreateTFMGClient::new); modEventBus.addListener(this::clientSetup); @@ -106,7 +109,7 @@ public class CreateTFMG TFMGFluids.registerFluidInteractions(); event.enqueueWork(() -> { - + BuiltinFlamethrowerFuelTypes.register(); registerHeater(TFMGBlocks.FIREBOX.get(), (level, pos, state) -> { BlazeBurnerBlock.HeatLevel value = state.getValue(BlazeBurnerBlock.HEAT_LEVEL); if (value == BlazeBurnerBlock.HeatLevel.NONE) { @@ -124,11 +127,6 @@ public class CreateTFMG }); } @SuppressWarnings("removal") - public static void gatherData(GatherDataEvent event) { - DataGenerator gen = event.getGenerator(); - gen.addProvider(true, new LangMerger(gen, MOD_ID, NAME, TFMGLangPartials.values())); - } - @SuppressWarnings("removal") private void clientSetup(final FMLClientSetupEvent event) { ItemBlockRenderTypes.setRenderLayer(TFMGColoredFires.GREEN_FIRE.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(TFMGColoredFires.BLUE_FIRE.get(), RenderType.cutout()); @@ -139,11 +137,18 @@ public class CreateTFMG final Holder initializeSimulatedOil = TFMGConfiguredFeatures.OIL_DEPOSIT_PLACED; }); + TFMGMobEffects.init(); } @SubscribeEvent public void onServerStarting(ServerStartingEvent event) { LOGGER.info("YEEEHAAW"); + for (FlamethrowerFuelType type : FlamethrowerFuelTypeManager.BUILTIN_TYPE_MAP.values()) { + LOGGER.info("Registered Builtin Flamethrower Fuel type: {}", FlamethrowerFuelTypeManager.getIdForType(type)); + } + for (FlamethrowerFuelType type : FlamethrowerFuelTypeManager.CUSTOM_TYPE_MAP.values()) { + LOGGER.info("Registered Custom Flamethrower Fuel type: {}", FlamethrowerFuelTypeManager.getIdForType(type)); + } } public static ResourceLocation asResource(String path) { diff --git a/src/main/java/com/drmangotea/createindustry/base/TFMGColoredBlocks.java b/src/main/java/com/drmangotea/createindustry/base/TFMGColoredBlocks.java new file mode 100644 index 00000000..252b471e --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/TFMGColoredBlocks.java @@ -0,0 +1,105 @@ +package com.drmangotea.createindustry.base; + +import com.drmangotea.createindustry.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.createindustry.registry.TFMGCreativeModeTabs; +import com.tterrag.registrate.util.entry.BlockEntry; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.SlabBlock; +import net.minecraft.world.level.block.StairBlock; +import net.minecraft.world.level.block.WallBlock; + +import static com.drmangotea.createindustry.CreateTFMG.REGISTRATE; + +public class TFMGColoredBlocks { + static { + REGISTRATE.creativeModeTab(() -> TFMGCreativeModeTabs.TFMG_BUILDING_BLOCKS); + } + + public static final BlockEntry BLACK_CONCRETE = REGISTRATE.coloredConcrete("black"); + public static final BlockEntry WHITE_CONCRETE = REGISTRATE.coloredConcrete("white"); + public static final BlockEntry BLUE_CONCRETE = REGISTRATE.coloredConcrete("blue"); + public static final BlockEntry LIGHT_BLUE_CONCRETE = REGISTRATE.coloredConcrete("light_blue"); + public static final BlockEntry RED_CONCRETE = REGISTRATE.coloredConcrete("red"); + public static final BlockEntry GREEN_CONCRETE = REGISTRATE.coloredConcrete("green"); + public static final BlockEntry LIME_CONCRETE = REGISTRATE.coloredConcrete("lime"); + public static final BlockEntry PINK_CONCRETE = REGISTRATE.coloredConcrete("pink"); + public static final BlockEntry MAGENTA_CONCRETE = REGISTRATE.coloredConcrete("magenta"); + public static final BlockEntry YELLOW_CONCRETE = REGISTRATE.coloredConcrete("yellow"); + public static final BlockEntry GRAY_CONCRETE = REGISTRATE.coloredConcrete("gray"); + public static final BlockEntry LIGHT_GRAY_CONCRETE = REGISTRATE.coloredConcrete("light_gray"); + public static final BlockEntry BROWN_CONCRETE = REGISTRATE.coloredConcrete("brown"); + public static final BlockEntry CYAN_CONCRETE = REGISTRATE.coloredConcrete("cyan"); + public static final BlockEntry PURPLE_CONCRETE = REGISTRATE.coloredConcrete("purple"); + public static final BlockEntry ORANGE_CONCRETE = REGISTRATE.coloredConcrete("orange"); + + public static final BlockEntry BLACK_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("black"); + public static final BlockEntry WHITE_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("white"); + public static final BlockEntry BLUE_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("blue"); + public static final BlockEntry LIGHT_BLUE_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("light_blue"); + public static final BlockEntry RED_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("red"); + public static final BlockEntry GREEN_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("green"); + public static final BlockEntry LIME_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("lime"); + public static final BlockEntry PINK_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("pink"); + public static final BlockEntry MAGENTA_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("magenta"); + public static final BlockEntry YELLOW_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("yellow"); + public static final BlockEntry GRAY_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("gray"); + public static final BlockEntry LIGHT_GRAY_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("light_gray"); + public static final BlockEntry BROWN_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("brown"); + public static final BlockEntry CYAN_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("cyan"); + public static final BlockEntry PURPLE_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("purple"); + public static final BlockEntry ORANGE_CONCRETE_STAIRS = REGISTRATE.coloredConcreteStair("orange"); + + public static final BlockEntry BLACK_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("black"); + public static final BlockEntry WHITE_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("white"); + public static final BlockEntry BLUE_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("blue"); + public static final BlockEntry LIGHT_BLUE_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("light_blue"); + public static final BlockEntry RED_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("red"); + public static final BlockEntry GREEN_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("green"); + public static final BlockEntry LIME_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("lime"); + public static final BlockEntry PINK_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("pink"); + public static final BlockEntry MAGENTA_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("magenta"); + public static final BlockEntry YELLOW_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("yellow"); + public static final BlockEntry GRAY_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("gray"); + public static final BlockEntry LIGHT_GRAY_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("light_gray"); + public static final BlockEntry BROWN_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("brown"); + public static final BlockEntry CYAN_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("cyan"); + public static final BlockEntry PURPLE_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("purple"); + public static final BlockEntry ORANGE_CONCRETE_SLAB = REGISTRATE.coloredConcreteSlab("orange"); + + public static final BlockEntry BLACK_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("black"); + public static final BlockEntry WHITE_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("white"); + public static final BlockEntry BLUE_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("blue"); + public static final BlockEntry LIGHT_BLUE_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("light_blue"); + public static final BlockEntry RED_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("red"); + public static final BlockEntry GREEN_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("green"); + public static final BlockEntry LIME_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("lime"); + public static final BlockEntry PINK_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("pink"); + public static final BlockEntry MAGENTA_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("magenta"); + public static final BlockEntry YELLOW_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("yellow"); + public static final BlockEntry GRAY_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("gray"); + public static final BlockEntry LIGHT_GRAY_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("light_gray"); + public static final BlockEntry BROWN_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("brown"); + public static final BlockEntry CYAN_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("cyan"); + public static final BlockEntry PURPLE_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("purple"); + public static final BlockEntry ORANGE_CONCRETE_WALL = REGISTRATE.coloredConcreteWall("orange"); + + public static final BlockEntry WHITE_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("white"); + public static final BlockEntry BLUE_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("blue"); + public static final BlockEntry LIGHT_BLUE_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("light_blue"); + public static final BlockEntry RED_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("red"); + public static final BlockEntry GREEN_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("green"); + public static final BlockEntry LIME_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("lime"); + public static final BlockEntry PINK_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("pink"); + public static final BlockEntry MAGENTA_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("magenta"); + public static final BlockEntry YELLOW_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("yellow"); + public static final BlockEntry GRAY_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("gray"); + public static final BlockEntry LIGHT_GRAY_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("light_gray"); + public static final BlockEntry BROWN_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("brown"); + public static final BlockEntry CYAN_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("cyan"); + public static final BlockEntry PURPLE_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("purple"); + public static final BlockEntry ORANGE_CAUTION_BLOCK = REGISTRATE.coloredCautionBlock("orange"); + + public static void register() { + // NO-OP + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/TFMGRegistrate.java b/src/main/java/com/drmangotea/createindustry/base/TFMGRegistrate.java new file mode 100644 index 00000000..a7cc77e5 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/TFMGRegistrate.java @@ -0,0 +1,137 @@ +package com.drmangotea.createindustry.base; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.createindustry.registry.TFMGBlocks; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.tterrag.registrate.util.DataIngredient; +import com.tterrag.registrate.util.entry.BlockEntry; +import net.minecraft.tags.BlockTags; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.material.MaterialColor; +import net.minecraftforge.registries.ForgeRegistries; + +import static com.simibubi.create.foundation.data.BlockStateGen.simpleCubeAll; +import static com.simibubi.create.foundation.data.ModelGen.customItemModel; +import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; + +public class TFMGRegistrate extends CreateRegistrate { + + public static String autoLang(String id) { + StringBuilder builder = new StringBuilder(); + boolean b = true; + for (char c: id.toCharArray()) { + if(c == '_') { + builder.append(' '); + b = true; + } else { + builder.append(b ? String.valueOf(c).toUpperCase() : c); + b = false; + } + } + return builder.toString(); + } + + protected TFMGRegistrate() { + super(CreateTFMG.MOD_ID); + } + + public static TFMGRegistrate create() { + return new TFMGRegistrate(); + } + + public static Block getBlock(String name) { + return CreateTFMG.REGISTRATE.get(name, ForgeRegistries.BLOCKS.getRegistryKey()).get(); + } + public static Item getItem(String name) { + return CreateTFMG.REGISTRATE.get(name, ForgeRegistries.ITEMS.getRegistryKey()).get(); + } + public static Item getBucket(String name) { + return CreateTFMG.REGISTRATE.get(name+"_bucket", ForgeRegistries.ITEMS.getRegistryKey()).get(); + } + + public BlockEntry coloredConcrete(String pColor) { + return this.block(pColor + "_concrete", Block::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) + .properties(BlockBehaviour.Properties::requiresCorrectToolForDrops) + .transform(pickaxeOnly()) + .blockstate(simpleCubeAll(pColor + "_concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .item() + .build() + .lang(autoLang(pColor + "_concrete")) + .register(); + } + + public BlockEntry coloredConcreteStair(String pColor) { + return this.block(pColor + "_concrete_stairs", p -> new StairBlock(() -> TFMGBlocks.CONCRETE.get().defaultBlockState(), p)) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) + .properties(BlockBehaviour.Properties::requiresCorrectToolForDrops) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateStairBlockState(c, p, pColor + "_concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.STAIRS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(getBlock(pColor + "_concrete")), c::get, 1)) + .item() + .transform(b -> TFMGVanillaBlockStates.transformStairItem(b, pColor + "_concrete")) + .build() + .lang(autoLang(pColor + "_concrete_stairs")) + .register(); + } + + public BlockEntry coloredConcreteSlab(String pColor) { + return this.block(pColor + "_concrete_slab", SlabBlock::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) + .properties(BlockBehaviour.Properties::requiresCorrectToolForDrops) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateSlabBlockState(c, p, pColor + "_concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.SLABS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(getBlock(pColor + "_concrete")), c::get, 2)) + .item() + .transform(customItemModel(pColor + "_concrete_bottom")) + .lang(autoLang(pColor + "_concrete_slab")) + .register(); + } + + public BlockEntry coloredConcreteWall(String pColor) { + return this.block(pColor + "_concrete_wall", WallBlock::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) + .properties(BlockBehaviour.Properties::requiresCorrectToolForDrops) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateWallBlockState(c, p, pColor + "_concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.WALLS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(getBlock(pColor + "_concrete")), c::get, 1)) + .item() + .transform(b -> TFMGVanillaBlockStates.transformWallItem(b, pColor + "_concrete")) + .build() + .lang(autoLang(pColor + "_concrete_wall")) + .register(); + } + + public BlockEntry coloredCautionBlock(String pColor) { + return this.block(pColor + "_caution_block", TFMGHorizontalDirectionalBlock::new) + .initialProperties(() -> Blocks.COPPER_BLOCK) + .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) + .properties(BlockBehaviour.Properties::requiresCorrectToolForDrops) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .transform(pickaxeOnly()) + .blockstate((c, p) -> p.horizontalBlock(c.get(), p.models() + .withExistingParent(c.getName(), p.modLoc("block/caution_block")) + .texture("0", p.modLoc("block/caution_block/" + pColor)) + .texture("particle", p.modLoc("block/caution_block/" + pColor)) + )) + .tag(BlockTags.NEEDS_STONE_TOOL) + .item() + .build() + .lang(autoLang(pColor + "_caution_block")) + .register(); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/creative_mode_tabs/BuldingCreativeModeTab.java b/src/main/java/com/drmangotea/createindustry/base/creative_mode_tabs/BuldingCreativeModeTab.java index 2e69004d..f9e0eb48 100644 --- a/src/main/java/com/drmangotea/createindustry/base/creative_mode_tabs/BuldingCreativeModeTab.java +++ b/src/main/java/com/drmangotea/createindustry/base/creative_mode_tabs/BuldingCreativeModeTab.java @@ -1,7 +1,7 @@ package com.drmangotea.createindustry.base.creative_mode_tabs; -import com.drmangotea.createindustry.registry.TFMGBlocks; +import com.drmangotea.createindustry.base.TFMGColoredBlocks; import net.minecraft.core.NonNullList; import net.minecraft.world.item.ItemStack; @@ -16,6 +16,6 @@ public class BuldingCreativeModeTab extends TFMGCreativeModeTab { @Override public ItemStack makeIcon() { - return TFMGBlocks.CONCRETE.asStack(); + return TFMGColoredBlocks.MAGENTA_CONCRETE.asStack(); } } diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/TFMGDataGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/TFMGDataGen.java new file mode 100644 index 00000000..82997964 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/TFMGDataGen.java @@ -0,0 +1,64 @@ +package com.drmangotea.createindustry.base.datagen; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGProcessingRecipeGen; +import com.drmangotea.createindustry.base.datagen.recipe.create.MechanicalCraftingGen; +import com.drmangotea.createindustry.base.datagen.recipe.create.SequencedAssemblyGen; +import com.drmangotea.createindustry.base.datagen.recipe.vanilla.TFMGStandardRecipeGen; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.simibubi.create.foundation.utility.FilesHelper; +import com.tterrag.registrate.providers.ProviderType; +import net.minecraft.data.DataGenerator; +import net.minecraftforge.common.data.ExistingFileHelper; +import net.minecraftforge.data.event.GatherDataEvent; + +import java.util.Map; +import java.util.function.BiConsumer; + +public class TFMGDataGen { + public static void gatherData(GatherDataEvent event) { + addExtraRegistrateData(); + + DataGenerator generator = event.getGenerator(); + ExistingFileHelper existingFileHelper = event.getExistingFileHelper(); + + boolean client = event.includeClient(); + boolean server = event.includeServer(); + + if (server) { + //generator.addProvider(true, new MStandardRecipeGen(generator)); + TFMGProcessingRecipeGen.registerAll(generator); + generator.addProvider(true, new SequencedAssemblyGen(generator)); + generator.addProvider(true, new MechanicalCraftingGen(generator)); + generator.addProvider(true, new TFMGStandardRecipeGen(generator)); + } + } + + + private static void addExtraRegistrateData() { + TFMGRegistrateTags.addGenerators(); + + CreateTFMG.REGISTRATE.addDataGenerator(ProviderType.LANG, provider -> { + BiConsumer langConsumer = provider::add; + + provideDefaultLang("interface", langConsumer); + provideDefaultLang("ponders", langConsumer); + provideDefaultLang("tooltips", langConsumer); + }); + } + + private static void provideDefaultLang(String fileName, BiConsumer consumer) { + String path = "assets/createindustry/lang/default/" + fileName + ".json"; + JsonElement jsonElement = FilesHelper.loadJsonResource(path); + if (jsonElement == null) { + throw new IllegalStateException(String.format("Could not find default lang file: %s", path)); + } + JsonObject jsonObject = jsonElement.getAsJsonObject(); + for (Map.Entry entry : jsonObject.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue().getAsString(); + consumer.accept(key, value); + } + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/TFMGRegistrateTags.java b/src/main/java/com/drmangotea/createindustry/base/datagen/TFMGRegistrateTags.java new file mode 100644 index 00000000..a255afc5 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/TFMGRegistrateTags.java @@ -0,0 +1,37 @@ +package com.drmangotea.createindustry.base.datagen; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.registry.TFMGTags; +import com.simibubi.create.AllTags; +import com.tterrag.registrate.providers.ProviderType; +import com.tterrag.registrate.providers.RegistrateTagsProvider; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.material.Fluid; + +public class TFMGRegistrateTags { + public static void addGenerators() { + CreateTFMG.REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, TFMGRegistrateTags::genBlockTags); + CreateTFMG.REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, TFMGRegistrateTags::genItemTags); + CreateTFMG.REGISTRATE.addDataGenerator(ProviderType.FLUID_TAGS, TFMGRegistrateTags::genFluidTags); + CreateTFMG.REGISTRATE.addDataGenerator(ProviderType.ENTITY_TAGS, TFMGRegistrateTags::genEntityTags); + } + + private static void genBlockTags(RegistrateTagsProvider prov) { + prov.tag(TFMGTags.TFMGBlockTags.AIR_INTAKE_TRANSPARENT.tag).addTag(AllTags.AllBlockTags.FAN_TRANSPARENT.tag).add(Blocks.MAGMA_BLOCK); + } + + private static void genItemTags(RegistrateTagsProvider prov) { + + } + + private static void genFluidTags(RegistrateTagsProvider prov) { + + } + + private static void genEntityTags(RegistrateTagsProvider> prov) { + + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/TFMGProcessingRecipeGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/TFMGProcessingRecipeGen.java new file mode 100644 index 00000000..b8c9dfd6 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/TFMGProcessingRecipeGen.java @@ -0,0 +1,146 @@ +package com.drmangotea.createindustry.base.datagen.recipe; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.create.*; +import com.drmangotea.createindustry.base.datagen.recipe.tfmg.*; +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeSerializer; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import com.simibubi.create.foundation.utility.RegisteredObjects; +import net.minecraft.data.CachedOutput; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.DataProvider; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.ItemLike; +import net.minecraftforge.fluids.FluidType; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Supplier; +import java.util.function.UnaryOperator; + +public abstract class TFMGProcessingRecipeGen extends TFMGRecipeProvider { + protected static final List GENERATORS = new ArrayList<>(); + protected static final int BUCKET = FluidType.BUCKET_VOLUME; + protected static final int BOTTLE = 250; + + public TFMGProcessingRecipeGen(DataGenerator generator) { + super(generator); + } + + public static void registerAll(DataGenerator gen) { + //TFMG + GENERATORS.add(new CastingGen(gen)); + GENERATORS.add(new CokingGen(gen)); + GENERATORS.add(new DistillationGen(gen)); + GENERATORS.add(new IndustrialBlastingGen(gen)); + GENERATORS.add(new GasBlastingGen(gen)); + + //Create + GENERATORS.add(new CompactingGen(gen)); + GENERATORS.add(new CrushingGen(gen)); + GENERATORS.add(new FillingGen(gen)); + GENERATORS.add(new ItemApplicationGen(gen)); + GENERATORS.add(new MillingGen(gen)); + GENERATORS.add(new MixingGen(gen)); + GENERATORS.add(new PressingGen(gen)); + + gen.addProvider(true, new DataProvider() { + + @Override + public String getName() { + return "TFMG's Processing Recipes"; + } + + @Override + public void run(@NotNull CachedOutput dc) { + GENERATORS.forEach(g -> { + try { + g.run(dc); + } catch (Exception e) { + e.printStackTrace(); + } + }); + } + }); + } + + /** + * Create a processing recipe with a single itemstack ingredient, using its id + * as the name of the recipe + */ + protected > GeneratedRecipe create(String namespace, + Supplier singleIngredient, UnaryOperator> transform) { + ProcessingRecipeSerializer serializer = getSerializer(); + GeneratedRecipe generatedRecipe = c -> { + ItemLike itemLike = singleIngredient.get(); + transform + .apply(new ProcessingRecipeBuilder<>(serializer.getFactory(), + new ResourceLocation(namespace, RegisteredObjects.getKeyOrThrow(itemLike.asItem()) + .getPath())).withItemIngredients(Ingredient.of(itemLike))) + .build(c); + }; + all.add(generatedRecipe); + return generatedRecipe; + } + + /** + * Create a processing recipe with a single itemstack ingredient, using its id + * as the name of the recipe + */ + > GeneratedRecipe create(Supplier singleIngredient, + UnaryOperator> transform) { + return create(CreateTFMG.MOD_ID, singleIngredient, transform); + } + + protected > GeneratedRecipe createWithDeferredId(Supplier name, + UnaryOperator> transform) { + ProcessingRecipeSerializer serializer = getSerializer(); + GeneratedRecipe generatedRecipe = + c -> transform.apply(new ProcessingRecipeBuilder<>(serializer.getFactory(), name.get())) + .build(c); + all.add(generatedRecipe); + return generatedRecipe; + } + + /** + * Create a new processing recipe, with recipe definitions provided by the + * function + */ + protected > GeneratedRecipe create(ResourceLocation name, + UnaryOperator> transform) { + return createWithDeferredId(() -> name, transform); + } + + /** + * Create a new processing recipe, with recipe definitions provided by the + * function + */ + > GeneratedRecipe create(String name, + UnaryOperator> transform) { + return create(CreateTFMG.asResource(name), transform); + } + + protected abstract IRecipeTypeInfo getRecipeType(); + + protected > ProcessingRecipeSerializer getSerializer() { + return getRecipeType().getSerializer(); + } + + protected Supplier idWithSuffix(Supplier item, String suffix) { + return () -> { + ResourceLocation registryName = RegisteredObjects.getKeyOrThrow(item.get() + .asItem()); + return CreateTFMG.asResource(registryName.getPath() + suffix); + }; + } + + @Override + public String getName() { + return "TFMG's Processing Recipes: " + getRecipeType().getId() + .getPath(); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/TFMGRecipeProvider.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/TFMGRecipeProvider.java new file mode 100644 index 00000000..100c4f4c --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/TFMGRecipeProvider.java @@ -0,0 +1,480 @@ +package com.drmangotea.createindustry.base.datagen.recipe; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.TFMGRegistrate; +import com.drmangotea.createindustry.registry.TFMGBlocks; +import com.drmangotea.createindustry.registry.TFMGFluids; +import com.drmangotea.createindustry.registry.TFMGItems; +import com.drmangotea.createindustry.registry.TFMGPaletteStoneTypes; +import com.simibubi.create.AllFluids; +import com.simibubi.create.AllItems; +import com.simibubi.create.content.decoration.palettes.AllPaletteStoneTypes; +import com.tterrag.registrate.providers.ProviderType; +import com.tterrag.registrate.util.DataIngredient; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.recipes.FinishedRecipe; +import net.minecraft.data.recipes.RecipeProvider; +import net.minecraft.data.recipes.SingleItemRecipeBuilder; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.material.Fluids; +import net.minecraftforge.registries.ForgeRegistries; + +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.ArrayList; +import java.util.List; +import java.util.function.Consumer; +import java.util.function.Supplier; + +@ParametersAreNonnullByDefault +public class TFMGRecipeProvider extends RecipeProvider { + + protected final List all = new ArrayList<>(); + + public TFMGRecipeProvider(DataGenerator generator) { + super(generator); + } + + @Override + protected void buildCraftingRecipes(Consumer consumer) { + all.forEach(c -> c.register(consumer)); + CreateTFMG.LOGGER.info("{} registered {} recipe{}", getName(), all.size(), all.size() == 1 ? "" : "s"); + } + + protected GeneratedRecipe register(GeneratedRecipe recipe) { + all.add(recipe); + return recipe; + } + + + @FunctionalInterface + public interface GeneratedRecipe { + void register(Consumer consumer); + } + + public static class Marker { + } + + public static class IT { + public static TagKey aluminumIngot() { + return TagKey.create(ForgeRegistries.ITEMS.getRegistryKey(), new ResourceLocation("forge", "ingots/aluminum")); + } + public static TagKey steelIngot() { + return TagKey.create(ForgeRegistries.ITEMS.getRegistryKey(), new ResourceLocation("forge", "ingots/steel")); + } + public static TagKey copperIngot() { + return TagKey.create(ForgeRegistries.ITEMS.getRegistryKey(), new ResourceLocation("forge", "ingots/copper")); + } + public static TagKey zincIngot() { + return TagKey.create(ForgeRegistries.ITEMS.getRegistryKey(), new ResourceLocation("forge", "ingots/zinc")); + } + public static TagKey bauxiteStoneType() { + return TFMGPaletteStoneTypes.BAUXITE.materialTag; + } + public static TagKey galenaStoneType() { + return TFMGPaletteStoneTypes.GALENA.materialTag; + } + public static TagKey planks() { + return TagKey.create(ForgeRegistries.ITEMS.getRegistryKey(), new ResourceLocation("minecraft", "planks")); + } + public static TagKey string() { + return TagKey.create(ForgeRegistries.ITEMS.getRegistryKey(), new ResourceLocation("forge", "string")); + } + public static TagKey copperWire() { + return TagKey.create(ForgeRegistries.ITEMS.getRegistryKey(), new ResourceLocation("forge", "wires/copper")); + } + public static TagKey copperPlate() { + return TagKey.create(ForgeRegistries.ITEMS.getRegistryKey(), new ResourceLocation("forge", "plates/copper")); + } + public static TagKey leadIngot() { + return TagKey.create(ForgeRegistries.ITEMS.getRegistryKey(), new ResourceLocation("forge", "ingots/lead")); + } + public static TagKey nickelIngot() { + return TagKey.create(ForgeRegistries.ITEMS.getRegistryKey(), new ResourceLocation("forge", "ingots/nickel")); + } + public static TagKey brassIngot() { + return TagKey.create(ForgeRegistries.ITEMS.getRegistryKey(), new ResourceLocation("forge", "ingots/brass")); + } + } + + public static class I { + public static ItemLike coal() { + return Items.COAL; + } + public static ItemLike charcoal() { + return Items.CHARCOAL; + } + public static ItemLike coalCoke() { + return TFMGItems.COAL_COKE.get(); + } + public static ItemLike coalCokeDust() { + return TFMGItems.COAL_COKE_DUST.get(); + } + public static ItemLike steelIngot() { + return TFMGItems.STEEL_INGOT.get(); + } + public static ItemLike steelBlock() { + return TFMGBlocks.STEEL_BLOCK.get(); + } + public static ItemLike blastingMixture() { + return TFMGItems.BLASTING_MIXTURE.get(); + } + public static ItemLike bitumen() { + return TFMGItems.BITUMEN.get(); + } + public static ItemLike cinderFlour() { + return AllItems.CINDER_FLOUR.get(); + } + public static ItemLike cinderflourBlock() { + return TFMGBlocks.CINDERFLOUR_BLOCK.get(); + } + public static ItemLike plasticSheet() { + return TFMGItems.PLASTIC_SHEET.get(); + } + public static ItemLike crimsite() { + return AllPaletteStoneTypes.CRIMSITE.getBaseBlock().get(); + } + public static ItemLike thermitePowder() { + return TFMGItems.THERMITE_POWDER.get(); + } + public static ItemLike crushedRawAluminum() { + return AllItems.CRUSHED_BAUXITE.get(); + } + public static ItemLike experienceNugget() { + return AllItems.EXP_NUGGET.get(); + } + public static ItemLike copperSulfate() { + return TFMGItems.COPPER_SULFATE.get(); + } + public static ItemLike boneMeal() { + return Items.BONE_MEAL; + } + public static ItemLike blueDye() { + return Items.BLUE_DYE; + } + public static ItemLike cyanDye() { + return Items.CYAN_DYE; + } + public static ItemLike crushedRawLead() { + return AllItems.CRUSHED_LEAD.get(); + } + public static ItemLike lignite() { + return TFMGBlocks.LIGNITE.get(); + } + public static ItemLike limestone() { + return AllPaletteStoneTypes.LIMESTONE.getBaseBlock().get(); + } + public static ItemLike limesand() { + return TFMGItems.LIMESAND.get(); + } + public static ItemLike dirt() { + return Items.DIRT; + } + public static ItemLike nitrateDust() { + return TFMGItems.NITRATE_DUST.get(); + } + public static ItemLike sulfur() { + return TFMGBlocks.SULFUR.get(); + } + public static ItemLike sulfurDust() { + return TFMGItems.SULFUR_DUST.get(); + } + public static ItemLike bucket() { + return Items.BUCKET; + } + public static ItemLike bottle() { + return Items.GLASS_BOTTLE; + } + public static ItemLike bottleOfBatteryAcid() { + return TFMGItems.BOTTLE_OF_BATTERY_ACID.get(); + } + public static ItemLike bottleOfConcrete() { + return TFMGItems.BOTTLE_OF_CONCRETE.get(); + } + public static ItemLike hardenedPlanks() { + return TFMGBlocks.HARDENED_PLANKS.get(); + } + public static ItemLike potato() { + return Items.POTATO; + } + public static ItemLike napalmPotato() { + return TFMGItems.NAPALM_POTATO.get(); + } + public static ItemLike heavyMachineryCasing() { + return TFMGBlocks.HEAVY_MACHINERY_CASING.get(); + } + public static ItemLike steelCasing() { + return TFMGBlocks.STEEL_CASING.get(); + } + public static ItemLike heavyPlate() { + return TFMGItems.HEAVY_PLATE.get(); + } + //public static ItemLike charcoalDust() { + // return TFMGItems.CHARCOAL_DUST.get(); + //} + public static ItemLike crushedRawIron() { + return AllItems.CRUSHED_IRON.get(); + } + public static ItemLike ironIngot() { + return Items.IRON_INGOT; + } + public static ItemLike castIronIngot() { + return TFMGItems.CAST_IRON_INGOT.get(); + } + public static ItemLike clayBall() { + return Items.CLAY_BALL; + } + public static ItemLike cement() { + return TFMGBlocks.CEMENT.get(); + } + public static ItemLike sand() { + return Items.SAND; + } + public static ItemLike gravel() { + return Items.GRAVEL; + } + public static ItemLike concreteMixture() { + return TFMGItems.CONCRETE_MIXTURE.get(); + } + public static ItemLike slag() { + return TFMGItems.SLAG.get(); + } + public static ItemLike gunpowder() { + return Items.GUNPOWDER; + } + public static ItemLike zincSulfate() { + return TFMGItems.ZINC_SULFATE.get(); + } + public static ItemLike syntheticLeather() { + return TFMGItems.SYNTHETIC_LEATHER.get(); + } + public static ItemLike engineBase() { + return TFMGItems.ENGINE_BASE.get(); + } + public static ItemLike unfinishedGasolineEngine() { + return TFMGItems.UNFINISHED_GASOLINE_ENGINE.get(); + } + public static ItemLike gasolineEngine() { + return TFMGBlocks.GASOLINE_ENGINE.get(); + } + public static ItemLike unfinishedLpgEngine() { + return TFMGItems.UNFINISHED_LPG_ENGINE.get(); + } + public static ItemLike lpgEngine() { + return TFMGBlocks.LPG_ENGINE.get(); + } + public static ItemLike engineChamber() { + return TFMGItems.ENGINE_CHAMBER.get(); + } + public static ItemLike screw() { + return TFMGItems.SCREW.get(); + } + public static ItemLike screwdriver() { + return TFMGItems.SCREWDRIVER.get(); + } + public static ItemLike unprocessedHeavyPlate() { + return TFMGItems.UNPROCESSED_HEAVY_PLATE.get(); + } + public static ItemLike steelMechanism() { + return TFMGItems.STEEL_MECHANISM.get(); + } + public static ItemLike unfinishedSteelMechanism() { + return TFMGItems.UNFINISHED_STEEL_MECHANISM.get(); + } + public static ItemLike aluminumIngot() { + return TFMGItems.ALUMINUM_INGOT.get(); + } + public static ItemLike industrialPipe() { + return TFMGBlocks.INDUSTRIAL_PIPE.get(); + } + public static ItemLike turbineBlade() { + return TFMGItems.TURBINE_BLADE.get(); + } + public static ItemLike turbineEngine() { + return TFMGBlocks.TURBINE_ENGINE.get(); + } + public static ItemLike unfinishedTurbineEngine() { + return TFMGItems.UNFINISHED_TURBINE_ENGINE.get(); + } + } + + public static class F { + //GASSES + public static Fluid air() { + return TFMGFluids.AIR.get(); + } + public static Fluid heatedAir() { + return TFMGFluids.HEATED_AIR.get(); + } + public static Fluid carbonDioxide() { + return TFMGFluids.CARBON_DIOXIDE.get(); + } + public static Fluid ethylene() { + return TFMGFluids.ETHYLENE.get(); + } + public static Fluid propylene() { + return TFMGFluids.PROPYLENE.get(); + } + public static Fluid propane() { + return TFMGFluids.PROPANE.get(); + } + public static Fluid butane() { + return TFMGFluids.BUTANE.get(); + } + public static Fluid lpg() { + return TFMGFluids.LPG.get(); + } + public static Fluid neon() { + return TFMGFluids.NEON.get(); + } + public static Fluid blastFurnaceGas() { + return TFMGFluids.BLAST_FURNACE_GAS.get(); + } + + //LIQUIDS + public static Fluid crudeOil() { + return TFMGFluids.CRUDE_OIL.get(); + } + public static Fluid heavyOil() { + return TFMGFluids.HEAVY_OIL.get(); + } + public static Fluid lubricationOil() { + return TFMGFluids.LUBRICATION_OIL.get(); + } + public static Fluid napalm() { + return TFMGFluids.NAPALM.get(); + } + public static Fluid naphtha() { + return TFMGFluids.NAPHTHA.get(); + } + public static Fluid kerosene() { + return TFMGFluids.KEROSENE.get(); + } + public static Fluid gasoline() { + return TFMGFluids.GASOLINE.get(); + } + public static Fluid diesel() { + return TFMGFluids.DIESEL.get(); + } + public static Fluid creosote() { + return TFMGFluids.CREOSOTE.get(); + } + public static Fluid water() { + return Fluids.WATER; + } + + //MISC + public static Fluid coolingFluid() { + return TFMGFluids.COOLING_FLUID.get(); + } + public static Fluid sulfuricAcid() { + return TFMGFluids.SULFURIC_ACID.get(); + } + public static Fluid liquidConcrete() { + return TFMGFluids.LIQUID_CONCRETE.get(); + } + public static Fluid liquidAsphalt() { + return TFMGFluids.LIQUID_ASPHALT.get(); + } + public static Fluid liquidPlastic() { + return TFMGFluids.LIQUID_PLASTIC.get(); + } + public static Fluid moltenSteel() { + return TFMGFluids.MOLTEN_STEEL.get(); + } + public static Fluid moltenSlag() { + return TFMGFluids.MOLTEN_SLAG.get(); + } + public static Fluid potion() { + return AllFluids.POTION.get(); + } + + //BUCKETS + public static ItemLike airTank() { + return TFMGRegistrate.getBucket("air"); + } + public static ItemLike heatedAirTank() { + return TFMGRegistrate.getBucket("heated_air"); + } + public static ItemLike carbonDioxideTank() { + return TFMGRegistrate.getBucket("carbon_dioxide"); + } + public static ItemLike ethyleneTank() { + return TFMGRegistrate.getBucket("ethylene"); + } + public static ItemLike propyleneTank() { + return TFMGRegistrate.getBucket("propylene"); + } + public static ItemLike propaneTank() { + return TFMGRegistrate.getBucket("propane"); + } + public static ItemLike butaneTank() { + return TFMGRegistrate.getBucket("butane"); + } + public static ItemLike lpgTank() { + return TFMGRegistrate.getBucket("lpg"); + } + public static ItemLike neonTank() { + return TFMGRegistrate.getBucket("neon"); + } + public static ItemLike blastFurnaceGasTank() { + return TFMGRegistrate.getBucket("blast_furnace_gas"); + } + public static ItemLike crudeOilBucket() { + return TFMGRegistrate.getBucket("crude_oil"); + } + public static ItemLike heavyOilBucket() { + return TFMGRegistrate.getBucket("heavy_oil"); + } + public static ItemLike lubricationOilBucket() { + return TFMGRegistrate.getBucket("lubrication_oil"); + } + public static ItemLike napalmBucket() { + return TFMGRegistrate.getBucket("napalm"); + } + public static ItemLike naphthaBucket() { + return TFMGRegistrate.getBucket("naphtha"); + } + public static ItemLike keroseneBucket() { + return TFMGRegistrate.getBucket("kerosene"); + } + public static ItemLike gasolineBucket() { + return TFMGRegistrate.getBucket("gasoline"); + } + public static ItemLike dieselBucket() { + return TFMGRegistrate.getBucket("diesel"); + } + public static ItemLike creosoteBucket() { + return TFMGRegistrate.getBucket("creosote"); + } + public static ItemLike coolingFluidBucket() { + return TFMGRegistrate.getBucket("cooling_fluid"); + } + public static ItemLike sulfuricAcidBucket() { + return TFMGRegistrate.getBucket("sulfuric_acid"); + } + public static ItemLike liquidConcreteBucket() { + return TFMGRegistrate.getBucket("liquid_concrete"); + } + public static ItemLike liquidAsphaltBucket() { + return TFMGRegistrate.getBucket("liquid_asphalt"); + } + public static ItemLike liquidPlasticBucket() { + return TFMGRegistrate.getBucket("liquid_plastic"); + } + public static ItemLike moltenSteelBucket() { + return TFMGRegistrate.getBucket("molten_steel"); + } + public static ItemLike moltenSlagBucket() { + return TFMGRegistrate.getBucket("molten_slag"); + } + public static ItemLike waterBucket() { + return Fluids.WATER.getBucket(); + } + } + +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/CompactingGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/CompactingGen.java new file mode 100644 index 00000000..b0b6ec71 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/CompactingGen.java @@ -0,0 +1,52 @@ +package com.drmangotea.createindustry.base.datagen.recipe.create; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGProcessingRecipeGen; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.data.DataGenerator; + +public class CompactingGen extends TFMGProcessingRecipeGen { + + GeneratedRecipe + + bitumen = create(CreateTFMG.asResource("bitumen"), b -> b + .require(F.heavyOil(), 10) + .output(I.bitumen(), 1)), + + cinderflourblock = create(CreateTFMG.asResource("cinderflourblock"), b -> b + .require(I.cinderFlour()) + .require(I.cinderFlour()) + .output(I.cinderflourBlock(), 1)), + + plasticMolding = create(CreateTFMG.asResource("plastic_molding"), b -> b + .require(F.liquidPlastic(), 200) + .output(I.plasticSheet(), 1)), + + steelBlock = create(CreateTFMG.asResource("steel_block"), b -> b + .require(I.steelIngot()) + .require(I.steelIngot()) + .require(I.steelIngot()) + .require(I.steelIngot()) + .require(I.steelIngot()) + .require(I.steelIngot()) + .require(I.steelIngot()) + .require(I.steelIngot()) + .require(I.steelIngot()) + .output(I.steelBlock(), 1)), + + thermitePowder = create(CreateTFMG.asResource("thermite_powder"), b -> b + .require(IT.aluminumIngot()) + .require(I.crimsite()) + .output(I.thermitePowder(), 1)) + + ; + public CompactingGen(DataGenerator generator) { + super(generator); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return AllRecipeTypes.COMPACTING; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/CrushingGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/CrushingGen.java new file mode 100644 index 00000000..3b7a7984 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/CrushingGen.java @@ -0,0 +1,70 @@ +package com.drmangotea.createindustry.base.datagen.recipe.create; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGProcessingRecipeGen; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.data.DataGenerator; + +public class CrushingGen extends TFMGProcessingRecipeGen { + + GeneratedRecipe + + bauxiteRecycling = create(CreateTFMG.asResource("bauxite_recycling"), b -> b + .require(IT.bauxiteStoneType()) + .output(I.crushedRawAluminum(), 1) + .output(0.25f, I.crushedRawAluminum(), 1) + .output(0.15f, I.experienceNugget(), 1) + .duration(250)), + + coalCokeDust = create(CreateTFMG.asResource("coal_coke_dust"), b -> b + .require(I.coalCoke()) + .output(I.coalCokeDust(), 1) + .duration(250)), + + copperSulfate = create(CreateTFMG.asResource("copper_sulfate"), b -> b + .require(I.copperSulfate()) + .output(I.boneMeal(), 4) + .output(0.5f, I.boneMeal(), 3) + .output(0.5f, I.blueDye(), 1) + .output(0.3f, I.cyanDye(), 1) + .duration(100)), + + galenaRecycling = create(CreateTFMG.asResource("galena_recycling"), b -> b + .require(IT.galenaStoneType()) + .output(I.crushedRawLead(), 1) + .output(0.15f, I.experienceNugget(), 1) + .duration(250)), + + lignite = create(CreateTFMG.asResource("lignite"), b -> b + .require(I.lignite()) + .output(I.coal(), 1) + .duration(250)), + + limesand = create(CreateTFMG.asResource("limesand"), b -> b + .require(I.limestone()) + .output(I.limesand(), 1) + .duration(100)), + + saltpeter = create(CreateTFMG.asResource("saltpeter"), b -> b + .require(I.dirt()) + .output(0.2f, I.nitrateDust(), 1) + .duration(350)), + + sulfur = create(CreateTFMG.asResource("sulfur"), b -> b + .require(I.sulfur()) + .output(I.sulfurDust(), 1) + .output(0.1f, I.sulfurDust(), 1) + .duration(250)) + ; + + public CrushingGen(DataGenerator generator) { + super(generator); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return AllRecipeTypes.CRUSHING; + } + +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/FillingGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/FillingGen.java new file mode 100644 index 00000000..e34fe74f --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/FillingGen.java @@ -0,0 +1,83 @@ +package com.drmangotea.createindustry.base.datagen.recipe.create; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGProcessingRecipeGen; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.data.DataGenerator; + +public class FillingGen extends TFMGProcessingRecipeGen { + + GeneratedRecipe + + airTank = create(CreateTFMG.asResource("air_tank"), b -> b + .require(I.bucket()) + .require(F.air(), 1000) + .output(F.airTank(), 1)), + + bottleOfBatteryAcid = create(CreateTFMG.asResource("bottle_of_battery_acid"), b -> b + .require(I.bottle()) + .require(F.sulfuricAcid(), 250) + .output(I.bottleOfBatteryAcid(), 1)), + + bottleOfConcrete = create(CreateTFMG.asResource("bottle_of_concrete"), b -> b + .require(I.bottle()) + .require(F.liquidConcrete(), 250) + .output(I.bottleOfConcrete(), 1)), + + butaneTank = create(CreateTFMG.asResource("butane_tank"), b -> b + .require(I.bucket()) + .require(F.butane(), 1000) + .output(F.butaneTank(), 1)), + + carbonDioxideTank = create(CreateTFMG.asResource("carbon_dioxide_tank"), b -> b + .require(I.bucket()) + .require(F.carbonDioxide(), 1000) + .output(F.carbonDioxideTank(), 1)), + + ethyleneTank = create(CreateTFMG.asResource("ethylene_tank"), b -> b + .require(I.bucket()) + .require(F.ethylene(), 1000) + .output(F.ethyleneTank(), 1)), + + hardenedWoodCreosote = create(CreateTFMG.asResource("hardened_wood_creosote"), b -> b + .require(IT.planks()) + .require(F.creosote(), 200) + .output(I.hardenedPlanks(), 1)), + + lpgTank = create(CreateTFMG.asResource("lpg_tank"), b -> b + .require(I.bucket()) + .require(F.lpg(), 1000) + .output(F.lpgTank(), 1)), + + napalmPotato = create(CreateTFMG.asResource("napalm_potato"), b -> b + .require(I.potato()) + .require(F.napalm(), 250) + .output(I.napalmPotato(), 1)), + + neonTank = create(CreateTFMG.asResource("neon_tank"), b -> b + .require(I.bucket()) + .require(F.neon(), 1000) + .output(F.neonTank(), 1)), + + propaneTank = create(CreateTFMG.asResource("propane_tank"), b -> b + .require(I.bucket()) + .require(F.propane(), 1000) + .output(F.propaneTank(), 1)), + + propyleneTank = create(CreateTFMG.asResource("propylene_tank"), b -> b + .require(I.bucket()) + .require(F.propylene(), 1000) + .output(F.propyleneTank(), 1)) + + ; + + public FillingGen(DataGenerator generator) { + super(generator); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return AllRecipeTypes.FILLING; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/ItemApplicationGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/ItemApplicationGen.java new file mode 100644 index 00000000..9d4b1bd8 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/ItemApplicationGen.java @@ -0,0 +1,35 @@ +package com.drmangotea.createindustry.base.datagen.recipe.create; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGProcessingRecipeGen; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.data.DataGenerator; + +public class ItemApplicationGen extends TFMGProcessingRecipeGen { + + GeneratedRecipe + + heavyMachineryCasing = create(CreateTFMG.asResource("heavy_machinery_casing"), b -> b + .require(I.steelCasing()) + .require(I.heavyPlate()) + .output(I.heavyMachineryCasing(), 1)), + + steelCasing = create(CreateTFMG.asResource("steel_casing"), b -> b + .require(I.hardenedPlanks()) + .require(IT.steelIngot()) + .output(I.steelCasing(), 1)) + + ; + + public ItemApplicationGen(DataGenerator generator) { + super(generator); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return AllRecipeTypes.ITEM_APPLICATION; + } + + +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/MechanicalCraftingGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/MechanicalCraftingGen.java new file mode 100644 index 00000000..bc9baa0b --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/MechanicalCraftingGen.java @@ -0,0 +1,152 @@ +package com.drmangotea.createindustry.base.datagen.recipe.create; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.TFMGPipes; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGRecipeProvider; +import com.drmangotea.createindustry.registry.TFMGBlocks; +import com.drmangotea.createindustry.registry.TFMGItems; +import com.google.common.base.Supplier; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllItems; +import com.simibubi.create.foundation.data.recipe.MechanicalCraftingRecipeBuilder; +import com.simibubi.create.foundation.utility.RegisteredObjects; +import net.minecraft.data.DataGenerator; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.ItemLike; + +import java.util.function.UnaryOperator; + +public class MechanicalCraftingGen extends TFMGRecipeProvider { + + GeneratedRecipe advancedPotatoCannon = create(TFMGItems.ADVANCED_POTATO_CANNON::get).recipe((b) -> { + return b.key('I', TFMGPipes.STEEL_PIPE.get()).key('P', I.steelMechanism()).key('H', I.heavyPlate()).key('A', I.plasticSheet()).patternLine("IIPPH").patternLine(" AH H"); + }); + + GeneratedRecipe dieselEngine = create(TFMGBlocks.DIESEL_ENGINE::get).recipe((b) -> { + return b.key('A', IT.aluminumIngot()).key('H', I.heavyPlate()).key('S', I.steelMechanism()).key('C', I.heavyMachineryCasing()).key('O', IT.steelIngot()).key('T', TFMGBlocks.STEEL_FLUID_TANK.get()) + .patternLine(" O ").patternLine(" A ").patternLine("AOA").patternLine("SCS").patternLine("STS").patternLine("HHH"); + }); + + GeneratedRecipe engineBase = create(TFMGItems.ENGINE_BASE::get).recipe((b) -> { + return b.key('A', AllBlocks.SHAFT.get()).key('H', I.heavyPlate()).key('C', I.heavyMachineryCasing()) + .patternLine("HAH").patternLine("HCH"); + }); + + GeneratedRecipe engineChamber = create(TFMGItems.ENGINE_CHAMBER::get).recipe((b) -> { + return b.key('A', IT.aluminumIngot()).key('S', TFMGItems.SPARK_PLUG.get()).key('P', I.steelMechanism()) + .patternLine("S").patternLine("A").patternLine("P"); + }); + + GeneratedRecipe flamethrower = create(TFMGItems.FLAMETHROWER::get).recipe((b) -> { + return b.key('P', I.steelMechanism()).key('A', IT.aluminumIngot()).key('I', TFMGPipes.STEEL_PIPE.get()).key('H', I.heavyPlate()).key('T', TFMGBlocks.STEEL_FLUID_TANK.get()) + .patternLine("IIPPH").patternLine(" ATAH"); + }); + + GeneratedRecipe generator = create(TFMGBlocks.GENERATOR::get).recipe((b) -> { + return b.key('M', TFMGItems.MAGNETIC_INGOT.get()).key('C', TFMGBlocks.ELECTRIC_CASING.get()).key('E', I.steelMechanism()).key('K', TFMGItems.COPPER_CABLE.get()) + .patternLine("EME").patternLine("MCM").patternLine("KMK"); + }); + + GeneratedRecipe largeRadialEngine = create(TFMGBlocks.LARGE_RADIAL_ENGINE::get).recipe((b) -> { + return b.key('L', F.lubricationOilBucket()).key('C', I.heavyMachineryCasing()).key('M', I.engineChamber()).key('S', AllBlocks.SHAFT.get()).key('P', TFMGPipes.STEEL_PIPE.get()).key('E', TFMGBlocks.EXHAUST.get()).key('H', I.heavyPlate()).key('N', I.steelMechanism()) + .patternLine(" MHM ").patternLine("MNLNM").patternLine("EPCPE").patternLine("MHSHM").patternLine(" MHM "); + }); + + GeneratedRecipe lithiumBlade = create(TFMGItems.LITHIUM_BLADE::get).recipe((b) -> { + return b.key('T', TFMGBlocks.LITHIUM_TORCH.get()).key('M', I.steelMechanism()).key('S', TFMGItems.STEEL_SWORD.get()).key('K', TFMGItems.CAPACITOR.get()).key('R', TFMGItems.RESISTOR.get()).key('P', I.plasticSheet()).key('L', TFMGItems.SYNTHETIC_LEATHER.get()).key('C', IT.copperWire()) + .patternLine(" T ").patternLine("CSC").patternLine("CMK").patternLine("PLR"); + }); + + GeneratedRecipe pumpjackBase = create(TFMGBlocks.PUMPJACK_BASE::get).recipe((b) -> { + return b.key('A', IT.string()).key('H', I.heavyPlate()).key('S', I.steelMechanism()).key('C', I.heavyMachineryCasing()).key('I', I.industrialPipe()) + .patternLine("HAH").patternLine("SCS").patternLine("HIH"); + }); + + GeneratedRecipe pumpjackCrank = create(TFMGBlocks.PUMPJACK_CRANK::get).recipe((b) -> { + return b.key('A', IT.string()).key('H', I.heavyPlate()).key('S', TFMGItems.REBAR.get()).key('C', I.heavyMachineryCasing()) + .patternLine("HAH").patternLine("SCS"); + }); + + GeneratedRecipe quadPotatoCannon = create(TFMGItems.QUAD_POTATO_CANNON::get).recipe((b) -> { + return b.key('P', I.steelMechanism()).key('A', TFMGItems.REBAR.get()).key('S', I.industrialPipe()).key('I', TFMGPipes.STEEL_PIPE.get()).key('H', I.heavyPlate()) + .patternLine("HIIIS").patternLine("HPPIS").patternLine(" A "); + }); + + GeneratedRecipe radialEngine = create(TFMGBlocks.RADIAL_ENGINE::get).recipe((b) -> { + return b.key('L', F.lubricationOilBucket()).key('C', I.heavyMachineryCasing()).key('M', I.engineChamber()).key('S', AllBlocks.SHAFT.get()).key('P', TFMGPipes.STEEL_PIPE.get()).key('E', TFMGBlocks.EXHAUST.get()) + .patternLine(" M ").patternLine(" MLM ").patternLine("MECPM").patternLine(" MSM ").patternLine(" M "); + }); + + GeneratedRecipe rotor = create(TFMGBlocks.ROTOR::get).recipe((b) -> { + return b.key('A', IT.aluminumIngot()).key('C', TFMGBlocks.COPPER_COIL.get()).key('S', AllBlocks.SHAFT.get()).key('R', TFMGItems.REBAR.get()) + .patternLine(" CCC ").patternLine("CRARC").patternLine("CASAC").patternLine("CRARC").patternLine(" CCC "); + }); + + GeneratedRecipe sparkPlug = create(TFMGItems.SPARK_PLUG::get).recipe((b) -> { + return b.key('F', Items.FLINT).key('A', IT.aluminumIngot()) + .patternLine("F").patternLine("A"); + }); + + GeneratedRecipe stator = create(TFMGBlocks.STATOR::get).recipe((b) -> { + return b.key('C', TFMGItems.COPPER_CABLE.get()).key('M', TFMGItems.MAGNETIC_INGOT.get()).key('P', I.steelMechanism()).key('R', IT.steelIngot()).key('A', TFMGBlocks.ELECTRIC_CASING.get()) + .patternLine("MMM").patternLine("CPC").patternLine("RAR"); + }); + + GeneratedRecipe steelDistillationController = create(TFMGBlocks.STEEL_DISTILLATION_CONTROLLER::get).recipe((b) -> { + return b.key('P', I.steelMechanism()).key('I', I.industrialPipe()).key('H', I.heavyPlate()).key('C', I.heavyMachineryCasing()).key('D', AllBlocks.DISPLAY_BOARD.get()).key('E', AllItems.ELECTRON_TUBE.get()) + .patternLine("HIH").patternLine("PDP").patternLine("ECE"); + }); + + GeneratedRecipe steelDistillationOutput = create(TFMGBlocks.STEEL_DISTILLATION_OUTPUT::get).recipe((b) -> { + return b.key('T', TFMGBlocks.STEEL_FLUID_TANK.get()).key('H', I.heavyPlate()).key('P', TFMGPipes.STEEL_PIPE.get()) + .patternLine("HPH").patternLine("PTP").patternLine("HPH"); + }); + + GeneratedRecipe surfaceScanner = create(TFMGBlocks.SURFACE_SCANNER::get).recipe((b) -> { + return b.key('I', I.heavyPlate()).key('C', I.heavyMachineryCasing()).key('H', Items.COMPASS).key('S', AllBlocks.SHAFT.get()).key('E', I.steelMechanism()).key('K', IT.copperPlate()) + .patternLine("IHI").patternLine("SCK").patternLine("EEK"); + }); + + public MechanicalCraftingGen(DataGenerator generator) { + super(generator); + } + + GeneratedRecipeBuilder create(Supplier result) { + return new GeneratedRecipeBuilder(result); + } + + public String getName() { + return "TFMG's Mechanical Crafting Recipes"; + } + + class GeneratedRecipeBuilder { + private String suffix = ""; + private Supplier result; + private int amount; + + public GeneratedRecipeBuilder(Supplier result) { + this.result = result; + this.amount = 1; + } + + GeneratedRecipeBuilder returns(int amount) { + this.amount = amount; + return this; + } + + GeneratedRecipeBuilder withSuffix(String suffix) { + this.suffix = suffix; + return this; + } + + GeneratedRecipe recipe(UnaryOperator builder) { + return MechanicalCraftingGen.this.register((consumer) -> { + MechanicalCraftingRecipeBuilder b = builder.apply(MechanicalCraftingRecipeBuilder.shapedRecipe(this.result.get(), this.amount)); + String var10000 = RegisteredObjects.getKeyOrThrow(this.result.get().asItem()).getPath(); + ResourceLocation location = CreateTFMG.asResource("mechanical_crafting/" + var10000 + this.suffix); + b.build(consumer, location); + }); + } + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/MillingGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/MillingGen.java new file mode 100644 index 00000000..4c9a88c4 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/MillingGen.java @@ -0,0 +1,32 @@ +package com.drmangotea.createindustry.base.datagen.recipe.create; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGProcessingRecipeGen; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.data.DataGenerator; + +public class MillingGen extends TFMGProcessingRecipeGen { + + GeneratedRecipe + + //charcoalDust = create(CreateTFMG.asResource("charcoal_dust"), b -> b + // .require(I.charcoal()) + // .output(I.charcoalDust(), 1) + // .duration(130)), + + limesand = create(CreateTFMG.asResource("limesand"), b -> b + .require(I.limestone()) + .output(I.limesand(), 1) + .duration(130)) + + ; + public MillingGen(DataGenerator generator) { + super(generator); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return AllRecipeTypes.MILLING; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/MixingGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/MixingGen.java new file mode 100644 index 00000000..243d9b71 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/MixingGen.java @@ -0,0 +1,119 @@ +package com.drmangotea.createindustry.base.datagen.recipe.create; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGProcessingRecipeGen; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.content.processing.recipe.HeatCondition; +import com.simibubi.create.foundation.fluid.FluidIngredient; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.data.DataGenerator; + +public class MixingGen extends TFMGProcessingRecipeGen { + + GeneratedRecipe + + blastingMixture = create(CreateTFMG.asResource("blasting_mixture"), b -> b + .require(I.limesand()) + .require(I.crushedRawIron()) + .require(I.crushedRawIron()) + .require(I.crushedRawIron()) + .output(I.blastingMixture(), 3)), + + castIronIngot = create(CreateTFMG.asResource("cast_iron_ingot"), b -> b + .require(I.ironIngot()) + .require(I.coal()) + .output(I.castIronIngot(), 1) + .requiresHeat(HeatCondition.HEATED) + .duration(100)), + + cement = create(CreateTFMG.asResource("cement"), b -> b + .require(I.limesand()) + .require(I.clayBall()) + .output(I.cement(), 4)), + + concreteMixture = create(CreateTFMG.asResource("concrete_mixture"), b -> b + .require(I.sand()) + .require(I.gravel()) + .require(I.cement()) + .output(I.concreteMixture(), 16)), + + concreteMixtureFromSlag = create(CreateTFMG.asResource("concrete_mixture_from_slag"), b -> b + .require(I.slag()) + .require(I.gravel()) + .require(I.cement()) + .output(I.concreteMixture(), 32)), + + coolingFluid = create(CreateTFMG.asResource("cooling_fluid"), b -> b + .require(F.ethylene(), 250) + .require(F.water(), 250) + .output(F.coolingFluid(), 500)), + + copperSulfate = create(CreateTFMG.asResource("copper_sulfate"), b -> b + .require(F.sulfuricAcid(), 500) + .require(IT.copperIngot()) + .output(I.copperSulfate(), 1)), + + gunPowder = create(CreateTFMG.asResource("gun_powder"), b -> b + .require(I.nitrateDust()) + .require(I.nitrateDust()) + .require(I.nitrateDust()) + .require(I.charcoal()) + .require(I.charcoal()) + .require(I.sulfurDust()) + .output(I.gunpowder(), 6)), + + liquidAsphalt = create(CreateTFMG.asResource("liquid_asphalt"), b -> b + .require(I.bitumen()) + .require(I.sand()) + .require(I.gravel()) + .require(F.water(), 500) + .output(F.liquidAsphalt(), 1200)), + + liquidConcrete = create(CreateTFMG.asResource("liquid_concrete"), b -> b + .require(I.concreteMixture()) + .require(F.water(), 250) + .output(F.liquidConcrete(), 1000)), + + liquidPlasticFromEthylene = create(CreateTFMG.asResource("liquid_plastic_from_ethylene"), b -> b + .require(F.ethylene(), 500) + .output(F.liquidPlastic(), 500)), + + liquidPlasticFromPropylene = create(CreateTFMG.asResource("liquid_plastic_from_propylene"), b -> b + .require(F.propylene(), 500) + .output(F.liquidPlastic(), 500)), + + napalm = create(CreateTFMG.asResource("napalm"), b -> b + .require(IT.aluminumIngot()) + .require(F.gasoline(), 1000) + .output(F.napalm(), 1000) + .duration(1000)), + + neon = create(CreateTFMG.asResource("neon"), b -> b + .require(F.air(), 250) + .output(F.neon(), 1)), + + slag = create(CreateTFMG.asResource("slag"), b -> b + .require(F.moltenSlag(), 1000) + .output(I.slag(), 9)), + + sulfuricAcid = create(CreateTFMG.asResource("sulfuric_acid"), b -> b + .require(I.sulfurDust()) + .require(I.nitrateDust()) + .require(F.water(), 500) + .output(F.sulfuricAcid(), 500)), + + zincSulfate = create(CreateTFMG.asResource("zinc_sulfate"), b -> b + .require(F.sulfuricAcid(), 500) + .require(IT.zincIngot()) + .output(I.zincSulfate(), 1)) + ; + + public MixingGen(DataGenerator generator) { + super(generator); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return AllRecipeTypes.MIXING; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/PressingGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/PressingGen.java new file mode 100644 index 00000000..83d9975d --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/PressingGen.java @@ -0,0 +1,29 @@ +package com.drmangotea.createindustry.base.datagen.recipe.create; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGProcessingRecipeGen; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGRecipeProvider; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.data.DataGenerator; + +public class PressingGen extends TFMGProcessingRecipeGen { + + GeneratedRecipe + + syntheticLeather = create(CreateTFMG.asResource("synthetic_leather"), b -> b + .require(I.plasticSheet()) + .output(I.syntheticLeather(), 1)) + + ; + + + public PressingGen(DataGenerator generator) { + super(generator); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return AllRecipeTypes.PRESSING; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/SequencedAssemblyGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/SequencedAssemblyGen.java new file mode 100644 index 00000000..33a60fe9 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/create/SequencedAssemblyGen.java @@ -0,0 +1,92 @@ +package com.drmangotea.createindustry.base.datagen.recipe.create; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGRecipeProvider; +import com.simibubi.create.content.fluids.transfer.FillingRecipe; +import com.simibubi.create.content.kinetics.deployer.DeployerApplicationRecipe; +import com.simibubi.create.content.kinetics.press.PressingRecipe; +import com.simibubi.create.content.processing.sequenced.SequencedAssemblyRecipeBuilder; +import net.minecraft.data.DataGenerator; +import net.minecraft.world.item.ItemStack; + +import java.util.function.UnaryOperator; + +public class SequencedAssemblyGen extends TFMGRecipeProvider { + + GeneratedRecipe gasolineEngine = create("gasoline_engine", (b) -> { + return b.require(I.engineBase()).transitionTo(I.unfinishedGasolineEngine()).addOutput(new ItemStack(I.gasolineEngine().asItem(), 2), 120.0F).loops(8).addStep(FillingRecipe::new, (rb) -> { + return rb.require(F.lubricationOil(), 1000); + }).addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(I.engineChamber()); + }).addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(I.screw()); + }).addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(I.screwdriver()); + }); + }); + + GeneratedRecipe heavyPlate = create("heavy_plate", (b) -> { + return b.require(IT.steelIngot()).transitionTo(I.unprocessedHeavyPlate()).addOutput(I.heavyPlate(), 120.0F).loops(1).addStep(PressingRecipe::new, (rb) -> { + return rb; + }).addStep(PressingRecipe::new, (rb) -> { + return rb; + }).addStep(PressingRecipe::new, (rb) -> { + return rb; + }); + }); + + GeneratedRecipe lpgEngine = create("lpg_engine", (b) -> { + return b.require(I.engineBase()).transitionTo(I.unfinishedLpgEngine()).addOutput(new ItemStack(I.lpgEngine().asItem(), 2), 120.0F).loops(8).addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(I.engineChamber()); + }).addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(I.screw()); + }).addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(I.screwdriver()); + }).addStep(FillingRecipe::new, (rb) -> { + return rb.require(F.lubricationOil(), 1000); + }); + }); + + GeneratedRecipe steelMechanism = create("steel_mechanism", (b) -> { + return b.require(IT.steelIngot()).transitionTo(I.unfinishedSteelMechanism()).addOutput(I.steelMechanism(), 120.0F).addOutput(I.heavyPlate(), 0.8F).addOutput(I.steelIngot(), 0.8F).addOutput(I.aluminumIngot(), 0.5F).addOutput(I.industrialPipe(), 0.3F).loops(1) + .addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(IT.steelIngot()); + }).addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(IT.aluminumIngot()); + }).addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(I.screw()); + }).addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(I.screwdriver()); + }); + }); + + GeneratedRecipe turbineEngine = create("turbine_engine", (b) -> { + return b.require(I.engineBase()).transitionTo(I.unfinishedTurbineEngine()).addOutput(new ItemStack(I.turbineEngine().asItem(), 2), 120.0F).loops(6).addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(I.turbineBlade()); + }).addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(I.screw()); + }).addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(I.screwdriver()); + }).addStep(FillingRecipe::new, (rb) -> { + return rb.require(F.lubricationOil(), 1000); + }).addStep(DeployerApplicationRecipe::new, (rb) -> { + return rb.require(I.steelMechanism()); + }); + }); + + public SequencedAssemblyGen(DataGenerator generator) { + super(generator); + } + + protected GeneratedRecipe create(String name, UnaryOperator transform) { + GeneratedRecipe generatedRecipe = (c) -> { + transform.apply(new SequencedAssemblyRecipeBuilder(CreateTFMG.asResource(name))).build(c); + }; + this.all.add(generatedRecipe); + return generatedRecipe; + } + + public String getName() { + return "TFMG's Sequenced Assembly Recipes"; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/CastingGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/CastingGen.java new file mode 100644 index 00000000..d7ab9e7d --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/CastingGen.java @@ -0,0 +1,29 @@ +package com.drmangotea.createindustry.base.datagen.recipe.tfmg; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGProcessingRecipeGen; +import com.drmangotea.createindustry.registry.TFMGRecipeTypes; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.data.DataGenerator; + +public class CastingGen extends TFMGProcessingRecipeGen { + + GeneratedRecipe + + steel = create(CreateTFMG.asResource("steel"), b -> b + .require(F.moltenSteel(), 1) + .output(I.steelIngot(), 1) + .output(I.steelBlock(), 1) + .duration(300)) + + ; + + public CastingGen(DataGenerator generator) { + super(generator); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return TFMGRecipeTypes.CASTING; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/CokingGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/CokingGen.java new file mode 100644 index 00000000..ae90453d --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/CokingGen.java @@ -0,0 +1,35 @@ +package com.drmangotea.createindustry.base.datagen.recipe.tfmg; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGProcessingRecipeGen; +import com.drmangotea.createindustry.registry.TFMGRecipeTypes; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.data.DataGenerator; + +public class CokingGen extends TFMGProcessingRecipeGen { + + GeneratedRecipe + + charcoal = create(CreateTFMG.asResource("charcoal"), b -> b + .require(I.coal()) + .output(I.charcoal(), 1) + .output(F.creosote(), 1) + .duration(400)), + + coalCoke = create(CreateTFMG.asResource("coal_coke"), b -> b + .require(I.coal()) + .output(I.coalCoke(), 1) + .output(F.creosote(), 1) + .duration(1000)) + + ; + + public CokingGen(DataGenerator generator) { + super(generator); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return TFMGRecipeTypes.COKING; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/DistillationGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/DistillationGen.java new file mode 100644 index 00000000..808dc177 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/DistillationGen.java @@ -0,0 +1,49 @@ +package com.drmangotea.createindustry.base.datagen.recipe.tfmg; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGProcessingRecipeGen; +import com.drmangotea.createindustry.registry.TFMGRecipeTypes; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.data.DataGenerator; + +public class DistillationGen extends TFMGProcessingRecipeGen { + + GeneratedRecipe + + crudeOil = create(CreateTFMG.asResource("crude_oil"), b -> b + .require(F.crudeOil(), 360) + .output(F.heavyOil(), 80) + .output(F.diesel(), 60) + .output(F.kerosene(), 40) + .output(F.naphtha(), 40) + .output(F.gasoline(), 80) + .output(F.lpg(), 60)), + + crudeOilNoNaphtha = create(CreateTFMG.asResource("crude_oil_no_naphtha"), b -> b + .require(F.crudeOil(), 340) + .output(F.heavyOil(), 80) + .output(F.diesel(), 60) + .output(F.kerosene(), 40) + .output(F.gasoline(), 80) + .output(F.lpg(), 60)), + + heavyOil = create(CreateTFMG.asResource("heavy_oil"), b -> b + .require(F.heavyOil(), 150) + .output(F.diesel(), 100) + .output(F.lubricationOil(), 50)), + + naphtha = create(CreateTFMG.asResource("naphtha"), b -> b + .require(F.naphtha(), 100) + .output(F.ethylene(), 50) + .output(F.propylene(), 50)) + ; + + public DistillationGen(DataGenerator generator) { + super(generator); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return TFMGRecipeTypes.DISTILLATION; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/GasBlastingGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/GasBlastingGen.java new file mode 100644 index 00000000..3f82d213 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/GasBlastingGen.java @@ -0,0 +1,31 @@ +package com.drmangotea.createindustry.base.datagen.recipe.tfmg; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGProcessingRecipeGen; +import com.drmangotea.createindustry.registry.TFMGRecipeTypes; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.data.DataGenerator; + +public class GasBlastingGen extends TFMGProcessingRecipeGen { + + GeneratedRecipe + + heatedAir = create(CreateTFMG.asResource("heated_air"), b -> b + .require(F.air(), 1000) + .require(F.blastFurnaceGas(), 250) + .output(F.heatedAir(), 1000) + .output(F.carbonDioxide(), 750) + .duration(400)) + + ; + + + public GasBlastingGen(DataGenerator generator) { + super(generator); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return TFMGRecipeTypes.GAS_BLASTING; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/IndustrialBlastingGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/IndustrialBlastingGen.java new file mode 100644 index 00000000..987d92bb --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/tfmg/IndustrialBlastingGen.java @@ -0,0 +1,30 @@ +package com.drmangotea.createindustry.base.datagen.recipe.tfmg; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGProcessingRecipeGen; +import com.drmangotea.createindustry.registry.TFMGRecipeTypes; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.data.DataGenerator; + +public class IndustrialBlastingGen extends TFMGProcessingRecipeGen { + + GeneratedRecipe + + steel = create(CreateTFMG.asResource("steel"), b -> b + .require(I.blastingMixture()) + .output(F.moltenSteel(), 111) + .output(F.moltenSlag(), 75) + .duration(200)) + + ; + + + public IndustrialBlastingGen(DataGenerator generator) { + super(generator); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return TFMGRecipeTypes.INDUSTRIAL_BLASTING; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/vanilla/TFMGStandardRecipeGen.java b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/vanilla/TFMGStandardRecipeGen.java new file mode 100644 index 00000000..668ccf04 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/datagen/recipe/vanilla/TFMGStandardRecipeGen.java @@ -0,0 +1,317 @@ +package com.drmangotea.createindustry.base.datagen.recipe.vanilla; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.datagen.recipe.TFMGRecipeProvider; +import com.google.common.base.Supplier; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.simibubi.create.foundation.utility.RegisteredObjects; +import com.tterrag.registrate.util.entry.ItemProviderEntry; +import net.minecraft.advancements.critereon.ItemPredicate; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.recipes.*; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.RecipeSerializer; +import net.minecraft.world.item.crafting.SimpleCookingSerializer; +import net.minecraft.world.level.ItemLike; +import net.minecraftforge.common.crafting.CraftingHelper; +import net.minecraftforge.common.crafting.conditions.ICondition; +import net.minecraftforge.common.crafting.conditions.ModLoadedCondition; +import net.minecraftforge.common.crafting.conditions.NotCondition; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.UnaryOperator; + +public class TFMGStandardRecipeGen extends TFMGRecipeProvider { + String currentFolder = ""; + + Marker enterFolder(String folder) { + currentFolder = folder; + return new Marker(); + } + public GeneratedRecipeBuilder create(String path, Supplier result) { + return new GeneratedRecipeBuilder(path, result); + } + public GeneratedRecipeBuilder create(String path, ResourceLocation result) { + return new GeneratedRecipeBuilder(path, result); + } + public GeneratedRecipeBuilder create(String path, ItemProviderEntry result) { + return create(path, result::get); + } + + public GeneratedRecipeBuilder create(Supplier result) { + return new GeneratedRecipeBuilder(currentFolder, result); + } + + public GeneratedRecipeBuilder create(ResourceLocation result) { + return new GeneratedRecipeBuilder(currentFolder, result); + } + + public GeneratedRecipeBuilder create(ItemProviderEntry result) { + return create(result::get); + } + + public class GeneratedRecipeBuilder { + + private String path; + private String suffix; + private Supplier result; + private ResourceLocation compatDatagenOutput; + List recipeConditions; + + private Supplier unlockedBy; + private int amount; + + private GeneratedRecipeBuilder(String path) { + this.path = path; + this.recipeConditions = new ArrayList<>(); + this.suffix = ""; + this.amount = 1; + } + + public GeneratedRecipeBuilder(String path, Supplier result) { + this(path); + this.result = result; + } + + public GeneratedRecipeBuilder(String path, ResourceLocation result) { + this(path); + this.compatDatagenOutput = result; + } + + GeneratedRecipeBuilder returns(int amount) { + this.amount = amount; + return this; + } + + GeneratedRecipeBuilder unlockedBy(Supplier item) { + this.unlockedBy = () -> ItemPredicate.Builder.item() + .of(item.get()) + .build(); + return this; + } + + GeneratedRecipeBuilder unlockedByTag(Supplier> tag) { + this.unlockedBy = () -> ItemPredicate.Builder.item() + .of(tag.get()) + .build(); + return this; + } + + GeneratedRecipeBuilder whenModLoaded(String modid) { + return withCondition(new ModLoadedCondition(modid)); + } + + GeneratedRecipeBuilder whenModMissing(String modid) { + return withCondition(new NotCondition(new ModLoadedCondition(modid))); + } + + GeneratedRecipeBuilder withCondition(ICondition condition) { + recipeConditions.add(condition); + return this; + } + + GeneratedRecipeBuilder withSuffix(String suffix) { + this.suffix = suffix; + return this; + } + + GeneratedRecipe viaShaped(UnaryOperator builder) { + return register(consumer -> { + ShapedRecipeBuilder b = builder.apply(ShapedRecipeBuilder.shaped(result.get(), amount)); + if (unlockedBy != null) + b.unlockedBy("has_item", inventoryTrigger(unlockedBy.get())); + b.save(consumer, createLocation("crafting")); + }); + } + + GeneratedRecipe viaShapeless(UnaryOperator builder) { + return register(consumer -> { + ShapelessRecipeBuilder b = builder.apply(ShapelessRecipeBuilder.shapeless(result.get(), amount)); + if (unlockedBy != null) + b.unlockedBy("has_item", inventoryTrigger(unlockedBy.get())); + b.save(consumer, createLocation("crafting")); + }); + } + + GeneratedRecipe viaSmithing(Supplier base, Supplier upgradeMaterial) { + return register(consumer -> { + UpgradeRecipeBuilder b = + UpgradeRecipeBuilder.smithing(Ingredient.of(base.get()), upgradeMaterial.get(), result.get() + .asItem()); + b.unlocks("has_item", inventoryTrigger(ItemPredicate.Builder.item() + .of(base.get()) + .build())); + b.save(consumer, createLocation("crafting")); + }); + } + + private ResourceLocation createSimpleLocation(String recipeType) { + return CreateTFMG.asResource(recipeType + "/" + getRegistryName().getPath() + suffix); + } + + private ResourceLocation createLocation(String recipeType) { + return CreateTFMG.asResource(recipeType + "/" + path + "/" + getRegistryName().getPath() + suffix); + } + + private ResourceLocation getRegistryName() { + return compatDatagenOutput == null ? RegisteredObjects.getKeyOrThrow(result.get() + .asItem()) : compatDatagenOutput; + } + + GeneratedRecipeBuilder.GeneratedCookingRecipeBuilder viaCooking(Supplier item) { + return unlockedBy(item).viaCookingIngredient(() -> Ingredient.of(item.get())); + } + + GeneratedRecipeBuilder.GeneratedCookingRecipeBuilder viaCookingTag(Supplier> tag) { + return unlockedByTag(tag).viaCookingIngredient(() -> Ingredient.of(tag.get())); + } + + GeneratedRecipeBuilder.GeneratedCookingRecipeBuilder viaCookingIngredient(Supplier ingredient) { + return new GeneratedRecipeBuilder.GeneratedCookingRecipeBuilder(ingredient); + } + + class GeneratedCookingRecipeBuilder { + + private Supplier ingredient; + private float exp; + private int cookingTime; + + private final SimpleCookingSerializer FURNACE = RecipeSerializer.SMELTING_RECIPE, + SMOKER = RecipeSerializer.SMOKING_RECIPE, BLAST = RecipeSerializer.BLASTING_RECIPE, + CAMPFIRE = RecipeSerializer.CAMPFIRE_COOKING_RECIPE; + + GeneratedCookingRecipeBuilder(Supplier ingredient) { + this.ingredient = ingredient; + cookingTime = 200; + exp = 0; + } + + GeneratedRecipeBuilder.GeneratedCookingRecipeBuilder forDuration(int duration) { + cookingTime = duration; + return this; + } + + GeneratedRecipeBuilder.GeneratedCookingRecipeBuilder rewardXP(float xp) { + exp = xp; + return this; + } + + GeneratedRecipe inFurnace() { + return inFurnace(b -> b); + } + + GeneratedRecipe inFurnace(UnaryOperator builder) { + return create(FURNACE, builder, 1); + } + + GeneratedRecipe inSmoker() { + return inSmoker(b -> b); + } + GeneratedRecipe inSmoker(UnaryOperator builder) { + create(FURNACE, builder, 1); + create(CAMPFIRE, builder, 3); + return create(SMOKER, builder, .5f); + } + GeneratedRecipe inSmokerOnly() { + return inSmokerOnly(b -> b); + } + GeneratedRecipe inSmokerOnly(UnaryOperator builder) { + create(CAMPFIRE, builder, 3); + return create(SMOKER, builder, 1f); + } + + GeneratedRecipe inBlastFurnace() { + return inBlastFurnace(b -> b); + } + GeneratedRecipe inBlastFurnace(UnaryOperator builder) { + create(FURNACE, builder, 1); + return create(BLAST, builder, .5f); + } + GeneratedRecipe inBlastFurnaceOnly() { + return inBlastFurnaceOnly(b -> b); + } + GeneratedRecipe inBlastFurnaceOnly(UnaryOperator builder) { + return create(BLAST, builder, 1f); + } + + private GeneratedRecipe create(SimpleCookingSerializer serializer, + UnaryOperator builder, float cookingTimeModifier) { + return register(consumer -> { + boolean isOtherMod = compatDatagenOutput != null; + + SimpleCookingRecipeBuilder b = builder.apply( + SimpleCookingRecipeBuilder.cooking(ingredient.get(), isOtherMod ? Items.DIRT : result.get(), + exp, (int) (cookingTime * cookingTimeModifier), serializer)); + if (unlockedBy != null) + b.unlockedBy("has_item", inventoryTrigger(unlockedBy.get())); + b.save(result -> { + consumer.accept( + isOtherMod ? new ModdedCookingRecipeResult(result, compatDatagenOutput, recipeConditions) + : result); + }, createSimpleLocation(RegisteredObjects.getKeyOrThrow(serializer) + .getPath())); + }); + } + } + } + + private static class ModdedCookingRecipeResult implements FinishedRecipe { + + private FinishedRecipe wrapped; + private ResourceLocation outputOverride; + private List conditions; + + public ModdedCookingRecipeResult(FinishedRecipe wrapped, ResourceLocation outputOverride, + List conditions) { + this.wrapped = wrapped; + this.outputOverride = outputOverride; + this.conditions = conditions; + } + + @Override + public ResourceLocation getId() { + return wrapped.getId(); + } + + @Override + public RecipeSerializer getType() { + return wrapped.getType(); + } + + @Override + public JsonObject serializeAdvancement() { + return wrapped.serializeAdvancement(); + } + + @Override + public ResourceLocation getAdvancementId() { + return wrapped.getAdvancementId(); + } + + @Override + public void serializeRecipeData(JsonObject object) { + wrapped.serializeRecipeData(object); + object.addProperty("result", outputOverride.toString()); + + JsonArray conds = new JsonArray(); + conditions.forEach(c -> conds.add(CraftingHelper.serialize(c))); + object.add("conditions", conds); + } + + } + + @Override + public String getName() { + return "TFMG's Standard Recipes"; + } + + public TFMGStandardRecipeGen(DataGenerator generator) { + super(generator); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/effects/FrostyEffect.java b/src/main/java/com/drmangotea/createindustry/base/effects/FrostyEffect.java new file mode 100644 index 00000000..b8a660ad --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/effects/FrostyEffect.java @@ -0,0 +1,25 @@ +package com.drmangotea.createindustry.base.effects; + +import net.minecraft.world.effect.MobEffect; +import net.minecraft.world.effect.MobEffectCategory; +import net.minecraft.world.entity.LivingEntity; + +public class FrostyEffect extends MobEffect { + public FrostyEffect(MobEffectCategory pCategory, int pColor) { + super(pCategory, pColor); + } + + @Override + public void applyEffectTick(LivingEntity pLivingEntity, int pAmplifier) { + if (pLivingEntity.getTicksFrozen() > 1) { + pLivingEntity.setTicksFrozen(pLivingEntity.getTicksFrozen() + 5); + } else { + pLivingEntity.setTicksFrozen(5); + } + } + + @Override + public boolean isDurationEffectTick(int pDuration, int pAmplifier) { + return true; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/multiblock/FluidOutputBlock.java b/src/main/java/com/drmangotea/createindustry/base/multiblock/FluidOutputBlock.java new file mode 100644 index 00000000..37ea9d09 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/multiblock/FluidOutputBlock.java @@ -0,0 +1,22 @@ +package com.drmangotea.createindustry.base.multiblock; + +import com.drmangotea.createindustry.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; + +public class FluidOutputBlock extends Block implements IBE { + public FluidOutputBlock(Properties pProperties) { + super(pProperties); + } + + @Override + public Class getBlockEntityClass() { + return FluidOutputBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.FLUID_OUTPUT.get(); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/multiblock/FluidOutputBlockEntity.java b/src/main/java/com/drmangotea/createindustry/base/multiblock/FluidOutputBlockEntity.java new file mode 100644 index 00000000..da796c6b --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/multiblock/FluidOutputBlockEntity.java @@ -0,0 +1,135 @@ +package com.drmangotea.createindustry.base.multiblock; + +import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import com.simibubi.create.foundation.utility.Lang; +import com.simibubi.create.foundation.utility.LangBuilder; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraftforge.common.capabilities.Capability; +import net.minecraftforge.common.capabilities.ForgeCapabilities; +import net.minecraftforge.common.util.LazyOptional; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.IFluidTank; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.templates.FluidTank; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.List; +import java.util.Optional; + +public class FluidOutputBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { + protected LazyOptional fluidCapability = LazyOptional.of(() -> { + return this.tankInventory; + }); + public FluidTank tankInventory = this.createInventory(); + + public FluidOutputBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + this.refreshCapability(); + } + + protected SmartFluidTank createInventory() { + return new SmartFluidTank(1000, this::onFluidStackChanged); + } + + protected void onFluidStackChanged(FluidStack newFluidStack) { + this.sendData(); + } + + + @Override + public void addBehaviours(List behaviours) { + } + + public void invalidate() { + super.invalidate(); + this.fluidCapability.invalidate(); + } + + @Nonnull + public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { + if (!this.fluidCapability.isPresent()) { + this.refreshCapability(); + } + + return cap == ForgeCapabilities.FLUID_HANDLER ? this.fluidCapability.cast() : super.getCapability(cap, side); + } + + private void refreshCapability() { + LazyOptional oldCap = this.fluidCapability; + this.fluidCapability = LazyOptional.of(() -> { + return this.handlerForCapability(); + }); + oldCap.invalidate(); + } + + private IFluidHandler handlerForCapability() { + return this.tankInventory; + } + + public IFluidTank getTankInventory() { + return this.tankInventory; + } + + public void notifyUpdate() { + super.notifyUpdate(); + } + + protected void read(CompoundTag compound, boolean clientPacket) { + super.read(compound, clientPacket); + this.tankInventory.setCapacity(0); + this.tankInventory.readFromNBT(compound.getCompound("TankContent")); + } + + public void write(CompoundTag compound, boolean clientPacket) { + compound.put("TankContent", this.tankInventory.writeToNBT(new CompoundTag())); + super.write(compound, clientPacket); + } + + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + LazyOptional handler = this.getCapability(ForgeCapabilities.FLUID_HANDLER); + Optional resolve = handler.resolve(); + if (!resolve.isPresent()) { + return false; + } else { + IFluidHandler tank = (IFluidHandler)resolve.get(); + if (tank.getTanks() == 0) { + return false; + } else { + LangBuilder mb = Lang.translate("generic.unit.millibuckets", new Object[0]); + boolean isEmpty = true; + + for(int i = 0; i < tank.getTanks(); ++i) { + FluidStack fluidStack = tank.getFluidInTank(i); + if (!fluidStack.isEmpty()) { + Lang.fluidName(fluidStack).style(ChatFormatting.GRAY).forGoggles(tooltip, 1); + Lang.builder().add(Lang.number((double)fluidStack.getAmount()).add(mb).style(ChatFormatting.DARK_GREEN)).text(ChatFormatting.GRAY, " / ").add(Lang.number((double)tank.getTankCapacity(i)).add(mb).style(ChatFormatting.DARK_GRAY)).forGoggles(tooltip, 1); + isEmpty = false; + } + } + + if (tank.getTanks() > 1) { + if (isEmpty) { + tooltip.remove(tooltip.size() - 1); + } + + return true; + } else if (!isEmpty) { + return true; + } else { + Lang.translate("gui.goggles.fluid_container.capacity", new Object[0]).add(Lang.number((double)tank.getTankCapacity(0)).add(mb).style(ChatFormatting.DARK_GREEN)).style(ChatFormatting.DARK_GRAY).forGoggles(tooltip, 1); + return true; + } + } + } + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/multiblock/MultiblockMasterBlockEntity.java b/src/main/java/com/drmangotea/createindustry/base/multiblock/MultiblockMasterBlockEntity.java new file mode 100644 index 00000000..932eea70 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/multiblock/MultiblockMasterBlockEntity.java @@ -0,0 +1,172 @@ +package com.drmangotea.createindustry.base.multiblock; + +import com.drmangotea.createindustry.blocks.machines.metal_processing.blast_stove.BlastStoveBlock; +import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import com.simibubi.create.foundation.utility.Lang; +import com.simibubi.create.foundation.utility.LangBuilder; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraftforge.common.capabilities.Capability; +import net.minecraftforge.common.capabilities.ForgeCapabilities; +import net.minecraftforge.common.util.LazyOptional; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.IFluidTank; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.templates.FluidTank; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.List; +import java.util.Optional; + +public class MultiblockMasterBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { + protected LazyOptional fluidCapability = LazyOptional.of(() -> { + return this.tankInventory; + }); + public FluidTank tankInventory = this.createInventory(); + public boolean isValid = false; + public int timer; + public final String multiblockIdentifier; + public final int masterTankCapacity; + public MultiblockStructure multiblockStructure; + public Direction getMasterDirection() { + return this.getBlockState().getValue(BlockStateProperties.HORIZONTAL_FACING); + } + + public MultiblockMasterBlockEntity(BlockEntityType type, BlockPos pos, BlockState state, int masterTankCapacity, String multiblockIdentifier) { + super(type, pos, state); + this.timer = -1; + this.masterTankCapacity = masterTankCapacity; + this.multiblockIdentifier = multiblockIdentifier; + } + + public String getMultiblockIdentifier() { + return this.multiblockIdentifier; + } + + protected SmartFluidTank createInventory() { + return new SmartFluidTank(1000, this::onFluidStackChanged); + } + + protected void onFluidStackChanged(FluidStack newFluidStack) { + this.sendData(); + } + + public void tick() { + super.tick(); + if (this.level == null) { + return; + } + if (multiblockStructure != null) { + multiblockStructure.renderGhostBlocks(); + multiblockStructure.setFluidOutputCapacities(); + isValid = multiblockStructure.isStructureCorrect(); + } + } + + public void invalidate() { + super.invalidate(); + this.fluidCapability.invalidate(); + } + + @Nonnull + public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { + if (!this.fluidCapability.isPresent()) { + this.refreshCapability(); + } + + return cap == ForgeCapabilities.FLUID_HANDLER ? this.fluidCapability.cast() : super.getCapability(cap, side); + } + + private IFluidHandler handlerForCapability() { + return this.tankInventory; + } + + public IFluidTank getTankInventory() { + return this.tankInventory; + } + + private void refreshCapability() { + LazyOptional oldCap = this.fluidCapability; + this.fluidCapability = LazyOptional.of(this::handlerForCapability); + oldCap.invalidate(); + } + + protected void read(CompoundTag compound, boolean clientPacket) { + super.read(compound, clientPacket); + this.tankInventory.readFromNBT(compound.getCompound("TankContent")); + } + + public void write(CompoundTag compound, boolean clientPacket) { + super.write(compound, clientPacket); + compound.put("TankContent", this.tankInventory.writeToNBT(new CompoundTag())); + } + + @Override + public void addBehaviours(List list) { + + } + + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + if (!isValid) { + Lang.translate("goggles.reverbaratory.invalid").style(ChatFormatting.RED).forGoggles(tooltip, 1); + } else { + if (!isPlayerSneaking) { + Lang.translate("goggles.reverbaratory.stats").style(ChatFormatting.GRAY).forGoggles(tooltip, 1); + if (this.timer > 0) { + Lang.translate("goggles.blast_furnace.status.running").style(ChatFormatting.YELLOW).forGoggles(tooltip, 1); + } else { + Lang.translate("goggles.blast_furnace.status.off").style(ChatFormatting.YELLOW).forGoggles(tooltip, 1); + } + } + } + LazyOptional handler = this.getCapability(ForgeCapabilities.FLUID_HANDLER); + Optional resolve = handler.resolve(); + if (!resolve.isPresent()) { + return false; + } else { + if (isPlayerSneaking) { + multiblockStructure.addToGoggleTooltip(tooltip); + return false; + } + IFluidHandler tank = resolve.get(); + if (tank.getTanks() == 0) { + return false; + } else { + LangBuilder mb = Lang.translate("generic.unit.millibuckets"); + boolean isEmpty = true; + + for(int i = 0; i < tank.getTanks(); ++i) { + FluidStack fluidStack = tank.getFluidInTank(i); + if (!fluidStack.isEmpty()) { + Lang.fluidName(fluidStack).style(ChatFormatting.GRAY).forGoggles(tooltip, 1); + Lang.builder().add(Lang.number((double)fluidStack.getAmount()).add(mb).style(ChatFormatting.GOLD)).text(ChatFormatting.GRAY, " / ").add(Lang.number((double)tank.getTankCapacity(i)).add(mb).style(ChatFormatting.DARK_GRAY)).forGoggles(tooltip, 1); + isEmpty = false; + } + } + + if (tank.getTanks() > 1) { + if (isEmpty) { + tooltip.remove(tooltip.size() - 1); + } + + return true; + } else if (!isEmpty) { + return true; + } else { + Lang.translate("gui.goggles.fluid_container.capacity", new Object[0]).add(Lang.number(tank.getTankCapacity(0)).add(mb).style(ChatFormatting.DARK_GREEN)).style(ChatFormatting.DARK_GRAY).forGoggles(tooltip, 1); + return true; + } + } + } + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/multiblock/MultiblockStructure.java b/src/main/java/com/drmangotea/createindustry/base/multiblock/MultiblockStructure.java new file mode 100644 index 00000000..38e55461 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/multiblock/MultiblockStructure.java @@ -0,0 +1,369 @@ +package com.drmangotea.createindustry.base.multiblock; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.util.Triple; +import com.drmangotea.createindustry.registry.TFMGBlocks; +import com.simibubi.create.CreateClient; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.ScrollValueBehaviour; +import com.simibubi.create.foundation.utility.Lang; +import com.simibubi.create.foundation.utility.LangBuilder; +import com.simibubi.create.foundation.utility.ghost.GhostBlockParams; +import com.simibubi.create.foundation.utility.ghost.GhostBlockRenderer; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraftforge.common.capabilities.ForgeCapabilities; +import net.minecraftforge.common.util.LazyOptional; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.capability.IFluidHandler; + +import java.util.*; +import java.util.stream.Collectors; + +public class MultiblockStructure { + private final MultiblockMasterBlockEntity master; + private final ArrayList> structure; + private final ArrayList> fluidOutputs = new ArrayList<>(); + private final ArrayList> fluidCapacities = new ArrayList<>(); + private final ArrayList> segments = new ArrayList<>(); + + public MultiblockStructure(MultiblockMasterBlockEntity master, ArrayList> structure) { + this.master = master; + this.structure = structure; + } + + public MultiblockStructure addSegment(BlockPos pos, String identifier) { + segments.add(Map.of(pos, identifier)); + return this; + } + + public MultiblockStructure addFluidOutput(BlockPos pos, String identifier) { + fluidOutputs.add(Map.of(pos, identifier)); + return this; + } + public MultiblockStructure addFluidOutputs(List> fluidOutputs, List> fluidCapacities) { + this.fluidOutputs.addAll(fluidOutputs); + this.fluidCapacities.addAll(fluidCapacities); + return this; + } + + public static CuboidBuilder cuboidBuilder(MultiblockMasterBlockEntity master) { + return new CuboidBuilder(master); + } + + public static class CuboidBuilder { + private final MultiblockMasterBlockEntity master; + private Direction direction = null; + private boolean isDirectional = false; + private final ArrayList> structure = new ArrayList<>(); + private final ArrayList> fluidOutputs = new ArrayList<>(); + private final ArrayList> fluidCapacities = new ArrayList<>(); + private final ArrayList> segments = new ArrayList<>(); + private int width = 0; + private int height = 0; + private int depth = 0; + + public CuboidBuilder(MultiblockMasterBlockEntity master) { + this.master = master; + } + + public MultiblockMasterBlockEntity getMaster() { + return master; + } + + public BlockPos getMasterPosition() { + return getMaster().getBlockPos(); + } + + public CuboidBuilder cube(int size) { + return withSize(size, size, size); + } + + public CuboidBuilder withSize(int width, int height) { + return withSize(width, height, width); + } + + public CuboidBuilder withSize(int width, int height, int depth) { + this.width = width; + this.height = height; + this.depth = depth; + return this; + } + + public CuboidBuilder directional(Direction direction) { + this.direction = direction; + this.isDirectional = true; + return this; + } + + public Triple getSize() { + return Triple.of(width, height, depth); + } + + public int getWidth() { + return getSize().getFirst(); + } + + public int getHeight() { + return getSize().getSecond(); + } + + public int getDepth() { + return getSize().getThird(); + } + + public CuboidBuilder withFluidOutputAt(int x, int y, int z, String identifier, int capacity) { + BlockPos pos = translateToMaster(x, y, z); + fluidOutputs.add(Map.of(pos, identifier)); + fluidCapacities.add(Map.of(identifier, capacity)); + return withBlockAt(x, y, z, TFMGBlocks.FLUID_OUTPUT.get().defaultBlockState()); + } + + public CuboidBuilder withBlockAt(int x, int z, ScrollValueBehaviour y, BlockState block) { + return withBlockAt(x, y.getValue(), z, block); + } + + public CuboidBuilder withBlockAt(int x, int y, int z, BlockState block) { + BlockPos pos = translateToMaster(x, y, z); + structure.add(Map.of(pos, block)); + return this; + } + + public CuboidBuilder withBlockAt(PositionUtil.PositionRange range, BlockState block) { + for (Triple pos : range.getPositions()) { + structure.add(Map.of(translateToMaster(pos.getFirst(), pos.getSecond(), pos.getThird()), block)); + } + return this; + } + + public CuboidBuilder withSegmentAt(int x, int y, int z, StackableMultiblockSegment segment) { + for (Map map : segment.segmentStructure.getStructure()) { + for (BlockPos pos : map.keySet()) { + segments.add(Map.of(translateToMaster(x + pos.getX(), y + pos.getY(), z + pos.getZ()), segment.getSegmentIdentifier(pos, master.getMultiblockIdentifier()))); + withBlockAt(x + pos.getX(), y + pos.getY(), z + pos.getZ(), map.get(pos)); + } + } + return this; + } + + private BlockPos translateToMaster(int x, int y, int z) { + BlockPos masterPos = getMasterPosition(); + if (isDirectional) { + return masterPos.relative(direction, x).above(y).relative(direction.getClockWise(), z); + } + return masterPos.offset(x, y, z); + } + + public MultiblockStructure build() { + return new MultiblockStructure(getMaster(), structure).addFluidOutputs(fluidOutputs, fluidCapacities); + } + } + + private Triple translateToRelative(BlockPos pos, Direction direction) { + BlockPos masterPos = getMasterPosition(); + int x = pos.getX() - masterPos.getX(); + int y = pos.getY() - masterPos.getY(); + int z = pos.getZ() - masterPos.getZ(); + if (direction == null) { + return Triple.of(x, y, z); + } + return Triple.of(direction.getAxis() == Direction.Axis.X ? x : direction.getAxis() == Direction.Axis.Y ? y : z, y, direction.getAxis() == Direction.Axis.Z ? x : direction.getAxis() == Direction.Axis.Y ? z : y); + } + + public ArrayList> getStructure() { + return structure; + } + + public BlockEntity getMaster() { + return master; + } + + public ArrayList> getFluidOutputs() { + return fluidOutputs; + } + + public ArrayList getFluidOutputBlockEntities() { + ArrayList fluidOutputBlockEntities = new ArrayList<>(); + for (Map map : fluidOutputs) { + for (BlockPos pos : map.keySet()) { + BlockEntity blockEntity = master.getLevel().getBlockEntity(pos); + if (blockEntity instanceof FluidOutputBlockEntity) { + fluidOutputBlockEntities.add((FluidOutputBlockEntity) blockEntity); + } + } + } + return fluidOutputBlockEntities; + } + + public BlockPos getFluidOutputPosition(String identifier) { + for (Map map : fluidOutputs) { + for (BlockPos pos : map.keySet()) { + if (map.get(pos).equals(identifier)) { + return pos; + } + } + } + return null; + } + + public BlockPos getMasterPosition() { + return getMaster().getBlockPos(); + } + + public BlockState getMasterBlockState() { + return getMaster().getLevel().getBlockState(getMasterPosition()); + } + + public Direction getMasterDirection() { + return getMasterBlockState().getValue(BlockStateProperties.FACING); + } + + public boolean isBlockCorrect(BlockPos pos) { + if (master.getLevel() == null) return false; + for (Map map : getStructure()) { + if (map.containsKey(pos)) { + return master.getLevel().getBlockState(pos).is(map.get(pos).getBlock()); + } + } + return false; + } + + public void renderGhostBlocksByYLevel() { + if (master.getLevel() == null) { + CreateTFMG.LOGGER.error("Level is null, cannot render ghost blocks"); + return; + } + + // Group blocks by their y-levels + Map> yLevelMap = new HashMap<>(); + for (Map map : getStructure()) { + for (BlockPos pos : map.keySet()) { + yLevelMap.computeIfAbsent(pos.getY(), k -> new ArrayList<>()).add(pos); + } + } + + // Check each y-level for completeness and render ghost blocks for the first incomplete y-level + for (Integer yLevel : yLevelMap.keySet().stream().sorted().toList()) { + boolean isComplete = true; + for (BlockPos pos : yLevelMap.get(yLevel)) { + if (!isBlockCorrect(pos)) { + isComplete = false; + break; + } + } + + if (!isComplete) { + for (BlockPos pos : yLevelMap.get(yLevel)) { + for (Map map : getStructure()) { + if (!isBlockCorrect(pos)) { + BlockState blockState = map.get(pos); + if (blockState != null) + CreateClient.GHOST_BLOCKS.showGhost(pos, GhostBlockRenderer.standard(), GhostBlockParams.of(blockState).at(pos).breathingAlpha(), 1); + } + } + } + break; // Stop after rendering the first incomplete y-level + } + } + } + + public void renderGhostBlocks() { + if (master.getLevel() == null) { + CreateTFMG.LOGGER.error("Level is null, cannot render ghost blocks"); + return; + } + + for (Map map : getStructure()) { + for (BlockPos pos : map.keySet()) { + if (!isBlockCorrect(pos)) { + CreateClient.GHOST_BLOCKS.showGhost(pos, GhostBlockRenderer.standard(), GhostBlockParams.of(map.get(pos)).at(pos).breathingAlpha(), 1); + } + } + } + } + + public boolean isStructureCorrect() { + for (Map map : getStructure()) { + for (BlockPos pos : map.keySet()) { + if (!isBlockCorrect(pos)) { + return false; + } + } + } + return true; + } + public void setFluidOutputCapacities() { + if (master.getLevel() == null) return; + for (Map map : fluidCapacities) { + for (String identifier : map.keySet()) { + FluidOutputBlockEntity fluidOutput = master.getLevel().getBlockEntity(getFluidOutputPosition(identifier)) instanceof FluidOutputBlockEntity ? (FluidOutputBlockEntity) master.getLevel().getBlockEntity(getFluidOutputPosition(identifier)) : null; + setFluidOutputCapacity(fluidOutput, isStructureCorrect() ? map.get(identifier) : 0); + } + } + } + + public void setFluidOutputCapacity(FluidOutputBlockEntity fluidOutput, int value) { + if (fluidOutput == null) return; + if (fluidOutput.tankInventory.getCapacity() == value) return; + fluidOutput.tankInventory.setCapacity(value); + } + + public void addFluidTooltip(List tooltip, Optional resolve, BlockPos fluidOutput) { + if (!resolve.isPresent()) { + return; + } else { + IFluidHandler tank = resolve.get(); + if (tank.getTanks() == 0) { + return; + } else { + LangBuilder tankName = null; + for (Map map : getFluidOutputs()) { + for (BlockPos pos : map.keySet()) { + if (pos.equals(fluidOutput)) { + tankName = Lang.translate(map.get(pos)); + } + } + } + LangBuilder mb = Lang.translate("generic.unit.millibuckets"); + boolean isEmpty = true; + if (tankName != null) { + tankName.style(ChatFormatting.WHITE).forGoggles(tooltip, 1); + } + + for(int i = 0; i < tank.getTanks(); ++i) { + FluidStack fluidStack = tank.getFluidInTank(i); + if (!fluidStack.isEmpty()) { + Lang.fluidName(fluidStack).style(ChatFormatting.GRAY).forGoggles(tooltip, 1); + Lang.builder().add(Lang.number(fluidStack.getAmount()).add(mb).style(ChatFormatting.GOLD)).text(ChatFormatting.GRAY, " / ").add(Lang.number((double)tank.getTankCapacity(i)).add(mb).style(ChatFormatting.DARK_GRAY)).forGoggles(tooltip, 1); + isEmpty = false; + } + } + + if (tank.getTanks() > 1) { + if (isEmpty) { + tooltip.remove(tooltip.size() - 1); + } + + return; + } else if (!isEmpty) { + return; + } else { + Lang.translate("gui.goggles.fluid_container.capacity", new Object[0]).add(Lang.number(tank.getTankCapacity(0)).add(mb).style(ChatFormatting.DARK_GREEN)).style(ChatFormatting.DARK_GRAY).forGoggles(tooltip, 1); + return; + } + } + } + } + + public void addToGoggleTooltip(List tooltip) { + for (FluidOutputBlockEntity fluidOutput : getFluidOutputBlockEntities()) { + LazyOptional handler = fluidOutput.getCapability(ForgeCapabilities.FLUID_HANDLER); + Optional resolve = handler.resolve(); + addFluidTooltip(tooltip, resolve, fluidOutput.getBlockPos()); + } + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/multiblock/PositionUtil.java b/src/main/java/com/drmangotea/createindustry/base/multiblock/PositionUtil.java new file mode 100644 index 00000000..61863cac --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/multiblock/PositionUtil.java @@ -0,0 +1,88 @@ +package com.drmangotea.createindustry.base.multiblock; + +import com.drmangotea.createindustry.base.util.Triple; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; + +import java.util.ArrayList; +import java.util.List; + +public class PositionUtil { + + + public static BlockPos getLeftSidePos(BlockPos pos, Direction direction) { + return pos.relative(direction.getCounterClockWise()); + } + public static BlockPos getLeftSidePos(BlockPos pos, int distance, Direction direction) { + return pos.relative(direction.getCounterClockWise(), distance); + } + public static BlockPos getRightSidePos(BlockPos pos, Direction direction) { + return pos.relative(direction.getClockWise()); + } + public static BlockPos getRightSidePos(BlockPos pos, int distance, Direction direction) { + return pos.relative(direction.getClockWise(), distance); + } + + public static List zero() { + return List.of(0); + } + public static List pos(int pos) { + return List.of(pos); + } + + public static List generateSequence(int start, int end, int step) { + List sequence = new ArrayList<>(); + for (int i = start; i <= end; i += step) { + sequence.add(i); + } + return sequence; + } + + public static class PositionRange { + private final List xRange; + private final List yRange; + private final List zRange; + private final List> toIgnore = new ArrayList<>(); + + public PositionRange(List xRange, List yRange, List zRange) { + this.xRange = xRange; + this.yRange = yRange; + this.zRange = zRange; + } + + public PositionRange ignorePosition(int x, int y, int z) { + toIgnore.add(Triple.of(x, y, z)); + return this; + } + + public List getXRange() { + return xRange; + } + + public List getYRange() { + return yRange; + } + + public List getZRange() { + return zRange; + } + + public List> getPositions() { + List> positions = new ArrayList<>(); + for (int x : xRange) { + for (int y : yRange) { + for (int z : zRange) { + if (toIgnore.contains(Triple.of(x, y, z))) { + continue; + } + if (x == 0 && y == 0 && z == 0) { + continue; + } + positions.add(Triple.of(x, y, z)); + } + } + } + return positions; + } + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/multiblock/StackableMultiblockSegment.java b/src/main/java/com/drmangotea/createindustry/base/multiblock/StackableMultiblockSegment.java new file mode 100644 index 00000000..dc44cf6c --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/multiblock/StackableMultiblockSegment.java @@ -0,0 +1,40 @@ +package com.drmangotea.createindustry.base.multiblock; + +import net.minecraft.core.BlockPos; + +public class StackableMultiblockSegment { + private final int maxSegmentHeight = 1; + public MultiblockStructure segmentStructure; + private int maxStackHeight = 4; + + public StackableMultiblockSegment(MultiblockStructure segmentStructure) { + this.segmentStructure = segmentStructure; + } + + public StackableMultiblockSegment maxStackHeight(int pMaxStackHeight) { + maxStackHeight = pMaxStackHeight; + return this; + } + + public int getMaxStackHeight() { + return maxStackHeight; + } + + public int getMaxSegmentHeight() { + return maxSegmentHeight; + } + + public boolean isSegmentValid() { + return segmentStructure.isStructureCorrect(); + } + + private String createSegmentIdentifier(BlockPos pos, String multiblockIdentifier) { + return "(multiblockSegment:" + multiblockIdentifier + ":" + pos.getX() + "," + pos.getY() + "," + pos.getZ() + ")"; + } + + public String getSegmentIdentifier(BlockPos pos, String multiblockIdentifier) { + return createSegmentIdentifier(pos, multiblockIdentifier); + } + + +} diff --git a/src/main/java/com/drmangotea/createindustry/base/util/ProperBrewingRecipe.java b/src/main/java/com/drmangotea/createindustry/base/util/ProperBrewingRecipe.java new file mode 100644 index 00000000..d7e1fb14 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/util/ProperBrewingRecipe.java @@ -0,0 +1,39 @@ +package com.drmangotea.createindustry.base.util; + +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraftforge.common.brewing.BrewingRecipe; + +import javax.annotation.Nonnull; + +public class ProperBrewingRecipe extends BrewingRecipe { + + private final Ingredient input; + private final Ingredient ingredient; + private final ItemStack output; + + public ProperBrewingRecipe(Ingredient input, Ingredient ingredient, ItemStack output) { + super(input, ingredient, output); + this.input = input; + this.ingredient = ingredient; + this.output = output; + } + + + @Override + public boolean isInput(@Nonnull ItemStack stack) { + ItemStack[] matchingStacks = input.getItems(); + if (matchingStacks.length == 0) { + return stack.isEmpty(); + } else { + for (ItemStack itemstack : matchingStacks) { + if (itemstack.sameItem(stack) && ItemStack.tagMatches(itemstack, stack)) { + return true; + } + } + + return false; + } + } + +} diff --git a/src/main/java/com/drmangotea/createindustry/base/util/Triple.java b/src/main/java/com/drmangotea/createindustry/base/util/Triple.java new file mode 100644 index 00000000..e1ea8f2d --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/util/Triple.java @@ -0,0 +1,72 @@ +package com.drmangotea.createindustry.base.util; + +import java.io.Serializable; +import java.util.Objects; + +public class Triple implements Serializable { + private static final long serialVersionUID = -7076291895521537427L; + protected A first; + protected B second; + protected C third; + + public Triple(A a, B b, C c) { + this.first = a; + this.second = b; + this.third = c; + } + + public A getFirst() { + return this.first; + } + + public B getSecond() { + return this.second; + } + + public C getThird() { + return this.third; + } + + public void setFirst(A a) { + this.first = a; + } + + public void setSecond(B b) { + this.second = b; + } + + public void setThird(C c) { + this.third = c; + } + + public boolean hasElement(E e) { + if (e == null) { + return this.first == null || this.second == null || this.third == null; + } else { + return e.equals(this.first) || e.equals(this.second) || e.equals(this.third); + } + } + + public String toString() { + return "(" + this.first + "," + this.second + "," + this.third + ")"; + } + + public boolean equals(Object o) { + if (this == o) { + return true; + } else if (!(o instanceof Triple)) { + return false; + } else { + Triple other = (Triple)o; + return Objects.equals(this.first, other.first) && Objects.equals(this.second, other.second) && Objects.equals(this.third, other.third); + } + } + + public int hashCode() { + return Objects.hash(new Object[]{this.first, this.second, this.third}); + } + + public static Triple of(A a, B b, C c) { + return new Triple(a, b, c); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/util/spark/CoolSpark.java b/src/main/java/com/drmangotea/createindustry/base/util/spark/CoolSpark.java new file mode 100644 index 00000000..9051a367 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/util/spark/CoolSpark.java @@ -0,0 +1,155 @@ +package com.drmangotea.createindustry.base.util.spark; + +import com.drmangotea.createindustry.items.weapons.explosives.thermite_grenades.fire.BlueFireBlock; +import com.drmangotea.createindustry.items.weapons.explosives.thermite_grenades.fire.GreenFireBlock; +import com.drmangotea.createindustry.registry.TFMGEntityTypes; +import com.drmangotea.createindustry.registry.TFMGItems; +import com.drmangotea.createindustry.registry.TFMGMobEffects; +import com.simibubi.create.content.fluids.OpenEndedPipe; +import com.simibubi.create.content.trains.CubeParticleData; +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.tags.BlockTags; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.projectile.ThrowableProjectile; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.AbstractCandleBlock; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.CampfireBlock; +import net.minecraft.world.level.block.SnowLayerBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.EntityHitResult; +import net.minecraft.world.phys.HitResult; + +public class CoolSpark extends ThrowableProjectile { + public CoolSpark(EntityType p_37391_, Level p_37392_) { + super(p_37391_, p_37392_); + + } + public CoolSpark(Level p_37399_, LivingEntity p_37400_) { + super(TFMGEntityTypes.COOL_SPARK.get(), p_37400_, p_37399_); + } + + public CoolSpark(Level p_37394_, double p_37395_, double p_37396_, double p_37397_) { + super(TFMGEntityTypes.COOL_SPARK.get(), p_37395_, p_37396_, p_37397_, p_37394_); + } + + @Override + protected float getGravity(){ + return 0.02f; + } + @Override + protected void defineSynchedData() { + + } + + public void tick(){ + super.tick(); + if (this.isInWaterOrRain()) { + this.discard(); + } + if(this.level.isClientSide) { + + CubeParticleData data = new CubeParticleData(191, 82, 91, 0.1f, 10, true); + level.addParticle(data, this.getX(), this.getY(), this.getZ(), this.random.nextGaussian() * 0.05D, -this.getDeltaMovement().y * 0.5D, this.random.nextGaussian() * 0.05D); + + } + } + + private ParticleOptions getParticle() { + + return ParticleTypes.SNOWFLAKE; + } + + public void handleEntityEvent(byte p_37402_) { + if (p_37402_ == 3) { + ParticleOptions particleoptions = this.getParticle(); + + for(int i = 0; i < 8; ++i) { + this.level.addParticle(particleoptions, this.getX(), this.getY(), this.getZ(), 0.0D, 0.0D, 0.0D); + } + } + + } + protected void onHitBlock(BlockHitResult hitResult) { + super.onHitBlock(hitResult); + if (!this.level.isClientSide) { + Entity entity = this.getOwner(); + if (!(entity instanceof Mob) || net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.level, this)) { + BlockPos blockpos = hitResult.getBlockPos().relative(hitResult.getDirection()); + if (this.level.getBlockState(blockpos).getBlock() == Blocks.SNOW) { + // Stack snow layers + final int layers = this.level.getBlockState(blockpos).getValue(BlockStateProperties.LAYERS); + if (layers < 5) { + level.setBlockAndUpdate(blockpos, this.level.getBlockState(blockpos).setValue(BlockStateProperties.LAYERS, 1 + layers)); + } + + } else if (this.level.isEmptyBlock(blockpos) && this.level.getBlockState(blockpos.below()).getBlock() != Blocks.SNOW) { + this.level.setBlockAndUpdate(blockpos, Blocks.SNOW.defaultBlockState()); + } + dowseFire(this.level, blockpos); + } + + } + } + + private static void dowseFire(Level level, BlockPos pos) { + BlockState state = level.getBlockState(pos); + if (state.is(BlockTags.FIRE)) { + level.removeBlock(pos, false); + } else if (AbstractCandleBlock.isLit(state)) { + AbstractCandleBlock.extinguish((Player)null, state, level, pos); + } else if (CampfireBlock.isLitCampfire(state)) { + level.levelEvent((Player)null, 1009, pos, 0); + CampfireBlock.dowse((Entity)null, level, pos, state); + level.setBlockAndUpdate(pos, (BlockState)state.setValue(CampfireBlock.LIT, false)); + } + + } + + protected void onHitEntity(EntityHitResult p_37386_) { + super.onHitEntity(p_37386_); + if (!this.level.isClientSide) { + Entity entity = p_37386_.getEntity(); + Entity entity1 = this.getOwner(); + + + if(entity instanceof LivingEntity){ + + ((LivingEntity)entity).addEffect(new MobEffectInstance(TFMGMobEffects.FROSTY.get(),400)); + + + } + + + } + } + + protected void onHit(HitResult p_37406_) { + super.onHit(p_37406_); + + if (!this.level.isClientSide) { + this.level.broadcastEntityEvent(this, (byte)3); + + + //this.level.explode(this, this.getX(), this.getY(0.0625D), this.getZ(), 2.0F, Explosion.BlockInteraction.NONE); + this.discard(); + } + + } + + @SuppressWarnings("unchecked") + public static EntityType.Builder build(EntityType.Builder builder) { + EntityType.Builder entityBuilder = (EntityType.Builder) builder; + return entityBuilder.sized(.25f, .25f); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/base/util/spark/CoolSparkRenderer.java b/src/main/java/com/drmangotea/createindustry/base/util/spark/CoolSparkRenderer.java new file mode 100644 index 00000000..65859ce5 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/base/util/spark/CoolSparkRenderer.java @@ -0,0 +1,55 @@ +package com.drmangotea.createindustry.base.util.spark; + +import com.drmangotea.createindustry.CreateTFMG; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.math.Matrix3f; +import com.mojang.math.Matrix4f; +import com.mojang.math.Vector3f; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.entity.EntityRenderer; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; + +public class CoolSparkRenderer extends EntityRenderer { + private static final ResourceLocation TEXTURE_LOCATION = CreateTFMG.asResource("textures/entity/blue_spark.png"); + private static final RenderType RENDER_TYPE = RenderType.entityCutoutNoCull(TEXTURE_LOCATION); + + public CoolSparkRenderer(EntityRendererProvider.Context p_173962_) { + super(p_173962_); + } + + + + protected int getBlockLightLevel(CoolSpark p_114087_, BlockPos p_114088_) { + return 15; + } + + public void render(CoolSpark p_114080_, float p_114081_, float p_114082_, PoseStack p_114083_, MultiBufferSource p_114084_, int p_114085_) { + p_114083_.pushPose(); + p_114083_.scale(0.5F, 0.5F, 0.5F); + p_114083_.mulPose(this.entityRenderDispatcher.cameraOrientation()); + p_114083_.mulPose(Vector3f.YP.rotationDegrees(180.0F)); + PoseStack.Pose posestack$pose = p_114083_.last(); + Matrix4f matrix4f = posestack$pose.pose(); + Matrix3f matrix3f = posestack$pose.normal(); + VertexConsumer vertexconsumer = p_114084_.getBuffer(RENDER_TYPE); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 0.0F, 0, 0, 1); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 1.0F, 0, 1, 1); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 1.0F, 1, 1, 0); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 0.0F, 1, 0, 0); + p_114083_.popPose(); + super.render(p_114080_, p_114081_, p_114082_, p_114083_, p_114084_, p_114085_); + } + + private static void vertex(VertexConsumer p_114090_, Matrix4f p_114091_, Matrix3f p_114092_, int p_114093_, float p_114094_, int p_114095_, int p_114096_, int p_114097_) { + p_114090_.vertex(p_114091_, p_114094_ - 0.5F, (float)p_114095_ - 0.25F, 0.0F).color(255, 255, 255, 255).uv((float)p_114096_, (float)p_114097_).overlayCoords(OverlayTexture.NO_OVERLAY).uv2(p_114093_).normal(p_114092_, 0.0F, 1.0F, 0.0F).endVertex(); + } + + public ResourceLocation getTextureLocation(CoolSpark p_114078_) { + return TEXTURE_LOCATION; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/blocks/engines/intake/AirIntakeBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/engines/intake/AirIntakeBlockEntity.java index f6c46b96..9eb9163b 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/engines/intake/AirIntakeBlockEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/engines/intake/AirIntakeBlockEntity.java @@ -1,10 +1,9 @@ package com.drmangotea.createindustry.blocks.engines.intake; -import com.drmangotea.createindustry.registry.TFMGBlocks; import com.drmangotea.createindustry.registry.TFMGFluids; +import com.drmangotea.createindustry.registry.TFMGTags; import com.simibubi.create.content.equipment.wrench.IWrenchable; import com.simibubi.create.content.kinetics.base.KineticBlockEntity; -import com.simibubi.create.foundation.fluid.CombinedTankWrapper; import com.simibubi.create.foundation.fluid.SmartFluidTank; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.LangBuilder; @@ -31,7 +30,6 @@ import javax.annotation.Nonnull; import java.util.ArrayList; import java.util.List; import java.util.Optional; -import java.util.stream.Stream; import static com.drmangotea.createindustry.blocks.engines.intake.AirIntakeBlock.INVISIBLE; import static com.simibubi.create.content.kinetics.base.DirectionalKineticBlock.FACING; @@ -47,7 +45,10 @@ public class AirIntakeBlockEntity extends KineticBlockEntity implements IWrencha boolean isUsedByController = false; - + int efficiency = 1; + boolean allObstructed = false; + boolean isObstructed = false; + public BlockPos controller; public List blockEntities = new ArrayList<>(); @@ -77,14 +78,12 @@ public class AirIntakeBlockEntity extends KineticBlockEntity implements IWrencha //if(!level.isClientSide) { int production = ((int) maxShaftSpeed * ((diameter * diameter))) / 10; - if (tankInventory.getFluidAmount() + production <= tankInventory.getCapacity()) { - //tankInventory.fill(new FluidStack(TFMGFluids.AIR.getSource(), production), IFluidHandler.FluidAction.EXECUTE); + if (tankInventory.getFluidAmount() + production <= tankInventory.getCapacity() && !allObstructed) { tankInventory.setFluid(new FluidStack(TFMGFluids.AIR.getSource(), production + tankInventory.getFluidAmount())); - // if(controller!=null) { - // ((AirIntakeBlockEntity) level.getBlockEntity(controller)).setChanged(); - // ((AirIntakeBlockEntity) level.getBlockEntity(controller)).sendData(); - // } } + + isObstructed = hasBlockInFront(this.getBlockPos()); + // } //////////////// @@ -93,7 +92,8 @@ public class AirIntakeBlockEntity extends KineticBlockEntity implements IWrencha sendData(); setChanged(); } - + + efficiency = getEfficiency(); if(diameter == 3){ visual_angle.chase(angle, 0.1f, LerpedFloat.Chaser.EXP); @@ -108,8 +108,8 @@ public class AirIntakeBlockEntity extends KineticBlockEntity implements IWrencha if(isUsedByController) blockEntities.clear(); - - + + allObstructed = efficiency == 0; if(!this.getBlockState().getValue(INVISIBLE)){ if(isController||isUsedByController){ @@ -127,7 +127,7 @@ public class AirIntakeBlockEntity extends KineticBlockEntity implements IWrencha diameter =getPossibleDiameter(); if(controller == this.getBlockPos()) { - + isUsedByController = false; } else { isUsedByController = true; @@ -215,6 +215,30 @@ public class AirIntakeBlockEntity extends KineticBlockEntity implements IWrencha } + + public int getEfficiency(){ + int result; + if (diameter == 1) { + result = 1; + if (isObstructed) { + result = 0; + } + } else { + int fans = blockEntities.toArray().length; + for (AirIntakeBlockEntity be : blockEntities) { + if (be.isObstructed) { + fans--; + } + } + result = fans; + } + return result; + } + + public boolean hasBlockInFront(BlockPos pos){ + return !level.getBlockState(pos.relative(this.getBlockState().getValue(FACING))).is(TFMGTags.TFMGBlockTags.AIR_INTAKE_TRANSPARENT.tag) && !level.getBlockState(pos.relative(this.getBlockState().getValue(FACING))).isAir(); + } + @Override public void invalidate() { super.invalidate(); @@ -292,8 +316,6 @@ public class AirIntakeBlockEntity extends KineticBlockEntity implements IWrencha BlockPos checkedPos = this.getBlockPos(); Direction direction = this.getBlockState().getValue(FACING); - - List checkedPosses = new ArrayList<>(); checkedPos = this.getBlockPos(); @@ -510,7 +532,16 @@ public class AirIntakeBlockEntity extends KineticBlockEntity implements IWrencha .style(ChatFormatting.DARK_GREEN)) .style(ChatFormatting.DARK_GRAY) .forGoggles(tooltip, 1); - + + if (isObstructed) { + Lang.translate("gui.goggles.fluid_container.obstructed") + .style(ChatFormatting.RED) + .forGoggles(tooltip, 1); + } + + Lang.number(getEfficiency()) + .style(ChatFormatting.DARK_GREEN) + .forGoggles(tooltip, 1); return true; @@ -548,7 +579,8 @@ public class AirIntakeBlockEntity extends KineticBlockEntity implements IWrencha isUsedByController = compound.getBoolean("IsUsed"); hasShaft = compound.getBoolean("HasShaft"); tankInventory.readFromNBT(compound.getCompound("TankContent")); - + efficiency = compound.getInt("Efficiency"); + isObstructed = compound.getBoolean("IsObstructed"); } @Override @@ -561,6 +593,8 @@ public class AirIntakeBlockEntity extends KineticBlockEntity implements IWrencha compound.putBoolean("IsUsed", isUsedByController); compound.putBoolean("HasShaft", hasShaft); compound.put("TankContent", tankInventory.writeToNBT(new CompoundTag())); + compound.putInt("Efficiency", efficiency); + compound.putBoolean("IsObstructed", isObstructed); } } diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/firebox/FireboxGenerator.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/firebox/FireboxGenerator.java index 3351836d..637e8240 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/machines/firebox/FireboxGenerator.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/firebox/FireboxGenerator.java @@ -23,7 +23,7 @@ public class FireboxGenerator extends SpecialBlockStateGen { protected int getYRotation(BlockState state) { short value; - switch ((Direction)state.getValue(HorizontalDirectionalBlock.FACING)) { + switch (state.getValue(HorizontalDirectionalBlock.FACING)) { case NORTH: value = 0; break; @@ -45,6 +45,6 @@ public class FireboxGenerator extends SpecialBlockStateGen { } public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, BlockState state) { - return (Boolean)(state.getValue(FireboxBlock.HEAT_LEVEL)!= BlazeBurnerBlock.HeatLevel.SMOULDERING) ? AssetLookup.partialBaseModel(ctx, prov, new String[]{"lit"}) : AssetLookup.partialBaseModel(ctx, prov, new String[0]); + return (Boolean)(state.getValue(FireboxBlock.HEAT_LEVEL)!= BlazeBurnerBlock.HeatLevel.SMOULDERING) ? AssetLookup.partialBaseModel(ctx, prov, "lit") : AssetLookup.partialBaseModel(ctx, prov); } } diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_stove/BlastStoveBlock.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_stove/BlastStoveBlock.java new file mode 100644 index 00000000..94ac4cc2 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_stove/BlastStoveBlock.java @@ -0,0 +1,39 @@ +package com.drmangotea.createindustry.blocks.machines.metal_processing.blast_stove; + +import com.drmangotea.createindustry.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; + +public class BlastStoveBlock extends HorizontalDirectionalBlock implements IBE { + public static final BooleanProperty RUNNING = BooleanProperty.create("running"); + public BlastStoveBlock(Properties p_54120_) { + super(p_54120_); + registerDefaultState(defaultBlockState().setValue(RUNNING, false)); + } + public BlockState getStateForPlacement(BlockPlaceContext p_48781_) { + return this.defaultBlockState().setValue(FACING, p_48781_.getHorizontalDirection().getOpposite()).setValue(RUNNING, false); + } + @Override + public Class getBlockEntityClass() { + return BlastStoveBlockEntity.class; + } + public void onRemove(BlockState state, Level worldIn, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, worldIn, pos, newState); + } + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.BLAST_STOVE.get(); + } + @Override + protected void createBlockStateDefinition(StateDefinition.Builder pBuilder) { + super.createBlockStateDefinition(pBuilder.add(FACING, RUNNING)); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_stove/BlastStoveBlockEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_stove/BlastStoveBlockEntity.java new file mode 100644 index 00000000..8f1a2e44 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_stove/BlastStoveBlockEntity.java @@ -0,0 +1,263 @@ +package com.drmangotea.createindustry.blocks.machines.metal_processing.blast_stove; + +import com.drmangotea.createindustry.base.multiblock.FluidOutputBlockEntity; +import com.drmangotea.createindustry.base.multiblock.MultiblockMasterBlockEntity; +import com.drmangotea.createindustry.base.multiblock.MultiblockStructure; +import com.drmangotea.createindustry.base.multiblock.PositionUtil; +import com.drmangotea.createindustry.blocks.machines.firebox.FireboxBlock; +import com.drmangotea.createindustry.recipes.gas_blasting.GasBlastingRecipe; +import com.drmangotea.createindustry.registry.TFMGBlocks; +import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.ScrollValueBehaviour; +import com.simibubi.create.foundation.fluid.CombinedTankWrapper; +import com.simibubi.create.foundation.recipe.RecipeFinder; +import com.simibubi.create.foundation.utility.Lang; +import com.simibubi.create.foundation.utility.VecHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.world.Container; +import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.templates.FluidTank; + +import java.util.List; + +import static com.drmangotea.createindustry.base.multiblock.PositionUtil.*; +import static com.drmangotea.createindustry.base.multiblock.PositionUtil.generateSequence; + +public class BlastStoveBlockEntity extends MultiblockMasterBlockEntity implements IHaveGoggleInformation { + private static final Object GasBlastingRecipesKey = new Object(); + public static final int maxSegments = 12; + public static final int defaultSegments = 2; + protected ScrollValueBehaviour segments; + public GasBlastingRecipe recipe; + public Direction getMasterDirection() { + return this.getBlockState().getValue(BlastStoveBlock.FACING); + } + public BlockState mainWall = TFMGBlocks.FIREPROOF_BRICKS.get().defaultBlockState(); + public BlockState cinderFlourBlock = TFMGBlocks.CINDERFLOUR_BLOCK.get().defaultBlockState(); + public BlockState reinforcement = TFMGBlocks.FIREPROOF_BRICK_REINFORCEMENT.get().defaultBlockState(); + public BlastStoveBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state, 8000, "blast_stove"); + this.timer = -1; + } + + @Override + public void addBehaviours(List behaviours) { + behaviours.add(this.segments = new ScrollValueBehaviour(Lang.translateDirect("multiblock.blast_stove.segments_height"), this, new SegmentValueBox())); + this.segments.between(2, 8); + this.segments.value = defaultSegments; + } + + public void lazyTick() { + super.lazyTick(); + + } + public void tick() { + super.tick(); + if (this.level == null) { + return; + } + this.multiblockStructure = MultiblockStructure.cuboidBuilder(this).directional(getMasterDirection()) + .withBlockAt(new PositionUtil.PositionRange(generateSequence(-3, 0, 1), zero(), generateSequence(-1, 1, 1)).ignorePosition(0, 1, 0), mainWall) + .withBlockAt(new PositionUtil.PositionRange(List.of(-4), zero(), generateSequence(-1, 1, 2)), reinforcement) + .withFluidOutputAt(-4, 0, 0, "createindustry.blast_stove.tank1", 4000 * segments.getValue()) + .withFluidOutputAt(-4, 1, 0, "createindustry.blast_stove.tank2", 4000 * segments.getValue()) + .withFluidOutputAt(0, 1, 0, "createindustry.blast_stove.tank0", 4000 * segments.getValue()) + .withBlockAt(new PositionUtil.PositionRange(List.of(0, -1, -3), List.of(1), generateSequence(-1, 1, 2)), mainWall) + .withBlockAt(new PositionUtil.PositionRange(List.of(-2, -4), List.of(1), generateSequence(-1, 1, 2)), reinforcement) + .withBlockAt(-2, 1, 0, mainWall) + //.withBlockAt(new PositionUtil.PositionRange(List.of(-1, -2), zero(), generateSequence(-2, 2, 1)), mainWall) + //.withBlockAt(new PositionUtil.PositionRange(pos(-3), generateSequence(0, 4, 1), generateSequence(-1, 1, 1)), mainWall) + //.withBlockAt(new PositionUtil.PositionRange(pos(-3), generateSequence(0, 3, 1), generateSequence(-2, 2, 4)), reinforcement) + .withBlockAt(new PositionUtil.PositionRange(List.of(-1), generateSequence(2, 1 + segments.getValue(), 1), zero()), cinderFlourBlock) + .withBlockAt(new PositionUtil.PositionRange(List.of(-1, -3), generateSequence(2, 1 + segments.getValue(), 1), generateSequence(-1, 1, 2)), mainWall) + .withBlockAt(new PositionUtil.PositionRange(zero(), generateSequence(2, 1 + segments.getValue(), 1), generateSequence(-1, 1, 1)), mainWall) + .withBlockAt(new PositionUtil.PositionRange(List.of(-2, -4), generateSequence(2, 1 + segments.getValue(), 1), generateSequence(-1, 1, 2)), reinforcement) + .withBlockAt(new PositionUtil.PositionRange(List.of(-2, -4), generateSequence(2, 1 + segments.getValue(), 1), zero()), mainWall) + .withBlockAt(new PositionUtil.PositionRange(List.of(-3), List.of(2 + segments.getValue()), generateSequence(-1, 1, 2)), mainWall) + .withBlockAt(new PositionUtil.PositionRange(List.of(-1, -2), List.of(2 + segments.getValue()), generateSequence(-1, 1, 2)), reinforcement) + .withBlockAt(-4, 2 + segments.getValue(), 0, mainWall) + .withBlockAt(0, 2 + segments.getValue(), 0, reinforcement) + .withBlockAt(new PositionUtil.PositionRange(zero(), List.of(2 + segments.getValue()), generateSequence(-1, 1, 2)), mainWall) + .withBlockAt(new PositionUtil.PositionRange(List.of(0, -1, -2, -3), List.of(3 + segments.getValue()), zero()), mainWall) + .withBlockAt(new PositionUtil.PositionRange(List.of(-1, -2), List.of(3 + segments.getValue()), generateSequence(-1, 1, 2)), mainWall) + .build(); + if(!isValid) + return; + + if (tankInventory.getCapacity() != masterTankCapacity * segments.getValue()) { + this.tankInventory.setCapacity(masterTankCapacity * segments.getValue()); + } + + if(recipe !=null) { + if (timer == -1 && + (getMainFluidOutput().tankInventory.getFluidAmount() + recipe.getFluidResults().get(0).getAmount()) <= getMainFluidOutput().tankInventory.getCapacity() && (getSecondaryFluidOutput().tankInventory.getFluidAmount() + recipe.getFluidResults().get(1).getAmount()) <= getSecondaryFluidOutput().tankInventory.getCapacity()&& + canContinue() + ) { + timer = recipe.getProcessingDuration(); + tankInventory.drain(recipe.getFluidIngredients().get(0).getRequiredAmount(), IFluidHandler.FluidAction.EXECUTE); + getSecondaryFluidInput().tankInventory.drain(recipe.getFluidIngredients().get(1).getRequiredAmount(), IFluidHandler.FluidAction.EXECUTE); + } + } + + findRecipe(); + setRunning(timer > 0); + + if (timer > 0 && + (getMainFluidOutput().tankInventory.getFluidAmount() + recipe.getFluidResults().get(0).getAmount()) <= getMainFluidOutput().tankInventory.getCapacity() && (getSecondaryFluidOutput().tankInventory.getFluidAmount() + recipe.getFluidResults().get(1).getAmount()) <= getSecondaryFluidOutput().tankInventory.getCapacity()&&canContinue() + ) { + timer--; + } + + if (timer == 0) { + process(getMainFluidOutput().tankInventory, getSecondaryFluidOutput().tankInventory); + timer = -1; + } + } + + public boolean canContinue() { + if (recipe == null) + return false; + return recipe.matches(tankInventory, getSecondaryFluidInput().tankInventory); + } + + public void findRecipe(){ + CombinedTankWrapper tankIn = new CombinedTankWrapper(tankInventory,getSecondaryFluidInput().tankInventory); + if (recipe == null || !recipe.matches(tankIn, level)) { + GasBlastingRecipe recipe = getMatchingRecipes(); + if (recipe!=null) { + this.recipe = recipe; + sendData(); + } + } + } + + public void process(FluidTank mainOutput, FluidTank secondaryOutput) { + if (level == null) + return; + if (level.isClientSide) + return; + + mainOutput.setFluid(new FluidStack(recipe.getFluidResults().get(0).getFluid(), mainOutput.getFluidAmount()+recipe.getFluidResults().get(0).getAmount())); + secondaryOutput.setFluid(new FluidStack(recipe.getFluidResults().get(1).getFluid(), secondaryOutput.getFluidAmount()+recipe.getFluidResults().get(1).getAmount())); + + } + + protected void setRunning(boolean running) { + if (level == null) + return; + level.setBlockAndUpdate(worldPosition, getBlockState().setValue(BlastStoveBlock.RUNNING, running)); + notifyUpdate(); + } + + public void invalidate() { + super.invalidate(); + } + + protected void read(CompoundTag compound, boolean clientPacket) { + super.read(compound, clientPacket); + } + + public void write(CompoundTag compound, boolean clientPacket) { + super.write(compound, clientPacket); + } + + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + super.addToGoggleTooltip(tooltip, isPlayerSneaking); + if (recipe == null) { + tooltip.add(Component.nullToEmpty("No recipe")); + return true; + } else { + tooltip.add(Component.nullToEmpty("Recipe: " + recipe.getId())); + tooltip.add(percent()); + } + return true; + } + + class GhostBlockDisplay extends ValueBoxTransform.Sided { + protected Vec3 getSouthLocation() { + return VecHelper.voxelSpace(12.0, 8.0, 15.5); + } + @Override + protected boolean isSideActive(BlockState state, Direction direction) { + return !isValid && state.getValue(BlastStoveBlock.FACING) == direction; + } + } + + class SegmentValueBox extends ValueBoxTransform.Sided { + protected Vec3 getSouthLocation() { + return VecHelper.voxelSpace(4.0, 8.0, 15.5); + } + @Override + protected boolean isSideActive(BlockState state, Direction direction) { + return !isValid && state.getValue(BlastStoveBlock.FACING) == direction; + } + } + + protected FluidOutputBlockEntity getMainFluidOutput() { + if (level == null || multiblockStructure == null) { + return null; + } + return (FluidOutputBlockEntity) level.getBlockEntity(multiblockStructure.getFluidOutputPosition("createindustry.blast_stove.tank2")); + } + + protected FluidOutputBlockEntity getSecondaryFluidOutput() { + if (level == null || multiblockStructure == null) { + return null; + } + return (FluidOutputBlockEntity) level.getBlockEntity(multiblockStructure.getFluidOutputPosition("createindustry.blast_stove.tank0")); + } + + protected FluidOutputBlockEntity getSecondaryFluidInput() { + if (level == null || multiblockStructure == null) { + return null; + } + return (FluidOutputBlockEntity) level.getBlockEntity(multiblockStructure.getFluidOutputPosition("createindustry.blast_stove.tank1")); + } + + protected GasBlastingRecipe getMatchingRecipes() { + + + List> list = RecipeFinder.get(getRecipeCacheKey(), level, this::matchStaticFilters); + + + for(int i = 0; i < list.toArray().length;i++){ + GasBlastingRecipe recipe = (GasBlastingRecipe) list.get(i); + for(int y = 0; y < recipe.getFluidIngredients().get(0).getMatchingFluidStacks().toArray().length;y++) + if(tankInventory.getFluid().getFluid()==recipe.getFluidIngredients().get(0).getMatchingFluidStacks().get(y).getFluid()) + if(tankInventory.getFluidAmount()>=recipe.getFluidIngredients().get(0).getRequiredAmount()) + return recipe; + } + + return null; + } + + protected boolean matchStaticFilters(Recipe r) { + + return r instanceof GasBlastingRecipe; + + + + } + + protected Object getRecipeCacheKey() { + return GasBlastingRecipesKey; + } + + private MutableComponent percent() { + float percent = Math.round((float) timer / recipe.getProcessingDuration() * 100); + return Lang.builder().text(" ") + .text(percent + "%") + .component(); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_stove/BlastStoveGenerator.java b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_stove/BlastStoveGenerator.java new file mode 100644 index 00000000..6d421cc7 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/blocks/machines/metal_processing/blast_stove/BlastStoveGenerator.java @@ -0,0 +1,48 @@ +package com.drmangotea.createindustry.blocks.machines.metal_processing.blast_stove; + +import com.simibubi.create.foundation.data.AssetLookup; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraftforge.client.model.generators.ModelFile; + +public class BlastStoveGenerator extends SpecialBlockStateGen { + public BlastStoveGenerator() { + } + + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + + protected int getYRotation(BlockState state) { + short value; + switch (state.getValue(HorizontalDirectionalBlock.FACING)) { + case NORTH: + value = 0; + break; + case SOUTH: + value = 180; + break; + case WEST: + value = 270; + break; + case EAST: + value = 90; + break; + + default: + throw new IncompatibleClassChangeError(); + } + + return value; + } + + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, BlockState state) { + return state.getValue(BlastStoveBlock.RUNNING) ? AssetLookup.partialBaseModel(ctx, prov, "running") : AssetLookup.partialBaseModel(ctx, prov); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/events/CommonEvents.java b/src/main/java/com/drmangotea/createindustry/events/CommonEvents.java new file mode 100644 index 00000000..0f16024a --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/events/CommonEvents.java @@ -0,0 +1,14 @@ +package com.drmangotea.createindustry.events; + +import com.drmangotea.createindustry.items.weapons.flamethrover.FlamethrowerFuelTypeManager; +import net.minecraftforge.event.AddReloadListenerEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod; + +@Mod.EventBusSubscriber +public class CommonEvents { + @SubscribeEvent + public static void addReloadListeners(AddReloadListenerEvent event) { + event.addListener(FlamethrowerFuelTypeManager.ReloadListener.INSTANCE); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/BuiltinFlamethrowerFuelTypes.java b/src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/BuiltinFlamethrowerFuelTypes.java new file mode 100644 index 00000000..07d6cff5 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/BuiltinFlamethrowerFuelTypes.java @@ -0,0 +1,84 @@ +package com.drmangotea.createindustry.items.weapons.flamethrover; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.registry.TFMGFluids; + +public class BuiltinFlamethrowerFuelTypes { + + public static final FlamethrowerFuelType + + FALLBACK = create("fallback") + .spread(0) + .speed(0) + .amount(0) + .color(0x000000) + .register(), + + GASOLINE = create("gasoline") + .spread(15) + .speed(1) + .amount(3) + .color(0xC4AA76) + .registerAndAssign(TFMGFluids.GASOLINE::get), + + DIESEL = create("diesel") + .spread(7) + .speed(2) + .amount(3) + .color(0xBA9177) + .registerAndAssign(TFMGFluids.DIESEL::get), + + KEROSENE = create("kerosene") + .spread(10) + .speed(1.3f) + .amount(4) + .color(0x7876D5) + .registerAndAssign(TFMGFluids.KEROSENE::get), + + NAPHTHA = create("naphtha") + .spread(20) + .speed(0.8f) + .amount(1) + .color(0x5E1B0A) + .registerAndAssign(TFMGFluids.NAPHTHA::get), + + LPG = create("lpg") + .spread(35) + .speed(0.6f) + .amount(15) + .color(0xE0BB48) + .registerAndAssign(TFMGFluids.LPG::get), + + NAPALM = create("napalm") + .spread(20) + .speed(1.8f) + .amount(15) + .color(0xA3C649) + .registerAndAssign(TFMGFluids.NAPALM::get), + + MOLTEN_SLAG = create("molten_slag") + .spread(15) + .speed(0.3f) + .amount(15) + .color(0xFF9621) + .registerAndAssign(TFMGFluids.MOLTEN_SLAG::get), + + COOLING_FLUID = create("cooling_fluid") + .spread(12) + .speed(0.8f) + .amount(15) + .cold() + .color(0x4edbdb) + .registerAndAssign(TFMGFluids.COOLING_FLUID::get) + + ; + + + + + private static FlamethrowerFuelType.Builder create(String name) { + return new FlamethrowerFuelType.Builder(CreateTFMG.asResource(name)); + } + + public static void register() {} +} diff --git a/src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/FlamethrowerFuelType.java b/src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/FlamethrowerFuelType.java new file mode 100644 index 00000000..b901a9e5 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/FlamethrowerFuelType.java @@ -0,0 +1,198 @@ +package com.drmangotea.createindustry.items.weapons.flamethrover; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonPrimitive; +import com.simibubi.create.foundation.utility.RegisteredObjects; +import net.minecraft.ResourceLocationException; +import net.minecraft.core.Holder; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.material.Fluid; +import net.minecraftforge.registries.ForgeRegistries; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.function.Consumer; +import java.util.function.Predicate; +import java.util.function.Supplier; + +public class FlamethrowerFuelType { + private List> fluids = new ArrayList<>(); + private int spread = 15; + private float speed = 1; + private int amount = 4; + private boolean isCold = false; + private boolean hellfire = false; + private int color = 0xC4AA76; + + public FlamethrowerFuelType() { + } + + public List> getFluids() { + return fluids; + } + + public int getSpread() { + return spread; + } + + public float getSpeed() { + return speed; + } + + public int getAmount() { + return amount; + } + + public int getColor() { + return color; + } + + public boolean isCold() { + return isCold; + } + + public boolean isHellfire() { + return hellfire; + } + + public static FlamethrowerFuelType fromJson(JsonObject object) { + FlamethrowerFuelType type = new FlamethrowerFuelType(); + try { + JsonElement itemsElement = object.get("fluids"); + if (itemsElement != null && itemsElement.isJsonArray()) { + for (JsonElement element : itemsElement.getAsJsonArray()) { + if (element.isJsonPrimitive()) { + JsonPrimitive primitive = element.getAsJsonPrimitive(); + if (primitive.isString()) { + try { + Optional> reference = ForgeRegistries.FLUIDS.getDelegate(new ResourceLocation(primitive.getAsString())); + if (reference.isPresent()) { + type.fluids.add(reference.get()); + } + } catch (ResourceLocationException e) { + // + } + } + } + } + } + + parseJsonPrimitive(object, "spread", JsonPrimitive::isNumber, primitive -> type.spread = primitive.getAsInt()); + parseJsonPrimitive(object, "speed", JsonPrimitive::isNumber, primitive -> type.speed = primitive.getAsFloat()); + parseJsonPrimitive(object, "amount", JsonPrimitive::isNumber, primitive -> type.amount = primitive.getAsInt()); + parseJsonPrimitive(object, "cold", JsonPrimitive::isBoolean, primitive -> type.isCold = primitive.getAsBoolean()); + parseJsonPrimitive(object, "hellfire", JsonPrimitive::isBoolean, primitive -> type.hellfire = primitive.getAsBoolean()); + parseJsonPrimitive(object, "color", JsonPrimitive::isString, primitive -> type.color = Integer.parseInt(primitive.getAsString())); + } catch (Exception e) { + // + } + return type; + } + + private static void parseJsonPrimitive(JsonObject object, String key, Predicate predicate, Consumer consumer) { + JsonElement element = object.get(key); + if (element != null && element.isJsonPrimitive()) { + JsonPrimitive primitive = element.getAsJsonPrimitive(); + if (predicate.test(primitive)) { + consumer.accept(primitive); + } + } + } + + public static void toBuffer(FlamethrowerFuelType type, FriendlyByteBuf buffer) { + buffer.writeVarInt(type.fluids.size()); + for (Supplier delegate : type.fluids) { + buffer.writeResourceLocation(RegisteredObjects.getKeyOrThrow(delegate.get())); + } + buffer.writeInt(type.spread); + buffer.writeFloat(type.speed); + buffer.writeInt(type.amount); + buffer.writeBoolean(type.isCold); + buffer.writeBoolean(type.hellfire); + buffer.writeInt(type.color); + } + + public static FlamethrowerFuelType fromBuffer(FriendlyByteBuf buffer) { + FlamethrowerFuelType type = new FlamethrowerFuelType(); + int size = buffer.readVarInt(); + for (int i = 0; i < size; i++) { + Optional> reference = ForgeRegistries.FLUIDS.getDelegate(buffer.readResourceLocation()); + if (reference.isPresent()) { + type.fluids.add(reference.get()); + } + } + type.spread = buffer.readInt(); + type.speed = buffer.readFloat(); + type.amount = buffer.readInt(); + type.isCold = buffer.readBoolean(); + type.hellfire = buffer.readBoolean(); + type.color = buffer.readInt(); + return type; + } + + public static class Builder { + + protected ResourceLocation id; + protected FlamethrowerFuelType result; + + public Builder(ResourceLocation id) { + this.id = id; + this.result = new FlamethrowerFuelType(); + } + + public Builder spread(int spread) { + result.spread = spread; + return this; + } + + public Builder speed(float speed) { + result.speed = speed; + return this; + } + + public Builder amount(int amount) { + result.amount = amount; + return this; + } + + public Builder cold() { + result.isCold = true; + result.hellfire = false; + return this; + } + + public Builder hellfire() { + result.hellfire = true; + result.isCold = false; + return this; + } + + public Builder color(int color) { + result.color = color; + return this; + } + + @SafeVarargs + public final Builder addFluids(Supplier... fluids) { + for (Supplier fluid : fluids) + result.fluids.add(ForgeRegistries.FLUIDS.getDelegateOrThrow(fluid.get())); + return this; + } + + public FlamethrowerFuelType register() { + FlamethrowerFuelTypeManager.registerBuiltinType(id, result); + return result; + } + + @SafeVarargs + public final FlamethrowerFuelType registerAndAssign(Supplier... fluids) { + addFluids(fluids); + register(); + return result; + } + + } +} diff --git a/src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/FlamethrowerFuelTypeManager.java b/src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/FlamethrowerFuelTypeManager.java new file mode 100644 index 00000000..c754dc64 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/FlamethrowerFuelTypeManager.java @@ -0,0 +1,191 @@ +package com.drmangotea.createindustry.items.weapons.flamethrover; + +import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.registry.TFMGPackets; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.simibubi.create.AllPackets; +import com.simibubi.create.foundation.networking.SimplePacketBase; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.server.packs.resources.ResourceManager; +import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener; +import net.minecraft.util.profiling.ProfilerFiller; +import net.minecraft.world.level.material.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.network.NetworkEvent; +import net.minecraftforge.network.PacketDistributor; +import net.minecraftforge.registries.ForgeRegistries; + +import java.util.HashMap; +import java.util.IdentityHashMap; +import java.util.Map; +import java.util.Optional; +import java.util.function.Supplier; + +public class FlamethrowerFuelTypeManager { + public static final Map BUILTIN_TYPE_MAP = new HashMap<>(); + public static final Map CUSTOM_TYPE_MAP = new HashMap<>(); + public static final Map GLOBAL_TYPE_MAP = new HashMap<>(); + private static final Map FLUID_TO_TYPE_MAP = new IdentityHashMap<>(); + + public static void registerBuiltinType(ResourceLocation id, FlamethrowerFuelType type) { + synchronized (BUILTIN_TYPE_MAP) { + BUILTIN_TYPE_MAP.put(id, type); + } + synchronized (GLOBAL_TYPE_MAP) { + GLOBAL_TYPE_MAP.put(id, type); + } + } + + public static FlamethrowerFuelType getBuiltinType(ResourceLocation id) { + return BUILTIN_TYPE_MAP.get(id); + } + + public static FlamethrowerFuelType getCustomType(ResourceLocation id) { + return CUSTOM_TYPE_MAP.get(id); + } + public static FlamethrowerFuelType getGlobalType(ResourceLocation id) { + return GLOBAL_TYPE_MAP.get(id); + } + + public static FlamethrowerFuelType getTypeForFluid(Fluid fluid) { + return FLUID_TO_TYPE_MAP.get(fluid); + } + public static FlamethrowerFuelType getTypeForFluid(ResourceLocation fluidId) { + return getTypeForFluid(ForgeRegistries.FLUIDS.getValue(fluidId)); + } + + public static Optional getTypeForStack(FluidStack fluidStack) { + if (fluidStack.isEmpty()) + return Optional.empty(); + return Optional.ofNullable(getTypeForFluid(fluidStack.getFluid())); + } + + public static ResourceLocation getIdForType(FlamethrowerFuelType type) { + for (Map.Entry entry : GLOBAL_TYPE_MAP.entrySet()) { + if (entry.getValue() == type) + return entry.getKey(); + } + return null; + } + public static FlamethrowerFuelType getTypeForId(ResourceLocation id) { + for (Map.Entry entry : GLOBAL_TYPE_MAP.entrySet()) { + if (entry.getKey().equals(id)) + return entry.getValue(); + } + return null; + } + + public static void clear() { + GLOBAL_TYPE_MAP.clear(); + CUSTOM_TYPE_MAP.clear(); + FLUID_TO_TYPE_MAP.clear(); + } + + public static void fillFluidMap() { + for (Map.Entry entry : BUILTIN_TYPE_MAP.entrySet()) { + FlamethrowerFuelType type = entry.getValue(); + for (Supplier delegate : type.getFluids()) { + FLUID_TO_TYPE_MAP.put(delegate.get(), type); + } + } + for (Map.Entry entry : CUSTOM_TYPE_MAP.entrySet()) { + FlamethrowerFuelType type = entry.getValue(); + for (Supplier delegate : type.getFluids()) { + FLUID_TO_TYPE_MAP.put(delegate.get(), type); + } + } + } + public static void fillGlobalMap() { + GLOBAL_TYPE_MAP.putAll(BUILTIN_TYPE_MAP); + GLOBAL_TYPE_MAP.putAll(CUSTOM_TYPE_MAP); + CreateTFMG.LOGGER.info("Populated global flamethrower fuel type map with {} entries", GLOBAL_TYPE_MAP.size()); + } + + public static void toBuffer(FriendlyByteBuf buffer) { + buffer.writeVarInt(CUSTOM_TYPE_MAP.size()); + for (Map.Entry entry : CUSTOM_TYPE_MAP.entrySet()) { + buffer.writeResourceLocation(entry.getKey()); + FlamethrowerFuelType.toBuffer(entry.getValue(), buffer); + } + } + + public static void fromBuffer(FriendlyByteBuf buffer) { + clear(); + + int size = buffer.readVarInt(); + for (int i = 0; i < size; i++) { + CUSTOM_TYPE_MAP.put(buffer.readResourceLocation(), FlamethrowerFuelType.fromBuffer(buffer)); + } + + fillFluidMap(); + fillGlobalMap(); + } + + public static void syncTo(ServerPlayer player) { + TFMGPackets.getChannel().send(PacketDistributor.PLAYER.with(() -> player), new SyncPacket()); + } + + public static void syncToAll() { + TFMGPackets.getChannel().send(PacketDistributor.ALL.noArg(), new SyncPacket()); + } + + public static class ReloadListener extends SimpleJsonResourceReloadListener { + + private static final Gson GSON = new Gson(); + + public static final ReloadListener INSTANCE = new ReloadListener(); + + protected ReloadListener() { + super(GSON, "flamethrower_fuel_types"); + } + + @Override + protected void apply(Map map, ResourceManager resourceManager, ProfilerFiller profiler) { + clear(); + + for (Map.Entry entry : map.entrySet()) { + JsonElement element = entry.getValue(); + if (element.isJsonObject()) { + ResourceLocation id = entry.getKey(); + JsonObject object = element.getAsJsonObject(); + FlamethrowerFuelType type = FlamethrowerFuelType.fromJson(object); + CUSTOM_TYPE_MAP.put(id, type); + } + } + + fillFluidMap(); + fillGlobalMap(); + } + + } + + public static class SyncPacket extends SimplePacketBase { + + private FriendlyByteBuf buffer; + + public SyncPacket() { + } + + public SyncPacket(FriendlyByteBuf buffer) { + this.buffer = buffer; + } + + @Override + public void write(FriendlyByteBuf buffer) { + toBuffer(buffer); + } + + @Override + public boolean handle(NetworkEvent.Context context) { + context.enqueueWork(() -> { + fromBuffer(buffer); + }); + return true; + } + + } +} diff --git a/src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/FlamethrowerItem.java b/src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/FlamethrowerItem.java index 7de9b57c..933be74e 100644 --- a/src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/FlamethrowerItem.java +++ b/src/main/java/com/drmangotea/createindustry/items/weapons/flamethrover/FlamethrowerItem.java @@ -1,7 +1,9 @@ package com.drmangotea.createindustry.items.weapons.flamethrover; import com.drmangotea.createindustry.CreateTFMGClient; +import com.drmangotea.createindustry.base.util.spark.CoolSpark; import com.drmangotea.createindustry.base.util.spark.Spark; +import com.drmangotea.createindustry.items.weapons.lithium_blade.LithiumSpark; import com.drmangotea.createindustry.registry.TFMGCreativeModeTabs; import com.drmangotea.createindustry.registry.TFMGEntityTypes; import com.drmangotea.createindustry.registry.TFMGItems; @@ -12,6 +14,8 @@ import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.core.BlockPos; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; @@ -25,9 +29,12 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.UseAnim; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.Level; +import net.minecraft.world.level.material.Fluid; import net.minecraftforge.fluids.capability.IFluidHandler; import org.jetbrains.annotations.Nullable; +import java.util.function.Supplier; + public class FlamethrowerItem extends Item implements CustomArmPoseItem { @@ -40,11 +47,14 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem { public void onUseTick(Level level, LivingEntity entity, ItemStack stack, int time) { - - - + + + CoolSpark coolSpark = TFMGEntityTypes.COOL_SPARK.create(level); + coolSpark.setPos(entity.getX(),entity.getY()+1.2f,entity.getZ()); Spark spark = TFMGEntityTypes.SPARK.create(level); spark.setPos(entity.getX(),entity.getY()+1.2f,entity.getZ()); + LithiumSpark lithiumSpark = TFMGEntityTypes.LITHIUM_SPARK.create(level); + lithiumSpark.setPos(entity.getX(),entity.getY()+1.2f,entity.getZ()); CompoundTag nbt = stack.getOrCreateTag(); @@ -55,23 +65,35 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem { //if(true) // return; - level.playSound((Player)null, entity.getX(), entity.getY(), entity.getZ(), SoundEvents.FIRE_EXTINGUISH, SoundSource.NEUTRAL, 0.1F, 0.04F); + FlamethrowerFuelType fuel = FlamethrowerFuelTypeManager.getTypeForId(new ResourceLocation(nbt.getString("fuel"))); + + if (fuel == null) { + return; + } + + SoundEvent sound = fuel.isCold() ? SoundEvents.SNOW_BREAK : SoundEvents.FIRE_EXTINGUISH; + level.playSound((Player)null, entity.getX(), entity.getY(), entity.getZ(), sound, SoundSource.NEUTRAL, 0.1F, 0.04F); - FlamethrowerFuel fuel = Enum.valueOf(FlamethrowerFuel.class,nbt.getString("fuel").toUpperCase()); - for(int i =0;i supplier.get().isSame(be.getFluid(0).getFluid()))) { int toDrain = Math.min(FUEL_CAPACITY - nbt.getInt("amount"), be.getFluid(0).getAmount()); - - nbt.putString("fuel", fluid); + nbt.putString("fuel", FlamethrowerFuelTypeManager.getIdForType(fuelBuiltin).toString()); be.getTankInventory().drain(toDrain, IFluidHandler.FluidAction.EXECUTE); nbt.putInt("amount", nbt.getInt("amount") + toDrain); context.getPlayer().getCooldowns().addCooldown(stack.getItem(), 20); - - + return InteractionResult.SUCCESS; } - } - - } - - } @@ -200,8 +213,10 @@ return Math.round( 13* ((float)((float)stack.getOrCreateTag().getInt("amount")/( NAPALM(20,1.8f,15,0xA3C649), - MOLTEN_SLAG(15,0.3f,15,0xFF9621) - + MOLTEN_SLAG(15,0.3f,15,0xFF9621), + + //Sorry Mango, I had to do it :3 + COOLING_FLUID(12,0.8f,15,0x4edbdb) ; diff --git a/src/main/java/com/drmangotea/createindustry/mixins/AreaEffectCloudMixin.java b/src/main/java/com/drmangotea/createindustry/mixins/AreaEffectCloudMixin.java new file mode 100644 index 00000000..2c7cb7a1 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/mixins/AreaEffectCloudMixin.java @@ -0,0 +1,63 @@ +package com.drmangotea.createindustry.mixins; + +import com.drmangotea.createindustry.registry.TFMGPotions; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.util.Mth; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.entity.AreaEffectCloud; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.item.alchemy.Potion; +import net.minecraft.world.level.Level; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import java.util.Set; + +@Mixin(AreaEffectCloud.class) +public abstract class AreaEffectCloudMixin extends Entity { + + public AreaEffectCloudMixin(EntityType pEntityType, Level pLevel) { + super(pEntityType, pLevel); + } + + @Shadow private Potion potion; + + @Shadow public abstract float getRadius(); + + @Shadow public abstract boolean isWaiting(); + + @Inject(at = @At("TAIL"),method = "tick",remap = false) + public void tick(CallbackInfo ci) { + int $$5 = isWaiting() ? 2 : Mth.ceil(3.1415927F * getRadius() * getRadius()); + float $$6 = isWaiting() ? 0.2F : getRadius(); + for(int $$7 = 0; $$7 < $$5; ++$$7) { + float $$8 = this.random.nextFloat() * 6.2831855F; + float $$9 = Mth.sqrt(this.random.nextFloat()) * $$6; + double $$10 = this.getX() + (double)(Mth.cos($$8) * $$9); + double $$11 = this.getY(); + double $$12 = this.getZ() + (double)(Mth.sin($$8) * $$9); + double $$17; + double $$18; + double $$22; + if (isWaiting()) { + $$17 = 0.0; + $$18 = 0.0; + $$22 = 0.0; + } else { + $$17 = (0.5 - this.random.nextDouble()) * 0.15; + $$18 = 0.009999999776482582; + $$22 = (0.5 - this.random.nextDouble()) * 0.15; + } + if(potion == TFMGPotions.HELLFIRE_POTION.get()) + this.level.addAlwaysVisibleParticle(ParticleTypes.FLAME, $$10, $$11, $$12, $$17, $$18, $$22); + if(potion == TFMGPotions.FROSTY_POTION.get()) + this.level.addAlwaysVisibleParticle(ParticleTypes.SNOWFLAKE, $$10, $$11, $$12, $$17, $$18, $$22); + } + + } +} diff --git a/src/main/java/com/drmangotea/createindustry/mixins/ArrowMixin.java b/src/main/java/com/drmangotea/createindustry/mixins/ArrowMixin.java index a3f6a4d1..ff208ece 100644 --- a/src/main/java/com/drmangotea/createindustry/mixins/ArrowMixin.java +++ b/src/main/java/com/drmangotea/createindustry/mixins/ArrowMixin.java @@ -2,6 +2,7 @@ package com.drmangotea.createindustry.mixins; import com.drmangotea.createindustry.registry.TFMGPotions; +import net.minecraft.core.particles.ParticleTypes; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.projectile.AbstractArrow; @@ -12,6 +13,7 @@ import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.item.alchemy.PotionUtils; import net.minecraft.world.item.alchemy.Potions; import net.minecraft.world.level.Level; +import net.minecraft.world.phys.Vec3; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -37,8 +39,22 @@ public abstract class ArrowMixin extends AbstractArrow { @Inject(at = @At("HEAD"),method = "tick",remap = false) public void tick(CallbackInfo ci) { - if(potion == TFMGPotions.HELLFIRE_POTION.get()) + Vec3 vec3; + vec3 = this.getDeltaMovement(); + double d5 = vec3.x; + double d6 = vec3.y; + double d1 = vec3.z; + if(potion == TFMGPotions.HELLFIRE_POTION.get()) { this.setSecondsOnFire(20); + for(int i = 0; i < 4; ++i) { + this.level.addAlwaysVisibleParticle(ParticleTypes.FLAME, this.getX() + d5 * (double)i / 4.0, this.getY() + d6 * (double)i / 4.0, this.getZ() + d1 * (double)i / 4.0, -d5, -d6 + 0.2, -d1); + } + } + if(potion == TFMGPotions.FROSTY_POTION.get()) { + for (int i = 0; i < 4; ++i) { + this.level.addAlwaysVisibleParticle(ParticleTypes.SNOWFLAKE, this.getX() + d5 * (double)i / 4.0, this.getY() + d6 * (double)i / 4.0, this.getZ() + d1 * (double)i / 4.0, -d5, -d6 + 0.2, -d1); + } + } } @Shadow diff --git a/src/main/java/com/drmangotea/createindustry/recipes/gas_blasting/GasBlastingRecipe.java b/src/main/java/com/drmangotea/createindustry/recipes/gas_blasting/GasBlastingRecipe.java new file mode 100644 index 00000000..e007c97f --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/recipes/gas_blasting/GasBlastingRecipe.java @@ -0,0 +1,77 @@ +package com.drmangotea.createindustry.recipes.gas_blasting; + +import com.drmangotea.createindustry.registry.TFMGRecipeTypes; +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder; +import com.simibubi.create.foundation.fluid.CombinedTankWrapper; +import com.simibubi.create.foundation.fluid.FluidIngredient; +import com.simibubi.create.foundation.item.SmartInventory; +import net.minecraft.core.NonNullList; +import net.minecraft.world.level.Level; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.capability.templates.FluidTank; + +public class GasBlastingRecipe extends ProcessingRecipe { + + public GasBlastingRecipe(ProcessingRecipeBuilder.ProcessingRecipeParams params) { + super(TFMGRecipeTypes.GAS_BLASTING, params); + } + + public FluidIngredient getInputFluid(){ + return getFluidIngredients().get(0); + } + public FluidIngredient getSecondInputFluid(){ + return getFluidIngredients().get(1); + } + + public FluidStack getFirstFluidResult(){ + return fluidResults.get(0); + } + public FluidStack getSecondFluidResult(){ + return fluidResults.get(1); + } + + public int getOutputCount(GasBlastingRecipe recipe){ + return recipe.fluidResults.toArray().length; + } + public NonNullList getResults(){ + return fluidResults; + } + + @Override + protected int getMaxFluidOutputCount() { + return 2; + } + + @Override + protected int getMaxInputCount() { + return 0; + } + + @Override + protected int getMaxFluidInputCount() { + return 2; + } + + @Override + protected int getMaxOutputCount() { + return 0; + } + + public boolean matches(FluidTank mainInv, FluidTank secondaryInv) { + if (mainInv.isEmpty() || secondaryInv.isEmpty()) + return false; + return fluidIngredients.get(0).test(mainInv.getFluid()) && fluidIngredients.get(1).test(secondaryInv.getFluid()); + } + public boolean matches(CombinedTankWrapper inv, Level worldIn) { + if (inv.getFluidInTank(0).getAmount()==0) + return false; + return fluidIngredients.get(0).test(inv.getFluidInTank(0)); + } + + @Override + public boolean matches(SmartInventory pContainer, Level pLevel) { + return false; + } + +} diff --git a/src/main/java/com/drmangotea/createindustry/recipes/jei/GasBlastingCategory.java b/src/main/java/com/drmangotea/createindustry/recipes/jei/GasBlastingCategory.java new file mode 100644 index 00000000..0cb206ee --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/recipes/jei/GasBlastingCategory.java @@ -0,0 +1,51 @@ +package com.drmangotea.createindustry.recipes.jei; + +import com.drmangotea.createindustry.recipes.gas_blasting.GasBlastingRecipe; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.compat.jei.category.CreateRecipeCategory; +import com.simibubi.create.foundation.gui.AllGuiTextures; +import mezz.jei.api.forge.ForgeTypes; +import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; +import mezz.jei.api.gui.ingredient.IRecipeSlotsView; +import mezz.jei.api.recipe.IFocusGroup; +import mezz.jei.api.recipe.RecipeIngredientRole; + +public class GasBlastingCategory extends CreateRecipeCategory { + public GasBlastingCategory(Info info) { + super(info); + } + + @Override + public void setRecipe(IRecipeLayoutBuilder builder, GasBlastingRecipe recipe, IFocusGroup focuses) { + builder + .addSlot(RecipeIngredientRole.INPUT, 25, 13) + .setBackground(getRenderedSlot(), -1, -1) + .addIngredient(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getInputFluid().getMatchingFluidStacks().get(0))) + .addTooltipCallback(addFluidTooltip(recipe.getInputFluid().getRequiredAmount())); + builder + .addSlot(RecipeIngredientRole.INPUT, 5, 13) + .setBackground(getRenderedSlot(), -1, -1) + .addIngredient(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getSecondInputFluid().getMatchingFluidStacks().get(0))) + .addTooltipCallback(addFluidTooltip(recipe.getSecondInputFluid().getRequiredAmount())); + + builder + .addSlot(RecipeIngredientRole.OUTPUT,140, 117) + .setBackground(getRenderedSlot(), -1, -1) + .addIngredient(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidResults().get(0))) + .addTooltipCallback(addFluidTooltip(recipe.getFluidResults().get(0).getAmount())); + + builder + .addSlot(RecipeIngredientRole.OUTPUT,160, 117) + .setBackground(getRenderedSlot(), -1, -1) + .addIngredient(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidResults().get(1))) + .addTooltipCallback(addFluidTooltip(recipe.getFluidResults().get(1).getAmount())); + } + + @Override + public void draw(GasBlastingRecipe recipe, IRecipeSlotsView iRecipeSlotsView, PoseStack matrixStack, double mouseX, double mouseY) { + AllGuiTextures.JEI_ARROW.render(matrixStack, 96, 121); + + AllGuiTextures.JEI_DOWN_ARROW.render(matrixStack, 45, 15); + + } +} diff --git a/src/main/java/com/drmangotea/createindustry/recipes/jei/TFMGJei.java b/src/main/java/com/drmangotea/createindustry/recipes/jei/TFMGJei.java index cca5d881..9e724578 100644 --- a/src/main/java/com/drmangotea/createindustry/recipes/jei/TFMGJei.java +++ b/src/main/java/com/drmangotea/createindustry/recipes/jei/TFMGJei.java @@ -4,6 +4,7 @@ package com.drmangotea.createindustry.recipes.jei; import com.drmangotea.createindustry.recipes.casting.CastingRecipe; import com.drmangotea.createindustry.recipes.coking.CokingRecipe; import com.drmangotea.createindustry.recipes.distillation.DistillationRecipe; +import com.drmangotea.createindustry.recipes.gas_blasting.GasBlastingRecipe; import com.drmangotea.createindustry.recipes.industrial_blasting.IndustrialBlastingRecipe; import com.drmangotea.createindustry.registry.TFMGBlocks; import com.drmangotea.createindustry.registry.TFMGFluids; @@ -89,8 +90,15 @@ public class TFMGJei implements IModPlugin { .catalyst(TFMGBlocks.CASTING_BASIN::get) .itemIcon(TFMGBlocks.STEEL_BLOCK.get()) .emptyBackground(177, 140) - .build("casting", CastingCategory::new) - + .build("casting", CastingCategory::new), + + gas_blasting = builder(GasBlastingRecipe.class) + .addTypedRecipes(TFMGRecipeTypes.GAS_BLASTING) + .catalyst(TFMGBlocks.BLAST_STOVE::get) + .doubleItemIcon(TFMGBlocks.BLAST_STOVE.get(), TFMGFluids.AIR.getBucket().get()) + .emptyBackground(177, 150) + .build("gas_blasting", GasBlastingCategory::new) + ; diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGBlockEntities.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGBlockEntities.java index 3e58da79..0c4a2a99 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGBlockEntities.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGBlockEntities.java @@ -2,6 +2,7 @@ package com.drmangotea.createindustry.registry; import com.drmangotea.createindustry.base.TFMGEncasedBlocks; import com.drmangotea.createindustry.base.TFMGPipes; +import com.drmangotea.createindustry.base.multiblock.FluidOutputBlockEntity; import com.drmangotea.createindustry.blocks.HalfShaftRenderer; import com.drmangotea.createindustry.blocks.cogwheeels.*; import com.drmangotea.createindustry.blocks.concrete.formwork.FormWorkBlockEntity; @@ -71,6 +72,7 @@ import com.drmangotea.createindustry.blocks.machines.flarestack.FlarestackBlockE import com.drmangotea.createindustry.blocks.machines.metal_processing.blast_furnace.BlastFurnaceOutputBlockEntity; import com.drmangotea.createindustry.blocks.machines.metal_processing.blast_furnace.BlastFurnaceRenderer; import com.drmangotea.createindustry.blocks.machines.metal_processing.blast_furnace.MoltenMetalBlockEntity; +import com.drmangotea.createindustry.blocks.machines.metal_processing.blast_stove.BlastStoveBlockEntity; import com.drmangotea.createindustry.blocks.machines.metal_processing.casting_basin.CastingBasinBlockEntity; import com.drmangotea.createindustry.blocks.machines.metal_processing.casting_basin.CastingBasinRenderer; import com.drmangotea.createindustry.blocks.machines.metal_processing.casting_spout.CastingSpoutBlockEntity; @@ -117,6 +119,11 @@ import static com.drmangotea.createindustry.CreateTFMG.REGISTRATE; public class TFMGBlockEntities { + + public static final BlockEntityEntry FLUID_OUTPUT = REGISTRATE + .blockEntity("fluid_output", FluidOutputBlockEntity::new) + .validBlocks(TFMGBlocks.FLUID_OUTPUT) + .register(); public static final BlockEntityEntry WELDING_MACHINE = REGISTRATE .blockEntity("welding_machine", WeldingMachineBlockEntity::new) @@ -314,7 +321,11 @@ public class TFMGBlockEntities { .validBlocks(TFMGBlocks.MACHINE_INPUT) .renderer(() -> MachineInputRenderer::new) .register(); - + + public static final BlockEntityEntry BLAST_STOVE = REGISTRATE + .blockEntity("blast_stove", BlastStoveBlockEntity::new) + .validBlocks(TFMGBlocks.BLAST_STOVE) + .register(); public static final BlockEntityEntry BLAST_FURNACE_OUTPUT = REGISTRATE .blockEntity("blast_furnace_output", BlastFurnaceOutputBlockEntity::new) diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGBlocks.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGBlocks.java index 14b8d241..b2a8636e 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGBlocks.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGBlocks.java @@ -1,6 +1,7 @@ package com.drmangotea.createindustry.registry; import com.drmangotea.createindustry.base.*; +import com.drmangotea.createindustry.base.multiblock.FluidOutputBlock; import com.drmangotea.createindustry.blocks.TFMGHorizontalDirectionalBlock; import com.drmangotea.createindustry.blocks.cogwheeels.TFMGCogWheelBlock; import com.drmangotea.createindustry.blocks.cogwheeels.TFMGCogwheelBlockItem; @@ -68,6 +69,8 @@ import com.drmangotea.createindustry.blocks.machines.firebox.FireboxBlock; import com.drmangotea.createindustry.blocks.machines.firebox.FireboxGenerator; import com.drmangotea.createindustry.blocks.machines.flarestack.FlarestackBlock; import com.drmangotea.createindustry.blocks.machines.flarestack.FlarestackGenerator; +import com.drmangotea.createindustry.blocks.machines.metal_processing.blast_stove.BlastStoveBlock; +import com.drmangotea.createindustry.blocks.machines.metal_processing.blast_stove.BlastStoveGenerator; import com.drmangotea.createindustry.blocks.machines.metal_processing.coke_oven.CokeOvenCTBehavior; import com.drmangotea.createindustry.blocks.machines.oil_processing.distillation.IndustrialPipeBlock; import com.drmangotea.createindustry.blocks.machines.oil_processing.distillation.controller.DistillationControllerBlock; @@ -527,7 +530,18 @@ public class TFMGBlocks { .register(); //-----------------------MACHINES---------------------------// - + + public static final BlockEntry FLUID_OUTPUT = REGISTRATE.block("fluid_output", FluidOutputBlock::new) + .initialProperties(SharedProperties::copperMetal) + .transform(TagGen.pickaxeOnly()) + .blockstate(simpleCubeAll("fluid_output")) + .properties(BlockBehaviour.Properties::noOcclusion) + .addLayer(() -> RenderType::cutoutMipped) + .item() + .build() + .register(); + + public static final BlockEntry LIGHT_BULB = REGISTRATE.block("light_bulb", LightBulbBlock::new) .initialProperties(() -> Blocks.IRON_BLOCK) @@ -1112,6 +1126,17 @@ public class TFMGBlocks { /////////// //Blast Furnace + + public static final BlockEntry BLAST_STOVE = REGISTRATE.block("blast_stove", BlastStoveBlock::new) + .initialProperties(() -> Blocks.BRICKS) + .properties(p -> p.color(MaterialColor.COLOR_RED)) + .properties(p -> p.requiresCorrectToolForDrops()) + .blockstate(new BlastStoveGenerator()::generate) + .transform(pickaxeOnly()) + .item() + .transform(customItemModel()) + .lang("Blast Stove") + .register(); public static final BlockEntry FIREPROOF_BRICKS = REGISTRATE.block("fireproof_bricks", Block::new) .initialProperties(() -> Blocks.BRICKS) @@ -1901,11 +1926,47 @@ public class TFMGBlocks { // .register(); - public static final BlockEntry CONCRETE = generateConcrete(); - - static { - generateCautionBlocks(); - } + public static final BlockEntry CONCRETE = REGISTRATE.block("concrete", Block::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate(simpleCubeAll("concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .transform(tagBlockAndItem("concrete")) + .build() + .lang("Concrete") + .register(); + + public static final BlockEntry CONCRETE_WALL = REGISTRATE.block("concrete_wall", WallBlock::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateWallBlockState(c, p, "concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.WALLS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(TFMGBlocks.CONCRETE.get()), c::get, 1)) + .item() + .transform(b -> TFMGVanillaBlockStates.transformWallItem(b, "concrete")) + .build() + .lang("Concrete Wall") + .register(); + + public static final BlockEntry CONCRETE_STAIRS = REGISTRATE.block("concrete_stairs", p -> new StairBlock(() -> TFMGBlocks.CONCRETE.get().defaultBlockState(), p)) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateStairBlockState(c, p, "concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.STAIRS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(TFMGBlocks.CONCRETE.get()), c::get, 1)) + .item() + .transform(b -> TFMGVanillaBlockStates.transformStairItem(b, "concrete")) + .build() + .lang("Concrete Stairs") + .register(); public static final BlockEntry CONCRETE_SLAB = REGISTRATE.block("concrete_slab", SlabBlock::new) @@ -1915,7 +1976,7 @@ public class TFMGBlocks { .transform(pickaxeOnly()) .blockstate((c, p) -> TFMGVanillaBlockStates.generateSlabBlockState(c, p, "concrete")) .tag(BlockTags.NEEDS_STONE_TOOL) - .tag(BlockTags.WALLS) + .tag(BlockTags.SLABS) .recipe((c, p) -> p.stonecutting(DataIngredient.items(TFMGBlocks.CONCRETE.get()), c::get, 2)) .item() .transform(customItemModel("concrete_bottom")) @@ -1923,8 +1984,49 @@ public class TFMGBlocks { .register(); - public static final BlockEntry REBAR_CONCRETE = withVariants("rebar_concrete", Blocks.STONE, - MaterialColor.COLOR_GRAY, BlockTags.NEEDS_DIAMOND_TOOL, SoundType.STONE, 40, true); + public static final BlockEntry REBAR_CONCRETE = REGISTRATE.block("rebar_concrete", Block::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.color(MaterialColor.COLOR_GRAY)) + .properties(p -> p.sound(SoundType.STONE)) + .properties(p -> p.strength(40, 40)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate(simpleCubeAll("rebar_concrete")) + .tag(BlockTags.NEEDS_DIAMOND_TOOL) + .transform(tagBlockAndItem("rebar_concrete")) + .build() + //.lang(displayName) + .register(); + + public static final BlockEntry REBAR_CONCRETE_WALL = REGISTRATE.block("rebar_concrete_wall", WallBlock::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.color(MaterialColor.COLOR_GRAY)) + .properties(p -> p.sound(SoundType.STONE)) + .properties(p -> p.strength(40, 40)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateWallBlockState(c, p, "rebar_concrete")) + .tag(BlockTags.NEEDS_DIAMOND_TOOL) + .tag(BlockTags.WALLS) + .item() + .transform(b -> TFMGVanillaBlockStates.transformWallItem(b, "rebar_concrete")) + .build() + .register(); + + public static final BlockEntry REBAR_CONCRETE_STAIRS = REGISTRATE.block("rebar_concrete_stairs", p -> new StairBlock(() -> TFMGBlocks.CONCRETE.get().defaultBlockState(), p)) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.color(MaterialColor.COLOR_GRAY)) + .properties(p -> p.sound(SoundType.STONE)) + .properties(p -> p.strength(40, 40)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateStairBlockState(c, p, "rebar_concrete")) + .tag(BlockTags.NEEDS_DIAMOND_TOOL) + .tag(BlockTags.STAIRS) + .item() + .transform(b -> TFMGVanillaBlockStates.transformStairItem(b, "rebar_concrete")) + .build() + .register(); public static final BlockEntry REBAR_CONCRETE_SLAB = REGISTRATE.block("rebar_concrete_slab", SlabBlock::new) .initialProperties(() -> Blocks.STONE) @@ -1935,220 +2037,13 @@ public class TFMGBlocks { .blockstate((c, p) -> TFMGVanillaBlockStates.generateSlabBlockState(c, p, "rebar_concrete")) .tag(BlockTags.NEEDS_STONE_TOOL) .recipe((c, p) -> p.stonecutting(DataIngredient.items(TFMGBlocks.REBAR_CONCRETE.get()), c::get, 2)) - .tag(BlockTags.WALLS) + .tag(BlockTags.SLABS) .item() .transform(customItemModel("rebar_concrete_bottom")) .lang("Rebar Concrete Slab") .register(); - public static BlockEntry generateConcrete() { - - - generateColoredConcrete(); - - - REGISTRATE.block("concrete_wall", WallBlock::new) - .initialProperties(() -> Blocks.STONE) - .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) - .properties(p -> p.requiresCorrectToolForDrops()) - .transform(pickaxeOnly()) - .blockstate((c, p) -> TFMGVanillaBlockStates.generateWallBlockState(c, p, "concrete")) - .tag(BlockTags.NEEDS_STONE_TOOL) - .tag(BlockTags.WALLS) - .recipe((c, p) -> p.stonecutting(DataIngredient.items(TFMGBlocks.CONCRETE.get()), c::get, 1)) - .item() - .transform(b -> TFMGVanillaBlockStates.transformWallItem(b, "concrete")) - .build() - .lang("Concrete Wall") - .register(); - - REGISTRATE.block("concrete_stairs", p -> new StairBlock(() -> TFMGBlocks.CONCRETE.get().defaultBlockState(), p)) - .initialProperties(() -> Blocks.STONE) - .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) - .properties(p -> p.requiresCorrectToolForDrops()) - .transform(pickaxeOnly()) - .blockstate((c, p) -> TFMGVanillaBlockStates.generateStairBlockState(c, p, "concrete")) - .tag(BlockTags.NEEDS_STONE_TOOL) - .tag(BlockTags.STAIRS) - .recipe((c, p) -> p.stonecutting(DataIngredient.items(TFMGBlocks.CONCRETE.get()), c::get, 1)) - .item() - .transform(b -> TFMGVanillaBlockStates.transformStairItem(b, "concrete")) - .build() - .lang("Concrete Stairs") - .register(); - - - return REGISTRATE.block("concrete", Block::new) - .initialProperties(() -> Blocks.STONE) - .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) - .properties(p -> p.requiresCorrectToolForDrops()) - .transform(pickaxeOnly()) - .blockstate(simpleCubeAll("concrete")) - .tag(BlockTags.NEEDS_STONE_TOOL) - .transform(tagBlockAndItem("concrete")) - .build() - .lang("Concrete") - .register(); - } - - - //this saved so much time - public static void generateColoredConcrete() { - String[] colours = {"black", "white", "blue", "light_blue", "red", "green", "lime", "pink", "magenta", "yellow", "gray", "light_gray", "brown", "cyan", "purple", "orange"}; - - - for (String color : colours) { - String firstLetter = color.substring(0, 1).toUpperCase(); - String colorWithoutC = color.substring(1); - - String upperCaseColor = firstLetter + colorWithoutC; - String light = "Light"; - if (upperCaseColor.contains(light)) { - String nameWithoutLight = upperCaseColor.substring(6); - - String firstLetter2 = nameWithoutLight.substring(0, 1).toUpperCase(); - String colorWithoutC2 = nameWithoutLight.substring(1); - - upperCaseColor = light + " " + firstLetter2 + colorWithoutC2; - - - } - REGISTRATE.block(color + "_concrete", Block::new) - .initialProperties(() -> Blocks.STONE) - .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) - .properties(p -> p.requiresCorrectToolForDrops()) - .transform(pickaxeOnly()) - .blockstate(simpleCubeAll(color + "_concrete")) - .tag(BlockTags.NEEDS_STONE_TOOL) - .item() - .build() - .lang(upperCaseColor + " Concrete") - .register(); - - - REGISTRATE.block(color + "_concrete_wall", WallBlock::new) - .initialProperties(() -> Blocks.STONE) - .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) - .properties(p -> p.requiresCorrectToolForDrops()) - .transform(pickaxeOnly()) - .blockstate((c, p) -> TFMGVanillaBlockStates.generateWallBlockState(c, p, color + "_concrete")) - .tag(BlockTags.NEEDS_STONE_TOOL) - .tag(BlockTags.WALLS) - .item() - .transform(b -> TFMGVanillaBlockStates.transformWallItem(b, color + "_concrete")) - .build() - .lang(upperCaseColor + " Concrete Wall") - .register(); - - REGISTRATE.block(color + "_concrete_stairs", p -> new StairBlock(() -> TFMGBlocks.CONCRETE.get().defaultBlockState(), p)) - .initialProperties(() -> Blocks.STONE) - .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) - .properties(p -> p.requiresCorrectToolForDrops()) - .transform(pickaxeOnly()) - .blockstate((c, p) -> TFMGVanillaBlockStates.generateStairBlockState(c, p, color + "_concrete")) - .tag(BlockTags.NEEDS_STONE_TOOL) - .tag(BlockTags.STAIRS) - .item() - .transform(b -> TFMGVanillaBlockStates.transformStairItem(b, color + "_concrete")) - .build() - .lang(upperCaseColor + " Concrete Stairs") - .register(); - - - REGISTRATE.block(color + "_concrete_slab", SlabBlock::new) - .initialProperties(() -> Blocks.STONE) - .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) - .properties(p -> p.requiresCorrectToolForDrops()) - .transform(pickaxeOnly()) - .blockstate((c, p) -> TFMGVanillaBlockStates.generateSlabBlockState(c, p, color + "_concrete")) - .tag(BlockTags.NEEDS_STONE_TOOL) - .tag(BlockTags.WALLS) - .item() - .transform(customItemModel(color + "_concrete_bottom")) - .lang(upperCaseColor + " Concrete Slab") - .register(); - - - } - } - - - public static void generateCautionBlocks() { - String[] colours = {"white", "blue", "light_blue", "red", "green", "lime", "pink", "magenta", "yellow", "gray", "light_gray", "brown", "cyan", "purple", "orange"}; - - - for (String color : colours) { - String firstLetter = color.substring(0, 1).toUpperCase(); - String colorWithoutC = color.substring(1); - - String upperCaseColor = firstLetter + colorWithoutC; - String light = "Light"; - if (upperCaseColor.contains(light)) { - String nameWithoutLight = upperCaseColor.substring(6); - - String firstLetter2 = nameWithoutLight.substring(0, 1).toUpperCase(); - String colorWithoutC2 = nameWithoutLight.substring(1); - - upperCaseColor = light + " " + firstLetter2 + colorWithoutC2; - - - } - - REGISTRATE.block(color + "_caution_block", TFMGHorizontalDirectionalBlock::new) - .initialProperties(() -> Blocks.COPPER_BLOCK) - .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) - .properties(p -> p.requiresCorrectToolForDrops()) - .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) - .transform(pickaxeOnly()) - .blockstate((c, p) -> p.horizontalBlock(c.get(), p.models() - .withExistingParent(c.getName(), p.modLoc("block/caution_block")) - .texture("0", p.modLoc("block/caution_block/" + color)) - .texture("particle", p.modLoc("block/caution_block/" + color)) - )) - .tag(BlockTags.NEEDS_STONE_TOOL) - .item() - .build() - .lang(upperCaseColor + " Caution Block") - .register(); - - - //REGISTRATE.block(color + "_caution_block_stairs", p -> new StairBlock(()-> TFMGBlocks.CONCRETE.get().defaultBlockState(),p)) - // .initialProperties(() -> Blocks.COPPER_BLOCK) - // .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) - // .properties(p -> p.requiresCorrectToolForDrops()) - // .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) - // .transform(pickaxeOnly()) - // .blockstate((c, p) -> TFMGVanillaBlockStates.generateStairBlockState(c, p, color + "_caution_block")) - // .tag(BlockTags.NEEDS_STONE_TOOL) - // .tag(BlockTags.STAIRS) - // .item() - // .transform(b -> TFMGVanillaBlockStates.transformStairItem(b, color + "_caution_block")) - // .build() - // .lang(upperCaseColor + " Caution Block Stairs") - // .register(); -// -// -// - //REGISTRATE.block(color + "_caution_block_slab", SlabBlock::new) - // .initialProperties(() -> Blocks.COPPER_BLOCK) - // .properties(p -> p.color(MaterialColor.COLOR_LIGHT_GRAY)) - // .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) - // .properties(p -> p.requiresCorrectToolForDrops()) - // .transform(pickaxeOnly()) - // .blockstate((c, p) -> TFMGVanillaBlockStates.generateSlabBlockState(c, p, color + "_caution_block")) - // .tag(BlockTags.NEEDS_STONE_TOOL) - // .tag(BlockTags.WALLS) - // .item() - // .transform(customItemModel(color+"_caution_block_bottom")) - // .lang(upperCaseColor + " Caution Block Slab") - // .register(); - - - } - } - - public static BlockEntry withVariants(String name, Block properties, MaterialColor color, TagKey toolRequired, SoundType sound, int strenght, boolean wall) { @@ -2211,5 +2106,6 @@ public class TFMGBlocks { public static void register() { TFMGEncasedBlocks.register(); TFMGPipes.register(); + TFMGColoredBlocks.register(); } } diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGEntityTypes.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGEntityTypes.java index 6126a902..adf23247 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGEntityTypes.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGEntityTypes.java @@ -20,6 +20,7 @@ import com.tterrag.registrate.util.nullness.NonNullFunction; import com.tterrag.registrate.util.nullness.NonNullSupplier; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.world.entity.AreaEffectCloud; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MobCategory; @@ -57,13 +58,16 @@ public class TFMGEntityTypes { public static final EntityEntry BLUE_SPARK = register("blue_spark", BlueSpark::new, () -> BlueSparkRenderer::new, MobCategory.MISC, 4, 20, true, true, BlueSpark::build).register(); + + public static final EntityEntry COOL_SPARK = + register("cool_spark", CoolSpark::new, () -> CoolSparkRenderer::new, + MobCategory.MISC, 4, 20, true, true, CoolSpark::build).register(); public static final EntityEntry LITHIUM_SPARK = register("lithium_spark", LithiumSpark::new, () -> LithiumSparkRenderer::new, MobCategory.MISC, 4, 20, true, true, LithiumSpark::build).register(); // - - + private static CreateEntityBuilder register(String name, EntityType.EntityFactory factory, NonNullSupplier>> renderer, diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGFluids.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGFluids.java index 0e5b9806..c712c448 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGFluids.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGFluids.java @@ -54,6 +54,7 @@ public class TFMGFluids { public static final FluidEntry AIR = gas("air"), + HEATED_AIR = gas("heated_air"), CARBON_DIOXIDE = gas("carbon_dioxide"), ETHYLENE = gas("ethylene"), @@ -61,7 +62,8 @@ public class TFMGFluids { PROPANE = gas("propane",TFMGTags.TFMGFluidTags.FLAMMABLE.tag), BUTANE = gas("butane",TFMGTags.TFMGFluidTags.FLAMMABLE.tag), LPG = gas("lpg",TFMGTags.TFMGFluidTags.LPG.tag,TFMGTags.TFMGFluidTags.FLAMMABLE.tag), - NEON = gas("neon") + NEON = gas("neon"), + BLAST_FURNACE_GAS = gas("blast_furnace_gas",TFMGTags.TFMGFluidTags.FLAMMABLE.tag) ; public static final FluidEntry CRUDE_OIL = flammableFluid("crude_oil",TFMGTags.TFMGFluidTags.CRUDE_OIL.tag), diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGMobEffects.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGMobEffects.java index 1726fea6..299dfad6 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGMobEffects.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGMobEffects.java @@ -2,9 +2,18 @@ package com.drmangotea.createindustry.registry; import com.drmangotea.createindustry.CreateTFMG; +import com.drmangotea.createindustry.base.effects.FrostyEffect; import com.drmangotea.createindustry.base.effects.HellFireEffect; +import com.drmangotea.createindustry.base.util.ProperBrewingRecipe; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffectCategory; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.alchemy.Potion; +import net.minecraft.world.item.alchemy.PotionUtils; +import net.minecraft.world.item.alchemy.Potions; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraftforge.common.brewing.BrewingRecipeRegistry; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; @@ -16,9 +25,25 @@ public class TFMGMobEffects { public static final DeferredRegister MOB_EFFECTS = DeferredRegister.create(ForgeRegistries.MOB_EFFECTS, CreateTFMG.MOD_ID); public static final RegistryObject HELLFIRE = MOB_EFFECTS.register("hellfire", () -> new HellFireEffect(MobEffectCategory.HARMFUL, new Color(150, 0, 0, 200).getRGB())); - - + public static final RegistryObject FROSTY = MOB_EFFECTS.register("frostbite", () -> new FrostyEffect(MobEffectCategory.HARMFUL, new Color(153, 233, 238, 200).getRGB())); + + public static void register(IEventBus modEventBus){ MOB_EFFECTS.register(modEventBus); } + + public static ItemStack createPotion(RegistryObject potion){ + return PotionUtils.setPotion(new ItemStack(Items.POTION), potion.get()); + } + + public static ItemStack createPotion(Potion potion){ + return PotionUtils.setPotion(new ItemStack(Items.POTION), potion); + } + + public static void init(){ + BrewingRecipeRegistry.addRecipe(new ProperBrewingRecipe(Ingredient.of(createPotion(Potions.AWKWARD)), Ingredient.of(TFMGItems.LITHIUM_INGOT.get()), createPotion(TFMGPotions.HELLFIRE_POTION))); + BrewingRecipeRegistry.addRecipe(new ProperBrewingRecipe(Ingredient.of(createPotion(Potions.AWKWARD)), Ingredient.of(Items.BLUE_ICE), createPotion(TFMGPotions.FROSTY_POTION))); + BrewingRecipeRegistry.addRecipe(new ProperBrewingRecipe(Ingredient.of(createPotion(TFMGPotions.HELLFIRE_POTION)), Ingredient.of(Items.REDSTONE), createPotion(TFMGPotions.LONG_HELLFIRE_POTION))); + BrewingRecipeRegistry.addRecipe(new ProperBrewingRecipe(Ingredient.of(createPotion(TFMGPotions.FROSTY_POTION)), Ingredient.of(Items.REDSTONE), createPotion(TFMGPotions.LONG_FROSTY_POTION))); + } } diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGPackets.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGPackets.java index 5f5a4f3c..33476ad2 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGPackets.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGPackets.java @@ -2,8 +2,10 @@ package com.drmangotea.createindustry.registry; import com.drmangotea.createindustry.CreateTFMG; import com.drmangotea.createindustry.items.weapons.advanced_potato_cannon.AdvancedPotatoCannonPacket; +import com.drmangotea.createindustry.items.weapons.flamethrover.FlamethrowerFuelTypeManager; import com.drmangotea.createindustry.items.weapons.quad_potato_cannon.QuadPotatoCannonPacket; +import com.simibubi.create.content.equipment.potatoCannon.PotatoProjectileTypeManager; import com.simibubi.create.foundation.networking.SimplePacketBase; import net.minecraft.core.BlockPos; import net.minecraft.network.FriendlyByteBuf; @@ -24,7 +26,8 @@ import static net.minecraftforge.network.NetworkDirection.PLAY_TO_CLIENT; public enum TFMGPackets { ADVANCED_POTATO_CANNON(AdvancedPotatoCannonPacket.class, AdvancedPotatoCannonPacket::new, PLAY_TO_CLIENT), - QUAD_POTATO_CANNON(QuadPotatoCannonPacket.class, QuadPotatoCannonPacket::new, PLAY_TO_CLIENT) + QUAD_POTATO_CANNON(QuadPotatoCannonPacket.class, QuadPotatoCannonPacket::new, PLAY_TO_CLIENT), + SYNC_FLAMETHROWER_FUEL_TYPES(FlamethrowerFuelTypeManager.SyncPacket.class, FlamethrowerFuelTypeManager.SyncPacket::new, NetworkDirection.PLAY_TO_CLIENT), ; public static final ResourceLocation CHANNEL_NAME = CreateTFMG.asResource("main"); diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGPotions.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGPotions.java index b5325b03..9a58b75a 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGPotions.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGPotions.java @@ -14,6 +14,15 @@ public class TFMGPotions { public static final RegistryObject HELLFIRE_POTION = POTIONS.register("hellfire_potion", () -> new Potion(new MobEffectInstance(TFMGMobEffects.HELLFIRE.get(), 600, 0))); + + public static final RegistryObject LONG_HELLFIRE_POTION = POTIONS.register("long_hellfire_potion", + () -> new Potion(new MobEffectInstance(TFMGMobEffects.HELLFIRE.get(), 1800, 0))); + + public static final RegistryObject FROSTY_POTION = POTIONS.register("frostbite_potion", + () -> new Potion(new MobEffectInstance(TFMGMobEffects.FROSTY.get(), 600, 0))); + + public static final RegistryObject LONG_FROSTY_POTION = POTIONS.register("long_frostbite_potion", + () -> new Potion(new MobEffectInstance(TFMGMobEffects.FROSTY.get(), 1800, 0))); diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGRecipeTypes.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGRecipeTypes.java index 4ac4a745..ef64d51a 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGRecipeTypes.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGRecipeTypes.java @@ -6,6 +6,7 @@ import com.drmangotea.createindustry.blocks.machines.simple.welding_machine.Weld import com.drmangotea.createindustry.recipes.casting.CastingRecipe; import com.drmangotea.createindustry.recipes.coking.CokingRecipe; import com.drmangotea.createindustry.recipes.distillation.DistillationRecipe; +import com.drmangotea.createindustry.recipes.gas_blasting.GasBlastingRecipe; import com.drmangotea.createindustry.recipes.industrial_blasting.IndustrialBlastingRecipe; import com.google.common.collect.ImmutableSet; import com.simibubi.create.AllTags; @@ -37,7 +38,8 @@ CASTING(CastingRecipe::new), INDUSTRIAL_BLASTING(IndustrialBlastingRecipe::new), COKING(CokingRecipe::new), DISTILLATION(DistillationRecipe::new), -WELDING(WeldingRecipe::new) +WELDING(WeldingRecipe::new), +GAS_BLASTING(GasBlastingRecipe::new) ; private final ResourceLocation id; diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGTags.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGTags.java index fa4cfa84..4267346c 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGTags.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGTags.java @@ -230,9 +230,50 @@ public class TFMGTags { private static void init() {} } + + public enum TFMGBlockTags { + AIR_INTAKE_TRANSPARENT, + ; + + public final TagKey tag; + public final boolean alwaysDatagen; + + TFMGBlockTags() { + this(MOD); + } + + TFMGBlockTags(TFMGTags.NameSpace namespace) { + this(namespace, namespace.optionalDefault, namespace.alwaysDatagenDefault); + } + + TFMGBlockTags(TFMGTags.NameSpace namespace, String path) { + this(namespace, path, namespace.optionalDefault, namespace.alwaysDatagenDefault); + } + + TFMGBlockTags(TFMGTags.NameSpace namespace, boolean optional, boolean alwaysDatagen) { + this(namespace, null, optional, alwaysDatagen); + } + + TFMGBlockTags(TFMGTags.NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) { + ResourceLocation id = new ResourceLocation(namespace.id, path == null ? Lang.asId(name()) : path); + if (optional) { + tag = optionalTag(ForgeRegistries.BLOCKS, id); + } else { + tag = BlockTags.create(id); + } + this.alwaysDatagen = alwaysDatagen; + } + + public boolean matches(BlockState state) { + return state.is(tag); + } + + private static void init() {} + + } public static void init() { - // TFMGBlockTags.init(); + TFMGBlockTags.init(); // TFMGItemTags.init(); TFMGFluidTags.init(); TFMGEntityTags.init(); diff --git a/src/main/resources/assets/createindustry/lang/default/interface.json b/src/main/resources/assets/createindustry/lang/default/interface.json index 05fe224c..7e672a83 100644 --- a/src/main/resources/assets/createindustry/lang/default/interface.json +++ b/src/main/resources/assets/createindustry/lang/default/interface.json @@ -102,7 +102,13 @@ "item.minecraft.lingering_potion.effect.hellfire_potion": "Lingering Potion of Hellfire", "item.minecraft.tipped_arrow.effect.hellfire_potion": "Arrow of Hellfire", + "item.minecraft.potion.effect.frostbite_potion": "Potion of Frostbite", + "item.minecraft.splash_potion.effect.frostbite_potion": "Splash Potion of Frostbite", + "item.minecraft.lingering_potion.effect.frostbite_potion": "Lingering Potion of Frostbite", + "item.minecraft.tipped_arrow.effect.frostbite_potion": "Arrow of Frostbite", + "effect.createindustry.hellfire": "Hellfire", + "effect.createindustry.frostbite": "Frostbite", "create.wires.removed_data": "Data Removed", diff --git a/src/main/resources/assets/createindustry/models/block/blast_stove/block.json b/src/main/resources/assets/createindustry/models/block/blast_stove/block.json new file mode 100644 index 00000000..93572e19 --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/blast_stove/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "createindustry:block/blast_stove", + "1": "createindustry:block/fireproof_bricks", + "particle": "createindustry:block/blast_stove" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/blast_stove/block_running.json b/src/main/resources/assets/createindustry/models/block/blast_stove/block_running.json new file mode 100644 index 00000000..bc42231e --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/blast_stove/block_running.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "createindustry:block/blast_stove_running", + "1": "createindustry:block/fireproof_bricks", + "particle": "createindustry:block/blast_stove_running" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/blast_stove/item.json b/src/main/resources/assets/createindustry/models/block/blast_stove/item.json new file mode 100644 index 00000000..5f37e4ea --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/blast_stove/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "createindustry:block/blast_stove", + "1": "createindustry:block/fireproof_bricks", + "particle": "createindustry:block/blast_stove" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/textures/block/blast_stove.png b/src/main/resources/assets/createindustry/textures/block/blast_stove.png new file mode 100644 index 0000000000000000000000000000000000000000..0731c512df60b0772c8d761f28f18f709e589073 GIT binary patch literal 278 zcmV+x0qOpUP)otqe@40}KCuL(o~e=n{fN#BjA^ySC49+-o>R;Bnl? z+paTRZ8aaxgoA^a)?K`AgGsfkkI9Jt6To;`d2_0yuIDliaO4H!I8HwSv8bMAfc9Vv z;SlHf9=+crsX8QLNYgq{etmzA%ks2fO4T6|gJLNGK1k9^fwRbF&_dy34_YZ?*T{Ct zR=q>nGXMYp literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createindustry/textures/block/blast_stove_running.png b/src/main/resources/assets/createindustry/textures/block/blast_stove_running.png new file mode 100644 index 0000000000000000000000000000000000000000..b0f4dcffe861ad3466f5d9f10982e3a59fc9a59e GIT binary patch literal 272 zcmV+r0q_2aP)qJinZcI2^Vlzz0cMC9oH+2T{2Z$J=mo&?>=QBg?5v{RTD> zunJI0iv+}Spj;E9awCos>=tyYC`G#*tu@vX=<6alAF%ZcrEHVHX7C3EPvMEm)As=z W{Fa4eZC_*n0000V0y%|;uwR*lc}!wNUNOA4 zyYps0*(B9`YQSMKvh6VQyZX9fu!#f#qUdL~9OQngUt<&_f&hYxUK&o`)z)|rP(pnw z?RBjj@5kA!zBq8F9~>1=*cS{Cp2wZtighRM<;FSSB72wt`hzNhAnwOATcvpe@TmZ2 z5(HqNR0y;m6A%Cg$$|jOffN1y697kt8D~1y?#gum{ksV62hR2%%C@})4ucOA%)*T7XY2!Lio>Lc`WcJ> O0000W* zh@o7j-YQXy#73|b6)55cs^ez-p2Yo-!ZXcTwGjy7Urf`j#dO07my3e za}*_1FaG4>66vxqC0r%n${hB7u&8q!>@0cuW%%f(&#p$E*}Pksn%J(ak@Mw~MIbAh z$J*N3dY4iCqr?48_}{72+g~1S{JQb^cEtXM4eRZ_`u*VEh^;@deWMYF`x{dwU4|JQ zQW++RTeZHK$nw#}#XQxd*t37=+f%aTH@9jvU;o;u8+qq?S%eZsM8I8~=jkmS`{j=6n8eSX8Om1hl%6o!(4! zwlo({j(5Dh_1Xt=0c%3l9#~)de!9N)adLrq$FI7o|F^@Q*wX5!Fe@h*DZt6s4WRPz zGwj=0DZ2gGMPQ0m!9e6?_K-Z&d_I@I+D_kw)D18DkxCb^aCz0(E~}aLY@ll9qkh}q zRaeco*7Bo=N7?k%A0F&Ncb02b4o)!6Y6|QuRg8L+^a!MvU4IbWe{=RP)XO2+r}r0r z-o2O$sZlO4@H!+^^E4+V#u5y<(kb=aZ;%|xj|psGQrhcdAQnt+_#K95H;Xc1e4wTJ zv66U-$L>A{FQAPXx+X0cTS;FS0|kTG!fhqKhu;=x#hM^fYP2n~|L9dge$gWv(K(9{6x zXkPFXWPYZTw(LMj5*d2cB|k0 zTe8g!7vF$PUMq>1LH*(HrIP0dLkO6OCAiHh?-Jf24C)b#OVeDA`H zOFi}?AtbbYlJ@oJ$e~M8Q*s2sgd{uPitMeis24;Wer;r7ew?z(=rd9DoS;BN0wVg* zB1aeCKgko|H9-*W=Z2T34SQ#1=8~E1I%%-stI8=aC!%AtVAKC98mRBeA8?q_Si`TB zUf(6$`}q7PB?BzXOu88P2?UTpukvBmouSS|Lw0IwPNSQp+6&UMl>7TQAqz6M!9HcfNQ4s-t|~s3Wvbcbuf#-3l~n4v1cu*kl`~lh?64(ZevtOQaQO2 z*GPd_Wo~wcf9oxiH1u0_cK8LXqFU>k;Wc66I7C)c!(I;nKzgB_C*I+_m#4L#0F}KdqFFdB*KAxmu7;J|)~WR@&_=Ggy6IZv2Kn3>24NI_`+DIj|HpUT zk%L8ogCZ0d|BOPBsf+c2GJB-Yu(Qv#^I`xE(qUVwzoq0{Zv(W;pPO!E*5ajGwRB6zc0PU4Gn+6u;+(s6;l#}vnvs{0yrMU;6)4=C{}X)M%@PR0M(pb)QB)!pt{| zujsfxb>Neej{}#Y!N@`tEBqw{@uYd5%bG~5{!M+L>npKVLjU0}7Tx`^;w7 z+$EI6Ivt>daW&w>cTrSWL7LmO_17icqWA!vmDoho?87%Nd8L~SNbMP_KnTy6!rNSP#f#| zK#NDA@@v?J^z}4JT$00=fIM9@r6igXu?=bypKf7A9Skh`b6v<%5%i+>4Idib1T0MC z=1-uRb@#v-Dotm?+z34T@hWa}$4!c(crjZ-Ms)~261i~yp3+m;wuw*Jjqu{HVXub9 z2@|d?suXGt@ao*a)P15_QQq*tgvEca7aA=;MzJWUF){Ac&*n|hT^R)5orAF`{l0H? z-E-}Nq9S(ibrxv3F#FT&DRJS+Ls3k&vkr#L6an1APd>h$nOg2)$Ybo>%ndJAOd*jO zaxWfD!!cBFp+T}zfz+jY`Fg5Df1<307G7jw?VG%8b+j<0*D#a^5;$m(+}2b3$la6} z9VJx1?^71$;*uTSo__g;3ryOvTrN(On)hEdg(jYGH!hgzvoh$TaFYsSJ9Ksx^|Dn$4LMMo4+z7d%JPRTzoBwZc_FM|qt(u!nwM1;-bePAJB(>o`gbd7E76iT{`n>9p7e1J+I>qlwUz|%VOG5(& zu&AnFKJ(L?&eH-+l0Slpz&VRHNF>N`=}Gz)c1Eng?a15HHA;!vZ?n4`skb=zFD3oS zzkxnONuT_sD862%avxOMrWc7gx_(?~1&3kPHR6E7(;(3UMN-+r2A(pG*f;}`jP^^i zX3~6D+Exs`yq7JlG}U9!L<^&N?fuiZNbdcg(F%HGwy3j!2bq2SzCS0jYp-JNEG}+r zUBen(Q6&;MvHa4)jc519Woe?g+%v$g_tc#z*tg1=CX3U7&ofUG(dA$ShAWLvP6nG{ zpW$!05v9CN>%Z#`p1f4bd;BNjq8*~)jes1FM7IvSEMcg9j~lMxP3fre^J&DYzLAo= z6@_&g^!HwH9cTazs(&}F`1{2SPxf17{2@AEanY z{;Rb{tt`_s!-^k{$)nNm(tmdMQ=^p07c3g6ihPi765KLenEO#?RXI-F_6B5x(eJBr zIzZkb6-?7>dTwKJzrrsv8_>Rg)%76op>gzu|Jl#I@?3q-ALwo_>|qN;D;e{hK{okH zXSZ+|pW+xpqvM1Em%BHNyUlGT0ODtFXKLn!`~E@0*)?Q#V(GRy5tF-lx@x+ zC+$Le?S9umE5``8GfXoMU$`6YUXoychzDOk(Bwy64CvUaWY=?HsRMkcFpVer??`1- z2kK&)s(pK$x9_EE4c1btzT>Gn7zJ@UJ7}E~XX2*(woNorn!Qnb19gVX$iMauTmG({ z#?6OK`yS&Gn!7L7S(m3 zf(d4`0$ipQAtYc4#%$xh;pw=oks+V~Nb%#HWkpP&p03=7C^k1dSTWdkUt zujPNi(E`ca6v&WQi2?t&x}T!@WQ0alJxMO|L}q;AjK2{#_-gW%`o#G7qQd%oFI?+j z6PF2cv_$Wi7+i4Q4jD7E8Q;$BAR1~|`4xn6GTiZ4Rl&`UYZ#%Ziap6CTgTzGwy%vJ zn9sA+(S{^oliTB0{kjc&`UP37>Q0(`}yGB=u zgTVjPa9193#-6^lO}sNcM(`{4zTv8SopiE67}pQ{7Y_D)oBM(|FZrQPG*ec+*?*bn0o>G|ZlK&@=mvg&r-Cg5 z9>9-O_njN=o4|$?vnv_iqhBeghaCLo)L^|J(Ixu0r2VWd&iqNBSE(MdTz0}(vxJHQ z_5ghDtc*p)tNG%f4b)t6QpecGRjx3Dad(wK4x>hG^Q|ujU24})W=7|k$_?I+g|rjR zd?*n0_0RPO5AA$$oNmaY*OZtXuc2D9Lvy zu`Tj^mW`*>uAvBAOc*MHGw0FK)V%yT_KJMbd^ALTIKBpLhA27xifd5uWW(K@@cO(G zEixCxaWg_FC+~>k+v;5`O1s|uF#_v%`ucE9Jk3&oS~Zt_R1#S1Iw_ap>x77MQsDO8;e74 zBZ8dbVu)>1&4H;!v-d7SVG_9eC98~KZ?j&HFpSoTiv=AFv&w;+8OFt&SLJoF%n+3! zGTS&kSn>Rkiq_~Rvnv^wc1o+q0C@szQ8lySK-QlcoTL^dRGZM?x0_2w1f0`P7lRL` z=hi!rrZ)K>P|vq+3yaiJ2YY=z$j*UGE-B&2N+$=`)y!~J%>h)G*fgWk(;Vy_Qog~ zJ5$`4PJwI(#6pI?c^n-3Ym4iL3xof@d4tArl3wznrL!eN_32WrT0u$ZAL_WTpk*fx z!wBy3tA7A^upVKSYC$4JENrb?Ktk^e~ z9X^OjIp=PyoyxaDt8AA57EkJ&(`TcoB1iDNPc`IhB|Z zk;)z26*@({J3(kouz!D~&Mh&@8HD`>2$|g%!d~n$aVd7uOf}Jtcl5SXa zHc1j^V_I+lcOxij8>sLplY1UOIjgWBfO-4Va&;6L!cyjSJF-K)4WRJRD!AfQ1qb^? zjz)vbM*IOB`)auStEHgVjUe(+JtJW1bb@2oz4e_KUrz!hWa|lo1tNw&+8S9Bm$DpM z);=Nr>hi7F*RF2)7d^KG0x3B?mIBT z@ZcT}U&@j;KE3qX?78YASy;Y5$ENA;gfZ%b4S12^cLew7hnS#W0Lctqf8KRyAv@}w z)5>=tpLR(cmbzj^HEae=SGrDK(eW8}ytj%q)i7&!6`WS}=G%;fh^Pn2Xk+fEgie$D z8tFCYARp2+2m?jIs_&QgLU8>aC3k#=U)0GkRslB<77@;nZef~kg zFiQZTRGH!YIcGX{aT_8W`A^s3ivJsp&YA=K>gX_*PLB{eF!2< znfrRkxp}#ESh#6EIS=e7C;3kh{@vm@`@n+?bR}>}n?%5;rHBbauXNaj5Lm1DmLGry zX^G}H7q$w!x}G79|49prfh_Z)AXYt5XHor$c0b72X5zU53WTUndTm%3*~Yp%V}2MXT@p-B@?@M(QmTYZ@up)}WSC#4P5Y7FeS?KsQL=V5pa0)KEQ z1g}0NGwFoGDo$!jdjxftJrl2;ab#qEmKa(#W4wER9$&-uQ!DFWz1}FokL~Gp8GKXb z!2QpWMS_lu(IcM42iA@_uP5hQCf6n+^1hp0Gxvfd{iZ++csPu-KQe;P6mTnWd-G@S zH9`e*wUT|^_g`D?b=)C&fm?U|7LNMuoq&jnXgwi0xq#Rt0rvZ$3BL)uKUbfs6}9aY zF~Z>?s&QDabN@Swq#U12yUo%H`kQjNoCRlrQ2qpHZy)r>eRga63qY#t0=|09`~BLNC95u5vAiH29xeSd&vr6U!gVzE0*G`ygy9Fk&mH2RaKvK>hv z|M(N~aTZQjL^_<#47@m_jfv|niZqf~N}|Y3su2%cfP}?171L8`BduY2BN_THJ0Euf zeOkCTMpWZs;P16anl!GLF;E$?|k}VF1mP+8?LaxI=x!1gUba;dC%|5#-i)RVw{-?8{WF4hEXzx{W<*k2HX& z=h*`v?--A+1`7S-ri$PX_M-&I02>Hh9qJz}3!avbt7GS|K8E}K7!*BH|3Kp}3@(L_ zYQ{ZH;3AOQ>#JqGYA1u}5100S<5hxeU7rhiN?Mj4jsXts+*CbCQtrxz6o^y0LkV7S z%851?A5YLZ@;HnWM05#?6i|lJ9~QZbYt6|otIv#2F+*21l47{=Xqa)N$A}V=O^$?q zJ9B)`b71@C&A5M#X-XK^=l-t#9BhPG%=6aRqvxB|Gei1#YhUE2vT9pR`X3J#Ja)lv zCO^SsNVaEZYMbE@Vp~yKmDpv}lout29CY*{4%lH^^gHEpg8!6qPe0@8wx&9yJPV_i z!OlmvIcj%|D4?HiPZ&RWC+Sw4#MDWgc_W)X3xF>xq`Q_Ik9+j)Y0Q=$nbCqGx#*qU zR}{$Jce4)DNVvlVVecHpDZd=+o4ZPtjz`0WT~H!jo0iBi+AUGtNL@**e&HSy?O0{X zZo*U8i^t%DD=g4zx?c~=m4Gj0i`@9=n&kLdg&5UH0egUvowQ|ldMgbL(SNHV}d zEka;5%^*b$KUzlT3S7ti`3V7K>la(+*m{n;-LJUL+vQtub^--C>qVclYyw6hc|xR{ zHIgumw=!Sz;Ru(158PcDUR)P_a%2~X4?kxfwgk~h+~p^_JNHn5(OyU;=v8?U&1KK` zc_7J3doCCqJ?(&tJ4wd6--4aD6TVIt)Ad`$+nbz~B$d{lk`SI8$+1#NVt+9rGy6~{ z`|Q&%s!aaqq*66TV>_2qY+e{OQ}!LlT-w8XU8i{8C3l=jF4L9T*J?=?KzNTV4!*v+ zq2$Uo;}w?Up{f1u;z!}wYegO$d{c@w%DH`mAAWTfT(ti;5&KD`I;34`f!DPUZxXU; ztcg6M9=A=eA*#E^u?{|WK=lsmH`O*PRg!v9!Qj>kF=uYZWqJDWZ4T3?+Y%uJTXuAj zCD=lC>i_rYVug>4kHta+3lyMoU)f6q4O>=oQ3^rAi(gqeK<`|rRXr3^kkVjFwC(v# zDUg{I8+vjY6j956DoWr%14x^3e+!+nXP|Hpu>z)XEv3c&& Ti;_n_99$OXtW67youmH`-16sF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createindustry/textures/fluid/blast_furnace_gas.png.mcmeta b/src/main/resources/assets/createindustry/textures/fluid/blast_furnace_gas.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/createindustry/textures/fluid/blast_furnace_gas.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/createindustry/textures/fluid/heated_air.png b/src/main/resources/assets/createindustry/textures/fluid/heated_air.png new file mode 100644 index 0000000000000000000000000000000000000000..449aa2b2887263ab89487c2aced8c0805b2f7b44 GIT binary patch literal 11675 zcmW-nc{o&WAI8tjV62Tu)@DXVV<}r@i!qiM^g~E?V+)Zr*#@J@E`~_fMp;V|3fYFT zXNj`!yX^bU>w3>W=UmtM=Q-DT&VBCtbAKcCbTn8Pc^ClzV9~^>>7Soj0e}Xer#rt| zcs#fW05@zj)szi=Eo(B&UJDFeO05Ag1}toP0SO5OMkZM#9bGjF9aMaS~xyJoCF5d@3tCDBRHW0eZ) zPG-f3Uph0v`$xkkQ|nXB8!Lz#EC~nswje(9!s(T)2&s2VZfDhNHvoHS?Fb-!HBJJA z_p;nSLKvj5iUYwGOu|FUbowK8}1J18# zxEtVU7Uj!IpxAFc`m zOS%Z_%v6rW*WZ4^AtYTwatLbb zxZV1`FjU4^oBze*TY#SW@5tqP;Uz^#@R5M0!Ssk0#X<<64}fMe2UttM6;{| z40o)6T1suoY!jerx@RaL7aQ$)E@s@>4IcS4tr@#*pss(xS6vKt>Y-v|(tq}r+X%j5{ov0}3nbEYTA^ZLb_e!RE=IS+| zrDEU#GX6u=A|f)5Gq z`u8Le%K`*)+uJFKaOOUM6uuwQ7Q()(=5iv8INtFnaVs{mgqamJS)HX3$nUsb!Ipy{ zPB6=TZl?fbR&_<~0j0^$9n@^mL)R803G|gfydgJ=GhfYwGK%iT@}d8caO$3cZWc|J^M^+87(>NaT3`%8UDSO3SGHHemeO~Ks0&XX#og}o+se1a z^^J2Z)If-I!iy60pozn30vgN``$>8A(ub%xd5FXQ?AlrQA)EAX=+FstfTo^+Vog@x+0_qU*y@A^+SnJC_vAoc!5AqQ zeMmy;fRqN?s0_ni4^H@JT5kljMH?d&=g(tMa#e$P81qFteAqY-EDj<<; z<{_F*;sB`Bhk!~o*TWjlH#?8j{JX6>8>c2%_C!Cuvq15+PbCwemfK;y)6@Z#Gn^w` zd~S(mjq=Etp7=RKO4N1*6gEJLnXZ{Fv<228?JRihavdW?xQ~2r6LkF08C(7C$;TJ> zjRNgIyjOH@Z6PQX^t6dt2M}XE-5$iIqU{u!#ugCIEf#8FJBz3gRZ*}$C4FoiG|ppN2!t7JbvM+ zFW5A&v;ZQ#%>r-_iDi&*MX^x&If25(H|2XS@IrPaYX$loT1@`d0@P>nsD?nh$wC|! z_`#6t-S=#nZsI4e(jz#zEoj-gMm`?(+|*e#hNX=+E;aOCqM~W3)nu_c`tfA||K<&8 z^8vf?#B4KofLm>ns^Y{}-6SZv1I9x(5C6n6!`|#oG3HE5wWXT$;TusH|^3 zG5Oi9fE6$IkEaD-EwJ-ofEb}TNm!uGUQxt*k_0MIp*-w~)?jn{43dq_zX=GvYpQ2O=%O$M$a1=Yyygcu}Yd*wpo{tj}yj3e>y{z!;oXaL8)SVoV?sThs z8=qebP5^>rr^EW=i}%96{B8@#H+}mJNsDPP+Z_g5rkw3 zh+MS9nK0yaz(Ctuae#;5f0Y8nnh1x+^oAk!D|cM4bMr>IZtbEzabhcvKiwg-Jh9#i zX&-D$Qq$VGZlZfY*|FTL&ujvpabPAY&v$R@$xB^Z_G+T79NrkT_?^6Rx*>hS@nft`0)zA*8=^xJ5i~pIJad;N_ceyQY z-c9UwlpsAF_%6MVOmgNK?kUa;V5EpYHh3h{EVotsa$keb{2uE}wu_3UsHTvhzP`h* zHxCPNMFS01Nl347b*sr8`~@}U*^p@|l^RmLt^bA^rR~nM-;5l#kC<5*Rr|Raz4S zA*EqeM8}s+X`0MAgc^IFnTnhC?LE+RE8;VB?rhB?J?5vKj7W>`%=$7qreYMw+IncR zN2d<6ZqGz0410D9;r=c<#>;hzr|s4l-~2Q0Ezs6yxcjF6XHc2sXomz2e_LOMn_a%? zVBy(beGYgs3sgab7I}@gX&-14+ygqH#Gq7|XJXwiD7p1D6T+OU`~W#BBf6t>nm;#0 zkSM9~1X8k-1tQH`SQs9E{5UgxfHZrpGh+(=6R&g2v_eBWPlh%sWcYo+iR!~WUt&d; zY}h)pcPl7i%VWqEwwp`PLa)jz`Q8VR1yIj)KUbmd7L8iLO-L9g7`Pi-Cf3hPeU5O0 zAluc;9~rx%s<{M4fo(9}xK07>`9&JzM z(yy-l2o#7>Eef?WeP8NILGY$Bh(ab%@2cbn$*za&Ucg{6KcKsK@jp!y5a8))0!&?i z7O`K+@46&@0L;2eWt5qN1;A8n#N|% z2b1+;9IwfNH3}_un!9wH@1{?mSM4KZwB!O5&EyoXz){#y-lI2Z`nzA-k3vWL@+5a_ zriVAN&4;W~X52aU2P#6oRCU=nXMe>Y;XhJs`81bXQvLdN{H+4+y_eUMqknis#Y$BS zP>+j#JiiRWiu`HmFwjx^l33T(&k6JNdK4r?i!cX}-5t?FM^?Obhm~KX*J%7)`nduE zA>`|%vZbNr`>R_Zy`tth#>Hv;mpxepphPX@C(DGykM=6)jjH=>WM>YYU(sGfX!<-4 zW%vhJ_NCXit<{riqiKc5MU5m*27QB60#(z#@|D*V=?0+q2;{tS-&C-gwUOnSu9>hMO{DgTjlEt|7+pCGVi}cL=;lWl?q_U; z>I|?`E`s3-(7-D2+BUYf9aVvEpUjvrc_SF>i{AMQsWJ9D(XMQ@ycOzu^Mm)2R8Q!4TzHOy>9~DUOY#9F_DmR&Z62oSnG(q< zwU1O%8pt_eL%2(R+`K2oKXVtmx8Y1EJ|r3ibwH~sdGg^uhg&8{)*RSCt=|+hhH4w& z&S)(ZY$h-&wNKT2XXu>RY*h%R){M`jz?r2O^sU`SGj#tWDNI9TCxsEn_ov;%p|Il1 zf~woY?CntJ>fx$eJ;+4CBK?`=iz+U%ZS0v9%m#DT^E0TwZApKP z!eDH8h*O;Bgpm&U`s@Ya5QTew9u;T5f!|rE)FnD1tS7ZkPbjArVKcL+dU-(sL1D(~ zOaVA+45Qx7?qGaWa8Y|ExTV}H5o0)hO$&n@%&7?aEDrjcqX8pkt`fMTV-FXTVzEw48h z6!-CjaX3*98*?-34Q#i@{fs-h18Us7Uc(L}0Mt2>)|3;E48l;T9{SVj+|%TK(cGR< zHd%gufTd%`jyQJ;-s)PwG4F1u2nhoc|89So>dybOL2}{|{p9&mwN}ha6b%SO9}Q#M zYGT@gsx*1$bGK>Y;?nbNb!K(&;FouL;Ra&*@(W_BJOpx7igi=J?MOz7d~z^Nf@E82 z-%@4^uASAo`YyMOfYYc&ez5iXZ$_efb>HfT11>Z?fp`Zz{G}`cZcVV1y)QU3H(BVj ztWanq)azJ zet_zF1>;&;Y1KUd1hMC_F5w|TudO`bYvv}X*O)pQe@G9g&OuJ&;M{Z?N_W(?Um0@C z)>*M4w&^Nc`Fz;|-o(bq+P(3k9?mY>ZPmNR3LsEeLz`o>%u&?o&5D)K)}6PoAuj}3 z!ZmgFua>1|alEQ;6Ewv;VBlyZ^3G`@O@5b7#bso&QK!HSLL1DJKXJL`sp4p|x$7Ew z5I~EcFDcEKePIkY?k{_pUXeVd2G*O|khT@?R?78$gw@}>@N%o1jv75f(>D^j@}Iv6 zP>oyq+SeDQS5bK?*yofT{Z8S)vHQ{EspeOk(x4A}$((@Q@lIzEdu0C{=}NGss2%My zac00Kw|(1G%N-ObNl%L*n`ashc~5l_@cWpTsbyUAU7I0!lGB(CkUpG{3iChJG=IQf z!~!FCKzS!@W=^_s!a_j|6C7DW&?AkmJtsrwBArCLO=+&CQ!k8AcKM=zNYHZ_BhdKt zWzRptp0fWU>p(hOVlSb(QooN0;X+K9AdSAXO&82;QV)Y|^L!jpx*5|7mCRk_{@cQ6 z4ws0KQB{^JC@czo4RgPOaTnvE5+;TNVjtfVm=$gO+C{*|rNL;rH3d8_=>DCYi~6dF zvKJiku?r4Bf{+YN76X~tvj^N!m*0Ie&SI>R7w!_iaY+~Wd*=nE$W~QHkl%%(jsE`9 zhwJ_s|M$MgGAQRPT^LjW=G+wzV?&OkD{dYghQhva8eb>>a7$_@jks*bc8PsVVWWKJ zC5kMwzJVqrCrJS26it*efj&zhYt35e^NZXg-D!QNsZpRMTZTFdgxWm%tEZD zntnfZ!cfGknErO9nOO@o&H~da0Bwi7Frh*;F*Qk0lP%L3n?#9lMiM8c z0@&t>dY~0rLhl%aN>%K3W+-7_445u;LecODd)dIY-?}8S6mRLx^K+_;Eb8@;z;cOO zixPi7ebg|<#%y-}Fd+VGip_8u+2F*EhQj3Z3WN|1oUgyGJ*$hBi#%PfaPD9y%!Mog z$xs&>KXk7v8W(O}iiIKN=fAw|V2C|3{jA=$$3%NMFmvp9{J7yV;5RYY{KO>2Ou^{Y zKXkjFAS93y zJ=!z~S?1mgU1=FhI7A)~Y08=3O?=;t}6G^AF(ZRc|=bbV>4BIyj(?bRc(8 zd?YgP7h-dvO8vyrBw;cZu@loxRf{EIKBC%xug7!M7AwVUQKBVM~4k4L5nAylRa}8Wf8!fswpN% z*>cIb;Y%=cD);vTu(7uQ@a!YcZFRtG5ErZz7N@m2*uBCzCx|G_+R#v-F+2-a5iQtFzF6{h8BTB@@3Zg>AG7_Z;5k!OYB!b%*_0y zix2=d+(|r??>Z#5(#+|!8f%zo)0yiNvr1-T-$v*yT?b|T7d=S>{p9IUldHOTlpiiO z0Y*oSEgh=l&@S*(Za#KBw5R_?g)eR|&|~$*+s5IP8T%L5CK-fz;*qUBM8dwxC9UT% zV?bi7iHA)T`QueLAMFEtd^$BTRgaY{8Z&ks`Qhr_k-9DAw=v;Pu9+-hSDm?Ym2~Yw z_Mk$wQ>2abh_BUe=ABShyu{#vc%L!FS_Wz}$_Jp!&AB9iHl)o-v}FT*DwcJH4OJa5 zs8@9HsHjMyFx|Dy216x!mYUxg^R&*1{+|>kwhE+k-4E_M4V&Mej!zxOJ)ENhb(>9^ z(?PlV8p4=ah?ID8Gt%km4)HgV1dEVl7ZfdUS^PQ~(w^NI;Sne0hx|fIlzL}OJ?850?#LNUf5_0UeeAr`>Rjl#S0UI0Ia2}AVVBJ zv!uV^4{JN}9m!}K|En0XT+Q6pF2g6xY)~Y5^Ti@+b81F8sqmvJ?e!YBO=a_Y-3FV? z_(n7^=xw4i^9GX5rTO`2kUGzcN8fAsr7DsM8J&BFj)jw}71gG|t}E=6n>Ewz9-T70 z_p(9exs855NOVW%6s93G{wS`5?XETf`DFEh zT5PyB4yO{=c$d#HYS!9t^vQ_36Ut2{X;UO6-{d1;te}WsO+alKTDoB* z{NE-+E#hhL*T~?OyS0ZEKzVrD&1+eXr31Lv?za_M1AjoQaP5jY`ny;BU;2U)^-+5B z2V=(l(!3zU7y4p8>E>$7&vcf+B7h*u_9xic5N{>?^cc^fOY97F~A8sHoWigJV z!*bu(bg~aJsti?dJahXgaCe_5kxnxDsk)E-enFX2pBqqUSNQ9{*JXgom-^-tQDn7` z7sq*uluB(gt%#2@Ay7n%*za-SaeJx)7l-4MY~FG+V7OKnRo_g|>;wIkk1)kaaFm$* zX)l+{C1p?=Bn&Frs}wXuO3Lo*_NF$Qss~Es z;K_K?Mmu0LJHGb$Ci_{1Nlg(I+2C@x-CdqrYW$-#!>*NUUYph?!}+IJN-tML*Bsug zSa3{zx;zhY)#8&d+}a}aO) z?)Y+m`-8uwsU_b5k;Q01XQYzMOpM{^V#AikpC>TWvhBO(c^QGrft?|o8x(}~2QUk{ z+XQkRCyVk6DsmV)uz5XKd_t*FV(AFC_z+!+vjkt4IhgB8 zw`2|r<+6$P5-&bcG9{%vkbz9VdbdGD?+WG<(QA=Vy5gySxa+Q%mINaX0H1zE$KBc= z4}8EDM&6@eG^x$pYZ_KjH*8vWH+QaF5BbSH*jD%!d;Aj3x%ksGjeoS zZ)a8)z{-pA&YZ5MidGMw_*KeE-XZtLeDLaSy$4u`1J@P3Zi-H%KaGITmvHrY+rdRb z)|@ZUh{ZW(=Uwd|cM#QXI-+f^O8RPIZuP-aMvau$V<;pw1D&huGf`Dz|M4Nm~| zy5ldNWH&$LUz!Q;f6TGG7?YEVHunk=)~TWgP({1~)TlU=@w~S}qG} z9EK>&{%#9r@;3KC)8Di+%~Kfb&S=>wRO3Y<&;R&L9GHI_j{-P7lny8ugFlwD&xZp9S64Q)#rN^- zS~aVK^%L1Ujus(y$9HI$#}yZ5R$QxJbW5EVvVa!wX_BEPL078wi(w!nMQo&Geo7ee zC)YLmsa(#ZkXIuWTf_&D71o6SO9w=8=Y7jqkEVChGodup=;|hg>KRfA51}~x$qe#< zio6ma!XIa%_p2tp1571tH&8P20?_K}<)1a~t6k&pr_c{)A((rS`aZR{}* zQCC7x`(PM)R$-+8%)~WqmCtZO5^Nn99Q6g0W1Q|0M{hlyNZu#zX~~5MCsl6~l^aaK z-Lf-}0*p(kSNopPGt_=|ej>rP)4}rNq}T-}`wu)Gs7Fd80m5NqjfE zqWnFrC<$6q`)R)NtfyRhZXU;>rCpN1@?my-2on6b6va+YtoA=7P>~s9E_O1x@zVjh z+eDM~t{BPu*kj*|DuSLKAqUuigm@H%hobH4-z@dvoc%(=6rG%R0sZ>?ef&HTPCjQg zFitrMn_I6?+R6GB!xf ziNQ5?KyUjgvgc`4G7?zRI6(uwEi>|wcWBy0F;s{p>O-|~cMyC4&iBzh@$I>oO^6aC zK>qiX+Myc6YVu0^?~XFXmT0Xpqlw$+Va~h6l%sVnzJjn4(#Ho*>#bP{v2@_QL!;Sb zKCd{pQ#bj_rXmmoSXiPE+4k*^_m~jNm;vNm%x=pX=YTQia6OP(@jR>j6H9^17JgK9Rx1ap3o`Y9_3Ato{Ic1Ng{-&AR%MNWj6329WV-}lrU9N< zQgS7uWlpkfMotq&FyVAhyK@^15W@G@u{n?X#qG_poEYTNVr_WnSDch( zen8Grcwt#Ofou_hUcQNN$xWg{iQOR#?he^%G5zZyt=Yk*Lb_70y}G#V7luJi(4H&P z>A|PE3!XAbOcT=Vn6O2qIZ|(6y_nDOnKpsd<32-;dZhCpEZKz8`%k@>QT`F+3r0bx z+;Sbn=u7c_xMX(0z=aOkC9}UxkwKz~^6I(ssG?2Iu~kkvDK)^JvE6>MY_{9 zI~`WjnZEzN_^BDM3?h5jH}Ob}K=kgsuVv5XNTiu0gyZ8-DWs7Y=nP1ljWFKGOraHvAD4Ujfu7fP{FN~c8I``p&YxBdKJju&ToV&k=kbGxiw}2GBQ{HjyU54`3s?2Hdy_~ zMIhgt$a}?AeLgr7Nt0jQ5`0O0Zt{5{&4xZLw~*VpPM7dPKMGBS6tQ4%&QBkKv&}zH zHNOd!B(*^_&keA00Ov|a#b#YhGLSXP5Yr!_X zSKm8`$-G_xeQoBAS@&+6hD5mEWXQS1LqwJpj0zAh2BDn7+=B2ZA&zneOrevp?9*&%_ZbMkBZbjX= z18s$tJEE>HdWZIGxU~k7;)Qg>iaA6hze}q`bnpWG2d{#U4r%cLS^aX@DqUtWuOctY zLT5CMl}bLZi;KG#?RijJ-1d6_YW+_>m|JJOVNTLVbYSTQQxdYU%Fd!D^pa+yhVvMnzkr zxGtI;<}ACdkTV&E8XVz3DZ0zt&|v2i6~2sc)^z8#f6#Ou>2~KT-nA+Pm4W}P>WPiJ<0{2Z@`=-5U>G)gp zwUCLRZ%-IopK@=Nqleke?k)Xx-w`EuMAEVm$Zi1&?3-nkTb8sp__Qh+LRsgILeD2; z0NIUtI&K0|`&@rVWX^kECgWyy#0xHbGmKbz76r2ebqC5p6POUi*4t{IpAc_7!Vo`L z^u>i=ZIid$C*D_gsR8{{I7IFFrPnn;jaJ>Eh-Hs4LUB#C&%4B`8~^3* zq`Ryrp9<5TAZ;!jog;5ud-NcIsDHKh8^eSgz1vDi;Vdlkt2*==bpqmtKfFp)Sq_)j zMW=2@KJ9?co_+uWz6n?SW+B~Q3lz2N(Gt5Uu*Y6M!z7?TUYQ}xj$>zUeQ-*#i(Oi* zXF%HaZm(XrTqb z_P2+BLU|KpuO!_AoCGOd7DZIwBC;($`qy8ft^KxoTXtS@{057NVDnIqA-LqM}i9k`$izpOGOH;GTn+pMB9qD>K7Pbm_cwI3lsL~sc zjDj5+Fk3-^yH#g>*iXyj0y{9i*+HTA9N?5Vh{tI5W-V|o+CtZ|0Q`BHJSdLuyUo-Q zovi-h=qgQ=RQZNj){CVF8M{5e!RKo%$O$p)Z$~s0qufr$8m1{JLT>UuA5(|Y`K1;)8N4d|AuZf`E}J=uH7y?@;6+PdO66H zQmti<5L`Y_^AofIj4r<#lq=y4NmMie57X&_YG4+4MJ?zfyol-hM6;v313+AzX*%ef z0wlnmcBYZFEX!|3Uc%0`m+#SF+t>sM#g^qhg>GVGGN}XltHA&xbPh=gBWs<6{WplV zL}&*GN7y4uyJ=iVnN(Y>IQ_L@ZkPjyjaTRw1>};L15?>v@9-TCYzk|1k0;Mt5NjBl zw92yL^k>5-WOE0`@OVaR76V2Pv>s2-PCb+tuqVp)f1Q?fkZFLvkN=JU@;%0Gn6q%WES@ zciuknS?=x&N6Z8ZbQO%<^}b$gwqCFC0`IJ?cWd7|F3&@T9xy8c%2OzprsjMZ4CL_B z49KOuDkixE!`*;%c1e(X-FL~c(>@HS`U*hTay8*5qKr+9JO7m#GFoqe zVI>WLQ)ky48PnaTV91HQPAUC>K?qH8v%rhayU(oyw?G>Y=>=BLD+Z3bzA6!}s(^0x zl#VjD@2-?2bO41#i^pe_CVz*N_XD!$XPgz!nz42AN^#=u#f1{Rz9Yx=y(%BW#X~~( zfdtk+JbneltDat7C6$DO^`;$`9++4`C|qi>w7w^S&qapRqOQ(=zjJh^ndKv$xmNz?Dnz!llfVbXb*1$W80{{eXkOW#PK zWa%mVq#<@{S|%_)_?_vGp$@_A83<%c!wc{91!&rShO?coy3F$PG^uLiMad5wCcoe( jZcF)ra#}D4_UIH5cPhMSB^HVW&JWGII%-8K_~-uvgk8VG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createindustry/textures/fluid/heated_air.png.mcmeta b/src/main/resources/assets/createindustry/textures/fluid/heated_air.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/createindustry/textures/fluid/heated_air.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/createindustry/textures/gui/icons.png b/src/main/resources/assets/createindustry/textures/gui/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..07c14c51441c33cd1e1850f617267052fc7bb3a2 GIT binary patch literal 967 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|GzJFdK2I0Nkczms*G~5a2MV|b zDhLTF$v=AQvLILDz}>pupB*P7RdsDMS7%kE?*IMe<7exHV5SYqj5j7SyzyWtQ@Qi_ z=$z{O%F4>0AC`Y#zx{oDt>ymbav#ct-hE6uw^w`rtm6M)UVOa2@BBUH^PW47cUyj! ztIR%k*FEp^i;utA8UDu|vW+{lv;1imP;tN9|F_le80*y^%IQD5Q+@jF#d~>mf96?- z%h~?Bzmt95rl64_%O7?&;mYuw<}HXuPY52bW?QQ>klOiTF<8~+B2De7)G(zd1Zk+s zxr@oYL%Nn~XoHhkzuS9)JP;9di;Q@anwEj%(d6+#7&O;&qx&W=pkPg<8AvyKEom7f z5Jyb|YJ%Z3g