From 8db267300a0fb663a216aea97d911fe998923b13 Mon Sep 17 00:00:00 2001 From: Motschen Date: Thu, 13 Apr 2023 21:03:55 +0200 Subject: [PATCH] This Rocks 1.7.0 - 1.19.4, Bamboo, Mangrove & Cherry Sticks - Update to 1.19.4 - Add bamboo, mangrove and cherry sticks that generate in their respective biomes - Overhaul config - Generation is now JSON-based - Fix #34 (Geysers pushing with blocks in-between) --- .../0809c40fc61808c03cb356ec122a9518709ab04f | 48 +++++----- .../configured_feature/acacia_stick.json | 9 +- .../configured_feature/bamboo_stick.json | 40 +++++++++ .../configured_feature/birch_stick.json | 9 +- .../configured_feature/cherry_stick.json | 40 +++++++++ .../configured_feature/crimson_stick.json | 9 +- .../configured_feature/dark_oak_stick.json | 9 +- .../configured_feature/jungle_stick.json | 9 +- .../configured_feature/mangrove_stick.json | 40 +++++++++ .../configured_feature/oak_stick.json | 9 +- .../configured_feature/spruce_stick.json | 9 +- .../configured_feature/warped_stick.json | 9 +- .../worldgen/placed_feature/acacia_stick.json | 15 +++- .../worldgen/placed_feature/bamboo_stick.json | 87 +++++++++++++++++++ .../worldgen/placed_feature/birch_stick.json | 15 +++- .../worldgen/placed_feature/cherry_stick.json | 87 +++++++++++++++++++ .../placed_feature/crimson_stick.json | 9 +- .../placed_feature/dark_oak_stick.json | 15 +++- .../worldgen/placed_feature/jungle_stick.json | 15 +++- .../placed_feature/mangrove_stick.json | 87 +++++++++++++++++++ .../worldgen/placed_feature/oak_stick.json | 15 +++- .../placed_feature/red_sand_rock.json | 2 +- .../worldgen/placed_feature/spruce_stick.json | 15 +++- .../worldgen/placed_feature/warped_stick.json | 9 +- .../motschen/rocks/RocksMain.java | 14 ++- .../motschen/rocks/RocksRegistryUtils.java | 6 +- .../motschen/rocks/block/Starfish.java | 2 +- .../motschen/rocks/block/Stick.java | 9 +- .../blockentity/NetherGeyserBlockEntity.java | 9 +- .../OverworldGeyserBlockEntity.java | 7 +- .../motschen/rocks/config/RocksConfig.java | 53 ++++++----- .../motschen/rocks/world/FeatureInjector.java | 51 ++++++----- .../configured_feature/RockFeatures.java | 2 +- .../configured_feature/StickFeatures.java | 43 +++++++-- .../rocks/blockstates/bamboo_stick.json | 22 +++++ .../rocks/blockstates/cherry_stick.json | 22 +++++ .../rocks/blockstates/mangrove_stick.json | 22 +++++ .../resources/assets/rocks/lang/de_de.json | 5 +- .../resources/assets/rocks/lang/en_us.json | 16 ++-- .../resources/assets/rocks/lang/ru_ru.json | 4 +- .../models/block/large_bamboo_stick.json | 7 ++ .../models/block/large_cherry_stick.json | 7 ++ .../models/block/large_mangrove_stick.json | 7 ++ .../models/block/medium_bamboo_stick.json | 7 ++ .../models/block/medium_cherry_stick.json | 7 ++ .../models/block/medium_mangrove_stick.json | 7 ++ .../models/block/small_bamboo_stick.json | 7 ++ .../models/block/small_cherry_stick.json | 7 ++ .../models/block/small_mangrove_stick.json | 7 ++ .../rocks/models/item/bamboo_stick.json | 3 + .../rocks/models/item/cherry_stick.json | 3 + .../rocks/models/item/mangrove_stick.json | 3 + .../loot_tables/blocks/bamboo_stick.json | 43 +++++++++ .../loot_tables/blocks/cherry_stick.json | 43 +++++++++ .../loot_tables/blocks/mangrove_stick.json | 43 +++++++++ 55 files changed, 952 insertions(+), 147 deletions(-) create mode 100644 src/main/generated/data/rocks/worldgen/configured_feature/bamboo_stick.json create mode 100644 src/main/generated/data/rocks/worldgen/configured_feature/cherry_stick.json create mode 100644 src/main/generated/data/rocks/worldgen/configured_feature/mangrove_stick.json create mode 100644 src/main/generated/data/rocks/worldgen/placed_feature/bamboo_stick.json create mode 100644 src/main/generated/data/rocks/worldgen/placed_feature/cherry_stick.json create mode 100644 src/main/generated/data/rocks/worldgen/placed_feature/mangrove_stick.json create mode 100755 src/main/resources/assets/rocks/blockstates/bamboo_stick.json create mode 100755 src/main/resources/assets/rocks/blockstates/cherry_stick.json create mode 100755 src/main/resources/assets/rocks/blockstates/mangrove_stick.json create mode 100755 src/main/resources/assets/rocks/models/block/large_bamboo_stick.json create mode 100755 src/main/resources/assets/rocks/models/block/large_cherry_stick.json create mode 100755 src/main/resources/assets/rocks/models/block/large_mangrove_stick.json create mode 100755 src/main/resources/assets/rocks/models/block/medium_bamboo_stick.json create mode 100755 src/main/resources/assets/rocks/models/block/medium_cherry_stick.json create mode 100755 src/main/resources/assets/rocks/models/block/medium_mangrove_stick.json create mode 100755 src/main/resources/assets/rocks/models/block/small_bamboo_stick.json create mode 100755 src/main/resources/assets/rocks/models/block/small_cherry_stick.json create mode 100755 src/main/resources/assets/rocks/models/block/small_mangrove_stick.json create mode 100755 src/main/resources/assets/rocks/models/item/bamboo_stick.json create mode 100755 src/main/resources/assets/rocks/models/item/cherry_stick.json create mode 100755 src/main/resources/assets/rocks/models/item/mangrove_stick.json create mode 100755 src/main/resources/data/rocks/loot_tables/blocks/bamboo_stick.json create mode 100755 src/main/resources/data/rocks/loot_tables/blocks/cherry_stick.json create mode 100755 src/main/resources/data/rocks/loot_tables/blocks/mangrove_stick.json diff --git a/src/main/generated/.cache/0809c40fc61808c03cb356ec122a9518709ab04f b/src/main/generated/.cache/0809c40fc61808c03cb356ec122a9518709ab04f index 814b59a..799d651 100644 --- a/src/main/generated/.cache/0809c40fc61808c03cb356ec122a9518709ab04f +++ b/src/main/generated/.cache/0809c40fc61808c03cb356ec122a9518709ab04f @@ -1,51 +1,57 @@ -// 1.19.4 2023-04-13T15:52:48.359803058 This Rocks!/rocks +// 1.19.4 2023-04-13T20:56:56.349859709 This Rocks!/rocks +d71c0556b644dcaf5737175f7336de62ebdbb167 data/rocks/worldgen/configured_feature/mangrove_stick.json dcc0d9933482f519f2f7e50417b78be0a515918d data/rocks/worldgen/placed_feature/soul_soil_rock.json -456ca559dda509eeffabef971214c9fc6bbaf932 data/rocks/worldgen/placed_feature/warped_stick.json -9ee56411c9172a4b40b4e2b3099a4739448ca08e data/rocks/worldgen/configured_feature/spruce_stick.json +fa2f1ffb8e1754f320b7fa507bebaecccdc48390 data/rocks/worldgen/configured_feature/spruce_stick.json +5e1fcb9f44374870bf1f874936dc55c5c8e1f8c5 data/rocks/worldgen/placed_feature/warped_stick.json 1919d79e82602199e121c571751b5b57081fe710 data/rocks/worldgen/configured_feature/underwater_starfish.json -d3df56defedd0e0711d6bd9e3e1f07b065b93079 data/rocks/worldgen/placed_feature/red_sand_rock.json -5b3ad85a032f0ddc6768dd5d8f5be96eafb77d00 data/rocks/worldgen/placed_feature/acacia_stick.json -6a74e22433f148cffb0b879c8b38f0c7fd200e13 data/rocks/worldgen/placed_feature/crimson_stick.json +3ce428f5b9db426363a761d0254c22375a66cc67 data/rocks/worldgen/placed_feature/red_sand_rock.json +9848f6c90ac79ec1021ce737f502f5f919cddc0b data/rocks/worldgen/placed_feature/acacia_stick.json +3bb5af6803e29079a3757ab026bcdedee9a3f4a3 data/rocks/worldgen/placed_feature/crimson_stick.json 7fbc9d652d5a02582c260b4c76d05566339a68a1 data/rocks/worldgen/configured_feature/granite_rock.json -683bc011a2fa35ca0a457d0eeaab4a900ee6dd55 data/rocks/worldgen/placed_feature/rock.json 9a4bf562fe53bfcff21a39bfe6043a48986ab87d data/rocks/worldgen/placed_feature/sand_rock.json +683bc011a2fa35ca0a457d0eeaab4a900ee6dd55 data/rocks/worldgen/placed_feature/rock.json c33151e25a50dcc5a826e65933ab9719ad639d6d data/rocks/worldgen/placed_feature/end_stone_rock.json +dbda0b9c6a571f8d5cbe47fda3cda2f8d08ff9f2 data/rocks/worldgen/configured_feature/bamboo_stick.json 3a37c1f098d280104c74d2ddff197ec9d2225f39 data/rocks/worldgen/configured_feature/diorite_rock.json -7f14a9567453f2faf68722640d55102cc5e96af1 data/rocks/worldgen/configured_feature/oak_stick.json +ac68decd062ded192b01770ec250d76a55e76177 data/rocks/worldgen/configured_feature/oak_stick.json 2f7cdca56829a8e66ec6bb6cc3fff2f2bdb95b38 data/rocks/worldgen/configured_feature/red_sand_rock.json 93f0ff373f22b3fe818305c03cf3a947dc0016d0 data/rocks/worldgen/placed_feature/gravel_rock.json -10cc68baeee62813b71a8881a24ec5270c385aa9 data/rocks/worldgen/placed_feature/jungle_stick.json -33c1f1089e71f5ea1252749c994eefd893b27893 data/rocks/worldgen/configured_feature/warped_stick.json -002f484872e9c3642d8fd7568f5533c4badadf55 data/rocks/worldgen/configured_feature/acacia_stick.json +ae1b4c625b9387c5dfc8c1eb53c1eda353ffa712 data/rocks/worldgen/placed_feature/jungle_stick.json +66039045c4bce89398ae0466b1c14ca3cd68912a data/rocks/worldgen/configured_feature/warped_stick.json +6454db935e810df3ad97aa625308e827b57e115d data/rocks/worldgen/configured_feature/acacia_stick.json 5e1c33acb6043e8e33561f06650d0973382d6054 data/rocks/worldgen/placed_feature/nether_geyser.json 6b1fa178181fd3ec1138da12e220976bf11f831c data/rocks/worldgen/configured_feature/nether_gravel_rock.json +07245b68ad42948f36707d5b83dc995ded4b3038 data/rocks/worldgen/placed_feature/seashell.json 16e9b2f47ac483b8f672c42a5c36194d14e7f7f7 data/rocks/worldgen/placed_feature/nether_gravel_rock.json a09aa0e744166ba6c07e640a55dcb6570c34936f data/rocks/worldgen/placed_feature/andesite_rock.json -07245b68ad42948f36707d5b83dc995ded4b3038 data/rocks/worldgen/placed_feature/seashell.json -de8a64d00b10892f62b21dd3e034608836b4215b data/rocks/worldgen/configured_feature/netherrack_rock.json +14b6c52b4bdeb69a427eb741e12f21d965de76ab data/rocks/worldgen/configured_feature/cherry_stick.json 26574f35fb852a572ad10c2882160b4fc280aad8 data/rocks/worldgen/configured_feature/sand_rock.json +de8a64d00b10892f62b21dd3e034608836b4215b data/rocks/worldgen/configured_feature/netherrack_rock.json 6b1fa178181fd3ec1138da12e220976bf11f831c data/rocks/worldgen/configured_feature/gravel_rock.json 4554733520656e979093beaa05d881213ad81415 data/rocks/worldgen/configured_feature/underwater_seashell.json a2553fb89e8382c0e04dcf3ded89ffcad51b111b data/rocks/worldgen/configured_feature/andesite_rock.json 8d525964606767ac06f52fb03e331029444d934f data/rocks/worldgen/placed_feature/snowy_geyser.json -483c5b5fefbc122e1e28d5303c9a6287fc3405d0 data/rocks/worldgen/configured_feature/dark_oak_stick.json +91fa443267b7ba1d67d25466457e35cbc2123a12 data/rocks/worldgen/configured_feature/dark_oak_stick.json 9413155a906186256fb8395d7c892833db2390bc data/rocks/worldgen/configured_feature/end_stone_rock.json 8210691068079b5f1652a95b854c1ffd37548a22 data/rocks/worldgen/configured_feature/rock.json d0179c57f1a557cd656ebcd902bfbb57fd877e16 data/rocks/worldgen/configured_feature/seashell.json -6e4c12f66d3ca1b09f0b0e5586e6bcc85f985216 data/rocks/worldgen/configured_feature/jungle_stick.json 2ac994ff2e7818ea340b0c4bd527386e80dbcf52 data/rocks/worldgen/placed_feature/underwater_seashell.json +9cb4b04873d315d036c4850b8bf79718aa1919d0 data/rocks/worldgen/configured_feature/jungle_stick.json 527e35b402cf6f3ee07e767affe58f75257748ad data/rocks/worldgen/placed_feature/starfish.json 5bc6faa179ca69a8a89cc04910f0288621ce89ea data/rocks/worldgen/configured_feature/nether_geyser.json -07933044c5169dee4eb3c88ca569981e005f21c4 data/rocks/worldgen/placed_feature/birch_stick.json +eb9d7f31f960d8ec61122d75623acb1e2529b4fa data/rocks/worldgen/placed_feature/cherry_stick.json +e36c8db5ef949c547e917e3543da41cfbe378970 data/rocks/worldgen/placed_feature/bamboo_stick.json +5b90945a0ecc164ea8ae165da3d2c03c74b96cc7 data/rocks/worldgen/placed_feature/birch_stick.json 384c6ad8b5505b2b9900c159f9cf9ff7e0ff7a62 data/rocks/worldgen/placed_feature/netherrack_rock.json 3543cb07163388142629427a44900841e9da1869 data/rocks/worldgen/configured_feature/soul_soil_rock.json -a09cce68c2604042b64b254081cc47202c84168e data/rocks/worldgen/placed_feature/spruce_stick.json -b6706c0647a808959373d31b0ca7c2cdc6f53fa6 data/rocks/worldgen/configured_feature/crimson_stick.json -381bcd86b6fe3c65116f21f14ac61927628cf1cb data/rocks/worldgen/placed_feature/dark_oak_stick.json +1c3fa5665b6c36abd5aa406793acc1f54d3d0d27 data/rocks/worldgen/placed_feature/spruce_stick.json +40e1b2b9439381c0f12fdc9811bc8462a23c3a57 data/rocks/worldgen/placed_feature/mangrove_stick.json +79d123df2ad9ab7a1a3ae508c62a90e7dceb3aac data/rocks/worldgen/configured_feature/crimson_stick.json +8eeab96572a35223ec7be23886da2d5ebaef8c47 data/rocks/worldgen/placed_feature/dark_oak_stick.json f9b95c245164e443738638e4af012ed92b8180e0 data/rocks/worldgen/configured_feature/starfish.json 735c703ef4e0d25978d492d203e7f9979d601524 data/rocks/worldgen/placed_feature/underwater_starfish.json c25b0c3bdb96f8e3469481cb787691807bfc3fa3 data/rocks/worldgen/configured_feature/snowy_geyser.json -8d296ba93c8580775e9b55dc9c247191e072d499 data/rocks/worldgen/configured_feature/birch_stick.json -58ab91cffdd6df6e9956d2cf8c88a39f36e1a52a data/rocks/worldgen/placed_feature/oak_stick.json +23b0fb98fdaafef8c0ff7346149d85c7c597e86a data/rocks/worldgen/configured_feature/birch_stick.json +ebaddc15f52cda4480ae94bd7b3d57b0cbbbbdfb data/rocks/worldgen/placed_feature/oak_stick.json 0d79544af5d224d8067936bbfd447f1c533e27b5 data/rocks/worldgen/placed_feature/granite_rock.json 6565d3f0e44737341c4e9f8fadf927d4fa8c2c3e data/rocks/worldgen/placed_feature/diorite_rock.json diff --git a/src/main/generated/data/rocks/worldgen/configured_feature/acacia_stick.json b/src/main/generated/data/rocks/worldgen/configured_feature/acacia_stick.json index 6801627..959cf30 100644 --- a/src/main/generated/data/rocks/worldgen/configured_feature/acacia_stick.json +++ b/src/main/generated/data/rocks/worldgen/configured_feature/acacia_stick.json @@ -8,7 +8,8 @@ "data": { "Name": "rocks:acacia_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -17,7 +18,8 @@ "data": { "Name": "rocks:acacia_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -26,7 +28,8 @@ "data": { "Name": "rocks:acacia_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 diff --git a/src/main/generated/data/rocks/worldgen/configured_feature/bamboo_stick.json b/src/main/generated/data/rocks/worldgen/configured_feature/bamboo_stick.json new file mode 100644 index 0000000..c79b7ca --- /dev/null +++ b/src/main/generated/data/rocks/worldgen/configured_feature/bamboo_stick.json @@ -0,0 +1,40 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "data": { + "Name": "rocks:bamboo_stick", + "Properties": { + "variation": "small", + "waterlogged": "false" + } + }, + "weight": 7 + }, + { + "data": { + "Name": "rocks:bamboo_stick", + "Properties": { + "variation": "medium", + "waterlogged": "false" + } + }, + "weight": 5 + }, + { + "data": { + "Name": "rocks:bamboo_stick", + "Properties": { + "variation": "large", + "waterlogged": "false" + } + }, + "weight": 1 + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/generated/data/rocks/worldgen/configured_feature/birch_stick.json b/src/main/generated/data/rocks/worldgen/configured_feature/birch_stick.json index 520725e..63102eb 100644 --- a/src/main/generated/data/rocks/worldgen/configured_feature/birch_stick.json +++ b/src/main/generated/data/rocks/worldgen/configured_feature/birch_stick.json @@ -8,7 +8,8 @@ "data": { "Name": "rocks:birch_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -17,7 +18,8 @@ "data": { "Name": "rocks:birch_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -26,7 +28,8 @@ "data": { "Name": "rocks:birch_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 diff --git a/src/main/generated/data/rocks/worldgen/configured_feature/cherry_stick.json b/src/main/generated/data/rocks/worldgen/configured_feature/cherry_stick.json new file mode 100644 index 0000000..389ab7b --- /dev/null +++ b/src/main/generated/data/rocks/worldgen/configured_feature/cherry_stick.json @@ -0,0 +1,40 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "data": { + "Name": "rocks:cherry_stick", + "Properties": { + "variation": "small", + "waterlogged": "false" + } + }, + "weight": 7 + }, + { + "data": { + "Name": "rocks:cherry_stick", + "Properties": { + "variation": "medium", + "waterlogged": "false" + } + }, + "weight": 5 + }, + { + "data": { + "Name": "rocks:cherry_stick", + "Properties": { + "variation": "large", + "waterlogged": "false" + } + }, + "weight": 1 + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/generated/data/rocks/worldgen/configured_feature/crimson_stick.json b/src/main/generated/data/rocks/worldgen/configured_feature/crimson_stick.json index 17d6bf1..628eeae 100644 --- a/src/main/generated/data/rocks/worldgen/configured_feature/crimson_stick.json +++ b/src/main/generated/data/rocks/worldgen/configured_feature/crimson_stick.json @@ -8,7 +8,8 @@ "data": { "Name": "rocks:crimson_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -17,7 +18,8 @@ "data": { "Name": "rocks:crimson_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -26,7 +28,8 @@ "data": { "Name": "rocks:crimson_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 diff --git a/src/main/generated/data/rocks/worldgen/configured_feature/dark_oak_stick.json b/src/main/generated/data/rocks/worldgen/configured_feature/dark_oak_stick.json index 53c2a65..fd468f3 100644 --- a/src/main/generated/data/rocks/worldgen/configured_feature/dark_oak_stick.json +++ b/src/main/generated/data/rocks/worldgen/configured_feature/dark_oak_stick.json @@ -8,7 +8,8 @@ "data": { "Name": "rocks:dark_oak_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -17,7 +18,8 @@ "data": { "Name": "rocks:dark_oak_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -26,7 +28,8 @@ "data": { "Name": "rocks:dark_oak_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 diff --git a/src/main/generated/data/rocks/worldgen/configured_feature/jungle_stick.json b/src/main/generated/data/rocks/worldgen/configured_feature/jungle_stick.json index 78a46d8..f975849 100644 --- a/src/main/generated/data/rocks/worldgen/configured_feature/jungle_stick.json +++ b/src/main/generated/data/rocks/worldgen/configured_feature/jungle_stick.json @@ -8,7 +8,8 @@ "data": { "Name": "rocks:jungle_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -17,7 +18,8 @@ "data": { "Name": "rocks:jungle_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -26,7 +28,8 @@ "data": { "Name": "rocks:jungle_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 diff --git a/src/main/generated/data/rocks/worldgen/configured_feature/mangrove_stick.json b/src/main/generated/data/rocks/worldgen/configured_feature/mangrove_stick.json new file mode 100644 index 0000000..f229619 --- /dev/null +++ b/src/main/generated/data/rocks/worldgen/configured_feature/mangrove_stick.json @@ -0,0 +1,40 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "data": { + "Name": "rocks:mangrove_stick", + "Properties": { + "variation": "small", + "waterlogged": "false" + } + }, + "weight": 7 + }, + { + "data": { + "Name": "rocks:mangrove_stick", + "Properties": { + "variation": "medium", + "waterlogged": "false" + } + }, + "weight": 5 + }, + { + "data": { + "Name": "rocks:mangrove_stick", + "Properties": { + "variation": "large", + "waterlogged": "false" + } + }, + "weight": 1 + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/generated/data/rocks/worldgen/configured_feature/oak_stick.json b/src/main/generated/data/rocks/worldgen/configured_feature/oak_stick.json index e0cbd6c..660a0a4 100644 --- a/src/main/generated/data/rocks/worldgen/configured_feature/oak_stick.json +++ b/src/main/generated/data/rocks/worldgen/configured_feature/oak_stick.json @@ -8,7 +8,8 @@ "data": { "Name": "rocks:oak_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -17,7 +18,8 @@ "data": { "Name": "rocks:oak_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -26,7 +28,8 @@ "data": { "Name": "rocks:oak_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 diff --git a/src/main/generated/data/rocks/worldgen/configured_feature/spruce_stick.json b/src/main/generated/data/rocks/worldgen/configured_feature/spruce_stick.json index 6dfada6..98a97db 100644 --- a/src/main/generated/data/rocks/worldgen/configured_feature/spruce_stick.json +++ b/src/main/generated/data/rocks/worldgen/configured_feature/spruce_stick.json @@ -8,7 +8,8 @@ "data": { "Name": "rocks:spruce_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -17,7 +18,8 @@ "data": { "Name": "rocks:spruce_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -26,7 +28,8 @@ "data": { "Name": "rocks:spruce_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 diff --git a/src/main/generated/data/rocks/worldgen/configured_feature/warped_stick.json b/src/main/generated/data/rocks/worldgen/configured_feature/warped_stick.json index 2a4fe84..96fe22a 100644 --- a/src/main/generated/data/rocks/worldgen/configured_feature/warped_stick.json +++ b/src/main/generated/data/rocks/worldgen/configured_feature/warped_stick.json @@ -8,7 +8,8 @@ "data": { "Name": "rocks:warped_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -17,7 +18,8 @@ "data": { "Name": "rocks:warped_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -26,7 +28,8 @@ "data": { "Name": "rocks:warped_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/acacia_stick.json b/src/main/generated/data/rocks/worldgen/placed_feature/acacia_stick.json index c52b030..b2b2cd5 100644 --- a/src/main/generated/data/rocks/worldgen/placed_feature/acacia_stick.json +++ b/src/main/generated/data/rocks/worldgen/placed_feature/acacia_stick.json @@ -9,7 +9,8 @@ "data": { "Name": "rocks:acacia_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -18,7 +19,8 @@ "data": { "Name": "rocks:acacia_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -27,7 +29,8 @@ "data": { "Name": "rocks:acacia_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 @@ -66,7 +69,11 @@ }, { "type": "minecraft:matching_blocks", - "blocks": "minecraft:grass_block", + "blocks": [ + "minecraft:grass_block", + "minecraft:mud", + "minecraft:podzol" + ], "offset": [ 0, -1, diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/bamboo_stick.json b/src/main/generated/data/rocks/worldgen/placed_feature/bamboo_stick.json new file mode 100644 index 0000000..57c28af --- /dev/null +++ b/src/main/generated/data/rocks/worldgen/placed_feature/bamboo_stick.json @@ -0,0 +1,87 @@ +{ + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "data": { + "Name": "rocks:bamboo_stick", + "Properties": { + "variation": "small", + "waterlogged": "false" + } + }, + "weight": 7 + }, + { + "data": { + "Name": "rocks:bamboo_stick", + "Properties": { + "variation": "medium", + "waterlogged": "false" + } + }, + "weight": 5 + }, + { + "data": { + "Name": "rocks:bamboo_stick", + "Properties": { + "variation": "large", + "waterlogged": "false" + } + }, + "weight": 1 + } + ] + } + } + }, + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:rarity_filter", + "chance": 1 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_blocks", + "blocks": [ + "minecraft:grass_block", + "minecraft:mud", + "minecraft:podzol" + ], + "offset": [ + 0, + -1, + 0 + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/birch_stick.json b/src/main/generated/data/rocks/worldgen/placed_feature/birch_stick.json index d2db449..af88ac9 100644 --- a/src/main/generated/data/rocks/worldgen/placed_feature/birch_stick.json +++ b/src/main/generated/data/rocks/worldgen/placed_feature/birch_stick.json @@ -9,7 +9,8 @@ "data": { "Name": "rocks:birch_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -18,7 +19,8 @@ "data": { "Name": "rocks:birch_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -27,7 +29,8 @@ "data": { "Name": "rocks:birch_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 @@ -66,7 +69,11 @@ }, { "type": "minecraft:matching_blocks", - "blocks": "minecraft:grass_block", + "blocks": [ + "minecraft:grass_block", + "minecraft:mud", + "minecraft:podzol" + ], "offset": [ 0, -1, diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/cherry_stick.json b/src/main/generated/data/rocks/worldgen/placed_feature/cherry_stick.json new file mode 100644 index 0000000..6bb23c3 --- /dev/null +++ b/src/main/generated/data/rocks/worldgen/placed_feature/cherry_stick.json @@ -0,0 +1,87 @@ +{ + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "data": { + "Name": "rocks:cherry_stick", + "Properties": { + "variation": "small", + "waterlogged": "false" + } + }, + "weight": 7 + }, + { + "data": { + "Name": "rocks:cherry_stick", + "Properties": { + "variation": "medium", + "waterlogged": "false" + } + }, + "weight": 5 + }, + { + "data": { + "Name": "rocks:cherry_stick", + "Properties": { + "variation": "large", + "waterlogged": "false" + } + }, + "weight": 1 + } + ] + } + } + }, + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:rarity_filter", + "chance": 1 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_blocks", + "blocks": [ + "minecraft:grass_block", + "minecraft:mud", + "minecraft:podzol" + ], + "offset": [ + 0, + -1, + 0 + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/crimson_stick.json b/src/main/generated/data/rocks/worldgen/placed_feature/crimson_stick.json index 68f7c76..c63578b 100644 --- a/src/main/generated/data/rocks/worldgen/placed_feature/crimson_stick.json +++ b/src/main/generated/data/rocks/worldgen/placed_feature/crimson_stick.json @@ -9,7 +9,8 @@ "data": { "Name": "rocks:crimson_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -18,7 +19,8 @@ "data": { "Name": "rocks:crimson_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -27,7 +29,8 @@ "data": { "Name": "rocks:crimson_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/dark_oak_stick.json b/src/main/generated/data/rocks/worldgen/placed_feature/dark_oak_stick.json index 5c59697..71e6ed4 100644 --- a/src/main/generated/data/rocks/worldgen/placed_feature/dark_oak_stick.json +++ b/src/main/generated/data/rocks/worldgen/placed_feature/dark_oak_stick.json @@ -9,7 +9,8 @@ "data": { "Name": "rocks:dark_oak_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -18,7 +19,8 @@ "data": { "Name": "rocks:dark_oak_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -27,7 +29,8 @@ "data": { "Name": "rocks:dark_oak_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 @@ -66,7 +69,11 @@ }, { "type": "minecraft:matching_blocks", - "blocks": "minecraft:grass_block", + "blocks": [ + "minecraft:grass_block", + "minecraft:mud", + "minecraft:podzol" + ], "offset": [ 0, -1, diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/jungle_stick.json b/src/main/generated/data/rocks/worldgen/placed_feature/jungle_stick.json index f534058..844b9db 100644 --- a/src/main/generated/data/rocks/worldgen/placed_feature/jungle_stick.json +++ b/src/main/generated/data/rocks/worldgen/placed_feature/jungle_stick.json @@ -9,7 +9,8 @@ "data": { "Name": "rocks:jungle_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -18,7 +19,8 @@ "data": { "Name": "rocks:jungle_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -27,7 +29,8 @@ "data": { "Name": "rocks:jungle_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 @@ -66,7 +69,11 @@ }, { "type": "minecraft:matching_blocks", - "blocks": "minecraft:grass_block", + "blocks": [ + "minecraft:grass_block", + "minecraft:mud", + "minecraft:podzol" + ], "offset": [ 0, -1, diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/mangrove_stick.json b/src/main/generated/data/rocks/worldgen/placed_feature/mangrove_stick.json new file mode 100644 index 0000000..4a42a0b --- /dev/null +++ b/src/main/generated/data/rocks/worldgen/placed_feature/mangrove_stick.json @@ -0,0 +1,87 @@ +{ + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "data": { + "Name": "rocks:mangrove_stick", + "Properties": { + "variation": "small", + "waterlogged": "false" + } + }, + "weight": 7 + }, + { + "data": { + "Name": "rocks:mangrove_stick", + "Properties": { + "variation": "medium", + "waterlogged": "false" + } + }, + "weight": 5 + }, + { + "data": { + "Name": "rocks:mangrove_stick", + "Properties": { + "variation": "large", + "waterlogged": "false" + } + }, + "weight": 1 + } + ] + } + } + }, + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:rarity_filter", + "chance": 1 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_blocks", + "blocks": [ + "minecraft:grass_block", + "minecraft:mud", + "minecraft:podzol" + ], + "offset": [ + 0, + -1, + 0 + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/oak_stick.json b/src/main/generated/data/rocks/worldgen/placed_feature/oak_stick.json index 3a56118..fecad6b 100644 --- a/src/main/generated/data/rocks/worldgen/placed_feature/oak_stick.json +++ b/src/main/generated/data/rocks/worldgen/placed_feature/oak_stick.json @@ -9,7 +9,8 @@ "data": { "Name": "rocks:oak_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -18,7 +19,8 @@ "data": { "Name": "rocks:oak_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -27,7 +29,8 @@ "data": { "Name": "rocks:oak_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 @@ -66,7 +69,11 @@ }, { "type": "minecraft:matching_blocks", - "blocks": "minecraft:grass_block", + "blocks": [ + "minecraft:grass_block", + "minecraft:mud", + "minecraft:podzol" + ], "offset": [ 0, -1, diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/red_sand_rock.json b/src/main/generated/data/rocks/worldgen/placed_feature/red_sand_rock.json index b736fe9..23c15d1 100644 --- a/src/main/generated/data/rocks/worldgen/placed_feature/red_sand_rock.json +++ b/src/main/generated/data/rocks/worldgen/placed_feature/red_sand_rock.json @@ -48,7 +48,7 @@ "placement": [ { "type": "minecraft:count", - "count": 3 + "count": 7 }, { "type": "minecraft:rarity_filter", diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/spruce_stick.json b/src/main/generated/data/rocks/worldgen/placed_feature/spruce_stick.json index b8bb5a0..57ea2fa 100644 --- a/src/main/generated/data/rocks/worldgen/placed_feature/spruce_stick.json +++ b/src/main/generated/data/rocks/worldgen/placed_feature/spruce_stick.json @@ -9,7 +9,8 @@ "data": { "Name": "rocks:spruce_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -18,7 +19,8 @@ "data": { "Name": "rocks:spruce_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -27,7 +29,8 @@ "data": { "Name": "rocks:spruce_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 @@ -72,7 +75,11 @@ }, { "type": "minecraft:matching_blocks", - "blocks": "minecraft:grass_block", + "blocks": [ + "minecraft:grass_block", + "minecraft:mud", + "minecraft:podzol" + ], "offset": [ 0, -1, diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/warped_stick.json b/src/main/generated/data/rocks/worldgen/placed_feature/warped_stick.json index 091b3b4..4eaf79f 100644 --- a/src/main/generated/data/rocks/worldgen/placed_feature/warped_stick.json +++ b/src/main/generated/data/rocks/worldgen/placed_feature/warped_stick.json @@ -9,7 +9,8 @@ "data": { "Name": "rocks:warped_stick", "Properties": { - "variation": "small" + "variation": "small", + "waterlogged": "false" } }, "weight": 7 @@ -18,7 +19,8 @@ "data": { "Name": "rocks:warped_stick", "Properties": { - "variation": "medium" + "variation": "medium", + "waterlogged": "false" } }, "weight": 5 @@ -27,7 +29,8 @@ "data": { "Name": "rocks:warped_stick", "Properties": { - "variation": "large" + "variation": "large", + "waterlogged": "false" } }, "weight": 1 diff --git a/src/main/java/eu/midnightdust/motschen/rocks/RocksMain.java b/src/main/java/eu/midnightdust/motschen/rocks/RocksMain.java index caae3b0..8104267 100755 --- a/src/main/java/eu/midnightdust/motschen/rocks/RocksMain.java +++ b/src/main/java/eu/midnightdust/motschen/rocks/RocksMain.java @@ -1,5 +1,6 @@ package eu.midnightdust.motschen.rocks; +import com.google.common.collect.Lists; import eu.midnightdust.motschen.rocks.block.*; import eu.midnightdust.motschen.rocks.block.blockentity.BlockEntityInit; import eu.midnightdust.motschen.rocks.blockstates.RockVariation; @@ -12,10 +13,12 @@ import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; import net.minecraft.block.Block; import net.minecraft.item.*; +import net.minecraft.resource.featuretoggle.FeatureFlags; import net.minecraft.state.property.EnumProperty; import net.minecraft.util.Identifier; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import static eu.midnightdust.motschen.rocks.RocksRegistryUtils.registerBlockWithItem; @@ -46,6 +49,9 @@ public class RocksMain implements ModInitializer { public static Block AcaciaStick = new Stick(); public static Block JungleStick = new Stick(); public static Block DarkOakStick = new Stick(); + public static Block MangroveStick = new Stick(); + public static Block CherryStick = new Stick(); + public static Block BambooStick = new Stick(); public static Block CrimsonStick = new Stick(); public static Block WarpedStick = new Stick(); @@ -65,6 +71,7 @@ public class RocksMain implements ModInitializer { public static Item NetherrackSplitter = new Item(new Item.Settings()); public static Item SoulSoilSplitter = new Item(new Item.Settings()); public static List groupItems = new ArrayList<>(); + public static ItemStack cherryStack; public static ItemGroup RocksGroup; @Override @@ -88,6 +95,9 @@ public class RocksMain implements ModInitializer { registerBlockWithItem(new Identifier(MOD_ID,"acacia_stick"), AcaciaStick); registerBlockWithItem(new Identifier(MOD_ID,"jungle_stick"), JungleStick); registerBlockWithItem(new Identifier(MOD_ID,"dark_oak_stick"), DarkOakStick); + registerBlockWithItem(new Identifier(MOD_ID,"mangrove_stick"), MangroveStick); + registerBlockWithItem(new Identifier(MOD_ID,"cherry_stick"), CherryStick); + registerBlockWithItem(new Identifier(MOD_ID,"bamboo_stick"), BambooStick); registerBlockWithItem(new Identifier(MOD_ID,"crimson_stick"), CrimsonStick); registerBlockWithItem(new Identifier(MOD_ID,"warped_stick"), WarpedStick); @@ -109,7 +119,9 @@ public class RocksMain implements ModInitializer { registerItem(new Identifier(MOD_ID,"soul_soil_splitter"), SoulSoilSplitter); RocksGroup = FabricItemGroup.builder(new Identifier(MOD_ID, "rocks")).icon(() -> new ItemStack(RocksMain.Rock)).entries(((displayContext, entries) -> { - entries.addAll(groupItems); + List visibleGroupItems = new ArrayList<>(groupItems); + if (!displayContext.enabledFeatures().contains(FeatureFlags.UPDATE_1_20)) visibleGroupItems.remove(cherryStack); + entries.addAll(visibleGroupItems); })).build(); new FeatureRegistry<>(); FeatureInjector.init(); diff --git a/src/main/java/eu/midnightdust/motschen/rocks/RocksRegistryUtils.java b/src/main/java/eu/midnightdust/motschen/rocks/RocksRegistryUtils.java index 1d66e36..c120904 100644 --- a/src/main/java/eu/midnightdust/motschen/rocks/RocksRegistryUtils.java +++ b/src/main/java/eu/midnightdust/motschen/rocks/RocksRegistryUtils.java @@ -17,7 +17,11 @@ public class RocksRegistryUtils { public static void registerItem(Identifier id, Item item) { Registry.register(Registries.ITEM, id, item); if (id.equals(new Identifier(RocksMain.MOD_ID, "starfish"))) putStarfishItems(item); - else RocksMain.groupItems.add(new ItemStack(item)); + else { + ItemStack itemStack = new ItemStack(item); + RocksMain.groupItems.add(itemStack); + if (id.equals(new Identifier(RocksMain.MOD_ID, "cherry_stick"))) RocksMain.cherryStack = itemStack; + } } private static void putStarfishItems(Item starfish) { ItemStack redStarfish = new ItemStack(starfish); diff --git a/src/main/java/eu/midnightdust/motschen/rocks/block/Starfish.java b/src/main/java/eu/midnightdust/motschen/rocks/block/Starfish.java index 574921f..cbf81c8 100755 --- a/src/main/java/eu/midnightdust/motschen/rocks/block/Starfish.java +++ b/src/main/java/eu/midnightdust/motschen/rocks/block/Starfish.java @@ -80,7 +80,7 @@ public class Starfish extends Block implements Waterloggable { @Override protected void appendProperties(StateManager.Builder builder) { - builder.add(STARFISH_VARIATION,WATERLOGGED); + builder.add(STARFISH_VARIATION, WATERLOGGED); } @Override public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext context) { diff --git a/src/main/java/eu/midnightdust/motschen/rocks/block/Stick.java b/src/main/java/eu/midnightdust/motschen/rocks/block/Stick.java index d556c61..1c798c6 100755 --- a/src/main/java/eu/midnightdust/motschen/rocks/block/Stick.java +++ b/src/main/java/eu/midnightdust/motschen/rocks/block/Stick.java @@ -8,7 +8,9 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemPlacementContext; import net.minecraft.sound.BlockSoundGroup; import net.minecraft.state.StateManager; +import net.minecraft.state.property.BooleanProperty; import net.minecraft.state.property.EnumProperty; +import net.minecraft.state.property.Properties; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.hit.BlockHitResult; @@ -26,16 +28,17 @@ public class Stick extends Block { private static final VoxelShape SHAPE; private static final EnumProperty STICK_VARIATION = RocksMain.STICK_VARIATION; + public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED; public Stick() { super(FabricBlockSettings.copy(Blocks.POPPY).nonOpaque().sounds(BlockSoundGroup.WOOD)); - this.setDefaultState(this.stateManager.getDefaultState().with(STICK_VARIATION, StickVariation.SMALL)); + this.setDefaultState(this.stateManager.getDefaultState().with(STICK_VARIATION, StickVariation.SMALL).with(WATERLOGGED, false)); } @Override public BlockState getPlacementState(ItemPlacementContext itemPlacementContext) { return Objects.requireNonNull(super.getPlacementState(itemPlacementContext)) - .with(STICK_VARIATION, StickVariation.SMALL); + .with(STICK_VARIATION, StickVariation.SMALL).with(WATERLOGGED, false); } public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { if (player.isCreative()) { @@ -55,7 +58,7 @@ public class Stick extends Block { @Override protected void appendProperties(StateManager.Builder builder) { - builder.add(STICK_VARIATION); + builder.add(STICK_VARIATION, WATERLOGGED); } @Override public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext context) { diff --git a/src/main/java/eu/midnightdust/motschen/rocks/block/blockentity/NetherGeyserBlockEntity.java b/src/main/java/eu/midnightdust/motschen/rocks/block/blockentity/NetherGeyserBlockEntity.java index 84f8bbd..dcaaf5b 100755 --- a/src/main/java/eu/midnightdust/motschen/rocks/block/blockentity/NetherGeyserBlockEntity.java +++ b/src/main/java/eu/midnightdust/motschen/rocks/block/blockentity/NetherGeyserBlockEntity.java @@ -2,6 +2,7 @@ package eu.midnightdust.motschen.rocks.block.blockentity; import eu.midnightdust.motschen.rocks.RocksMain; import eu.midnightdust.motschen.rocks.block.NetherGeyser; +import eu.midnightdust.motschen.rocks.config.RocksConfig; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; import net.minecraft.entity.player.PlayerEntity; @@ -26,9 +27,11 @@ public class NetherGeyserBlockEntity extends BlockEntity { if (player != null) { world.setBlockState(pos, state.with(NetherGeyser.ACTIVE, true)); - player.damage(world.getDamageSources().onFire(), 1); - if (player2 != null) { - player2.damage(world.getDamageSources().onFire(), 4); + if (RocksConfig.netherGeyserDamage) { + player.damage(world.getDamageSources().onFire(), 1); + if (player2 != null) { + player2.damage(world.getDamageSources().onFire(), 4); + } } blockEntity.countdown = 1000; } else { diff --git a/src/main/java/eu/midnightdust/motschen/rocks/block/blockentity/OverworldGeyserBlockEntity.java b/src/main/java/eu/midnightdust/motschen/rocks/block/blockentity/OverworldGeyserBlockEntity.java index d0ead7c..9ec85f3 100755 --- a/src/main/java/eu/midnightdust/motschen/rocks/block/blockentity/OverworldGeyserBlockEntity.java +++ b/src/main/java/eu/midnightdust/motschen/rocks/block/blockentity/OverworldGeyserBlockEntity.java @@ -2,13 +2,17 @@ package eu.midnightdust.motschen.rocks.block.blockentity; import eu.midnightdust.motschen.rocks.RocksMain; import eu.midnightdust.motschen.rocks.block.OverworldGeyser; +import eu.midnightdust.motschen.rocks.config.RocksConfig; import net.minecraft.block.BlockState; +import net.minecraft.block.GrassBlock; import net.minecraft.block.entity.BlockEntity; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.effect.StatusEffects; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.particle.ParticleTypes; +import net.minecraft.util.hit.HitResult; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.BlockStateRaycastContext; import net.minecraft.world.World; public class OverworldGeyserBlockEntity extends BlockEntity { @@ -24,12 +28,13 @@ public class OverworldGeyserBlockEntity extends BlockEntity { PlayerEntity player = world.getClosestPlayer(pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, 3, true); PlayerEntity player2 = world.getClosestPlayer(pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, 8, true); - if (player2 != null && player2.getY() >= pos.getY() && player2.getY() <= pos.getY() + 5 && (pos.getX() <= player2.getX() && pos.getX() + 1 >= player2.getX()) && (pos.getZ() <= player2.getZ() && pos.getZ() + 1 >= player2.getZ())) { + if (RocksConfig.geyserLevitation && player2 != null && (player2.getBlockPos().equals(pos) || world.raycast(new BlockStateRaycastContext(pos.toCenterPos(), player2.getPos(), blockState -> !blockState.isAir() && !blockState.isOf(RocksMain.Geyser))).getType() == HitResult.Type.MISS) && player2.getY() >= pos.getY() && player2.getY() <= pos.getY() + 5 && (pos.getX() <= player2.getX() && pos.getX() + 1 >= player2.getX()) && (pos.getZ() <= player2.getZ() && pos.getZ() + 1 >= player2.getZ())) { player2.addStatusEffect(new StatusEffectInstance(StatusEffects.LEVITATION, 2, 10, true, false, false)); } if (player != null) { world.setBlockState(pos, state.with(OverworldGeyser.ACTIVE, true)); + if (world.getBlockState(pos.down()).getBlock() instanceof GrassBlock) world.setBlockState(pos.down(), world.getBlockState(pos.down()).with(GrassBlock.SNOWY, true)); blockEntity.countdown = 1000; } else { if (blockEntity.countdown > 0) { diff --git a/src/main/java/eu/midnightdust/motschen/rocks/config/RocksConfig.java b/src/main/java/eu/midnightdust/motschen/rocks/config/RocksConfig.java index 1fe6ad7..3aea9d6 100755 --- a/src/main/java/eu/midnightdust/motschen/rocks/config/RocksConfig.java +++ b/src/main/java/eu/midnightdust/motschen/rocks/config/RocksConfig.java @@ -5,36 +5,43 @@ import eu.midnightdust.lib.config.MidnightConfig; public class RocksConfig extends MidnightConfig { public final static String rocks = "rocks"; - @Comment(category = rocks) public static Comment needs_restart; + @Comment(category = rocks, centered = true) public static Comment needs_restart; @Entry(category = rocks, name = "block.rocks.rock") public static boolean rock = true; - @Entry(category = rocks, name = "block.rocks.granite_rock") public static boolean granite_rock = true; - @Entry(category = rocks, name = "block.rocks.diorite_rock") public static boolean diorite_rock = true; - @Entry(category = rocks, name = "block.rocks.andesite_rock") public static boolean andesite_rock = true; - @Entry(category = rocks, name = "block.rocks.sand_rock") public static boolean sand_rock = true; - @Entry(category = rocks, name = "block.rocks.red_sand_rock") public static boolean red_sand_rock = true; - @Entry(category = rocks, name = "block.rocks.gravel_rock") public static boolean gravel_rock = true; - @Entry(category = rocks, name = "block.rocks.end_stone_rock") public static boolean end_stone_rock = true; - @Entry(category = rocks, name = "block.rocks.netherrack_rock") public static boolean netherrack_rock = true; - @Entry(category = rocks, name = "block.rocks.soul_soil_rock") public static boolean soul_soil_rock = true; + @Entry(category = rocks, name = "block.rocks.granite_rock") public static boolean graniteRock = true; + @Entry(category = rocks, name = "block.rocks.diorite_rock") public static boolean dioriteRock = true; + @Entry(category = rocks, name = "block.rocks.andesite_rock") public static boolean andesiteRock = true; + @Entry(category = rocks, name = "block.rocks.sand_rock") public static boolean sandRock = true; + @Entry(category = rocks, name = "block.rocks.red_sand_rock") public static boolean redSandRock = true; + @Entry(category = rocks, name = "block.rocks.gravel_rock") public static boolean gravelRock = true; + @Entry(category = rocks, name = "block.rocks.end_stone_rock") public static boolean endStoneRock = true; + @Entry(category = rocks, name = "block.rocks.netherrack_rock") public static boolean netherrackRock = true; + @Entry(category = rocks, name = "block.rocks.soul_soil_rock") public static boolean soulSoilRock = true; public final static String sticks = "sticks"; - @Comment(category = sticks) public static Comment needs_restart1; - @Entry(category = sticks, name = "block.rocks.oak_stick") public static boolean oak_stick = true; - @Entry(category = sticks, name = "block.rocks.spruce_stick") public static boolean spruce_stick = true; - @Entry(category = sticks, name = "block.rocks.birch_stick") public static boolean birch_stick = true; - @Entry(category = sticks, name = "block.rocks.acacia_stick") public static boolean acacia_stick = true; - @Entry(category = sticks, name = "block.rocks.jungle_stick") public static boolean jungle_stick = true; - @Entry(category = sticks, name = "block.rocks.dark_oak_stick") public static boolean dark_oak_stick = true; - @Entry(category = sticks, name = "block.rocks.crimson_stick") public static boolean crimson_stick = true; - @Entry(category = sticks, name = "block.rocks.warped_stick") public static boolean warped_stick = true; + @Comment(category = sticks, centered = true) public static Comment needs_restart1; + @Entry(category = sticks, name = "block.rocks.oak_stick") public static boolean oakStick = true; + @Entry(category = sticks, name = "block.rocks.spruce_stick") public static boolean spruceStick = true; + @Entry(category = sticks, name = "block.rocks.birch_stick") public static boolean birchStick = true; + @Entry(category = sticks, name = "block.rocks.acacia_stick") public static boolean acaciaStick = true; + @Entry(category = sticks, name = "block.rocks.jungle_stick") public static boolean jungleStick = true; + @Entry(category = sticks, name = "block.rocks.dark_oak_stick") public static boolean darkOakStick = true; + @Entry(category = sticks, name = "block.rocks.mangrove_stick") public static boolean mangroveStick = true; + @Entry(category = sticks, name = "block.rocks.cherry_stick") public static boolean cherryStick = true; + @Entry(category = sticks, name = "block.rocks.bamboo_stick") public static boolean bambooStick = true; + @Entry(category = sticks, name = "block.rocks.crimson_stick") public static boolean crimsonStick = true; + @Entry(category = sticks, name = "block.rocks.warped_stick") public static boolean warpedStick = true; public final static String misc = "misc"; - @Comment(category = misc) public static Comment needs_restart2; + @Comment(category = misc, centered = true) public static Comment needs_restart2; @Entry(category = misc, name = "block.rocks.pinecone") public static boolean pinecone = true; @Entry(category = misc, name = "block.rocks.geyser") public static boolean geyser = true; - @Entry(category = misc, name = "block.rocks.nether_geyser") public static boolean nether_geyser = true; + @Entry(category = misc, name = "block.rocks.nether_geyser") public static boolean netherGeyser = true; @Entry(category = misc, name = "block.rocks.seashell") public static boolean seashell = true; @Entry(category = misc, name = "block.rocks.starfish") public static boolean starfish = true; - @Entry(category = misc) public static boolean underwater_seashell = true; - @Entry(category = misc) public static boolean underwater_starfish = true; + @Entry(category = misc) public static boolean underwaterSeashell = true; + @Entry(category = misc) public static boolean underwaterStarfish = true; + + public final static String effects = "effects"; + @Entry(category = effects) public static boolean geyserLevitation = true; + @Entry(category = effects) public static boolean netherGeyserDamage = true; } diff --git a/src/main/java/eu/midnightdust/motschen/rocks/world/FeatureInjector.java b/src/main/java/eu/midnightdust/motschen/rocks/world/FeatureInjector.java index 390f693..78d6535 100755 --- a/src/main/java/eu/midnightdust/motschen/rocks/world/FeatureInjector.java +++ b/src/main/java/eu/midnightdust/motschen/rocks/world/FeatureInjector.java @@ -21,18 +21,18 @@ public class FeatureInjector { !ctx.hasTag(BiomeTags.IS_NETHER) && !ctx.hasTag(BiomeTags.END_CITY_HAS_STRUCTURE) && !ctx.hasTag(BiomeTags.IS_BEACH) && !ctx.hasTag(BiomeTags.DESERT_PYRAMID_HAS_STRUCTURE) && !ctx.hasTag(BiomeTags.IS_BADLANDS) && !ctx.hasTag(BiomeTags.IGLOO_HAS_STRUCTURE) && !ctx.hasTag(BiomeTags.IS_OCEAN)); if (RocksConfig.rock) BiomeModifications.addFeature(rocks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("rock")); - if (RocksConfig.granite_rock) BiomeModifications.addFeature(rocks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("granite_rock")); - if (RocksConfig.diorite_rock) BiomeModifications.addFeature(rocks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("diorite_rock")); - if (RocksConfig.andesite_rock) BiomeModifications.addFeature(rocks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("andesite_rock")); + if (RocksConfig.graniteRock) BiomeModifications.addFeature(rocks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("granite_rock")); + if (RocksConfig.dioriteRock) BiomeModifications.addFeature(rocks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("diorite_rock")); + if (RocksConfig.andesiteRock) BiomeModifications.addFeature(rocks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("andesite_rock")); Predicate sand_rocks = (ctx -> ctx.hasTag(BiomeTags.IS_BEACH) || ctx.hasTag(BiomeTags.DESERT_PYRAMID_HAS_STRUCTURE) || ctx.hasTag(BiomeTags.IS_BADLANDS) || ctx.getBiomeKey().getValue().toString().contains("terrestria:lush_desert")); - if (RocksConfig.sand_rock) BiomeModifications.addFeature(sand_rocks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("sand_rock")); + if (RocksConfig.sandRock) BiomeModifications.addFeature(sand_rocks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("sand_rock")); Predicate red_sand_rocks = (ctx -> ctx.hasTag(BiomeTags.IS_BADLANDS) || ctx.hasTag(BiomeTags.DESERT_PYRAMID_HAS_STRUCTURE) || ctx.getBiomeKey().getValue().toString().contains("terrestria:lush_desert")); - if (RocksConfig.red_sand_rock) BiomeModifications.addFeature(red_sand_rocks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("red_sand_rock")); + if (RocksConfig.redSandRock) BiomeModifications.addFeature(red_sand_rocks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("red_sand_rock")); - if (RocksConfig.end_stone_rock) BiomeModifications.addFeature(ctx -> ctx.getBiomeKey().getValue().toString().contains("the_end"), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("end_stone_rock")); + if (RocksConfig.endStoneRock) BiomeModifications.addFeature(ctx -> ctx.getBiomeKey().getValue().toString().contains("the_end"), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("end_stone_rock")); // Sticks Predicate oak_sticks = (ctx -> { @@ -41,27 +41,36 @@ public class FeatureInjector { name.contains("minecraft:wooded_mountains") || name.contains("minecraft:plains") || name.contains("minecraft:flower_forest") || name.contains("minecraft:wooded_badlands_plateau") || name.contains("minecraft:modified_wooded_badlands_plateau") || ctx.hasTag(BiomeTags.SWAMP_HUT_HAS_STRUCTURE);}); - if (RocksConfig.oak_stick) BiomeModifications.addFeature(oak_sticks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("oak_stick")); + if (RocksConfig.oakStick) BiomeModifications.addFeature(oak_sticks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("oak_stick")); Predicate birch_sticks = (ctx -> { String name = ctx.getBiomeKey().getValue().toString(); return name.contains("minecraft:forest") || name.contains("birch") || name.contains("minecraft:flower_forest");}); - if (RocksConfig.birch_stick) BiomeModifications.addFeature(birch_sticks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("birch_stick")); + if (RocksConfig.birchStick) BiomeModifications.addFeature(birch_sticks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("birch_stick")); Predicate spruce_sticks = (ctx -> { String name = ctx.getBiomeKey().getValue().toString(); return name.contains("minecraft:wooded_mountains") || ctx.hasTag(BiomeTags.IS_TAIGA);}); - if (RocksConfig.spruce_stick) BiomeModifications.addFeature(spruce_sticks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("spruce_stick")); + if (RocksConfig.spruceStick) BiomeModifications.addFeature(spruce_sticks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("spruce_stick")); - if (RocksConfig.acacia_stick) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.VILLAGE_SAVANNA_HAS_STRUCTURE), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("acacia_stick")); + if (RocksConfig.acaciaStick) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.VILLAGE_SAVANNA_HAS_STRUCTURE), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("acacia_stick")); - if (RocksConfig.jungle_stick) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_JUNGLE), GenerationStep.Feature.UNDERGROUND_DECORATION, getKey("jungle_stick")); + if (RocksConfig.jungleStick) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_JUNGLE), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("jungle_stick")); + if (RocksConfig.bambooStick) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_JUNGLE), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("bamboo_stick")); Predicate dark_oak_sticks = (ctx -> { String name = ctx.getBiomeKey().getValue().toString(); return name.contains("minecraft:dark_forest") || name.contains("minecraft:dark_forest_hills") || name.contains("minecraft:dark_forest_mountains");}); - if (RocksConfig.dark_oak_stick) BiomeModifications.addFeature(dark_oak_sticks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("dark_oak_stick")); + if (RocksConfig.darkOakStick) BiomeModifications.addFeature(dark_oak_sticks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("dark_oak_stick")); + Predicate mangrove_sticks = (ctx -> { + String name = ctx.getBiomeKey().getValue().toString(); + return name.contains("minecraft:mangrove_swamp");}); + if (RocksConfig.mangroveStick) BiomeModifications.addFeature(mangrove_sticks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("mangrove_stick")); + Predicate cherry_sticks = (ctx -> { + String name = ctx.getBiomeKey().getValue().toString(); + return name.contains("minecraft:cherry_grove");}); + if (RocksConfig.cherryStick) BiomeModifications.addFeature(cherry_sticks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("cherry_stick")); // Misc Predicate beach = (ctx -> { @@ -70,17 +79,17 @@ public class FeatureInjector { if (RocksConfig.seashell) BiomeModifications.addFeature(beach, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("seashell")); if (RocksConfig.starfish) BiomeModifications.addFeature(beach, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("starfish")); - if (RocksConfig.underwater_starfish) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_OCEAN), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("underwater_starfish")); - if (RocksConfig.underwater_seashell) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_OCEAN), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("underwater_seashell")); + if (RocksConfig.underwaterStarfish) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_OCEAN), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("underwater_starfish")); + if (RocksConfig.underwaterSeashell) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_OCEAN), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("underwater_seashell")); - if (RocksConfig.netherrack_rock) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("netherrack_rock")); - if (RocksConfig.soul_soil_rock) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("soul_soil_rock")); - if (RocksConfig.gravel_rock) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("nether_gravel_rock")); - if (RocksConfig.nether_geyser) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("nether_geyser")); - if (RocksConfig.warped_stick) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("warped_stick")); - if (RocksConfig.crimson_stick) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("crimson_stick")); + if (RocksConfig.netherrackRock) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("netherrack_rock")); + if (RocksConfig.soulSoilRock) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("soul_soil_rock")); + if (RocksConfig.gravelRock) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("nether_gravel_rock")); + if (RocksConfig.netherGeyser) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("nether_geyser")); + if (RocksConfig.warpedStick) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("warped_stick")); + if (RocksConfig.crimsonStick) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("crimson_stick")); - if (RocksConfig.gravel_rock) BiomeModifications.addFeature(ctx -> !ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("gravel_rock")); + if (RocksConfig.gravelRock) BiomeModifications.addFeature(ctx -> !ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("gravel_rock")); if (RocksConfig.geyser) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IGLOO_HAS_STRUCTURE) || ctx.getBiomeKey().toString().contains("snowy"), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("snowy_geyser")); } diff --git a/src/main/java/eu/midnightdust/motschen/rocks/world/configured_feature/RockFeatures.java b/src/main/java/eu/midnightdust/motschen/rocks/world/configured_feature/RockFeatures.java index 37a4a3f..e576049 100755 --- a/src/main/java/eu/midnightdust/motschen/rocks/world/configured_feature/RockFeatures.java +++ b/src/main/java/eu/midnightdust/motschen/rocks/world/configured_feature/RockFeatures.java @@ -82,7 +82,7 @@ public class RockFeatures { public static PlacedFeature DIORITE_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(DIORITE_ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.DIORITE)))))); public static PlacedFeature ANDESITE_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(ANDESITE_ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.ANDESITE)))))); public static PlacedFeature SAND_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(SAND_ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.SAND, Blocks.SANDSTONE)))))); - public static PlacedFeature RED_SAND_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(RED_SAND_ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.RED_SAND, Blocks.RED_SANDSTONE)))))); + public static PlacedFeature RED_SAND_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(RED_SAND_ROCK_FEATURE), List.of(CountPlacementModifier.of(7), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.RED_SAND, Blocks.RED_SANDSTONE)))))); public static PlacedFeature END_STONE_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(END_STONE_ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.END_STONE)))))); public static PlacedFeature GRAVEL_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(GRAVEL_ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.GRAVEL)))))); diff --git a/src/main/java/eu/midnightdust/motschen/rocks/world/configured_feature/StickFeatures.java b/src/main/java/eu/midnightdust/motschen/rocks/world/configured_feature/StickFeatures.java index 1d62850..36d2e8a 100755 --- a/src/main/java/eu/midnightdust/motschen/rocks/world/configured_feature/StickFeatures.java +++ b/src/main/java/eu/midnightdust/motschen/rocks/world/configured_feature/StickFeatures.java @@ -3,13 +3,14 @@ package eu.midnightdust.motschen.rocks.world.configured_feature; import com.google.common.collect.ImmutableList; import eu.midnightdust.motschen.rocks.RocksMain; import eu.midnightdust.motschen.rocks.blockstates.StickVariation; -import eu.midnightdust.motschen.rocks.config.RocksConfig; +import eu.midnightdust.motschen.rocks.world.FeatureRegistry; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.registry.Registerable; import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.util.collection.DataPool; import net.minecraft.util.math.Vec3i; +import net.minecraft.world.gen.ProbabilityConfig; import net.minecraft.world.gen.blockpredicate.BlockPredicate; import net.minecraft.world.gen.feature.*; import net.minecraft.world.gen.placementmodifier.*; @@ -57,13 +58,35 @@ public class StickFeatures { .add(RocksMain.DarkOakStick.getDefaultState().with(RocksMain.STICK_VARIATION,StickVariation.MEDIUM), 5) .add(RocksMain.DarkOakStick.getDefaultState().with(RocksMain.STICK_VARIATION,StickVariation.LARGE), 1).build())) ); + public static ConfiguredFeature MANGROVE_STICK_FEATURE = new ConfiguredFeature<>(Feature.SIMPLE_BLOCK, new SimpleBlockFeatureConfig( + new WeightedBlockStateProvider(DataPool.builder() + .add(RocksMain.MangroveStick.getDefaultState().with(RocksMain.STICK_VARIATION,StickVariation.SMALL), 7) + .add(RocksMain.MangroveStick.getDefaultState().with(RocksMain.STICK_VARIATION,StickVariation.MEDIUM), 5) + .add(RocksMain.MangroveStick.getDefaultState().with(RocksMain.STICK_VARIATION,StickVariation.LARGE), 1).build())) + ); + public static ConfiguredFeature CHERRY_STICK_FEATURE = new ConfiguredFeature<>(Feature.SIMPLE_BLOCK, new SimpleBlockFeatureConfig( + new WeightedBlockStateProvider(DataPool.builder() + .add(RocksMain.CherryStick.getDefaultState().with(RocksMain.STICK_VARIATION,StickVariation.SMALL), 7) + .add(RocksMain.CherryStick.getDefaultState().with(RocksMain.STICK_VARIATION,StickVariation.MEDIUM), 5) + .add(RocksMain.CherryStick.getDefaultState().with(RocksMain.STICK_VARIATION,StickVariation.LARGE), 1).build())) + ); + public static ConfiguredFeature BAMBOO_STICK_FEATURE = new ConfiguredFeature<>(Feature.SIMPLE_BLOCK, new SimpleBlockFeatureConfig( + new WeightedBlockStateProvider(DataPool.builder() + .add(RocksMain.BambooStick.getDefaultState().with(RocksMain.STICK_VARIATION,StickVariation.SMALL), 7) + .add(RocksMain.BambooStick.getDefaultState().with(RocksMain.STICK_VARIATION,StickVariation.MEDIUM), 5) + .add(RocksMain.BambooStick.getDefaultState().with(RocksMain.STICK_VARIATION,StickVariation.LARGE), 1).build())) + ); - public static PlacedFeature OAK_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(OAK_STICK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.GRASS_BLOCK)))))); - public static PlacedFeature SPRUCE_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(SPRUCE_STICK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.GRASS_BLOCK)))))); - public static PlacedFeature BIRCH_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(BIRCH_STICK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.GRASS_BLOCK)))))); - public static PlacedFeature ACACIA_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(ACACIA_STICK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.GRASS_BLOCK)))))); - public static PlacedFeature JUNGLE_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(JUNGLE_STICK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.GRASS_BLOCK)))))); - public static PlacedFeature DARK_OAK_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(DARK_OAK_STICK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.GRASS_BLOCK)))))); + public static final List modifiers = List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.GRASS_BLOCK, Blocks.MUD, Blocks.PODZOL))))); + public static PlacedFeature OAK_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(OAK_STICK_FEATURE), modifiers); + public static PlacedFeature SPRUCE_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(SPRUCE_STICK_FEATURE), modifiers); + public static PlacedFeature BIRCH_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(BIRCH_STICK_FEATURE), modifiers); + public static PlacedFeature ACACIA_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(ACACIA_STICK_FEATURE), modifiers); + public static PlacedFeature JUNGLE_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(JUNGLE_STICK_FEATURE), modifiers); + public static PlacedFeature DARK_OAK_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(DARK_OAK_STICK_FEATURE), modifiers); + public static PlacedFeature CHERRY_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(CHERRY_STICK_FEATURE), modifiers); + public static PlacedFeature MANGROVE_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(MANGROVE_STICK_FEATURE), modifiers); + public static PlacedFeature BAMBOO_STICK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(BAMBOO_STICK_FEATURE), modifiers); public static void initConfigured(Registerable> context) { register(context, "oak_stick", OAK_STICK_FEATURE); @@ -72,6 +95,9 @@ public class StickFeatures { register(context, "acacia_stick", ACACIA_STICK_FEATURE); register(context, "jungle_stick", JUNGLE_STICK_FEATURE); register(context, "dark_oak_stick", DARK_OAK_STICK_FEATURE); + register(context, "cherry_stick", CHERRY_STICK_FEATURE); + register(context, "mangrove_stick", MANGROVE_STICK_FEATURE); + register(context, "bamboo_stick", BAMBOO_STICK_FEATURE); } public static void initPlaced(Registerable context) { register(context, "oak_stick", OAK_STICK_PLACED_FEATURE); @@ -80,5 +106,8 @@ public class StickFeatures { register(context, "acacia_stick", ACACIA_STICK_PLACED_FEATURE); register(context, "jungle_stick", JUNGLE_STICK_PLACED_FEATURE); register(context, "dark_oak_stick", DARK_OAK_STICK_PLACED_FEATURE); + register(context, "cherry_stick", CHERRY_STICK_PLACED_FEATURE); + register(context, "mangrove_stick", MANGROVE_STICK_PLACED_FEATURE); + register(context, "bamboo_stick", BAMBOO_STICK_PLACED_FEATURE); } } diff --git a/src/main/resources/assets/rocks/blockstates/bamboo_stick.json b/src/main/resources/assets/rocks/blockstates/bamboo_stick.json new file mode 100755 index 0000000..4bef505 --- /dev/null +++ b/src/main/resources/assets/rocks/blockstates/bamboo_stick.json @@ -0,0 +1,22 @@ +{ + "variants": { + "variation=small": [ + {"model": "rocks:block/small_bamboo_stick"}, + {"model": "rocks:block/small_bamboo_stick", "y": 90}, + {"model": "rocks:block/small_bamboo_stick", "y": 180}, + {"model": "rocks:block/small_bamboo_stick", "y": 270} + ], + "variation=medium": [ + {"model": "rocks:block/medium_bamboo_stick"}, + {"model": "rocks:block/medium_bamboo_stick", "y": 90}, + {"model": "rocks:block/medium_bamboo_stick", "y": 180}, + {"model": "rocks:block/medium_bamboo_stick", "y": 270} + ], + "variation=large": [ + {"model": "rocks:block/large_bamboo_stick"}, + {"model": "rocks:block/large_bamboo_stick", "y": 90}, + {"model": "rocks:block/large_bamboo_stick", "y": 180}, + {"model": "rocks:block/large_bamboo_stick", "y": 270} + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/blockstates/cherry_stick.json b/src/main/resources/assets/rocks/blockstates/cherry_stick.json new file mode 100755 index 0000000..81dad86 --- /dev/null +++ b/src/main/resources/assets/rocks/blockstates/cherry_stick.json @@ -0,0 +1,22 @@ +{ + "variants": { + "variation=small": [ + {"model": "rocks:block/small_cherry_stick"}, + {"model": "rocks:block/small_cherry_stick", "y": 90}, + {"model": "rocks:block/small_cherry_stick", "y": 180}, + {"model": "rocks:block/small_cherry_stick", "y": 270} + ], + "variation=medium": [ + {"model": "rocks:block/medium_cherry_stick"}, + {"model": "rocks:block/medium_cherry_stick", "y": 90}, + {"model": "rocks:block/medium_cherry_stick", "y": 180}, + {"model": "rocks:block/medium_cherry_stick", "y": 270} + ], + "variation=large": [ + {"model": "rocks:block/large_cherry_stick"}, + {"model": "rocks:block/large_cherry_stick", "y": 90}, + {"model": "rocks:block/large_cherry_stick", "y": 180}, + {"model": "rocks:block/large_cherry_stick", "y": 270} + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/blockstates/mangrove_stick.json b/src/main/resources/assets/rocks/blockstates/mangrove_stick.json new file mode 100755 index 0000000..6459483 --- /dev/null +++ b/src/main/resources/assets/rocks/blockstates/mangrove_stick.json @@ -0,0 +1,22 @@ +{ + "variants": { + "variation=small": [ + {"model": "rocks:block/small_mangrove_stick"}, + {"model": "rocks:block/small_mangrove_stick", "y": 90}, + {"model": "rocks:block/small_mangrove_stick", "y": 180}, + {"model": "rocks:block/small_mangrove_stick", "y": 270} + ], + "variation=medium": [ + {"model": "rocks:block/medium_mangrove_stick"}, + {"model": "rocks:block/medium_mangrove_stick", "y": 90}, + {"model": "rocks:block/medium_mangrove_stick", "y": 180}, + {"model": "rocks:block/medium_mangrove_stick", "y": 270} + ], + "variation=large": [ + {"model": "rocks:block/large_mangrove_stick"}, + {"model": "rocks:block/large_mangrove_stick", "y": 90}, + {"model": "rocks:block/large_mangrove_stick", "y": 180}, + {"model": "rocks:block/large_mangrove_stick", "y": 270} + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/lang/de_de.json b/src/main/resources/assets/rocks/lang/de_de.json index 99db8c0..8cfc33e 100755 --- a/src/main/resources/assets/rocks/lang/de_de.json +++ b/src/main/resources/assets/rocks/lang/de_de.json @@ -42,12 +42,13 @@ "rocks.midnightconfig.category.rocks":"Steine", "rocks.midnightconfig.category.sticks":"Stöcke", "rocks.midnightconfig.category.misc":"Sonstiges", + "rocks.midnightconfig.category.effects":"Effekte", "rocks.midnightconfig.needs_restart": "§cStarte das Spiel neu, nachdem du Änderungen vorgenommen hast!", "rocks.midnightconfig.needs_restart1": "§cStarte das Spiel neu, nachdem du Änderungen vorgenommen hast!", "rocks.midnightconfig.needs_restart2": "§cStarte das Spiel neu, nachdem du Änderungen vorgenommen hast!", "rocks.midnightconfig.rocks": "§aBrocken", "rocks.midnightconfig.sticks": "§aStöcke", "rocks.midnightconfig.misc": "§aWeiteres", - "rocks.midnightconfig.underwater_seashell": "Unterwassermuschel", - "rocks.midnightconfig.underwater_starfish": "Unterwasserseestern" + "rocks.midnightconfig.underwaterSeashell": "Unterwassermuschel", + "rocks.midnightconfig.underwaterStarfish": "Unterwasserseestern" } \ No newline at end of file diff --git a/src/main/resources/assets/rocks/lang/en_us.json b/src/main/resources/assets/rocks/lang/en_us.json index 46685e2..6ea0480 100755 --- a/src/main/resources/assets/rocks/lang/en_us.json +++ b/src/main/resources/assets/rocks/lang/en_us.json @@ -18,6 +18,9 @@ "block.rocks.jungle_stick":"Jungle Stick", "block.rocks.acacia_stick":"Acacia Stick", "block.rocks.dark_oak_stick":"Dark Oak Stick", + "block.rocks.mangrove_stick":"Mangrove Stick", + "block.rocks.cherry_stick":"Cherry Stick", + "block.rocks.bamboo_stick":"Bamboo Stick", "block.rocks.crimson_stick":"Crimson Stick", "block.rocks.warped_stick":"Warped Stick", @@ -42,12 +45,15 @@ "rocks.midnightconfig.category.rocks":"Rocks", "rocks.midnightconfig.category.sticks":"Sticks", "rocks.midnightconfig.category.misc":"Miscellaneous", - "rocks.midnightconfig.needs_restart":"§cRestart game after changing config!", - "rocks.midnightconfig.needs_restart1":"§cRestart game after changing config!", - "rocks.midnightconfig.needs_restart2":"§cRestart game after changing config!", + "rocks.midnightconfig.category.effects":"Effects", + "rocks.midnightconfig.needs_restart":"§cRestart the game after changing options here!", + "rocks.midnightconfig.needs_restart1":"§cRestart the game after changing options here!", + "rocks.midnightconfig.needs_restart2":"§cRestart the game after changing options here!", "rocks.midnightconfig.rocks":"§aRock Spawn Count", "rocks.midnightconfig.sticks":"§aStick Spawn Count", "rocks.midnightconfig.misc":"§aMiscellaneous Spawn Count", - "rocks.midnightconfig.underwater_seashell":"Underwater Seashell", - "rocks.midnightconfig.underwater_starfish":"Underwater Starfish" + "rocks.midnightconfig.underwaterSeashell":"Underwater Seashell", + "rocks.midnightconfig.underwaterStarfish":"Underwater Starfish", + "rocks.midnightconfig.geyserLevitation":"Geyser Levitation", + "rocks.midnightconfig.netherGeyserDamage":"Nether Geyser Damage" } \ No newline at end of file diff --git a/src/main/resources/assets/rocks/lang/ru_ru.json b/src/main/resources/assets/rocks/lang/ru_ru.json index 1eb07b0..f1b1cac 100755 --- a/src/main/resources/assets/rocks/lang/ru_ru.json +++ b/src/main/resources/assets/rocks/lang/ru_ru.json @@ -45,6 +45,6 @@ "rocks.midnightconfig.rocks":"§aГорные породы", "rocks.midnightconfig.sticks":"§aПалочки", "rocks.midnightconfig.misc":"§aРазнообразие", - "rocks.midnightconfig.underwater_seashell":"Подводная морская раковина", - "rocks.midnightconfig.underwater_starfish":"Подводная морская звезда" + "rocks.midnightconfig.underwaterSeashell":"Подводная морская раковина", + "rocks.midnightconfig.underwaterStarfish":"Подводная морская звезда" } \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/block/large_bamboo_stick.json b/src/main/resources/assets/rocks/models/block/large_bamboo_stick.json new file mode 100755 index 0000000..10c2aa2 --- /dev/null +++ b/src/main/resources/assets/rocks/models/block/large_bamboo_stick.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:block/large_oak_stick", + "textures": { + "0": "block/bamboo_stalk", + "particle": "block/bamboo_stalk" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/block/large_cherry_stick.json b/src/main/resources/assets/rocks/models/block/large_cherry_stick.json new file mode 100755 index 0000000..483a304 --- /dev/null +++ b/src/main/resources/assets/rocks/models/block/large_cherry_stick.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:block/large_oak_stick", + "textures": { + "0": "block/cherry_log", + "particle": "block/cherry_log" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/block/large_mangrove_stick.json b/src/main/resources/assets/rocks/models/block/large_mangrove_stick.json new file mode 100755 index 0000000..8bfcc7f --- /dev/null +++ b/src/main/resources/assets/rocks/models/block/large_mangrove_stick.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:block/large_oak_stick", + "textures": { + "0": "block/mangrove_log", + "particle": "block/mangrove_log" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/block/medium_bamboo_stick.json b/src/main/resources/assets/rocks/models/block/medium_bamboo_stick.json new file mode 100755 index 0000000..7fcf3ea --- /dev/null +++ b/src/main/resources/assets/rocks/models/block/medium_bamboo_stick.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:block/medium_oak_stick", + "textures": { + "0": "block/bamboo_stalk", + "particle": "block/bamboo_stalk" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/block/medium_cherry_stick.json b/src/main/resources/assets/rocks/models/block/medium_cherry_stick.json new file mode 100755 index 0000000..824d98a --- /dev/null +++ b/src/main/resources/assets/rocks/models/block/medium_cherry_stick.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:block/medium_oak_stick", + "textures": { + "0": "block/cherry_log", + "particle": "block/cherry_log" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/block/medium_mangrove_stick.json b/src/main/resources/assets/rocks/models/block/medium_mangrove_stick.json new file mode 100755 index 0000000..725fd67 --- /dev/null +++ b/src/main/resources/assets/rocks/models/block/medium_mangrove_stick.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:block/medium_oak_stick", + "textures": { + "0": "block/mangrove_log", + "particle": "block/mangrove_log" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/block/small_bamboo_stick.json b/src/main/resources/assets/rocks/models/block/small_bamboo_stick.json new file mode 100755 index 0000000..0ac98ac --- /dev/null +++ b/src/main/resources/assets/rocks/models/block/small_bamboo_stick.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:block/small_oak_stick", + "textures": { + "0": "block/bamboo_stalk", + "particle": "block/bamboo_stalk" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/block/small_cherry_stick.json b/src/main/resources/assets/rocks/models/block/small_cherry_stick.json new file mode 100755 index 0000000..2f9d15a --- /dev/null +++ b/src/main/resources/assets/rocks/models/block/small_cherry_stick.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:block/small_oak_stick", + "textures": { + "0": "block/cherry_log", + "particle": "block/cherry_log" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/block/small_mangrove_stick.json b/src/main/resources/assets/rocks/models/block/small_mangrove_stick.json new file mode 100755 index 0000000..cf1b86f --- /dev/null +++ b/src/main/resources/assets/rocks/models/block/small_mangrove_stick.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:block/small_oak_stick", + "textures": { + "0": "block/mangrove_log", + "particle": "block/mangrove_log" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/item/bamboo_stick.json b/src/main/resources/assets/rocks/models/item/bamboo_stick.json new file mode 100755 index 0000000..d0bffcf --- /dev/null +++ b/src/main/resources/assets/rocks/models/item/bamboo_stick.json @@ -0,0 +1,3 @@ +{ + "parent": "rocks:block/large_bamboo_stick" +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/item/cherry_stick.json b/src/main/resources/assets/rocks/models/item/cherry_stick.json new file mode 100755 index 0000000..db7089b --- /dev/null +++ b/src/main/resources/assets/rocks/models/item/cherry_stick.json @@ -0,0 +1,3 @@ +{ + "parent": "rocks:block/large_cherry_stick" +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/item/mangrove_stick.json b/src/main/resources/assets/rocks/models/item/mangrove_stick.json new file mode 100755 index 0000000..a5c03c0 --- /dev/null +++ b/src/main/resources/assets/rocks/models/item/mangrove_stick.json @@ -0,0 +1,3 @@ +{ + "parent": "rocks:block/large_mangrove_stick" +} \ No newline at end of file diff --git a/src/main/resources/data/rocks/loot_tables/blocks/bamboo_stick.json b/src/main/resources/data/rocks/loot_tables/blocks/bamboo_stick.json new file mode 100755 index 0000000..b866d34 --- /dev/null +++ b/src/main/resources/data/rocks/loot_tables/blocks/bamboo_stick.json @@ -0,0 +1,43 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ], + "name": "rocks:bamboo_stick" + }, + { + "type": "minecraft:item", + "name": "minecraft:bamboo" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/rocks/loot_tables/blocks/cherry_stick.json b/src/main/resources/data/rocks/loot_tables/blocks/cherry_stick.json new file mode 100755 index 0000000..dcc73ba --- /dev/null +++ b/src/main/resources/data/rocks/loot_tables/blocks/cherry_stick.json @@ -0,0 +1,43 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ], + "name": "rocks:cherry_stick" + }, + { + "type": "minecraft:item", + "name": "minecraft:stick" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/rocks/loot_tables/blocks/mangrove_stick.json b/src/main/resources/data/rocks/loot_tables/blocks/mangrove_stick.json new file mode 100755 index 0000000..38a50b3 --- /dev/null +++ b/src/main/resources/data/rocks/loot_tables/blocks/mangrove_stick.json @@ -0,0 +1,43 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ], + "name": "rocks:mangrove_stick" + }, + { + "type": "minecraft:item", + "name": "minecraft:stick" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ] +}