Maintenance Day

- Bump forge
- Mechanical Harvester no longer crashes the game on newer forge versions
- Fixed Cocoa Beans being harvested too early
- Fixed incompatibility with Abnormals' custom tree types
- Fixed incompatibility with Serene Seasons
- Fixed incompatibility with Terralith
- Added a couple of Raw Ore compatibility recipes
This commit is contained in:
simibubi 2022-01-24 16:40:30 +01:00
parent 8f9be09fe1
commit 65e6c24c32
49 changed files with 635 additions and 325 deletions

View file

@ -4,9 +4,9 @@ org.gradle.jvmargs = -Xmx3G
org.gradle.daemon = false
# mod version info
mod_version = 0.4c
mod_version = 0.4d
minecraft_version = 1.18.1
forge_version = 39.0.8
forge_version = 39.0.59
# build dependency versions
forgegradle_version = 5.1.+
@ -20,8 +20,8 @@ parchment_version = 2021.12.19
# dependency versions
registrate_version = MC1.18-1.0.21
flywheel_version = 1.18-0.6.0.48
jei_minecraft_version = 1.18
jei_version = 9.0.0.40
jei_minecraft_version = 1.18.1
jei_version = 9.2.1.69
# curseforge information
projectId = 328085

View file

View file

@ -1,247 +0,0 @@
palette block ids from 1.16.5
useful for the remap handler
create:tiled_glass
create:framed_glass
create:horizontal_framed_glass
create:vertical_framed_glass
create:tiled_glass_pane
create:framed_glass_pane
create:horizontal_framed_glass_pane
create:vertical_framed_glass_pane
create:oak_window
create:spruce_window
create:birch_window
create:jungle_window
create:acacia_window
create:dark_oak_window
create:crimson_window
create:warped_window
create:ornate_iron_window
create:oak_window_pane
create:spruce_window_pane
create:birch_window_pane
create:jungle_window_pane
create:acacia_window_pane
create:dark_oak_window_pane
create:crimson_window_pane
create:warped_window_pane
create:ornate_iron_window_pane
create:granite_cobblestone
create:granite_cobblestone_stairs
create:granite_cobblestone_slab
create:granite_cobblestone_wall
create:granite_bricks
create:granite_bricks_stairs
create:granite_bricks_slab
create:granite_bricks_wall
create:fancy_granite_bricks
create:fancy_granite_bricks_stairs
create:fancy_granite_bricks_slab
create:fancy_granite_bricks_wall
create:granite_pillar
create:paved_granite
create:paved_granite_stairs
create:paved_granite_slab
create:paved_granite_wall
create:layered_granite
create:mossy_granite
create:overgrown_granite
create:diorite_cobblestone
create:diorite_cobblestone_stairs
create:diorite_cobblestone_slab
create:diorite_cobblestone_wall
create:diorite_bricks
create:diorite_bricks_stairs
create:diorite_bricks_slab
create:diorite_bricks_wall
create:fancy_diorite_bricks
create:fancy_diorite_bricks_stairs
create:fancy_diorite_bricks_slab
create:fancy_diorite_bricks_wall
create:diorite_pillar
create:paved_diorite
create:paved_diorite_stairs
create:paved_diorite_slab
create:paved_diorite_wall
create:layered_diorite
create:mossy_diorite
create:overgrown_diorite
create:andesite_cobblestone
create:andesite_cobblestone_stairs
create:andesite_cobblestone_slab
create:andesite_cobblestone_wall
create:andesite_bricks
create:andesite_bricks_stairs
create:andesite_bricks_slab
create:andesite_bricks_wall
create:fancy_andesite_bricks
create:fancy_andesite_bricks_stairs
create:fancy_andesite_bricks_slab
create:fancy_andesite_bricks_wall
create:andesite_pillar
create:paved_andesite
create:paved_andesite_stairs
create:paved_andesite_slab
create:paved_andesite_wall
create:layered_andesite
create:mossy_andesite
create:overgrown_andesite
create:limesand
create:limestone
create:limestone_cobblestone
create:limestone_cobblestone_stairs
create:limestone_cobblestone_slab
create:limestone_cobblestone_wall
create:polished_limestone
create:polished_limestone_stairs
create:polished_limestone_slab
create:polished_limestone_wall
create:limestone_bricks
create:limestone_bricks_stairs
create:limestone_bricks_slab
create:limestone_bricks_wall
create:fancy_limestone_bricks
create:fancy_limestone_bricks_stairs
create:fancy_limestone_bricks_slab
create:fancy_limestone_bricks_wall
create:limestone_pillar
create:paved_limestone
create:paved_limestone_stairs
create:paved_limestone_slab
create:paved_limestone_wall
create:layered_limestone
create:chiseled_limestone
create:mossy_limestone
create:overgrown_limestone
create:weathered_limestone
create:weathered_limestone_cobblestone
create:weathered_limestone_cobblestone_stairs
create:weathered_limestone_cobblestone_slab
create:weathered_limestone_cobblestone_wall
create:polished_weathered_limestone
create:polished_weathered_limestone_stairs
create:polished_weathered_limestone_slab
create:polished_weathered_limestone_wall
create:weathered_limestone_bricks
create:weathered_limestone_bricks_stairs
create:weathered_limestone_bricks_slab
create:weathered_limestone_bricks_wall
create:fancy_weathered_limestone_bricks
create:fancy_weathered_limestone_bricks_stairs
create:fancy_weathered_limestone_bricks_slab
create:fancy_weathered_limestone_bricks_wall
create:weathered_limestone_pillar
create:paved_weathered_limestone
create:paved_weathered_limestone_stairs
create:paved_weathered_limestone_slab
create:paved_weathered_limestone_wall
create:layered_weathered_limestone
create:chiseled_weathered_limestone
create:mossy_weathered_limestone
create:overgrown_weathered_limestone
create:dolomite
create:dolomite_cobblestone
create:dolomite_cobblestone_stairs
create:dolomite_cobblestone_slab
create:dolomite_cobblestone_wall
create:polished_dolomite
create:polished_dolomite_stairs
create:polished_dolomite_slab
create:polished_dolomite_wall
create:dolomite_bricks
create:dolomite_bricks_stairs
create:dolomite_bricks_slab
create:dolomite_bricks_wall
create:fancy_dolomite_bricks
create:fancy_dolomite_bricks_stairs
create:fancy_dolomite_bricks_slab
create:fancy_dolomite_bricks_wall
create:dolomite_pillar
create:paved_dolomite
create:paved_dolomite_stairs
create:paved_dolomite_slab
create:paved_dolomite_wall
create:layered_dolomite
create:chiseled_dolomite
create:mossy_dolomite
create:overgrown_dolomite
create:gabbro
create:gabbro_cobblestone
create:gabbro_cobblestone_stairs
create:gabbro_cobblestone_slab
create:gabbro_cobblestone_wall
create:polished_gabbro
create:polished_gabbro_stairs
create:polished_gabbro_slab
create:polished_gabbro_wall
create:gabbro_bricks
create:gabbro_bricks_stairs
create:gabbro_bricks_slab
create:gabbro_bricks_wall
create:fancy_gabbro_bricks
create:fancy_gabbro_bricks_stairs
create:fancy_gabbro_bricks_slab
create:fancy_gabbro_bricks_wall
create:gabbro_pillar
create:paved_gabbro
create:paved_gabbro_stairs
create:paved_gabbro_slab
create:paved_gabbro_wall
create:layered_gabbro
create:chiseled_gabbro
create:mossy_gabbro
create:overgrown_gabbro
create:scoria
create:natural_scoria
create:scoria_cobblestone
create:scoria_cobblestone_stairs
create:scoria_cobblestone_slab
create:scoria_cobblestone_wall
create:polished_scoria
create:polished_scoria_stairs
create:polished_scoria_slab
create:polished_scoria_wall
create:scoria_bricks
create:scoria_bricks_stairs
create:scoria_bricks_slab
create:scoria_bricks_wall
create:fancy_scoria_bricks
create:fancy_scoria_bricks_stairs
create:fancy_scoria_bricks_slab
create:fancy_scoria_bricks_wall
create:scoria_pillar
create:paved_scoria
create:paved_scoria_stairs
create:paved_scoria_slab
create:paved_scoria_wall
create:layered_scoria
create:chiseled_scoria
create:mossy_scoria
create:overgrown_scoria
create:dark_scoria
create:dark_scoria_cobblestone
create:dark_scoria_cobblestone_stairs
create:dark_scoria_cobblestone_slab
create:dark_scoria_cobblestone_wall
create:polished_dark_scoria
create:polished_dark_scoria_stairs
create:polished_dark_scoria_slab
create:polished_dark_scoria_wall
create:dark_scoria_bricks
create:dark_scoria_bricks_stairs
create:dark_scoria_bricks_slab
create:dark_scoria_bricks_wall
create:fancy_dark_scoria_bricks
create:fancy_dark_scoria_bricks_stairs
create:fancy_dark_scoria_bricks_slab
create:fancy_dark_scoria_bricks_wall
create:dark_scoria_pillar
create:paved_dark_scoria
create:paved_dark_scoria_stairs
create:paved_dark_scoria_slab
create:paved_dark_scoria_wall
create:layered_dark_scoria
create:chiseled_dark_scoria
create:mossy_dark_scoria
create:overgrown_dark_scoria

View file

@ -530,22 +530,22 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
f33899d90db924319a1b99065bf1faff1aa40d6a assets/create/lang/en_ud.json
88272181311c543ee6790c7b2d1d434570a5fbad assets/create/lang/en_us.json
1b43ebff99b4a65873acc84996b221d17808da82 assets/create/lang/unfinished/de_de.json
01f3f59f6007c352addcb6e26afc6c29990e577d assets/create/lang/unfinished/es_cl.json
a225447219328491bb5a27c8a4013a627949d86e assets/create/lang/unfinished/es_es.json
6b68c9da5fe9b499621e4cfc39c1161d59ceffe1 assets/create/lang/unfinished/fr_fr.json
5c1858916d9390961f43d0b0304253e7615d1f60 assets/create/lang/unfinished/it_it.json
4e09507f40d2c8c31bc9f0efa105c92a68f091dc assets/create/lang/unfinished/ja_jp.json
c3079836f5899cbb39f95e1278cfa1e9b16e2f6c assets/create/lang/unfinished/ko_kr.json
2b7bbe3efddf575b13d13944877aff1b9c16bb0a assets/create/lang/unfinished/nl_nl.json
51ff37d88dfab3dcc9bd269a651a53c98e5f9fc8 assets/create/lang/unfinished/pl_pl.json
23eefb78c4dfd085ad24b48f24203fdd337e221d assets/create/lang/unfinished/pt_br.json
b82282978c9213e42b78d5ed86cab3cdc63cb53f assets/create/lang/unfinished/pt_pt.json
9b5958c6c7065ff41e9ed74cbe0934910742d39d assets/create/lang/unfinished/ru_ru.json
05c401cdcbace483e56e754123922e73ef7e474d assets/create/lang/unfinished/zh_cn.json
368a87626c80ddc8aee6aa681e6479fbc06f3716 assets/create/lang/unfinished/zh_tw.json
64a8442735a333c7444cac12cfb22c454ca06b6b assets/create/lang/en_ud.json
7f4222143f17e12d1e89a08d91ff97555f3c945e assets/create/lang/en_us.json
b375c968109083d7839b80ad347a43b8861a45ac assets/create/lang/unfinished/de_de.json
a8b0d479a7817127bc52569167f32378e11420ce assets/create/lang/unfinished/es_cl.json
dda7983a065205140c8092b47ed7d4111c4c28a2 assets/create/lang/unfinished/es_es.json
8c4ff5b38bae4c8bcc2fec698be98ca26fe09145 assets/create/lang/unfinished/fr_fr.json
42281c85374f9583bfb714cc2a634bf59e5cec19 assets/create/lang/unfinished/it_it.json
2a5261a51c544bd30fed6124fb39e386779b589b assets/create/lang/unfinished/ja_jp.json
69f32419986e38bad60fe437f6ea5c07a3a61cf1 assets/create/lang/unfinished/ko_kr.json
f0c2e7e2cdf82a9e8d1ce2d256982bf2050aa63c assets/create/lang/unfinished/nl_nl.json
c3f46417c4b5e3c0a83f5a1affcf21ecd2d4694f assets/create/lang/unfinished/pl_pl.json
9bdaf0b9b51b35fd10934be46954932d58199a21 assets/create/lang/unfinished/pt_br.json
f96ba0f96eb04753ef4431bdda63049174792d12 assets/create/lang/unfinished/pt_pt.json
34f8b480a8af8e449a3dfb8c978bbceeb934824f assets/create/lang/unfinished/ru_ru.json
78690f57ef5d7dfa40026c6a7558df34203a59b5 assets/create/lang/unfinished/zh_cn.json
1116935a6b993de72ec7e15a8f44d06a7de3ebe7 assets/create/lang/unfinished/zh_tw.json
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json
@ -2126,7 +2126,7 @@ d080b1b25e5bc8baf5aee68691b08c7f12ece3b0 assets/create/models/item/windmill_bear
a80fb25a0b655e76be986b5b49fcb0f03461a1ab assets/create/models/item/zinc_nugget.json
b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json
5049f72c327a88f175f6f9425909e098fc711100 assets/create/sounds.json
5d0cc4c0255dc241e61c173b31ddca70c88d08e4 data/create/advancements/aesthetics.json
0f1b4b980afba9bf2caf583b88e261bba8b10313 data/create/advancements/aesthetics.json
613e64b44bed959da899fdd54c1cacb227fb33f2 data/create/advancements/andesite_alloy.json
81885c6bfb85792c88aaa7c9b70f58832945d31f data/create/advancements/andesite_casing.json
83c046bd200623933545c9e4326f782fb02c87fa data/create/advancements/arm_blaze_burner.json
@ -4112,12 +4112,30 @@ dd4b9e88a723f6c3f2456f36ef2354cd86d85433 data/create/recipes/crushing/obsidian.j
6cc26e132efe43afdaacac2ba4f6061e909a86b5 data/create/recipes/crushing/ochrum.json
d3088533d37c75d096c685ad40d8d8d11a6b00a1 data/create/recipes/crushing/ochrum_recycling.json
67197bbbb9667ab481410d21cb014bf9ca71ea60 data/create/recipes/crushing/prismarine_crystals.json
05d784846bf6f3747862adb7e69290451ac03dac data/create/recipes/crushing/raw_aluminum_block.json
1b064ee9aee302217f0f458f34865e0899af8d13 data/create/recipes/crushing/raw_aluminum_ore.json
3602170b10ed1e0bb5e7aa806dcc73170b999517 data/create/recipes/crushing/raw_copper.json
ad62bd9e067efbc026ed7ed0a0e47232d14f2fe5 data/create/recipes/crushing/raw_copper_block.json
f2c64ade6ef62e73d7f5aa0a0706de55cf12e464 data/create/recipes/crushing/raw_gold.json
c9fc914e0762f8d9b4fef7d1c69dea6e7bae5a87 data/create/recipes/crushing/raw_gold_block.json
2ee02db1746e2297aa0860b5bb8554625724c964 data/create/recipes/crushing/raw_iron.json
cbdbad0020b8a48dd2f5a658e3f93ff9ab648406 data/create/recipes/crushing/raw_iron_block.json
5513b08f9e0b74418d0d244bc1e625f67f5f53b5 data/create/recipes/crushing/raw_lead_block.json
22fd6f12f1999795c2bfd184b0d8ac827d350861 data/create/recipes/crushing/raw_lead_ore.json
69fb2582cf7516fd0864cca0fa2b147baca93de5 data/create/recipes/crushing/raw_nickel_block.json
b2bc4a69bc578923c85f7d4921999bdde910d311 data/create/recipes/crushing/raw_nickel_ore.json
19821cd61672fe3f8993d05c0e2eb08daaab68b0 data/create/recipes/crushing/raw_osmium_block.json
812f4d899805164ff487c35502077b42712078e1 data/create/recipes/crushing/raw_osmium_ore.json
024a96ff874d555c7e67df7363b7659762d7a71f data/create/recipes/crushing/raw_platinum_block.json
a9270318aeb711681b77e11ef934997a23d74149 data/create/recipes/crushing/raw_platinum_ore.json
f81c35a76addf04fb60fe2487917e110e7fedbbc data/create/recipes/crushing/raw_quicksilver_block.json
e5e6cfbfd50d5d077735f1fc2e0e1acaf059207f data/create/recipes/crushing/raw_quicksilver_ore.json
81b15a077e61b37c48b662a8c0ebe3d4c2e4879f data/create/recipes/crushing/raw_silver_block.json
48389be1d1db5ee9c26419b5dae19523cfa619e9 data/create/recipes/crushing/raw_silver_ore.json
9206c31a1e73f1a98865d43929d294084c4686e4 data/create/recipes/crushing/raw_tin_block.json
c8d8d3c60ca5043b00a4701b12527e144e8b5ce6 data/create/recipes/crushing/raw_tin_ore.json
428f7c10eca005a6daec904220884d59eaee031d data/create/recipes/crushing/raw_uranium_block.json
90840f892c143d19b8f1199f03fd7036aae9d018 data/create/recipes/crushing/raw_uranium_ore.json
68cc75b755626aecea2e3cf6db98b986dbd905f4 data/create/recipes/crushing/raw_zinc.json
62eff7a33870aae32552672eeec3c128ddcef9f7 data/create/recipes/crushing/raw_zinc_block.json
a2d3e1feb660a89c09038853859302726fa863c1 data/create/recipes/crushing/redstone_ore.json

View file

@ -594,7 +594,6 @@
"item.create.honeyed_apple": "\u01DD\u05DFdd\u2C6F p\u01DD\u028E\u01DDuoH",
"item.create.incomplete_cogwheel": "\u05DF\u01DD\u01DD\u0265\u028Dbo\u0186 \u01DD\u0287\u01DD\u05DFd\u026Fo\u0254uI",
"item.create.incomplete_large_cogwheel": "\u05DF\u01DD\u01DD\u0265\u028Dbo\u0186 \u01DDb\u0279\u0250\uA780 \u01DD\u0287\u01DD\u05DFd\u026Fo\u0254uI",
"item.create.incomplete_netherrack": "\u029E\u0254\u0250\u0279\u0279\u01DD\u0265\u0287\u01DDN \u01DD\u0287\u01DD\u05DFd\u026Fo\u0254uI",
"item.create.incomplete_precision_mechanism": "\u026Fs\u0131u\u0250\u0265\u0254\u01DDW uo\u0131s\u0131\u0254\u01DD\u0279\u0500 \u01DD\u0287\u01DD\u05DFd\u026Fo\u0254uI",
"item.create.iron_sheet": "\u0287\u01DD\u01DD\u0265S uo\u0279I",
"item.create.linked_controller": "\u0279\u01DD\u05DF\u05DFo\u0279\u0287uo\u0186 p\u01DD\u029Eu\u0131\uA780",

