From f9ebef85686795149f6125c0ea226fbb2a562f97 Mon Sep 17 00:00:00 2001 From: DrMangoTea Date: Fri, 10 Nov 2023 17:16:54 +0100 Subject: [PATCH] encasing --- .../2d06ea55ee27bcb1f7f87fa8ec3e037afa7e1ad9 | 54 +++- .../9047e4e94996e73e9dfde3738763637fb609e07e | 4 +- .../heavy_casing_encased_cogwheel.json | 56 ++++ .../heavy_casing_encased_large_cogwheel.json | 56 ++++ .../heavy_casing_encased_shaft.json | 20 ++ .../blockstates/steel_encased_cogwheel.json | 56 ++++ .../steel_encased_large_cogwheel.json | 56 ++++ .../blockstates/steel_encased_shaft.json | 20 ++ .../assets/createindustry/lang/en_ud.json | 6 + .../assets/createindustry/lang/en_us.json | 245 ++++++++------- .../models/block/cooling_fluid.json | 2 +- .../createindustry/models/block/creosote.json | 2 +- .../block/heavy_casing_encased_cogwheel.json | 10 + .../heavy_casing_encased_cogwheel_bottom.json | 10 + .../heavy_casing_encased_cogwheel_top.json | 10 + ...vy_casing_encased_cogwheel_top_bottom.json | 10 + .../heavy_casing_encased_large_cogwheel.json | 10 + ..._casing_encased_large_cogwheel_bottom.json | 10 + ...avy_casing_encased_large_cogwheel_top.json | 10 + ...ing_encased_large_cogwheel_top_bottom.json | 10 + .../models/block/liquid_asphalt.json | 2 +- .../models/block/molten_slag.json | 2 +- .../models/block/molten_steel.json | 2 +- .../models/block/steel_encased_cogwheel.json | 10 + .../block/steel_encased_cogwheel_bottom.json | 10 + .../block/steel_encased_cogwheel_top.json | 10 + .../steel_encased_cogwheel_top_bottom.json | 10 + .../block/steel_encased_large_cogwheel.json | 10 + .../steel_encased_large_cogwheel_bottom.json | 10 + .../steel_encased_large_cogwheel_top.json | 10 + ...eel_encased_large_cogwheel_top_bottom.json | 10 + .../item/heavy_casing_encased_cogwheel.json | 9 + .../heavy_casing_encased_large_cogwheel.json | 9 + .../item/heavy_casing_encased_shaft.json | 3 + .../models/item/steel_encased_cogwheel.json | 9 + .../item/steel_encased_large_cogwheel.json | 9 + .../models/item/steel_encased_shaft.json | 3 + ...from_stone_types_bauxite_stonecutting.json | 32 ++ .../blocks/heavy_casing_encased_cogwheel.json | 20 ++ .../heavy_casing_encased_large_cogwheel.json | 20 ++ .../blocks/heavy_casing_encased_shaft.json | 20 ++ .../blocks/steel_encased_cogwheel.json | 20 ++ .../blocks/steel_encased_large_cogwheel.json | 20 ++ .../blocks/steel_encased_shaft.json | 20 ++ .../minecraft/tags/blocks/mineable/axe.json | 8 +- .../tags/blocks/mineable/pickaxe.json | 6 + .../base/TFMGBuilderTransformers.java | 84 +++++ .../createindustry/base/TFMGSpriteShifts.java | 4 +- .../encased/TFMGEncasedCogwheelBlock.java | 293 ++++++++++++++++++ .../blocks/encased/TFMGEncasedShaftBlock.java | 91 ++++++ .../small/AbstractEngineTileEntity.java | 12 +- .../items/CreosoteBucketItem.java | 22 ++ .../ponder/TFMGPonderIndex.java | 2 + .../registry/TFMGBlockEntities.java | 30 +- .../createindustry/registry/TFMGBlocks.java | 65 ++++ .../createindustry/registry/TFMGFluids.java | 4 +- .../lang/default/interface.json | 8 +- .../models/block/encased_cogwheel/block.json | 55 ++++ .../block/encased_cogwheel/block_bottom.json | 96 ++++++ .../block/encased_cogwheel/block_top.json | 96 ++++++ .../encased_cogwheel/block_top_bottom.json | 136 ++++++++ .../models/block/encased_cogwheel/item.json | 153 +++++++++ .../block/encased_large_cogwheel/block.json | 35 +++ .../encased_large_cogwheel/block_bottom.json | 84 +++++ .../encased_large_cogwheel/block_top.json | 84 +++++ .../block_top_bottom.json | 124 ++++++++ .../block/encased_large_cogwheel/item.json | 250 +++++++++++++++ .../models/block/encased_shaft/block.json | 67 ++++ .../encased_shaft/block_heavy_casing.json | 7 + .../block/encased_shaft/block_steel.json | 7 + .../models/block/encased_shaft/item.json | 90 ++++++ .../encased_shaft/item_heavy_casing.json | 7 + .../block/encased_shaft/item_steel.json | 7 + ...casing_encased_cogwheel_side_connected.png | Bin 377 -> 0 bytes ...heavy_machinery_encased_cogwheel_side.png} | Bin ...hinery_encased_cogwheel_side_connected.png | Bin 0 -> 398 bytes ..._machinery_encased_cogwheel_side_large.png | Bin 0 -> 242 bytes .../steel_encased_cogwheel_side_connected.png | Bin 767 -> 883 bytes .../steel_encased_cogwheel_side_large.png | Bin 0 -> 380 bytes .../textures/fluid/liquid_asphalt.png | Bin 0 -> 214 bytes .../textures/fluid/molten_slag_flow.png | Bin 0 -> 18397 bytes .../fluid/molten_slag_flow.png.mcmeta | 5 + .../textures/fluid/molten_slag_still.png | Bin 0 -> 9673 bytes .../fluid/molten_slag_still.png.mcmeta | 5 + .../textures/fluid/molten_steel_flow.png | Bin 0 -> 18397 bytes .../fluid/molten_steel_flow.png.mcmeta | 5 + .../textures/fluid/molten_steel_still.png | Bin 0 -> 9673 bytes .../fluid/molten_steel_still.png.mcmeta | 5 + 88 files changed, 2732 insertions(+), 152 deletions(-) create mode 100644 src/generated/resources/assets/createindustry/blockstates/heavy_casing_encased_cogwheel.json create mode 100644 src/generated/resources/assets/createindustry/blockstates/heavy_casing_encased_large_cogwheel.json create mode 100644 src/generated/resources/assets/createindustry/blockstates/heavy_casing_encased_shaft.json create mode 100644 src/generated/resources/assets/createindustry/blockstates/steel_encased_cogwheel.json create mode 100644 src/generated/resources/assets/createindustry/blockstates/steel_encased_large_cogwheel.json create mode 100644 src/generated/resources/assets/createindustry/blockstates/steel_encased_shaft.json create mode 100644 src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel.json create mode 100644 src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel_bottom.json create mode 100644 src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel_top.json create mode 100644 src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel_top_bottom.json create mode 100644 src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel.json create mode 100644 src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_bottom.json create mode 100644 src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_top.json create mode 100644 src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_top_bottom.json create mode 100644 src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel.json create mode 100644 src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel_bottom.json create mode 100644 src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel_top.json create mode 100644 src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel_top_bottom.json create mode 100644 src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel.json create mode 100644 src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel_bottom.json create mode 100644 src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel_top.json create mode 100644 src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel_top_bottom.json create mode 100644 src/generated/resources/assets/createindustry/models/item/heavy_casing_encased_cogwheel.json create mode 100644 src/generated/resources/assets/createindustry/models/item/heavy_casing_encased_large_cogwheel.json create mode 100644 src/generated/resources/assets/createindustry/models/item/heavy_casing_encased_shaft.json create mode 100644 src/generated/resources/assets/createindustry/models/item/steel_encased_cogwheel.json create mode 100644 src/generated/resources/assets/createindustry/models/item/steel_encased_large_cogwheel.json create mode 100644 src/generated/resources/assets/createindustry/models/item/steel_encased_shaft.json create mode 100644 src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/layered_bauxite_from_stone_types_bauxite_stonecutting.json create mode 100644 src/generated/resources/data/createindustry/loot_tables/blocks/heavy_casing_encased_cogwheel.json create mode 100644 src/generated/resources/data/createindustry/loot_tables/blocks/heavy_casing_encased_large_cogwheel.json create mode 100644 src/generated/resources/data/createindustry/loot_tables/blocks/heavy_casing_encased_shaft.json create mode 100644 src/generated/resources/data/createindustry/loot_tables/blocks/steel_encased_cogwheel.json create mode 100644 src/generated/resources/data/createindustry/loot_tables/blocks/steel_encased_large_cogwheel.json create mode 100644 src/generated/resources/data/createindustry/loot_tables/blocks/steel_encased_shaft.json create mode 100644 src/main/java/com/drmangotea/createindustry/blocks/encased/TFMGEncasedCogwheelBlock.java create mode 100644 src/main/java/com/drmangotea/createindustry/blocks/encased/TFMGEncasedShaftBlock.java create mode 100644 src/main/java/com/drmangotea/createindustry/items/CreosoteBucketItem.java create mode 100644 src/main/resources/assets/createindustry/models/block/encased_cogwheel/block.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_cogwheel/block_bottom.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_cogwheel/block_top.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_cogwheel/block_top_bottom.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_cogwheel/item.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block_bottom.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block_top.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block_top_bottom.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/item.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_shaft/block.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_shaft/block_heavy_casing.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_shaft/block_steel.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_shaft/item.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_shaft/item_heavy_casing.json create mode 100644 src/main/resources/assets/createindustry/models/block/encased_shaft/item_steel.json delete mode 100644 src/main/resources/assets/createindustry/textures/block/heavy_casing_encased_cogwheel_side_connected.png rename src/main/resources/assets/createindustry/textures/block/{heavy_casing_encased_cogwheel_side.png => heavy_machinery_encased_cogwheel_side.png} (100%) create mode 100644 src/main/resources/assets/createindustry/textures/block/heavy_machinery_encased_cogwheel_side_connected.png create mode 100644 src/main/resources/assets/createindustry/textures/block/heavy_machinery_encased_cogwheel_side_large.png create mode 100644 src/main/resources/assets/createindustry/textures/block/steel_encased_cogwheel_side_large.png create mode 100644 src/main/resources/assets/createindustry/textures/fluid/liquid_asphalt.png create mode 100644 src/main/resources/assets/createindustry/textures/fluid/molten_slag_flow.png create mode 100644 src/main/resources/assets/createindustry/textures/fluid/molten_slag_flow.png.mcmeta create mode 100644 src/main/resources/assets/createindustry/textures/fluid/molten_slag_still.png create mode 100644 src/main/resources/assets/createindustry/textures/fluid/molten_slag_still.png.mcmeta create mode 100644 src/main/resources/assets/createindustry/textures/fluid/molten_steel_flow.png create mode 100644 src/main/resources/assets/createindustry/textures/fluid/molten_steel_flow.png.mcmeta create mode 100644 src/main/resources/assets/createindustry/textures/fluid/molten_steel_still.png create mode 100644 src/main/resources/assets/createindustry/textures/fluid/molten_steel_still.png.mcmeta diff --git a/src/generated/resources/.cache/2d06ea55ee27bcb1f7f87fa8ec3e037afa7e1ad9 b/src/generated/resources/.cache/2d06ea55ee27bcb1f7f87fa8ec3e037afa7e1ad9 index b844328a..57a5b778 100644 --- a/src/generated/resources/.cache/2d06ea55ee27bcb1f7f87fa8ec3e037afa7e1ad9 +++ b/src/generated/resources/.cache/2d06ea55ee27bcb1f7f87fa8ec3e037afa7e1ad9 @@ -1,4 +1,4 @@ -// 1.19.2 2023-11-04T19:54:14.366805 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 2023-11-09T21:41:54.0040392 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)] 50db526af77cf0ead08cadfd3f7daa8b84a40312 assets/createindustry/blockstates/air_intake.json 429437419b2ec98bd716e7ba15583b84da7488d5 assets/createindustry/blockstates/aluminum_bars.json 9e2417e479011e42ebf00685068e6b6f515f0b11 assets/createindustry/blockstates/aluminum_block.json @@ -99,6 +99,9 @@ a00b1a62ac48d461e6df44a25bf5e71d01c592ba assets/createindustry/blockstates/green f052043e59444d20616a9984360d05fb2edc0d7d assets/createindustry/blockstates/green_concrete_wall.json ccfb75a61bbc66bc5a5d56d4dfa8ff4267652bfa assets/createindustry/blockstates/hardened_planks.json af9bed28b8bd7912e439912d59cb59dd41c61b10 assets/createindustry/blockstates/heavy_casing_door.json +605024d8361c108c021bbcb6ab2bd254b45f0cb3 assets/createindustry/blockstates/heavy_casing_encased_cogwheel.json +3d1a41294dc3540cefe507674ebd613cbd843111 assets/createindustry/blockstates/heavy_casing_encased_large_cogwheel.json +152f6e9fc29d4e4f96771be7f258ba106d9accb2 assets/createindustry/blockstates/heavy_casing_encased_shaft.json a418d47559d0981dd7da1441e56d3eea026bce99 assets/createindustry/blockstates/heavy_machinery_casing.json 5d6b14700e8f04cbd4308c83b0451b5443e4cf91 assets/createindustry/blockstates/heavy_oil.json 2d0d439047ff77b031930aa39db7ac742e4d42cf assets/createindustry/blockstates/industrial_pipe.json @@ -180,6 +183,9 @@ f6758defb35319cd27e9ebef307f23d58d79505a assets/createindustry/blockstates/steel f1fcbc33836ee794684dc715131e184f588515e9 assets/createindustry/blockstates/steel_distillation_controller.json 0d9f0847a584e7aaa111a50aa44ca471ec58f524 assets/createindustry/blockstates/steel_distillation_output.json e67bfac13d06829552862e60ddc8ba8bfc129228 assets/createindustry/blockstates/steel_door.json +7c5560de0a94fc9a2fa5a21942dd37c83e2f555f assets/createindustry/blockstates/steel_encased_cogwheel.json +a6ca9ac046c8901f1ba1ba6181efb2ff592a1acd assets/createindustry/blockstates/steel_encased_large_cogwheel.json +40a8702813b48c1b62aafaa8a91426d668550ffd assets/createindustry/blockstates/steel_encased_shaft.json 5886babd046ad3259f77a7a3a4e641e702ffcd6b assets/createindustry/blockstates/steel_fluid_tank.json 137a8b1fc60285bc033dbdf12778ec7bbc394079 assets/createindustry/blockstates/steel_fluid_valve.json ae1eeb60729d163fc4892866cad74c57cea962cf assets/createindustry/blockstates/steel_flywheel.json @@ -201,8 +207,8 @@ b78c8d250e7ebaf757ee7c52828be3c265d2f872 assets/createindustry/blockstates/white d7114f093ed9d4700045f04469b7e83ea91f46bb assets/createindustry/blockstates/yellow_concrete_slab.json a3376853404f164207006a3e6797872b39748966 assets/createindustry/blockstates/yellow_concrete_stairs.json cf86260011f9890489b886d2f29eec92ca423f94 assets/createindustry/blockstates/yellow_concrete_wall.json -af8d031afe8f743b21f6c6709106f22625fb489c assets/createindustry/lang/en_ud.json -cdac5149ca89cad620f5beaf15f6ed53f5692c88 assets/createindustry/lang/en_us.json +e8967a048f5e9bca203adc25c88efd0169b5181a assets/createindustry/lang/en_ud.json +f7b62b6db95bb04013ba46554030d50f2f10eb8b assets/createindustry/lang/en_us.json c97ace9182228ac09c3decbeae4a1c5f19bf2729 assets/createindustry/models/block/aluminum_block.json eadb8c93c688022b4f6e9d928a09f6e3da7d1ff8 assets/createindustry/models/block/aluminum_cap.json 57d4ce9c693d61ef313079fc379649847b0a226a assets/createindustry/models/block/aluminum_cap_alt.json @@ -351,8 +357,8 @@ d6c23c1b878762b3a0267dd81b3ff0f6d65b3c06 assets/createindustry/models/block/conc 6c9fe5ad8ab5e691cadc370f32c373abdd166d18 assets/createindustry/models/block/concrete_wall_post.json 7d89561d73d23126d4f07fc3952506c08838683c assets/createindustry/models/block/concrete_wall_side.json 2193252fc9d242613a0256331d4ccbe123777ee1 assets/createindustry/models/block/concrete_wall_side_tall.json -3b339d809be62ca8790afeb2cad9ace793840d27 assets/createindustry/models/block/cooling_fluid.json -3b339d809be62ca8790afeb2cad9ace793840d27 assets/createindustry/models/block/creosote.json +12e4e222078f06756d0b9e0ad1aad6016a6b7dc4 assets/createindustry/models/block/cooling_fluid.json +995ee4d147c8c5ae5dace5ba87b3c0b6ec473a30 assets/createindustry/models/block/creosote.json a839f5f41155d2d016ebc3e4c55b8e3913530441 assets/createindustry/models/block/crude_oil_fluid.json f4823ef8247df7813486ab6cd8d1368589a35f26 assets/createindustry/models/block/cut_bauxite.json 59e0ef48968c23ca1b6a195064ae572004c4baa9 assets/createindustry/models/block/cut_bauxite_bricks.json @@ -414,6 +420,14 @@ c231aaaeaf829c6e3dc89b75d50ca2ae22b770a7 assets/createindustry/models/block/gree 772f0a37d30f055e9d5e368773ee08376bfe31ac assets/createindustry/models/block/green_concrete_wall_side.json 4792f36ccfb07338434e4e2ec4d2602fa46b7a16 assets/createindustry/models/block/green_concrete_wall_side_tall.json d8ee1eb6c101f05b891f97cfa95e146c546b400d assets/createindustry/models/block/hardened_planks.json +760c39e36467df83e279f66d03749d4c2861ae2b assets/createindustry/models/block/heavy_casing_encased_cogwheel.json +16a5012855457fcbb7bfdab06b5f83be27a4b496 assets/createindustry/models/block/heavy_casing_encased_cogwheel_bottom.json +0587c4a9b7d2805e0a3045cda1c18746ff1816f7 assets/createindustry/models/block/heavy_casing_encased_cogwheel_top.json +8211e7f7cdcf1461c6d62d2bff23c4155e991ce8 assets/createindustry/models/block/heavy_casing_encased_cogwheel_top_bottom.json +bf4543cca753c5fe370b60711eae9b4d66b28048 assets/createindustry/models/block/heavy_casing_encased_large_cogwheel.json +04c42e0cdd979b90bf614effd335229d804816bd assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_bottom.json +8cb49501ec99cbea7776c42ff83f06027e435cab assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_top.json +b73ca9be56239ad58b40d19e8b4e5c6eff36c476 assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_top_bottom.json 2a45d057b1f65b6f317987233f999280cea75f86 assets/createindustry/models/block/heavy_machinery_casing.json cbff84083f277898f53279510a4bb2ab95790716 assets/createindustry/models/block/heavy_oil.json 80d385a00efb3aa680bdffd18a7ca9a83d7d9cc9 assets/createindustry/models/block/kerosene.json @@ -447,7 +461,7 @@ d8ee20b80f653494f67aa554627d8f4dd74c337f assets/createindustry/models/block/lime be35ba08952e0fa72f1a519b0d30a129c86b2ee9 assets/createindustry/models/block/lime_concrete_wall_post.json b1947920496622f5c74269c86bcef4dd3c651388 assets/createindustry/models/block/lime_concrete_wall_side.json e5d2ab1e0b8ed0eabda2b0559f83933f5fa17449 assets/createindustry/models/block/lime_concrete_wall_side_tall.json -8ffaa3e567866b2574f9d20b17936d3564c8e6ad assets/createindustry/models/block/liquid_asphalt.json +b8e7ab20548bd404cb29dce6e7d4d937b4fe7a8b assets/createindustry/models/block/liquid_asphalt.json 8ffaa3e567866b2574f9d20b17936d3564c8e6ad assets/createindustry/models/block/liquid_concrete.json be225406ccfe1e027fadff7d0d00c0f77fc9f43f assets/createindustry/models/block/liquid_plastic.json 0b51764dcc3107a766f431c6799b159f86a0bb80 assets/createindustry/models/block/lubrication_oil.json @@ -460,8 +474,8 @@ be225406ccfe1e027fadff7d0d00c0f77fc9f43f assets/createindustry/models/block/liqu 6937de3a01866ccf1becffb9d0edbe22fecc5d49 assets/createindustry/models/block/magenta_concrete_wall_post.json 16876518edec74e2ca18d638df3dbdf61302cf3f assets/createindustry/models/block/magenta_concrete_wall_side.json 6064a0289d3b3a6c1e6cdd7fb061450877baed81 assets/createindustry/models/block/magenta_concrete_wall_side_tall.json -be225406ccfe1e027fadff7d0d00c0f77fc9f43f assets/createindustry/models/block/molten_slag.json -be225406ccfe1e027fadff7d0d00c0f77fc9f43f assets/createindustry/models/block/molten_steel.json +b1ad411dce4232640e5affc15296f184aab9e600 assets/createindustry/models/block/molten_slag.json +c89f3bea30b47f666fc2f95d7fe6df21c9bb8fb4 assets/createindustry/models/block/molten_steel.json 3b339d809be62ca8790afeb2cad9ace793840d27 assets/createindustry/models/block/napalm.json b49c6631c166e4556fcd55986e288c027e837f67 assets/createindustry/models/block/naphtha.json b563e2a0ea87b9f9a9b25f70d9430c028af73ea4 assets/createindustry/models/block/oil_deposit.json @@ -565,6 +579,14 @@ cb9f4d6f8aa0999acec517cf854bbdd8ed86e21a assets/createindustry/models/block/smal bd806021e77979d7c26da7a9d05a6216d28b853a assets/createindustry/models/block/steel_cap.json 488c8a24f90b5d2c8f3d2a0475350edf634ceab3 assets/createindustry/models/block/steel_cap_alt.json cbb5472e27ec5293e917bab19b74c8e821c512a3 assets/createindustry/models/block/steel_casing.json +1f05f3ff6abf74026aa43967e1756d4b793f03df assets/createindustry/models/block/steel_encased_cogwheel.json +68058b33c5d3fd221401e693023e2f53d7e51a45 assets/createindustry/models/block/steel_encased_cogwheel_bottom.json +1be0171626c53474ecbbe0a666d21a0ffeea34e9 assets/createindustry/models/block/steel_encased_cogwheel_top.json +571f4f1178c9b319a6fab8f298d09571504b37ce assets/createindustry/models/block/steel_encased_cogwheel_top_bottom.json +0b96c98405a7426420633050595a33eb5e022abb assets/createindustry/models/block/steel_encased_large_cogwheel.json +86b8ab624856cbad47f7cc229c37560e59106f9b assets/createindustry/models/block/steel_encased_large_cogwheel_bottom.json +2b83eb8208a5ec92d70839efb1d671fb2c87816b assets/createindustry/models/block/steel_encased_large_cogwheel_top.json +826d5630f53c2fa8af790fd6ea7f8d6218544a1f assets/createindustry/models/block/steel_encased_large_cogwheel_top_bottom.json 63646b0593fc11776f1e4022b79b838ad17cc165 assets/createindustry/models/block/steel_ladder.json f5b9f682a2b9cb1577f4e89e67618e0f2344bbb6 assets/createindustry/models/block/steel_pipe/d_x.json ae83363f1b0512cb50c164186844fd153c704dc6 assets/createindustry/models/block/steel_pipe/d_y.json @@ -724,6 +746,9 @@ f2e482ff0d0b555b4581c15edb4e01b9c7935820 assets/createindustry/models/item/gray_ 54e1b1c148e2a5f3235ed472d7386324fad82163 assets/createindustry/models/item/green_concrete_wall.json 05529b1cd0b8e6f5ae54440f59bdf33b0e3a50b7 assets/createindustry/models/item/hardened_planks.json 3ea2174152c3617010a278e23923c08917da844e assets/createindustry/models/item/heavy_casing_door.json +e8c4d2eb1eba75a042a07210c237c9eb380370d0 assets/createindustry/models/item/heavy_casing_encased_cogwheel.json +d5f317b48f46b37fa65afb3d76c1c729438b08ac assets/createindustry/models/item/heavy_casing_encased_large_cogwheel.json +74eaea168a32e0e6b4c7544b2f9ecb9fe81e5fa7 assets/createindustry/models/item/heavy_casing_encased_shaft.json 3350ad95bdea61d3cc059f47071c890f0972fb3d assets/createindustry/models/item/heavy_machinery_casing.json bb21d0a35fad1c88f62c53a4cec1c2015570357b assets/createindustry/models/item/heavy_oil_bucket.json f5fb667375a46af9fe0c912dbf17e7ab3ab1e359 assets/createindustry/models/item/heavy_plate.json @@ -814,6 +839,9 @@ f1ccc71e7bec0435a40c062f9fd2b5decdf46d2f assets/createindustry/models/item/steel 5f831c7585810fe28aeb8939ee01a725bfbac7c6 assets/createindustry/models/item/steel_distillation_controller.json b2e00aeba06f4dc6ef642668a71558c809a05216 assets/createindustry/models/item/steel_distillation_output.json 3ced9a065e2c9c21ed7dfbfc8ca5d2feabcc43d9 assets/createindustry/models/item/steel_door.json +6a14d9bbb3059659c692cda11c6f12d77662b101 assets/createindustry/models/item/steel_encased_cogwheel.json +707afcdc82b1f4ada0c98f24db1c2b2208db5abf assets/createindustry/models/item/steel_encased_large_cogwheel.json +cd8ad31f7aebd2d87eb32bea8d07c9ba0307a266 assets/createindustry/models/item/steel_encased_shaft.json 75e956841c1ae5d1e7787f2921f625d44693635c assets/createindustry/models/item/steel_fluid_tank.json a5f60256e5878ffc0ed8fb117e05ac20cb385905 assets/createindustry/models/item/steel_fluid_valve.json c1d40f4d0737b4c3040cb5ecda04f74f602807f0 assets/createindustry/models/item/steel_flywheel.json @@ -983,6 +1011,9 @@ b42f09a8a5dc4124b049c3721d12d79cbd4d64fc data/createindustry/loot_tables/blocks/ 23263cb24d57318cf5185ec4e99159124dd64678 data/createindustry/loot_tables/blocks/green_concrete_wall.json ef182f11c2e4a4452350cee98c2aa6d99b5ce8ff data/createindustry/loot_tables/blocks/hardened_planks.json 7e723e2728a3e83ea86ce73fbfd08e795d3b3aba data/createindustry/loot_tables/blocks/heavy_casing_door.json +13267c1251e76ae6271f7de72db60bde86aa0bfa data/createindustry/loot_tables/blocks/heavy_casing_encased_cogwheel.json +9d010fc3c8d0821d69b550ff0bcbf117be9a7005 data/createindustry/loot_tables/blocks/heavy_casing_encased_large_cogwheel.json +658d76088e3926c72da86a75b4b14946bd809239 data/createindustry/loot_tables/blocks/heavy_casing_encased_shaft.json 2d52ad6c125ad6b0aff1f43296dcfab4445b958f data/createindustry/loot_tables/blocks/heavy_machinery_casing.json b98b84953f7591fab77725714125f48962ef4306 data/createindustry/loot_tables/blocks/industrial_pipe.json 36202757724a9230f132621bfea48a0c1ad16dc8 data/createindustry/loot_tables/blocks/layered_bauxite.json @@ -1053,6 +1084,9 @@ eb2925c4fab05db57c5920f54c00185a21e92e0b data/createindustry/loot_tables/blocks/ 9b5d76d721c63dd61d072af2cd19271f02dc2c35 data/createindustry/loot_tables/blocks/steel_distillation_controller.json a52d0c8c33106e7f2ea3342ee3f26e4457c6c008 data/createindustry/loot_tables/blocks/steel_distillation_output.json 44b3ea53e91dd1c288ba7715611e5e60340d14ad data/createindustry/loot_tables/blocks/steel_door.json +13267c1251e76ae6271f7de72db60bde86aa0bfa data/createindustry/loot_tables/blocks/steel_encased_cogwheel.json +9d010fc3c8d0821d69b550ff0bcbf117be9a7005 data/createindustry/loot_tables/blocks/steel_encased_large_cogwheel.json +658d76088e3926c72da86a75b4b14946bd809239 data/createindustry/loot_tables/blocks/steel_encased_shaft.json 581627e80dfff55451940f5ba16f0a0a276d941e data/createindustry/loot_tables/blocks/steel_fluid_tank.json 731e5c53f236e83d1eadff24845b9d93fefb2d3a data/createindustry/loot_tables/blocks/steel_fluid_valve.json c5e7e815ddeaf8ed3a5a588b2569bd39318dd55a data/createindustry/loot_tables/blocks/steel_flywheel.json @@ -1159,8 +1193,8 @@ c93e03d746cae5143427d5605bebd2b2a4006219 data/minecraft/tags/blocks/azalea_root_ 23cf02cfaf4f4efd7feb2a328e623fc63523216b data/minecraft/tags/blocks/doors.json c93e03d746cae5143427d5605bebd2b2a4006219 data/minecraft/tags/blocks/dripstone_replaceable_blocks.json c93e03d746cae5143427d5605bebd2b2a4006219 data/minecraft/tags/blocks/lush_ground_replaceable.json -97796d300c6a1759abe459ae9175556a17a7e568 data/minecraft/tags/blocks/mineable/axe.json -320d34c446d48da3b1c279110605bfbdefac98db data/minecraft/tags/blocks/mineable/pickaxe.json +f91f07f2ed349d6176021ccf3d6ce1cbc858418d data/minecraft/tags/blocks/mineable/axe.json +81a661b25dd555619db23b4e0a7f5cd90330a750 data/minecraft/tags/blocks/mineable/pickaxe.json c93e03d746cae5143427d5605bebd2b2a4006219 data/minecraft/tags/blocks/moss_replaceable.json 8a3dfd27452a21f14ee2a9936ddc357c3dbb9ae4 data/minecraft/tags/blocks/needs_diamond_tool.json c0d6e4e469f0314abef1f5221459942b0ea29558 data/minecraft/tags/blocks/needs_iron_tool.json diff --git a/src/generated/resources/.cache/9047e4e94996e73e9dfde3738763637fb609e07e b/src/generated/resources/.cache/9047e4e94996e73e9dfde3738763637fb609e07e index 86c22d11..fe63fe79 100644 --- a/src/generated/resources/.cache/9047e4e94996e73e9dfde3738763637fb609e07e +++ b/src/generated/resources/.cache/9047e4e94996e73e9dfde3738763637fb609e07e @@ -1,2 +1,2 @@ -// 1.19.2 2023-11-04T19:54:14.3638039 Create: The Factory Must Grow's lang merger -4089e842003f7935fe1976dc81e85c9841c7de24 assets/createindustry/lang/en_us.json +// 1.19.2 2023-11-09T21:10:53.1545746 Create: The Factory Must Grow's lang merger +265ab9cffd38eed60d9f2641d98d6e3cd46ff4fa assets/createindustry/lang/en_us.json diff --git a/src/generated/resources/assets/createindustry/blockstates/heavy_casing_encased_cogwheel.json b/src/generated/resources/assets/createindustry/blockstates/heavy_casing_encased_cogwheel.json new file mode 100644 index 00000000..010ca475 --- /dev/null +++ b/src/generated/resources/assets/createindustry/blockstates/heavy_casing_encased_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "createindustry:block/heavy_casing_encased_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "createindustry:block/heavy_casing_encased_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "createindustry:block/heavy_casing_encased_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "createindustry:block/heavy_casing_encased_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "createindustry:block/heavy_casing_encased_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "createindustry:block/heavy_casing_encased_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "createindustry:block/heavy_casing_encased_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "createindustry:block/heavy_casing_encased_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "createindustry:block/heavy_casing_encased_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "createindustry:block/heavy_casing_encased_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "createindustry:block/heavy_casing_encased_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "createindustry:block/heavy_casing_encased_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/blockstates/heavy_casing_encased_large_cogwheel.json b/src/generated/resources/assets/createindustry/blockstates/heavy_casing_encased_large_cogwheel.json new file mode 100644 index 00000000..9a1433a2 --- /dev/null +++ b/src/generated/resources/assets/createindustry/blockstates/heavy_casing_encased_large_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "createindustry:block/heavy_casing_encased_large_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "createindustry:block/heavy_casing_encased_large_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "createindustry:block/heavy_casing_encased_large_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "createindustry:block/heavy_casing_encased_large_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "createindustry:block/heavy_casing_encased_large_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "createindustry:block/heavy_casing_encased_large_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "createindustry:block/heavy_casing_encased_large_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "createindustry:block/heavy_casing_encased_large_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "createindustry:block/heavy_casing_encased_large_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "createindustry:block/heavy_casing_encased_large_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "createindustry:block/heavy_casing_encased_large_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "createindustry:block/heavy_casing_encased_large_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/blockstates/heavy_casing_encased_shaft.json b/src/generated/resources/assets/createindustry/blockstates/heavy_casing_encased_shaft.json new file mode 100644 index 00000000..82e41f60 --- /dev/null +++ b/src/generated/resources/assets/createindustry/blockstates/heavy_casing_encased_shaft.json @@ -0,0 +1,20 @@ +{ + "variants": { + "axis=x": { + "model": "createindustry:block/encased_shaft/block_heavy_casing", + "uvlock": true, + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "createindustry:block/encased_shaft/block_heavy_casing", + "uvlock": true + }, + "axis=z": { + "model": "createindustry:block/encased_shaft/block_heavy_casing", + "uvlock": true, + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/blockstates/steel_encased_cogwheel.json b/src/generated/resources/assets/createindustry/blockstates/steel_encased_cogwheel.json new file mode 100644 index 00000000..6006a082 --- /dev/null +++ b/src/generated/resources/assets/createindustry/blockstates/steel_encased_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "createindustry:block/steel_encased_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "createindustry:block/steel_encased_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "createindustry:block/steel_encased_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "createindustry:block/steel_encased_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "createindustry:block/steel_encased_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "createindustry:block/steel_encased_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "createindustry:block/steel_encased_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "createindustry:block/steel_encased_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "createindustry:block/steel_encased_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "createindustry:block/steel_encased_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "createindustry:block/steel_encased_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "createindustry:block/steel_encased_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/blockstates/steel_encased_large_cogwheel.json b/src/generated/resources/assets/createindustry/blockstates/steel_encased_large_cogwheel.json new file mode 100644 index 00000000..768f7ad4 --- /dev/null +++ b/src/generated/resources/assets/createindustry/blockstates/steel_encased_large_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "createindustry:block/steel_encased_large_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "createindustry:block/steel_encased_large_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "createindustry:block/steel_encased_large_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "createindustry:block/steel_encased_large_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "createindustry:block/steel_encased_large_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "createindustry:block/steel_encased_large_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "createindustry:block/steel_encased_large_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "createindustry:block/steel_encased_large_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "createindustry:block/steel_encased_large_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "createindustry:block/steel_encased_large_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "createindustry:block/steel_encased_large_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "createindustry:block/steel_encased_large_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/blockstates/steel_encased_shaft.json b/src/generated/resources/assets/createindustry/blockstates/steel_encased_shaft.json new file mode 100644 index 00000000..e11bb634 --- /dev/null +++ b/src/generated/resources/assets/createindustry/blockstates/steel_encased_shaft.json @@ -0,0 +1,20 @@ +{ + "variants": { + "axis=x": { + "model": "createindustry:block/encased_shaft/block_steel", + "uvlock": true, + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "createindustry:block/encased_shaft/block_steel", + "uvlock": true + }, + "axis=z": { + "model": "createindustry:block/encased_shaft/block_steel", + "uvlock": true, + "x": 90, + "y": 180 + } + } +} \ 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 7f0d8692..b2679c29 100644 --- a/src/generated/resources/assets/createindustry/lang/en_ud.json +++ b/src/generated/resources/assets/createindustry/lang/en_ud.json @@ -99,6 +99,9 @@ "block.createindustry.green_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ uǝǝɹ⅁", "block.createindustry.hardened_planks": "sʞuɐןԀ pǝuǝpɹɐH", "block.createindustry.heavy_casing_door": "ɹooᗡ buısɐƆ ʎʌɐǝH", + "block.createindustry.heavy_casing_encased_cogwheel": "ןǝǝɥʍboƆ pǝsɐɔuƎ buısɐƆ ʎʌɐǝH", + "block.createindustry.heavy_casing_encased_large_cogwheel": "ןǝǝɥʍboƆ ǝbɹɐꞀ pǝsɐɔuƎ buısɐƆ ʎʌɐǝH", + "block.createindustry.heavy_casing_encased_shaft": "ʇɟɐɥS pǝsɐɔuƎ buısɐƆ ʎʌɐǝH", "block.createindustry.heavy_machinery_casing": "buısɐƆ ʎɹǝuıɥɔɐW ʎʌɐǝH", "block.createindustry.heavy_oil": "ןıO ʎʌɐǝH", "block.createindustry.industrial_pipe": "ǝdıԀ ןɐıɹʇsnpuI", @@ -180,6 +183,9 @@ "block.createindustry.steel_distillation_controller": "ɹǝןןoɹʇuoƆ uoıʇɐןןıʇsıᗡ ןǝǝʇS", "block.createindustry.steel_distillation_output": "ʇndʇnO uoıʇɐןןıʇsıᗡ ןǝǝʇS", "block.createindustry.steel_door": "ɹooᗡ ןǝǝʇS", + "block.createindustry.steel_encased_cogwheel": "ןǝǝɥʍboƆ pǝsɐɔuƎ ןǝǝʇS", + "block.createindustry.steel_encased_large_cogwheel": "ןǝǝɥʍboƆ ǝbɹɐꞀ pǝsɐɔuƎ ןǝǝʇS", + "block.createindustry.steel_encased_shaft": "ʇɟɐɥS pǝsɐɔuƎ ןǝǝʇS", "block.createindustry.steel_fluid_tank": "ʞuɐ⟘ pınןℲ ןǝǝʇS", "block.createindustry.steel_fluid_valve": "ǝʌןɐΛ pınןℲ ןǝǝʇS", "block.createindustry.steel_flywheel": "ןǝǝɥʍʎןℲ ןǝǝʇS", diff --git a/src/generated/resources/assets/createindustry/lang/en_us.json b/src/generated/resources/assets/createindustry/lang/en_us.json index 9285b288..a30f268b 100644 --- a/src/generated/resources/assets/createindustry/lang/en_us.json +++ b/src/generated/resources/assets/createindustry/lang/en_us.json @@ -102,6 +102,9 @@ "block.createindustry.green_concrete_wall": "Green Concrete Wall", "block.createindustry.hardened_planks": "Hardened Planks", "block.createindustry.heavy_casing_door": "Heavy Casing Door", + "block.createindustry.heavy_casing_encased_cogwheel": "Heavy Casing Encased Cogwheel", + "block.createindustry.heavy_casing_encased_large_cogwheel": "Heavy Casing Encased Large Cogwheel", + "block.createindustry.heavy_casing_encased_shaft": "Heavy Casing Encased Shaft", "block.createindustry.heavy_machinery_casing": "Heavy Machinery Casing", "block.createindustry.heavy_oil": "Heavy Oil", "block.createindustry.industrial_pipe": "Industrial Pipe", @@ -183,6 +186,9 @@ "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_cogwheel": "Steel Encased Cogwheel", + "block.createindustry.steel_encased_large_cogwheel": "Steel Encased Large Cogwheel", + "block.createindustry.steel_encased_shaft": "Steel Encased Shaft", "block.createindustry.steel_fluid_tank": "Steel Fluid Tank", "block.createindustry.steel_fluid_valve": "Steel Fluid Valve", "block.createindustry.steel_flywheel": "Steel Flywheel", @@ -288,7 +294,7 @@ "item.createindustry.zinc_grenade": "Zinc Grenade", "itemGroup.createindustry.base": "Create: The Factory Must Grow", - "itemGroup.createindustry.building": "Create: TFMG's Building Blocks", + "itemGroup.createindustry.building": "Create: TFMG Building Blocks", "create.goggles.misc.number": "%1$s", "create.goggles.misc.percent_symbol": "%", @@ -296,34 +302,35 @@ "create.goggles.misc.dot_two": "..", "create.goggles.misc.dot_three": "...", "create.goggles.misc.storage_info": "Storage Info:", - "create.goggles.fluid_in_tank": "Fluid In Tank:", - "create.goggles.surface_scanner.no_rotation": "No Rotation Provided", + "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": "Found Deposit", + "create.goggles.surface_scanner.deposit_found": "Deposit Located!", "create.goggles.surface_scanner.distance": "Distance: %1$s Blocks", - "create.goggles.surface_scanner.scanning_surface": "Scanning Surface", + "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.not_tall_enough": "Distillation Tower is Not Tall Enough", + "create.goggles.distillation_tower.not_tall_enough": "The Fluid Tank is Too Short", "create.goggles.distillation_tower.level": "Distillation Tower Level: %1$s", - "create.goggles.distillation_tower.found_outputs": "Found Outputs: %1$s", + "create.goggles.distillation_tower.found_outputs": "Number of Outputs: %1$s", "create.goggles.distillation_tower.no_outputs": "No Output Blocks Found", "create.goggles.blast_furnace.stats": "Blast Furnace:", - "create.goggles.blast_furnace.size_stats": "Size Stats:", + "create.goggles.blast_furnace.size_stats": "Size:", "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 is Not Built Correctly", + "create.goggles.blast_furnace.invalid": "Blast Furnace Invalid", "create.goggles.coke_oven.status": "Coke Oven:", - "create.goggles.coke_oven.fluid_amount_output": "Fluid Amount In Internal Tank: %1$s mb", + "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": "Item Count In Internal Storage: %1$s", + "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": "One of Internal Tanks Is Full", + "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:", @@ -336,7 +343,6 @@ "create.goggles.get_engine_efficiency": "%1$s", "create.goggles.engine.stress": "%1$ssu", - "create.goggles.blast_furnace.nothing_lol": "", "create.goggles.diesel_engine.info": "Diesel Engine:", "create.goggles.pumpjack_info": "Pumpjack Info:", "create.goggles.pumpjack.part_missing": "Hammer or Crank Missing", @@ -353,80 +359,77 @@ "create.goggles.machine_input.no_rot": "No Rotation Provided!", "create.goggles.machine_input.power_level": "Power Level: ", - "createindustry.ponder.small_engines.text_1": "To create a small engine, place a front part and a back part behind it", - "createindustry.ponder.small_engines.text_2": "Fuel is inputted to the front part and exhaust is removed from the back part using pipes and an exhaust block", - "createindustry.ponder.small_engines.text_3": "Engine will start when redstone signal is applied to the front part", - "createindustry.ponder.small_engines.text_4": "There are engines with Gasoline, LPG and Kerosene as a fuel", - "createindustry.ponder.diesel_engine_small.text_1": "Diesel Engine is assembled by placing a shaft over a diesel engine block", - "createindustry.ponder.diesel_engine_small.text_2": "Carbon Dioxide has to be outputted by pipes and exhaust block", - "createindustry.ponder.diesel_engine_big.text_1": "Diesel engines can be placed next to each other to form bigger ones", - "createindustry.ponder.diesel_engine_big.text_2": "This way, Diesel Engines can have very big output", - "createindustry.ponder.surface_scanner.text_1": "Surface Scanner is used for finding crude oil deposits", - "createindustry.ponder.surface_scanner.text_2": "When rotation is applied, the machine starts to find the nearest oil deposit", - "createindustry.ponder.surface_scanner.text_3": "When a deposit is found, compass at the top will show the direction", - "createindustry.ponder.surface_scanner.text_4": "X: 47 Z: 68", - "createindustry.ponder.pumpjack.text_1": "First step of mining oil is building industrial pipes from deposit to surface", - "createindustry.ponder.pumpjack.text_2": "Pumpjack base has to be placed on the top of the pipe", - "createindustry.ponder.distillation_tower.text_1": "Base of a distillation tower are steel tanks", - "createindustry.ponder.distillation_tower.text_2": "Tower is assembled by placing Steel Distillation Controller next to the tanks", - "createindustry.ponder.distillation_tower.text_3": "To finish the multiblock place up to 6 Distillation outputs and Industrial Pipes between them", - "createindustry.ponder.distillation_tower.text_4": "Place Blaze Burners under the tanks to power it, dial on the tower shows the power level of the structure", - "createindustry.ponder.distillation_tower.text_5": "Oil is inserted into the controller block", - "createindustry.ponder.distillation_tower.text_6": "Every output block outputs one of the oil products", + "create.recipe.distillation": "Distillation", + "create.recipe.advanced_distillation": "Advanced Distillation", + "create.recipe.industrial_blasting": "Industrial Blasting", + "create.recipe.casting": "Casting", + "create.recipe.coking": "Coking", + + "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": "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.distillation_tower.header": "Distillation Tower Setup", - "createindustry.ponder.pumpjack.header": "Building Pumpjack", + "createindustry.ponder.pumpjack.header": "Building Pumpjacks", - "createindustry.ponder.surface_scanner.header": "Finding Oil", + "createindustry.ponder.surface_scanner.header": "Locating Oil", - "createindustry.ponder.diesel_engine_big.header": "Making Big Engines", - - "createindustry.ponder.diesel_engine_small.header": "Building Diesel Engine", - - "createindustry.ponder.small_engines.header": "Building Small Engines", - "createindustry.ponder.tag.oil": "Oil Related Machines", - "createindustry.ponder.tag.oil.description": "Machines that mine, process or use crude oil and fluids created from it", - "createindustry.ponder.diesel_engine.text_1": "Diesel Engine is assembled by placing a shaft in the front of a diesel engine block", - "createindustry.ponder.diesel_engine.text_2": "Carbon Dioxide has to be outputted by pipes and exhaust block", - "createindustry.ponder.diesel_engine.text_3": "Diesel engines need air that can be collected with air intakes", - "createindustry.ponder.diesel_engine_expansion.text_1": "Diesel engine expansions give diesel engines 2 new fluid slots, for cooling and lubrication", - "createindustry.ponder.pumpjack.text_3": "Pumpjack hammer needs to be placed behind it", - "createindustry.ponder.pumpjack.text_4": "The last step is placing a machine input (which is a power input for the pumpjack) with a pumpjack crank above it", - "createindustry.ponder.distillation_tower.text_12": "Heavy Oil", - "createindustry.ponder.blast_furnace.text_1": "Main part of a blast furnace is a blast furnace output", - "createindustry.ponder.blast_furnace.text_2": "To make a blast furnace, make a cylinder of fireproof bricks around it", - "createindustry.ponder.blast_furnace.text_3": "Blast furnaces need reinforcements that are at least half the total height", - "createindustry.ponder.blast_furnace.text_4": "Everything is inserted through a hole at the top", - "createindustry.ponder.coke_oven.text_1": "Coke Oven is created by placing coke oven block as shown and clicking the front block with a wrench", - "createindustry.ponder.coke_oven.text_2": "Coke Ovens are slow so it is beneficial to have long arrays of them", - "createindustry.ponder.coke_oven.text_3": "Coal can be inserted from anywhere", - "createindustry.ponder.coke_oven.text_4": "Creosote and Carbon Dioxide have to be pumped out of the machine", - "createindustry.ponder.coke_oven.text_5": "After some time, coal coke will fall out of the machine at the front", - "createindustry.ponder.casting.text_1": "Casting is done by pouring liquid metal into a casting basin with a casting spout", - "createindustry.ponder.casting.text_2": "Casting basin needs a mold to function", - - "createindustry.ponder.diesel_engine.header": "Building Diesel Engine", + "createindustry.ponder.diesel_engine.header": "Building a Diesel Engine", "createindustry.ponder.diesel_engine_expansion.header": "Expanding Diesel Engines", - "createindustry.ponder.coke_oven.header": "Building Coke Oven", - "createindustry.ponder.blast_furnace": "Building Blast Furnace", + "createindustry.ponder.small_engines.header": "Building Small Engines", + + "createindustry.ponder.coke_oven.header": "Building a Coke Oven", + "createindustry.ponder.blast_furnace": "Building a Blast Furnace", "createindustry.ponder.casting.header": "Casting Metal", - "createindustry.ponder.tag.metallurgy": "Metal Processing Related Machines", - "createindustry.ponder.tag.metallurgy.description": "Machines that mine, process or use crude oil and fluids created from it", + "createindustry.ponder.tag.oil": "Oil Related Machines", + "createindustry.ponder.tag.metallurgy": "Metal Working Machines", + "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", "_": "->------------------------] UI & Messages [------------------------<-", "itemGroup.createindustry.base": "Create: The Factory Must Grow", - "itemGroup.createindustry.building": "Create: TFMG's Building Blocks", + "itemGroup.createindustry.building": "Create: TFMG Building Blocks", "create.goggles.misc.number": "%1$s", "create.goggles.misc.percent_symbol": "%", @@ -434,20 +437,20 @@ "create.goggles.misc.dot_two": "..", "create.goggles.misc.dot_three": "...", "create.goggles.misc.storage_info": "Storage Info:", - "create.goggles.fluid_in_tank": "Fluid In Tank:", - "create.goggles.surface_scanner.no_rotation": "No Rotation Provided", + "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": "Found Deposit", + "create.goggles.surface_scanner.deposit_found": "Deposit Located!", "create.goggles.surface_scanner.distance": "Distance: %1$s Blocks", - "create.goggles.surface_scanner.scanning_surface": "Scanning Surface", + "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.not_tall_enough": "Distillation Tower is Not Tall Enough", + "create.goggles.distillation_tower.not_tall_enough": "The Fluid Tank is Too Short", "create.goggles.distillation_tower.level": "Distillation Tower Level: %1$s", - "create.goggles.distillation_tower.found_outputs": "Found Outputs: %1$s", + "create.goggles.distillation_tower.found_outputs": "Number of Outputs: %1$s", "create.goggles.distillation_tower.no_outputs": "No Output Blocks Found", "create.goggles.blast_furnace.stats": "Blast Furnace:", - "create.goggles.blast_furnace.size_stats": "Size Stats:", + "create.goggles.blast_furnace.size_stats": "Size:", "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", @@ -456,13 +459,13 @@ "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 is Not Built Correctly", + "create.goggles.blast_furnace.invalid": "Blast Furnace Invalid", "create.goggles.coke_oven.status": "Coke Oven:", - "create.goggles.coke_oven.fluid_amount_output": "Fluid Amount In Internal Tank: %1$s mb", + "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": "Item Count In Internal Storage: %1$s", + "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": "One of Internal Tanks Is Full", + "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:", @@ -491,68 +494,74 @@ "create.goggles.machine_input.no_rot": "No Rotation Provided!", "create.goggles.machine_input.power_level": "Power Level: ", + "create.recipe.distillation": "Distillation", + "create.recipe.advanced_distillation": "Advanced Distillation", + "create.recipe.industrial_blasting": "Industrial Blasting", + "create.recipe.casting": "Casting", + "create.recipe.coking": "Coking", + "_": "->------------------------] Ponders [------------------------<-", - "createindustry.ponder.small_engines.text_1": "To create a small engine, place a front part and a back part behind it", - "createindustry.ponder.small_engines.text_2": "Fuel is inputted to the front part and exhaust is removed from the back part using pipes and an exhaust block", - "createindustry.ponder.small_engines.text_3": "Engine will start when redstone signal is applied to the front part", - "createindustry.ponder.small_engines.text_4": "There are engines with Gasoline, LPG and Kerosene as a fuel", - "createindustry.ponder.diesel_engine.text_1": "Diesel Engine is assembled by placing a shaft in the front of a diesel engine block", - "createindustry.ponder.diesel_engine.text_2": "Carbon Dioxide has to be outputted by pipes and exhaust block", - "createindustry.ponder.diesel_engine.text_3": "Diesel engines need air that can be collected with air intakes", - "createindustry.ponder.diesel_engine_expansion.text_1": "Diesel engine expansions give diesel engines 2 new fluid slots, for cooling and lubrication", - "createindustry.ponder.surface_scanner.text_1": "Surface Scanner is used for finding crude oil deposits", - "createindustry.ponder.surface_scanner.text_2": "When rotation is applied, the machine starts to find the nearest oil deposit", - "createindustry.ponder.surface_scanner.text_3": "When a deposit is found, compass at the top will show the direction", - "createindustry.ponder.pumpjack.text_1": "First step of mining oil is building industrial pipes from deposit to surface", - "createindustry.ponder.pumpjack.text_2": "Pumpjack base has to be placed on the top of the pipe", - "createindustry.ponder.pumpjack.text_3": "Pumpjack hammer needs to be placed behind it", - "createindustry.ponder.pumpjack.text_4": "The last step is placing a machine input (which is a power input for the pumpjack) with a pumpjack crank above it", - "createindustry.ponder.distillation_tower.text_1": "Base of a distillation tower are steel tanks", - "createindustry.ponder.distillation_tower.text_2": "Tower is assembled by placing Steel Distillation Controller next to the tanks", - "createindustry.ponder.distillation_tower.text_3": "To finish the multiblock place up to 6 Distillation outputs and Industrial Pipes between them", - "createindustry.ponder.distillation_tower.text_4": "Place Blaze Burners under the tanks to power it, dial on the tower shows the power level of the structure", - "createindustry.ponder.distillation_tower.text_5": "Oil is inserted into the controller block", - "createindustry.ponder.distillation_tower.text_6": "Every output block outputs one of the oil products", + "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": "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": "Main part of a blast furnace is a blast furnace output", - "createindustry.ponder.blast_furnace.text_2": "To make a blast furnace, make a cylinder of fireproof bricks around it", - "createindustry.ponder.blast_furnace.text_3": "Blast furnaces need reinforcements that are at least half the total height", - "createindustry.ponder.blast_furnace.text_4": "Everything is inserted through a hole at the top", - "createindustry.ponder.coke_oven.text_1": "Coke Oven is created by placing coke oven block as shown and clicking the front block with a wrench", - "createindustry.ponder.coke_oven.text_2": "Coke Ovens are slow so it is beneficial to have long arrays of them", - "createindustry.ponder.coke_oven.text_3": "Coal can be inserted from anywhere", - "createindustry.ponder.coke_oven.text_4": "Creosote and Carbon Dioxide have to be pumped out of the machine", - "createindustry.ponder.coke_oven.text_5": "After some time, coal coke will fall out of the machine at the front", - "createindustry.ponder.casting.text_1": "Casting is done by pouring liquid metal into a casting basin with a casting spout", - "createindustry.ponder.casting.text_2": "Casting basin needs a mold to function", + "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.distillation_tower.header": "Distillation Tower Setup", - "createindustry.ponder.pumpjack.header": "Building Pumpjack", + "createindustry.ponder.pumpjack.header": "Building Pumpjacks", - "createindustry.ponder.surface_scanner.header": "Finding Oil", + "createindustry.ponder.surface_scanner.header": "Locating Oil", - "createindustry.ponder.diesel_engine.header": "Building Diesel Engine", + "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.coke_oven.header": "Building Coke Oven", - "createindustry.ponder.blast_furnace": "Building Blast Furnace", + "createindustry.ponder.coke_oven.header": "Building a Coke Oven", + "createindustry.ponder.blast_furnace": "Building a Blast Furnace", "createindustry.ponder.casting.header": "Casting Metal", "createindustry.ponder.tag.oil": "Oil Related Machines", - "createindustry.ponder.tag.metallurgy": "Metal Processing Related Machines", - "createindustry.ponder.tag.oil.description": "Machines that mine, process or use crude oil and fluids created from it", - "createindustry.ponder.tag.metallurgy.description": "Machines that mine, process or use crude oil and fluids created from it", + "createindustry.ponder.tag.metallurgy": "Metal Working Machines", + "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!" diff --git a/src/generated/resources/assets/createindustry/models/block/cooling_fluid.json b/src/generated/resources/assets/createindustry/models/block/cooling_fluid.json index e7ea35da..7a739b9e 100644 --- a/src/generated/resources/assets/createindustry/models/block/cooling_fluid.json +++ b/src/generated/resources/assets/createindustry/models/block/cooling_fluid.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "createindustry:fluid/napalm_still" + "particle": "createindustry:fluid/cooling_fluid_still" } } \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/creosote.json b/src/generated/resources/assets/createindustry/models/block/creosote.json index e7ea35da..d58da0f9 100644 --- a/src/generated/resources/assets/createindustry/models/block/creosote.json +++ b/src/generated/resources/assets/createindustry/models/block/creosote.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "createindustry:fluid/napalm_still" + "particle": "createindustry:fluid/creosote_still" } } \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel.json b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel.json new file mode 100644 index 00000000..bebcbafe --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_cogwheel/block", + "textures": { + "1": "createindustry:block/heavy_machinery_casing", + "4": "createindustry:block/heavy_gearbox", + "casing": "createindustry:block/heavy_machinery_casing", + "particle": "createindustry:block/heavy_machinery_casing", + "side": "createindustry:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel_bottom.json b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel_bottom.json new file mode 100644 index 00000000..2d099520 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_cogwheel/block_bottom", + "textures": { + "1": "createindustry:block/heavy_machinery_casing", + "4": "createindustry:block/heavy_gearbox", + "casing": "createindustry:block/heavy_machinery_casing", + "particle": "createindustry:block/heavy_machinery_casing", + "side": "createindustry:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel_top.json b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel_top.json new file mode 100644 index 00000000..ec40af04 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel_top.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_cogwheel/block_top", + "textures": { + "1": "createindustry:block/heavy_machinery_casing", + "4": "createindustry:block/heavy_gearbox", + "casing": "createindustry:block/heavy_machinery_casing", + "particle": "createindustry:block/heavy_machinery_casing", + "side": "createindustry:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel_top_bottom.json b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel_top_bottom.json new file mode 100644 index 00000000..e0494835 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_cogwheel_top_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_cogwheel/block_top_bottom", + "textures": { + "1": "createindustry:block/heavy_machinery_casing", + "4": "createindustry:block/heavy_gearbox", + "casing": "createindustry:block/heavy_machinery_casing", + "particle": "createindustry:block/heavy_machinery_casing", + "side": "createindustry:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel.json b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel.json new file mode 100644 index 00000000..169a2f09 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_large_cogwheel/block", + "textures": { + "1": "createindustry:block/heavy_machinery_casing", + "4": "createindustry:block/heavy_gearbox", + "casing": "createindustry:block/heavy_machinery_casing", + "particle": "createindustry:block/heavy_machinery_casing", + "side": "createindustry:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_bottom.json b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_bottom.json new file mode 100644 index 00000000..16963303 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_large_cogwheel/block_bottom", + "textures": { + "1": "createindustry:block/heavy_machinery_casing", + "4": "createindustry:block/heavy_gearbox", + "casing": "createindustry:block/heavy_machinery_casing", + "particle": "createindustry:block/heavy_machinery_casing", + "side": "createindustry:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_top.json b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_top.json new file mode 100644 index 00000000..b81e2c08 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_top.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_large_cogwheel/block_top", + "textures": { + "1": "createindustry:block/heavy_machinery_casing", + "4": "createindustry:block/heavy_gearbox", + "casing": "createindustry:block/heavy_machinery_casing", + "particle": "createindustry:block/heavy_machinery_casing", + "side": "createindustry:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_top_bottom.json b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_top_bottom.json new file mode 100644 index 00000000..342e3d52 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/heavy_casing_encased_large_cogwheel_top_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_large_cogwheel/block_top_bottom", + "textures": { + "1": "createindustry:block/heavy_machinery_casing", + "4": "createindustry:block/heavy_gearbox", + "casing": "createindustry:block/heavy_machinery_casing", + "particle": "createindustry:block/heavy_machinery_casing", + "side": "createindustry:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/liquid_asphalt.json b/src/generated/resources/assets/createindustry/models/block/liquid_asphalt.json index 89ae8c6a..5d301fcc 100644 --- a/src/generated/resources/assets/createindustry/models/block/liquid_asphalt.json +++ b/src/generated/resources/assets/createindustry/models/block/liquid_asphalt.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "createindustry:fluid/liquid_concrete" + "particle": "createindustry:fluid/liquid_asphalt" } } \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/molten_slag.json b/src/generated/resources/assets/createindustry/models/block/molten_slag.json index 404bb114..c9130e9a 100644 --- a/src/generated/resources/assets/createindustry/models/block/molten_slag.json +++ b/src/generated/resources/assets/createindustry/models/block/molten_slag.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "createindustry:fluid/liquid_plastic_still" + "particle": "createindustry:fluid/molten_slag_still" } } \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/molten_steel.json b/src/generated/resources/assets/createindustry/models/block/molten_steel.json index 404bb114..e2375d0a 100644 --- a/src/generated/resources/assets/createindustry/models/block/molten_steel.json +++ b/src/generated/resources/assets/createindustry/models/block/molten_steel.json @@ -1,5 +1,5 @@ { "textures": { - "particle": "createindustry:fluid/liquid_plastic_still" + "particle": "createindustry:fluid/molten_steel_still" } } \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel.json b/src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel.json new file mode 100644 index 00000000..ec6ea4e6 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_cogwheel/block", + "textures": { + "1": "createindustry:block/steel_casing", + "4": "createindustry:block/steel_gearbox", + "casing": "createindustry:block/steel_casing", + "particle": "createindustry:block/steel_casing", + "side": "createindustry:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel_bottom.json b/src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel_bottom.json new file mode 100644 index 00000000..f2b5d7b3 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_cogwheel/block_bottom", + "textures": { + "1": "createindustry:block/steel_casing", + "4": "createindustry:block/steel_gearbox", + "casing": "createindustry:block/steel_casing", + "particle": "createindustry:block/steel_casing", + "side": "createindustry:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel_top.json b/src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel_top.json new file mode 100644 index 00000000..b42dc6e6 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel_top.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_cogwheel/block_top", + "textures": { + "1": "createindustry:block/steel_casing", + "4": "createindustry:block/steel_gearbox", + "casing": "createindustry:block/steel_casing", + "particle": "createindustry:block/steel_casing", + "side": "createindustry:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel_top_bottom.json b/src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel_top_bottom.json new file mode 100644 index 00000000..d13b5217 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/steel_encased_cogwheel_top_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_cogwheel/block_top_bottom", + "textures": { + "1": "createindustry:block/steel_casing", + "4": "createindustry:block/steel_gearbox", + "casing": "createindustry:block/steel_casing", + "particle": "createindustry:block/steel_casing", + "side": "createindustry:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel.json b/src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel.json new file mode 100644 index 00000000..346690ae --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_large_cogwheel/block", + "textures": { + "1": "createindustry:block/steel_casing", + "4": "createindustry:block/steel_gearbox", + "casing": "createindustry:block/steel_casing", + "particle": "createindustry:block/steel_casing", + "side": "createindustry:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel_bottom.json b/src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel_bottom.json new file mode 100644 index 00000000..91386e6c --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_large_cogwheel/block_bottom", + "textures": { + "1": "createindustry:block/steel_casing", + "4": "createindustry:block/steel_gearbox", + "casing": "createindustry:block/steel_casing", + "particle": "createindustry:block/steel_casing", + "side": "createindustry:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel_top.json b/src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel_top.json new file mode 100644 index 00000000..e1a12a88 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel_top.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_large_cogwheel/block_top", + "textures": { + "1": "createindustry:block/steel_casing", + "4": "createindustry:block/steel_gearbox", + "casing": "createindustry:block/steel_casing", + "particle": "createindustry:block/steel_casing", + "side": "createindustry:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel_top_bottom.json b/src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel_top_bottom.json new file mode 100644 index 00000000..aa2ed068 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/block/steel_encased_large_cogwheel_top_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "createindustry:block/encased_large_cogwheel/block_top_bottom", + "textures": { + "1": "createindustry:block/steel_casing", + "4": "createindustry:block/steel_gearbox", + "casing": "createindustry:block/steel_casing", + "particle": "createindustry:block/steel_casing", + "side": "createindustry:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/item/heavy_casing_encased_cogwheel.json b/src/generated/resources/assets/createindustry/models/item/heavy_casing_encased_cogwheel.json new file mode 100644 index 00000000..a8220108 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/item/heavy_casing_encased_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "createindustry:block/encased_cogwheel/item", + "textures": { + "1": "createindustry:block/heavy_machinery_casing", + "casing": "createindustry:block/heavy_machinery_casing", + "particle": "createindustry:block/heavy_machinery_casing", + "side": "createindustry:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/item/heavy_casing_encased_large_cogwheel.json b/src/generated/resources/assets/createindustry/models/item/heavy_casing_encased_large_cogwheel.json new file mode 100644 index 00000000..0eef222f --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/item/heavy_casing_encased_large_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "createindustry:block/encased_large_cogwheel/item", + "textures": { + "1": "createindustry:block/heavy_machinery_casing", + "casing": "createindustry:block/heavy_machinery_casing", + "particle": "createindustry:block/heavy_machinery_casing", + "side": "createindustry:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/item/heavy_casing_encased_shaft.json b/src/generated/resources/assets/createindustry/models/item/heavy_casing_encased_shaft.json new file mode 100644 index 00000000..2e5665e4 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/item/heavy_casing_encased_shaft.json @@ -0,0 +1,3 @@ +{ + "parent": "createindustry:block/encased_shaft/item_heavy_casing" +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/item/steel_encased_cogwheel.json b/src/generated/resources/assets/createindustry/models/item/steel_encased_cogwheel.json new file mode 100644 index 00000000..443a0481 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/item/steel_encased_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "createindustry:block/encased_cogwheel/item", + "textures": { + "1": "createindustry:block/steel_casing", + "casing": "createindustry:block/steel_casing", + "particle": "createindustry:block/steel_casing", + "side": "createindustry:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/item/steel_encased_large_cogwheel.json b/src/generated/resources/assets/createindustry/models/item/steel_encased_large_cogwheel.json new file mode 100644 index 00000000..10580afa --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/item/steel_encased_large_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "createindustry:block/encased_large_cogwheel/item", + "textures": { + "1": "createindustry:block/steel_casing", + "casing": "createindustry:block/steel_casing", + "particle": "createindustry:block/steel_casing", + "side": "createindustry:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/createindustry/models/item/steel_encased_shaft.json b/src/generated/resources/assets/createindustry/models/item/steel_encased_shaft.json new file mode 100644 index 00000000..f99bef83 --- /dev/null +++ b/src/generated/resources/assets/createindustry/models/item/steel_encased_shaft.json @@ -0,0 +1,3 @@ +{ + "parent": "createindustry:block/encased_shaft/item_steel" +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/layered_bauxite_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/layered_bauxite_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..cbe855f5 --- /dev/null +++ b/src/generated/resources/data/createindustry/advancements/recipes/createindustry.building/layered_bauxite_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:layered_bauxite_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_stone_types_bauxite", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "createindustry:layered_bauxite_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/loot_tables/blocks/heavy_casing_encased_cogwheel.json b/src/generated/resources/data/createindustry/loot_tables/blocks/heavy_casing_encased_cogwheel.json new file mode 100644 index 00000000..da831950 --- /dev/null +++ b/src/generated/resources/data/createindustry/loot_tables/blocks/heavy_casing_encased_cogwheel.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:cogwheel" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/loot_tables/blocks/heavy_casing_encased_large_cogwheel.json b/src/generated/resources/data/createindustry/loot_tables/blocks/heavy_casing_encased_large_cogwheel.json new file mode 100644 index 00000000..0f88c827 --- /dev/null +++ b/src/generated/resources/data/createindustry/loot_tables/blocks/heavy_casing_encased_large_cogwheel.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:large_cogwheel" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/loot_tables/blocks/heavy_casing_encased_shaft.json b/src/generated/resources/data/createindustry/loot_tables/blocks/heavy_casing_encased_shaft.json new file mode 100644 index 00000000..30564f2b --- /dev/null +++ b/src/generated/resources/data/createindustry/loot_tables/blocks/heavy_casing_encased_shaft.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:shaft" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/loot_tables/blocks/steel_encased_cogwheel.json b/src/generated/resources/data/createindustry/loot_tables/blocks/steel_encased_cogwheel.json new file mode 100644 index 00000000..da831950 --- /dev/null +++ b/src/generated/resources/data/createindustry/loot_tables/blocks/steel_encased_cogwheel.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:cogwheel" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/loot_tables/blocks/steel_encased_large_cogwheel.json b/src/generated/resources/data/createindustry/loot_tables/blocks/steel_encased_large_cogwheel.json new file mode 100644 index 00000000..0f88c827 --- /dev/null +++ b/src/generated/resources/data/createindustry/loot_tables/blocks/steel_encased_large_cogwheel.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:large_cogwheel" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/createindustry/loot_tables/blocks/steel_encased_shaft.json b/src/generated/resources/data/createindustry/loot_tables/blocks/steel_encased_shaft.json new file mode 100644 index 00000000..30564f2b --- /dev/null +++ b/src/generated/resources/data/createindustry/loot_tables/blocks/steel_encased_shaft.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:shaft" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json b/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json index cdfa3a5a..186bdd0f 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json +++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json @@ -14,6 +14,12 @@ "createindustry:copper_encased_cast_iron_pipe", "createindustry:copper_encased_brass_pipe", "createindustry:copper_encased_plastic_pipe", - "createindustry:copper_encased_aluminum_pipe" + "createindustry:copper_encased_aluminum_pipe", + "createindustry:steel_encased_shaft", + "createindustry:heavy_casing_encased_shaft", + "createindustry:steel_encased_cogwheel", + "createindustry:heavy_casing_encased_cogwheel", + "createindustry:steel_encased_large_cogwheel", + "createindustry:heavy_casing_encased_large_cogwheel" ] } \ 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 ec649be5..ea0dafa0 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -89,6 +89,12 @@ "createindustry:aluminum_mechanical_pump", "createindustry:aluminum_smart_fluid_pipe", "createindustry:aluminum_fluid_valve", + "createindustry:steel_encased_shaft", + "createindustry:heavy_casing_encased_shaft", + "createindustry:steel_encased_cogwheel", + "createindustry:heavy_casing_encased_cogwheel", + "createindustry:steel_encased_large_cogwheel", + "createindustry:heavy_casing_encased_large_cogwheel", "createindustry:black_concrete", "createindustry:black_concrete_wall", "createindustry:black_concrete_stairs", diff --git a/src/main/java/com/drmangotea/createindustry/base/TFMGBuilderTransformers.java b/src/main/java/com/drmangotea/createindustry/base/TFMGBuilderTransformers.java index 9aacacf7..c88627b6 100644 --- a/src/main/java/com/drmangotea/createindustry/base/TFMGBuilderTransformers.java +++ b/src/main/java/com/drmangotea/createindustry/base/TFMGBuilderTransformers.java @@ -1,22 +1,38 @@ package com.drmangotea.createindustry.base; +import com.drmangotea.createindustry.CreateTFMG; import com.drmangotea.createindustry.blocks.decoration.doors.TFMGSlidingDoorBlock; +import com.drmangotea.createindustry.blocks.encased.TFMGEncasedCogwheelBlock; +import com.drmangotea.createindustry.blocks.encased.TFMGEncasedShaftBlock; +import com.simibubi.create.AllBlocks; import com.simibubi.create.AllTags; import com.simibubi.create.content.contraptions.behaviour.DoorMovingInteraction; +import com.simibubi.create.content.decoration.encasing.EncasedCTBehaviour; import com.simibubi.create.content.decoration.slidingDoor.SlidingDoorMovementBehaviour; +import com.simibubi.create.content.kinetics.BlockStressDefaults; +import com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock; +import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogCTBehaviour; +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; import com.simibubi.create.foundation.data.AssetLookup; +import com.simibubi.create.foundation.data.CreateRegistrate; import com.simibubi.create.foundation.data.ModelGen; import com.simibubi.create.foundation.data.SharedProperties; import com.tterrag.registrate.builders.BlockBuilder; import com.tterrag.registrate.util.nullness.NonNullUnaryOperator; import net.minecraft.client.renderer.RenderType; +import net.minecraft.core.Direction; import net.minecraft.data.loot.BlockLoot; +import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BlockTags; import net.minecraft.tags.ItemTags; +import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.Material; import net.minecraftforge.client.model.generators.ModelFile; +import java.util.function.Supplier; + import static com.simibubi.create.AllInteractionBehaviours.interactionBehaviour; import static com.simibubi.create.AllMovementBehaviours.movementBehaviour; import static com.simibubi.create.foundation.data.BlockStateGen.axisBlock; @@ -59,5 +75,73 @@ public class TFMGBuilderTransformers { } + public static NonNullUnaryOperator> encasedShaft(String casing, + Supplier casingShift) { + return builder -> encasedBase(builder, () -> AllBlocks.SHAFT.get()) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(casingShift.get()))) + .onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, casingShift.get(), + (s, f) -> f.getAxis() != s.getValue(TFMGEncasedShaftBlock.AXIS)))) + .blockstate((c, p) -> axisBlock(c, p, blockState -> p.models() + .getExistingFile(p.modLoc("block/encased_shaft/block_" + casing)), true)) + .item() + .model(AssetLookup.customBlockItemModel("encased_shaft", "item_" + casing)) + .build(); + } + public static NonNullUnaryOperator> encasedCogwheel( + String casing, Supplier casingShift) { + return b -> encasedCogwheelBase(b, casing, casingShift, () -> AllBlocks.COGWHEEL.get(), false); + } + + public static NonNullUnaryOperator> encasedLargeCogwheel( + String casing, Supplier casingShift) { + return b -> encasedCogwheelBase(b, casing, casingShift, () -> AllBlocks.LARGE_COGWHEEL.get(), true) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCogCTBehaviour(casingShift.get()))); + } + + private static BlockBuilder encasedCogwheelBase(BlockBuilder b, + String casing, Supplier casingShift, Supplier drop, boolean large) { + String encasedSuffix; + if(!large) { + encasedSuffix = "_encased_cogwheel_side" + (large ? "_connected" : ""); + } else encasedSuffix = "_encased_cogwheel_side_large"; + String blockFolder = large ? "encased_large_cogwheel" : "encased_cogwheel"; + String wood = casing.equals("steel") ? "steel_casing" : "heavy_machinery_casing"; + String gearbox = casing.equals("steel") ? "steel_gearbox" : "heavy_gearbox"; + + String casing1 = casing.equals("heavy_casing") ? "heavy_machinery" : casing; + return encasedBase(b, drop).addLayer(() -> RenderType::cutoutMipped) + .onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, casingShift.get(), + (s, f) -> f.getAxis() == s.getValue(TFMGEncasedCogwheelBlock.AXIS) + && !s.getValue(f.getAxisDirection() == Direction.AxisDirection.POSITIVE ? TFMGEncasedCogwheelBlock.TOP_SHAFT + : TFMGEncasedCogwheelBlock.BOTTOM_SHAFT)))) + .blockstate((c, p) -> axisBlock(c, p, blockState -> { + String suffix = (blockState.getValue(TFMGEncasedCogwheelBlock.TOP_SHAFT) ? "_top" : "") + + (blockState.getValue(TFMGEncasedCogwheelBlock.BOTTOM_SHAFT) ? "_bottom" : ""); + String modelName = c.getName() + suffix; + return p.models() + .withExistingParent(modelName, p.modLoc("block/" + blockFolder + "/block" + suffix)) + .texture("casing", CreateTFMG.asResource("block/" + casing1 + "_casing")) + .texture("particle", CreateTFMG.asResource("block/" + casing1 + "_casing")) + .texture("4", CreateTFMG.asResource("block/" + gearbox)) + .texture("1", CreateTFMG.asResource("block/" + wood)) + .texture("side", CreateTFMG.asResource("block/" + casing1 + encasedSuffix)); + }, false)) + .item() + .model((c, p) -> p.withExistingParent(c.getName(), p.modLoc("block/" + blockFolder + "/item")) + .texture("casing", CreateTFMG.asResource("block/" + casing1 + "_casing")) + .texture("particle", CreateTFMG.asResource("block/" + casing1 + "_casing")) + .texture("1", CreateTFMG.asResource("block/" + wood)) + .texture("side", CreateTFMG.asResource("block/" + casing1 + encasedSuffix))) + .build(); + } + + private static BlockBuilder encasedBase(BlockBuilder b, + Supplier drop) { + return b.initialProperties(SharedProperties::stone) + .properties(BlockBehaviour.Properties::noOcclusion) + .transform(BlockStressDefaults.setNoImpact()) + .loot((p, lb) -> p.dropOther(lb, drop.get())); + } + } diff --git a/src/main/java/com/drmangotea/createindustry/base/TFMGSpriteShifts.java b/src/main/java/com/drmangotea/createindustry/base/TFMGSpriteShifts.java index dd659086..407622ae 100644 --- a/src/main/java/com/drmangotea/createindustry/base/TFMGSpriteShifts.java +++ b/src/main/java/com/drmangotea/createindustry/base/TFMGSpriteShifts.java @@ -45,8 +45,8 @@ public class TFMGSpriteShifts { public static final CTSpriteShiftEntry STEEL_ENCASED_COGWHEEL_SIDE = vertical("steel_encased_cogwheel_side"), STEEL_ENCASED_COGWHEEL_OTHERSIDE = horizontal("steel_encased_cogwheel_side"), - HEAVY_CASING_ENCASED_COGWHEEL_SIDE = vertical("heavy_casing_encased_cogwheel_side"), - HEAVY_CASING_ENCASED_COGWHEEL_OTHERSIDE = horizontal("heavy_casing_encased_cogwheel_side"); + HEAVY_CASING_ENCASED_COGWHEEL_SIDE = vertical("heavy_machinery_encased_cogwheel_side"), + HEAVY_CASING_ENCASED_COGWHEEL_OTHERSIDE = horizontal("heavy_machinery_encased_cogwheel_side"); ////////////////////// public static CTSpriteShiftEntry omni(String name) { diff --git a/src/main/java/com/drmangotea/createindustry/blocks/encased/TFMGEncasedCogwheelBlock.java b/src/main/java/com/drmangotea/createindustry/blocks/encased/TFMGEncasedCogwheelBlock.java new file mode 100644 index 00000000..07a881eb --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/blocks/encased/TFMGEncasedCogwheelBlock.java @@ -0,0 +1,293 @@ +package com.drmangotea.createindustry.blocks.encased; + +import com.drmangotea.createindustry.registry.TFMGBlockEntities; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.contraptions.ITransformableBlock; +import com.simibubi.create.content.contraptions.StructureTransform; +import com.simibubi.create.content.decoration.encasing.EncasedBlock; +import com.simibubi.create.content.kinetics.base.IRotate; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock; +import com.simibubi.create.content.kinetics.simpleRelays.CogWheelBlock; +import com.simibubi.create.content.kinetics.simpleRelays.ICogWheel; +import com.simibubi.create.content.kinetics.simpleRelays.SimpleKineticBlockEntity; +import com.simibubi.create.content.schematics.requirement.ISpecialBlockItemRequirement; +import com.simibubi.create.content.schematics.requirement.ItemRequirement; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.utility.Iterate; +import com.simibubi.create.foundation.utility.VoxelShaper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.NonNullList; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Mirror; +import net.minecraft.world.level.block.Rotation; +import net.minecraft.world.level.block.entity.BlockEntity; +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; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.HitResult; + +import java.util.function.Supplier; + +public class TFMGEncasedCogwheelBlock extends RotatedPillarKineticBlock + implements ICogWheel, IBE, ISpecialBlockItemRequirement, ITransformableBlock, EncasedBlock { + + public static final BooleanProperty TOP_SHAFT = BooleanProperty.create("top_shaft"); + public static final BooleanProperty BOTTOM_SHAFT = BooleanProperty.create("bottom_shaft"); + + protected final boolean isLarge; + private final Supplier casing; + + public TFMGEncasedCogwheelBlock(Properties properties, boolean large, Supplier casing) { + super(properties); + isLarge = large; + this.casing = casing; + registerDefaultState(defaultBlockState().setValue(TOP_SHAFT, false) + .setValue(BOTTOM_SHAFT, false)); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder.add(TOP_SHAFT, BOTTOM_SHAFT)); + } + + @Override + public void fillItemCategory(CreativeModeTab pTab, NonNullList pItems) {} + + @Override + public ItemStack getCloneItemStack(BlockState state, HitResult target, BlockGetter world, BlockPos pos, Player player) { + if (target instanceof BlockHitResult) + return ((BlockHitResult) target).getDirection() + .getAxis() != getRotationAxis(state) + ? isLarge ? AllBlocks.LARGE_COGWHEEL.asStack() : AllBlocks.COGWHEEL.asStack() + : getCasing().asItem().getDefaultInstance(); + return super.getCloneItemStack(state, target, world, pos, player); + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + BlockState placedOn = context.getLevel() + .getBlockState(context.getClickedPos() + .relative(context.getClickedFace() + .getOpposite())); + BlockState stateForPlacement = super.getStateForPlacement(context); + if (ICogWheel.isSmallCog(placedOn)) + stateForPlacement = + stateForPlacement.setValue(AXIS, ((IRotate) placedOn.getBlock()).getRotationAxis(placedOn)); + return stateForPlacement; + } + + @Override + public boolean skipRendering(BlockState pState, BlockState pAdjacentBlockState, Direction pDirection) { + return pState.getBlock() == pAdjacentBlockState.getBlock() + && pState.getValue(AXIS) == pAdjacentBlockState.getValue(AXIS); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + if (context.getClickedFace() + .getAxis() != state.getValue(AXIS)) + return super.onWrenched(state, context); + + Level level = context.getLevel(); + if (level.isClientSide) + return InteractionResult.SUCCESS; + + BlockPos pos = context.getClickedPos(); + KineticBlockEntity.switchToBlockState(level, pos, state.cycle(context.getClickedFace() + .getAxisDirection() == Direction.AxisDirection.POSITIVE ? TOP_SHAFT : BOTTOM_SHAFT)); + playRotateSound(level, pos); + return InteractionResult.SUCCESS; + } + + @Override + public BlockState getRotatedBlockState(BlockState originalState, Direction targetedFace) { + originalState = swapShaftsForRotation(originalState, Rotation.CLOCKWISE_90, targetedFace.getAxis()); + return originalState.setValue(RotatedPillarKineticBlock.AXIS, + VoxelShaper + .axisAsFace(originalState.getValue(RotatedPillarKineticBlock.AXIS)) + .getClockWise(targetedFace.getAxis()) + .getAxis()); + } + + @Override + public InteractionResult onSneakWrenched(BlockState state, UseOnContext context) { + if (context.getLevel().isClientSide) + return InteractionResult.SUCCESS; + context.getLevel() + .levelEvent(2001, context.getClickedPos(), Block.getId(state)); + KineticBlockEntity.switchToBlockState(context.getLevel(), context.getClickedPos(), + (isLarge ? AllBlocks.LARGE_COGWHEEL : AllBlocks.COGWHEEL).getDefaultState() + .setValue(AXIS, state.getValue(AXIS))); + return InteractionResult.SUCCESS; + } + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return face.getAxis() == state.getValue(AXIS) + && state.getValue(face.getAxisDirection() == Direction.AxisDirection.POSITIVE ? TOP_SHAFT : BOTTOM_SHAFT); + } + + @Override + protected boolean areStatesKineticallyEquivalent(BlockState oldState, BlockState newState) { + if (newState.getBlock() instanceof TFMGEncasedCogwheelBlock + && oldState.getBlock() instanceof TFMGEncasedCogwheelBlock) { + if (newState.getValue(TOP_SHAFT) != oldState.getValue(TOP_SHAFT)) + return false; + if (newState.getValue(BOTTOM_SHAFT) != oldState.getValue(BOTTOM_SHAFT)) + return false; + } + return super.areStatesKineticallyEquivalent(oldState, newState); + } + + @Override + public boolean isSmallCog() { + return !isLarge; + } + + @Override + public boolean isLargeCog() { + return isLarge; + } + + @Override + public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) { + return CogWheelBlock.isValidCogwheelPosition(ICogWheel.isLargeCog(state), worldIn, pos, state.getValue(AXIS)); + } + + @Override + public Direction.Axis getRotationAxis(BlockState state) { + return state.getValue(AXIS); + } + + public BlockState swapShafts(BlockState state) { + boolean bottom = state.getValue(BOTTOM_SHAFT); + boolean top = state.getValue(TOP_SHAFT); + state = state.setValue(BOTTOM_SHAFT, top); + state = state.setValue(TOP_SHAFT, bottom); + return state; + } + + public BlockState swapShaftsForRotation(BlockState state, Rotation rotation, Direction.Axis rotationAxis) { + if (rotation == Rotation.NONE) { + return state; + } + + Direction.Axis axis = state.getValue(AXIS); + if (axis == rotationAxis) { + return state; + } + + if (rotation == Rotation.CLOCKWISE_180) { + return swapShafts(state); + } + + boolean clockwise = rotation == Rotation.CLOCKWISE_90; + + if (rotationAxis == Direction.Axis.X) { + if ( axis == Direction.Axis.Z && !clockwise + || axis == Direction.Axis.Y && clockwise) { + return swapShafts(state); + } + } else if (rotationAxis == Direction.Axis.Y) { + if ( axis == Direction.Axis.X && !clockwise + || axis == Direction.Axis.Z && clockwise) { + return swapShafts(state); + } + } else if (rotationAxis == Direction.Axis.Z) { + if ( axis == Direction.Axis.Y && !clockwise + || axis == Direction.Axis.X && clockwise) { + return swapShafts(state); + } + } + + return state; + } + + @Override + public BlockState mirror(BlockState state, Mirror mirror) { + Direction.Axis axis = state.getValue(AXIS); + if (axis == Direction.Axis.X && mirror == Mirror.FRONT_BACK + || axis == Direction.Axis.Z && mirror == Mirror.LEFT_RIGHT) { + return swapShafts(state); + } + return state; + } + + @Override + public BlockState rotate(BlockState state, Rotation rotation) { + state = swapShaftsForRotation(state, rotation, Direction.Axis.Y); + return super.rotate(state, rotation); + } + + @Override + public BlockState transform(BlockState state, StructureTransform transform) { + if (transform.mirror != null) { + state = mirror(state, transform.mirror); + } + + if (transform.rotationAxis == Direction.Axis.Y) { + return rotate(state, transform.rotation); + } + + state = swapShaftsForRotation(state, transform.rotation, transform.rotationAxis); + state = state.setValue(AXIS, transform.rotateAxis(state.getValue(AXIS))); + return state; + } + + @Override + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { + return ItemRequirement + .of(isLarge ? AllBlocks.LARGE_COGWHEEL.getDefaultState() : AllBlocks.COGWHEEL.getDefaultState(), be); + } + + @Override + public Class getBlockEntityClass() { + return SimpleKineticBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return isLarge ? TFMGBlockEntities.TFMG_ENCASED_LARGE_COGWHEEL.get() : TFMGBlockEntities.TFMG_ENCASED_COGWHEEL.get(); + } + + @Override + public Block getCasing() { + return casing.get(); + } + + @Override + public void handleEncasing(BlockState state, Level level, BlockPos pos, ItemStack heldItem, Player player, InteractionHand hand, + BlockHitResult ray) { + BlockState encasedState = defaultBlockState() + .setValue(AXIS, state.getValue(AXIS)); + + for (Direction d : Iterate.directionsInAxis(state.getValue(AXIS))) { + BlockState adjacentState = level.getBlockState(pos.relative(d)); + if (!(adjacentState.getBlock() instanceof IRotate)) + continue; + IRotate def = (IRotate) adjacentState.getBlock(); + if (!def.hasShaftTowards(level, pos.relative(d), adjacentState, d.getOpposite())) + continue; + encasedState = + encasedState.cycle(d.getAxisDirection() == Direction.AxisDirection.POSITIVE ? TFMGEncasedCogwheelBlock.TOP_SHAFT + : TFMGEncasedCogwheelBlock.BOTTOM_SHAFT); + } + + KineticBlockEntity.switchToBlockState(level, pos, encasedState); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/blocks/encased/TFMGEncasedShaftBlock.java b/src/main/java/com/drmangotea/createindustry/blocks/encased/TFMGEncasedShaftBlock.java new file mode 100644 index 00000000..27b14bb5 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/blocks/encased/TFMGEncasedShaftBlock.java @@ -0,0 +1,91 @@ +package com.drmangotea.createindustry.blocks.encased; + +import com.drmangotea.createindustry.registry.TFMGBlockEntities; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.decoration.encasing.EncasedBlock; +import com.simibubi.create.content.kinetics.base.AbstractEncasedShaftBlock; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock; +import com.simibubi.create.content.schematics.requirement.ISpecialBlockItemRequirement; +import com.simibubi.create.content.schematics.requirement.ItemRequirement; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.NonNullList; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.HitResult; + +import java.util.function.Supplier; + +public class TFMGEncasedShaftBlock extends AbstractEncasedShaftBlock + implements IBE, ISpecialBlockItemRequirement, EncasedBlock { + + private final Supplier casing; + + public TFMGEncasedShaftBlock(Properties properties, Supplier casing) { + super(properties); + this.casing = casing; + } + + @Override + public void fillItemCategory(CreativeModeTab pTab, NonNullList pItems) {} + + @Override + public InteractionResult onSneakWrenched(BlockState state, UseOnContext context) { + if (context.getLevel().isClientSide) + return InteractionResult.SUCCESS; + context.getLevel() + .levelEvent(2001, context.getClickedPos(), Block.getId(state)); + KineticBlockEntity.switchToBlockState(context.getLevel(), context.getClickedPos(), + AllBlocks.SHAFT.getDefaultState() + .setValue(AXIS, state.getValue(AXIS))); + return InteractionResult.SUCCESS; + } + + @Override + public ItemStack getCloneItemStack(BlockState state, HitResult target, BlockGetter world, BlockPos pos, Player player) { + if (target instanceof BlockHitResult) + return ((BlockHitResult) target).getDirection() + .getAxis() == getRotationAxis(state) ? AllBlocks.SHAFT.asStack() : getCasing().asItem().getDefaultInstance(); + return super.getCloneItemStack(state, target, world, pos, player); + } + + @Override + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { + return ItemRequirement.of(AllBlocks.SHAFT.getDefaultState(), be); + } + + @Override + public Class getBlockEntityClass() { + return KineticBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TFMG_ENCASED_SHAFT.get(); + } + + @Override + public Block getCasing() { + return casing.get(); + } + + @Override + public void handleEncasing(BlockState state, Level level, BlockPos pos, ItemStack heldItem, Player player, InteractionHand hand, + BlockHitResult ray) { + KineticBlockEntity.switchToBlockState(level, pos, defaultBlockState() + .setValue(RotatedPillarKineticBlock.AXIS, state.getValue(RotatedPillarKineticBlock.AXIS))); + } +} diff --git a/src/main/java/com/drmangotea/createindustry/blocks/engines/small/AbstractEngineTileEntity.java b/src/main/java/com/drmangotea/createindustry/blocks/engines/small/AbstractEngineTileEntity.java index 70b9ca8a..2e508097 100644 --- a/src/main/java/com/drmangotea/createindustry/blocks/engines/small/AbstractEngineTileEntity.java +++ b/src/main/java/com/drmangotea/createindustry/blocks/engines/small/AbstractEngineTileEntity.java @@ -518,11 +518,11 @@ public void write(CompoundTag compound, boolean clientPacket) { float newEfficiencyModifier = 1.4f; if(lubricationOilTank.getFluidAmount()>0) { - newPowerModifier+=.3f; + //newPowerModifier+=.3f; newEfficiencyModifier-=.1f; } if(coolantTank.getFluidAmount()>0) { - newPowerModifier+=.1f; + newPowerModifier+=.2f; newEfficiencyModifier-=.3f; } @@ -581,14 +581,6 @@ public void write(CompoundTag compound, boolean clientPacket) { } - - - - - - - - private void onPositionChanged() { lastKnownPos = worldPosition; } diff --git a/src/main/java/com/drmangotea/createindustry/items/CreosoteBucketItem.java b/src/main/java/com/drmangotea/createindustry/items/CreosoteBucketItem.java new file mode 100644 index 00000000..bfbbb195 --- /dev/null +++ b/src/main/java/com/drmangotea/createindustry/items/CreosoteBucketItem.java @@ -0,0 +1,22 @@ +package com.drmangotea.createindustry.items; + +import net.minecraft.world.item.BucketItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.level.material.Fluid; +import org.jetbrains.annotations.Nullable; + +public class CreosoteBucketItem extends BucketItem { + public CreosoteBucketItem(Fluid p_40689_, Properties p_40690_) { + super(p_40689_, p_40690_); + } + public CreosoteBucketItem(java.util.function.Supplier supplier, Item.Properties builder) { + super(supplier,builder); + } + + @Override + public int getBurnTime(ItemStack itemStack, @Nullable RecipeType recipeType) { + return 800; + } +} diff --git a/src/main/java/com/drmangotea/createindustry/ponder/TFMGPonderIndex.java b/src/main/java/com/drmangotea/createindustry/ponder/TFMGPonderIndex.java index 2c5b0ce4..b9a9c808 100644 --- a/src/main/java/com/drmangotea/createindustry/ponder/TFMGPonderIndex.java +++ b/src/main/java/com/drmangotea/createindustry/ponder/TFMGPonderIndex.java @@ -64,6 +64,8 @@ public class TFMGPonderIndex { .add(TFMGBlocks.STEEL_DISTILLATION_CONTROLLER) .add(TFMGBlocks.PUMPJACK_BASE) .add(TFMGBlocks.PUMPJACK_HAMMER_HOLDER) + .add(TFMGBlocks.DIESEL_ENGINE) + .add(TFMGBlocks.DIESEL_ENGINE_EXPANSION) .add(TFMGBlocks.PUMPJACK_CRANK); PonderRegistry.TAGS.forTag(TFMGPonderTag.METALLURGY) diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGBlockEntities.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGBlockEntities.java index e32a91af..7b7b2e1f 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGBlockEntities.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGBlockEntities.java @@ -51,6 +51,8 @@ import com.drmangotea.createindustry.blocks.pipes.normal.LockablePipeBlockEntity import com.drmangotea.createindustry.blocks.tanks.SteelFluidTankRenderer; import com.drmangotea.createindustry.blocks.tanks.SteelTankBlockEntity; import com.drmangotea.createindustry.blocks.engines.small.UniversalEngineRenderer; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.Create; import com.simibubi.create.content.fluids.pipes.FluidPipeBlockEntity; import com.simibubi.create.content.fluids.pipes.SmartFluidPipeBlockEntity; import com.simibubi.create.content.fluids.pipes.StraightPipeBlockEntity; @@ -61,8 +63,10 @@ import com.simibubi.create.content.fluids.pipes.valve.FluidValveRenderer; import com.simibubi.create.content.fluids.pump.PumpBlockEntity; import com.simibubi.create.content.fluids.pump.PumpCogInstance; import com.simibubi.create.content.fluids.pump.PumpRenderer; -import com.simibubi.create.content.kinetics.base.HalfShaftInstance; -import com.simibubi.create.content.kinetics.base.HorizontalHalfShaftInstance; +import com.simibubi.create.content.kinetics.base.*; +import com.simibubi.create.content.kinetics.simpleRelays.SimpleKineticBlockEntity; +import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogInstance; +import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogRenderer; import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer; import com.tterrag.registrate.util.entry.BlockEntityEntry; @@ -336,6 +340,28 @@ public class TFMGBlockEntities { .register(); + public static final BlockEntityEntry TFMG_ENCASED_COGWHEEL = REGISTRATE + .blockEntity("tfmg_encased_cogwheel", SimpleKineticBlockEntity::new) + .instance(() -> EncasedCogInstance::small, false) + .validBlocks(TFMGBlocks.STEEL_ENCASED_COGWHEEL, TFMGBlocks.HEAVY_CASING_ENCASED_COGWHEEL) + .renderer(() -> EncasedCogRenderer::small) + .register(); + + public static final BlockEntityEntry TFMG_ENCASED_LARGE_COGWHEEL = REGISTRATE + .blockEntity("tfmg_encased_large_cogwheel", SimpleKineticBlockEntity::new) + .instance(() -> EncasedCogInstance::large, false) + .validBlocks(TFMGBlocks.STEEL_ENCASED_LARGE_COGWHEEL, TFMGBlocks.HEAVY_CASING_ENCASED_LARGE_COGWHEEL) + .renderer(() -> EncasedCogRenderer::large) + .register(); + + public static final BlockEntityEntry TFMG_ENCASED_SHAFT = REGISTRATE + .blockEntity("tfmg_encased_shaft", KineticBlockEntity::new) + .instance(() -> ShaftInstance::new, false) + .validBlocks(TFMGBlocks.STEEL_ENCASED_SHAFT, TFMGBlocks.HEAVY_CASING_ENCASED_SHAFT) + .renderer(() -> ShaftRenderer::new) + .register(); + + diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGBlocks.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGBlocks.java index b1361613..a979c868 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGBlocks.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGBlocks.java @@ -12,6 +12,8 @@ import com.drmangotea.createindustry.blocks.decoration.TrussBlock; import com.drmangotea.createindustry.blocks.decoration.doors.TFMGSlidingDoorBlock; import com.drmangotea.createindustry.blocks.decoration.flywheels.TFMGFlywheelBlock; import com.drmangotea.createindustry.blocks.deposits.FluidDepositBlock; +import com.drmangotea.createindustry.blocks.encased.TFMGEncasedCogwheelBlock; +import com.drmangotea.createindustry.blocks.encased.TFMGEncasedShaftBlock; import com.drmangotea.createindustry.blocks.engines.diesel.DieselEngineBlock; import com.drmangotea.createindustry.blocks.engines.diesel.engine_expansion.DieselEngineExpansionBlock; import com.drmangotea.createindustry.blocks.engines.intake.AirIntakeBlock; @@ -84,6 +86,9 @@ import com.simibubi.create.content.decoration.encasing.EncasingRegistry; import com.simibubi.create.content.fluids.pipes.SmartFluidPipeGenerator; import com.simibubi.create.content.fluids.pipes.valve.FluidValveBlock; import com.simibubi.create.content.kinetics.BlockStressDefaults; +import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogCTBehaviour; +import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogwheelBlock; +import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedShaftBlock; import com.simibubi.create.content.logistics.vault.ItemVaultCTBehaviour; import com.simibubi.create.content.processing.AssemblyOperatorBlockItem; import com.simibubi.create.foundation.data.*; @@ -1326,6 +1331,66 @@ public static final BlockEntry STEEL_DISTILLATION_OUTPU //////////////////////////////////// + //------------------------ENCASED BLOCKS-----------------// + + public static final BlockEntry STEEL_ENCASED_SHAFT = + REGISTRATE.block("steel_encased_shaft", p -> new TFMGEncasedShaftBlock(p, TFMGBlocks.STEEL_CASING::get)) + .properties(p -> p.color(MaterialColor.PODZOL)) + .transform(TFMGBuilderTransformers.encasedShaft("steel", () -> TFMGSpriteShifts.STEEL_CASING)) + .transform(EncasingRegistry.addVariantTo(AllBlocks.SHAFT)) + .transform(axeOrPickaxe()) + .register(); + + public static final BlockEntry HEAVY_CASING_ENCASED_SHAFT = + REGISTRATE.block("heavy_casing_encased_shaft", p -> new TFMGEncasedShaftBlock(p, TFMGBlocks.HEAVY_MACHINERY_CASING::get)) + .properties(p -> p.color(MaterialColor.COLOR_GRAY)) + .transform(TFMGBuilderTransformers.encasedShaft("heavy_casing", () -> TFMGSpriteShifts.HEAVY_MACHINERY_CASING)) + .transform(EncasingRegistry.addVariantTo(AllBlocks.SHAFT)) + .transform(axeOrPickaxe()) + .register(); + + ///////// + + public static final BlockEntry STEEL_ENCASED_COGWHEEL = + REGISTRATE.block("steel_encased_cogwheel", p -> new TFMGEncasedCogwheelBlock(p, false, TFMGBlocks.STEEL_CASING::get)) + .properties(p -> p.color(MaterialColor.PODZOL)) + .transform(TFMGBuilderTransformers.encasedCogwheel("steel", () -> TFMGSpriteShifts.STEEL_CASING)) + .transform(EncasingRegistry.addVariantTo(AllBlocks.COGWHEEL)) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCogCTBehaviour(TFMGSpriteShifts.STEEL_CASING, + Couple.create(TFMGSpriteShifts.STEEL_ENCASED_COGWHEEL_SIDE, + TFMGSpriteShifts.STEEL_ENCASED_COGWHEEL_OTHERSIDE)))) + .transform(axeOrPickaxe()) + .register(); + + public static final BlockEntry HEAVY_CASING_ENCASED_COGWHEEL = + REGISTRATE.block("heavy_casing_encased_cogwheel", p -> new TFMGEncasedCogwheelBlock(p, false, TFMGBlocks.HEAVY_MACHINERY_CASING::get)) + .properties(p -> p.color(MaterialColor.COLOR_GRAY)) + .transform(TFMGBuilderTransformers.encasedCogwheel("heavy_casing", () -> TFMGSpriteShifts.HEAVY_MACHINERY_CASING)) + .transform(EncasingRegistry.addVariantTo(AllBlocks.COGWHEEL)) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCogCTBehaviour(TFMGSpriteShifts.HEAVY_MACHINERY_CASING, + Couple.create(TFMGSpriteShifts.HEAVY_CASING_ENCASED_COGWHEEL_SIDE, + TFMGSpriteShifts.HEAVY_CASING_ENCASED_COGWHEEL_OTHERSIDE)))) + .transform(axeOrPickaxe()) + .register(); + + ////// + public static final BlockEntry STEEL_ENCASED_LARGE_COGWHEEL = REGISTRATE + .block("steel_encased_large_cogwheel", + p -> new TFMGEncasedCogwheelBlock(p, true, TFMGBlocks.STEEL_CASING::get)) + .properties(p -> p.color(MaterialColor.PODZOL)) + .transform(TFMGBuilderTransformers.encasedLargeCogwheel("steel", () -> TFMGSpriteShifts.STEEL_CASING)) + .transform(EncasingRegistry.addVariantTo(AllBlocks.LARGE_COGWHEEL)) + .transform(axeOrPickaxe()) + .register(); + + public static final BlockEntry HEAVY_CASING_ENCASED_LARGE_COGWHEEL = REGISTRATE + .block("heavy_casing_encased_large_cogwheel", p -> new TFMGEncasedCogwheelBlock(p, true, TFMGBlocks.HEAVY_MACHINERY_CASING::get)) + .properties(p -> p.color(MaterialColor.TERRACOTTA_BROWN)) + .transform(TFMGBuilderTransformers.encasedLargeCogwheel("heavy_casing", () -> TFMGSpriteShifts.HEAVY_MACHINERY_CASING)) + .transform(EncasingRegistry.addVariantTo(AllBlocks.LARGE_COGWHEEL)) + .transform(axeOrPickaxe()) + .register(); + //-----------------------CONCRETE---------------------------// diff --git a/src/main/java/com/drmangotea/createindustry/registry/TFMGFluids.java b/src/main/java/com/drmangotea/createindustry/registry/TFMGFluids.java index 92f8ff25..097b356e 100644 --- a/src/main/java/com/drmangotea/createindustry/registry/TFMGFluids.java +++ b/src/main/java/com/drmangotea/createindustry/registry/TFMGFluids.java @@ -8,12 +8,14 @@ import com.drmangotea.createindustry.blocks.concrete.ConcreteFluid; import com.drmangotea.createindustry.blocks.concrete.ConcreteFluidType; import com.drmangotea.createindustry.blocks.concrete.asphalt.AsphaltFluid; import com.drmangotea.createindustry.blocks.fluids.BurnableFluid; +import com.drmangotea.createindustry.items.CreosoteBucketItem; import com.simibubi.create.AllTags; import com.simibubi.create.content.fluids.VirtualFluid; import com.tterrag.registrate.util.entry.FluidEntry; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.BucketItem; import net.minecraftforge.fluids.ForgeFlowingFluid; import static com.drmangotea.createindustry.CreateTFMG.REGISTRATE; @@ -316,7 +318,7 @@ public class TFMGFluids { .explosionResistance(100f)) .source(BurnableFluid.Source::new) - .bucket() + .bucket(CreosoteBucketItem::new) //.tag(AllTags.forgeItemTag("buckets/napalm")) .build() .register(); diff --git a/src/main/resources/assets/createindustry/lang/default/interface.json b/src/main/resources/assets/createindustry/lang/default/interface.json index c0cbf9ad..5215424e 100644 --- a/src/main/resources/assets/createindustry/lang/default/interface.json +++ b/src/main/resources/assets/createindustry/lang/default/interface.json @@ -58,5 +58,11 @@ "create.goggles.pumpjack.fluid_amount": "Fluid Amount:", "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.machine_input.power_level": "Power Level: ", + + "create.recipe.distillation": "Distillation", + "create.recipe.advanced_distillation": "Advanced Distillation", + "create.recipe.industrial_blasting": "Industrial Blasting", + "create.recipe.casting": "Casting", + "create.recipe.coking": "Coking" } diff --git a/src/main/resources/assets/createindustry/models/block/encased_cogwheel/block.json b/src/main/resources/assets/createindustry/models/block/encased_cogwheel/block.json new file mode 100644 index 00000000..559f7ebf --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_cogwheel/block.json @@ -0,0 +1,55 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 6, 0], + "to": [16, 10, 16], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"} + } + }, + { + "from": [15.95, 6, 0.05], + "to": [0.05, 10, 15.95], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_cogwheel/block_bottom.json b/src/main/resources/assets/createindustry/models/block/encased_cogwheel/block_bottom.json new file mode 100644 index 00000000..f7c55e20 --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_cogwheel/block_bottom.json @@ -0,0 +1,96 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/gearbox", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side" + }, + "elements": [ + { + "from": [0, 1, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "from": [0, 6, 0], + "to": [16, 10, 16], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"} + } + }, + { + "from": [15.95, 6, 0.05], + "to": [0.05, 10, 15.95], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 1, 2], + "faces": { + "north": {"uv": [0, 15, 16, 16], "texture": "#side"}, + "east": {"uv": [14, 15, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 15, 2, 16], "texture": "#side"}, + "down": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 1, 14], + "faces": { + "east": {"uv": [2, 15, 14, 16], "texture": "#side"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 15, 2, 16], "texture": "#side"}, + "south": {"uv": [0, 15, 16, 16], "texture": "#side"}, + "west": {"uv": [14, 15, 16, 16], "texture": "#side"}, + "down": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 1, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "west": {"uv": [2, 15, 14, 16], "texture": "#side"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_cogwheel/block_top.json b/src/main/resources/assets/createindustry/models/block/encased_cogwheel/block_top.json new file mode 100644 index 00000000..336f03c9 --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_cogwheel/block_top.json @@ -0,0 +1,96 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/gearbox", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 6, 0], + "to": [16, 10, 16], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"} + } + }, + { + "from": [15.95, 6, 0.05], + "to": [0.05, 10, 15.95], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 15, 16], + "faces": { + "north": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 15, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#side"}, + "east": {"uv": [14, 0, 16, 1], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + }, + { + "from": [0, 15, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#side"}, + "west": {"uv": [14, 0, 16, 1], "texture": "#side"}, + "up": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 15, 2], + "to": [2, 16, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#side"}, + "up": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + }, + { + "from": [14, 15, 2], + "to": [16, 16, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#side"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_cogwheel/block_top_bottom.json b/src/main/resources/assets/createindustry/models/block/encased_cogwheel/block_top_bottom.json new file mode 100644 index 00000000..af8d29d8 --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_cogwheel/block_top_bottom.json @@ -0,0 +1,136 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/gearbox", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side" + }, + "elements": [ + { + "from": [0, 1, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "from": [0, 6, 0], + "to": [16, 10, 16], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"} + } + }, + { + "from": [15.95, 6, 0.05], + "to": [0.05, 10, 15.95], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 15, 16], + "faces": { + "north": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 15, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#side"}, + "east": {"uv": [14, 0, 16, 1], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + }, + { + "from": [0, 15, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#side"}, + "west": {"uv": [14, 0, 16, 1], "texture": "#side"}, + "up": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 15, 2], + "to": [2, 16, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#side"}, + "up": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + }, + { + "from": [14, 15, 2], + "to": [16, 16, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#side"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 1, 2], + "faces": { + "north": {"uv": [0, 15, 16, 16], "texture": "#side"}, + "east": {"uv": [14, 15, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 15, 2, 16], "texture": "#side"}, + "down": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 1, 14], + "faces": { + "east": {"uv": [2, 15, 14, 16], "texture": "#side"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 15, 2, 16], "texture": "#side"}, + "south": {"uv": [0, 15, 16, 16], "texture": "#side"}, + "west": {"uv": [14, 15, 16, 16], "texture": "#side"}, + "down": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 1, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "west": {"uv": [2, 15, 14, 16], "texture": "#side"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_cogwheel/item.json b/src/main/resources/assets/createindustry/models/block/encased_cogwheel/item.json new file mode 100644 index 00000000..300a0240 --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_cogwheel/item.json @@ -0,0 +1,153 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "block/stripped_spruce_log_top", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side", + "1_2": "create:block/cogwheel" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 6, 0], + "to": [16, 10, 16], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side"} + } + }, + { + "from": [15.95, 6, 0.05], + "to": [0.05, 10, 15.95], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "name": "Gear", + "from": [-1, 6.025, 6.5], + "to": [17, 9.975, 9.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "east": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "south": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "west": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"} + } + }, + { + "name": "Gear2", + "from": [-1, 6.025, 6.5], + "to": [17, 9.975, 9.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "east": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "south": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "west": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"} + } + }, + { + "name": "Gear3", + "from": [6.5, 6.025, -1], + "to": [9.5, 9.975, 17], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "east": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "south": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "west": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"}, + "down": {"uv": [7, 6, 16, 7.5], "rotation": 270, "texture": "#1_2"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.025, -1], + "to": [9.5, 9.975, 17], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "east": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "south": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "west": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"}, + "down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"} + } + }, + { + "name": "GearCaseInner", + "from": [2, 6.5, 2], + "to": [14, 9.5, 14], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"}, + "east": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"}, + "south": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"}, + "west": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"}, + "up": {"uv": [4, 0, 10, 6], "texture": "#1_2"}, + "down": {"uv": [4, 0, 10, 6], "texture": "#1_2"} + } + }, + { + "name": "GearCaseOuter", + "from": [4, 6, 4], + "to": [12, 10, 12], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 4, 4, 6], "texture": "#1_2"}, + "east": {"uv": [0, 4, 4, 6], "texture": "#1_2"}, + "south": {"uv": [0, 4, 4, 6], "texture": "#1_2"}, + "west": {"uv": [0, 4, 4, 6], "texture": "#1_2"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#1_2"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#1_2"} + } + } + ], + "groups": [ + 0, + 1, + 2, + 3, + { + "name": "cogwheel", + "origin": [8, 8, 8], + "color": 0, + "children": [4, 5, 6, 7, 8, 9] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block.json b/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block.json new file mode 100644 index 00000000..84c56d7a --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side_connected" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 2, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 14], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block_bottom.json b/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block_bottom.json new file mode 100644 index 00000000..4949caee --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block_bottom.json @@ -0,0 +1,84 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/gearbox", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side_connected" + }, + "elements": [ + { + "from": [0, 1, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 1, 2], + "faces": { + "north": {"uv": [0, 15, 16, 16], "texture": "#casing"}, + "east": {"uv": [14, 15, 16, 16], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 15, 2, 16], "texture": "#casing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "down": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 1, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 15, 14, 16], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 1, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 15, 14, 16], "texture": "#casing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 15, 2, 16], "texture": "#casing"}, + "south": {"uv": [0, 15, 16, 16], "texture": "#casing"}, + "west": {"uv": [14, 15, 16, 16], "texture": "#casing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block_top.json b/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block_top.json new file mode 100644 index 00000000..6feb7109 --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block_top.json @@ -0,0 +1,84 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/gearbox", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side_connected" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 15, 16], + "faces": { + "north": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [14, 15, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [14, 2, 16, 14], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [14, 0, 16, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#casing"}, + "up": {"uv": [0, 0, 16, 2], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [0, 2, 2, 14], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [14, 0, 16, 1], "texture": "#casing"}, + "up": {"uv": [0, 14, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block_top_bottom.json b/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block_top_bottom.json new file mode 100644 index 00000000..1ce76bad --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/block_top_bottom.json @@ -0,0 +1,124 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/gearbox", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side_connected" + }, + "elements": [ + { + "from": [0, 1, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 15, 16], + "faces": { + "north": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [14, 15, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [14, 2, 16, 14], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [14, 0, 16, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#casing"}, + "up": {"uv": [0, 0, 16, 2], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [0, 2, 2, 14], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [14, 0, 16, 1], "texture": "#casing"}, + "up": {"uv": [0, 14, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 1, 2], + "faces": { + "north": {"uv": [0, 15, 16, 16], "texture": "#casing"}, + "east": {"uv": [14, 15, 16, 16], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 15, 2, 16], "texture": "#casing"}, + "down": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 1, 14], + "faces": { + "east": {"uv": [2, 15, 14, 16], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 1, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "west": {"uv": [2, 15, 14, 16], "texture": "#casing"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 15, 2, 16], "texture": "#casing"}, + "south": {"uv": [0, 15, 16, 16], "texture": "#casing"}, + "west": {"uv": [14, 15, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/item.json b/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/item.json new file mode 100644 index 00000000..d5763dd5 --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_large_cogwheel/item.json @@ -0,0 +1,250 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/large_cogwheel", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side_connected" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 2, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "GearCaseInnerRotated", + "from": [-2, 6.525, -2], + "to": [18, 9.475, 18], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#4"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#4"} + } + }, + { + "name": "Gear2", + "from": [-7, 6.025, 6.5], + "to": [23, 9.975, 9.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "east": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "south": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "west": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#4"} + } + }, + { + "name": "Gear3", + "from": [-7, 6.025, 6.5], + "to": [23, 9.975, 9.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "east": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "south": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "west": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#4"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.025, -7], + "to": [9.5, 9.975, 23], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "east": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "south": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "west": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"} + } + }, + { + "name": "GearCaseInner", + "from": [-2, 6.5, -2], + "to": [18, 9.5, 18], + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#4"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#4"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, 1], + "to": [15, 10.025, 15], + "faces": { + "north": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"}, + "east": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"}, + "south": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"}, + "west": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"}, + "up": {"uv": [1.5, 1.5, 8.5, 8.5], "texture": "#4"}, + "down": {"uv": [1.5, 1.5, 8.5, 8.5], "texture": "#4"} + } + }, + { + "name": "GearCaseOuter", + "from": [-1, 5.975, 1], + "to": [1, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"}, + "south": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"}, + "west": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"}, + "up": {"uv": [12, 0, 13, 7], "rotation": 180, "texture": "#4"}, + "down": {"uv": [13, 0, 14, 7], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, -1], + "to": [15, 10.025, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"}, + "east": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"}, + "west": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"}, + "up": {"uv": [13, 0, 14, 7], "rotation": 270, "texture": "#4"}, + "down": {"uv": [12, 0, 13, 7], "rotation": 90, "texture": "#4"} + } + }, + { + "name": "GearCaseOuter", + "from": [15, 5.975, 1], + "to": [17, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"}, + "east": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"}, + "south": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"}, + "up": {"uv": [15, 0, 16, 7], "texture": "#4"}, + "down": {"uv": [14, 0, 15, 7], "texture": "#4"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, 15], + "to": [15, 10.025, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"}, + "south": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"}, + "west": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"}, + "up": {"uv": [14, 0, 15, 7], "rotation": 90, "texture": "#4"}, + "down": {"uv": [15, 0, 16, 7], "rotation": 270, "texture": "#4"} + } + }, + { + "name": "Gear", + "from": [6.5, 6.025, -7], + "to": [9.5, 9.975, 23], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "east": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "south": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "west": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"} + } + }, + { + "name": "Gear5", + "from": [-7, 6.025, 6.5], + "to": [23, 9.975, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "east": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "south": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "west": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#4"} + } + }, + { + "name": "Gear6", + "from": [6.5, 6.025, -7], + "to": [9.5, 9.975, 23], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "east": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "south": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "west": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"} + } + }, + { + "name": "Gear7", + "from": [-7, 6.025, 6.5], + "to": [23, 9.975, 9.5], + "faces": { + "north": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "east": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "south": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "west": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#4"} + } + }, + { + "name": "Gear8", + "from": [6.5, 6.025, -7], + "to": [9.5, 9.975, 23], + "faces": { + "north": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "east": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "south": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "west": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"} + } + } + ], + "groups": [ + 0, + 1, + { + "name": "large_cogwheel", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_shaft/block.json b/src/main/resources/assets/createindustry/models/block/encased_shaft/block.json new file mode 100644 index 00000000..e44e46cb --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_shaft/block.json @@ -0,0 +1,67 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "#opening", + "particle": "#casing" + }, + "elements": [ + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#casing"}, + "up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#casing"}, + "down": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "name": "Core", + "from": [1, 0.95, 2], + "to": [15, 15.05, 14], + "faces": { + "up": {"uv": [1, 2, 15, 14], "rotation": 180, "texture": "#1"}, + "down": {"uv": [1, 2, 15, 14], "texture": "#1"} + } + }, + { + "name": "Top", + "from": [0, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#casing"}, + "up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + }, + { + "name": "SideWest", + "from": [0, 0, 2], + "to": [2, 16, 14], + "faces": { + "east": {"uv": [2, 0, 14, 16], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#casing"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#casing"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + }, + { + "name": "SideEast", + "from": [14, 0, 2], + "to": [16, 16, 14], + "faces": { + "east": {"uv": [2, 0, 14, 16], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#casing"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#casing"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_shaft/block_heavy_casing.json b/src/main/resources/assets/createindustry/models/block/encased_shaft/block_heavy_casing.json new file mode 100644 index 00000000..d0dac5ef --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_shaft/block_heavy_casing.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/encased_shaft/block", + "textures": { + "casing": "createindustry:block/heavy_machinery_casing", + "opening": "createindustry:block/heavy_gearbox" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_shaft/block_steel.json b/src/main/resources/assets/createindustry/models/block/encased_shaft/block_steel.json new file mode 100644 index 00000000..dfaa47a9 --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_shaft/block_steel.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/encased_shaft/block", + "textures": { + "casing": "createindustry:block/steel_casing", + "opening": "createindustry:block/steel_gearbox" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_shaft/item.json b/src/main/resources/assets/createindustry/models/block/encased_shaft/item.json new file mode 100644 index 00000000..91d41a75 --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_shaft/item.json @@ -0,0 +1,90 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "#casing", + "1": "#opening", + "particle": "#casing", + "1_0": "create:block/axis", + "1_1": "create:block/axis_top" + }, + "elements": [ + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 2, 16], + "faces": { + "north": {"uv": [0, 14, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 14, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 14, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Core", + "from": [1, 2, 1], + "to": [15, 14, 15], + "faces": { + "north": {"uv": [1, 2, 15, 14], "texture": "#1"}, + "south": {"uv": [1, 2, 15, 14], "texture": "#1"} + } + }, + { + "name": "Top", + "from": [0, 14, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "SideWest", + "from": [0, 2, 0], + "to": [2, 14, 16], + "faces": { + "north": {"uv": [14, 2, 16, 14], "texture": "#0"}, + "east": {"uv": [0, 2, 16, 14], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "texture": "#0"}, + "west": {"uv": [0, 2, 16, 14], "texture": "#0"} + } + }, + { + "name": "SideEast", + "from": [14, 2, 0], + "to": [16, 14, 16], + "faces": { + "north": {"uv": [0, 2, 2, 14], "texture": "#0"}, + "east": {"uv": [0, 2, 16, 14], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "texture": "#0"}, + "west": {"uv": [0, 2, 16, 14], "texture": "#0"} + } + }, + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 16], + "faces": { + "north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#1_1"}, + "east": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#1_0"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#1_1"}, + "west": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#1_0"}, + "up": {"uv": [6, 0, 10, 16], "texture": "#1_0"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#1_0"} + } + } + ], + "groups": [0, 1, 2, 3, 4, + { + "name": "shaft", + "origin": [8, 8, 8], + "children": [5] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_shaft/item_heavy_casing.json b/src/main/resources/assets/createindustry/models/block/encased_shaft/item_heavy_casing.json new file mode 100644 index 00000000..d0453d37 --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_shaft/item_heavy_casing.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/encased_shaft/item", + "textures": { + "casing": "createindustry:block/heavy_machinery_casing", + "opening": "createindustry:block/heavy_gearbox" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/models/block/encased_shaft/item_steel.json b/src/main/resources/assets/createindustry/models/block/encased_shaft/item_steel.json new file mode 100644 index 00000000..28abfea0 --- /dev/null +++ b/src/main/resources/assets/createindustry/models/block/encased_shaft/item_steel.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/encased_shaft/item", + "textures": { + "casing": "createindustry:block/steel_casing", + "opening": "createindustry:block/steel_gearbox" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/createindustry/textures/block/heavy_casing_encased_cogwheel_side_connected.png b/src/main/resources/assets/createindustry/textures/block/heavy_casing_encased_cogwheel_side_connected.png deleted file mode 100644 index 68946fb508d16250cc6e95617d21a7704d1408f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 377 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijS1AIbURWwZvO`UA*{3GMy1A-$8N-BCMPqDFgGB!3fv#w$Nb(4j0FR6aM{Y zzwVl2kU9IM_xa23I*encbnL;q4WDg+u0sRe1HB=kzXNuLH6XyPo~@KQGU*N?>YPB^_4sJEmnB< zsqw$a5*v%`{g(XAUt_1)G+eIM-x2-wWrXQdMg@WU=X}4gEanvRk281p2J{t!r>mdK II;Vst0PW$J`Tzg` diff --git a/src/main/resources/assets/createindustry/textures/block/heavy_casing_encased_cogwheel_side.png b/src/main/resources/assets/createindustry/textures/block/heavy_machinery_encased_cogwheel_side.png similarity index 100% rename from src/main/resources/assets/createindustry/textures/block/heavy_casing_encased_cogwheel_side.png rename to src/main/resources/assets/createindustry/textures/block/heavy_machinery_encased_cogwheel_side.png diff --git a/src/main/resources/assets/createindustry/textures/block/heavy_machinery_encased_cogwheel_side_connected.png b/src/main/resources/assets/createindustry/textures/block/heavy_machinery_encased_cogwheel_side_connected.png new file mode 100644 index 0000000000000000000000000000000000000000..f8fe0d04ccd83bd7dee6f1a529af8a1988cc554d GIT binary patch literal 398 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijS1AIbURWwZvO`UA*{3GMy1A-$8N-BCMPqDFgGB!3fv#os+dJ8vZ?BqOb7T4^wNCz&nKp(2e_Z6I)kuW=0?PLvF#A1Iznkmroru!7qd&^m dthN!@%gB`>=6^|ECKl*b22WQ%mvv4FO#tQspq~H$ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createindustry/textures/block/heavy_machinery_encased_cogwheel_side_large.png b/src/main/resources/assets/createindustry/textures/block/heavy_machinery_encased_cogwheel_side_large.png new file mode 100644 index 0000000000000000000000000000000000000000..384deb1959fd3b559e975ba20e18380ae3b467d5 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}H0G|+76-`q^Qzu(H|ALZ=-pNypjZMugtRv&%1A-%fN&pr_;dz0fsZ%(xw%@(QkfSI4!Ht(d4|BA-ggA^dH6%-$Yf|Cp~`r<=?8Ed-%;$ X3)l+ggTe~DWM4f3fNH8 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createindustry/textures/block/steel_encased_cogwheel_side_connected.png b/src/main/resources/assets/createindustry/textures/block/steel_encased_cogwheel_side_connected.png index c2da315a92ad88492515f13277f39744956616f2..ddae6d4fd2690707fc6c5ce1751544c2502b1310 100644 GIT binary patch delta 823 zcmV-71IYaU1@i`wNq@iq01m(bYSxJf0009BNkl2P#g1{W|EoAc)ydJ zkc3iZCWX4_2Z#I0cka1!?|DR>JA2V14I^ftp=2^i6Q-%qH-8UI@tjqwbK9^i-?nY; zdu^um5S7mcEF8}^~OJHuy(vS!O6OW#qoZjsfn^|(cCeF`}N z)@{e(lYs*+;CAmbDBtxuUj{JnVC2rB7*eTP^tV){jm>Hr2U4OsnU%hdKUO#`vZW1?Q6zlU- z0IwRZBl8&Ff4oBP-n=JkeU0bjWe4E{@D6y4f$)e32lTs<2;2!T8}s5;05}|4wOc{t zWe4SpF$Q8Y!YhIWf(Kg~)2HZ4T*r909s2NhoD>Sd0XLaQkU7!e2IY$pKrEYGcse$o zRK-G`8h>_^+MY+g@3XWVmnD&iQ?+LCx}}w2Y-Z+EwOpZE`H#Xp#C2V5oZI8N?KZcL z7WobQ*4AGNeb4j%gJiTD>3Ae=w;c(h5F214^kri)1cpiO5Q6~~CJb+P1!#j_;dW5R z=4J;B=+D=9?SN!6K-Q%mz+9AiLSRJ6=YZ4$K!4bJVxS%XF>F4^$)p~DgsmqA>VYWv z915i#fP}3lUh6ZbDIU!W%sA4Sr&D{eRn_6<;%PoHEL3X{(Qv2^bd~Xd}_H?TwnkI002ovPDHLkV1hpv Bh|d53 delta 706 zcmV;z0zLin2LA<+Nq@lr01m+cxRGn^0007%NklMKB6{`WRYA0(6-r~$m~FR7HtT#|cETFk zBs)ZM=@%Y5JF}nJncer^Jm>1lwXV`~J(r8}eP7K4fkQhuR)3Pd@J~~&yJ46_Q6%kd zELdN*ye#1C#U%me7b;14e$F|4>ZA+~>gUEU)u?SJwQ60S|NiA`^5F49X^*4*cxQEW zt$XJDIp^cMH}cTztgng%PulHHEZ3c#-l~xqU%IlUetcU`w$?xWvw*z3d^dK^_4r~% zRZ4*>r?yZji+=&lm4p8HAcOIY4e#>L`0U*5wc0Aw|ESRnRk$1J`<9CJF3b)XkJ@e7 z84N7yr2o@~cX1f=&l$kB8=?ALYpBhwy4u*R${2lEwAYdeVPKoOO&_x1)xGADKCvn00xks?qmoJGQbh^Em z&&#`{M=})3hLJJC3D2hAgcX93)T+Y@gSFvZax>|XWI^(fm3n#?sTFjNCv0dF@9dNb zVPO4YQ3W$S)`k}!FuA!}Z^%mHI2I#jiE|c5T$|X=GIhO6I81h&^04FZ(?5(RaU2h0 z(J+1@VSi{QV{%?X+q`s?a{Yq;A?td;hyy08yu2)6dF8Tt`}&o0P$I&^fsP(2$~ZEK z#|UpP>B;l*R`tN(%k$O)S>CE1U?PlN+tdSD-nt%`l%{?f9xlMSb^C5|^Ue+R^63*P zo5wlN5#Ei*(~pd2=jE;I0W+CxJz#jNdcaJAY&+_KEZo7AVKk~97*z`(`&vS&zXMc$4Or?%NdN!<07*qoM6N<$f{=e}bpQYW diff --git a/src/main/resources/assets/createindustry/textures/block/steel_encased_cogwheel_side_large.png b/src/main/resources/assets/createindustry/textures/block/steel_encased_cogwheel_side_large.png new file mode 100644 index 0000000000000000000000000000000000000000..52e4b760f1e7ee107e8e2dd90b8b3446becdd78f GIT binary patch literal 380 zcmV-?0fYXDP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0TD?=K~y+Th z!!QhWnwDit;WUX07bYZ-1}Am^iJ!;`?QbGYquH{y>E`DVl#ZUpktaoV;`rNEi|5yl z7@5vM$QVOoYZZ8VS<0LHs)TNx+k5YY?}Dh2dS8C*g*y{!c0KJGm`n^6xfZ@@gV4?9 z=oLuifO?tViGhkgl`PCNO*;7ie6H4_G`c864z%6TxFp_w=d-IDa-8G3a^$w2?==OE zB1QnYZ<-%vKt0~x{Hj43@+pQ={O?e2Pxn&9SlOXAqAQjsG<`>R&@r`mn2CW9hAXPI zCcmqDa}W)|aAt~v?AXv%Y2}C~R*EO*9YI^cV_py`yhrrrARW=P$ETy5;_u6Zbv}2M aiHHvL%ZLikZdGak0000|{ zdr^=fkcTmlQLDo9ziZsP^F6T#l=4+H&U|C+pZ@&PCe)tQtfx*+&&t;ucLK6Vi CA4d!T literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createindustry/textures/fluid/molten_slag_flow.png b/src/main/resources/assets/createindustry/textures/fluid/molten_slag_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..299558f9fbb6a217812db26aca4d0281573ce2d6 GIT binary patch literal 18397 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 JPDHLkV1m>Ts#gF2 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createindustry/textures/fluid/molten_slag_flow.png.mcmeta b/src/main/resources/assets/createindustry/textures/fluid/molten_slag_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/createindustry/textures/fluid/molten_slag_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/createindustry/textures/fluid/molten_slag_still.png b/src/main/resources/assets/createindustry/textures/fluid/molten_slag_still.png new file mode 100644 index 0000000000000000000000000000000000000000..b328465abefbcc749ab2536e9ee0527441b33ced GIT binary patch literal 9673 zcmV;)B{tfLP)F{s}&BJ^KQsx&BGL{9v{G0AH@^Lk*vLvz7kl`RU>3xC2@? zh9BaGM}z-H=}bQBs^Ihe?w=p^|H1~%wU2QhR7FeNeYkz0Ir^wRJX0Th&>4S%^04<8 z6nwKfJi{)bL03J&UpK}ba6MGI-}#dZKI0}0G(ZPX3RU$0a0mS0F15#>JkaIQ9))8V zY@J7?j!IhvwWEQ{aQhOIQG1}l)g`L$^Wc(r@EoIoc`ytR(ghv{A3Q*V;K6g+ z6c70M+v2~LctA_u0n}Aj%F^n)qmp?@&4d)kfD$~s4@2;9@aAi*6?s^Dd^vcq+y?{r z20e`L7kHTLU&WGP5i#YM_^B9xRAU0y4?o8TlsONB&GRTwHn9#>9`Gd^FYvJT_= z3mpXyDCi=VJk|jNSl_$auFRE{^qhxs`;tW9L-6n*>*}7w0gdZfz}O%p96tbtQa?lb zT_fnhH?$8ACEme9Tc!!^6A#kz-%79(5403&lgk-j(iWtXjTMV90&!=IL`#2h!zu|D za*V`0P&B~9)9>$f#-BDb1NdwbT+BmTmWc)hFl;`#x%2$i+V16-KR=wxN?={NYMF8#VeNAQ%vC5>5;bV%*Ida)}3gsIfL2jf3lJJC`sI1L^@I!P=OyH&P|| z+$L3@QVA^aaPnK*JlI_c2~Rv6zWD|h_B^=v_+Xphdbpx%gNNrod`li65w-yM4bzH( zb+s&Z)xDSr@&I{413-x3avmT~y}y75OGmkV!9vlJwxqPu3o1XTOTw|DXn+sK#iA9e zHu+2TvqIE-hhln`7G!t^!b|y;2;)K&Z`uyENu`1qDbt0~#z-U{@B?HUJUr45t{OeT zZ6WaMk1xZeBo7!Xc)-t^E7pKI3m&?8jpsbTAq5Fl9yXrb^dew=c3#{H9`MbnJX{I} zN~!*ygl%$g&EJp*lwtM+&}Ln>0!G8qw#)+^1zp>+@-6){d3c(5z*?Qc1Dsp%pk|+iDv6muwZsEV zNn6GNpC5<^%Y`)ngurtk9^@B!9&jbdVptP@In1*pOLC?LJ3#Tyl1ybjJcE|FimjPf zppnf$YT#now&4ibM!~`vqd5<&D$xc7HX)V_AF#4>9-e%E4-;4A!S%e}<^cuGFrFHW z!6Gdvc2ByV4^d+0PFnDB~&yVR4nXSfF<)^|YfF@fL# z^J5+~2FW`8vdL$jT<8+$o|(jZ_xUZ3cMTN8Bt z=;RK0pqo;DfC0g9fd>qUQ&e#^T^w6ew~`0BJk;3G-kO}o+Q;Ys78o{dSDt{?0vk|) zORDkrk-`RF!fR}xJxIt~5^wXcY97`;_QF|n8F5Ok%uVu_f`?W4OD3+6w@3lYi%1?I z&#M^;dr?NmF0N+@Vuwk4_4C64#2ZVqwtsb?xW_zTrF{9GF7HB3V;-C}z`DSR0S_qn zrpg1f+p%~kwS4q7;xaBV@m66y8<(RS3q08I!DswMR5Fy6a5K*mBxop0a0(CpTnNLY zW3p^hTFrxf8eSe=JMi73TJTaB26vSW%mez@QvwoYAdE`MLhyiT1OoV8CX3M!yWyU& zjfQI;@Qry$Oj}4?*5y$p1$=Y^GPm zv4h11kSB;fB+vEmf&P*tw@;H!e+$NCE&Dp;K|iFvTFz}^ikzt}6h9jk-T{(G8zpB2 zUu``5!nPtB_~yPAz57uP>r?NA(NHGB%BGM*!<+(mpfkA3K-9*;D8k`G154{5r)do^ zGgy}Dw%qKY?74Y>jCrt}bu?oW^&Wk*;Uf>Fva3dds-HYiuXr9&4}IQJb~iP^9USD^6xo-fQrqQ% zI=DkKbQJ>I&580eXyd3FpBa)!T7477gn1Fu7_8+RIo380F^{F3dJN!HNFIFR0jxPx2y~oo z8cFOuOZdAc4K3YT35hLveZ|%mHP@c(T?x}6Z$>@tDn7z&&LqaZUJTkWumNDD@JS1~ zSJ0tuFjUtIT@IfU4`@A>*FsCTan7#VKsBcNX2hJtmzW~=kPFw!JajS=<^i+$=GO)q zOqjz?N{u`)EYko`wWl?LorL_C>p@m;;JNL(wmqc?E4z zz20^*iIH<}xIc+z|AB|LdJ>sqi!E0$ODIOXDMRXM<^G80N>x7-9&}Vfq^aSp zo@Xme7kMq4IjNe|Os+jrsweP3&_pjDO_eL;erFf{R}LqJs^ky;T$^fB%2J(lUTy$s zb8d(?dBPFn&YadN4;~32*}Lk2Qnx<81zU=5I0j8o%8+yvKiVtZdG*!FyA~%@ne3^o z9{OKnBwOKu9(tLFn80rEU{7EW-h-oJ{HC;k zjUv1ZBg&N?E55hqj=v8TF>ui${4n53j@nNTnMo9;oo( zZ^>Tyzg%XqhHLM>;Qnh(Sf*q${XhK8(lO9T%)?Xw;p&v7Qa+$G8t1et#cbc*QVl7J zj7-{(d*1@}<+tg!2^u&S!2%y0-+?~&QZn#MYFJ4}Z+_B*jQK-fHR(2&?ddo4zyog@3;!MK?REIGZ( zrgjF+151upmw3Q!$wS;Uq{wp+v8*M0&5jC0!z9Ek)pK&FkZKAZEZa?PC&;LI?YtTd zjXscYue_9O;0dv&aT{w(G+5$+`|^8N5)VBY=HLO%%mZLR`T2kP2U2?+gL#PbVDJE| z3?2@T?`$f5wQ)&2lyc#C)$I#g+|EoqOl3!CoQ`go2P{b9p-o@x;?eOp2>fvO{%mE5 zhmLq4qPPa!AxL5pObCx+x0V#t1YzdvY=n=A2Me4p6NxKd-Zz&epuA9#4J(F&0z6w8 zIw`Vy$;;A_bQLlKY{1FNmn@|WF(Ez0=U#g*zlPx~GPe^-{p`fB|LcNp`a;Ef2Xh`e zs%Lf$!!(vx&g9k52BAhk*=km4^rU6iW0BT6L=3sja79 zFc$U1xwb$h8(D)eQI0l49h7J*&o}3xS>eHx#t=)w-FEZ)`~hR!h9ifd2t zG#+~Lnnuih(GJnnLpOs5+;Ob6GY@syMf3^{n3ehN>x0Y#Ob>cR9t?wdAfobY-n?u5 z@O$^k$z9C*j!G#dlzGV3J9wBXmAa|O)c_?PtUWP|wa1r#`lDwa(6XI(MLe)M4^V92 z0c$yy!0v0{{<*r^y3qbn;<@uqIKeJd9vI z$-}cRPvs%#vxy)N$9EQZxUVCJ4zw)4-As9@$RY7if#h@98h0*jX}Yr93DLJXJ)tNi79%D6Ayss``_9?XH%yM3!TLb9_Wh!iNnvGxF-)#u~WtSGx-6w2 zRUQx#)S%nkxgwuoS>mA-5_2BBRpA6#@L-v>z*?5tN-}Oey-6N01Hl7l6Sb4%vW=B? zM=)^V9*Q-eh4dz*FOR8fXB*J0SPv-yW!AlM1QG03&a=1#QsjX`GWpE4?|1(6tup4- z+AcjEOC%5IV(@_SNc*am@Ib;5Eo3?I5J)r>QsXcB2_BAh9uLk4CTF6p1^iT-?q6Hq zz3e4}2n7$g_A_RgzS@`9gkl9n9=L_MeG#kpi(EDH;DwLG1N&?q>{JI2)(N(p5T`A9 z-RKg0sx@t>*IwpilP?f3L<#vzJosB*l5xC1!(a?hl?Mw%I%n(#1DS=P{9b?GR>6lx zm4_-4;RN;MFZsU=TXiIrCJPfn@y@E@-|#Rq518!W!96hyRe!6moBa5DG3SAc9r3hW zCX07foCZ4B%t0^lz#aVx4{kQ+A(0RVTXeJ$war5_Ct=M4;Gt-Ar*j@qyRr7sSlL3` z2RCyYh^E#dA4c#^EVgd2FaYIj$OB~1ng;)`@?a#O;7;Meg=dq4hhJ8|`?c}nrw8zQ z?D4j>#gtBYO{Ix(F)PfU{wOdE_$|Q$71^8z#Tk!ZF7v=MI63h^OAtIj)_?q?M~|qo z8`+VUizpvA(dKKj+`gE2800;j_e&?|TbFrou`qX)+wmnVV}-s!X$B82{>|s^(`SCE z&^=d3JoK`7hLDbVHXv=~OqI!Tkn|sTh=6CP(?#Ur==hr|YXO7*>+j72mSxU^R*{li z1rO3~iHAp(bCsAM?-0{K!=M;07b`~d@amUG zfB#1ZJnYCnG7NJb?Ai|%x|j!;{&+^q+M3p5pIheS0f;E?N9W5t^m)!|fd`uio{)O; zYvY%H4h)^OpxqVJ{^9rT!5fA_@Ts<6a?gVS2lJx4mqTV<+yk&XC8F6z@^-}aHIzYjf5v1%hgi%cn~wHhBXQk;Sm>7-J|V` zV1YbvPPQ-f6(-hoP$zgOG*RY3i>Up$ShBd7c{mXdu@#Vb*nM$pQxV-r=N)H<*U7{0 z`*-W`4NpJ>4};3~u0PCqfIooC4=OzLwXFjlegqQVeT~1n zI(tqYCI{C`KEauM%_O;bE9gLZW)zdN%)>mJBzhb$J6BLvd9Vm|G-Kugb3M{#kq6M- zJkNaVM8~(6co-}3I#m|VxpGHYQ)Q^=YBp(A4s(2zhS84p{*k=8(PSr9;az2 zIza4)N?vuZw5?%U=}<6UKJ#$=TN^z1n5AJL5078mHV>svq=5(g7d$u#>SHveuI+Pv za~_9p9lx7CdJT3%!%`C3{o-=>pW4Hp4D_oJRBb18PX?BPb-v_rxlypGi!@-+#L6T65|1JKQ-bS zo`Xl(aWV#t{8%4F!>Qs@Qsk(($^%MEaz5w566zJO7_aKV#-qFx0#OwTd6JaFjS~w9-xvF4-Pf9B@V%Z)uDygdNJ{U zB}661vjeSk(v3Tpc9ea3tiPKts9|~PG50d(BGiEC*F_$1T?8NL_(ky0&Zj9{dw~ZT z(sT;gBILYbC&RGBgEhI*MTnw+0t_4@)b+@h&i*X=#OBVSiVX#g4*W3DOYz1{rdq`{ zKG#R<-QWpP9@qC+M~ZH3SqM-e^NfYG<4n=WJnX;z3X*2Uk$A8$Q|il z*3)9`?3OkF$wMg~21;9?Jxq*ws46RiN#Ucq*GnRTheD1|U)!M@$}HhR$M2d`<*{n` zG)f^(-u{s_@h%!Zpoe>}8R+lGM5W^w4T-k|Hk}JM52L){W*$a7S1G3^I!Zk92?00o zmY#XQH{9{FiEtUnGMI;bot1I?05}(TF#BE*3%R>mE#%?wI%jF9g$xt1#Do2TIS=a! z=Yj`UZRtZRKRIXtX-jRUNHN~8;l;9$FY$nHP$9jhA=gelSykwbdUqt)_i~J39#*=Q zhn=t#kfJ9icRPAY_o1FoF%J!$LQYR;vud6ed=su&6g0!NQUeTSriU!n`I-dET#Jta zkO!B-4?_5PQC~akgG~fP`sw%g-n?u1;ZRJGtx@8k%ucA5i`AsU1HBGehF!ST{I-FQL`K>)xKG*`=$<}0D$MgE~RmMs+r82cdx0h(vpizk4$gcn4b^KQpnooAxc|q z5)biyjY1p#O}kloDmDq91Re`@`uhaxa)nUuZjQ6PYd~45_O;MTL9fBf=;^7%IS<`G zH+9IFX$sVX?_>4oo7hCSLF$qouSBmX-oeAbn@v7byRlN|BU^m@1uIBHKI0+PltifV zQ0hF2d4S6gug4hCHG@aC#DkO%&xx zH?R>>=*^;$Jk_&cV1v+{HqcMxP&Y?Dr0GB`qB+t z`rPfvJdAZFKTOUj!{9Zsb@LM%Y~bH~)lHp+v}K4>C|yO^U>e`hK1_AGf_h2|;*OPy z<}Fk%U3Cn@;QIuII%top&UAKcAjBrrsej2kPus$Bz(Yt;EhB*&w zyI0JE1d+jB@ZgPzlx0%Kl5X`Z`Ouz`@a4Z%B>hk=?Imd!f19?|3yitKoV@(`p;9AB zd)t)E8%)`&`EeU}2_3Mr)YfC|;(?}z!iP$m+>BW1>xBx1OhlPqNL0@}^mG^@@zBfh z^b!vkST8?^ka*b9Nv1-|*fIn0-p!A1))l?i^&tLa|0;Q)v}rRUc)W z0%M&`=d+1&sw`I?HyVHkANFR}OREW0NogH=e|r0Zd9ZA|OfL)!8(Z9c%Xvu6nWuj z)x)s6UhrUPwSqytZ*$(s)&yOx;o7j_RUS5<+#g&ccsiEP4?20&^b6~TXZ(G`!si}awk_VJ&U9fWUg#|*-RW6Ncv}x( z@?0g=f7YR;o-njB@5XD6bUSlvHRARQc9|F ziHBi+IaHH+!CW~H*4E}1oJ_+_9$@z3@}(4^1?i!r$jO_A z)k@d*@qEzW@^Um%Pm6VM{!CW(#Hi{NJH`KEG4~4X_%C2h0XWX-9nX$&Ibb`w{3T zF7A3lgqhqN=>X}*6K?vUbQJPA$8~ga7i#6n$=#k_?bYU~N1c8j`rJEj!n3#@?)yBn zxr?s}9@_EAPxUly9OU~14<>fOGwv($pu+Occ|+6feNRS;ma5S8=)eGTe{kLXZs`4d zSSau?^y@N?-!(TXZ|t!}vl|d5qM%Aq$fAvCV~fu=Cc`2It@Z(Mj?2FhAcdBq*&t zg}wN)J6m~>H{lZxg#yO$0XHoA3Ohh%?>D9?>{+FU*QpdD{6YSbv86 z)_l$=Eob%AHdjzt_Pp&@=n4FE;3;%#R{+HI{Gpzkr7ro}?p05jlY#8{5)UAoJovcF zEc4(7?FtW$E6oENV0C7C_H84*TBbQx_9%G3!p|6}Q5!Me+S3Uh%SDw3tdzg;ms^TG z=R9zTS+=7MB{ch04mrt#>%~;M6w)KHg}=Vbcp>wUC*D)e+Hz5>-CX=w`aofVo-$YM zZqCFwge+Bcn$Oi)Ko@v$nbR(QFU8n>D-VHk7jN)(1Lr1SrT=)BoXWHTL{I~=(MI{4f9w-{Foy zz4F|rW9Mbg`2`P!pBIe=!9&YA4|pl^N;fMn940`qUg0kV5|FOPFaG*iQ%BS429i9! z+_; zzjyG^uD zZro7h`aqlivEM0i6c26?A3|CmE-*3PvBt5Yl2DV!|FauDFEO$;;I{YkNw~Cu<*Wnn1sXwRaj+z zI(RS=|6d*`j(*-#cj)I=40XL>vBZOfC2dL!r0D&cE?;hehmM@+mc^6)I?s%nhf+$O z4T1+3^I)@$s&D@}K*8*7>S@Qs13Yy;W~XNx-{=ANFx#Q8V)Xw9);wCgr%heH00000 LNkvXXu0mjfV)d*9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createindustry/textures/fluid/molten_slag_still.png.mcmeta b/src/main/resources/assets/createindustry/textures/fluid/molten_slag_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/createindustry/textures/fluid/molten_slag_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/createindustry/textures/fluid/molten_steel_flow.png b/src/main/resources/assets/createindustry/textures/fluid/molten_steel_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..299558f9fbb6a217812db26aca4d0281573ce2d6 GIT binary patch literal 18397 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 JPDHLkV1m>Ts#gF2 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createindustry/textures/fluid/molten_steel_flow.png.mcmeta b/src/main/resources/assets/createindustry/textures/fluid/molten_steel_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/createindustry/textures/fluid/molten_steel_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/createindustry/textures/fluid/molten_steel_still.png b/src/main/resources/assets/createindustry/textures/fluid/molten_steel_still.png new file mode 100644 index 0000000000000000000000000000000000000000..b328465abefbcc749ab2536e9ee0527441b33ced GIT binary patch literal 9673 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 LNkvXXu0mjfV)d*9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/createindustry/textures/fluid/molten_steel_still.png.mcmeta b/src/main/resources/assets/createindustry/textures/fluid/molten_steel_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/createindustry/textures/fluid/molten_steel_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +}