From a4b4c770be6afa6663b64280dfbde80786785178 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Mon, 24 Aug 2020 23:45:37 +0200 Subject: [PATCH] Asset Break - Implemented reworked chute models by Kryppers - Implemented new basin model by Kryppers - Chutes now have proper selection bounds - Some minor texture & model touch-ups - Fixed symmetry wand position in its GUI --- src/generated/resources/.cache/cache | 22 +-- .../assets/create/blockstates/chute.json | 38 ++--- .../assets/create/blockstates/fluid_pipe.json | 22 +-- .../resources/assets/create/lang/en_us.json | 6 +- .../assets/create/lang/unfinished/de_de.json | 6 +- .../assets/create/lang/unfinished/fr_fr.json | 2 +- .../assets/create/lang/unfinished/it_it.json | 2 +- .../assets/create/lang/unfinished/ja_jp.json | 2 +- .../assets/create/lang/unfinished/ko_kr.json | 2 +- .../assets/create/lang/unfinished/nl_nl.json | 4 +- .../assets/create/lang/unfinished/pt_br.json | 6 +- .../assets/create/lang/unfinished/ru_ru.json | 6 +- .../java/com/simibubi/create/AllShapes.java | 16 +- .../contraptions/processing/BasinBlock.java | 12 +- .../contraptions/relays/belt/BeltBlock.java | 42 +---- .../symmetry/SymmetryWandScreen.java | 2 +- .../logistics/block/chute/ChuteBlock.java | 62 ++++--- .../logistics/block/chute/ChuteGenerator.java | 9 +- .../logistics/block/chute/ChuteRenderer.java | 2 +- .../logistics/block/chute/ChuteShapes.java | 66 +++++++ .../block/chute/ChuteTileEntity.java | 2 +- .../foundation/utility/BlockHelper.java | 56 +++++- .../assets/create/models/block/basin.json | 32 ++-- .../models/block/chute/block_diagonal.json | 161 ++++-------------- .../chute/block_diagonal_intersection.json | 121 +++++++++++++ .../block/chute/block_diagonal_start.json | 156 ----------------- .../block/chute/block_diagonal_straight.json | 82 --------- .../block/chute/block_intersection.json | 67 ++++++++ .../models/block/creative_motor/block.json | 18 +- .../block/creative_motor/block_vertical.json | 138 +++++---------- .../models/block/creative_motor/item.json | 25 ++- .../textures/block/andesite_casing_short.png | Bin 551 -> 529 bytes .../block/andesite_casing_very_short.png | Bin 489 -> 460 bytes .../assets/create/textures/block/basin.png | Bin 466 -> 1745 bytes .../create/textures/block/basin_side.png | Bin 471 -> 1840 bytes .../textures/block/brass_funnel_plating.png | Bin 1263 -> 1250 bytes .../create/textures/block/brass_tunnel.png | Bin 858 -> 1119 bytes .../assets/create/textures/block/chute.png | Bin 1425 -> 8002 bytes .../create/textures/block/chute_diagonal.png | Bin 1338 -> 1390 bytes .../create/textures/block/depot_side.png | Bin 588 -> 477 bytes .../assets/create/textures/block/gauge.png | Bin 1618 -> 1642 bytes .../create/textures/block/mixer_base_side.png | Bin 402 -> 467 bytes 42 files changed, 550 insertions(+), 637 deletions(-) create mode 100644 src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteShapes.java create mode 100644 src/main/resources/assets/create/models/block/chute/block_diagonal_intersection.json delete mode 100644 src/main/resources/assets/create/models/block/chute/block_diagonal_start.json delete mode 100644 src/main/resources/assets/create/models/block/chute/block_diagonal_straight.json create mode 100644 src/main/resources/assets/create/models/block/chute/block_intersection.json diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index ca98c85f9..01dc3693b 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -41,7 +41,7 @@ e81608346d43406ee72cae0f78b8bcfb37ba2d75 assets/create/blockstates/brown_seat.js 2ca82a3c4bf7ba1a9cf3bb674e786d9b23b020a4 assets/create/blockstates/chiseled_limestone.json cbcdab42d01f8085db9e5f8db884f8adf7f17625 assets/create/blockstates/chiseled_scoria.json 291952556c52fba2af5bbd793c71af81abd27e71 assets/create/blockstates/chiseled_weathered_limestone.json -99def0a786714a337e2b1b17db844e4d1aee6234 assets/create/blockstates/chute.json +b59324f051f21d8ce1a48a08f4721a61a3c414d6 assets/create/blockstates/chute.json 4947c261310445fa55b92038326ac82967d192dd assets/create/blockstates/clockwork_bearing.json 1f33834c685e3243882acfe20183fe64dfa872be assets/create/blockstates/clutch.json e5e3757e99c139d67b2a70288466d8a74d818841 assets/create/blockstates/cogwheel.json @@ -129,7 +129,7 @@ de8a40b7daf1497d5aecee47a43b3e0b1d030b00 assets/create/blockstates/fancy_scoria_ fc9ac0a7e7191b93516719455a17177fa6524ecc assets/create/blockstates/fancy_weathered_limestone_bricks_slab.json b2a7c321b1795f20e7433f81a55ce4683de081b8 assets/create/blockstates/fancy_weathered_limestone_bricks_stairs.json 6372fe02ba0065acb0758121c45a15a1a8fdc5de assets/create/blockstates/fancy_weathered_limestone_bricks_wall.json -3d97226b5e8d8f70ed08e45e78db1faf78d5e28b assets/create/blockstates/fluid_pipe.json +fe9169716dd21a81a3710a89f0a9b7ea4dcd4d51 assets/create/blockstates/fluid_pipe.json f0eaab18e16c4f3f65ebf3b55b08f0dc445720fe assets/create/blockstates/fluid_tank.json e9da1794b6ece7f9aa8bcb43d42c23a55446133b assets/create/blockstates/flywheel.json ac00d40e1ef50a37041c0481afa1a23a14dea78e assets/create/blockstates/framed_glass.json @@ -358,15 +358,15 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json a9bcfd546e95865633a97e4b29e39c4aec940338 assets/create/lang/en_ud.json -aa14daef8d31ca69ace4e643ffdc5cc9aba22818 assets/create/lang/en_us.json -b4435a02a94ae72032f3ffb8f9282e41b1dca953 assets/create/lang/unfinished/de_de.json -4f9cc39db1e0de14e9aeabea93676b8fa8ba58ec assets/create/lang/unfinished/fr_fr.json -a5a1d2d2e6154c07be187dfe2e33c203db1dd678 assets/create/lang/unfinished/it_it.json -022fee71a855d3cd206c2c1d5c36c38f089f8120 assets/create/lang/unfinished/ja_jp.json -07da262b3005fd53abd22b5da558e3494bbefa90 assets/create/lang/unfinished/ko_kr.json -f1a7c021d2a48a56141ffe70ddec7128c5ad7261 assets/create/lang/unfinished/nl_nl.json -5e10814eb0606a6bd20097067394a93842ef7957 assets/create/lang/unfinished/pt_br.json -f1367be00730002ee0f233dfebb5e920eed56900 assets/create/lang/unfinished/ru_ru.json +8e6187bfc654637c05fd80adaec3c60e6739705a assets/create/lang/en_us.json +2426fd815d49680600f1b69e936915413020d117 assets/create/lang/unfinished/de_de.json +a287218c649de21c20e43db160ad862dec493103 assets/create/lang/unfinished/fr_fr.json +4bfe784a61dac2afb024c4030162c6b1b62ac80d assets/create/lang/unfinished/it_it.json +e2b77bb3274597ce3752fae2e93f207f8837e191 assets/create/lang/unfinished/ja_jp.json +bebccb9ae6b0d00bf651fa73ac4945f06b57fac2 assets/create/lang/unfinished/ko_kr.json +1c158b2b894f9092a4da2d12a8379da7cfcfe3bc assets/create/lang/unfinished/nl_nl.json +3610f9f37483efe94c591b96e946f93091f56773 assets/create/lang/unfinished/pt_br.json +1d0b24b5dc447e1306a779e1a510411b9ce3c44d assets/create/lang/unfinished/ru_ru.json 76928b7d9f7f41f4fa622824a872bec8e5635cea assets/create/lang/unfinished/zh_cn.json 846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json 1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json diff --git a/src/generated/resources/assets/create/blockstates/chute.json b/src/generated/resources/assets/create/blockstates/chute.json index b976d52b6..3e82ef8a8 100644 --- a/src/generated/resources/assets/create/blockstates/chute.json +++ b/src/generated/resources/assets/create/blockstates/chute.json @@ -1,39 +1,39 @@ { "variants": { - "facing=down,shape=start": { - "model": "create:block/chute/block_windowed" + "facing=down,shape=intersection": { + "model": "create:block/chute/block_intersection" }, - "facing=north,shape=start": { - "model": "create:block/chute/block_diagonal_start", + "facing=north,shape=intersection": { + "model": "create:block/chute/block_diagonal_intersection", "y": 180 }, - "facing=south,shape=start": { - "model": "create:block/chute/block_diagonal_start" + "facing=south,shape=intersection": { + "model": "create:block/chute/block_diagonal_intersection" }, - "facing=west,shape=start": { - "model": "create:block/chute/block_diagonal_start", + "facing=west,shape=intersection": { + "model": "create:block/chute/block_diagonal_intersection", "y": 90 }, - "facing=east,shape=start": { - "model": "create:block/chute/block_diagonal_start", + "facing=east,shape=intersection": { + "model": "create:block/chute/block_diagonal_intersection", "y": 270 }, - "facing=down,shape=window_straight": { + "facing=down,shape=window": { "model": "create:block/chute/block_windowed" }, - "facing=north,shape=window_straight": { - "model": "create:block/chute/block_diagonal_straight", + "facing=north,shape=window": { + "model": "create:block/chute/block_diagonal", "y": 180 }, - "facing=south,shape=window_straight": { - "model": "create:block/chute/block_diagonal_straight" + "facing=south,shape=window": { + "model": "create:block/chute/block_diagonal" }, - "facing=west,shape=window_straight": { - "model": "create:block/chute/block_diagonal_straight", + "facing=west,shape=window": { + "model": "create:block/chute/block_diagonal", "y": 90 }, - "facing=east,shape=window_straight": { - "model": "create:block/chute/block_diagonal_straight", + "facing=east,shape=window": { + "model": "create:block/chute/block_diagonal", "y": 270 }, "facing=down,shape=normal": { diff --git a/src/generated/resources/assets/create/blockstates/fluid_pipe.json b/src/generated/resources/assets/create/blockstates/fluid_pipe.json index a4cffcde7..3b646b920 100644 --- a/src/generated/resources/assets/create/blockstates/fluid_pipe.json +++ b/src/generated/resources/assets/create/blockstates/fluid_pipe.json @@ -303,8 +303,8 @@ { "when": { "west": "false", - "down": "false", "east": "true", + "down": "false", "up": "true" }, "apply": { @@ -314,8 +314,8 @@ { "when": { "west": "true", - "down": "false", "east": "false", + "down": "false", "up": "true" }, "apply": { @@ -325,8 +325,8 @@ { "when": { "west": "false", - "down": "true", "east": "true", + "down": "true", "up": "false" }, "apply": { @@ -336,8 +336,8 @@ { "when": { "west": "true", - "down": "true", "east": "false", + "down": "true", "up": "false" }, "apply": { @@ -347,8 +347,8 @@ { "when": { "west": "false", - "down": "true", "east": "false", + "down": "true", "up": "true" }, "apply": { @@ -358,8 +358,8 @@ { "when": { "west": "false", - "down": "false", "east": "false", + "down": "false", "up": "true" }, "apply": { @@ -369,8 +369,8 @@ { "when": { "west": "false", - "down": "true", "east": "false", + "down": "true", "up": "false" }, "apply": { @@ -380,8 +380,8 @@ { "when": { "west": "true", - "down": "false", "east": "true", + "down": "false", "up": "false" }, "apply": { @@ -391,8 +391,8 @@ { "when": { "west": "false", - "down": "false", "east": "true", + "down": "false", "up": "false" }, "apply": { @@ -402,8 +402,8 @@ { "when": { "west": "true", - "down": "false", "east": "false", + "down": "false", "up": "false" }, "apply": { @@ -413,8 +413,8 @@ { "when": { "west": "false", - "down": "false", "east": "false", + "down": "false", "up": "false" }, "apply": { diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index e2b28974a..392f2099c 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -462,7 +462,7 @@ "advancement.create.electron_tube": "Beep boop", "advancement.create.electron_tube.desc": "Make some Electron Tubes, useful in crafting less primitive machinery.", "advancement.create.mechanical_saw": "Stationary Chopping", - "advancement.create.mechanical_saw.desc": "Place and power a Mechanical mechanical_saw", + "advancement.create.mechanical_saw.desc": "Place and power a Mechanical Saw", "advancement.create.basin": "Basin Operation", "advancement.create.basin.desc": "Place a basin and try throwing items into it.", "advancement.create.mixer": "Mixin' it Up", @@ -520,7 +520,7 @@ "death.attack.create.fan_fire": "%1$s was burned to death by hot air", "death.attack.create.fan_lava": "%1$s was burned to death by lava fan", "death.attack.create.mechanical_drill": "%1$s was impaled by Mechanical mechanical_drill", - "death.attack.create.mechanical_saw": "%1$s got cut in half by Mechanical mechanical_saw", + "death.attack.create.mechanical_saw": "%1$s got cut in half by Mechanical Saw", "death.attack.create.cuckoo_clock_explosion": "%1$s was blown up by tampered cuckoo clock", "create.block.deployer.damage_source_name": "a rogue Deployer", @@ -537,7 +537,7 @@ "create.recipe.pressing": "Pressing", "create.recipe.mixing": "Mixing", "create.recipe.packing": "Compacting", - "create.recipe.mechanical_sawing": "mechanical_sawing", + "create.recipe.mechanical_sawing": "Sawing", "create.recipe.mechanical_crafting": "Mechanical Crafting", "create.recipe.block_cutting": "Block Cutting", "create.recipe.blockzapper_upgrade": "Handheld Blockzapper", diff --git a/src/generated/resources/assets/create/lang/unfinished/de_de.json b/src/generated/resources/assets/create/lang/unfinished/de_de.json index 107a02e1e..3258affd5 100644 --- a/src/generated/resources/assets/create/lang/unfinished/de_de.json +++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json @@ -463,7 +463,7 @@ "advancement.create.electron_tube": "UNLOCALIZED: Beep boop", "advancement.create.electron_tube.desc": "UNLOCALIZED: Make some Electron Tubes, useful in crafting less primitive machinery.", "advancement.create.mechanical_saw": "UNLOCALIZED: Stationary Chopping", - "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical mechanical_saw", + "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical Saw", "advancement.create.basin": "UNLOCALIZED: Basin Operation", "advancement.create.basin.desc": "UNLOCALIZED: Place a basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' it Up", @@ -521,7 +521,7 @@ "death.attack.create.fan_fire": "%1$s hat heiße Luft eingeatmet", "death.attack.create.fan_lava": "%1$s wurde von Lava verweht", "death.attack.create.mechanical_drill": "%1$s wurde von einem Bohrer durchlöchert", - "death.attack.create.mechanical_saw": "UNLOCALIZED: %1$s got cut in half by Mechanical mechanical_saw", + "death.attack.create.mechanical_saw": "UNLOCALIZED: %1$s got cut in half by Mechanical Saw", "death.attack.create.cuckoo_clock_explosion": "UNLOCALIZED: %1$s was blown up by tampered cuckoo clock", "create.block.deployer.damage_source_name": "UNLOCALIZED: a rogue Deployer", @@ -538,7 +538,7 @@ "create.recipe.pressing": "Mechanische Presse", "create.recipe.mixing": "UNLOCALIZED: Mixing", "create.recipe.packing": "UNLOCALIZED: Compacting", - "create.recipe.mechanical_sawing": "UNLOCALIZED: mechanical_sawing", + "create.recipe.mechanical_sawing": "UNLOCALIZED: Sawing", "create.recipe.mechanical_crafting": "UNLOCALIZED: Mechanical Crafting", "create.recipe.block_cutting": "UNLOCALIZED: Block Cutting", "create.recipe.blockzapper_upgrade": "Blockpistole", diff --git a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json index 484c243b7..f15220a1b 100644 --- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json +++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json @@ -463,7 +463,7 @@ "advancement.create.electron_tube": "UNLOCALIZED: Beep boop", "advancement.create.electron_tube.desc": "UNLOCALIZED: Make some Electron Tubes, useful in crafting less primitive machinery.", "advancement.create.mechanical_saw": "UNLOCALIZED: Stationary Chopping", - "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical mechanical_saw", + "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical Saw", "advancement.create.basin": "UNLOCALIZED: Basin Operation", "advancement.create.basin.desc": "UNLOCALIZED: Place a basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' it Up", diff --git a/src/generated/resources/assets/create/lang/unfinished/it_it.json b/src/generated/resources/assets/create/lang/unfinished/it_it.json index ae1d277e1..d389aafbc 100644 --- a/src/generated/resources/assets/create/lang/unfinished/it_it.json +++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json @@ -463,7 +463,7 @@ "advancement.create.electron_tube": "UNLOCALIZED: Beep boop", "advancement.create.electron_tube.desc": "UNLOCALIZED: Make some Electron Tubes, useful in crafting less primitive machinery.", "advancement.create.mechanical_saw": "UNLOCALIZED: Stationary Chopping", - "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical mechanical_saw", + "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical Saw", "advancement.create.basin": "UNLOCALIZED: Basin Operation", "advancement.create.basin.desc": "UNLOCALIZED: Place a basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' it Up", diff --git a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json index c32b645d8..07348263d 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json +++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json @@ -463,7 +463,7 @@ "advancement.create.electron_tube": "UNLOCALIZED: Beep boop", "advancement.create.electron_tube.desc": "UNLOCALIZED: Make some Electron Tubes, useful in crafting less primitive machinery.", "advancement.create.mechanical_saw": "UNLOCALIZED: Stationary Chopping", - "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical mechanical_saw", + "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical Saw", "advancement.create.basin": "UNLOCALIZED: Basin Operation", "advancement.create.basin.desc": "UNLOCALIZED: Place a basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' it Up", diff --git a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json index 987f35f24..0cdf1d4f7 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json +++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json @@ -463,7 +463,7 @@ "advancement.create.electron_tube": "UNLOCALIZED: Beep boop", "advancement.create.electron_tube.desc": "UNLOCALIZED: Make some Electron Tubes, useful in crafting less primitive machinery.", "advancement.create.mechanical_saw": "UNLOCALIZED: Stationary Chopping", - "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical mechanical_saw", + "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical Saw", "advancement.create.basin": "UNLOCALIZED: Basin Operation", "advancement.create.basin.desc": "UNLOCALIZED: Place a basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' it Up", diff --git a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json index e25f63bb0..112256c93 100644 --- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json +++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json @@ -463,7 +463,7 @@ "advancement.create.electron_tube": "UNLOCALIZED: Beep boop", "advancement.create.electron_tube.desc": "UNLOCALIZED: Make some Electron Tubes, useful in crafting less primitive machinery.", "advancement.create.mechanical_saw": "UNLOCALIZED: Stationary Chopping", - "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical mechanical_saw", + "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical Saw", "advancement.create.basin": "UNLOCALIZED: Basin Operation", "advancement.create.basin.desc": "UNLOCALIZED: Place a basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' it Up", @@ -521,7 +521,7 @@ "death.attack.create.fan_fire": "%1$s is verbrand door hete lucht", "death.attack.create.fan_lava": "%1$s is verbrand door een lava ventilator", "death.attack.create.mechanical_drill": "%1$s is gespietst door een mechanische boor", - "death.attack.create.mechanical_saw": "UNLOCALIZED: %1$s got cut in half by Mechanical mechanical_saw", + "death.attack.create.mechanical_saw": "UNLOCALIZED: %1$s got cut in half by Mechanical Saw", "death.attack.create.cuckoo_clock_explosion": "UNLOCALIZED: %1$s was blown up by tampered cuckoo clock", "create.block.deployer.damage_source_name": "UNLOCALIZED: a rogue Deployer", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_br.json b/src/generated/resources/assets/create/lang/unfinished/pt_br.json index b58961752..29c578ff0 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json @@ -463,7 +463,7 @@ "advancement.create.electron_tube": "UNLOCALIZED: Beep boop", "advancement.create.electron_tube.desc": "UNLOCALIZED: Make some Electron Tubes, useful in crafting less primitive machinery.", "advancement.create.mechanical_saw": "UNLOCALIZED: Stationary Chopping", - "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical mechanical_saw", + "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical Saw", "advancement.create.basin": "UNLOCALIZED: Basin Operation", "advancement.create.basin.desc": "UNLOCALIZED: Place a basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' it Up", @@ -521,7 +521,7 @@ "death.attack.create.fan_fire": "%1$s foi queimado por ar quente", "death.attack.create.fan_lava": "%1$s foi queimado pelo ventilador de lava", "death.attack.create.mechanical_drill": "%1$s foi empalado pela Furadeira Mecânica", - "death.attack.create.mechanical_saw": "UNLOCALIZED: %1$s got cut in half by Mechanical mechanical_saw", + "death.attack.create.mechanical_saw": "UNLOCALIZED: %1$s got cut in half by Mechanical Saw", "death.attack.create.cuckoo_clock_explosion": "UNLOCALIZED: %1$s was blown up by tampered cuckoo clock", "create.block.deployer.damage_source_name": "UNLOCALIZED: a rogue Deployer", @@ -538,7 +538,7 @@ "create.recipe.pressing": "Prensa Mecânica", "create.recipe.mixing": "UNLOCALIZED: Mixing", "create.recipe.packing": "UNLOCALIZED: Compacting", - "create.recipe.mechanical_sawing": "UNLOCALIZED: mechanical_sawing", + "create.recipe.mechanical_sawing": "UNLOCALIZED: Sawing", "create.recipe.mechanical_crafting": "UNLOCALIZED: Mechanical Crafting", "create.recipe.block_cutting": "UNLOCALIZED: Block Cutting", "create.recipe.blockzapper_upgrade": "Blockzapper Portátil", diff --git a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json index c0713565b..955e661e8 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json +++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json @@ -463,7 +463,7 @@ "advancement.create.electron_tube": "UNLOCALIZED: Beep boop", "advancement.create.electron_tube.desc": "UNLOCALIZED: Make some Electron Tubes, useful in crafting less primitive machinery.", "advancement.create.mechanical_saw": "UNLOCALIZED: Stationary Chopping", - "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical mechanical_saw", + "advancement.create.mechanical_saw.desc": "UNLOCALIZED: Place and power a Mechanical Saw", "advancement.create.basin": "UNLOCALIZED: Basin Operation", "advancement.create.basin.desc": "UNLOCALIZED: Place a basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' it Up", @@ -521,7 +521,7 @@ "death.attack.create.fan_fire": "%1$s сгорел заживо от горячего воздуха.", "death.attack.create.fan_lava": "%1$s сгорел заживо от лавового вентилятора", "death.attack.create.mechanical_drill": "%1$s был проколот механическим буром", - "death.attack.create.mechanical_saw": "UNLOCALIZED: %1$s got cut in half by Mechanical mechanical_saw", + "death.attack.create.mechanical_saw": "UNLOCALIZED: %1$s got cut in half by Mechanical Saw", "death.attack.create.cuckoo_clock_explosion": "UNLOCALIZED: %1$s was blown up by tampered cuckoo clock", "create.block.deployer.damage_source_name": "UNLOCALIZED: a rogue Deployer", @@ -538,7 +538,7 @@ "create.recipe.pressing": "Механический пресс", "create.recipe.mixing": "UNLOCALIZED: Mixing", "create.recipe.packing": "UNLOCALIZED: Compacting", - "create.recipe.mechanical_sawing": "UNLOCALIZED: mechanical_sawing", + "create.recipe.mechanical_sawing": "UNLOCALIZED: Sawing", "create.recipe.mechanical_crafting": "UNLOCALIZED: Mechanical Crafting", "create.recipe.block_cutting": "UNLOCALIZED: Block Cutting", "create.recipe.blockzapper_upgrade": "Портативный размещатель блоков", diff --git a/src/main/java/com/simibubi/create/AllShapes.java b/src/main/java/com/simibubi/create/AllShapes.java index f3792a945..3e3c165d9 100644 --- a/src/main/java/com/simibubi/create/AllShapes.java +++ b/src/main/java/com/simibubi/create/AllShapes.java @@ -6,6 +6,7 @@ import static net.minecraft.util.Direction.UP; import java.util.function.BiFunction; +import com.simibubi.create.content.logistics.block.chute.ChuteShapes; import com.simibubi.create.foundation.utility.VoxelShaper; import net.minecraft.block.Block; @@ -111,14 +112,16 @@ public class AllShapes { // Static Block Shapes public static final VoxelShape - BASIN_BLOCK_SHAPE = shape(0, 2, 0, 16, 13, 16).erase(2, 5, 2, 14, 14, 14) + BASIN_BLOCK_SHAPE = shape(0, 2, 0, 16, 16, 16).erase(2, 2, 2, 14, 16, 14) .add(2, 0, 2, 14, 2, 14) - .build(), HEATER_BLOCK_SHAPE = - shape(2, 0, 2, 14, 14, 14).add(0, 0, 0, 16, 4, 16) + .build(), BASIN_COLLISION_SHAPE = + shape(0, 2, 0, 16, 16, 16).erase(2, 5, 2, 14, 16, 14) + .add(2, 0, 2, 14, 2, 14) .build(), + HEATER_BLOCK_SHAPE = shape(2, 0, 2, 14, 14, 14).add(0, 0, 0, 16, 4, 16) + .build(), HEATER_BLOCK_SPECIAL_COLLISION_SHAPE = shape(0, 0, 0, 16, 4, 16).build(), - CRUSHING_WHEEL_COLLISION_SHAPE = cuboid(0, 0, 0, 16, 22, 16), - SEAT = cuboid(0, 0, 0, 16, 8, 16), + CRUSHING_WHEEL_COLLISION_SHAPE = cuboid(0, 0, 0, 16, 22, 16), SEAT = cuboid(0, 0, 0, 16, 8, 16), SEAT_COLLISION = cuboid(0, 0, 0, 16, 6, 16), MECHANICAL_PROCESSOR_SHAPE = shape(VoxelShapes.fullCube()).erase(4, 0, 4, 12, 16, 12) .build(), @@ -171,7 +174,8 @@ public class AllShapes { LOGISTICS_TABLE = shape(TABLE_POLE_SHAPE).add(LOGISTICS_TABLE_SLOPE) .forHorizontal(SOUTH), SCHEMATICS_TABLE = shape(TABLE_POLE_SHAPE).add(SCHEMATICS_TABLE_SLOPE) - .forDirectional(SOUTH) + .forDirectional(SOUTH), + CHUTE_SLOPE = shape(ChuteShapes.createSlope()).forHorizontal(SOUTH) ; diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinBlock.java b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinBlock.java index bc1c0d703..99bb9751f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinBlock.java @@ -103,11 +103,15 @@ public class BasinBlock extends Block implements ITE, IWrenchab } @Override - public void onReplaced(BlockState state, World worldIn, BlockPos pos, BlockState newState, boolean isMoving) { - if (!state.hasTileEntity() || state.getBlock() == newState.getBlock()) { - return; - } + public VoxelShape getCollisionShape(BlockState p_220071_1_, IBlockReader p_220071_2_, BlockPos p_220071_3_, + ISelectionContext p_220071_4_) { + return AllShapes.BASIN_COLLISION_SHAPE; + } + @Override + public void onReplaced(BlockState state, World worldIn, BlockPos pos, BlockState newState, boolean isMoving) { + if (!state.hasTileEntity() || state.getBlock() == newState.getBlock()) + return; withTileEntityDo(worldIn, pos, te -> { ItemHelper.dropContents(worldIn, pos, te.inputItemInventory); ItemHelper.dropContents(worldIn, pos, te.outputItemInventory); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java index 8116171dc..f5adeb459 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java @@ -5,13 +5,11 @@ import java.util.Collections; import java.util.LinkedList; import java.util.List; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import org.apache.commons.lang3.mutable.MutableInt; - import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; +import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity.CasingType; import com.simibubi.create.content.contraptions.relays.belt.transport.BeltMovementHandler.TransportedEntityInfo; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock; @@ -19,6 +17,7 @@ import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType; import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.block.Block; @@ -26,7 +25,6 @@ import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.material.Material; -import net.minecraft.client.particle.DiggingParticle; import net.minecraft.client.particle.ParticleManager; import net.minecraft.entity.Entity; import net.minecraft.entity.MobEntity; @@ -52,7 +50,6 @@ import net.minecraft.util.NonNullList; import net.minecraft.util.Rotation; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockRayTraceResult; -import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.VoxelShape; @@ -327,40 +324,7 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE amtBoxes.increment()); - double chance = 1d / amtBoxes.getValue(); - - voxelshape.forEachBox((x1, y1, z1, x2, y2, z2) -> { - double d1 = Math.min(1.0D, x2 - x1); - double d2 = Math.min(1.0D, y2 - y1); - double d3 = Math.min(1.0D, z2 - z1); - int i = Math.max(2, MathHelper.ceil(d1 / 0.25D)); - int j = Math.max(2, MathHelper.ceil(d2 / 0.25D)); - int k = Math.max(2, MathHelper.ceil(d3 / 0.25D)); - - for (int l = 0; l < i; ++l) { - for (int i1 = 0; i1 < j; ++i1) { - for (int j1 = 0; j1 < k; ++j1) { - if (world.rand.nextDouble() > chance) - continue; - - double d4 = ((double) l + 0.5D) / (double) i; - double d5 = ((double) i1 + 0.5D) / (double) j; - double d6 = ((double) j1 + 0.5D) / (double) k; - double d7 = d4 * d1 + x1; - double d8 = d5 * d2 + y1; - double d9 = d6 * d3 + z1; - manager - .addEffect((new DiggingParticle(world, (double) pos.getX() + d7, (double) pos.getY() + d8, - (double) pos.getZ() + d9, d4 - 0.5D, d5 - 0.5D, d6 - 0.5D, state)).setBlockPos(pos)); - } - } - } - - }); + BlockHelper.addReducedDestroyEffects(state, world, pos, manager); return true; } diff --git a/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandScreen.java b/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandScreen.java index 07115fb43..cba957ade 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandScreen.java +++ b/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandScreen.java @@ -115,7 +115,7 @@ public class SymmetryWandScreen extends AbstractSimiScreen { renderBlock(); GuiGameElement.of(wand) - .at(guiLeft + 220, guiTop + 220) + .at(guiLeft + 200, guiTop + 170) .scale(4) .rotate(-70, 20, 20) .render(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteBlock.java index e8a978360..9c6d7e4a6 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteBlock.java @@ -3,17 +3,18 @@ package com.simibubi.create.content.logistics.block.chute; import java.util.HashMap; import java.util.Map; -import com.simibubi.create.AllShapes; import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; +import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.block.Block; import net.minecraft.block.BlockState; +import net.minecraft.client.particle.ParticleManager; import net.minecraft.entity.Entity; import net.minecraft.entity.item.ItemEntity; import net.minecraft.entity.player.PlayerEntity; @@ -38,13 +39,15 @@ import net.minecraft.world.IBlockReader; import net.minecraft.world.IWorld; import net.minecraft.world.IWorldReader; import net.minecraft.world.World; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; public class ChuteBlock extends Block implements IWrenchable, ITE { public static final IProperty SHAPE = EnumProperty.create("shape", Shape.class); public static final DirectionProperty FACING = BlockStateProperties.FACING_EXCEPT_UP; public enum Shape implements IStringSerializable { - START(), WINDOW_STRAIGHT(), NORMAL(); + INTERSECTION, WINDOW, NORMAL; @Override public String getName() { @@ -170,14 +173,15 @@ public class ChuteBlock extends Block implements IWrenchable, ITE connections = new HashMap<>(); int amtConnections = 0; Direction facing = state.get(FACING); + boolean vertical = facing == Direction.DOWN; - if (facing == Direction.DOWN) - return state; - BlockState target = world.getBlockState(pos.down() - .offset(facing.getOpposite())); - if (!(target.getBlock() instanceof ChuteBlock)) - return state.with(FACING, Direction.DOWN) - .with(SHAPE, Shape.NORMAL); + if (!vertical) { + BlockState target = world.getBlockState(pos.down() + .offset(facing.getOpposite())); + if (!(target.getBlock() instanceof ChuteBlock)) + return state.with(FACING, Direction.DOWN) + .with(SHAPE, Shape.NORMAL); + } for (Direction direction : Iterate.horizontalDirections) { BlockState diagonalInputChute = world.getBlockState(pos.up() @@ -189,31 +193,51 @@ public class ChuteBlock extends Block implements IWrenchable, ITE { BlockState blockState = te.getBlockState(); if (blockState.get(ChuteBlock.FACING) != Direction.DOWN) return; - if (blockState.get(ChuteBlock.SHAPE) != Shape.WINDOW_STRAIGHT) + if (blockState.get(ChuteBlock.SHAPE) != Shape.WINDOW) return; ItemRenderer itemRenderer = Minecraft.getInstance() diff --git a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteShapes.java b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteShapes.java new file mode 100644 index 000000000..aa8710fbb --- /dev/null +++ b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteShapes.java @@ -0,0 +1,66 @@ +package com.simibubi.create.content.logistics.block.chute; + +import java.util.HashMap; +import java.util.Map; + +import com.simibubi.create.AllShapes; +import com.simibubi.create.content.logistics.block.chute.ChuteBlock.Shape; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.util.Direction; +import net.minecraft.util.math.shapes.IBooleanFunction; +import net.minecraft.util.math.shapes.VoxelShape; +import net.minecraft.util.math.shapes.VoxelShapes; + +public class ChuteShapes { + + static Map cache = new HashMap<>(); + static Map collisionCache = new HashMap<>(); + + public static final VoxelShape INTERSECTION_MASK = Block.makeCuboidShape(0, -16, 0, 16, 16, 16); + public static final VoxelShape COLLISION_MASK = Block.makeCuboidShape(0, 0, 0, 16, 24, 16); + + public static VoxelShape createShape(BlockState state) { + Direction direction = state.get(ChuteBlock.FACING); + Shape shape = state.get(ChuteBlock.SHAPE); + + boolean intersection = shape == Shape.INTERSECTION; + if (direction == Direction.DOWN) + return intersection ? VoxelShapes.fullCube() : AllShapes.CHUTE; + + VoxelShape combineWith = intersection ? VoxelShapes.fullCube() : VoxelShapes.empty(); + VoxelShape result = VoxelShapes.or(combineWith, AllShapes.CHUTE_SLOPE.get(direction)); + if (intersection) + result = VoxelShapes.combine(INTERSECTION_MASK, result, IBooleanFunction.AND); + return result; + } + + public static VoxelShape getShape(BlockState state) { + if (cache.containsKey(state)) + return cache.get(state); + VoxelShape createdShape = createShape(state); + cache.put(state, createdShape); + return createdShape; + } + + public static VoxelShape getCollisionShape(BlockState state) { + if (collisionCache.containsKey(state)) + return collisionCache.get(state); + VoxelShape createdShape = VoxelShapes.combine(COLLISION_MASK, getShape(state), IBooleanFunction.AND); + collisionCache.put(state, createdShape); + return createdShape; + } + + public static final VoxelShape PANEL = Block.makeCuboidShape(1, -15, 0, 15, 4, 1); + + public static VoxelShape createSlope() { + VoxelShape shape = VoxelShapes.empty(); + for (int i = 0; i < 16; i++) { + float offset = i / 16f; + shape = VoxelShapes.combineAndSimplify(shape, PANEL.withOffset(0, offset, offset), IBooleanFunction.OR); + } + return shape; + } + +} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteTileEntity.java index 18acba30a..776380e50 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteTileEntity.java @@ -79,7 +79,7 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor return false; if (getItemMotion() > 0 && getInputChutes().isEmpty()) return false; - return blockState.get(ChuteBlock.FACING) == Direction.DOWN || blockState.get(ChuteBlock.SHAPE) == Shape.START; + return blockState.get(ChuteBlock.FACING) == Direction.DOWN || blockState.get(ChuteBlock.SHAPE) == Shape.INTERSECTION; } @Override diff --git a/src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java b/src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java index 1197aa3cf..6b2933e16 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java @@ -2,8 +2,12 @@ package com.simibubi.create.foundation.utility; import java.util.function.Consumer; +import org.apache.commons.lang3.mutable.MutableInt; + import net.minecraft.block.Block; import net.minecraft.block.BlockState; +import net.minecraft.client.particle.DiggingParticle; +import net.minecraft.client.particle.ParticleManager; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.fluid.IFluidState; import net.minecraft.item.Item; @@ -12,18 +16,59 @@ import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.SlabType; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.world.GameRules; import net.minecraft.world.World; import net.minecraft.world.server.ServerWorld; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; public class BlockHelper { + @OnlyIn(Dist.CLIENT) + public static void addReducedDestroyEffects(BlockState state, World world, BlockPos pos, ParticleManager manager) { + VoxelShape voxelshape = state.getShape(world, pos); + MutableInt amtBoxes = new MutableInt(0); + voxelshape.forEachBox((x1, y1, z1, x2, y2, z2) -> amtBoxes.increment()); + double chance = 1d / amtBoxes.getValue(); + + voxelshape.forEachBox((x1, y1, z1, x2, y2, z2) -> { + double d1 = Math.min(1.0D, x2 - x1); + double d2 = Math.min(1.0D, y2 - y1); + double d3 = Math.min(1.0D, z2 - z1); + int i = Math.max(2, MathHelper.ceil(d1 / 0.25D)); + int j = Math.max(2, MathHelper.ceil(d2 / 0.25D)); + int k = Math.max(2, MathHelper.ceil(d3 / 0.25D)); + + for (int l = 0; l < i; ++l) { + for (int i1 = 0; i1 < j; ++i1) { + for (int j1 = 0; j1 < k; ++j1) { + if (world.rand.nextDouble() > chance) + continue; + + double d4 = ((double) l + 0.5D) / (double) i; + double d5 = ((double) i1 + 0.5D) / (double) j; + double d6 = ((double) j1 + 0.5D) / (double) k; + double d7 = d4 * d1 + x1; + double d8 = d5 * d2 + y1; + double d9 = d6 * d3 + z1; + manager + .addEffect((new DiggingParticle(world, (double) pos.getX() + d7, (double) pos.getY() + d8, + (double) pos.getZ() + d9, d4 - 0.5D, d5 - 0.5D, d6 - 0.5D, state)).setBlockPos(pos)); + } + } + } + + }); + } + public static int findAndRemoveInInventory(BlockState block, PlayerEntity player, int amount) { int amountFound = 0; Item required = getRequiredItem(block).getItem(); - boolean needsTwo = block.has(BlockStateProperties.SLAB_TYPE) - && block.get(BlockStateProperties.SLAB_TYPE) == SlabType.DOUBLE; + boolean needsTwo = + block.has(BlockStateProperties.SLAB_TYPE) && block.get(BlockStateProperties.SLAB_TYPE) == SlabType.DOUBLE; if (needsTwo) amount *= 2; @@ -36,7 +81,7 @@ public class BlockHelper { if (itemstack.getItem() == required && count > 0) { int taken = Math.min(count, amount - amountFound); player.inventory.setInventorySlotContents(preferredSlot, - new ItemStack(itemstack.getItem(), count - taken)); + new ItemStack(itemstack.getItem(), count - taken)); amountFound += taken; } } @@ -75,14 +120,15 @@ public class BlockHelper { } public static void destroyBlock(World world, BlockPos pos, float effectChance, - Consumer droppedItemCallback) { + Consumer droppedItemCallback) { IFluidState ifluidstate = world.getFluidState(pos); BlockState state = world.getBlockState(pos); if (world.rand.nextFloat() < effectChance) world.playEvent(2001, pos, Block.getStateId(state)); TileEntity tileentity = state.hasTileEntity() ? world.getTileEntity(pos) : null; - if (world.getGameRules().getBoolean(GameRules.DO_TILE_DROPS) && !world.restoringBlockSnapshots) { + if (world.getGameRules() + .getBoolean(GameRules.DO_TILE_DROPS) && !world.restoringBlockSnapshots) { for (ItemStack itemStack : Block.getDrops(state, (ServerWorld) world, pos, tileentity)) droppedItemCallback.accept(itemStack); state.spawnAdditionalDrops(world, pos, ItemStack.EMPTY); diff --git a/src/main/resources/assets/create/models/block/basin.json b/src/main/resources/assets/create/models/block/basin.json index 95bc5feaa..aa5e251cd 100644 --- a/src/main/resources/assets/create/models/block/basin.json +++ b/src/main/resources/assets/create/models/block/basin.json @@ -10,13 +10,13 @@ { "name": "Side1", "from": [0, 2, 0], - "to": [2, 13, 16], + "to": [2, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 24, 8]}, "faces": { - "north": {"uv": [14, 3, 16, 14], "texture": "#1"}, - "east": {"uv": [0, 3, 16, 14], "texture": "#1"}, - "south": {"uv": [0, 3, 2, 14], "texture": "#1"}, - "west": {"uv": [0, 3, 16, 14], "texture": "#1"}, + "north": {"uv": [14, 0, 16, 14], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 14], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 14], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 14], "texture": "#1"}, "up": {"uv": [0, 0, 2, 16], "texture": "#12"}, "down": {"uv": [0, 0, 2, 16], "texture": "#12"} } @@ -38,11 +38,11 @@ { "name": "Side4", "from": [2, 2, 0], - "to": [14, 13, 2], + "to": [14, 16, 2], "rotation": {"angle": 0, "axis": "y", "origin": [8, 24, 8]}, "faces": { - "north": {"uv": [2, 3, 14, 14], "texture": "#1"}, - "south": {"uv": [2, 3, 14, 14], "texture": "#1"}, + "north": {"uv": [2, 0, 14, 14], "texture": "#1"}, + "south": {"uv": [2, 0, 14, 14], "texture": "#1"}, "up": {"uv": [2, 0, 14, 2], "texture": "#12"}, "down": {"uv": [2, 14, 14, 16], "texture": "#12"} } @@ -50,11 +50,11 @@ { "name": "Side2", "from": [2, 2, 14], - "to": [14, 13, 16], + "to": [14, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 24, 8]}, "faces": { - "north": {"uv": [2, 3, 14, 14], "texture": "#1"}, - "south": {"uv": [2, 3, 14, 14], "texture": "#1"}, + "north": {"uv": [2, 0, 14, 14], "texture": "#1"}, + "south": {"uv": [2, 0, 14, 14], "texture": "#1"}, "up": {"uv": [2, 14, 14, 16], "texture": "#12"}, "down": {"uv": [2, 0, 14, 2], "texture": "#12"} } @@ -62,13 +62,13 @@ { "name": "Side3", "from": [14, 2, 0], - "to": [16, 13, 16], + "to": [16, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 40, 8]}, "faces": { - "north": {"uv": [0, 3, 2, 14], "texture": "#1"}, - "east": {"uv": [0, 3, 16, 14], "texture": "#1"}, - "south": {"uv": [14, 3, 16, 14], "texture": "#1"}, - "west": {"uv": [0, 3, 16, 14], "texture": "#1"}, + "north": {"uv": [0, 0, 2, 14], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 14], "texture": "#1"}, + "south": {"uv": [14, 0, 16, 14], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 14], "texture": "#1"}, "up": {"uv": [14, 0, 16, 16], "texture": "#12"}, "down": {"uv": [14, 0, 16, 16], "texture": "#12"} } diff --git a/src/main/resources/assets/create/models/block/chute/block_diagonal.json b/src/main/resources/assets/create/models/block/chute/block_diagonal.json index 7f7428bce..d2bdace75 100644 --- a/src/main/resources/assets/create/models/block/chute/block_diagonal.json +++ b/src/main/resources/assets/create/models/block/chute/block_diagonal.json @@ -2,151 +2,56 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "2": "create:block/chute_diagonal", - "13": "create:block/chute", - "particle": "block/hopper_outside" + "0": "create:block/chute", + "1": "create:block/chute_diagonal", + "particle": "block/hopper_inside" }, "elements": [ { - "from": [2, 8, 2], - "to": [14, 16, 14], + "from": [1.1, -11, 2], + "to": [14.9, 0, 16], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 0, 16]}, "faces": { - "north": {"uv": [9, 4, 15, 8], "rotation": 180, "texture": "#13"}, - "east": {"uv": [9, 4, 15, 8], "rotation": 180, "texture": "#13"}, - "south": {"uv": [9, 4, 15, 8], "rotation": 180, "texture": "#13"}, - "west": {"uv": [9, 4, 15, 8], "rotation": 180, "texture": "#13"}, - "up": {"uv": [5, 10, 11, 16], "texture": "#2"}, - "down": {"uv": [9, 11, 15, 15], "texture": "#13"} + "north": {"uv": [8.5, 8.5, 15.5, 14], "texture": "#1"}, + "east": {"uv": [8.5, 8.5, 15.5, 14], "texture": "#1"}, + "south": {"uv": [8.5, 8.5, 15.5, 14], "texture": "#1"}, + "west": {"uv": [8.5, 8.5, 15.5, 14], "texture": "#1"}, + "up": {"uv": [8.5, 8.5, 15.5, 15.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [8.5, 8.5, 15.5, 15.5], "rotation": 180, "texture": "#0"} } }, { - "from": [2, 5.5, 2], - "to": [14, 8, 14], + "from": [4, -16, -2], + "to": [12, -4.4, 0], + "rotation": {"angle": 45, "axis": "x", "origin": [8, -16, 0]}, "faces": { - "north": {"uv": [9, 10.5, 15, 14.5], "rotation": 180, "texture": "#13"}, - "east": {"uv": [14.25, 5, 15.5, 11], "rotation": 270, "texture": "#2"}, - "south": {"uv": [14.25, 5, 15.5, 11], "rotation": 270, "texture": "#2"}, - "west": {"uv": [14.25, 5, 15.5, 11], "rotation": 270, "texture": "#2"}, - "up": {"uv": [9, 9.5, 15, 15.5], "texture": "#13"}, - "down": {"uv": [9, 11, 15, 15], "texture": "#13"} + "east": {"uv": [6, 8.5, 7, 14.5], "texture": "#1"}, + "south": {"uv": [2, 8.5, 6, 14.5], "texture": "#1"}, + "west": {"uv": [1, 8.5, 2, 14.5], "texture": "#1"}, + "down": {"uv": [0, 0, 8, 2], "rotation": 180, "texture": "#1"} } }, { - "from": [1.9, -12, 7.9], - "to": [14.1, 10.666, 14.1], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "from": [2.1, -16, -7], + "to": [13.9, -4.4, -2], + "rotation": {"angle": 45, "axis": "x", "origin": [8, -16, 0]}, "faces": { - "north": {"uv": [0, 10, 11, 16], "rotation": 270, "texture": "#2"}, - "east": {"uv": [13, 11, 16, 0], "texture": "#2"}, - "south": {"uv": [0, 10, 11, 16], "rotation": 270, "texture": "#2"}, - "west": {"uv": [13, 0, 16, 11], "rotation": 180, "texture": "#2"}, - "up": {"uv": [5, 10, 11, 13], "rotation": 180, "texture": "#2"} + "east": {"uv": [9, 1, 11.5, 7], "texture": "#1"}, + "south": {"uv": [9, 1, 15, 7], "texture": "#1"}, + "west": {"uv": [12.5, 1, 15, 7], "texture": "#1"}, + "down": {"uv": [9, 12.5, 15, 15], "rotation": 180, "texture": "#0"} } }, { - "from": [3, 13, 3], - "to": [13, 14, 13], + "from": [2.1, -16, -13], + "to": [13.9, -4.4, -7], + "rotation": {"angle": 45, "axis": "x", "origin": [8, -16, 0]}, "faces": { - "up": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#2"} + "north": {"uv": [9, 1, 15, 7], "texture": "#1"}, + "east": {"uv": [11.5, 1, 15, 7], "texture": "#1"}, + "west": {"uv": [9, 1, 12.5, 7], "texture": "#1"}, + "down": {"uv": [9, 9, 15, 12], "rotation": 180, "texture": "#0"} } - }, - { - "from": [1.1, -12, 1.9], - "to": [14.9, 10.666, 8.1], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [0, 3, 11, 10], "rotation": 90, "texture": "#2"}, - "east": {"uv": [0, 0, 11, 3], "rotation": 270, "texture": "#2"}, - "south": {"uv": [0, 3, 11, 10], "rotation": 90, "texture": "#2"}, - "west": {"uv": [0, 0, 11, 3], "rotation": 90, "texture": "#2"}, - "up": {"uv": [8.5, 0, 15.5, 3], "rotation": 180, "texture": "#13"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 225, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 3.25, 0], - "scale": [0.25, 0.25, 0.25] - }, - "gui": { - "rotation": [30, 225, 0], - "translation": [0, 1, 0], - "scale": [0.5, 0.5, 0.5] - }, - "head": { - "rotation": [0, 90, 0] - }, - "fixed": { - "rotation": [0, 90, 0], - "translation": [0, 1.5, 0], - "scale": [0.5, 0.5, 0.5] - } - }, - "groups": [ - { - "name": "group", - "origin": [8, 24, -24], - "children": [0] - }, - { - "name": "alt_block_diagonal_start", - "origin": [8, 8, 8], - "children": [ - { - "name": "group", - "origin": [8, 56, -56], - "children": [1] - }, - { - "name": "alt_block_diagonal_straight", - "origin": [8, 8, 8], - "children": [ - { - "name": "group", - "origin": [8, 8, -8], - "children": [2] - }, - { - "name": "group", - "origin": [8, 8, -8], - "children": [] - } - ] - }, 3] - }, - { - "name": "alt_block_diagonal_straight", - "origin": [8, 8, 8], - "children": [ - { - "name": "group", - "origin": [8, 8, -8], - "children": [4] - }, - { - "name": "group", - "origin": [8, 8, -8], - "children": [] - } - ] } ] } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/chute/block_diagonal_intersection.json b/src/main/resources/assets/create/models/block/chute/block_diagonal_intersection.json new file mode 100644 index 000000000..8dc512a03 --- /dev/null +++ b/src/main/resources/assets/create/models/block/chute/block_diagonal_intersection.json @@ -0,0 +1,121 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/chute", + "1": "create:block/chute_diagonal", + "particle": "block/hopper_inside" + }, + "elements": [ + { + "from": [1.1, -11, 2], + "to": [14.9, 0, 16], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 0, 16]}, + "faces": { + "north": {"uv": [8.5, 8.5, 15.5, 14], "texture": "#1"}, + "east": {"uv": [8.5, 8.5, 15.5, 14], "texture": "#1"}, + "south": {"uv": [8.5, 8.5, 15.5, 14], "texture": "#1"}, + "west": {"uv": [8.5, 8.5, 15.5, 14], "texture": "#1"}, + "up": {"uv": [8.5, 8.5, 15.5, 15.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [8.5, 8.5, 15.5, 15.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, -16, -2], + "to": [12, -4.4, 0], + "rotation": {"angle": 45, "axis": "x", "origin": [8, -16, 0]}, + "faces": { + "east": {"uv": [6, 8.5, 7, 14.5], "texture": "#1"}, + "south": {"uv": [2, 8.5, 6, 14.5], "texture": "#1"}, + "west": {"uv": [1, 8.5, 2, 14.5], "texture": "#1"}, + "down": {"uv": [0, 0, 8, 2], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [2.1, -16, -7], + "to": [13.9, -4.4, -2], + "rotation": {"angle": 45, "axis": "x", "origin": [8, -16, 0]}, + "faces": { + "east": {"uv": [9, 1, 11.5, 7], "texture": "#1"}, + "south": {"uv": [9, 1, 15, 7], "texture": "#1"}, + "west": {"uv": [12.5, 1, 15, 7], "texture": "#1"}, + "down": {"uv": [9, 12.5, 15, 15], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2.1, -16, -13], + "to": [13.9, -4.4, -7], + "rotation": {"angle": 45, "axis": "x", "origin": [8, -16, 0]}, + "faces": { + "north": {"uv": [9, 1, 15, 7], "texture": "#1"}, + "east": {"uv": [11.5, 1, 15, 7], "texture": "#1"}, + "west": {"uv": [9, 1, 12.5, 7], "texture": "#1"}, + "down": {"uv": [9, 9, 15, 12], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [6.5, 0, 8, 8], "texture": "#1"}, + "east": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 1.5, 8], "texture": "#1"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#1"}, + "up": {"uv": [8, 8, 9.5, 16], "texture": "#0"}, + "down": {"uv": [14.5, 8, 16, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1.5, 8], "texture": "#1"}, + "east": {"uv": [0, 0, 8, 8], "texture": "#1"}, + "south": {"uv": [6.5, 0, 8, 8], "texture": "#1"}, + "west": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [8, 8, 9.5, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14.5, 8, 16, 16], "texture": "#0"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 16, 3], + "faces": { + "north": {"uv": [1.5, 0, 6.5, 8], "texture": "#1"}, + "east": {"uv": [6.5, 0, 8, 8], "texture": "#1"}, + "south": {"uv": [9.5, 0, 14.5, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 8], "texture": "#1"}, + "up": {"uv": [14.5, 9.5, 16, 14.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [14.5, 9.5, 16, 14.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 0, 13], + "to": [13, 16, 16], + "faces": { + "north": {"uv": [9.5, 0, 14.5, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 8], "texture": "#1"}, + "south": {"uv": [1.5, 0, 6.5, 8], "texture": "#1"}, + "west": {"uv": [6.5, 0, 8, 8], "texture": "#1"}, + "up": {"uv": [14.5, 9.5, 16, 14.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14.5, 9.5, 16, 14.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 8, 3], + "to": [13, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [11, -6, 11]}, + "faces": { + "up": {"uv": [9.5, 9.5, 14.5, 14.5], "texture": "#0"}, + "down": {"uv": [9.5, 9.5, 14.5, 14.5], "texture": "#0"} + } + } + ], + "groups": [0, 1, 2, 3, + { + "name": "intersection", + "origin": [8, 8, 8], + "children": [4, 5, 6, 7, 8] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/chute/block_diagonal_start.json b/src/main/resources/assets/create/models/block/chute/block_diagonal_start.json deleted file mode 100644 index 8b53f63c6..000000000 --- a/src/main/resources/assets/create/models/block/chute/block_diagonal_start.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "2": "create:block/chute_diagonal", - "13": "create:block/chute", - "particle": "block/hopper_outside" - }, - "elements": [ - { - "from": [3, 8, 13], - "to": [13, 16, 15], - "faces": { - "north": {"uv": [9.5, 0, 14.5, 4], "texture": "#13"}, - "south": {"uv": [9.5, 0, 14.5, 4], "texture": "#13"}, - "up": {"uv": [1, 0, 6, 1], "rotation": 180, "texture": "#13"}, - "down": {"uv": [1, 6, 6, 7], "rotation": 180, "texture": "#13"} - } - }, - { - "from": [3, 8, 1], - "to": [13, 16, 3], - "faces": { - "north": {"uv": [9.5, 0, 14.5, 4], "texture": "#13"}, - "south": {"uv": [9.5, 0, 14.5, 4], "texture": "#13"}, - "up": {"uv": [1, 0, 6, 1], "texture": "#13"}, - "down": {"uv": [1, 6, 6, 7], "texture": "#13"} - } - }, - { - "from": [13, 8, 1], - "to": [15, 16, 15], - "faces": { - "north": {"uv": [8.5, 0, 9.5, 4], "texture": "#13"}, - "east": {"uv": [8.5, 0, 15.5, 4], "texture": "#13"}, - "south": {"uv": [14.5, 0, 15.5, 4], "texture": "#13"}, - "west": {"uv": [8.5, 0, 15.5, 4], "texture": "#13"}, - "up": {"uv": [0, 0, 1, 7], "rotation": 180, "texture": "#13"}, - "down": {"uv": [0, 0, 1, 7], "rotation": 180, "texture": "#13"} - } - }, - { - "from": [1, 8, 1], - "to": [3, 16, 15], - "faces": { - "north": {"uv": [14.5, 0, 15.5, 4], "texture": "#13"}, - "east": {"uv": [8.5, 0, 15.5, 4], "texture": "#13"}, - "south": {"uv": [8.5, 0, 9.5, 4], "texture": "#13"}, - "west": {"uv": [8.5, 0, 15.5, 4], "texture": "#13"}, - "up": {"uv": [0, 0, 1, 7], "texture": "#13"}, - "down": {"uv": [0, 0, 1, 7], "texture": "#13"} - } - }, - { - "from": [2, 5.5, 2], - "to": [14, 8, 14], - "faces": { - "north": {"uv": [9, 10.5, 15, 14.5], "rotation": 180, "texture": "#13"}, - "east": {"uv": [14.25, 5, 15.5, 11], "rotation": 270, "texture": "#2"}, - "south": {"uv": [14.25, 5, 15.5, 11], "rotation": 270, "texture": "#2"}, - "west": {"uv": [14.25, 5, 15.5, 11], "rotation": 270, "texture": "#2"}, - "up": {"uv": [9, 9.5, 15, 15.5], "texture": "#13"}, - "down": {"uv": [9, 11, 15, 15], "texture": "#13"} - } - }, - { - "from": [1.9, -12, 7.9], - "to": [14.1, 10.666, 14.1], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [0, 10, 11, 16], "rotation": 270, "texture": "#2"}, - "east": {"uv": [13, 11, 16, 0], "texture": "#2"}, - "south": {"uv": [0, 10, 11, 16], "rotation": 270, "texture": "#2"}, - "west": {"uv": [13, 0, 16, 11], "rotation": 180, "texture": "#2"}, - "up": {"uv": [5, 10, 11, 13], "rotation": 180, "texture": "#2"} - } - }, - { - "from": [1.1, -12, 1.9], - "to": [14.9, 8.666, 8.1], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 3, 11, 10], "rotation": 90, "texture": "#2"}, - "east": {"uv": [0, 0, 10, 3], "rotation": 270, "texture": "#2"}, - "south": {"uv": [1, 3, 11, 10], "rotation": 90, "texture": "#2"}, - "west": {"uv": [1, 0, 11, 3], "rotation": 90, "texture": "#2"} - } - }, - { - "from": [3, 13, 3], - "to": [13, 14, 13], - "faces": { - "up": {"uv": [9.5, 9.5, 14.5, 14.5], "rotation": 180, "texture": "#13"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 225, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 3.25, 0], - "scale": [0.25, 0.25, 0.25] - }, - "gui": { - "rotation": [30, 225, 0], - "translation": [0, 1, 0], - "scale": [0.5, 0.5, 0.5] - }, - "head": { - "rotation": [0, 90, 0] - }, - "fixed": { - "rotation": [0, 90, 0], - "translation": [0, 1.5, 0], - "scale": [0.5, 0.5, 0.5] - } - }, - "groups": [ - { - "name": "group", - "origin": [8, 56, -56], - "children": [0, 1, 2, 3, 4] - }, - { - "name": "alt_block_diagonal_straight", - "origin": [8, 8, 8], - "children": [ - { - "name": "group", - "origin": [8, 8, -8], - "children": [5, 6] - }, - { - "name": "group", - "origin": [8, 8, -8], - "children": [] - } - ] - }, 7] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/chute/block_diagonal_straight.json b/src/main/resources/assets/create/models/block/chute/block_diagonal_straight.json deleted file mode 100644 index d6d05dd68..000000000 --- a/src/main/resources/assets/create/models/block/chute/block_diagonal_straight.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "2": "create:block/chute_diagonal", - "13": "create:block/chute", - "particle": "block/hopper_outside" - }, - "elements": [ - { - "from": [1.9, -12, 7.9], - "to": [14.1, 10.666, 14.1], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [6, 10, 9, 16], "rotation": 90, "texture": "#13"}, - "east": {"uv": [13, 11, 16, 0], "texture": "#2"}, - "south": {"uv": [0, 10, 11, 16], "rotation": 270, "texture": "#2"}, - "west": {"uv": [13, 0, 16, 11], "rotation": 180, "texture": "#2"} - } - }, - { - "from": [1.1, -12, 1.9], - "to": [14.9, 10.666, 8.1], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [0, 3, 11, 10], "rotation": 90, "texture": "#2"}, - "east": {"uv": [0, 0, 11, 3], "rotation": 270, "texture": "#2"}, - "south": {"uv": [0, 3, 11, 10], "rotation": 90, "texture": "#2"}, - "west": {"uv": [0, 0, 11, 3], "rotation": 90, "texture": "#2"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 225, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 3.25, 0], - "scale": [0.25, 0.25, 0.25] - }, - "gui": { - "rotation": [30, 225, 0], - "translation": [0, 1, 0], - "scale": [0.5, 0.5, 0.5] - }, - "head": { - "rotation": [0, 90, 0] - }, - "fixed": { - "rotation": [0, 90, 0], - "translation": [0, 1.5, 0], - "scale": [0.5, 0.5, 0.5] - } - }, - "groups": [ - { - "name": "group", - "origin": [8, 8, -8], - "children": [0, 1] - }, - { - "name": "group", - "origin": [8, 8, -8], - "children": [] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/chute/block_intersection.json b/src/main/resources/assets/create/models/block/chute/block_intersection.json new file mode 100644 index 000000000..0c2f7f382 --- /dev/null +++ b/src/main/resources/assets/create/models/block/chute/block_intersection.json @@ -0,0 +1,67 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/chute", + "1": "create:block/chute_diagonal", + "particle": "block/hopper_inside" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [6.5, 0, 8, 8], "texture": "#1"}, + "east": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 1.5, 8], "texture": "#1"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#1"}, + "up": {"uv": [8, 8, 9.5, 16], "texture": "#0"}, + "down": {"uv": [14.5, 8, 16, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1.5, 8], "texture": "#1"}, + "east": {"uv": [0, 0, 8, 8], "texture": "#1"}, + "south": {"uv": [6.5, 0, 8, 8], "texture": "#1"}, + "west": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [8, 8, 9.5, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14.5, 8, 16, 16], "texture": "#0"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 16, 3], + "faces": { + "north": {"uv": [1.5, 0, 6.5, 8], "texture": "#1"}, + "east": {"uv": [6.5, 0, 8, 8], "texture": "#1"}, + "south": {"uv": [9.5, 0, 14.5, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 8], "texture": "#1"}, + "up": {"uv": [14.5, 9.5, 16, 14.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [14.5, 9.5, 16, 14.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 0, 13], + "to": [13, 16, 16], + "faces": { + "north": {"uv": [9.5, 0, 14.5, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 8], "texture": "#1"}, + "south": {"uv": [1.5, 0, 6.5, 8], "texture": "#1"}, + "west": {"uv": [6.5, 0, 8, 8], "texture": "#1"}, + "up": {"uv": [14.5, 9.5, 16, 14.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14.5, 9.5, 16, 14.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 8, 3], + "to": [13, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [11, -6, 11]}, + "faces": { + "up": {"uv": [9.5, 9.5, 14.5, 14.5], "texture": "#0"}, + "down": {"uv": [9.5, 9.5, 14.5, 14.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/creative_motor/block.json b/src/main/resources/assets/create/models/block/creative_motor/block.json index c331a7455..5c1420dae 100644 --- a/src/main/resources/assets/create/models/block/creative_motor/block.json +++ b/src/main/resources/assets/create/models/block/creative_motor/block.json @@ -42,11 +42,11 @@ "to": [11, 11, 13], "faces": { "north": {"uv": [14, 4, 20, 10], "texture": "#6"}, - "east": {"uv": [10, 6, 16, 10], "rotation": 90, "texture": "#6"}, + "east": {"uv": [10, 6, 16, 10], "rotation": 270, "texture": "#6"}, "south": {"uv": [10, 0, 16, 6], "texture": "#6"}, - "west": {"uv": [10, 6, 16, 10], "rotation": 270, "texture": "#6"}, - "up": {"uv": [10, 6, 16, 10], "texture": "#6"}, - "down": {"uv": [10, 6, 16, 10], "rotation": 180, "texture": "#6"} + "west": {"uv": [10, 6, 16, 10], "rotation": 90, "texture": "#6"}, + "up": {"uv": [10, 6, 16, 10], "rotation": 180, "texture": "#6"}, + "down": {"uv": [10, 6, 16, 10], "texture": "#6"} } }, { @@ -63,14 +63,14 @@ { "name": "Body", "from": [4, 4, 2], - "to": [12, 12, 10], + "to": [12, 12, 11], "faces": { "north": {"uv": [0, 4, 8, 14], "rotation": 180, "texture": "#5"}, - "east": {"uv": [4, 3, 12, 13], "rotation": 180, "texture": "#5"}, + "east": {"uv": [4, 3, 12, 12], "rotation": 270, "texture": "#5"}, "south": {"uv": [3, 3, 11, 11], "rotation": 180, "texture": "#5"}, - "west": {"uv": [4, 3, 12, 13], "rotation": 180, "texture": "#5"}, - "up": {"uv": [4, 3, 12, 13], "rotation": 180, "texture": "#5"}, - "down": {"uv": [4, 3, 12, 13], "rotation": 180, "texture": "#5"} + "west": {"uv": [4, 3, 12, 12], "rotation": 90, "texture": "#5"}, + "up": {"uv": [4, 3, 12, 12], "rotation": 180, "texture": "#5"}, + "down": {"uv": [4, 3, 12, 12], "rotation": 180, "texture": "#5"} } }, { diff --git a/src/main/resources/assets/create/models/block/creative_motor/block_vertical.json b/src/main/resources/assets/create/models/block/creative_motor/block_vertical.json index a1924a082..d47a8bc71 100644 --- a/src/main/resources/assets/create/models/block/creative_motor/block_vertical.json +++ b/src/main/resources/assets/create/models/block/creative_motor/block_vertical.json @@ -10,19 +10,6 @@ "particle": "#5" }, "elements": [ - { - "name": "Back", - "from": [3, 0.1, 3], - "to": [13, 2.1, 13], - "faces": { - "north": {"uv": [3, 0, 13, 2], "rotation": 180, "texture": "#5"}, - "east": {"uv": [3, 0, 13, 2], "rotation": 180, "texture": "#5"}, - "south": {"uv": [3, 0, 13, 2], "rotation": 180, "texture": "#5"}, - "west": {"uv": [3, 0, 13, 2], "rotation": 180, "texture": "#5"}, - "up": {"uv": [0, 0, 10, 10], "texture": "#6"}, - "down": {"uv": [0, 0, 10, 10], "rotation": 180, "texture": "#6"} - } - }, { "name": "Back", "from": [3, 12, 3], @@ -51,8 +38,9 @@ }, { "name": "Between Rims", - "from": [3.5, 3, 3.5], - "to": [12.5, 6, 12.5], + "from": [3.5, 5, 3.5], + "to": [12.5, 8, 12.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 8]}, "faces": { "north": {"uv": [3, 10, 12, 13], "texture": "#6"}, "east": {"uv": [3, 10, 12, 13], "texture": "#6"}, @@ -63,110 +51,74 @@ { "name": "Body", "from": [4, 2, 4], - "to": [12, 10, 12], + "to": [12, 11, 12], "faces": { - "north": {"uv": [4, 3, 12, 13], "texture": "#5"}, - "east": {"uv": [4, 3, 12, 13], "rotation": 270, "texture": "#5"}, - "south": {"uv": [4, 3, 12, 13], "rotation": 180, "texture": "#5"}, - "west": {"uv": [4, 3, 12, 13], "rotation": 90, "texture": "#5"}, + "north": {"uv": [4, 3, 12, 12], "texture": "#5"}, + "east": {"uv": [4, 3, 12, 12], "texture": "#5"}, + "south": {"uv": [4, 3, 12, 12], "texture": "#5"}, + "west": {"uv": [4, 3, 12, 12], "texture": "#5"}, "up": {"uv": [3, 3, 11, 11], "rotation": 180, "texture": "#5"}, "down": {"uv": [0, 4, 8, 14], "texture": "#5"} } }, { - "from": [12, 1, 2], - "to": [14, 15, 4], - "faces": { - "north": {"uv": [1, 0, 15, 2], "rotation": 270, "texture": "#7"}, - "east": {"uv": [14, 1, 16, 15], "texture": "#7"}, - "south": {"uv": [1, 14, 15, 16], "rotation": 90, "texture": "#7"}, - "west": {"uv": [0, 1, 2, 15], "rotation": 180, "texture": "#7"}, - "up": {"uv": [14, 10, 16, 12], "texture": "#6"}, - "down": {"uv": [14, 10, 16, 12], "rotation": 270, "texture": "#6"} - } - }, - { - "from": [12, 1, 12], - "to": [14, 15, 14], - "faces": { - "north": {"uv": [1, 16, 15, 14], "rotation": 90, "texture": "#7"}, - "east": {"uv": [16, 1, 14, 15], "texture": "#7"}, - "south": {"uv": [1, 2, 15, 0], "rotation": 270, "texture": "#7"}, - "west": {"uv": [2, 1, 0, 15], "rotation": 180, "texture": "#7"}, - "up": {"uv": [14, 12, 16, 10], "texture": "#6"}, - "down": {"uv": [16, 10, 14, 12], "rotation": 270, "texture": "#6"} - } - }, - { - "from": [2, 1, 2], - "to": [4, 15, 4], - "faces": { - "north": {"uv": [1, 2, 15, 0], "rotation": 270, "texture": "#7"}, - "east": {"uv": [2, 1, 0, 15], "rotation": 180, "texture": "#7"}, - "south": {"uv": [1, 16, 15, 14], "rotation": 90, "texture": "#7"}, - "west": {"uv": [16, 1, 14, 15], "texture": "#7"}, - "up": {"uv": [16, 10, 14, 12], "texture": "#6"}, - "down": {"uv": [14, 12, 16, 10], "rotation": 270, "texture": "#6"} - } - }, - { - "from": [2, 1, 12], + "from": [2, 0, 12], "to": [4, 15, 14], "faces": { - "north": {"uv": [1, 14, 15, 16], "rotation": 90, "texture": "#7"}, - "east": {"uv": [0, 1, 2, 15], "rotation": 180, "texture": "#7"}, - "south": {"uv": [1, 0, 15, 2], "rotation": 270, "texture": "#7"}, - "west": {"uv": [14, 1, 16, 15], "texture": "#7"}, + "north": {"uv": [1, 14, 16, 16], "rotation": 90, "texture": "#7"}, + "east": {"uv": [0, 0, 2, 15], "rotation": 180, "texture": "#7"}, + "south": {"uv": [0, 0, 15, 2], "rotation": 270, "texture": "#7"}, + "west": {"uv": [14, 1, 16, 16], "texture": "#7"}, "up": {"uv": [16, 12, 14, 10], "texture": "#6"}, "down": {"uv": [16, 12, 14, 10], "rotation": 270, "texture": "#6"} } }, { - "from": [11, 0, 11], - "to": [15, 4, 15], + "from": [2, 0, 2], + "to": [4, 15, 4], "faces": { - "north": {"uv": [8, 0, 12, 4], "texture": "#9"}, - "east": {"uv": [0, 0, 4, 4], "texture": "#9"}, - "south": {"uv": [8, 0, 12, 4], "texture": "#9"}, - "west": {"uv": [1, 0, 5, 4], "texture": "#9"}, - "up": {"uv": [1, 4, 5, 8], "rotation": 90, "texture": "#8"}, - "down": {"uv": [3, 3, 7, 7], "rotation": 180, "texture": "#8"} + "north": {"uv": [0, 2, 15, 0], "rotation": 270, "texture": "#7"}, + "east": {"uv": [2, 0, 0, 15], "rotation": 180, "texture": "#7"}, + "south": {"uv": [1, 16, 16, 14], "rotation": 90, "texture": "#7"}, + "west": {"uv": [16, 1, 14, 16], "texture": "#7"}, + "up": {"uv": [16, 10, 14, 12], "texture": "#6"}, + "down": {"uv": [14, 12, 16, 10], "rotation": 270, "texture": "#6"} } }, { - "from": [11, 0, 1], - "to": [15, 4, 5], + "from": [12, 0, 12], + "to": [14, 15, 14], "faces": { - "north": {"uv": [12, 0, 8, 4], "texture": "#9"}, - "east": {"uv": [4, 0, 0, 4], "texture": "#9"}, - "south": {"uv": [12, 0, 8, 4], "texture": "#9"}, - "west": {"uv": [5, 0, 1, 4], "texture": "#9"}, - "up": {"uv": [5, 4, 1, 8], "rotation": 90, "texture": "#8"}, - "down": {"uv": [3, 7, 7, 3], "rotation": 180, "texture": "#8"} + "north": {"uv": [1, 16, 16, 14], "rotation": 90, "texture": "#7"}, + "east": {"uv": [16, 1, 14, 16], "texture": "#7"}, + "south": {"uv": [0, 2, 15, 0], "rotation": 270, "texture": "#7"}, + "west": {"uv": [2, 0, 0, 15], "rotation": 180, "texture": "#7"}, + "up": {"uv": [14, 12, 16, 10], "texture": "#6"}, + "down": {"uv": [16, 10, 14, 12], "rotation": 270, "texture": "#6"} } }, { - "from": [1, 0, 11], - "to": [5, 4, 15], + "from": [12, 0, 2], + "to": [14, 15, 4], "faces": { - "north": {"uv": [12, 0, 8, 4], "texture": "#9"}, - "east": {"uv": [5, 0, 1, 4], "texture": "#9"}, - "south": {"uv": [12, 0, 8, 4], "texture": "#9"}, - "west": {"uv": [4, 0, 0, 4], "texture": "#9"}, - "up": {"uv": [1, 8, 5, 4], "rotation": 90, "texture": "#8"}, - "down": {"uv": [7, 3, 3, 7], "rotation": 180, "texture": "#8"} + "north": {"uv": [0, 0, 15, 2], "rotation": 270, "texture": "#7"}, + "east": {"uv": [14, 1, 16, 16], "texture": "#7"}, + "south": {"uv": [1, 14, 16, 16], "rotation": 90, "texture": "#7"}, + "west": {"uv": [0, 0, 2, 15], "rotation": 180, "texture": "#7"}, + "up": {"uv": [14, 10, 16, 12], "texture": "#6"}, + "down": {"uv": [14, 10, 16, 12], "rotation": 270, "texture": "#6"} } }, { - "from": [1, 0, 1], - "to": [5, 4, 5], + "from": [3, 0.2, 3], + "to": [13, 4, 13], "faces": { - "north": {"uv": [8, 0, 12, 4], "texture": "#9"}, - "east": {"uv": [1, 0, 5, 4], "texture": "#9"}, - "south": {"uv": [8, 0, 12, 4], "texture": "#9"}, - "west": {"uv": [0, 0, 4, 4], "texture": "#9"}, - "up": {"uv": [5, 8, 1, 4], "rotation": 90, "texture": "#8"}, - "down": {"uv": [7, 7, 3, 3], "rotation": 180, "texture": "#8"} + "north": {"uv": [8, 0, 18, 4], "texture": "#9"}, + "east": {"uv": [1, 0, 11, 4], "texture": "#9"}, + "south": {"uv": [8, 0, 18, 4], "texture": "#9"}, + "west": {"uv": [0, 0, 10, 4], "texture": "#9"}, + "up": {"uv": [11, 14, 1, 4], "rotation": 90, "texture": "#8"}, + "down": {"uv": [10, 10, 0, 0], "rotation": 180, "texture": "#6"} } } ] diff --git a/src/main/resources/assets/create/models/block/creative_motor/item.json b/src/main/resources/assets/create/models/block/creative_motor/item.json index 903ee9ec5..da44299a2 100644 --- a/src/main/resources/assets/create/models/block/creative_motor/item.json +++ b/src/main/resources/assets/create/models/block/creative_motor/item.json @@ -65,14 +65,14 @@ { "name": "Body", "from": [4, 4, 2], - "to": [12, 12, 10], + "to": [12, 12, 11], "faces": { "north": {"uv": [0, 4, 8, 14], "rotation": 180, "texture": "#5"}, - "east": {"uv": [4, 3, 12, 13], "rotation": 180, "texture": "#5"}, + "east": {"uv": [4, 3, 12, 12], "rotation": 90, "texture": "#5"}, "south": {"uv": [3, 3, 11, 11], "rotation": 180, "texture": "#5"}, - "west": {"uv": [4, 3, 12, 13], "rotation": 180, "texture": "#5"}, - "up": {"uv": [4, 3, 12, 13], "rotation": 180, "texture": "#5"}, - "down": {"uv": [4, 3, 12, 13], "rotation": 180, "texture": "#5"} + "west": {"uv": [4, 3, 12, 12], "rotation": 90, "texture": "#5"}, + "up": {"uv": [4, 3, 12, 12], "rotation": 180, "texture": "#5"}, + "down": {"uv": [4, 3, 12, 12], "rotation": 180, "texture": "#5"} } }, { @@ -151,18 +151,17 @@ } } ], + "display": { + "gui": { + "rotation": [30, 45, 0], + "scale": [0.625, 0.625, 0.625] + } + }, "groups": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, { "name": "shaft", "origin": [8, 8, 8], "children": [10] } - ], - "display": { - "gui": { - "rotation": [ 30, 45, 0 ], - "translation": [ 0, 0, 0], - "scale":[ 0.625, 0.625, 0.625 ] - } - } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/create/textures/block/andesite_casing_short.png b/src/main/resources/assets/create/textures/block/andesite_casing_short.png index f692c279609937046006bdae348c39702f09023d..3bed29ac3d90de489b11b020cd78a0f75cad37b1 100644 GIT binary patch delta 478 zcmV<40U`dU1d#-g83+OZ005AYXf}}{D1X5K01m+cxRGn^0004|NklUS&@DG+_&PWN19b%8iW5<-;QG_CHluE7Y zo~>r4&D;CCD2&Rgs%j?F1lll+vaY#le$Qu)BP@%dQWWKeaN{I4M>iwnfRs`QL4SG$ z6iKXx%;D8AOJ$)oC=r8WFELvATH3yuzt zGpQVhW4NjoMIpPLfDS9482`J5lAy!H&ag?DQvI$5Rq4{)%A^ z>LX5OsRrNPXCOo}FF-0b6TaS?JG9G|NZYsf+b)34@*Jch(A(=Ha@+%-kW0*Su&pO; zY~b1!B3{|G=ZN$+O)s4d&atMQV+5ORYqVno8Y0{HxMgclBfui!Dg~&rN)5yK0XCHf Ue=_ojZvX%Q07*qoM6N<$f{E|k$N&HU delta 500 zcmVc_ip2lHo`k>Q&(VX-@RSCR9zI6hjg@7I5Zm^qGs<9kH}8!kXqukP5UU#` zag2BG&wn>aKfl2!ONH22*RO|26Mql4QS!b#c#eyUkC1ao#u|%d)lIRDwzVj(>pnug z+~wr*7%3r|-|OzcdaKiR-5JZuNgfbt!#X#m4^gow@N;p6Z>7brawWm_ryr}msMogV z@EJB$Cub*KkEfV@fBR1!xCbx9M45nksEhh8uL|*inzyEfK!VHyJ6-sA~7Ci zdwQ9N$S2#W$UQi`FYAa#@D7v>L~GE@;Bz)32xs>BHph`VqP?!jlx0 ztg5Q!GE1QuV`W`CmNlDyd7iLsj!aRM8={k>i8VQ&AO@tALVpO-Es!M9maOsFIL~BZ z40k$4XRhPcb)9P+1%XsK=dLjYzLru8-;3hzf3(zg_=WXl7C~%V3&*w}9`BvrW;5m8?F~5ay-XDlf8um}0p`gx`Ix@Pp+6e#hJlCF zV1MgqumkRIhkpp6NtCKF$S85AK-z|&|n^Jd2Lv3+%O-H-ZJ zUDpj$X#(4_tg2~T+g`1goD0WcV6?6}!jF^Ko?cGj14=0&1b^8rK$6jh?8*5gOO-B5 z=K5ukdalJdAq(aiq4xAN+osnv*sK2m6PaDmZr$uIr7~ zs@Dx^4KSEn$jGrbuH!sB-n;#Q+4AM?HuBATNn!NNC{#eXm4I?=k z%DwF_WOqxBBYzI*1RU-#>LQ`a&5#ToM9{+td5k2u%d~``7zr2zOPfytvfP9bpbWA}P)`Y?@eT}zW8p;D>G^&AnXKOu z4M7+-7|7FW3L6QugZa3V<5SeY0mAR2QH($#j17&m{v&)GeG^86Ze4(w*0n6_3;l8n UwSaB^>EX>4U6ba`-PAZ2)IW&i+q+O1bxmcu9x z{bv=u1SAlT<$y8g%noMxeZdGPc2z&-Ok9Z-AtZ6HB&W>z-~V*;2VQK&8!s`19D>Em zXP>!1NcMVNcd~wdt}j-FFTL3d43)#(U0=hw>B>wmZ2#AEqM%MoqI^W{e5 zAuqeM967%9w7#3X_7(qeob~2oxn0hm-+craP2kV5;nR_`_~a4AUGIW-!Y4ToBXR+< zObt8w89TGZ2Y6e0U}wwHyKg9r4a*=rFj{(&hu-Zl{A5ide=YRw>Wy9RE%kn0rz<`H zsbJQj^e9t;VSfdbZf*;>BHjWy&MV_eIN|}u8rZD34nvt3Xm|3|s8FYK-VZvEqUVz% z?#u^J9=hZrXFlAZz>kYMN0(hQ;DX%&)*RHlbDzrN(Fh5rRgEpeDNlvb-16PxJ{jRK#H(iAazrNwSpSf)5fxh+)jA5?%CBVu&%O zm}5yU`F|uSq?l65sbtO$BTRD0(d3kKE(JjgTo>#vuqdT+b=6m?p~jkOuH``a9R83a z9Pvm;K1$=}8rr{w7EMbnw{p^nQab%9XE@`T&U}`RTI;U+E_?204ue zV_?vq#L{VVcQf~wyczNTiZ}j^IWwsHe=uhTb&I(-Z$Gfs%6y`@NzmxRfvI&JgYEEz z6aFlRC0JD)LSDuL=Wz#^!=QNCE9N&-Ij3m=AV05QdWI!rAYrC-xS2yi61t{Fs;DyD z2!HQ%A9rK9v>EEyd-R^lL!tL}Tyg!@9L{JeD^H|8BinsPnG6Bwwnt8Ufs1E#D{O|8 zhI9#st{qR{n&o$D-&t1woHOy!P)r9;_PvfN%@>LG;cr6wRzuJ?qs+#wYx$x}p>m#!l({m)x0) zynn)-?Yh?Go5WExM%$Ru)l7IYiv0%WMv9|uly!(rkh!hBR`>a=?q~g>Dx!jRE`RRK zo+zIw?ToGRDc>{e>aQ7>Si#mV4>#$%{}uA;o(u8sjx!aC8oog0X_VQhed{3VnxX^9{%_oE?yP!sIcs|o4uxr+d&j2 zb2p`YH|59p-wEtv`*ZEuIT^ZOVi(Qhs?ZZkv}IdMaw3m5pr3KG^v6=g0f;t#@4}dn zhO%h@00Co3L_t(2&wY~3a@#Nrgcl?rl9D}*d&P#XV3ij+#CX0+j1_> z2>>FL(puY$vFn-u9SVc@X0%Qss$CT^7DE6aVwo*K095ty!=4F|h<|uL{Z|r^ac&Re zQ_lY>CyVcgZJUU ziDOE~;7+G=jO%v~1Uuk%`#9#ygRQ}ds{XuO)|f6YKmO%!Ajq|p>-BZ)9)y2|{4c!! Y0P#Zj$A;5@!vFvP07*qoM6N<$f@N)2@&Et; delta 441 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 Q3IG5A07*qoM6N<$f{xvFcK`qY delta 446 zcmV;v0YUz-4%Y*aBYyw^b5ch_0Itp)=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi z!2kdb!2!6DYwZ940c=S`K~y+TrBmBZ!!QhWQhEh};KMc{Ch-K~WxVXmkoId^fwgJc zt_e9#Q+0rNU`LAVI`&C?oC<3#odY@Af8%TdvDs{<9`Y<3J%6IhG#x#Ux^3AuTC)uh zuj@4v#7V+|-_Up6=>3FPE+0HW9CKifzVF%owI`mRUZxgQ!GaM+#p`NyA{Me6L&^{?@W{3R`O&`;m6LlDe+v zQ>?MnjY0)fwPG8`(jB6ystzReY_7tcfFu-Rfe3^l2Ef*J!#*&*MBJnqRYnmnm#npa z10jZDA$%D$5sSq=k1XEO~9X8 oP)_x-+JFGOkgRlF=r1^@s607*qoM6N<$f})kdO#lD@ diff --git a/src/main/resources/assets/create/textures/block/brass_funnel_plating.png b/src/main/resources/assets/create/textures/block/brass_funnel_plating.png index 4653ff14c759cc02397709d45181bead3c0ed22e..09ffc1e0d8b122449253edc1e9667da5fecc9226 100644 GIT binary patch delta 1193 zcmV;a1Xla+3E~NmNq@iq01m(bYSxJf000DcNkl+Kq0lE)+vSsff7gq97DnMR1|u3tWg>R~0v{6iPLL)>5e>7Bw1U8jNDv zMnxM*W;(+>oQ%27cjlfu|NV1E^YVkk|G4-5=lthC|98$cPJe!}+M)tpW%6iTs5Jd{ z&yDYUE6FrXs;a7@j*bq)o}LugfG_uLvWGwx%ArrKLhYyHa)`q(a}-z`Fz}; zDx6goEv}@dxqmaM+6>W*P>=<4KrmENCVk7YSf&bR<%a4o?=X?c@;H^v(UQh`XV)qW z!(cB=2V8!HawulWALlmQ z^~CKng5Gyu1&%;us&H)q%FB5`g#_Wq$k+g#C>$QZwSQBgdqQQ(d_K=dP*G7~&rBZ7 zgqydoVFHpM6u>C(!j&7(sm`=$>GFEI*%hN-`U4aWhbasxG%Kv^gWRJ$8v$NBPMxzE25q1a#tD73>=IuU~h4uBcazP!x3lG8& zDF3hjB?|}+-vAr~HFIkD#SiML+3nc5#DwsGmn#LEHZJ3Dgs7kleXJ?10At7}%?&(e z58w!(sB!UZep#epW`vCs{>NC&3j%zPXG>Sj=YKWe0qjr=>K%x23mvkqP`q(qN6UmW z%JCn%9RfJm_Ho(oC0+n8!+~)ZB;TIzF}$+hsogCWzCC>L!Gu`p$c|$3)2Lj(sP zZWF*=C_>7?stgll65NM3!&G#wYP^bA#-I}y@3XP^){lt`7rObOH)3Vorvu8Hnrmro z>wiZ)mg_C&jm`CR4RT-L2f+aP5$Hq$mmO_e;o8|Z-xYVFB9?s39N>j?%Ahp4vn#Kr z)`U8QJOpZ;D3C?t*$Rq3PIG^}aB@L+Z@(iTlPlNmv4Eo0I#I8Xj8`RvII7yvYZer- zULwaSMsq!YU4lr!evs#}M5#C_w4hn;+kaIOjPQyJiGgjqS~;*$MMGNGe#ipKmLL`I zD&=y4S|jLb+Q|vH1q#5RpC7tQTlPn(?Z_RLy=NZKSLcdJOUD>0*6A2YLs|%+mudR0 zQmGUr5(&y?3*IV7GMVH#J=@~=91jQ;LqMqzaDa$T&jK|DaIR32%efT+n1dJP?0>~* zKPE~)Af+D>pgffhxW?+DlElhE^%fJ6%IlLskqL{bbvzJb(ZWcH_CV7LwI7uZup==lJ6)Hlr6NChey+-+gR0#jPGb0hrB z3t+-{JmX|jZ2qn3cs%J8R4xX5y&|=kS>J`zKlj)Mv{-KdN(N+LBfuY&00000NkvXX Hu0mjfu9Z4w delta 1206 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 diff --git a/src/main/resources/assets/create/textures/block/chute.png b/src/main/resources/assets/create/textures/block/chute.png index a6d6bcf5795e8d5c2669855d6fbecf9fb94bcdda..dbc6085e0c745859090913f732dc2f086ff4daaf 100644 GIT binary patch literal 8002 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 EU%mq*w*UYD delta 1407 zcmV-_1%Ud(K9LKMBYyw^b5ch_0Itp)=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi zzW@LZzX3P}QzQTY1tv*EK~z{rwU^INTvZgu?|buuVSctCC?qDjK|>k_ODCl!4vmJS zxPb-Kjf?&R?p*pG=zrlx!a`QIiHW8qAvP9)qzg+(SZFkMh<{K97#M!M-p_fQ@y_rH zl*DgxbMCwEzI(ps+;h&o&l?{f58B$=%<=KDNhA{H=;+9RSS%LVXP)o-W@TkXo);Gv zz1t(71Xr%+5mE;4WBR;?xy&Ekq!t zea4YI_x1IeeSf=vi*!0^t{02aM*&dfNE+k%t~4|x->{C)z|zu^yg&(njDj(3U~O$p z`ySTQ!J4`GdAj0(RuVux1Lhw;mTy?cKR7s$j#`D~`F!4VbaY5xn}YekDi;Z`CX>lX zALXsvpwMyV@(u8DtE(g)k6U)T(uWAoG<^?QB@qSJQh(P2?iLUOfOW(J+uPeRfRe+* zL+JwouXRj`xWJvdsH@2JfD&uWv)=$AK#(EX2CP-^tXrcJvaKX=CxNAltFl%PfTaCa zgAhm-XalabY)>mtu4EKgLtwGEyZ`C|B;)$d4MJ~nax!30BcA|qEkv1;Qjg%RnVA{M z07Y-_yMI9RA0GZdzHiC`-EUPy0dkcC=0_ouNn1rp zQJPA%HAy@fkH@6ta%t1u-DPD?+Nmr6J3Bj~m~7CP(D#syB2g&hWKN-wHyOKTXUA2O zw+d7iY(}-8Yym_^M@OYKWr13*eMqQB6fRL0o_`naNX~9$GMN+wMQ`r(2VVPD(Q^M7Pa z<^Rzd9{A?bZ^4)4>!+;5dgNIin3$Nj)PJRBdV1OmeRT%Tb3H)mWiK^ePtQA2LcjQS z+C+H(;Dxc`P05T(<iQ?^!NA6T9k8NOX%B$tZc){ z{3iVV*Jh)HMuEk!PL)?G6;rKNo7(#Ny6m|Gqn)qtwS@lhVp}{AMM6^&qEXOt4u4So zDkuraDhXc;10Dd7`0D!yO(gJume44$7?rfu?NMNkk_En&Q1IQ-vp_un37QrtEum3> zfad;1;9hFHk@Cl)fD&4-ADTomy#GE7iZcg_5ERZSX za#={s&dz%FI8K_8k8a7!_H;^=Q-4CK<7`hR8y+yX%O6TDe-+#l^E_z10DfhC(>(a` zXR)xlwQDvvs+QfJ$ZEAFl6TBuZWJ^NE{dis(A3zrC)2<7=+$GHhE+)B1eP^-gHq{M zK;1w2Uf^D8Iy*a0Mo)vIJUpKN%K~rg&Yb{vE8I(^`%?kjd;Jgh?>AyW3wRO#ix>l8 z4kj1e3jt)ge{jzr2IRg~ymrkjKYiLz4)ivQRKffXy|5mj@vui>zwCLp8OJdZoD3hc?kn2siT+QS)~8~ N002ovPDHLkV1kAWr!fEk diff --git a/src/main/resources/assets/create/textures/block/chute_diagonal.png b/src/main/resources/assets/create/textures/block/chute_diagonal.png index dd9f8ff3e6165f1655a393d50b67c548f54d9a92..91bacdde42080d3f90cb2dada319b41c782d1251 100644 GIT binary patch delta 1371 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 diff --git a/src/main/resources/assets/create/textures/block/depot_side.png b/src/main/resources/assets/create/textures/block/depot_side.png index eea606e2a001818c51e3907092d4ee0cb77e3d93..4527fc59e84b8a3f4c5de6a7394454fdff18c454 100644 GIT binary patch delta 414 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 O0000R!2UdK>c~jbhS&RS>$fBqNR`} z)$esoZg{dP*a0=fvPdQ=pW_+``447|x+;KgcIBeL<9(tHMgRZ+ M07*qoM6N<$g1g(nA^-pY delta 354 zcmV-o0iFKS1Cj%fB#|)~f4~3$4!{9w)`Y~IW4+uhlC6MsV27=Moyf6;d2fNYo3DvHT% zQzmkb!d1w=%QGIqG7Kn6Gp>O~hz1Pb8_cNp%zO>r81X^p7!m@K3fmeZ$Bwk<6X1{U>i7sbQsqpl-+=UMKu5d zAp$xK;9KOoXzc-j0HUpDed~eJ2Hiuc`FF@W0bim