View file

@ -601,7 +601,6 @@
"item.create.honeyed_apple": "Honeyed Apple",
"item.create.incomplete_cogwheel": "Incomplete Cogwheel",
"item.create.incomplete_large_cogwheel": "Incomplete Large Cogwheel",
"item.create.incomplete_netherrack": "Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "Incomplete Precision Mechanism",
"item.create.iron_sheet": "Iron Sheet",
"item.create.linked_controller": "Linked Controller",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1324",
"_": "Missing Localizations: 1323",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "Honigapfel",
"item.create.incomplete_cogwheel": "UNLOCALIZED: Incomplete Cogwheel",
"item.create.incomplete_large_cogwheel": "UNLOCALIZED: Incomplete Large Cogwheel",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "UNLOCALIZED: Incomplete Precision Mechanism",
"item.create.iron_sheet": "Eisenblech",
"item.create.linked_controller": "UNLOCALIZED: Linked Controller",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 335",
"_": "Missing Localizations: 334",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "Manzana Enmielada",
"item.create.incomplete_cogwheel": "Engranaje Incompleto",
"item.create.incomplete_large_cogwheel": "Engranaje Grande Incompleto",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "Mecanismo de Precisión Incompleto",
"item.create.iron_sheet": "Plancha de Hierro",
"item.create.linked_controller": "Controlador Vinculable",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 335",
"_": "Missing Localizations: 334",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "Manzana con miel",
"item.create.incomplete_cogwheel": "Engranaje pequeño incompleto",
"item.create.incomplete_large_cogwheel": "Engranaje grande incompleto",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "Mecanismo de precisión incompleto",
"item.create.iron_sheet": "Lámina de hierro",
"item.create.linked_controller": "Controlador enlazado",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1586",
"_": "Missing Localizations: 1585",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "UNLOCALIZED: Honeyed Apple",
"item.create.incomplete_cogwheel": "UNLOCALIZED: Incomplete Cogwheel",
"item.create.incomplete_large_cogwheel": "UNLOCALIZED: Incomplete Large Cogwheel",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "UNLOCALIZED: Incomplete Precision Mechanism",
"item.create.iron_sheet": "Plaque de Fer",
"item.create.linked_controller": "UNLOCALIZED: Linked Controller",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1275",
"_": "Missing Localizations: 1274",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "UNLOCALIZED: Honeyed Apple",
"item.create.incomplete_cogwheel": "UNLOCALIZED: Incomplete Cogwheel",
"item.create.incomplete_large_cogwheel": "UNLOCALIZED: Incomplete Large Cogwheel",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "UNLOCALIZED: Incomplete Precision Mechanism",
"item.create.iron_sheet": "Lamiera di ferro",
"item.create.linked_controller": "UNLOCALIZED: Linked Controller",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 5",
"_": "Missing Localizations: 4",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "リンゴのハチミツかけ",
"item.create.incomplete_cogwheel": "組み立て中の歯車",
"item.create.incomplete_large_cogwheel": "組み立て中の大きな歯車",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "組み立て中の精密機構",
"item.create.iron_sheet": "鉄板",
"item.create.linked_controller": "リンクコントローラー",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 7",
"_": "Missing Localizations: 6",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "꿀 바른 사과",
"item.create.incomplete_cogwheel": "미완성된 톱니바퀴",
"item.create.incomplete_large_cogwheel": "미완성된 큰 톱니바퀴",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "미완성된 정밀 기계장치",
"item.create.iron_sheet": "철 판",
"item.create.linked_controller": "레드스톤 링크 조작기",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1939",
"_": "Missing Localizations: 1938",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "UNLOCALIZED: Honeyed Apple",
"item.create.incomplete_cogwheel": "UNLOCALIZED: Incomplete Cogwheel",
"item.create.incomplete_large_cogwheel": "UNLOCALIZED: Incomplete Large Cogwheel",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "UNLOCALIZED: Incomplete Precision Mechanism",
"item.create.iron_sheet": "IJzeren Platen",
"item.create.linked_controller": "UNLOCALIZED: Linked Controller",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 374",
"_": "Missing Localizations: 373",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "Jabłko w miodzie",
"item.create.incomplete_cogwheel": "Niedokończone koło zębate",
"item.create.incomplete_large_cogwheel": "Niedokończone duże koło zębate",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "Niedokończony precyzyjny mechanizm",
"item.create.iron_sheet": "Arkusz żelaza",
"item.create.linked_controller": "Zdalny sterownik",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1558",
"_": "Missing Localizations: 1557",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "Maçã com Cobertura de Mel",
"item.create.incomplete_cogwheel": "Roda Dentada Incompleta",
"item.create.incomplete_large_cogwheel": "Roda Dentada Grande Incompleta",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "Mecanismo de Precisão",
"item.create.iron_sheet": "Chapa de Ferro",
"item.create.linked_controller": "Controle conectado",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1558",
"_": "Missing Localizations: 1557",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "Maçã com Cobertura de Mel",
"item.create.incomplete_cogwheel": "Roda Dentada Incompleta",
"item.create.incomplete_large_cogwheel": "Roda Dentada Grande Incompleta",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "Mecanismo de Precisão",
"item.create.iron_sheet": "Chapa de Ferro",
"item.create.linked_controller": "Controle conectado",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 379",
"_": "Missing Localizations: 378",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "Яблоко в меду",
"item.create.incomplete_cogwheel": "Незаконченная шестерня",
"item.create.incomplete_large_cogwheel": "Незаконченная большая шестерня",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "Незаконченный механизм точности",
"item.create.iron_sheet": "Железный лист",
"item.create.linked_controller": "Контроллер связей",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 5",
"_": "Missing Localizations: 4",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "蜜渍苹果",
"item.create.incomplete_cogwheel": "齿轮(半成品)",
"item.create.incomplete_large_cogwheel": "大齿轮(半成品)",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "精密构件(半成品)",
"item.create.iron_sheet": "铁板",
"item.create.linked_controller": "无线红石遥控器",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 393",
"_": "Missing Localizations: 392",
"_": "->------------------------] Game Elements [------------------------<-",
@ -602,7 +602,6 @@
"item.create.honeyed_apple": "蜂蜜蘋果",
"item.create.incomplete_cogwheel": "未完成的小齒輪",
"item.create.incomplete_large_cogwheel": "未完成的大齒輪",
"item.create.incomplete_netherrack": "UNLOCALIZED: Incomplete Netherrack",
"item.create.incomplete_precision_mechanism": "未完成的精確控制器",
"item.create.iron_sheet": "鐵板",
"item.create.linked_controller": "遙控器",

View file

@ -28,8 +28,8 @@
"trigger": "create:bracket_apply",
"conditions": {
"accepted_entries": [
"create:large_cogwheel",
"create:cogwheel"
"create:cogwheel",
"create:large_cogwheel"
]
}
},

View file

@ -0,0 +1,29 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_blocks/aluminum"
}
],
"results": [
{
"item": "create:crushed_aluminum_ore",
"count": 9
},
{
"item": "create:experience_nugget",
"count": 9,
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_blocks/aluminum",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,27 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_ores/aluminum"
}
],
"results": [
{
"item": "create:crushed_aluminum_ore"
},
{
"item": "create:experience_nugget",
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_ores/aluminum",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,29 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_blocks/lead"
}
],
"results": [
{
"item": "create:crushed_lead_ore",
"count": 9
},
{
"item": "create:experience_nugget",
"count": 9,
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_blocks/lead",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,27 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_ores/lead"
}
],
"results": [
{
"item": "create:crushed_lead_ore"
},
{
"item": "create:experience_nugget",
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_ores/lead",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,29 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_blocks/nickel"
}
],
"results": [
{
"item": "create:crushed_nickel_ore",
"count": 9
},
{
"item": "create:experience_nugget",
"count": 9,
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_blocks/nickel",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,27 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_ores/nickel"
}
],
"results": [
{
"item": "create:crushed_nickel_ore"
},
{
"item": "create:experience_nugget",
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_ores/nickel",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,29 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_blocks/osmium"
}
],
"results": [
{
"item": "create:crushed_osmium_ore",
"count": 9
},
{
"item": "create:experience_nugget",
"count": 9,
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_blocks/osmium",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,27 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_ores/osmium"
}
],
"results": [
{
"item": "create:crushed_osmium_ore"
},
{
"item": "create:experience_nugget",
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_ores/osmium",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,29 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_blocks/platinum"
}
],
"results": [
{
"item": "create:crushed_platinum_ore",
"count": 9
},
{
"item": "create:experience_nugget",
"count": 9,
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_blocks/platinum",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,27 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_ores/platinum"
}
],
"results": [
{
"item": "create:crushed_platinum_ore"
},
{
"item": "create:experience_nugget",
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_ores/platinum",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,29 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_blocks/quicksilver"
}
],
"results": [
{
"item": "create:crushed_quicksilver_ore",
"count": 9
},
{
"item": "create:experience_nugget",
"count": 9,
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_blocks/quicksilver",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,27 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_ores/quicksilver"
}
],
"results": [
{
"item": "create:crushed_quicksilver_ore"
},
{
"item": "create:experience_nugget",
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_ores/quicksilver",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,29 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_blocks/silver"
}
],
"results": [
{
"item": "create:crushed_silver_ore",
"count": 9
},
{
"item": "create:experience_nugget",
"count": 9,
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_blocks/silver",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,27 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_ores/silver"
}
],
"results": [
{
"item": "create:crushed_silver_ore"
},
{
"item": "create:experience_nugget",
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_ores/silver",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,29 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_blocks/tin"
}
],
"results": [
{
"item": "create:crushed_tin_ore",
"count": 9
},
{
"item": "create:experience_nugget",
"count": 9,
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_blocks/tin",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,27 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_ores/tin"
}
],
"results": [
{
"item": "create:crushed_tin_ore"
},
{
"item": "create:experience_nugget",
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_ores/tin",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,29 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_blocks/uranium"
}
],
"results": [
{
"item": "create:crushed_uranium_ore",
"count": 9
},
{
"item": "create:experience_nugget",
"count": 9,
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_blocks/uranium",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -0,0 +1,27 @@
{
"type": "create:crushing",
"ingredients": [
{
"tag": "forge:raw_ores/uranium"
}
],
"results": [
{
"item": "create:crushed_uranium_ore"
},
{
"item": "create:experience_nugget",
"chance": 0.75
}
],
"processingTime": 400,
"conditions": [
{
"value": {
"tag": "forge:raw_ores/uranium",
"type": "forge:tag_empty"
},
"type": "forge:not"
}
]
}

View file

@ -94,11 +94,6 @@ public class AllItems {
.model(AssetLookup.existingItemModel())
.register();
public static final ItemEntry<SequencedAssemblyItem> INCOMPLETE_NETHERRACK =
REGISTRATE.item("incomplete_netherrack", SequencedAssemblyItem::new)
.model(AssetLookup.existingItemModel())
.register();
public static final ItemEntry<HiddenIngredientItem> BLAZE_CAKE_BASE =
REGISTRATE.item("blaze_cake_base", HiddenIngredientItem::new)
.tag(AllItemTags.UPRIGHT_ON_BELT.tag)

View file

@ -149,7 +149,7 @@ public class HarvesterMovementBehaviour extends MovementBehaviour {
if (state.is(BlockTags.LEAVES))
return true;
if (state.getBlock() instanceof CocoaBlock)
return true;
return state.getValue(CocoaBlock.AGE) == CocoaBlock.MAX_AGE;
if (state.getCollisionShape(world, pos)
.isEmpty()) {

View file

@ -476,8 +476,10 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
}
public static boolean isSawable(BlockState stateToBreak) {
if (stateToBreak.is(BlockTags.SAPLINGS))
return false;
if (stateToBreak.is(BlockTags.LOGS) || AllTags.AllBlockTags.SLIMY_LOGS.matches(stateToBreak)
|| stateToBreak.is(BlockTags.LEAVES))
|| (stateToBreak.is(BlockTags.LEAVES)))
return true;
Block block = stateToBreak.getBlock();
if (block instanceof BambooBlock)

View file

@ -546,6 +546,8 @@ public class ContraptionCollider {
boolean emptyCollider = collidedState.getCollisionShape(world, pos)
.isEmpty();
if (collidedState.getBlock() instanceof CocoaBlock)
continue;
if (AllMovementBehaviours.contains(blockInfo.state.getBlock())) {
MovementBehaviour movementBehaviour = AllMovementBehaviours.of(blockInfo.state.getBlock());
if (movementBehaviour instanceof BlockBreakingMovementBehaviour) {
@ -568,8 +570,6 @@ public class ContraptionCollider {
if (AllBlocks.PULLEY_MAGNET.has(collidedState) && pos.equals(BlockPos.ZERO)
&& movementDirection == Direction.UP)
continue;
if (collidedState.getBlock() instanceof CocoaBlock)
continue;
if (!collidedState.getMaterial()
.isReplaceable() && !emptyCollider) {
return true;

View file

@ -13,7 +13,6 @@ import com.simibubi.create.Create;
import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld;
import net.minecraft.core.BlockPos;
import net.minecraft.data.worldgen.biome.OverworldBiomes;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.decoration.ArmorStand;
@ -23,6 +22,7 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.LightLayer;
import net.minecraft.world.level.ServerLevelAccessor;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.biome.Biomes;
import net.minecraft.world.level.block.AbstractFurnaceBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
@ -36,6 +36,7 @@ import net.minecraft.world.level.material.FluidState;
import net.minecraft.world.phys.AABB;
import net.minecraft.world.ticks.BlackholeTickAccess;
import net.minecraft.world.ticks.LevelTickAccess;
import net.minecraftforge.registries.ForgeRegistries;
public class SchematicWorld extends WrappedWorld implements ServerLevelAccessor {
@ -137,7 +138,7 @@ public class SchematicWorld extends WrappedWorld implements ServerLevelAccessor
@Override
public Biome getBiome(BlockPos pos) {
return OverworldBiomes.theVoid();
return ForgeRegistries.BIOMES.getValue(Biomes.FOREST.location());
}
@Override

View file

@ -6,6 +6,7 @@ import java.util.function.UnaryOperator;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllItems;
import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.AllTags;
import com.simibubi.create.content.contraptions.processing.ProcessingRecipe;
import com.simibubi.create.content.contraptions.processing.ProcessingRecipeBuilder;
import com.simibubi.create.content.palettes.AllPaletteStoneTypes;
@ -17,6 +18,8 @@ import net.minecraft.util.Mth;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.block.Blocks;
import net.minecraftforge.common.crafting.conditions.NotCondition;
import net.minecraftforge.common.crafting.conditions.TagEmptyCondition;
public class CrushingRecipeGen extends ProcessingRecipeGen {
@ -90,11 +93,31 @@ public class CrushingRecipeGen extends ProcessingRecipeGen {
RAW_IRON_ORE = rawOre(() -> Items.RAW_IRON, AllItems.CRUSHED_IRON::get, 1),
RAW_GOLD_ORE = rawOre(() -> Items.RAW_GOLD, AllItems.CRUSHED_GOLD::get, 1),
RAW_COPPER_BLOCK = rawOre(() -> Items.RAW_COPPER_BLOCK, AllItems.CRUSHED_COPPER::get, 9),
OSMIUM_RAW_ORE = moddedRawOre("osmium", AllItems.CRUSHED_OSMIUM::get, 1),
PLATINUM_RAW_ORE = moddedRawOre("platinum", AllItems.CRUSHED_PLATINUM::get, 1),
SILVER_RAW_ORE = moddedRawOre("silver", AllItems.CRUSHED_SILVER::get, 1),
TIN_RAW_ORE = moddedRawOre("tin", AllItems.CRUSHED_TIN::get, 1),
QUICKSILVER_RAW_ORE = moddedRawOre("quicksilver", AllItems.CRUSHED_QUICKSILVER::get, 1),
LEAD_RAW_ORE = moddedRawOre("lead", AllItems.CRUSHED_LEAD::get, 1),
ALUMINUM_RAW_ORE = moddedRawOre("aluminum", AllItems.CRUSHED_BAUXITE::get, 1),
URANIUM_RAW_ORE = moddedRawOre("uranium", AllItems.CRUSHED_URANIUM::get, 1),
NICKEL_RAW_ORE = moddedRawOre("nickel", AllItems.CRUSHED_NICKEL::get, 1),
RAW_COPPER_BLOCK = rawOre(() -> Items.RAW_COPPER_BLOCK,AllItems.CRUSHED_COPPER::get, 9),
RAW_ZINC_BLOCK = rawOre(AllBlocks.RAW_ZINC_BLOCK::get, AllItems.CRUSHED_ZINC::get, 9),
RAW_IRON_BLOCK = rawOre(() -> Items.RAW_IRON_BLOCK, AllItems.CRUSHED_IRON::get, 9),
RAW_GOLD_BLOCK = rawOre(() -> Items.RAW_GOLD_BLOCK, AllItems.CRUSHED_GOLD::get, 9),
OSMIUM_RAW_BLOCK = moddedRawOre("osmium", AllItems.CRUSHED_OSMIUM::get, 9),
PLATINUM_RAW_BLOCK = moddedRawOre("platinum", AllItems.CRUSHED_PLATINUM::get, 9),
SILVER_RAW_BLOCK = moddedRawOre("silver", AllItems.CRUSHED_SILVER::get, 9),
TIN_RAW_BLOCK = moddedRawOre("tin", AllItems.CRUSHED_TIN::get, 9),
QUICKSILVER_RAW_BLOCK = moddedRawOre("quicksilver", AllItems.CRUSHED_QUICKSILVER::get, 9),
LEAD_RAW_BLOCK = moddedRawOre("lead", AllItems.CRUSHED_LEAD::get, 9),
ALUMINUM_RAW_BLOCK = moddedRawOre("aluminum", AllItems.CRUSHED_BAUXITE::get, 9),
URANIUM_RAW_BLOCK = moddedRawOre("uranium", AllItems.CRUSHED_URANIUM::get, 9),
NICKEL_RAW_BLOCK = moddedRawOre("nickel", AllItems.CRUSHED_NICKEL::get, 9),
NETHER_WART = create("nether_wart_block", b -> b.duration(150)
.require(Blocks.NETHER_WART_BLOCK)
.output(.25f, Items.NETHER_WART, 1)),
@ -188,7 +211,18 @@ public class CrushingRecipeGen extends ProcessingRecipeGen {
.output(result.get(), amount)
.output(.75f, AllItems.EXP_NUGGET.get(), amount));
}
protected GeneratedRecipe moddedRawOre(String name, Supplier<ItemLike> result, int amount) {
return create("raw_" + name + (amount == 1 ? "_ore" : "_block"), b -> {
String prefix = amount == 1 ? "raw_ores/" : "raw_blocks/";
return b.duration(400)
.withCondition(new NotCondition(new TagEmptyCondition("forge", prefix + name)))
.require(AllTags.forgeItemTag(prefix + name))
.output(result.get(), amount)
.output(.75f, AllItems.EXP_NUGGET.get(), amount);
});
}
public CrushingRecipeGen(DataGenerator p_i48262_1_) {
super(p_i48262_1_);
}

View file

@ -29,6 +29,14 @@ public enum Mods {
return new ResourceLocation(id, reversedPrefix ? "nugget_" + type : type + "_nugget");
}
public ResourceLocation oreOf(String type) {
return new ResourceLocation(id, reversedPrefix ? "ore_" + type : type + "_ore");
}
public ResourceLocation deepslateOreOf(String type) {
return new ResourceLocation(id, reversedPrefix ? "deepslate_ore_" + type : "deepslate_" + type + "_ore");
}
public String getId() {
return id;
}

View file

@ -21,13 +21,6 @@ public abstract class SyncedTileEntity extends BlockEntity {
super(type, pos, state);
}
@Override
public CompoundTag save(CompoundTag tag) {
super.save(tag);
saveAdditional(tag);
return tag;
}
@Override
public CompoundTag getUpdateTag() {
return writeClient(new CompoundTag());
@ -56,7 +49,8 @@ public abstract class SyncedTileEntity extends BlockEntity {
// Special handling for client update packets
public CompoundTag writeClient(CompoundTag tag) {
return save(tag);
saveAdditional(tag);
return tag;
}
public void sendData() {

View file

@ -35,6 +35,8 @@ import net.minecraft.world.level.block.KelpPlantBlock;
import net.minecraft.world.level.block.LeavesBlock;
import net.minecraft.world.level.block.SugarCaneBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.IntegerProperty;
import net.minecraft.world.level.block.state.properties.Property;
public class TreeCutter {
public static final Tree NO_TREE = new Tree(Collections.emptyList(), Collections.emptyList());
@ -142,15 +144,27 @@ public class TreeCutter {
if (isGenericLeaf)
leaves.add(currentPos);
int distance = !isLeaf ? 0 : blockState.getValue(LeavesBlock.DISTANCE);
IntegerProperty distanceProperty = LeavesBlock.DISTANCE;
for (Property<?> property : blockState.getValues()
.keySet())
if (property instanceof IntegerProperty ip && property.getName()
.equals("distance"))
distanceProperty = ip;
int distance = !isLeaf ? 0 : blockState.getValue(distanceProperty);
for (Direction direction : Iterate.directions) {
BlockPos offset = currentPos.relative(direction);
if (visited.contains(offset))
continue;
BlockState state = reader.getBlockState(offset);
BlockPos subtract = offset.subtract(pos);
for (Property<?> property : state.getValues().keySet())
if (property instanceof IntegerProperty ip && property.getName().equals("distance"))
distanceProperty = ip;
int horizontalDistance = Math.max(Math.abs(subtract.getX()), Math.abs(subtract.getZ()));
if (isLeaf(state) && state.getValue(LeavesBlock.DISTANCE) > distance
if (isLeaf(state) && state.getValue(distanceProperty) > distance
|| isNonDecayingLeaf(state) && horizontalDistance < 4)
frontier.add(offset);
}
@ -233,7 +247,10 @@ public class TreeCutter {
}
private static boolean isLeaf(BlockState state) {
return state.hasProperty(LeavesBlock.DISTANCE);
for (Property<?> property : state.getValues().keySet())
if (property instanceof IntegerProperty && property.getName().equals("distance"))
return true;
return false;
}
public static class Tree extends AbstractBlockBreakQueue {

View file

@ -5,7 +5,7 @@ license="MIT"
[[mods]]
modId="create"
version="0.4c"
version="0.4d"
displayName="Create"
#updateJSONURL=""
displayURL="https://www.curseforge.com/minecraft/mc-mods/create"