diff --git a/.github/ISSUE_TEMPLATE/1-bug_report.yml b/.github/ISSUE_TEMPLATE/1-bug_report.yml index 5768222d2..a99ec59d3 100644 --- a/.github/ISSUE_TEMPLATE/1-bug_report.yml +++ b/.github/ISSUE_TEMPLATE/1-bug_report.yml @@ -1,11 +1,11 @@ -name: 1.20.4+ Bug Report +name: 1.20.1+ Bug Report description: File a bug report labels: [bug] body: - type: markdown attributes: value: | - For bugs experienced with Minecraft 1.20.4+. Older versions are not supported. + For bugs experienced with Minecraft 1.20.1+. Older versions are not supported. If any section does not apply, replace its content with "N/A". Please search for existing bug reports before making your own report. diff --git a/.github/ISSUE_TEMPLATE/2-crash_report.yml b/.github/ISSUE_TEMPLATE/2-crash_report.yml index af9843e7d..aa4cfd314 100644 --- a/.github/ISSUE_TEMPLATE/2-crash_report.yml +++ b/.github/ISSUE_TEMPLATE/2-crash_report.yml @@ -1,11 +1,11 @@ -name: 1.20.4+ Crash Report +name: 1.20.1+ Crash Report description: File a crash report labels: [crash] body: - type: markdown attributes: value: | - For crashes experienced with Minecraft 1.20.4+. Older versions are not supported. + For crashes experienced with Minecraft 1.20.1+. Older versions are not supported. If any section does not apply, replace its content with "N/A". Please search for existing crash reports before making your own report. diff --git a/.github/ISSUE_TEMPLATE/3-feature_request.yml b/.github/ISSUE_TEMPLATE/3-feature_request.yml index 0daaeabdb..2d79e63f1 100644 --- a/.github/ISSUE_TEMPLATE/3-feature_request.yml +++ b/.github/ISSUE_TEMPLATE/3-feature_request.yml @@ -1,11 +1,11 @@ -name: 1.20.4+ Feature Request +name: 1.20.1+ Feature Request description: Request a new feature labels: [feature] body: - type: markdown attributes: value: | - Feature requests for Minecraft 1.20.4+. Older versions are not supported. + Feature requests for Minecraft 1.20.1+. Older versions are not supported. If any section does not apply, replace its contents with "N/A". Please search for existing feature requests before you make your own request. diff --git a/README.md b/README.md index 9274017d1..6f8a594f8 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@

-**Biomes O' Plenty** is an expansive biome mod for Minecraft that adds a slew of **new, unique biomes to the Overworld, Nether, and End!** To go along with the new biomes, it adds **new plants, flowers, trees, building blocks, and much more!** +**Biomes O' Plenty** is an expansive biome mod for Minecraft that adds a slew of **new, unique biomes to the Overworld and Nether!** To go along with the new biomes, it adds **new plants, flowers, trees, building blocks, and much more!** ----------------- diff --git a/build.gradle b/build.gradle index 0b02d7e20..19a7e630f 100644 --- a/build.gradle +++ b/build.gradle @@ -90,7 +90,6 @@ subprojects { var expandProps = [ minecraft_version : minecraft_version, forge_version : forge_version, forge_version_range: forge_version_range, forge_loader_version_range: forge_loader_version_range, - neoforge_version : neoforge_version, neoforge_version_range: neoforge_version_range, neoforge_loader_version_range: neoforge_loader_version_range, glitchcore_version : glitchcore_version, terrablender_version: terrablender_version, mod_id : mod_id, mod_name: mod_name, mod_display_name: mod_display_name, mod_version: mod_version, mod_authors : mod_authors, mod_description: mod_description, @@ -129,8 +128,8 @@ subprojects { if (name.equals("Fabric")) { required.project "fabric-api" } - required.project "glitchcore" required.project "terrablender" + required.project "glitchcore" } if (changelog_file.exists()) { diff --git a/common/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 b/common/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 index 6a1031b45..4f4cce8ec 100644 --- a/common/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 +++ b/common/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 @@ -1,4 +1,4 @@ -// 1.20.4 2024-04-02T21:00:35.567177 Registries +// 1.20.1 2024-04-02T21:00:35.567177 Registries bec08031dc5126119d3c7a1033703f8235bdf56e data/biomesoplenty/damage_type/bramble.json 41f8df67f585538edc9847b6754275d24b813e06 data/biomesoplenty/damage_type/fumarole.json 1db19ce8d33b8c131955b60ed830200bbee6a912 data/biomesoplenty/worldgen/biome/aspen_glade.json @@ -12,9 +12,6 @@ d0c0bdd9fc7b09e7d046e35faea8cc6d752b468a data/biomesoplenty/worldgen/biome/crag. 401cb408a8b99f3fd8b696f9759d9f1f8a1a945e data/biomesoplenty/worldgen/biome/dead_forest.json 506de7d82a9bf0a7caea3390590dc9d1fa2028b0 data/biomesoplenty/worldgen/biome/dryland.json d4a9226ceaef3cf4eed45892e027c1eabf9fcd72 data/biomesoplenty/worldgen/biome/dune_beach.json -9ed1682626703efc2dc7ab64360f99e116f64f63 data/biomesoplenty/worldgen/biome/end_corruption.json -b3eae91d1d02cfda03e70a555aaaa1bc7028bd61 data/biomesoplenty/worldgen/biome/end_reef.json -3a72fd6fdefdedcc67c90d5a8b06fc647086fc83 data/biomesoplenty/worldgen/biome/end_wilds.json a89d541384f1a879bb82d9c984d98c512474d27c data/biomesoplenty/worldgen/biome/erupting_inferno.json 00215227edcd7dcdcf9731656860dad1e3d68d79 data/biomesoplenty/worldgen/biome/field.json 0ca60f25f9961787ec5f174f8be6f29463c4decc data/biomesoplenty/worldgen/biome/fir_clearing.json diff --git a/common/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/common/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index d9844e750..dff4eeaf6 100644 --- a/common/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/common/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.20.4 2024-04-25T16:37:07.1319066 Loot Tables +// 1.20.1 2024-04-25T16:37:07.1319066 Loot Tables 0796dc5a039f427b86e2bdee03d2d88af5279cde data/biomesoplenty/loot_tables/blocks/algal_end_stone.json 7cfa205e9626cd21d282d7a86dc18d91d3e4e236 data/biomesoplenty/loot_tables/blocks/anomaly.json 2547906987bf320a1d8ca9bd8f680eb74c6f7960 data/biomesoplenty/loot_tables/blocks/barley.json diff --git a/common/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/common/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index f3df8fc44..a6972accf 100644 --- a/common/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/common/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.20.4 2024-04-29T01:06:26.6417501 Recipes +// 1.20.1 2024-04-29T01:06:26.6417501 Recipes 421d18e223b429d1b3c550243bceb9ac4ed1c484 data/biomesoplenty/advancements/recipes/building_blocks/algal_end_stone.json 0da424bfb4b3e8a6fda385d9fefcadea554f8928 data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone.json 8b3d4e97fe9c6ba44d3a38a4d4afb139ce7de744 data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_slab.json diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/aspen_glade.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/aspen_glade.json index 7139fd6f3..30a981c8d 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/aspen_glade.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/aspen_glade.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/auroral_garden.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/auroral_garden.json index 536ded562..493d92f04 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/auroral_garden.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/auroral_garden.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/bayou.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/bayou.json index f868f5cd5..819896ac2 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/bayou.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/bayou.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/bog.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/bog.json index e769f8a85..7eec75259 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/bog.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/bog.json @@ -57,7 +57,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/cold_desert.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/cold_desert.json index adca7a2dc..7846c6129 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/cold_desert.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/cold_desert.json @@ -57,7 +57,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/coniferous_forest.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/coniferous_forest.json index a543c8331..b35480360 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/coniferous_forest.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/coniferous_forest.json @@ -59,7 +59,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/crag.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/crag.json index 7d236dffb..1c8efffe1 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/crag.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/crag.json @@ -60,7 +60,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/dead_forest.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/dead_forest.json index 1c535fb7f..650641afa 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/dead_forest.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/dead_forest.json @@ -56,7 +56,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/dryland.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/dryland.json index df9bdf9de..a757d8b9b 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/dryland.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/dryland.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/dune_beach.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/dune_beach.json index 61b9c3324..47ba422a8 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/dune_beach.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/dune_beach.json @@ -54,7 +54,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/field.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/field.json index f6e2e1b94..6b25e587a 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/field.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/field.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/fir_clearing.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/fir_clearing.json index d0de88bee..a58058d4a 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/fir_clearing.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/fir_clearing.json @@ -59,7 +59,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/floodplain.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/floodplain.json index 1ae09fe08..318135697 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/floodplain.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/floodplain.json @@ -63,7 +63,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/forested_field.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/forested_field.json index 5a54c2438..c4e7147ca 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/forested_field.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/forested_field.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/fungal_jungle.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/fungal_jungle.json index 8463f867c..3ade4971c 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/fungal_jungle.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/fungal_jungle.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/glowing_grotto.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/glowing_grotto.json index a680b649d..d5a8cae15 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/glowing_grotto.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/glowing_grotto.json @@ -60,7 +60,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/grassland.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/grassland.json index cd8a0a684..e33285d4a 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/grassland.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/grassland.json @@ -56,7 +56,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/gravel_beach.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/gravel_beach.json index a1c2f2083..13ceece50 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/gravel_beach.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/gravel_beach.json @@ -54,7 +54,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/highland.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/highland.json index f6ffddb12..84081bd53 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/highland.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/highland.json @@ -61,7 +61,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/hot_springs.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/hot_springs.json index 04a3e231a..ef5337d71 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/hot_springs.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/hot_springs.json @@ -57,7 +57,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/jacaranda_glade.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/jacaranda_glade.json index f7d618414..ced02834e 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/jacaranda_glade.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/jacaranda_glade.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/jade_cliffs.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/jade_cliffs.json index f53fb7f13..5d1163a9d 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/jade_cliffs.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/jade_cliffs.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/lavender_field.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/lavender_field.json index e151e43c4..70ffd2c7a 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/lavender_field.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/lavender_field.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/lush_desert.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/lush_desert.json index 7e1df0700..bac7ae06a 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/lush_desert.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/lush_desert.json @@ -63,7 +63,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/lush_savanna.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/lush_savanna.json index 0c02f6682..8dee1a512 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/lush_savanna.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/lush_savanna.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/maple_woods.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/maple_woods.json index 9598f7f19..93d6b10c3 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/maple_woods.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/maple_woods.json @@ -54,7 +54,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/marsh.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/marsh.json index 5f1c6c13e..59bff14b4 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/marsh.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/marsh.json @@ -61,7 +61,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/mediterranean_forest.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/mediterranean_forest.json index 589195411..37a7b48d7 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/mediterranean_forest.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/mediterranean_forest.json @@ -54,7 +54,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/moor.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/moor.json index 8e33a6d34..abbde035d 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/moor.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/moor.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/muskeg.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/muskeg.json index 62df9dc68..86edbaa0d 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/muskeg.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/muskeg.json @@ -56,7 +56,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/mystic_grove.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/mystic_grove.json index 7a3251de8..e02b8666b 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/mystic_grove.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/mystic_grove.json @@ -61,7 +61,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/old_growth_dead_forest.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/old_growth_dead_forest.json index 80d689715..d7a10fede 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/old_growth_dead_forest.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/old_growth_dead_forest.json @@ -56,7 +56,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/old_growth_woodland.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/old_growth_woodland.json index ab4a42eaa..aca06d385 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/old_growth_woodland.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/old_growth_woodland.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/ominous_woods.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/ominous_woods.json index d31c0f9dc..24216c471 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/ominous_woods.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/ominous_woods.json @@ -55,7 +55,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/orchard.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/orchard.json index f85bc527c..83b84094f 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/orchard.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/orchard.json @@ -56,7 +56,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/origin_valley.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/origin_valley.json index d7c367f87..fc77b05af 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/origin_valley.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/origin_valley.json @@ -46,7 +46,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried" ], diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/overgrown_greens.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/overgrown_greens.json index c84e482b0..e3ed6774b 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/overgrown_greens.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/overgrown_greens.json @@ -56,7 +56,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/pasture.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/pasture.json index 26c65d52c..2640e6cae 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/pasture.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/pasture.json @@ -56,7 +56,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/prairie.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/prairie.json index d9d155131..49463e4cc 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/prairie.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/prairie.json @@ -56,7 +56,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/pumpkin_patch.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/pumpkin_patch.json index 9ecd8eddc..8d3a984f5 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/pumpkin_patch.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/pumpkin_patch.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/rainforest.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/rainforest.json index 72c3e6cf0..94d5bc5c8 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/rainforest.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/rainforest.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/redwood_forest.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/redwood_forest.json index 6b03f3fe8..7b68c1426 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/redwood_forest.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/redwood_forest.json @@ -61,7 +61,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/rocky_rainforest.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/rocky_rainforest.json index a782bc72a..6fb6e48b2 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/rocky_rainforest.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/rocky_rainforest.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/rocky_shrubland.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/rocky_shrubland.json index 274065892..c3cf4ae32 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/rocky_shrubland.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/rocky_shrubland.json @@ -54,7 +54,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/scrubland.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/scrubland.json index b277a3295..8c1569d0b 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/scrubland.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/scrubland.json @@ -54,7 +54,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/seasonal_forest.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/seasonal_forest.json index e51d4c484..43beeddc9 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/seasonal_forest.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/seasonal_forest.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/shrubland.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/shrubland.json index 27ebd32b9..e656ab379 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/shrubland.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/shrubland.json @@ -54,7 +54,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowblossom_grove.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowblossom_grove.json index 232f3172e..b21c5e58a 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowblossom_grove.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowblossom_grove.json @@ -63,7 +63,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowy_coniferous_forest.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowy_coniferous_forest.json index ef5c2131b..5c9060ef5 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowy_coniferous_forest.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowy_coniferous_forest.json @@ -59,7 +59,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowy_fir_clearing.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowy_fir_clearing.json index 29f51b823..7de7a5180 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowy_fir_clearing.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowy_fir_clearing.json @@ -59,7 +59,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowy_maple_woods.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowy_maple_woods.json index 37627567a..db4a4fd49 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowy_maple_woods.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/snowy_maple_woods.json @@ -54,7 +54,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/spider_nest.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/spider_nest.json index 9305415b9..b51cefe76 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/spider_nest.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/spider_nest.json @@ -60,7 +60,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/tropics.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/tropics.json index bef2488ff..345c2696d 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/tropics.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/tropics.json @@ -60,7 +60,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/tundra.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/tundra.json index d5880db52..fec2bc539 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/tundra.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/tundra.json @@ -56,7 +56,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/volcanic_plains.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/volcanic_plains.json index 4489a971d..623ebc7d3 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/volcanic_plains.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/volcanic_plains.json @@ -56,7 +56,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/volcano.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/volcano.json index ad5b70eb3..eab762e2d 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/volcano.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/volcano.json @@ -69,7 +69,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wasteland.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wasteland.json index 7a2df1063..3e82dee66 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wasteland.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wasteland.json @@ -68,7 +68,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wasteland_steppe.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wasteland_steppe.json index f5f80acc3..724a71548 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wasteland_steppe.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wasteland_steppe.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wetland.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wetland.json index aa6120a00..76af194a5 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wetland.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wetland.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wintry_origin_valley.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wintry_origin_valley.json index e820ebe5b..15dcae465 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wintry_origin_valley.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/wintry_origin_valley.json @@ -46,7 +46,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried" ], diff --git a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/woodland.json b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/woodland.json index 4400ad94b..53b3f0594 100644 --- a/common/src/generated/resources/data/biomesoplenty/worldgen/biome/woodland.json +++ b/common/src/generated/resources/data/biomesoplenty/worldgen/biome/woodland.json @@ -62,7 +62,7 @@ "minecraft:ore_redstone", "minecraft:ore_redstone_lower", "minecraft:ore_diamond", - "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", "minecraft:ore_diamond_buried", "minecraft:ore_lapis", diff --git a/common/src/main/java/biomesoplenty/api/biome/BOPBiomes.java b/common/src/main/java/biomesoplenty/api/biome/BOPBiomes.java index 6a1ca2d0d..03188c314 100644 --- a/common/src/main/java/biomesoplenty/api/biome/BOPBiomes.java +++ b/common/src/main/java/biomesoplenty/api/biome/BOPBiomes.java @@ -30,9 +30,6 @@ public class BOPBiomes public static final ResourceKey DEAD_FOREST = registerOverworld("dead_forest"); public static final ResourceKey DRYLAND = registerOverworld("dryland"); public static final ResourceKey DUNE_BEACH = registerOverworld("dune_beach"); - public static final ResourceKey END_WILDS = registerOverworld("end_wilds"); - public static final ResourceKey END_REEF = registerOverworld("end_reef"); - public static final ResourceKey END_CORRUPTION = registerOverworld("end_corruption"); public static final ResourceKey ERUPTING_INFERNO = register("erupting_inferno"); public static final ResourceKey FIELD = registerOverworld("field"); public static final ResourceKey FIR_CLEARING = registerOverworld("fir_clearing"); diff --git a/common/src/main/java/biomesoplenty/api/block/BOPBlockSetTypes.java b/common/src/main/java/biomesoplenty/api/block/BOPBlockSetTypes.java index b60850d35..3f364e567 100644 --- a/common/src/main/java/biomesoplenty/api/block/BOPBlockSetTypes.java +++ b/common/src/main/java/biomesoplenty/api/block/BOPBlockSetTypes.java @@ -15,15 +15,15 @@ public class BOPBlockSetTypes { public static final BlockSetType FIR = register(new BlockSetType(BOPAPI.MOD_ID + ":fir")); public static final BlockSetType PINE = register(new BlockSetType(BOPAPI.MOD_ID + ":pine")); - public static final BlockSetType MAPLE = register(new BlockSetType(BOPAPI.MOD_ID + ":maple", true, true, true, BlockSetType.PressurePlateSensitivity.EVERYTHING, SoundType.CHERRY_WOOD, SoundEvents.CHERRY_WOOD_DOOR_CLOSE, SoundEvents.CHERRY_WOOD_DOOR_OPEN, SoundEvents.CHERRY_WOOD_TRAPDOOR_CLOSE, SoundEvents.CHERRY_WOOD_TRAPDOOR_OPEN, SoundEvents.CHERRY_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.CHERRY_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.CHERRY_WOOD_BUTTON_CLICK_OFF, SoundEvents.CHERRY_WOOD_BUTTON_CLICK_ON)); + public static final BlockSetType MAPLE = register(new BlockSetType(BOPAPI.MOD_ID + ":maple", true, SoundType.CHERRY_WOOD, SoundEvents.CHERRY_WOOD_DOOR_CLOSE, SoundEvents.CHERRY_WOOD_DOOR_OPEN, SoundEvents.CHERRY_WOOD_TRAPDOOR_CLOSE, SoundEvents.CHERRY_WOOD_TRAPDOOR_OPEN, SoundEvents.CHERRY_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.CHERRY_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.CHERRY_WOOD_BUTTON_CLICK_OFF, SoundEvents.CHERRY_WOOD_BUTTON_CLICK_ON)); public static final BlockSetType REDWOOD = register(new BlockSetType(BOPAPI.MOD_ID + ":redwood")); public static final BlockSetType MAHOGANY = register(new BlockSetType(BOPAPI.MOD_ID + ":mahogany")); - public static final BlockSetType JACARANDA = register(new BlockSetType(BOPAPI.MOD_ID + ":jacaranda", true, true, true, BlockSetType.PressurePlateSensitivity.EVERYTHING, SoundType.CHERRY_WOOD, SoundEvents.CHERRY_WOOD_DOOR_CLOSE, SoundEvents.CHERRY_WOOD_DOOR_OPEN, SoundEvents.CHERRY_WOOD_TRAPDOOR_CLOSE, SoundEvents.CHERRY_WOOD_TRAPDOOR_OPEN, SoundEvents.CHERRY_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.CHERRY_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.CHERRY_WOOD_BUTTON_CLICK_OFF, SoundEvents.CHERRY_WOOD_BUTTON_CLICK_ON)); + public static final BlockSetType JACARANDA = register(new BlockSetType(BOPAPI.MOD_ID + ":jacaranda", true, SoundType.CHERRY_WOOD, SoundEvents.CHERRY_WOOD_DOOR_CLOSE, SoundEvents.CHERRY_WOOD_DOOR_OPEN, SoundEvents.CHERRY_WOOD_TRAPDOOR_CLOSE, SoundEvents.CHERRY_WOOD_TRAPDOOR_OPEN, SoundEvents.CHERRY_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.CHERRY_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.CHERRY_WOOD_BUTTON_CLICK_OFF, SoundEvents.CHERRY_WOOD_BUTTON_CLICK_ON)); public static final BlockSetType PALM = register(new BlockSetType(BOPAPI.MOD_ID + ":palm")); public static final BlockSetType WILLOW = register(new BlockSetType(BOPAPI.MOD_ID + ":willow")); public static final BlockSetType DEAD = register(new BlockSetType(BOPAPI.MOD_ID + ":dead")); - public static final BlockSetType MAGIC = register(new BlockSetType(BOPAPI.MOD_ID + ":magic", true, true, true, BlockSetType.PressurePlateSensitivity.EVERYTHING, SoundType.CHERRY_WOOD, SoundEvents.CHERRY_WOOD_DOOR_CLOSE, SoundEvents.CHERRY_WOOD_DOOR_OPEN, SoundEvents.CHERRY_WOOD_TRAPDOOR_CLOSE, SoundEvents.CHERRY_WOOD_TRAPDOOR_OPEN, SoundEvents.CHERRY_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.CHERRY_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.CHERRY_WOOD_BUTTON_CLICK_OFF, SoundEvents.CHERRY_WOOD_BUTTON_CLICK_ON)); - public static final BlockSetType UMBRAN = register(new BlockSetType(BOPAPI.MOD_ID + ":umbran", true, true, true, BlockSetType.PressurePlateSensitivity.EVERYTHING, SoundType.NETHER_WOOD, SoundEvents.NETHER_WOOD_DOOR_CLOSE, SoundEvents.NETHER_WOOD_DOOR_OPEN, SoundEvents.NETHER_WOOD_TRAPDOOR_CLOSE, SoundEvents.NETHER_WOOD_TRAPDOOR_OPEN, SoundEvents.NETHER_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.NETHER_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.NETHER_WOOD_BUTTON_CLICK_OFF, SoundEvents.NETHER_WOOD_BUTTON_CLICK_ON)); - public static final BlockSetType HELLBARK = register(new BlockSetType(BOPAPI.MOD_ID + ":hellbark", true, true, true, BlockSetType.PressurePlateSensitivity.EVERYTHING, SoundType.NETHER_WOOD, SoundEvents.NETHER_WOOD_DOOR_CLOSE, SoundEvents.NETHER_WOOD_DOOR_OPEN, SoundEvents.NETHER_WOOD_TRAPDOOR_CLOSE, SoundEvents.NETHER_WOOD_TRAPDOOR_OPEN, SoundEvents.NETHER_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.NETHER_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.NETHER_WOOD_BUTTON_CLICK_OFF, SoundEvents.NETHER_WOOD_BUTTON_CLICK_ON)); - public static final BlockSetType EMPYREAL = register(new BlockSetType(BOPAPI.MOD_ID + ":empyreal", true, true, true, BlockSetType.PressurePlateSensitivity.EVERYTHING, SoundType.NETHER_WOOD, SoundEvents.NETHER_WOOD_DOOR_CLOSE, SoundEvents.NETHER_WOOD_DOOR_OPEN, SoundEvents.NETHER_WOOD_TRAPDOOR_CLOSE, SoundEvents.NETHER_WOOD_TRAPDOOR_OPEN, SoundEvents.NETHER_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.NETHER_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.NETHER_WOOD_BUTTON_CLICK_OFF, SoundEvents.NETHER_WOOD_BUTTON_CLICK_ON)); + public static final BlockSetType MAGIC = register(new BlockSetType(BOPAPI.MOD_ID + ":magic", true, SoundType.CHERRY_WOOD, SoundEvents.CHERRY_WOOD_DOOR_CLOSE, SoundEvents.CHERRY_WOOD_DOOR_OPEN, SoundEvents.CHERRY_WOOD_TRAPDOOR_CLOSE, SoundEvents.CHERRY_WOOD_TRAPDOOR_OPEN, SoundEvents.CHERRY_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.CHERRY_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.CHERRY_WOOD_BUTTON_CLICK_OFF, SoundEvents.CHERRY_WOOD_BUTTON_CLICK_ON)); + public static final BlockSetType UMBRAN = register(new BlockSetType(BOPAPI.MOD_ID + ":umbran", true, SoundType.NETHER_WOOD, SoundEvents.NETHER_WOOD_DOOR_CLOSE, SoundEvents.NETHER_WOOD_DOOR_OPEN, SoundEvents.NETHER_WOOD_TRAPDOOR_CLOSE, SoundEvents.NETHER_WOOD_TRAPDOOR_OPEN, SoundEvents.NETHER_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.NETHER_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.NETHER_WOOD_BUTTON_CLICK_OFF, SoundEvents.NETHER_WOOD_BUTTON_CLICK_ON)); + public static final BlockSetType HELLBARK = register(new BlockSetType(BOPAPI.MOD_ID + ":hellbark", true, SoundType.NETHER_WOOD, SoundEvents.NETHER_WOOD_DOOR_CLOSE, SoundEvents.NETHER_WOOD_DOOR_OPEN, SoundEvents.NETHER_WOOD_TRAPDOOR_CLOSE, SoundEvents.NETHER_WOOD_TRAPDOOR_OPEN, SoundEvents.NETHER_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.NETHER_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.NETHER_WOOD_BUTTON_CLICK_OFF, SoundEvents.NETHER_WOOD_BUTTON_CLICK_ON)); + public static final BlockSetType EMPYREAL = register(new BlockSetType(BOPAPI.MOD_ID + ":empyreal", true, SoundType.NETHER_WOOD, SoundEvents.NETHER_WOOD_DOOR_CLOSE, SoundEvents.NETHER_WOOD_DOOR_OPEN, SoundEvents.NETHER_WOOD_TRAPDOOR_CLOSE, SoundEvents.NETHER_WOOD_TRAPDOOR_OPEN, SoundEvents.NETHER_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.NETHER_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.NETHER_WOOD_BUTTON_CLICK_OFF, SoundEvents.NETHER_WOOD_BUTTON_CLICK_ON)); } diff --git a/common/src/main/java/biomesoplenty/biome/BOPEndBiomes.java b/common/src/main/java/biomesoplenty/biome/BOPEndBiomes.java deleted file mode 100644 index 50a401db8..000000000 --- a/common/src/main/java/biomesoplenty/biome/BOPEndBiomes.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************* - * Copyright 2024, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.biome; - -import biomesoplenty.init.ModParticles; -import biomesoplenty.worldgen.placement.BOPEndPlacements; -import biomesoplenty.worldgen.placement.BOPVegetationPlacements; -import net.minecraft.core.HolderGetter; -import net.minecraft.data.worldgen.placement.EndPlacements; -import net.minecraft.world.level.biome.*; -import net.minecraft.world.level.levelgen.GenerationStep; -import net.minecraft.world.level.levelgen.carver.ConfiguredWorldCarver; -import net.minecraft.world.level.levelgen.placement.PlacedFeature; - -public class BOPEndBiomes -{ - public static Biome endWilds(HolderGetter placedFeatureGetter, HolderGetter> carverGetter) - { - MobSpawnSettings.Builder mobSpawnBuilder = new MobSpawnSettings.Builder(); - BiomeGenerationSettings.Builder biomeBuilder = new BiomeGenerationSettings.Builder(placedFeatureGetter, carverGetter); - biomeBuilder.addFeature(GenerationStep.Decoration.SURFACE_STRUCTURES, EndPlacements.END_GATEWAY_RETURN); - biomeBuilder.addFeature(GenerationStep.Decoration.VEGETAL_DECORATION, BOPEndPlacements.TREES_END_WILDS); - biomeBuilder.addFeature(GenerationStep.Decoration.VEGETAL_DECORATION, BOPEndPlacements.FLOWER_END_WILDS); - biomeBuilder.addFeature(GenerationStep.Decoration.VEGETAL_DECORATION, BOPEndPlacements.PATCH_ENDERPHYTES); - biomeBuilder.addFeature(GenerationStep.Decoration.VEGETAL_DECORATION, BOPEndPlacements.LUMALOOP); - - return new Biome.BiomeBuilder() - .hasPrecipitation(false).temperature(0.5F).downfall(0.5F) - .specialEffects(new BiomeSpecialEffects.Builder().grassColorOverride(0xEAB35D).foliageColorOverride(0xEAB35D).waterColor(4159204).waterFogColor(329011).fogColor(10518688).skyColor(0).ambientParticle(new AmbientParticleSettings(ModParticles.END_SPORE, 0.005F)).ambientMoodSound(AmbientMoodSettings.LEGACY_CAVE_SETTINGS).build()) - .mobSpawnSettings(mobSpawnBuilder.build()).generationSettings(biomeBuilder.build()).build(); - } - - public static Biome endReef(HolderGetter placedFeatureGetter, HolderGetter> carverGetter) - { - MobSpawnSettings.Builder mobSpawnBuilder = new MobSpawnSettings.Builder(); - BiomeGenerationSettings.Builder biomeBuilder = new BiomeGenerationSettings.Builder(placedFeatureGetter, carverGetter); - biomeBuilder.addFeature(GenerationStep.Decoration.SURFACE_STRUCTURES, EndPlacements.END_GATEWAY_RETURN); - biomeBuilder.addFeature(GenerationStep.Decoration.UNDERGROUND_DECORATION, BOPEndPlacements.JAGGED_SANDSTONE); - biomeBuilder.addFeature(GenerationStep.Decoration.UNDERGROUND_DECORATION, BOPEndPlacements.TIDEPOOL); - biomeBuilder.addFeature(GenerationStep.Decoration.VEGETAL_DECORATION, BOPEndPlacements.DEAD_CORAL); - biomeBuilder.addFeature(GenerationStep.Decoration.VEGETAL_DECORATION, BOPEndPlacements.DEAD_CORAL_PATCH); - biomeBuilder.addFeature(GenerationStep.Decoration.VEGETAL_DECORATION, BOPEndPlacements.BARNACLES); - biomeBuilder.addFeature(GenerationStep.Decoration.VEGETAL_DECORATION, BOPEndPlacements.WISPJELLY); - biomeBuilder.addFeature(GenerationStep.Decoration.VEGETAL_DECORATION, BOPVegetationPlacements.PATCH_DEAD_GRASS); - - return new Biome.BiomeBuilder() - .hasPrecipitation(false).temperature(0.5F).downfall(0.5F) - .specialEffects(new BiomeSpecialEffects.Builder().grassColorOverride(0xE5FFFC).foliageColorOverride(0xE5FFFC).waterColor(0xE5FFFC).waterFogColor(0x434949).fogColor(10518688).skyColor(0).ambientParticle(new AmbientParticleSettings(ModParticles.WISP_BUBBLE, 0.001F)).ambientMoodSound(AmbientMoodSettings.LEGACY_CAVE_SETTINGS).build()) - .mobSpawnSettings(mobSpawnBuilder.build()).generationSettings(biomeBuilder.build()).build(); - } - - public static Biome endCorruption(HolderGetter placedFeatureGetter, HolderGetter> carverGetter) - { - MobSpawnSettings.Builder mobSpawnBuilder = new MobSpawnSettings.Builder(); - BiomeGenerationSettings.Builder biomeBuilder = new BiomeGenerationSettings.Builder(placedFeatureGetter, carverGetter); - biomeBuilder.addFeature(GenerationStep.Decoration.SURFACE_STRUCTURES, EndPlacements.END_GATEWAY_RETURN); - biomeBuilder.addFeature(GenerationStep.Decoration.LOCAL_MODIFICATIONS, BOPEndPlacements.ANOMALY); - biomeBuilder.addFeature(GenerationStep.Decoration.LAKES, BOPEndPlacements.LIQUID_NULL_LAKE); - biomeBuilder.addFeature(GenerationStep.Decoration.FLUID_SPRINGS, BOPEndPlacements.LIQUID_NULL_SPRING); - biomeBuilder.addFeature(GenerationStep.Decoration.UNDERGROUND_DECORATION, BOPEndPlacements.MONOLITH); - biomeBuilder.addFeature(GenerationStep.Decoration.VEGETAL_DECORATION, BOPEndPlacements.TREES_END_CORRUPTION); - biomeBuilder.addFeature(GenerationStep.Decoration.VEGETAL_DECORATION, BOPEndPlacements.PATCH_NULL_PLANTS); - - return new Biome.BiomeBuilder() - .hasPrecipitation(false).temperature(0.5F).downfall(0.5F) - .specialEffects(new BiomeSpecialEffects.Builder().grassColorOverride(0x7CBD6B).foliageColorOverride(0x48B518).waterColor(4159204).waterFogColor(329011).fogColor(10518688).skyColor(0).ambientParticle(new AmbientParticleSettings(ModParticles.BINARY, 0.000375F)).ambientMoodSound(AmbientMoodSettings.LEGACY_CAVE_SETTINGS).build()) - .mobSpawnSettings(mobSpawnBuilder.build()).generationSettings(biomeBuilder.build()).build(); - } -} diff --git a/common/src/main/java/biomesoplenty/biome/BOPOverworldBiomes.java b/common/src/main/java/biomesoplenty/biome/BOPOverworldBiomes.java index 5f1585473..e4fed07c1 100644 --- a/common/src/main/java/biomesoplenty/biome/BOPOverworldBiomes.java +++ b/common/src/main/java/biomesoplenty/biome/BOPOverworldBiomes.java @@ -971,7 +971,6 @@ public static Biome originValley(HolderGetter placedFeatureGetter addFeature(biomeBuilder, GenerationStep.Decoration.UNDERGROUND_ORES, OrePlacements.ORE_REDSTONE); addFeature(biomeBuilder, GenerationStep.Decoration.UNDERGROUND_ORES, OrePlacements.ORE_REDSTONE_LOWER); addFeature(biomeBuilder, GenerationStep.Decoration.UNDERGROUND_ORES, OrePlacements.ORE_DIAMOND); - addFeature(biomeBuilder, GenerationStep.Decoration.UNDERGROUND_ORES, OrePlacements.ORE_DIAMOND_MEDIUM); addFeature(biomeBuilder, GenerationStep.Decoration.UNDERGROUND_ORES, OrePlacements.ORE_DIAMOND_LARGE); addFeature(biomeBuilder, GenerationStep.Decoration.UNDERGROUND_ORES, OrePlacements.ORE_DIAMOND_BURIED); addFeature(biomeBuilder, GenerationStep.Decoration.VEGETAL_DECORATION, VegetationPlacements.PATCH_SUGAR_CANE); diff --git a/common/src/main/java/biomesoplenty/block/AlgalEndStoneBlock.java b/common/src/main/java/biomesoplenty/block/AlgalEndStoneBlock.java index c9a92f590..e3afc0310 100644 --- a/common/src/main/java/biomesoplenty/block/AlgalEndStoneBlock.java +++ b/common/src/main/java/biomesoplenty/block/AlgalEndStoneBlock.java @@ -57,7 +57,7 @@ public void randomTick(BlockState p_222508_, ServerLevel p_222509_, BlockPos p_2 } @Override - public boolean isValidBonemealTarget(LevelReader p_153797_, BlockPos p_153798_, BlockState p_153799_) + public boolean isValidBonemealTarget(LevelReader p_153797_, BlockPos p_153798_, BlockState p_153799_, boolean b) { return p_153797_.getBlockState(p_153798_.above()).isAir(); } diff --git a/common/src/main/java/biomesoplenty/block/AnomalyBlock.java b/common/src/main/java/biomesoplenty/block/AnomalyBlock.java index 906a6b23e..eb7530c78 100644 --- a/common/src/main/java/biomesoplenty/block/AnomalyBlock.java +++ b/common/src/main/java/biomesoplenty/block/AnomalyBlock.java @@ -25,7 +25,6 @@ public class AnomalyBlock extends BaseEntityBlock { public static final EnumProperty ANOMALY_TYPE = EnumProperty.create("type", AnomalyType.class); - public static final MapCodec CODEC = simpleCodec(AnomalyBlock::new); public AnomalyBlock(Properties properties) { @@ -33,12 +32,6 @@ public AnomalyBlock(Properties properties) this.registerDefaultState(this.stateDefinition.any().setValue(ANOMALY_TYPE, AnomalyType.STABLE)); } - @Override - protected MapCodec codec() - { - return CODEC; - } - @Nullable @Override public BlockState getStateForPlacement(BlockPlaceContext p_49479_) diff --git a/common/src/main/java/biomesoplenty/block/BarnaclesBlock.java b/common/src/main/java/biomesoplenty/block/BarnaclesBlock.java index c3d660440..0b763ad60 100644 --- a/common/src/main/java/biomesoplenty/block/BarnaclesBlock.java +++ b/common/src/main/java/biomesoplenty/block/BarnaclesBlock.java @@ -6,6 +6,8 @@ import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import java.util.function.Function; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.context.BlockPlaceContext; @@ -26,7 +28,6 @@ public class BarnaclesBlock extends MultifaceBlock implements SimpleWaterloggedBlock { - public static final MapCodec CODEC = simpleCodec(BarnaclesBlock::new); private static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; public BarnaclesBlock(Properties p_153282_) @@ -35,12 +36,6 @@ public BarnaclesBlock(Properties p_153282_) this.registerDefaultState(this.defaultBlockState().setValue(WATERLOGGED, Boolean.valueOf(false))); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override protected void createBlockStateDefinition(StateDefinition.Builder p_153309_) { diff --git a/common/src/main/java/biomesoplenty/block/BrambleBlock.java b/common/src/main/java/biomesoplenty/block/BrambleBlock.java index cee9d5c7d..4ac296281 100644 --- a/common/src/main/java/biomesoplenty/block/BrambleBlock.java +++ b/common/src/main/java/biomesoplenty/block/BrambleBlock.java @@ -23,19 +23,11 @@ public class BrambleBlock extends PipeBlock { - public static final MapCodec CODEC = simpleCodec(BrambleBlock::new); - public BrambleBlock(Block.Properties builder) { super(0.25F, builder); this.registerDefaultState(this.stateDefinition.any().setValue(NORTH, Boolean.valueOf(false)).setValue(EAST, Boolean.valueOf(false)).setValue(SOUTH, Boolean.valueOf(false)).setValue(WEST, Boolean.valueOf(false)).setValue(UP, Boolean.valueOf(false)).setValue(DOWN, Boolean.valueOf(false))); } - - @Override - public MapCodec codec() - { - return CODEC; - } @Override public BlockState getStateForPlacement(BlockPlaceContext context) diff --git a/common/src/main/java/biomesoplenty/block/BrambleLeavesBlock.java b/common/src/main/java/biomesoplenty/block/BrambleLeavesBlock.java index 1390cee4b..a3658c52d 100644 --- a/common/src/main/java/biomesoplenty/block/BrambleLeavesBlock.java +++ b/common/src/main/java/biomesoplenty/block/BrambleLeavesBlock.java @@ -26,7 +26,6 @@ public class BrambleLeavesBlock extends DirectionalBlock { - public static final MapCodec CODEC = simpleCodec(BrambleLeavesBlock::new); protected static final VoxelShape HORIZONTAL = Block.box(0.0D, 4.0D, 0.0D, 16.0D, 12.0D, 16.0D); protected static final VoxelShape VERTICAL = Block.box(0.0D, 0.0D, 4.0D, 16.0D, 16.0D, 12.0D); @@ -36,12 +35,6 @@ public BrambleLeavesBlock(Properties properties) this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.UP)); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) { diff --git a/common/src/main/java/biomesoplenty/block/ButtonBlockBOP.java b/common/src/main/java/biomesoplenty/block/ButtonBlockBOP.java new file mode 100644 index 000000000..f41f23255 --- /dev/null +++ b/common/src/main/java/biomesoplenty/block/ButtonBlockBOP.java @@ -0,0 +1,10 @@ +package biomesoplenty.block; + +import net.minecraft.world.level.block.ButtonBlock; +import net.minecraft.world.level.block.state.properties.BlockSetType; + +public class ButtonBlockBOP extends ButtonBlock { + public ButtonBlockBOP(BlockSetType $$1, int $$2, Properties $$0) { + super($$0, $$1, $$2, true); + } +} diff --git a/common/src/main/java/biomesoplenty/block/CeilingHangingSignBlockBOP.java b/common/src/main/java/biomesoplenty/block/CeilingHangingSignBlockBOP.java index 8a477eecc..aa56613a7 100644 --- a/common/src/main/java/biomesoplenty/block/CeilingHangingSignBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/CeilingHangingSignBlockBOP.java @@ -14,7 +14,7 @@ public class CeilingHangingSignBlockBOP extends CeilingHangingSignBlock { public CeilingHangingSignBlockBOP(Properties properties, WoodType type) { - super(type, properties); + super(properties, type); } @Override diff --git a/common/src/main/java/biomesoplenty/block/DoorBlockBOP.java b/common/src/main/java/biomesoplenty/block/DoorBlockBOP.java new file mode 100644 index 000000000..d2c2f81ab --- /dev/null +++ b/common/src/main/java/biomesoplenty/block/DoorBlockBOP.java @@ -0,0 +1,10 @@ +package biomesoplenty.block; + +import net.minecraft.world.level.block.DoorBlock; +import net.minecraft.world.level.block.state.properties.BlockSetType; + +public class DoorBlockBOP extends DoorBlock { + public DoorBlockBOP(BlockSetType $$1, Properties $$0) { + super($$0, $$1); + } +} diff --git a/common/src/main/java/biomesoplenty/block/DoublePlantBlockBOP.java b/common/src/main/java/biomesoplenty/block/DoublePlantBlockBOP.java index 7d19092be..936c1b5fc 100644 --- a/common/src/main/java/biomesoplenty/block/DoublePlantBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/DoublePlantBlockBOP.java @@ -23,7 +23,7 @@ public DoublePlantBlockBOP(Block.Properties properties) } @Override - public boolean isValidBonemealTarget(LevelReader levelReader, BlockPos blockPos, BlockState blockState) { return true; } + public boolean isValidBonemealTarget(LevelReader levelReader, BlockPos blockPos, BlockState blockState, boolean b) { return true; } @Override public boolean isBonemealSuccess(Level level, RandomSource randomSource, BlockPos blockPos, BlockState blockState) { return true; } diff --git a/common/src/main/java/biomesoplenty/block/DoubleWaterPlantBlock.java b/common/src/main/java/biomesoplenty/block/DoubleWaterPlantBlock.java index 38561d466..71a294dbd 100644 --- a/common/src/main/java/biomesoplenty/block/DoubleWaterPlantBlock.java +++ b/common/src/main/java/biomesoplenty/block/DoubleWaterPlantBlock.java @@ -76,7 +76,7 @@ public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) } @Override - public boolean isValidBonemealTarget(LevelReader levelReader, BlockPos blockPos, BlockState blockState) { return true; } + public boolean isValidBonemealTarget(LevelReader levelReader, BlockPos blockPos, BlockState blockState, boolean b) { return true; } @Override public boolean isBonemealSuccess(Level level, RandomSource randomSource, BlockPos blockPos, BlockState blockState) { return true; } diff --git a/common/src/main/java/biomesoplenty/block/FoliageBlockBOP.java b/common/src/main/java/biomesoplenty/block/FoliageBlockBOP.java index 56c6280d3..1f01d417b 100644 --- a/common/src/main/java/biomesoplenty/block/FoliageBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/FoliageBlockBOP.java @@ -27,7 +27,6 @@ public class FoliageBlockBOP extends BushBlock { - public static final MapCodec CODEC = simpleCodec(FoliageBlockBOP::new); protected static final VoxelShape NORMAL = Block.box(2.0D, 0.0D, 2.0D, 14.0D, 13.0D, 14.0D); protected static final VoxelShape SHORT = Block.box(1.0D, 0.0D, 1.0D, 15.0D, 7.0D, 15.0D); @@ -36,12 +35,6 @@ public FoliageBlockBOP(Block.Properties properties) super(properties); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext selectionContext) { diff --git a/common/src/main/java/biomesoplenty/block/GlowingMossBlock.java b/common/src/main/java/biomesoplenty/block/GlowingMossBlock.java index c24db6ae6..4ee9b0287 100644 --- a/common/src/main/java/biomesoplenty/block/GlowingMossBlock.java +++ b/common/src/main/java/biomesoplenty/block/GlowingMossBlock.java @@ -25,7 +25,7 @@ public GlowingMossBlock(BlockBehaviour.Properties p_153790_) { } @Override - public boolean isValidBonemealTarget(LevelReader p_153797_, BlockPos p_153798_, BlockState p_153799_) + public boolean isValidBonemealTarget(LevelReader p_153797_, BlockPos p_153798_, BlockState p_153799_, boolean b) { return p_153797_.getBlockState(p_153798_.above()).isAir() || p_153797_.getBlockState(p_153798_.below()).isAir(); } diff --git a/common/src/main/java/biomesoplenty/block/HangingStrandBlock.java b/common/src/main/java/biomesoplenty/block/HangingStrandBlock.java index 8a18761ee..7b35a9876 100644 --- a/common/src/main/java/biomesoplenty/block/HangingStrandBlock.java +++ b/common/src/main/java/biomesoplenty/block/HangingStrandBlock.java @@ -20,7 +20,6 @@ public class HangingStrandBlock extends GrowingPlantBodyBlock { - public static final MapCodec CODEC = simpleCodec(HangingStrandBlock::new); public static final VoxelShape SHAPE = Block.box(1.0D, 0.0D, 1.0D, 15.0D, 16.0D, 15.0D); public HangingStrandBlock(Properties properties) @@ -28,12 +27,6 @@ public HangingStrandBlock(Properties properties) super(properties, Direction.DOWN, SHAPE, false); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override protected GrowingPlantHeadBlock getHeadBlock() { return null; @@ -64,7 +57,7 @@ public void randomTick(BlockState blockState, ServerLevel serverLevel, BlockPos } @Override - public boolean isValidBonemealTarget(LevelReader blockGetter, BlockPos blockPos, BlockState blockState) + public boolean isValidBonemealTarget(LevelReader blockGetter, BlockPos blockPos, BlockState blockState, boolean b) { return false; } diff --git a/common/src/main/java/biomesoplenty/block/HangingStrandBottomBlock.java b/common/src/main/java/biomesoplenty/block/HangingStrandBottomBlock.java index 0cc9a602e..c070af297 100644 --- a/common/src/main/java/biomesoplenty/block/HangingStrandBottomBlock.java +++ b/common/src/main/java/biomesoplenty/block/HangingStrandBottomBlock.java @@ -19,19 +19,12 @@ public class HangingStrandBottomBlock extends GrowingPlantHeadBlock { - public static final MapCodec CODEC = simpleCodec(HangingStrandBottomBlock::new); protected static final VoxelShape SHAPE = Block.box(1.0D, 0.0D, 1.0D, 15.0D, 16.0D, 15.0D); public HangingStrandBottomBlock(Properties properties) { super(properties, Direction.DOWN, SHAPE, false, 0.01D); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override protected Block getBodyBlock() { return null; @@ -73,7 +66,7 @@ protected int getBlocksToGrowWhenBonemealed(RandomSource p_230332_1_) } @Override - public boolean isValidBonemealTarget(LevelReader p_176473_1_, BlockPos p_176473_2_, BlockState p_176473_3_) + public boolean isValidBonemealTarget(LevelReader p_176473_1_, BlockPos p_176473_2_, BlockState p_176473_3_, boolean b) { return false; } diff --git a/common/src/main/java/biomesoplenty/block/HighGrassBlock.java b/common/src/main/java/biomesoplenty/block/HighGrassBlock.java index 0ab5a312a..a71644df0 100644 --- a/common/src/main/java/biomesoplenty/block/HighGrassBlock.java +++ b/common/src/main/java/biomesoplenty/block/HighGrassBlock.java @@ -21,7 +21,6 @@ public class HighGrassBlock extends GrowingPlantHeadBlock { - public static final MapCodec CODEC = simpleCodec(HighGrassBlock::new); public static final VoxelShape SHAPE = Block.box(1.0D, 0.0D, 1.0D, 15.0D, 16.0D, 15.0D); public static final int MAX_AGE = 8; private final double growPerTickProbability; @@ -31,12 +30,6 @@ public HighGrassBlock(Properties p_i241195_1_) { this.growPerTickProbability = 0.01D; } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override public BlockState getStateForPlacement(LevelAccessor p_53949_) { return this.defaultBlockState().setValue(AGE, Integer.valueOf(p_53949_.getRandom().nextInt(MAX_AGE))); diff --git a/common/src/main/java/biomesoplenty/block/HighGrassPlantBlock.java b/common/src/main/java/biomesoplenty/block/HighGrassPlantBlock.java index 9b981beaf..5cdc236e0 100644 --- a/common/src/main/java/biomesoplenty/block/HighGrassPlantBlock.java +++ b/common/src/main/java/biomesoplenty/block/HighGrassPlantBlock.java @@ -20,19 +20,12 @@ public class HighGrassPlantBlock extends GrowingPlantBodyBlock { - public static final MapCodec CODEC = simpleCodec(HighGrassPlantBlock::new); public static final VoxelShape SHAPE = Block.box(1.0D, 0.0D, 1.0D, 15.0D, 16.0D, 15.0D); public HighGrassPlantBlock(Properties p_i241195_1_) { super(p_i241195_1_, Direction.UP, SHAPE, false); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override protected GrowingPlantHeadBlock getHeadBlock() { return (GrowingPlantHeadBlock) BOPBlocks.HIGH_GRASS; diff --git a/common/src/main/java/biomesoplenty/block/HugeCloverPetalBlock.java b/common/src/main/java/biomesoplenty/block/HugeCloverPetalBlock.java index 81a3c08ac..54f36e236 100644 --- a/common/src/main/java/biomesoplenty/block/HugeCloverPetalBlock.java +++ b/common/src/main/java/biomesoplenty/block/HugeCloverPetalBlock.java @@ -23,7 +23,6 @@ public class HugeCloverPetalBlock extends HorizontalDirectionalBlock { - public static final MapCodec CODEC = simpleCodec(HugeCloverPetalBlock::new); public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING; public static final VoxelShape SHAPE = Block.box(0.0D, 13.0D, 0.0D, 16.0D, 15.0D, 16.0D); @@ -33,12 +32,6 @@ public HugeCloverPetalBlock(Properties properties) this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH)); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) { return SHAPE; diff --git a/common/src/main/java/biomesoplenty/block/HugeLilyPadBlock.java b/common/src/main/java/biomesoplenty/block/HugeLilyPadBlock.java index e9249476b..204cf9b8c 100644 --- a/common/src/main/java/biomesoplenty/block/HugeLilyPadBlock.java +++ b/common/src/main/java/biomesoplenty/block/HugeLilyPadBlock.java @@ -31,7 +31,6 @@ public class HugeLilyPadBlock extends BushBlock { - public static final MapCodec CODEC = simpleCodec(HugeLilyPadBlock::new); public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING; public static final EnumProperty QUARTER = EnumProperty.create("quarter", QuarterProperty.class); @@ -43,12 +42,6 @@ public HugeLilyPadBlock(Properties properties) this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH).setValue(QUARTER, QuarterProperty.SOUTH_WEST)); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) { diff --git a/common/src/main/java/biomesoplenty/block/LeafPileBlock.java b/common/src/main/java/biomesoplenty/block/LeafPileBlock.java index 61e166036..b2995482a 100644 --- a/common/src/main/java/biomesoplenty/block/LeafPileBlock.java +++ b/common/src/main/java/biomesoplenty/block/LeafPileBlock.java @@ -26,7 +26,6 @@ public class LeafPileBlock extends BushBlock { - public static final MapCodec CODEC = simpleCodec(LeafPileBlock::new); protected static final VoxelShape NORMAL = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 4.0D, 16.0D); public LeafPileBlock(Properties properties) @@ -34,12 +33,6 @@ public LeafPileBlock(Properties properties) super(properties); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext selectionContext) { diff --git a/common/src/main/java/biomesoplenty/block/LumaloopBlock.java b/common/src/main/java/biomesoplenty/block/LumaloopBlock.java index a7854e09e..0fe100588 100644 --- a/common/src/main/java/biomesoplenty/block/LumaloopBlock.java +++ b/common/src/main/java/biomesoplenty/block/LumaloopBlock.java @@ -26,7 +26,6 @@ public class LumaloopBlock extends GrowingPlantHeadBlock { - public static final MapCodec CODEC = simpleCodec(LumaloopBlock::new); public static final BooleanProperty LIT = BlockStateProperties.LIT; public static final VoxelShape SHAPE = Block.box(1.0D, 0.0D, 1.0D, 15.0D, 16.0D, 15.0D); public static final int MAX_AGE = 8; @@ -39,12 +38,6 @@ public LumaloopBlock(Properties p_i241195_1_) this.registerDefaultState(this.stateDefinition.any().setValue(AGE, 0).setValue(LIT, false)); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override public BlockState getStateForPlacement(LevelAccessor p_53949_) { return this.defaultBlockState().setValue(AGE, Integer.valueOf(p_53949_.getRandom().nextInt(MAX_AGE))); diff --git a/common/src/main/java/biomesoplenty/block/LumaloopPlantBlock.java b/common/src/main/java/biomesoplenty/block/LumaloopPlantBlock.java index b620cff53..b36f14fc1 100644 --- a/common/src/main/java/biomesoplenty/block/LumaloopPlantBlock.java +++ b/common/src/main/java/biomesoplenty/block/LumaloopPlantBlock.java @@ -25,7 +25,6 @@ public class LumaloopPlantBlock extends GrowingPlantBodyBlock { - public static final MapCodec CODEC = simpleCodec(LumaloopPlantBlock::new); public static final BooleanProperty LIT = BlockStateProperties.LIT; public static final VoxelShape SHAPE = Block.box(1.0D, 0.0D, 1.0D, 15.0D, 16.0D, 15.0D); @@ -35,12 +34,6 @@ public LumaloopPlantBlock(Properties p_i241195_1_) this.registerDefaultState(this.stateDefinition.any().setValue(LIT, false)); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override protected GrowingPlantHeadBlock getHeadBlock() { return (GrowingPlantHeadBlock) BOPBlocks.LUMALOOP; diff --git a/common/src/main/java/biomesoplenty/block/MushroomBlockBOP.java b/common/src/main/java/biomesoplenty/block/MushroomBlockBOP.java index 20b2efbce..336b2f8ad 100644 --- a/common/src/main/java/biomesoplenty/block/MushroomBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/MushroomBlockBOP.java @@ -25,7 +25,7 @@ public class MushroomBlockBOP extends MushroomBlock implements BonemealableBlock { public MushroomBlockBOP(Block.Properties properties) { - super(null, properties); + super(properties, null); } @Override @@ -76,7 +76,7 @@ public boolean growMushroom(ServerLevel level, BlockPos p_226940_2_, BlockState } @Override - public boolean isValidBonemealTarget(LevelReader worldIn, BlockPos pos, BlockState state) { + public boolean isValidBonemealTarget(LevelReader worldIn, BlockPos pos, BlockState state, boolean b) { return true; } diff --git a/common/src/main/java/biomesoplenty/block/NullBlock.java b/common/src/main/java/biomesoplenty/block/NullBlock.java index 9ac142869..b434fa764 100644 --- a/common/src/main/java/biomesoplenty/block/NullBlock.java +++ b/common/src/main/java/biomesoplenty/block/NullBlock.java @@ -55,7 +55,7 @@ public void animateTick(BlockState p_221253_, Level p_221254_, BlockPos p_221255 } @Override - public boolean isValidBonemealTarget(LevelReader p_153797_, BlockPos p_153798_, BlockState p_153799_) + public boolean isValidBonemealTarget(LevelReader p_153797_, BlockPos p_153798_, BlockState p_153799_, boolean b) { return p_153797_.getBlockState(p_153798_.above()).isAir(); } diff --git a/common/src/main/java/biomesoplenty/block/NullPlantBlock.java b/common/src/main/java/biomesoplenty/block/NullPlantBlock.java index 34e809706..ea71e3012 100644 --- a/common/src/main/java/biomesoplenty/block/NullPlantBlock.java +++ b/common/src/main/java/biomesoplenty/block/NullPlantBlock.java @@ -59,7 +59,7 @@ public boolean canBeReplaced(BlockState p_53910_, BlockPlaceContext p_53911_) } @Override - public boolean isValidBonemealTarget(LevelReader levelReader, BlockPos blockPos, BlockState blockState) + public boolean isValidBonemealTarget(LevelReader levelReader, BlockPos blockPos, BlockState blockState, boolean b) { return true; } diff --git a/common/src/main/java/biomesoplenty/block/OriginGrassBlock.java b/common/src/main/java/biomesoplenty/block/OriginGrassBlock.java index 1a03d522f..b2d344b79 100644 --- a/common/src/main/java/biomesoplenty/block/OriginGrassBlock.java +++ b/common/src/main/java/biomesoplenty/block/OriginGrassBlock.java @@ -13,5 +13,5 @@ public OriginGrassBlock(Properties properties) } @Override - public boolean isValidBonemealTarget(LevelReader levelReader, BlockPos blockPos, BlockState blockState) { return false; } + public boolean isValidBonemealTarget(LevelReader levelReader, BlockPos blockPos, BlockState blockState, boolean b) { return false; } } diff --git a/common/src/main/java/biomesoplenty/block/OvergrownSandBlock.java b/common/src/main/java/biomesoplenty/block/OvergrownSandBlock.java index 6850c315a..e829120bd 100644 --- a/common/src/main/java/biomesoplenty/block/OvergrownSandBlock.java +++ b/common/src/main/java/biomesoplenty/block/OvergrownSandBlock.java @@ -11,24 +11,30 @@ import net.minecraft.core.Holder; import net.minecraft.core.registries.Registries; import net.minecraft.server.level.ServerLevel; -import net.minecraft.util.ColorRGBA; import net.minecraft.util.RandomSource; +import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.BonemealableBlock; -import net.minecraft.world.level.block.ColoredFallingBlock; +import net.minecraft.world.level.block.FallingBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.placement.PlacedFeature; import net.minecraft.world.level.lighting.LightEngine; import java.util.Optional; -public class OvergrownSandBlock extends ColoredFallingBlock implements BonemealableBlock +public class OvergrownSandBlock extends FallingBlock implements BonemealableBlock { - public OvergrownSandBlock(ColorRGBA dustColor, Properties properties) + private final int dustColor; + public OvergrownSandBlock(int dustColor, Properties properties) { - super(dustColor, properties); + super(properties); + this.dustColor = dustColor; + } + @Override + public int getDustColor(BlockState $$0, BlockGetter $$1, BlockPos $$2) { + return dustColor; } private static boolean canBeGrass(BlockState p_56824_, LevelReader p_56825_, BlockPos p_56826_) @@ -56,7 +62,7 @@ public void randomTick(BlockState p_222508_, ServerLevel p_222509_, BlockPos p_2 } @Override - public boolean isValidBonemealTarget(LevelReader p_153797_, BlockPos p_153798_, BlockState p_153799_) + public boolean isValidBonemealTarget(LevelReader p_153797_, BlockPos p_153798_, BlockState p_153799_, boolean b) { return p_153797_.getBlockState(p_153798_.above()).isAir(); } @@ -71,7 +77,7 @@ public boolean isBonemealSuccess(Level p_153802_, RandomSource p_153803_, BlockP public void performBonemeal(ServerLevel p_221270_, RandomSource p_221271_, BlockPos p_221272_, BlockState p_221273_) { BlockPos blockpos = p_221272_.above(); - BlockState blockstate = Blocks.SHORT_GRASS.defaultBlockState(); + BlockState blockstate = Blocks.GRASS.defaultBlockState(); Optional> optional = p_221270_.registryAccess().registryOrThrow(Registries.PLACED_FEATURE).getHolder(BOPVegetationPlacements.SPROUT_BONEMEAL); label49: diff --git a/common/src/main/java/biomesoplenty/block/PressurePlateBlockBOP.java b/common/src/main/java/biomesoplenty/block/PressurePlateBlockBOP.java new file mode 100644 index 000000000..c17062acb --- /dev/null +++ b/common/src/main/java/biomesoplenty/block/PressurePlateBlockBOP.java @@ -0,0 +1,10 @@ +package biomesoplenty.block; + +import net.minecraft.world.level.block.PressurePlateBlock; +import net.minecraft.world.level.block.state.properties.BlockSetType; + +public class PressurePlateBlockBOP extends PressurePlateBlock { + public PressurePlateBlockBOP(BlockSetType $$2, Properties $$1, Sensitivity $$0) { + super($$0, $$1, $$2); + } +} diff --git a/common/src/main/java/biomesoplenty/block/SandBlockBOP.java b/common/src/main/java/biomesoplenty/block/SandBlockBOP.java index 4e33a2941..f414f5aab 100644 --- a/common/src/main/java/biomesoplenty/block/SandBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/SandBlockBOP.java @@ -4,14 +4,23 @@ ******************************************************************************/ package biomesoplenty.block; -import net.minecraft.util.ColorRGBA; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.ColoredFallingBlock; +import net.minecraft.world.level.block.FallingBlock; +import net.minecraft.world.level.block.state.BlockState; -public class SandBlockBOP extends ColoredFallingBlock +public class SandBlockBOP extends FallingBlock { - public SandBlockBOP(ColorRGBA dustColor, Block.Properties properties) + private final int dustColor; + public SandBlockBOP(int dustColor, Block.Properties properties) { - super(dustColor, properties); + super(properties); + this.dustColor = dustColor; + } + + @Override + public int getDustColor(BlockState $$0, BlockGetter $$1, BlockPos $$2) { + return dustColor; } } diff --git a/common/src/main/java/biomesoplenty/block/SaplingBlockBOP.java b/common/src/main/java/biomesoplenty/block/SaplingBlockBOP.java index 787359805..8e7b0e793 100644 --- a/common/src/main/java/biomesoplenty/block/SaplingBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/SaplingBlockBOP.java @@ -5,6 +5,8 @@ package biomesoplenty.block; import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.block.trees.BOPTreeGrower; +import biomesoplenty.block.trees.BOPTreeGrowers; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; @@ -15,7 +17,7 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.BonemealableBlock; import net.minecraft.world.level.block.SaplingBlock; -import net.minecraft.world.level.block.grower.TreeGrower; +import net.minecraft.world.level.block.grower.AbstractTreeGrower; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BlockStateProperties; @@ -27,11 +29,11 @@ public class SaplingBlockBOP extends SaplingBlock implements BonemealableBlock { public static final IntegerProperty STAGE = BlockStateProperties.STAGE; public static final VoxelShape SHAPE = Block.box(2.0D, 0.0D, 2.0D, 14.0D, 12.0D, 14.0D); - private final TreeGrower tree; + private final BOPTreeGrower tree; - public SaplingBlockBOP(TreeGrower tree, Block.Properties properties) + public SaplingBlockBOP(BOPTreeGrower tree, Block.Properties properties) { - super(tree, properties); + super((AbstractTreeGrower) tree, properties); this.tree = tree; this.registerDefaultState(this.stateDefinition.any().setValue(STAGE, Integer.valueOf(0))); } @@ -51,17 +53,15 @@ public void performBonemeal(ServerLevel world, RandomSource rand, BlockPos pos, } else { - this.tree.growTree(world, world.getChunkSource().getGenerator(), pos, state, rand); + ((AbstractTreeGrower) this.tree).growTree(world, world.getChunkSource().getGenerator(), pos, state, rand); } } - /** * Whether this IGrowable can grow */ @Override - public boolean isValidBonemealTarget(LevelReader worldIn, BlockPos pos, BlockState state) - { + public boolean isValidBonemealTarget(LevelReader worldIn, BlockPos pos, BlockState state, boolean b) { return true; } diff --git a/common/src/main/java/biomesoplenty/block/SpanishMossBlock.java b/common/src/main/java/biomesoplenty/block/SpanishMossBlock.java index fe2b7875a..fa61059e7 100644 --- a/common/src/main/java/biomesoplenty/block/SpanishMossBlock.java +++ b/common/src/main/java/biomesoplenty/block/SpanishMossBlock.java @@ -18,19 +18,12 @@ public class SpanishMossBlock extends GrowingPlantBodyBlock { - public static final MapCodec CODEC = simpleCodec(SpanishMossBlock::new); public static final VoxelShape SHAPE = Block.box(1.0D, 0.0D, 1.0D, 15.0D, 16.0D, 15.0D); public SpanishMossBlock(Properties p_i241195_1_) { super(p_i241195_1_, Direction.DOWN, SHAPE, false); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override protected GrowingPlantHeadBlock getHeadBlock() { return (GrowingPlantHeadBlock) BOPBlocks.SPANISH_MOSS; diff --git a/common/src/main/java/biomesoplenty/block/SpanishMossBottomBlock.java b/common/src/main/java/biomesoplenty/block/SpanishMossBottomBlock.java index 8ff85c5ba..8fc957203 100644 --- a/common/src/main/java/biomesoplenty/block/SpanishMossBottomBlock.java +++ b/common/src/main/java/biomesoplenty/block/SpanishMossBottomBlock.java @@ -19,19 +19,12 @@ public class SpanishMossBottomBlock extends GrowingPlantHeadBlock { - public static final MapCodec CODEC = simpleCodec(SpanishMossBottomBlock::new); protected static final VoxelShape SHAPE = Block.box(1.0D, 0.0D, 1.0D, 15.0D, 16.0D, 15.0D); public SpanishMossBottomBlock(Properties p_i241194_1_) { super(p_i241194_1_, Direction.DOWN, SHAPE, false, 0.01D); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override protected int getBlocksToGrowWhenBonemealed(RandomSource p_230332_1_) { return NetherVines.getBlocksToGrowWhenBonemealed(p_230332_1_); diff --git a/common/src/main/java/biomesoplenty/block/StandingSignBlockBOP.java b/common/src/main/java/biomesoplenty/block/StandingSignBlockBOP.java index ad165e952..348cbb615 100644 --- a/common/src/main/java/biomesoplenty/block/StandingSignBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/StandingSignBlockBOP.java @@ -15,7 +15,7 @@ public class StandingSignBlockBOP extends StandingSignBlock { public StandingSignBlockBOP(Properties properties, WoodType type) { - super(type, properties); + super(properties, type); } @Override diff --git a/common/src/main/java/biomesoplenty/block/TinyCactusBlock.java b/common/src/main/java/biomesoplenty/block/TinyCactusBlock.java index 791a309bb..a7d2eccad 100644 --- a/common/src/main/java/biomesoplenty/block/TinyCactusBlock.java +++ b/common/src/main/java/biomesoplenty/block/TinyCactusBlock.java @@ -20,7 +20,6 @@ public class TinyCactusBlock extends BushBlock { - public static final MapCodec CODEC = simpleCodec(TinyCactusBlock::new); protected static final VoxelShape NORMAL = Block.box(3.0D, 0.0D, 3.0D, 13.0D, 13.0D, 13.0D); public TinyCactusBlock(Properties properties) @@ -28,12 +27,6 @@ public TinyCactusBlock(Properties properties) super(properties); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext selectionContext) { diff --git a/common/src/main/java/biomesoplenty/block/TrapDoorBlockBOP.java b/common/src/main/java/biomesoplenty/block/TrapDoorBlockBOP.java new file mode 100644 index 000000000..4afb421b2 --- /dev/null +++ b/common/src/main/java/biomesoplenty/block/TrapDoorBlockBOP.java @@ -0,0 +1,10 @@ +package biomesoplenty.block; + +import net.minecraft.world.level.block.TrapDoorBlock; +import net.minecraft.world.level.block.state.properties.BlockSetType; + +public class TrapDoorBlockBOP extends TrapDoorBlock { + public TrapDoorBlockBOP(BlockSetType $$1, Properties $$0) { + super($$0, $$1); + } +} diff --git a/common/src/main/java/biomesoplenty/block/WallHangingSignBlockBOP.java b/common/src/main/java/biomesoplenty/block/WallHangingSignBlockBOP.java index b8288cb28..a42781908 100644 --- a/common/src/main/java/biomesoplenty/block/WallHangingSignBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/WallHangingSignBlockBOP.java @@ -14,7 +14,7 @@ public class WallHangingSignBlockBOP extends WallHangingSignBlock { public WallHangingSignBlockBOP(Properties properties, WoodType type) { - super(type, properties); + super(properties, type); } @Override diff --git a/common/src/main/java/biomesoplenty/block/WallSignBlockBOP.java b/common/src/main/java/biomesoplenty/block/WallSignBlockBOP.java index dbc5bf41b..eaea2a224 100644 --- a/common/src/main/java/biomesoplenty/block/WallSignBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/WallSignBlockBOP.java @@ -15,7 +15,7 @@ public class WallSignBlockBOP extends WallSignBlock { public WallSignBlockBOP(Properties properties, WoodType type) { - super(type, properties); + super(properties, type); } @Override diff --git a/common/src/main/java/biomesoplenty/block/WaterlilyBlockBOP.java b/common/src/main/java/biomesoplenty/block/WaterlilyBlockBOP.java index d3f28220c..287602f93 100644 --- a/common/src/main/java/biomesoplenty/block/WaterlilyBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/WaterlilyBlockBOP.java @@ -25,18 +25,12 @@ public class WaterlilyBlockBOP extends BushBlock { - public static final MapCodec CODEC = simpleCodec(WaterlilyBlockBOP::new); protected static final VoxelShape SHAPE = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 8.0D, 16.0D); public WaterlilyBlockBOP(BlockBehaviour.Properties p_58162_) { super(p_58162_); } - @Override - public MapCodec codec() - { - return CODEC; - } @Override public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext selectionContext) diff --git a/common/src/main/java/biomesoplenty/block/WebbingBlock.java b/common/src/main/java/biomesoplenty/block/WebbingBlock.java index bb835761c..28391cb93 100644 --- a/common/src/main/java/biomesoplenty/block/WebbingBlock.java +++ b/common/src/main/java/biomesoplenty/block/WebbingBlock.java @@ -21,18 +21,10 @@ public class WebbingBlock extends MultifaceBlock { - public static final MapCodec CODEC = simpleCodec(WebbingBlock::new); - public WebbingBlock(BlockBehaviour.Properties p_153282_) { super(p_153282_); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override public void entityInside(BlockState p_58180_, Level p_58181_, BlockPos p_58182_, Entity p_58183_) { diff --git a/common/src/main/java/biomesoplenty/block/WispjellyBlock.java b/common/src/main/java/biomesoplenty/block/WispjellyBlock.java index d2bf759ff..a5f5394ee 100644 --- a/common/src/main/java/biomesoplenty/block/WispjellyBlock.java +++ b/common/src/main/java/biomesoplenty/block/WispjellyBlock.java @@ -17,19 +17,11 @@ public class WispjellyBlock extends Block { - public static final MapCodec CODEC = simpleCodec(WispjellyBlock::new); - public WispjellyBlock(Properties p_153282_) { super(p_153282_); } - @Override - public MapCodec codec() - { - return CODEC; - } - @Override public boolean skipRendering(BlockState p_53972_, BlockState p_53973_, Direction p_53974_) { return p_53973_.is(this) ? true : super.skipRendering(p_53972_, p_53973_, p_53974_); diff --git a/common/src/main/java/biomesoplenty/block/trees/BOPMegaTreeGrower.java b/common/src/main/java/biomesoplenty/block/trees/BOPMegaTreeGrower.java new file mode 100644 index 000000000..11a714727 --- /dev/null +++ b/common/src/main/java/biomesoplenty/block/trees/BOPMegaTreeGrower.java @@ -0,0 +1,9 @@ +package biomesoplenty.block.trees; + +import net.minecraft.resources.ResourceKey; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; + +public interface BOPMegaTreeGrower extends BOPTreeGrower { + ResourceKey> getConfiguredMegaFeature(RandomSource random); +} diff --git a/common/src/main/java/biomesoplenty/block/trees/BOPMegaTreeGrowerImpl.java b/common/src/main/java/biomesoplenty/block/trees/BOPMegaTreeGrowerImpl.java new file mode 100644 index 000000000..5e80bbb09 --- /dev/null +++ b/common/src/main/java/biomesoplenty/block/trees/BOPMegaTreeGrowerImpl.java @@ -0,0 +1,56 @@ +package biomesoplenty.block.trees; + +import java.util.Optional; +import net.minecraft.resources.ResourceKey; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.block.grower.AbstractMegaTreeGrower; +import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; + +public class BOPMegaTreeGrowerImpl extends AbstractMegaTreeGrower implements BOPMegaTreeGrower { + + private final float secondaryChance; + private final Optional>> megaTree; + private final Optional>> secondaryMegaTree; + private final Optional>> tree; + private final Optional>> secondaryTree; + private final Optional>> flowers; + private final Optional>> secondaryFlowers; + + public BOPMegaTreeGrowerImpl(float secondaryChance, + Optional>> megaTree, + Optional>> secondaryMegaTree, + Optional>> tree, + Optional>> secondaryTree, + Optional>> flowers, + Optional>> secondaryFlowers) { + this.secondaryChance = secondaryChance; + this.megaTree = megaTree; + this.secondaryMegaTree = secondaryMegaTree; + this.tree = tree; + this.secondaryTree = secondaryTree; + this.flowers = flowers; + this.secondaryFlowers = secondaryFlowers; + } + + @Override + public ResourceKey> getConfiguredFeature(RandomSource random, + boolean hasFlowers) { + if (random.nextFloat() < this.secondaryChance) { + if (hasFlowers && this.secondaryFlowers.isPresent()) { + return this.secondaryFlowers.get(); + } + + if (this.secondaryTree.isPresent()) { + return this.secondaryTree.get(); + } + } + + return hasFlowers && this.flowers.isPresent() ? this.flowers.get() : this.tree.orElse(null); + } + + @Override + public ResourceKey> getConfiguredMegaFeature(RandomSource $$0) { + return this.secondaryMegaTree.isPresent() && $$0.nextFloat() < this.secondaryChance + ? this.secondaryMegaTree.get() : this.megaTree.orElse(null); + } +} diff --git a/common/src/main/java/biomesoplenty/block/trees/BOPTreeGrower.java b/common/src/main/java/biomesoplenty/block/trees/BOPTreeGrower.java new file mode 100644 index 000000000..c540b7f6b --- /dev/null +++ b/common/src/main/java/biomesoplenty/block/trees/BOPTreeGrower.java @@ -0,0 +1,9 @@ +package biomesoplenty.block.trees; + +import net.minecraft.resources.ResourceKey; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; + +public interface BOPTreeGrower { + ResourceKey> getConfiguredFeature(RandomSource random, boolean hasFlowers); +} diff --git a/common/src/main/java/biomesoplenty/block/trees/BOPTreeGrowerImpl.java b/common/src/main/java/biomesoplenty/block/trees/BOPTreeGrowerImpl.java new file mode 100644 index 000000000..6aa879733 --- /dev/null +++ b/common/src/main/java/biomesoplenty/block/trees/BOPTreeGrowerImpl.java @@ -0,0 +1,44 @@ +package biomesoplenty.block.trees; + +import java.util.Optional; +import net.minecraft.resources.ResourceKey; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.block.grower.AbstractTreeGrower; +import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; + +public class BOPTreeGrowerImpl extends AbstractTreeGrower implements BOPTreeGrower { + + private final float secondaryChance; + private final Optional>> tree; + private final Optional>> secondaryTree; + private final Optional>> flowers; + private final Optional>> secondaryFlowers; + + public BOPTreeGrowerImpl(float secondaryChance, + Optional>> tree, + Optional>> secondaryTree, + Optional>> flowers, + Optional>> secondaryFlowers) { + this.secondaryChance = secondaryChance; + this.tree = tree; + this.secondaryTree = secondaryTree; + this.flowers = flowers; + this.secondaryFlowers = secondaryFlowers; + } + + @Override + public ResourceKey> getConfiguredFeature(RandomSource random, + boolean hasFlowers) { + if (random.nextFloat() < this.secondaryChance) { + if (hasFlowers && this.secondaryFlowers.isPresent()) { + return this.secondaryFlowers.get(); + } + + if (this.secondaryTree.isPresent()) { + return this.secondaryTree.get(); + } + } + + return hasFlowers && this.flowers.isPresent() ? this.flowers.get() : this.tree.orElse(null); + } +} diff --git a/common/src/main/java/biomesoplenty/block/trees/BOPTreeGrowers.java b/common/src/main/java/biomesoplenty/block/trees/BOPTreeGrowers.java index 90b51ca98..720154dcb 100644 --- a/common/src/main/java/biomesoplenty/block/trees/BOPTreeGrowers.java +++ b/common/src/main/java/biomesoplenty/block/trees/BOPTreeGrowers.java @@ -1,52 +1,56 @@ -/******************************************************************************* - * Copyright 2023, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ package biomesoplenty.block.trees; -import biomesoplenty.api.BOPAPI; import biomesoplenty.worldgen.feature.BOPTreeFeatures; import net.minecraft.resources.ResourceKey; -import net.minecraft.world.level.block.grower.TreeGrower; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; import java.util.Optional; -public class BOPTreeGrowers -{ - public static final TreeGrower CYPRESS = register("cypress", Optional.of(BOPTreeFeatures.CYPRESS_TREE), Optional.empty()); - public static final TreeGrower DEAD = register("dead", 0.5F, Optional.empty(), Optional.empty(), Optional.of(BOPTreeFeatures.DEAD_TWIGLET_TREE), Optional.of(BOPTreeFeatures.SMALL_DEAD_TREE), Optional.empty(), Optional.empty()); - public static final TreeGrower EMPYREAL = register("empyreal", Optional.of(BOPTreeFeatures.EMPYREAL_TREE), Optional.empty()); - public static final TreeGrower FIR = register("fir", Optional.of(BOPTreeFeatures.FIR_TREE), Optional.empty(), Optional.of(BOPTreeFeatures.FIR_TREE_LARGE), Optional.empty()); - public static final TreeGrower FLOWERING_OAK = register("flowering_oak", 0.1F, Optional.empty(), Optional.empty(), Optional.of(BOPTreeFeatures.FLOWERING_OAK_TREE), Optional.of(BOPTreeFeatures.BIG_FLOWERING_OAK_TREE), Optional.of(BOPTreeFeatures.FLOWERING_OAK_TREE_BEES), Optional.of(BOPTreeFeatures.BIG_FLOWERING_OAK_TREE_BEES)); - public static final TreeGrower HELLBARK = register("hellbark", Optional.of(BOPTreeFeatures.HELLBARK_TREE), Optional.of(BOPTreeFeatures.BIG_HELLBARK_TREE)); - public static final TreeGrower JACARANDA = register("jacaranda", 0.1F, Optional.empty(), Optional.empty(), Optional.of(BOPTreeFeatures.JACARANDA_TREE), Optional.of(BOPTreeFeatures.BIG_JACARANDA_TREE), Optional.of(BOPTreeFeatures.JACARANDA_TREE_BEES), Optional.of(BOPTreeFeatures.BIG_JACARANDA_TREE_BEES)); - public static final TreeGrower MAGIC = register("magic", Optional.of(BOPTreeFeatures.MAGIC_TREE), Optional.of(BOPTreeFeatures.BIG_MAGIC_TREE)); - public static final TreeGrower MAHOGANY = register("mahogany", Optional.of(BOPTreeFeatures.MAHOGANY_TREE), Optional.empty()); - public static final TreeGrower ORANGE_MAPLE = register("orange_maple", Optional.of(BOPTreeFeatures.ORANGE_MAPLE_TREE), Optional.of(BOPTreeFeatures.BIG_ORANGE_MAPLE_TREE)); - public static final TreeGrower ORIGIN = register("origin", Optional.of(BOPTreeFeatures.ORIGIN_TREE), Optional.of(BOPTreeFeatures.BIG_ORIGIN_TREE)); - public static final TreeGrower PALM = register("palm", Optional.of(BOPTreeFeatures.PALM_TREE), Optional.empty()); - public static final TreeGrower PINE = register("pine", Optional.of(BOPTreeFeatures.PINE_TREE), Optional.empty()); - public static final TreeGrower RAINBOW_BIRCH = register("rainbow_birch", Optional.of(BOPTreeFeatures.RAINBOW_BIRCH_TREE), Optional.of(BOPTreeFeatures.BIG_RAINBOW_BIRCH_TREE)); - public static final TreeGrower RED_MAPLE = register("red_maple", Optional.of(BOPTreeFeatures.RED_MAPLE_TREE), Optional.of(BOPTreeFeatures.BIG_RED_MAPLE_TREE)); - public static final TreeGrower REDWOOD = register("redwood", Optional.of(BOPTreeFeatures.REDWOOD_TREE), Optional.empty(), Optional.of(BOPTreeFeatures.REDWOOD_TREE_MEDIUM), Optional.of(BOPTreeFeatures.REDWOOD_TREE_LARGE)); - public static final TreeGrower SNOWBLOSSOM = register("snowblossom", Optional.of(BOPTreeFeatures.SNOWBLOSSOM_TREE), Optional.empty()); - public static final TreeGrower UMBRAN = register("umbran", Optional.of(BOPTreeFeatures.UMBRAN_TREE), Optional.empty(), Optional.of(BOPTreeFeatures.TALL_UMBRAN_TREE), Optional.empty()); - public static final TreeGrower WILLOW = register("willow", Optional.of(BOPTreeFeatures.WILLOW_TREE), Optional.of(BOPTreeFeatures.BAYOU_TREE)); - public static final TreeGrower YELLOW_MAPLE = register("yellow_maple", Optional.of(BOPTreeFeatures.YELLOW_MAPLE_TREE), Optional.of(BOPTreeFeatures.BIG_YELLOW_MAPLE_TREE)); +public class BOPTreeGrowers { - private static TreeGrower register(String name, float secondaryChance, Optional>> megaTree, Optional>> secondaryMegaTree, Optional>> tree, Optional>> secondaryTree, Optional>> flowers, Optional>> secondaryFlowers) - { - return new TreeGrower(String.format("%s:%s", BOPAPI.MOD_ID, name), secondaryChance, megaTree, secondaryMegaTree, tree, secondaryTree, flowers, secondaryFlowers); - } + private static BOPMegaTreeGrowerImpl register(float secondaryChance, + Optional>> megaTree, + Optional>> secondaryMegaTree, + Optional>> tree, + Optional>> secondaryTree, + Optional>> flowers, + Optional>> secondaryFlowers) { + return new BOPMegaTreeGrowerImpl(secondaryChance, + megaTree, secondaryMegaTree, tree, secondaryTree, flowers, secondaryFlowers); + } - private static TreeGrower register(String name, Optional>> tree, Optional>> secondaryTree) - { - return register(name, 0.1F, Optional.empty(), Optional.empty(), tree, secondaryTree, Optional.empty(), Optional.empty()); - } + private static BOPTreeGrowerImpl register( + Optional>> tree, + Optional>> secondaryTree) { + return new BOPTreeGrowerImpl(0.1F, tree, secondaryTree, Optional.empty(), Optional.empty()); + } - private static TreeGrower register(String name, Optional>> tree, Optional>> secondaryTree, Optional>> megaTree, Optional>> secondaryMegaTree) - { - return register(name, 0.1F, megaTree, secondaryMegaTree, tree, secondaryTree, Optional.empty(), Optional.empty()); - } + private static BOPMegaTreeGrowerImpl register( + Optional>> tree, + Optional>> secondaryTree, + Optional>> megaTree, + Optional>> secondaryMegaTree) { + return register(0.1F, megaTree, secondaryMegaTree, tree, secondaryTree, Optional.empty(), Optional.empty()); + } + + public static final BOPTreeGrowerImpl CYPRESS = register(Optional.of(BOPTreeFeatures.CYPRESS_TREE), Optional.empty()); + public static final BOPMegaTreeGrowerImpl DEAD = register(0.5F, Optional.empty(), Optional.empty(), Optional.of(BOPTreeFeatures.DEAD_TWIGLET_TREE), Optional.of(BOPTreeFeatures.SMALL_DEAD_TREE), Optional.empty(), Optional.empty()); + public static final BOPTreeGrowerImpl EMPYREAL = register(Optional.of(BOPTreeFeatures.EMPYREAL_TREE), Optional.empty()); + public static final BOPMegaTreeGrowerImpl FIR = register(Optional.of(BOPTreeFeatures.FIR_TREE), Optional.empty(), Optional.of(BOPTreeFeatures.FIR_TREE_LARGE), Optional.empty()); + public static final BOPMegaTreeGrowerImpl FLOWERING_OAK = register(0.1F, Optional.empty(), Optional.empty(), Optional.of(BOPTreeFeatures.FLOWERING_OAK_TREE), Optional.of(BOPTreeFeatures.BIG_FLOWERING_OAK_TREE), Optional.of(BOPTreeFeatures.FLOWERING_OAK_TREE_BEES), Optional.of(BOPTreeFeatures.BIG_FLOWERING_OAK_TREE_BEES)); + public static final BOPTreeGrowerImpl HELLBARK = register(Optional.of(BOPTreeFeatures.HELLBARK_TREE), Optional.of(BOPTreeFeatures.BIG_HELLBARK_TREE)); + public static final BOPMegaTreeGrowerImpl JACARANDA = register(0.1F, Optional.empty(), Optional.empty(), Optional.of(BOPTreeFeatures.JACARANDA_TREE), Optional.of(BOPTreeFeatures.BIG_JACARANDA_TREE), Optional.of(BOPTreeFeatures.JACARANDA_TREE_BEES), Optional.of(BOPTreeFeatures.BIG_JACARANDA_TREE_BEES)); + public static final BOPTreeGrowerImpl MAGIC = register(Optional.of(BOPTreeFeatures.MAGIC_TREE), Optional.of(BOPTreeFeatures.BIG_MAGIC_TREE)); + public static final BOPTreeGrowerImpl MAHOGANY = register(Optional.of(BOPTreeFeatures.MAHOGANY_TREE), Optional.empty()); + public static final BOPTreeGrowerImpl ORANGE_MAPLE = register(Optional.of(BOPTreeFeatures.ORANGE_MAPLE_TREE), Optional.of(BOPTreeFeatures.BIG_ORANGE_MAPLE_TREE)); + public static final BOPTreeGrowerImpl ORIGIN = register(Optional.of(BOPTreeFeatures.ORIGIN_TREE), Optional.of(BOPTreeFeatures.BIG_ORIGIN_TREE)); + public static final BOPTreeGrowerImpl PALM = register(Optional.of(BOPTreeFeatures.PALM_TREE), Optional.empty()); + public static final BOPTreeGrowerImpl PINE = register(Optional.of(BOPTreeFeatures.PINE_TREE), Optional.empty()); + public static final BOPTreeGrowerImpl RAINBOW_BIRCH = register(Optional.of(BOPTreeFeatures.RAINBOW_BIRCH_TREE), Optional.of(BOPTreeFeatures.BIG_RAINBOW_BIRCH_TREE)); + public static final BOPTreeGrowerImpl RED_MAPLE = register(Optional.of(BOPTreeFeatures.RED_MAPLE_TREE), Optional.of(BOPTreeFeatures.BIG_RED_MAPLE_TREE)); + public static final BOPMegaTreeGrowerImpl REDWOOD = register(Optional.of(BOPTreeFeatures.REDWOOD_TREE), Optional.empty(), Optional.of(BOPTreeFeatures.REDWOOD_TREE_MEDIUM), Optional.of(BOPTreeFeatures.REDWOOD_TREE_LARGE)); + public static final BOPTreeGrowerImpl SNOWBLOSSOM = register(Optional.of(BOPTreeFeatures.SNOWBLOSSOM_TREE), Optional.empty()); + public static final BOPMegaTreeGrowerImpl UMBRAN = register(Optional.of(BOPTreeFeatures.UMBRAN_TREE), Optional.empty(), Optional.of(BOPTreeFeatures.TALL_UMBRAN_TREE), Optional.empty()); + public static final BOPTreeGrowerImpl WILLOW = register(Optional.of(BOPTreeFeatures.WILLOW_TREE), Optional.of(BOPTreeFeatures.BAYOU_TREE)); + public static final BOPTreeGrowerImpl YELLOW_MAPLE = register(Optional.of(BOPTreeFeatures.YELLOW_MAPLE_TREE), Optional.of(BOPTreeFeatures.BIG_YELLOW_MAPLE_TREE)); } diff --git a/common/src/main/java/biomesoplenty/init/ModBiomes.java b/common/src/main/java/biomesoplenty/init/ModBiomes.java index 2c3ad45b0..cee6ee241 100644 --- a/common/src/main/java/biomesoplenty/init/ModBiomes.java +++ b/common/src/main/java/biomesoplenty/init/ModBiomes.java @@ -5,10 +5,8 @@ package biomesoplenty.init; import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.biome.BOPEndBiomes; import biomesoplenty.biome.BOPNetherBiomes; import biomesoplenty.biome.BOPOverworldBiomes; -import biomesoplenty.core.BiomesOPlenty; import biomesoplenty.worldgen.*; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; @@ -18,9 +16,7 @@ import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.levelgen.carver.ConfiguredWorldCarver; import net.minecraft.world.level.levelgen.placement.PlacedFeature; -import terrablender.api.EndBiomeRegistry; import terrablender.api.Regions; -import terrablender.api.SurfaceRuleManager; public class ModBiomes { @@ -38,11 +34,6 @@ public static void setupTerraBlender() Regions.register(new BOPOverworldRegionRare(ModConfig.generation.bopOverworldRareRegionWeight)); Regions.register(new BOPNetherRegionCommon(ModConfig.generation.bopNetherRegionWeight)); Regions.register(new BOPNetherRegionRare(ModConfig.generation.bopNetherRareRegionWeight)); - - // Register end biomes - EndBiomeRegistry.registerHighlandsBiome(BOPBiomes.END_WILDS, 9); - EndBiomeRegistry.registerHighlandsBiome(BOPBiomes.END_REEF, 6); - EndBiomeRegistry.registerHighlandsBiome(BOPBiomes.END_CORRUPTION, 3); } public static void bootstrapBiomes(BootstapContext context) @@ -120,11 +111,6 @@ public static void bootstrapBiomes(BootstapContext context) register(context, BOPBiomes.UNDERGROWTH, BOPNetherBiomes.undergrowth(placedFeatureGetter, carverGetter)); register(context, BOPBiomes.VISCERAL_HEAP, BOPNetherBiomes.visceralHeap(placedFeatureGetter, carverGetter)); register(context, BOPBiomes.WITHERED_ABYSS, BOPNetherBiomes.witheredAbyss(placedFeatureGetter, carverGetter)); - - // End biomes - register(context, BOPBiomes.END_WILDS, BOPEndBiomes.endWilds(placedFeatureGetter, carverGetter)); - register(context, BOPBiomes.END_REEF, BOPEndBiomes.endReef(placedFeatureGetter, carverGetter)); - register(context, BOPBiomes.END_CORRUPTION, BOPEndBiomes.endCorruption(placedFeatureGetter, carverGetter)); } private static void registerVillagerTypes() diff --git a/common/src/main/java/biomesoplenty/init/ModBlocks.java b/common/src/main/java/biomesoplenty/init/ModBlocks.java index 864fef745..8a7e3ad33 100644 --- a/common/src/main/java/biomesoplenty/init/ModBlocks.java +++ b/common/src/main/java/biomesoplenty/init/ModBlocks.java @@ -16,12 +16,12 @@ import net.minecraft.core.Direction; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; -import net.minecraft.util.ColorRGBA; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.EntityType; import net.minecraft.world.item.Item; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.PressurePlateBlock.Sensitivity; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.NoteBlockInstrument; @@ -45,7 +45,6 @@ private static void registerSurfaceRules() { SurfaceRuleManager.addSurfaceRules(SurfaceRuleManager.RuleCategory.OVERWORLD, BiomesOPlenty.MOD_ID, BOPSurfaceRuleData.overworld()); SurfaceRuleManager.addSurfaceRules(SurfaceRuleManager.RuleCategory.NETHER, BiomesOPlenty.MOD_ID, BOPSurfaceRuleData.nether()); - SurfaceRuleManager.addSurfaceRules(SurfaceRuleManager.RuleCategory.END, BiomesOPlenty.MOD_ID, BOPSurfaceRuleData.end()); } private static void registerBlocks(BiConsumer func) @@ -55,41 +54,41 @@ private static void registerBlocks(BiConsumer func) LIQUID_NULL = register(func, new BloodBlock(BOPFluids.FLOWING_LIQUID_NULL, BlockBehaviour.Properties.of().replaceable().pushReaction(PushReaction.DESTROY).liquid().noCollission().randomTicks().noLootTable().sound(SoundType.EMPTY).strength(100.0F)), "liquid_null"); //Terrain - WHITE_SAND = register(func, new SandBlockBOP(new ColorRGBA(0xF3F1E4), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.QUARTZ).strength(0.5F).sound(SoundType.SAND)), "white_sand"); + WHITE_SAND = register(func, new SandBlockBOP(0xF3F1E4, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.QUARTZ).strength(0.5F).sound(SoundType.SAND)), "white_sand"); WHITE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().strength(0.8F)), "white_sandstone"); - WHITE_SANDSTONE_STAIRS = register(func, new StairBlock(WHITE_SANDSTONE.defaultBlockState(), Block.Properties.ofFullCopy(WHITE_SANDSTONE)), "white_sandstone_stairs"); - WHITE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(WHITE_SANDSTONE)), "white_sandstone_slab"); - WHITE_SANDSTONE_WALL = register(func, new WallBlock(Block.Properties.ofFullCopy(WHITE_SANDSTONE).forceSolidOn()), "white_sandstone_wall"); + WHITE_SANDSTONE_STAIRS = register(func, new StairBlock(WHITE_SANDSTONE.defaultBlockState(), Block.Properties.copy(WHITE_SANDSTONE)), "white_sandstone_stairs"); + WHITE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.copy(WHITE_SANDSTONE)), "white_sandstone_slab"); + WHITE_SANDSTONE_WALL = register(func, new WallBlock(Block.Properties.copy(WHITE_SANDSTONE).forceSolidOn()), "white_sandstone_wall"); SMOOTH_WHITE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().strength(2.0F, 6.0F)), "smooth_white_sandstone"); - SMOOTH_WHITE_SANDSTONE_STAIRS = register(func, new StairBlock(WHITE_SANDSTONE.defaultBlockState(), Block.Properties.ofFullCopy(SMOOTH_WHITE_SANDSTONE)), "smooth_white_sandstone_stairs"); - SMOOTH_WHITE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(SMOOTH_WHITE_SANDSTONE)), "smooth_white_sandstone_slab"); + SMOOTH_WHITE_SANDSTONE_STAIRS = register(func, new StairBlock(WHITE_SANDSTONE.defaultBlockState(), Block.Properties.copy(SMOOTH_WHITE_SANDSTONE)), "smooth_white_sandstone_stairs"); + SMOOTH_WHITE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.copy(SMOOTH_WHITE_SANDSTONE)), "smooth_white_sandstone_slab"); CUT_WHITE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().strength(0.8F)), "cut_white_sandstone"); - CUT_WHITE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(CUT_WHITE_SANDSTONE)), "cut_white_sandstone_slab"); + CUT_WHITE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.copy(CUT_WHITE_SANDSTONE)), "cut_white_sandstone_slab"); CHISELED_WHITE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().strength(0.8F)), "chiseled_white_sandstone"); - ORANGE_SAND = register(func, new SandBlockBOP(new ColorRGBA(0xCC9A61), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.COLOR_ORANGE).strength(0.5F).sound(SoundType.SAND)), "orange_sand"); + ORANGE_SAND = register(func, new SandBlockBOP(0xCC9A61, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.COLOR_ORANGE).strength(0.5F).sound(SoundType.SAND)), "orange_sand"); ORANGE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(0.8F)), "orange_sandstone"); - ORANGE_SANDSTONE_STAIRS = register(func, new StairBlock(ORANGE_SANDSTONE.defaultBlockState(), Block.Properties.ofFullCopy(ORANGE_SANDSTONE)), "orange_sandstone_stairs"); - ORANGE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(ORANGE_SANDSTONE)), "orange_sandstone_slab"); - ORANGE_SANDSTONE_WALL = register(func, new WallBlock(Block.Properties.ofFullCopy(ORANGE_SANDSTONE).forceSolidOn()), "orange_sandstone_wall"); + ORANGE_SANDSTONE_STAIRS = register(func, new StairBlock(ORANGE_SANDSTONE.defaultBlockState(), Block.Properties.copy(ORANGE_SANDSTONE)), "orange_sandstone_stairs"); + ORANGE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.copy(ORANGE_SANDSTONE)), "orange_sandstone_slab"); + ORANGE_SANDSTONE_WALL = register(func, new WallBlock(Block.Properties.copy(ORANGE_SANDSTONE).forceSolidOn()), "orange_sandstone_wall"); SMOOTH_ORANGE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(2.0F, 6.0F)), "smooth_orange_sandstone"); - SMOOTH_ORANGE_SANDSTONE_STAIRS = register(func, new StairBlock(ORANGE_SANDSTONE.defaultBlockState(), Block.Properties.ofFullCopy(SMOOTH_ORANGE_SANDSTONE)), "smooth_orange_sandstone_stairs"); - SMOOTH_ORANGE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(SMOOTH_ORANGE_SANDSTONE)), "smooth_orange_sandstone_slab"); + SMOOTH_ORANGE_SANDSTONE_STAIRS = register(func, new StairBlock(ORANGE_SANDSTONE.defaultBlockState(), Block.Properties.copy(SMOOTH_ORANGE_SANDSTONE)), "smooth_orange_sandstone_stairs"); + SMOOTH_ORANGE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.copy(SMOOTH_ORANGE_SANDSTONE)), "smooth_orange_sandstone_slab"); CUT_ORANGE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(0.8F)), "cut_orange_sandstone"); - CUT_ORANGE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(CUT_ORANGE_SANDSTONE)), "cut_orange_sandstone_slab"); + CUT_ORANGE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.copy(CUT_ORANGE_SANDSTONE)), "cut_orange_sandstone_slab"); CHISELED_ORANGE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(0.8F)), "chiseled_orange_sandstone"); - MOSSY_BLACK_SAND = register(func, new OvergrownSandBlock(new ColorRGBA(0x2D2C2F), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.COLOR_GREEN).strength(0.5F).randomTicks().sound(SoundType.MOSS)), "mossy_black_sand"); - BLACK_SAND = register(func, new SandBlockBOP(new ColorRGBA(0x2D2C2F), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.COLOR_BLACK).strength(0.5F).sound(SoundType.SAND)), "black_sand"); + MOSSY_BLACK_SAND = register(func, new OvergrownSandBlock(0x2D2C2F, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.COLOR_GREEN).strength(0.5F).randomTicks().sound(SoundType.MOSS)), "mossy_black_sand"); + BLACK_SAND = register(func, new SandBlockBOP(0x2D2C2F, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.COLOR_BLACK).strength(0.5F).sound(SoundType.SAND)), "black_sand"); BLACK_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(0.8F)), "black_sandstone"); - BLACK_SANDSTONE_STAIRS = register(func, new StairBlock(BLACK_SANDSTONE.defaultBlockState(), Block.Properties.ofFullCopy(BLACK_SANDSTONE)), "black_sandstone_stairs"); - BLACK_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(BLACK_SANDSTONE)), "black_sandstone_slab"); - BLACK_SANDSTONE_WALL = register(func, new WallBlock(Block.Properties.ofFullCopy(BLACK_SANDSTONE).forceSolidOn()), "black_sandstone_wall"); + BLACK_SANDSTONE_STAIRS = register(func, new StairBlock(BLACK_SANDSTONE.defaultBlockState(), Block.Properties.copy(BLACK_SANDSTONE)), "black_sandstone_stairs"); + BLACK_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.copy(BLACK_SANDSTONE)), "black_sandstone_slab"); + BLACK_SANDSTONE_WALL = register(func, new WallBlock(Block.Properties.copy(BLACK_SANDSTONE).forceSolidOn()), "black_sandstone_wall"); SMOOTH_BLACK_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(2.0F, 6.0F)), "smooth_black_sandstone"); - SMOOTH_BLACK_SANDSTONE_STAIRS = register(func, new StairBlock(BLACK_SANDSTONE.defaultBlockState(), Block.Properties.ofFullCopy(SMOOTH_BLACK_SANDSTONE)), "smooth_black_sandstone_stairs"); - SMOOTH_BLACK_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(SMOOTH_BLACK_SANDSTONE)), "smooth_black_sandstone_slab"); + SMOOTH_BLACK_SANDSTONE_STAIRS = register(func, new StairBlock(BLACK_SANDSTONE.defaultBlockState(), Block.Properties.copy(SMOOTH_BLACK_SANDSTONE)), "smooth_black_sandstone_stairs"); + SMOOTH_BLACK_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.copy(SMOOTH_BLACK_SANDSTONE)), "smooth_black_sandstone_slab"); CUT_BLACK_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(0.8F)), "cut_black_sandstone"); - CUT_BLACK_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(CUT_BLACK_SANDSTONE)), "cut_black_sandstone_slab"); + CUT_BLACK_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.copy(CUT_BLACK_SANDSTONE)), "cut_black_sandstone_slab"); CHISELED_BLACK_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(0.8F)), "chiseled_black_sandstone"); MapColor tc1 = MapColor.GOLD; @@ -111,11 +110,11 @@ private static void registerBlocks(BiConsumer func) BRIMSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_YELLOW).requiresCorrectToolForDrops().strength(0.5F)), "brimstone"); BRIMSTONE_BRICKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_YELLOW).requiresCorrectToolForDrops().strength(1.0F, 3.0F)), "brimstone_bricks"); - BRIMSTONE_BRICK_STAIRS = register(func, new StairBlock(BRIMSTONE_BRICKS.defaultBlockState(), Block.Properties.ofFullCopy(BRIMSTONE_BRICKS)), "brimstone_brick_stairs"); - BRIMSTONE_BRICK_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(BRIMSTONE_BRICKS)), "brimstone_brick_slab"); - BRIMSTONE_BRICK_WALL = register(func, new WallBlock(Block.Properties.ofFullCopy(BRIMSTONE_BRICKS).forceSolidOn()), "brimstone_brick_wall"); + BRIMSTONE_BRICK_STAIRS = register(func, new StairBlock(BRIMSTONE_BRICKS.defaultBlockState(), Block.Properties.copy(BRIMSTONE_BRICKS)), "brimstone_brick_stairs"); + BRIMSTONE_BRICK_SLAB = register(func, new SlabBlock(Block.Properties.copy(BRIMSTONE_BRICKS)), "brimstone_brick_slab"); + BRIMSTONE_BRICK_WALL = register(func, new WallBlock(Block.Properties.copy(BRIMSTONE_BRICKS).forceSolidOn()), "brimstone_brick_wall"); CHISELED_BRIMSTONE_BRICKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_YELLOW).requiresCorrectToolForDrops().strength(1.0F, 3.0F)), "chiseled_brimstone_bricks"); - BRIMSTONE_FUMAROLE = register(func, new BrimstoneFumaroleBlock(BlockBehaviour.Properties.ofFullCopy(BRIMSTONE)), "brimstone_fumarole"); + BRIMSTONE_FUMAROLE = register(func, new BrimstoneFumaroleBlock(BlockBehaviour.Properties.copy(BRIMSTONE)), "brimstone_fumarole"); BRIMSTONE_CLUSTER = register(func, new BrimstoneClusterBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_YELLOW).pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.STONE).offsetType(BlockBehaviour.OffsetType.NONE)), "brimstone_cluster"); BRIMSTONE_BUD = register(func, new BrimstoneBudBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_YELLOW).pushReaction(PushReaction.DESTROY).noCollission().strength(0.2F).sound(SoundType.STONE).offsetType(BlockBehaviour.OffsetType.XZ)), "brimstone_bud"); BLACKSTONE_SPINES = register(func, new BlackstoneDecorationBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_BLACK).pushReaction(PushReaction.DESTROY).noCollission().strength(0.2F).sound(SoundType.STONE).offsetType(BlockBehaviour.OffsetType.XZ)), "blackstone_spines"); @@ -123,9 +122,9 @@ private static void registerBlocks(BiConsumer func) ROSE_QUARTZ_BLOCK = register(func, new AmethystBlock(BlockBehaviour.Properties.of().mapColor(MapColor.CRIMSON_STEM).strength(1.5F).sound(SoundType.AMETHYST).requiresCorrectToolForDrops().lightLevel((state) -> 10)), "rose_quartz_block"); ROSE_QUARTZ_CLUSTER = register(func, new AmethystClusterBlock(7, 3, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).forceSolidOn().mapColor(MapColor.CRIMSON_STEM).noOcclusion().randomTicks().sound(SoundType.AMETHYST_CLUSTER).strength(1.5F).lightLevel((state) -> 8)), "rose_quartz_cluster"); - LARGE_ROSE_QUARTZ_BUD = register(func, new AmethystClusterBlock(5, 3, BlockBehaviour.Properties.ofFullCopy(ROSE_QUARTZ_CLUSTER).pushReaction(PushReaction.DESTROY).forceSolidOn().sound(SoundType.MEDIUM_AMETHYST_BUD).lightLevel((state) -> 7)), "large_rose_quartz_bud"); - MEDIUM_ROSE_QUARTZ_BUD = register(func, new AmethystClusterBlock(4, 3, BlockBehaviour.Properties.ofFullCopy(ROSE_QUARTZ_CLUSTER).pushReaction(PushReaction.DESTROY).forceSolidOn().sound(SoundType.LARGE_AMETHYST_BUD).lightLevel((state) -> 6)), "medium_rose_quartz_bud"); - SMALL_ROSE_QUARTZ_BUD = register(func, new AmethystClusterBlock(3, 4, BlockBehaviour.Properties.ofFullCopy(ROSE_QUARTZ_CLUSTER).pushReaction(PushReaction.DESTROY).forceSolidOn().sound(SoundType.SMALL_AMETHYST_BUD).lightLevel((state) -> 5)), "small_rose_quartz_bud"); + LARGE_ROSE_QUARTZ_BUD = register(func, new AmethystClusterBlock(5, 3, BlockBehaviour.Properties.copy(ROSE_QUARTZ_CLUSTER).pushReaction(PushReaction.DESTROY).forceSolidOn().sound(SoundType.MEDIUM_AMETHYST_BUD).lightLevel((state) -> 7)), "large_rose_quartz_bud"); + MEDIUM_ROSE_QUARTZ_BUD = register(func, new AmethystClusterBlock(4, 3, BlockBehaviour.Properties.copy(ROSE_QUARTZ_CLUSTER).pushReaction(PushReaction.DESTROY).forceSolidOn().sound(SoundType.LARGE_AMETHYST_BUD).lightLevel((state) -> 6)), "medium_rose_quartz_bud"); + SMALL_ROSE_QUARTZ_BUD = register(func, new AmethystClusterBlock(3, 4, BlockBehaviour.Properties.copy(ROSE_QUARTZ_CLUSTER).pushReaction(PushReaction.DESTROY).forceSolidOn().sound(SoundType.SMALL_AMETHYST_BUD).lightLevel((state) -> 5)), "small_rose_quartz_bud"); BARNACLES = register(func, new BarnaclesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.CLAY).pushReaction(PushReaction.DESTROY).replaceable().noCollission().sound(SoundType.CORAL_BLOCK)), "barnacles"); WISPJELLY = register(func, new WispjellyBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.GLOW_LICHEN).noOcclusion().noCollission().sound(SoundType.CORAL_BLOCK).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).strength(0.2F).lightLevel((state) -> 1).emissiveRendering((state, world, pos) -> true)), "wispjelly"); @@ -173,14 +172,14 @@ private static void registerBlocks(BiConsumer func) STRIPPED_FIR_LOG = register(func, log(MapColor.TERRACOTTA_WHITE, MapColor.TERRACOTTA_WHITE, SoundType.WOOD), "stripped_fir_log"); STRIPPED_FIR_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(2.0F).sound(SoundType.WOOD)), "stripped_fir_wood"); FIR_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_planks"); - FIR_STAIRS = register(func, new StairBlock(FIR_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(FIR_PLANKS)), "fir_stairs"); + FIR_STAIRS = register(func, new StairBlock(FIR_PLANKS.defaultBlockState(), Block.Properties.copy(FIR_PLANKS)), "fir_stairs"); FIR_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_slab"); FIR_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(FIR_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_fence"); - FIR_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.FIR, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(FIR_PLANKS.defaultMapColor()).strength(2.0F, 3.0F)), "fir_fence_gate"); - FIR_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.FIR, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(FIR_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "fir_door"); - FIR_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.FIR, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(3.0F).noOcclusion()), "fir_trapdoor"); - FIR_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.FIR, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(FIR_PLANKS.defaultMapColor()).noCollission().strength(0.5F)), "fir_pressure_plate"); - FIR_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.FIR, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "fir_button"); + FIR_FENCE_GATE = register(func, new FenceGateBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(FIR_PLANKS.defaultMapColor()).strength(2.0F, 3.0F), BOPWoodTypes.FIR), "fir_fence_gate"); + FIR_DOOR = register(func, new DoorBlockBOP(BOPBlockSetTypes.FIR, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(FIR_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "fir_door"); + FIR_TRAPDOOR = register(func, new TrapDoorBlockBOP(BOPBlockSetTypes.FIR, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(3.0F).noOcclusion()), "fir_trapdoor"); + FIR_PRESSURE_PLATE = register(func, new PressurePlateBlockBOP(BOPBlockSetTypes.FIR, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(FIR_PLANKS.defaultMapColor()).noCollission().strength(0.5F), Sensitivity.EVERYTHING), "fir_pressure_plate"); + FIR_BUTTON = register(func, new ButtonBlockBOP(BOPBlockSetTypes.FIR, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "fir_button"); FIR_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(FIR_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.FIR), "fir_sign"); FIR_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(FIR_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).dropsLike(FIR_SIGN), BOPWoodTypes.FIR), "fir_wall_sign"); FIR_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(FIR_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.FIR), "fir_hanging_sign"); @@ -193,14 +192,16 @@ private static void registerBlocks(BiConsumer func) STRIPPED_PINE_LOG = register(func, log(MapColor.TERRACOTTA_LIGHT_GREEN, MapColor.TERRACOTTA_LIGHT_GREEN, SoundType.WOOD), "stripped_pine_log"); STRIPPED_PINE_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F).sound(SoundType.WOOD)), "stripped_pine_wood"); PINE_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "pine_planks"); - PINE_STAIRS = register(func, new StairBlock(PINE_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(PINE_PLANKS)), "pine_stairs"); + PINE_STAIRS = register(func, new StairBlock(PINE_PLANKS.defaultBlockState(), Block.Properties.copy(PINE_PLANKS)), "pine_stairs"); PINE_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "pine_slab"); PINE_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PINE_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "pine_fence"); - PINE_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.PINE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PINE_PLANKS.defaultMapColor()).strength(2.0F, 3.0F)), "pine_fence_gate"); - PINE_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.PINE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(PINE_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "pine_door"); - PINE_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.PINE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(3.0F).noOcclusion()), "pine_trapdoor"); - PINE_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.PINE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PINE_PLANKS.defaultMapColor()).noCollission().strength(0.5F)), "pine_pressure_plate"); - PINE_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.PINE, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "pine_button"); + PINE_FENCE_GATE = register(func, new FenceGateBlock( + BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PINE_PLANKS.defaultMapColor()).strength(2.0F, 3.0F), + BOPWoodTypes.PINE), "pine_fence_gate"); + PINE_DOOR = register(func, new DoorBlockBOP(BOPBlockSetTypes.PINE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(PINE_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "pine_door"); + PINE_TRAPDOOR = register(func, new TrapDoorBlockBOP(BOPBlockSetTypes.PINE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(3.0F).noOcclusion()), "pine_trapdoor"); + PINE_PRESSURE_PLATE = register(func, new PressurePlateBlockBOP(BOPBlockSetTypes.PINE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PINE_PLANKS.defaultMapColor()).noCollission().strength(0.5F), Sensitivity.EVERYTHING), "pine_pressure_plate"); + PINE_BUTTON = register(func, new ButtonBlockBOP(BOPBlockSetTypes.PINE, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "pine_button"); PINE_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PINE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.PINE), "pine_sign"); PINE_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PINE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).dropsLike(PINE_SIGN), BOPWoodTypes.PINE), "pine_wall_sign"); PINE_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PINE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.PINE), "pine_hanging_sign"); @@ -220,14 +221,14 @@ private static void registerBlocks(BiConsumer func) STRIPPED_MAPLE_LOG = register(func, log(MapColor.DIRT, MapColor.DIRT, SoundType.CHERRY_WOOD), "stripped_maple_log"); STRIPPED_MAPLE_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(2.0F).sound(SoundType.CHERRY_WOOD)), "stripped_maple_wood"); MAPLE_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.CHERRY_WOOD)), "maple_planks"); - MAPLE_STAIRS = register(func, new StairBlock(MAPLE_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(MAPLE_PLANKS)), "maple_stairs"); + MAPLE_STAIRS = register(func, new StairBlock(MAPLE_PLANKS.defaultBlockState(), Block.Properties.copy(MAPLE_PLANKS)), "maple_stairs"); MAPLE_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.CHERRY_WOOD)), "maple_slab"); MAPLE_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAPLE_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.CHERRY_WOOD)), "maple_fence"); - MAPLE_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.MAPLE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAPLE_PLANKS.defaultMapColor()).strength(2.0F, 3.0F)), "maple_fence_gate"); - MAPLE_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.MAPLE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MAPLE_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "maple_door"); - MAPLE_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.MAPLE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(3.0F).noOcclusion()), "maple_trapdoor"); - MAPLE_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.MAPLE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAPLE_PLANKS.defaultMapColor()).noCollission().strength(0.5F)), "maple_pressure_plate"); - MAPLE_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.MAPLE, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "maple_button"); + MAPLE_FENCE_GATE = register(func, new FenceGateBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAPLE_PLANKS.defaultMapColor()).strength(2.0F, 3.0F), BOPWoodTypes.MAPLE), "maple_fence_gate"); + MAPLE_DOOR = register(func, new DoorBlockBOP(BOPBlockSetTypes.MAPLE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MAPLE_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "maple_door"); + MAPLE_TRAPDOOR = register(func, new TrapDoorBlockBOP(BOPBlockSetTypes.MAPLE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(3.0F).noOcclusion()), "maple_trapdoor"); + MAPLE_PRESSURE_PLATE = register(func, new PressurePlateBlockBOP(BOPBlockSetTypes.MAPLE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAPLE_PLANKS.defaultMapColor()).noCollission().strength(0.5F), Sensitivity.EVERYTHING), "maple_pressure_plate"); + MAPLE_BUTTON = register(func, new ButtonBlockBOP(BOPBlockSetTypes.MAPLE, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "maple_button"); MAPLE_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAPLE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.MAPLE), "maple_sign"); MAPLE_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAPLE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).dropsLike(MAPLE_SIGN), BOPWoodTypes.MAPLE), "maple_wall_sign"); MAPLE_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAPLE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.MAPLE), "maple_hanging_sign"); @@ -240,14 +241,14 @@ private static void registerBlocks(BiConsumer func) STRIPPED_REDWOOD_LOG = register(func, log(MapColor.CRIMSON_NYLIUM, MapColor.CRIMSON_NYLIUM, SoundType.WOOD), "stripped_redwood_log"); STRIPPED_REDWOOD_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.CRIMSON_NYLIUM).strength(2.0F).sound(SoundType.WOOD)), "stripped_redwood_wood"); REDWOOD_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.CRIMSON_NYLIUM).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_planks"); - REDWOOD_STAIRS = register(func, new StairBlock(REDWOOD_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(REDWOOD_PLANKS)), "redwood_stairs"); + REDWOOD_STAIRS = register(func, new StairBlock(REDWOOD_PLANKS.defaultBlockState(), Block.Properties.copy(REDWOOD_PLANKS)), "redwood_stairs"); REDWOOD_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.CRIMSON_NYLIUM).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_slab"); REDWOOD_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(REDWOOD_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_fence"); - REDWOOD_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.REDWOOD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(REDWOOD_PLANKS.defaultMapColor()).strength(2.0F, 3.0F)), "redwood_fence_gate"); - REDWOOD_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.REDWOOD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(REDWOOD_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "redwood_door"); - REDWOOD_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.REDWOOD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.CRIMSON_NYLIUM).strength(3.0F).noOcclusion()), "redwood_trapdoor"); - REDWOOD_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.REDWOOD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(REDWOOD_PLANKS.defaultMapColor()).noCollission().strength(0.5F)), "redwood_pressure_plate"); - REDWOOD_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.REDWOOD, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "redwood_button"); + REDWOOD_FENCE_GATE = register(func, new FenceGateBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(REDWOOD_PLANKS.defaultMapColor()).strength(2.0F, 3.0F), BOPWoodTypes.REDWOOD), "redwood_fence_gate"); + REDWOOD_DOOR = register(func, new DoorBlockBOP(BOPBlockSetTypes.REDWOOD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(REDWOOD_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "redwood_door"); + REDWOOD_TRAPDOOR = register(func, new TrapDoorBlockBOP(BOPBlockSetTypes.REDWOOD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.CRIMSON_NYLIUM).strength(3.0F).noOcclusion()), "redwood_trapdoor"); + REDWOOD_PRESSURE_PLATE = register(func, new PressurePlateBlockBOP(BOPBlockSetTypes.REDWOOD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(REDWOOD_PLANKS.defaultMapColor()).noCollission().strength(0.5F), Sensitivity.EVERYTHING), "redwood_pressure_plate"); + REDWOOD_BUTTON = register(func, new ButtonBlockBOP(BOPBlockSetTypes.REDWOOD, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "redwood_button"); REDWOOD_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(REDWOOD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.REDWOOD), "redwood_sign"); REDWOOD_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(REDWOOD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).dropsLike(REDWOOD_SIGN), BOPWoodTypes.REDWOOD), "redwood_wall_sign"); REDWOOD_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(REDWOOD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.REDWOOD), "redwood_hanging_sign"); @@ -260,14 +261,16 @@ private static void registerBlocks(BiConsumer func) STRIPPED_MAHOGANY_LOG = register(func, log(MapColor.TERRACOTTA_MAGENTA, MapColor.TERRACOTTA_MAGENTA, SoundType.WOOD), "stripped_mahogany_log"); STRIPPED_MAHOGANY_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_MAGENTA).strength(2.0F).sound(SoundType.WOOD)), "stripped_mahogany_wood"); MAHOGANY_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_MAGENTA).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_planks"); - MAHOGANY_STAIRS = register(func, new StairBlock(MAHOGANY_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(MAHOGANY_PLANKS)), "mahogany_stairs"); + MAHOGANY_STAIRS = register(func, new StairBlock(MAHOGANY_PLANKS.defaultBlockState(), Block.Properties.copy(MAHOGANY_PLANKS)), "mahogany_stairs"); MAHOGANY_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_MAGENTA).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_slab"); MAHOGANY_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAHOGANY_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_fence"); - MAHOGANY_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.MAHOGANY, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAHOGANY_PLANKS.defaultMapColor()).strength(2.0F, 3.0F)), "mahogany_fence_gate"); - MAHOGANY_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.MAHOGANY, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MAHOGANY_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "mahogany_door"); - MAHOGANY_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.MAHOGANY, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_MAGENTA).strength(3.0F).noOcclusion()), "mahogany_trapdoor"); - MAHOGANY_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.MAHOGANY, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAHOGANY_PLANKS.defaultMapColor()).noCollission().strength(0.5F)), "mahogany_pressure_plate"); - MAHOGANY_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.MAHOGANY, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "mahogany_button"); + MAHOGANY_FENCE_GATE = register(func, new FenceGateBlock( + BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAHOGANY_PLANKS.defaultMapColor()).strength(2.0F, 3.0F), + BOPWoodTypes.MAHOGANY), "mahogany_fence_gate"); + MAHOGANY_DOOR = register(func, new DoorBlockBOP(BOPBlockSetTypes.MAHOGANY, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MAHOGANY_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "mahogany_door"); + MAHOGANY_TRAPDOOR = register(func, new TrapDoorBlockBOP(BOPBlockSetTypes.MAHOGANY, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_MAGENTA).strength(3.0F).noOcclusion()), "mahogany_trapdoor"); + MAHOGANY_PRESSURE_PLATE = register(func, new PressurePlateBlockBOP(BOPBlockSetTypes.MAHOGANY, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAHOGANY_PLANKS.defaultMapColor()).noCollission().strength(0.5F), Sensitivity.EVERYTHING), "mahogany_pressure_plate"); + MAHOGANY_BUTTON = register(func, new ButtonBlockBOP(BOPBlockSetTypes.MAHOGANY, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "mahogany_button"); MAHOGANY_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAHOGANY_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.MAHOGANY), "mahogany_sign"); MAHOGANY_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAHOGANY_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).dropsLike(MAHOGANY_SIGN), BOPWoodTypes.MAHOGANY), "mahogany_wall_sign"); MAHOGANY_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAHOGANY_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.MAHOGANY), "mahogany_hanging_sign"); @@ -280,14 +283,16 @@ private static void registerBlocks(BiConsumer func) STRIPPED_JACARANDA_LOG = register(func, log(MapColor.QUARTZ, MapColor.QUARTZ, SoundType.CHERRY_WOOD), "stripped_jacaranda_log"); STRIPPED_JACARANDA_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(2.0F).sound(SoundType.CHERRY_WOOD)), "stripped_jacaranda_wood"); JACARANDA_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(2.0F, 3.0F).sound(SoundType.CHERRY_WOOD)), "jacaranda_planks"); - JACARANDA_STAIRS = register(func, new StairBlock(JACARANDA_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(JACARANDA_PLANKS)), "jacaranda_stairs"); + JACARANDA_STAIRS = register(func, new StairBlock(JACARANDA_PLANKS.defaultBlockState(), Block.Properties.copy(JACARANDA_PLANKS)), "jacaranda_stairs"); JACARANDA_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(2.0F, 3.0F).sound(SoundType.CHERRY_WOOD)), "jacaranda_slab"); JACARANDA_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(JACARANDA_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.CHERRY_WOOD)), "jacaranda_fence"); - JACARANDA_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.JACARANDA, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(JACARANDA_PLANKS.defaultMapColor()).strength(2.0F, 3.0F)), "jacaranda_fence_gate"); - JACARANDA_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.JACARANDA, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(JACARANDA_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "jacaranda_door"); - JACARANDA_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.JACARANDA, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(3.0F).noOcclusion()), "jacaranda_trapdoor"); - JACARANDA_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.JACARANDA, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(JACARANDA_PLANKS.defaultMapColor()).noCollission().strength(0.5F)), "jacaranda_pressure_plate"); - JACARANDA_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.JACARANDA, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "jacaranda_button"); + JACARANDA_FENCE_GATE = register(func, new FenceGateBlock( + BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(JACARANDA_PLANKS.defaultMapColor()).strength(2.0F, 3.0F), + BOPWoodTypes.JACARANDA), "jacaranda_fence_gate"); + JACARANDA_DOOR = register(func, new DoorBlockBOP(BOPBlockSetTypes.JACARANDA, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(JACARANDA_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "jacaranda_door"); + JACARANDA_TRAPDOOR = register(func, new TrapDoorBlockBOP(BOPBlockSetTypes.JACARANDA, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(3.0F).noOcclusion()), "jacaranda_trapdoor"); + JACARANDA_PRESSURE_PLATE = register(func, new PressurePlateBlockBOP(BOPBlockSetTypes.JACARANDA, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(JACARANDA_PLANKS.defaultMapColor()).noCollission().strength(0.5F), Sensitivity.EVERYTHING), "jacaranda_pressure_plate"); + JACARANDA_BUTTON = register(func, new ButtonBlockBOP(BOPBlockSetTypes.JACARANDA, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "jacaranda_button"); JACARANDA_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(JACARANDA_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.JACARANDA), "jacaranda_sign"); JACARANDA_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(JACARANDA_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).dropsLike(JACARANDA_SIGN), BOPWoodTypes.JACARANDA), "jacaranda_wall_sign"); JACARANDA_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(JACARANDA_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.JACARANDA), "jacaranda_hanging_sign"); @@ -300,14 +305,16 @@ private static void registerBlocks(BiConsumer func) STRIPPED_PALM_LOG = register(func, log(MapColor.TERRACOTTA_YELLOW, MapColor.TERRACOTTA_YELLOW, SoundType.WOOD), "stripped_palm_log"); STRIPPED_PALM_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(2.0F).sound(SoundType.WOOD)), "stripped_palm_wood"); PALM_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_planks"); - PALM_STAIRS = register(func, new StairBlock(PALM_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(PALM_PLANKS)), "palm_stairs"); + PALM_STAIRS = register(func, new StairBlock(PALM_PLANKS.defaultBlockState(), Block.Properties.copy(PALM_PLANKS)), "palm_stairs"); PALM_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_slab"); PALM_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PALM_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_fence"); - PALM_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.PALM, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PALM_PLANKS.defaultMapColor()).strength(2.0F, 3.0F)), "palm_fence_gate"); - PALM_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.PALM, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(PALM_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "palm_door"); - PALM_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.PALM, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(3.0F).noOcclusion()), "palm_trapdoor"); - PALM_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.PALM, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PALM_PLANKS.defaultMapColor()).noCollission().strength(0.5F)), "palm_pressure_plate"); - PALM_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.PALM, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "palm_button"); + PALM_FENCE_GATE = register(func, new FenceGateBlock( + BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PALM_PLANKS.defaultMapColor()).strength(2.0F, 3.0F), + BOPWoodTypes.PALM), "palm_fence_gate"); + PALM_DOOR = register(func, new DoorBlockBOP(BOPBlockSetTypes.PALM, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(PALM_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "palm_door"); + PALM_TRAPDOOR = register(func, new TrapDoorBlockBOP(BOPBlockSetTypes.PALM, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(3.0F).noOcclusion()), "palm_trapdoor"); + PALM_PRESSURE_PLATE = register(func, new PressurePlateBlockBOP(BOPBlockSetTypes.PALM, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PALM_PLANKS.defaultMapColor()).noCollission().strength(0.5F), Sensitivity.EVERYTHING), "palm_pressure_plate"); + PALM_BUTTON = register(func, new ButtonBlockBOP(BOPBlockSetTypes.PALM, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "palm_button"); PALM_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PALM_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.PALM), "palm_sign"); PALM_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PALM_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).dropsLike(PALM_SIGN), BOPWoodTypes.PALM), "palm_wall_sign"); PALM_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PALM_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.PALM), "palm_hanging_sign"); @@ -323,14 +330,16 @@ private static void registerBlocks(BiConsumer func) STRIPPED_WILLOW_LOG = register(func, log(MapColor.TERRACOTTA_LIGHT_GREEN, MapColor.TERRACOTTA_LIGHT_GREEN, SoundType.WOOD), "stripped_willow_log"); STRIPPED_WILLOW_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F).sound(SoundType.WOOD)), "stripped_willow_wood"); WILLOW_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_planks"); - WILLOW_STAIRS = register(func, new StairBlock(WILLOW_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(WILLOW_PLANKS)), "willow_stairs"); + WILLOW_STAIRS = register(func, new StairBlock(WILLOW_PLANKS.defaultBlockState(), Block.Properties.copy(WILLOW_PLANKS)), "willow_stairs"); WILLOW_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_slab"); WILLOW_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(WILLOW_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_fence"); - WILLOW_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.WILLOW, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(WILLOW_PLANKS.defaultMapColor()).strength(2.0F, 3.0F)), "willow_fence_gate"); - WILLOW_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.WILLOW, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(WILLOW_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "willow_door"); - WILLOW_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.WILLOW, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(3.0F).noOcclusion()), "willow_trapdoor"); - WILLOW_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.WILLOW, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(WILLOW_PLANKS.defaultMapColor()).noCollission().strength(0.5F)), "willow_pressure_plate"); - WILLOW_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.WILLOW, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "willow_button"); + WILLOW_FENCE_GATE = register(func, new FenceGateBlock( + BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(WILLOW_PLANKS.defaultMapColor()).strength(2.0F, 3.0F), + BOPWoodTypes.WILLOW), "willow_fence_gate"); + WILLOW_DOOR = register(func, new DoorBlockBOP(BOPBlockSetTypes.WILLOW, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(WILLOW_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "willow_door"); + WILLOW_TRAPDOOR = register(func, new TrapDoorBlockBOP(BOPBlockSetTypes.WILLOW, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(3.0F).noOcclusion()), "willow_trapdoor"); + WILLOW_PRESSURE_PLATE = register(func, new PressurePlateBlockBOP(BOPBlockSetTypes.WILLOW, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(WILLOW_PLANKS.defaultMapColor()).noCollission().strength(0.5F), Sensitivity.EVERYTHING), "willow_pressure_plate"); + WILLOW_BUTTON = register(func, new ButtonBlockBOP(BOPBlockSetTypes.WILLOW, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "willow_button"); WILLOW_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(WILLOW_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.WILLOW), "willow_sign"); WILLOW_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(WILLOW_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).dropsLike(WILLOW_SIGN), BOPWoodTypes.WILLOW), "willow_wall_sign"); WILLOW_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(WILLOW_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.WILLOW), "willow_hanging_sign"); @@ -344,14 +353,16 @@ private static void registerBlocks(BiConsumer func) STRIPPED_DEAD_LOG = register(func, log(MapColor.STONE, MapColor.STONE, SoundType.WOOD), "stripped_dead_log"); STRIPPED_DEAD_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(2.0F).sound(SoundType.WOOD)), "stripped_dead_wood"); DEAD_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_planks"); - DEAD_STAIRS = register(func, new StairBlock(DEAD_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(DEAD_PLANKS)), "dead_stairs"); + DEAD_STAIRS = register(func, new StairBlock(DEAD_PLANKS.defaultBlockState(), Block.Properties.copy(DEAD_PLANKS)), "dead_stairs"); DEAD_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_slab"); DEAD_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(DEAD_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_fence"); - DEAD_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.DEAD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(DEAD_PLANKS.defaultMapColor()).strength(2.0F, 3.0F)), "dead_fence_gate"); - DEAD_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.DEAD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(DEAD_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "dead_door"); - DEAD_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.DEAD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(3.0F).noOcclusion()), "dead_trapdoor"); - DEAD_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.DEAD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(DEAD_PLANKS.defaultMapColor()).noCollission().strength(0.5F)), "dead_pressure_plate"); - DEAD_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.DEAD, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "dead_button"); + DEAD_FENCE_GATE = register(func, new FenceGateBlock( + BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(DEAD_PLANKS.defaultMapColor()).strength(2.0F, 3.0F), + BOPWoodTypes.DEAD), "dead_fence_gate"); + DEAD_DOOR = register(func, new DoorBlockBOP(BOPBlockSetTypes.DEAD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(DEAD_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "dead_door"); + DEAD_TRAPDOOR = register(func, new TrapDoorBlockBOP(BOPBlockSetTypes.DEAD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(3.0F).noOcclusion()), "dead_trapdoor"); + DEAD_PRESSURE_PLATE = register(func, new PressurePlateBlockBOP(BOPBlockSetTypes.DEAD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(DEAD_PLANKS.defaultMapColor()).noCollission().strength(0.5F), Sensitivity.EVERYTHING), "dead_pressure_plate"); + DEAD_BUTTON = register(func, new ButtonBlockBOP(BOPBlockSetTypes.DEAD, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "dead_button"); DEAD_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(DEAD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.DEAD), "dead_sign"); DEAD_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(DEAD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).dropsLike(DEAD_SIGN), BOPWoodTypes.DEAD), "dead_wall_sign"); DEAD_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(DEAD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.DEAD), "dead_hanging_sign"); @@ -364,14 +375,16 @@ private static void registerBlocks(BiConsumer func) STRIPPED_MAGIC_LOG = register(func, log(MapColor.COLOR_BLUE, MapColor.COLOR_BLUE, SoundType.CHERRY_WOOD), "stripped_magic_log"); STRIPPED_MAGIC_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(2.0F).sound(SoundType.CHERRY_WOOD)), "stripped_magic_wood"); MAGIC_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(2.0F, 3.0F).sound(SoundType.CHERRY_WOOD)), "magic_planks"); - MAGIC_STAIRS = register(func, new StairBlock(MAGIC_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(MAGIC_PLANKS)), "magic_stairs"); + MAGIC_STAIRS = register(func, new StairBlock(MAGIC_PLANKS.defaultBlockState(), Block.Properties.copy(MAGIC_PLANKS)), "magic_stairs"); MAGIC_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(2.0F, 3.0F).sound(SoundType.CHERRY_WOOD)), "magic_slab"); MAGIC_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAGIC_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.CHERRY_WOOD)), "magic_fence"); - MAGIC_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.MAGIC, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAGIC_PLANKS.defaultMapColor()).strength(2.0F, 3.0F)), "magic_fence_gate"); - MAGIC_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.MAGIC, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MAGIC_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "magic_door"); - MAGIC_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.MAGIC, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(3.0F).noOcclusion()), "magic_trapdoor"); - MAGIC_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.MAGIC, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAGIC_PLANKS.defaultMapColor()).noCollission().strength(0.5F)), "magic_pressure_plate"); - MAGIC_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.MAGIC, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "magic_button"); + MAGIC_FENCE_GATE = register(func, new FenceGateBlock( + BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAGIC_PLANKS.defaultMapColor()).strength(2.0F, 3.0F), + BOPWoodTypes.MAGIC), "magic_fence_gate"); + MAGIC_DOOR = register(func, new DoorBlockBOP(BOPBlockSetTypes.MAGIC, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MAGIC_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "magic_door"); + MAGIC_TRAPDOOR = register(func, new TrapDoorBlockBOP(BOPBlockSetTypes.MAGIC, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(3.0F).noOcclusion()), "magic_trapdoor"); + MAGIC_PRESSURE_PLATE = register(func, new PressurePlateBlockBOP(BOPBlockSetTypes.MAGIC, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAGIC_PLANKS.defaultMapColor()).noCollission().strength(0.5F), Sensitivity.EVERYTHING), "magic_pressure_plate"); + MAGIC_BUTTON = register(func, new ButtonBlockBOP(BOPBlockSetTypes.MAGIC, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "magic_button"); MAGIC_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAGIC_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().noCollission().forceSolidOn().strength(1.0F), BOPWoodTypes.MAGIC), "magic_sign"); MAGIC_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAGIC_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().noCollission().forceSolidOn().strength(1.0F).dropsLike(MAGIC_SIGN), BOPWoodTypes.MAGIC), "magic_wall_sign"); MAGIC_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAGIC_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.MAGIC), "magic_hanging_sign"); @@ -384,14 +397,16 @@ private static void registerBlocks(BiConsumer func) STRIPPED_UMBRAN_LOG = register(func, log(MapColor.TERRACOTTA_BLUE, MapColor.TERRACOTTA_BLUE, SoundType.NETHER_WOOD), "stripped_umbran_log"); STRIPPED_UMBRAN_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(2.0F).sound(SoundType.NETHER_WOOD)), "stripped_umbran_wood"); UMBRAN_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(2.0F, 3.0F).sound(SoundType.NETHER_WOOD)), "umbran_planks"); - UMBRAN_STAIRS = register(func, new StairBlock(UMBRAN_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(UMBRAN_PLANKS)), "umbran_stairs"); + UMBRAN_STAIRS = register(func, new StairBlock(UMBRAN_PLANKS.defaultBlockState(), Block.Properties.copy(UMBRAN_PLANKS)), "umbran_stairs"); UMBRAN_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(2.0F, 3.0F).sound(SoundType.NETHER_WOOD)), "umbran_slab"); UMBRAN_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(UMBRAN_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.NETHER_WOOD)), "umbran_fence"); - UMBRAN_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.UMBRAN, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(UMBRAN_PLANKS.defaultMapColor()).strength(2.0F, 3.0F)), "umbran_fence_gate"); - UMBRAN_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.UMBRAN, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(UMBRAN_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "umbran_door"); - UMBRAN_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.UMBRAN, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(3.0F).noOcclusion()), "umbran_trapdoor"); - UMBRAN_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.UMBRAN, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(UMBRAN_PLANKS.defaultMapColor()).noCollission().strength(0.5F)), "umbran_pressure_plate"); - UMBRAN_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.UMBRAN, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "umbran_button"); + UMBRAN_FENCE_GATE = register(func, new FenceGateBlock( + BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(UMBRAN_PLANKS.defaultMapColor()).strength(2.0F, 3.0F), + BOPWoodTypes.UMBRAN), "umbran_fence_gate"); + UMBRAN_DOOR = register(func, new DoorBlockBOP(BOPBlockSetTypes.UMBRAN, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(UMBRAN_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "umbran_door"); + UMBRAN_TRAPDOOR = register(func, new TrapDoorBlockBOP(BOPBlockSetTypes.UMBRAN, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(3.0F).noOcclusion()), "umbran_trapdoor"); + UMBRAN_PRESSURE_PLATE = register(func, new PressurePlateBlockBOP(BOPBlockSetTypes.UMBRAN, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(UMBRAN_PLANKS.defaultMapColor()).noCollission().strength(0.5F), Sensitivity.EVERYTHING), "umbran_pressure_plate"); + UMBRAN_BUTTON = register(func, new ButtonBlockBOP(BOPBlockSetTypes.UMBRAN, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "umbran_button"); UMBRAN_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(UMBRAN_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.UMBRAN), "umbran_sign"); UMBRAN_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(UMBRAN_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).dropsLike(UMBRAN_SIGN), BOPWoodTypes.UMBRAN), "umbran_wall_sign"); UMBRAN_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(UMBRAN_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.UMBRAN), "umbran_hanging_sign"); @@ -404,14 +419,16 @@ private static void registerBlocks(BiConsumer func) STRIPPED_HELLBARK_LOG = register(func, logNonIgniting(MapColor.TERRACOTTA_GRAY, MapColor.TERRACOTTA_GRAY, SoundType.NETHER_WOOD), "stripped_hellbark_log"); STRIPPED_HELLBARK_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(2.0F).sound(SoundType.NETHER_WOOD)), "stripped_hellbark_wood"); HELLBARK_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(2.0F, 3.0F).sound(SoundType.NETHER_WOOD)), "hellbark_planks"); - HELLBARK_STAIRS = register(func, new StairBlock(HELLBARK_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(HELLBARK_PLANKS)), "hellbark_stairs"); + HELLBARK_STAIRS = register(func, new StairBlock(HELLBARK_PLANKS.defaultBlockState(), Block.Properties.copy(HELLBARK_PLANKS)), "hellbark_stairs"); HELLBARK_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(2.0F, 3.0F).sound(SoundType.NETHER_WOOD)), "hellbark_slab"); HELLBARK_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).forceSolidOn().mapColor(HELLBARK_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.NETHER_WOOD)), "hellbark_fence"); - HELLBARK_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.HELLBARK, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).forceSolidOn().mapColor(HELLBARK_PLANKS.defaultMapColor()).strength(2.0F, 3.0F)), "hellbark_fence_gate"); - HELLBARK_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.HELLBARK, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).mapColor(HELLBARK_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "hellbark_door"); - HELLBARK_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.HELLBARK, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(3.0F).noOcclusion()), "hellbark_trapdoor"); - HELLBARK_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.HELLBARK, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).forceSolidOn().mapColor(HELLBARK_PLANKS.defaultMapColor()).noCollission().strength(0.5F)), "hellbark_pressure_plate"); - HELLBARK_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.HELLBARK, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "hellbark_button"); + HELLBARK_FENCE_GATE = register(func, new FenceGateBlock( + BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).forceSolidOn().mapColor(HELLBARK_PLANKS.defaultMapColor()).strength(2.0F, 3.0F), + BOPWoodTypes.HELLBARK), "hellbark_fence_gate"); + HELLBARK_DOOR = register(func, new DoorBlockBOP(BOPBlockSetTypes.HELLBARK, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).mapColor(HELLBARK_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "hellbark_door"); + HELLBARK_TRAPDOOR = register(func, new TrapDoorBlockBOP(BOPBlockSetTypes.HELLBARK, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(3.0F).noOcclusion()), "hellbark_trapdoor"); + HELLBARK_PRESSURE_PLATE = register(func, new PressurePlateBlockBOP(BOPBlockSetTypes.HELLBARK, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).forceSolidOn().mapColor(HELLBARK_PLANKS.defaultMapColor()).noCollission().strength(0.5F), Sensitivity.EVERYTHING), "hellbark_pressure_plate"); + HELLBARK_BUTTON = register(func, new ButtonBlockBOP(BOPBlockSetTypes.HELLBARK, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "hellbark_button"); HELLBARK_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(HELLBARK_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.HELLBARK), "hellbark_sign"); HELLBARK_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(HELLBARK_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).forceSolidOn().noCollission().strength(1.0F).dropsLike(HELLBARK_SIGN), BOPWoodTypes.HELLBARK), "hellbark_wall_sign"); HELLBARK_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(HELLBARK_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.HELLBARK), "hellbark_hanging_sign"); @@ -424,14 +441,16 @@ private static void registerBlocks(BiConsumer func) STRIPPED_EMPYREAL_LOG = register(func, log(MapColor.COLOR_PURPLE, MapColor.COLOR_PURPLE, SoundType.NETHER_WOOD), "stripped_empyreal_log"); STRIPPED_EMPYREAL_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_PURPLE).strength(2.0F).sound(SoundType.NETHER_WOOD)), "stripped_empyreal_wood"); EMPYREAL_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_PURPLE).strength(2.0F, 3.0F).sound(SoundType.NETHER_WOOD)), "empyreal_planks"); - EMPYREAL_STAIRS = register(func, new StairBlock(EMPYREAL_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(EMPYREAL_PLANKS)), "empyreal_stairs"); + EMPYREAL_STAIRS = register(func, new StairBlock(EMPYREAL_PLANKS.defaultBlockState(), Block.Properties.copy(EMPYREAL_PLANKS)), "empyreal_stairs"); EMPYREAL_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_PURPLE).strength(2.0F, 3.0F).sound(SoundType.NETHER_WOOD)), "empyreal_slab"); EMPYREAL_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(EMPYREAL_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.NETHER_WOOD)), "empyreal_fence"); - EMPYREAL_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.EMPYREAL, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(EMPYREAL_PLANKS.defaultMapColor()).strength(2.0F, 3.0F)), "empyreal_fence_gate"); - EMPYREAL_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.EMPYREAL, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(EMPYREAL_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "empyreal_door"); - EMPYREAL_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.EMPYREAL, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_PURPLE).strength(3.0F).noOcclusion()), "empyreal_trapdoor"); - EMPYREAL_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.EMPYREAL, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(EMPYREAL_PLANKS.defaultMapColor()).noCollission().strength(0.5F)), "empyreal_pressure_plate"); - EMPYREAL_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.EMPYREAL, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "empyreal_button"); + EMPYREAL_FENCE_GATE = register(func, new FenceGateBlock( + BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(EMPYREAL_PLANKS.defaultMapColor()).strength(2.0F, 3.0F), + BOPWoodTypes.EMPYREAL), "empyreal_fence_gate"); + EMPYREAL_DOOR = register(func, new DoorBlockBOP(BOPBlockSetTypes.EMPYREAL, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(EMPYREAL_PLANKS.defaultMapColor()).strength(3.0F).noOcclusion()), "empyreal_door"); + EMPYREAL_TRAPDOOR = register(func, new TrapDoorBlockBOP(BOPBlockSetTypes.EMPYREAL, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_PURPLE).strength(3.0F).noOcclusion()), "empyreal_trapdoor"); + EMPYREAL_PRESSURE_PLATE = register(func, new PressurePlateBlockBOP(BOPBlockSetTypes.EMPYREAL, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(EMPYREAL_PLANKS.defaultMapColor()).noCollission().strength(0.5F), Sensitivity.EVERYTHING), "empyreal_pressure_plate"); + EMPYREAL_BUTTON = register(func, new ButtonBlockBOP(BOPBlockSetTypes.EMPYREAL, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F)), "empyreal_button"); EMPYREAL_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(EMPYREAL_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.EMPYREAL), "empyreal_sign"); EMPYREAL_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(EMPYREAL_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).dropsLike(EMPYREAL_SIGN), BOPWoodTypes.EMPYREAL), "empyreal_wall_sign"); EMPYREAL_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(EMPYREAL_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F), BOPWoodTypes.EMPYREAL), "empyreal_hanging_sign"); diff --git a/common/src/main/java/biomesoplenty/init/ModVanillaCompat.java b/common/src/main/java/biomesoplenty/init/ModVanillaCompat.java index a6683859a..d42e0aa5a 100644 --- a/common/src/main/java/biomesoplenty/init/ModVanillaCompat.java +++ b/common/src/main/java/biomesoplenty/init/ModVanillaCompat.java @@ -7,7 +7,7 @@ import biomesoplenty.api.block.BOPBlocks; import biomesoplenty.api.item.BOPItems; import net.minecraft.core.BlockPos; -import net.minecraft.core.dispenser.BlockSource; +import net.minecraft.core.BlockSource; import net.minecraft.core.dispenser.DefaultDispenseItemBehavior; import net.minecraft.core.dispenser.DispenseItemBehavior; import net.minecraft.world.entity.player.Player; @@ -32,8 +32,8 @@ public static void setup() public ItemStack execute(BlockSource p_123561_, ItemStack p_123562_) { DispensibleContainerItem dispensiblecontaineritem = (DispensibleContainerItem)p_123562_.getItem(); - BlockPos blockpos = p_123561_.pos().relative(p_123561_.state().getValue(DispenserBlock.FACING)); - Level level = p_123561_.level(); + BlockPos blockpos = p_123561_.getPos().relative(p_123561_.getBlockState().getValue(DispenserBlock.FACING)); + Level level = p_123561_.getLevel(); if (dispensiblecontaineritem.emptyContents((Player)null, level, blockpos, (BlockHitResult)null)) { dispensiblecontaineritem.checkExtraContent((Player)null, level, p_123562_, blockpos); return new ItemStack(Items.BUCKET); diff --git a/common/src/main/java/biomesoplenty/init/ModVillagerTrades.java b/common/src/main/java/biomesoplenty/init/ModVillagerTrades.java index fec87a690..702d4fbeb 100644 --- a/common/src/main/java/biomesoplenty/init/ModVillagerTrades.java +++ b/common/src/main/java/biomesoplenty/init/ModVillagerTrades.java @@ -8,7 +8,6 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.npc.VillagerTrades; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.trading.MerchantOffer; diff --git a/common/src/main/java/biomesoplenty/item/BoatDispenseItemBehaviourBOP.java b/common/src/main/java/biomesoplenty/item/BoatDispenseItemBehaviourBOP.java index fba0481c1..b8ae2ca6f 100644 --- a/common/src/main/java/biomesoplenty/item/BoatDispenseItemBehaviourBOP.java +++ b/common/src/main/java/biomesoplenty/item/BoatDispenseItemBehaviourBOP.java @@ -8,7 +8,7 @@ import biomesoplenty.entity.ChestBoatBOP; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.core.dispenser.BlockSource; +import net.minecraft.core.BlockSource; import net.minecraft.core.dispenser.DefaultDispenseItemBehavior; import net.minecraft.tags.FluidTags; import net.minecraft.world.entity.vehicle.Boat; @@ -31,12 +31,12 @@ public BoatDispenseItemBehaviourBOP(boolean hasChest, BoatBOP.ModelType type) @Override public ItemStack execute(BlockSource source, ItemStack stack) { - Direction direction = source.state().getValue(DispenserBlock.FACING); - Level level = source.level(); - double d0 = source.pos().getX() + (double) ((float) direction.getStepX() * 1.125F); - double d1 = source.pos().getY() + (double) ((float) direction.getStepY() * 1.125F); - double d2 = source.pos().getZ() + (double) ((float) direction.getStepZ() * 1.125F); - BlockPos blockpos = source.pos().relative(direction); + Direction direction = source.getBlockState().getValue(DispenserBlock.FACING); + Level level = source.getLevel(); + double d0 = source.getPos().getX() + (double) ((float) direction.getStepX() * 1.125F); + double d1 = source.getPos().getY() + (double) ((float) direction.getStepY() * 1.125F); + double d2 = source.getPos().getZ() + (double) ((float) direction.getStepZ() * 1.125F); + BlockPos blockpos = source.getPos().relative(direction); double d3; if (level.getFluidState(blockpos).is(FluidTags.WATER)) { @@ -76,6 +76,6 @@ public ItemStack execute(BlockSource source, ItemStack stack) @Override protected void playSound(BlockSource p_123373_) { - p_123373_.level().levelEvent(1000, p_123373_.pos(), 0); + p_123373_.getLevel().levelEvent(1000, p_123373_.getPos(), 0); } } diff --git a/common/src/main/java/biomesoplenty/worldgen/BOPSurfaceRuleData.java b/common/src/main/java/biomesoplenty/worldgen/BOPSurfaceRuleData.java index 99f1a10c6..624033b78 100644 --- a/common/src/main/java/biomesoplenty/worldgen/BOPSurfaceRuleData.java +++ b/common/src/main/java/biomesoplenty/worldgen/BOPSurfaceRuleData.java @@ -327,35 +327,6 @@ private static SurfaceRules.RuleSource makeBOPNetherRules() ); } - public static SurfaceRules.RuleSource end() - { - SurfaceRules.RuleSource whiteSandstoneLining = SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.ON_CEILING, WHITE_SANDSTONE), WHITE_SAND); - - return SurfaceRules.sequence( - SurfaceRules.ifTrue( - SurfaceRules.isBiome(BOPBiomes.END_WILDS), - SurfaceRules.sequence( - SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, - SurfaceRules.sequence( - ALGAL_END_STONE - ) - ) - ) - ), - SurfaceRules.ifTrue(SurfaceRules.isBiome(BOPBiomes.END_CORRUPTION), UNMAPPED_END_STONE), - SurfaceRules.ifTrue( - SurfaceRules.isBiome(BOPBiomes.END_REEF), - SurfaceRules.sequence( - SurfaceRules.ifTrue(SurfaceRules.UNDER_FLOOR, - SurfaceRules.sequence( - whiteSandstoneLining - ) - ) - ) - ) - ); - } - private static SurfaceRules.ConditionSource surfaceNoiseAbove(double p_194809_) { return SurfaceRules.noiseCondition(Noises.SURFACE, p_194809_ / 8.25D, Double.MAX_VALUE); diff --git a/common/src/main/java/biomesoplenty/worldgen/feature/misc/CragMossFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/CragMossFeature.java index 9ce364a15..74b3a08d2 100644 --- a/common/src/main/java/biomesoplenty/worldgen/feature/misc/CragMossFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/CragMossFeature.java @@ -72,7 +72,7 @@ public boolean place(FeaturePlaceContext featurePlaceC { default: case 0: - worldIn.setBlock(mutable, Blocks.SHORT_GRASS.defaultBlockState(), 2); + worldIn.setBlock(mutable, Blocks.GRASS.defaultBlockState(), 2); break; case 1: diff --git a/common/src/main/java/biomesoplenty/worldgen/feature/misc/MossSplatterFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/MossSplatterFeature.java index 071cda32a..7470a16ae 100644 --- a/common/src/main/java/biomesoplenty/worldgen/feature/misc/MossSplatterFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/MossSplatterFeature.java @@ -58,7 +58,7 @@ public boolean place(FeaturePlaceContext featurePlaceC switch (rand.nextInt(4)) { case 2: - worldIn.setBlock(blockpos.above(), Blocks.SHORT_GRASS.defaultBlockState(), 2); + worldIn.setBlock(blockpos.above(), Blocks.GRASS.defaultBlockState(), 2); break; case 1: diff --git a/common/src/main/resources/assets/biomesoplenty/lang/cs_cz.json b/common/src/main/resources/assets/biomesoplenty/lang/cs_cz.json index e617e37bc..f4d71eceb 100644 --- a/common/src/main/resources/assets/biomesoplenty/lang/cs_cz.json +++ b/common/src/main/resources/assets/biomesoplenty/lang/cs_cz.json @@ -20,9 +20,6 @@ "biome.biomesoplenty.dead_forest": "Mrtvý les", "biome.biomesoplenty.dryland": "Suchá země", "biome.biomesoplenty.dune_beach": "Dunová pláž", - "biome.biomesoplenty.end_corruption": "Porušený End", - "biome.biomesoplenty.end_reef": "Endový útes", - "biome.biomesoplenty.end_wilds": "Endová divočina", "biome.biomesoplenty.erupting_inferno": "Soptící peklo", "biome.biomesoplenty.field": "Pole", "biome.biomesoplenty.fir_clearing": "Jedlová mýtina", diff --git a/common/src/main/resources/assets/biomesoplenty/lang/de_de.json b/common/src/main/resources/assets/biomesoplenty/lang/de_de.json index dbc050fb2..ee7ac9f67 100644 --- a/common/src/main/resources/assets/biomesoplenty/lang/de_de.json +++ b/common/src/main/resources/assets/biomesoplenty/lang/de_de.json @@ -19,9 +19,6 @@ "biome.biomesoplenty.dead_forest": "Toter Wald", "biome.biomesoplenty.dryland": "Trockengebiet", "biome.biomesoplenty.dune_beach": "Dünenstrand", - "biome.biomesoplenty.end_corruption": "Endkorruption", - "biome.biomesoplenty.end_reef": "Endriff", - "biome.biomesoplenty.end_wilds": "Endwilde", "biome.biomesoplenty.erupting_inferno": "Ausbrechendes Inferno", "biome.biomesoplenty.field": "Feld", "biome.biomesoplenty.fir_clearing": "Tannenlichtung", diff --git a/common/src/main/resources/assets/biomesoplenty/lang/en_us.json b/common/src/main/resources/assets/biomesoplenty/lang/en_us.json index 2e332a136..5f678fca8 100644 --- a/common/src/main/resources/assets/biomesoplenty/lang/en_us.json +++ b/common/src/main/resources/assets/biomesoplenty/lang/en_us.json @@ -19,9 +19,6 @@ "biome.biomesoplenty.dead_forest": "Dead Forest", "biome.biomesoplenty.dryland": "Dryland", "biome.biomesoplenty.dune_beach": "Dune Beach", - "biome.biomesoplenty.end_corruption": "End Corruption", - "biome.biomesoplenty.end_reef": "End Reef", - "biome.biomesoplenty.end_wilds": "End Wilds", "biome.biomesoplenty.erupting_inferno": "Erupting Inferno", "biome.biomesoplenty.field": "Field", "biome.biomesoplenty.fir_clearing": "Fir Clearing", diff --git a/common/src/main/resources/assets/biomesoplenty/lang/es_cl.json b/common/src/main/resources/assets/biomesoplenty/lang/es_cl.json index f9737ba7c..839ba9ed8 100644 --- a/common/src/main/resources/assets/biomesoplenty/lang/es_cl.json +++ b/common/src/main/resources/assets/biomesoplenty/lang/es_cl.json @@ -19,9 +19,6 @@ "biome.biomesoplenty.dead_forest": "Bosque muerto", "biome.biomesoplenty.dryland": "Tierras secas", "biome.biomesoplenty.dune_beach": "Playa de dunas", - "biome.biomesoplenty.end_corruption": "Corrupción del End", - "biome.biomesoplenty.end_reef": "Arrecife del End", - "biome.biomesoplenty.end_wilds": "Selvas del End", "biome.biomesoplenty.erupting_inferno": "Infierno en erupción", "biome.biomesoplenty.field": "Campo", "biome.biomesoplenty.fir_clearing": "Claro de abetos blancos", diff --git a/common/src/main/resources/assets/biomesoplenty/lang/ja_jp.json b/common/src/main/resources/assets/biomesoplenty/lang/ja_jp.json index 0d0289a35..9781b5a16 100644 --- a/common/src/main/resources/assets/biomesoplenty/lang/ja_jp.json +++ b/common/src/main/resources/assets/biomesoplenty/lang/ja_jp.json @@ -19,9 +19,6 @@ "biome.biomesoplenty.dead_forest": "枯れた森", "biome.biomesoplenty.dryland": "乾燥地", "biome.biomesoplenty.dune_beach": "砂丘の砂浜", - "biome.biomesoplenty.end_corruption": "エンドの破損地帯", - "biome.biomesoplenty.end_reef": "エンドの岩礁", - "biome.biomesoplenty.end_wilds": "エンドの荒野", "biome.biomesoplenty.erupting_inferno": "噴火地獄", "biome.biomesoplenty.field": "野原", "biome.biomesoplenty.fir_clearing": "モミの開拓地", diff --git a/common/src/main/resources/assets/biomesoplenty/lang/uk_ua.json b/common/src/main/resources/assets/biomesoplenty/lang/uk_ua.json index 17ec42c23..287ef0f32 100644 --- a/common/src/main/resources/assets/biomesoplenty/lang/uk_ua.json +++ b/common/src/main/resources/assets/biomesoplenty/lang/uk_ua.json @@ -19,9 +19,6 @@ "biome.biomesoplenty.dead_forest": "Мертвий ліс", "biome.biomesoplenty.dryland": "Сухоземлі", "biome.biomesoplenty.dune_beach": "Дюновий пляж", - "biome.biomesoplenty.end_corruption": "Зіпсований Енд", - "biome.biomesoplenty.end_reef": "Риф Енду", - "biome.biomesoplenty.end_wilds": "Нетрі Енду", "biome.biomesoplenty.erupting_inferno": "Вивержене пекло", "biome.biomesoplenty.field": "Поле", "biome.biomesoplenty.fir_clearing": "Ялицева галявина", diff --git a/common/src/main/resources/assets/biomesoplenty/sounds.json b/common/src/main/resources/assets/biomesoplenty/sounds.json index 3f4b8a1ab..e0179d50d 100644 --- a/common/src/main/resources/assets/biomesoplenty/sounds.json +++ b/common/src/main/resources/assets/biomesoplenty/sounds.json @@ -110,27 +110,27 @@ "music.overworld.origin_valley": { "sounds": [ { - "name": "minecraft:music/game/minecraft", + "name": "minecraft:music/game/calm1", "stream": true }, { - "name": "minecraft:music/game/clark", + "name": "minecraft:music/game/calm2", "stream": true }, { - "name": "minecraft:music/game/sweden", + "name": "minecraft:music/game/calm3", "stream": true }, { - "name": "minecraft:music/game/dry_hands", + "name": "minecraft:music/game/piano1", "stream": true }, { - "name": "minecraft:music/game/wet_hands", + "name": "minecraft:music/game/piano2", "stream": true }, { - "name": "minecraft:music/game/mice_on_venus", + "name": "minecraft:music/game/piano3", "stream": true } ] @@ -167,22 +167,22 @@ "volume": 0.6 }, { - "name": "minecraft:music/game/nether/concrete_halls", + "name": "minecraft:music/game/nether/nether1", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/dead_voxel", + "name": "minecraft:music/game/nether/nether2", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/warmth", + "name": "minecraft:music/game/nether/nether3", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/ballad_of_the_cats", + "name": "minecraft:music/game/nether/nether4", "stream": true, "weight": 1 } @@ -220,22 +220,22 @@ "volume": 0.6 }, { - "name": "minecraft:music/game/nether/concrete_halls", + "name": "minecraft:music/game/nether/nether1", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/dead_voxel", + "name": "minecraft:music/game/nether/nether2", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/warmth", + "name": "minecraft:music/game/nether/nether3", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/ballad_of_the_cats", + "name": "minecraft:music/game/nether/nether4", "stream": true, "weight": 1 } @@ -273,22 +273,22 @@ "volume": 0.6 }, { - "name": "minecraft:music/game/nether/concrete_halls", + "name": "minecraft:music/game/nether/nether1", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/dead_voxel", + "name": "minecraft:music/game/nether/nether2", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/warmth", + "name": "minecraft:music/game/nether/nether3", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/ballad_of_the_cats", + "name": "minecraft:music/game/nether/nether4", "stream": true, "weight": 1 } @@ -326,22 +326,22 @@ "volume": 0.6 }, { - "name": "minecraft:music/game/nether/concrete_halls", + "name": "minecraft:music/game/nether/nether1", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/dead_voxel", + "name": "minecraft:music/game/nether/nether2", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/warmth", + "name": "minecraft:music/game/nether/nether3", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/ballad_of_the_cats", + "name": "minecraft:music/game/nether/nether4", "stream": true, "weight": 1 } @@ -379,22 +379,22 @@ "volume": 0.8 }, { - "name": "minecraft:music/game/nether/concrete_halls", + "name": "minecraft:music/game/nether/nether1", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/dead_voxel", + "name": "minecraft:music/game/nether/nether2", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/warmth", + "name": "minecraft:music/game/nether/nether3", "stream": true, "weight": 1 }, { - "name": "minecraft:music/game/nether/ballad_of_the_cats", + "name": "minecraft:music/game/nether/nether4", "stream": true, "weight": 1 } diff --git a/common/src/main/resources/biomesoplenty.accesswidener b/common/src/main/resources/biomesoplenty.accesswidener index f8b4506c6..ca1375bb4 100644 --- a/common/src/main/resources/biomesoplenty.accesswidener +++ b/common/src/main/resources/biomesoplenty.accesswidener @@ -9,10 +9,10 @@ accessible method net/minecraft/core/particles/SimpleParticleType (Z)V # Block constructors accessible method net/minecraft/world/level/block/StairBlock (Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V -accessible method net/minecraft/world/level/block/DoorBlock (Lnet/minecraft/world/level/block/state/properties/BlockSetType;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V -accessible method net/minecraft/world/level/block/TrapDoorBlock (Lnet/minecraft/world/level/block/state/properties/BlockSetType;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V -accessible method net/minecraft/world/level/block/PressurePlateBlock (Lnet/minecraft/world/level/block/state/properties/BlockSetType;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V -accessible method net/minecraft/world/level/block/ButtonBlock (Lnet/minecraft/world/level/block/state/properties/BlockSetType;ILnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V +accessible method net/minecraft/world/level/block/DoorBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;Lnet/minecraft/world/level/block/state/properties/BlockSetType;)V +accessible method net/minecraft/world/level/block/TrapDoorBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;Lnet/minecraft/world/level/block/state/properties/BlockSetType;)V +accessible method net/minecraft/world/level/block/PressurePlateBlock (Lnet/minecraft/world/level/block/PressurePlateBlock$Sensitivity;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;Lnet/minecraft/world/level/block/state/properties/BlockSetType;)V +accessible method net/minecraft/world/level/block/ButtonBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;Lnet/minecraft/world/level/block/state/properties/BlockSetType;IZ)V accessible method net/minecraft/world/level/block/PinkPetalsBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V # Boats @@ -30,4 +30,16 @@ accessible field net/minecraft/server/level/WorldGenRegion writeRadiusCutoff I accessible method net/minecraft/world/damagesource/DamageSources source (Lnet/minecraft/resources/ResourceKey;)Lnet/minecraft/world/damagesource/DamageSource; # VillagerType -accessible field net/minecraft/world/entity/npc/VillagerType BY_BIOME Ljava/util/Map; \ No newline at end of file +accessible field net/minecraft/world/entity/npc/VillagerType BY_BIOME Ljava/util/Map; + +# FireBlock +accessible method net/minecraft/world/level/block/FireBlock setFlammable (Lnet/minecraft/world/level/block/Block;II)V + +# Strippable & Flattenable +accessible field net/minecraft/world/item/AxeItem STRIPPABLES Ljava/util/Map; +mutable field net/minecraft/world/item/AxeItem STRIPPABLES Ljava/util/Map; +accessible field net/minecraft/world/item/ShovelItem FLATTENABLES Ljava/util/Map; +mutable field net/minecraft/world/item/ShovelItem FLATTENABLES Ljava/util/Map; + +# Loaders +accessible field net/minecraft/core/registries/BuiltInRegistries LOADERS Ljava/util/Map; \ No newline at end of file diff --git a/common/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json b/common/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json index 8b834497b..79d169be0 100644 --- a/common/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json +++ b/common/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json @@ -190,54 +190,6 @@ } ] } - }, - "end_corruption": { - "trigger": "minecraft:location", - "conditions": { - "player": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "location": { - "biome": "biomesoplenty:end_corruption" - } - } - } - ] - } - }, - "end_reef": { - "trigger": "minecraft:location", - "conditions": { - "player": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "location": { - "biome": "biomesoplenty:end_reef" - } - } - } - ] - } - }, - "end_wilds": { - "trigger": "minecraft:location", - "conditions": { - "player": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "location": { - "biome": "biomesoplenty:end_wilds" - } - } - } - ] - } }, "erupting_inferno": { "trigger": "minecraft:location", @@ -1155,15 +1107,6 @@ "dune_beach" ], [ - "end_corruption" - ], - [ - "end_reef" - ], - [ - "end_wilds" - ], - [ "erupting_inferno" ], [ diff --git a/common/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json b/common/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json index 43f2735c9..aa5bc5694 100644 --- a/common/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json +++ b/common/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json @@ -205,54 +205,6 @@ } ] } - }, - "end_corruption": { - "trigger": "minecraft:location", - "conditions": { - "player": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "location": { - "biome": "biomesoplenty:end_corruption" - } - } - } - ] - } - }, - "end_reef": { - "trigger": "minecraft:location", - "conditions": { - "player": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "location": { - "biome": "biomesoplenty:end_reef" - } - } - } - ] - } - }, - "end_wilds": { - "trigger": "minecraft:location", - "conditions": { - "player": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "location": { - "biome": "biomesoplenty:end_wilds" - } - } - } - ] - } }, "erupting_inferno": { "trigger": "minecraft:location", @@ -1132,9 +1084,6 @@ "dead_forest", "dryland", "dune_beach", - "end_corruption", - "end_reef", - "end_wilds", "erupting_inferno", "field", "fir_clearing", diff --git a/common/src/main/resources/data/forge/tags/worldgen/biome/is_cold/end.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_cold/end.json deleted file mode 100644 index eaf44c6a3..000000000 --- a/common/src/main/resources/data/forge/tags/worldgen/biome/is_cold/end.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "values": [ - { - "id": "biomesoplenty:end_corruption", - "required": false - }, - { - "id": "biomesoplenty:end_reef", - "required": false - }, - { - "id": "biomesoplenty:end_wilds", - "required": false - } - ] -} \ No newline at end of file diff --git a/common/src/main/resources/data/forge/tags/worldgen/biome/is_dry/end.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_dry/end.json deleted file mode 100644 index eaf44c6a3..000000000 --- a/common/src/main/resources/data/forge/tags/worldgen/biome/is_dry/end.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "values": [ - { - "id": "biomesoplenty:end_corruption", - "required": false - }, - { - "id": "biomesoplenty:end_reef", - "required": false - }, - { - "id": "biomesoplenty:end_wilds", - "required": false - } - ] -} \ No newline at end of file diff --git a/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/end_city.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/end_city.json deleted file mode 100644 index 38f5b346d..000000000 --- a/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/end_city.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "values": [ - { - "id": "biomesoplenty:end_corruption", - "required": false - }, - { - "id": "biomesoplenty:end_reef", - "required": false - }, - { - "id": "biomesoplenty:end_wilds", - "required": false - } - ] -} \ No newline at end of file diff --git a/common/src/main/resources/data/minecraft/tags/worldgen/biome/is_end.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/is_end.json deleted file mode 100644 index eaf44c6a3..000000000 --- a/common/src/main/resources/data/minecraft/tags/worldgen/biome/is_end.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "values": [ - { - "id": "biomesoplenty:end_corruption", - "required": false - }, - { - "id": "biomesoplenty:end_reef", - "required": false - }, - { - "id": "biomesoplenty:end_wilds", - "required": false - } - ] -} \ No newline at end of file diff --git a/common/src/main/resources/data/toughasnails/tags/worldgen/biome/cold_biomes.json b/common/src/main/resources/data/toughasnails/tags/worldgen/biome/cold_biomes.json index 3be53f323..28f8296a4 100644 --- a/common/src/main/resources/data/toughasnails/tags/worldgen/biome/cold_biomes.json +++ b/common/src/main/resources/data/toughasnails/tags/worldgen/biome/cold_biomes.json @@ -15,18 +15,6 @@ { "id": "biomesoplenty:dead_forest", "required": false - }, - { - "id": "biomesoplenty:end_corruption", - "required": false - }, - { - "id": "biomesoplenty:end_reef", - "required": false - }, - { - "id": "biomesoplenty:end_wilds", - "required": false }, { "id": "biomesoplenty:field", diff --git a/common/src/main/resources/pack.mcmeta b/common/src/main/resources/pack.mcmeta index 66ab88d39..b016f486e 100644 --- a/common/src/main/resources/pack.mcmeta +++ b/common/src/main/resources/pack.mcmeta @@ -1,6 +1,6 @@ { "pack": { "description": "Resources used for Biomes O' Plenty", - "pack_format": 22 + "pack_format": 15 } } diff --git a/fabric/build.gradle b/fabric/build.gradle index 1d02f2c08..8aec28b98 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -1,5 +1,5 @@ plugins { - id "fabric-loom" version "1.4-SNAPSHOT" + id "fabric-loom" version "1.6-SNAPSHOT" id "com.matthewprenger.cursegradle" version "1.4.0" } @@ -67,8 +67,8 @@ curseforge { relations { requiredDependency 'fabric-api' - requiredDependency 'glitchcore' requiredDependency 'terrablender-fabric' + requiredDependency 'glitchcore' } } } \ No newline at end of file diff --git a/fabric/src/main/java/biomesoplenty/fabric/core/BiomesOPlentyFabric.java b/fabric/src/main/java/biomesoplenty/fabric/core/BiomesOPlentyFabric.java index d6c1235cb..5e355afb2 100644 --- a/fabric/src/main/java/biomesoplenty/fabric/core/BiomesOPlentyFabric.java +++ b/fabric/src/main/java/biomesoplenty/fabric/core/BiomesOPlentyFabric.java @@ -15,14 +15,13 @@ public class BiomesOPlentyFabric implements GlitchCoreInitializer, TerraBlenderA @Override public void onInitialize() { - BiomesOPlenty.init(); + BiomesOPlenty.init(); } @Override - public void onInitializeClient() - { - ModClient.setup(); - ModClientFabric.setup(); + public void onInitializeClient() { + ModClient.setup(); + ModClientFabric.setup(); } @Override diff --git a/fabric/src/main/resources/biomesoplenty.fabric.mixins.json b/fabric/src/main/resources/biomesoplenty.fabric.mixins.json index c03abc929..0cadb115a 100644 --- a/fabric/src/main/resources/biomesoplenty.fabric.mixins.json +++ b/fabric/src/main/resources/biomesoplenty.fabric.mixins.json @@ -4,7 +4,6 @@ "compatibilityLevel": "JAVA_17", "refmap": "biomesoplenty.refmap.json", "mixins": [ - ], "client": [ "MixinBloodFluid", diff --git a/forge/src/main/java/biomesoplenty/forge/datagen/DataGenerationHandler.java b/forge/src/main/java/biomesoplenty/forge/datagen/DataGenerationHandler.java index e533776ad..e1d912293 100644 --- a/forge/src/main/java/biomesoplenty/forge/datagen/DataGenerationHandler.java +++ b/forge/src/main/java/biomesoplenty/forge/datagen/DataGenerationHandler.java @@ -4,71 +4,45 @@ ******************************************************************************/ package biomesoplenty.forge.datagen; -import biomesoplenty.core.BiomesOPlenty; import biomesoplenty.forge.datagen.provider.BOPLootTableProvider; import biomesoplenty.forge.datagen.provider.BOPRecipeProvider; import biomesoplenty.init.ModDamageTypes; import biomesoplenty.util.worldgen.BOPFeatureUtils; import biomesoplenty.util.worldgen.BOPPlacementUtils; import biomesoplenty.worldgen.carver.BOPConfiguredCarvers; -import biomesoplenty.forge.core.BiomesOPlentyForge; +import biomesoplenty.core.BiomesOPlenty; import biomesoplenty.init.ModBiomes; -import net.minecraft.core.Cloner; -import net.minecraft.core.HolderLookup; -import net.minecraft.core.RegistryAccess; import net.minecraft.core.RegistrySetBuilder; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.data.DataGenerator; import net.minecraft.data.PackOutput; -import net.minecraft.data.registries.RegistriesDatapackGenerator; -import net.minecraft.resources.RegistryDataLoader; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider; import net.minecraftforge.data.event.GatherDataEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; -import java.util.HashSet; import java.util.Set; @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, modid = BiomesOPlenty.MOD_ID) public class DataGenerationHandler { private static final RegistrySetBuilder BUILDER = new RegistrySetBuilder() - .add(Registries.CONFIGURED_CARVER, BOPConfiguredCarvers::bootstrap) - .add(Registries.CONFIGURED_FEATURE, BOPFeatureUtils::bootstrap) - .add(Registries.PLACED_FEATURE, BOPPlacementUtils::bootstrap) - .add(Registries.BIOME, ModBiomes::bootstrapBiomes) - .add(Registries.DAMAGE_TYPE, ModDamageTypes::bootstrap); + .add(Registries.CONFIGURED_CARVER, BOPConfiguredCarvers::bootstrap) + .add(Registries.CONFIGURED_FEATURE, BOPFeatureUtils::bootstrap) + .add(Registries.PLACED_FEATURE, BOPPlacementUtils::bootstrap) + .add(Registries.BIOME, ModBiomes::bootstrapBiomes) + .add(Registries.DAMAGE_TYPE, ModDamageTypes::bootstrap); @SubscribeEvent public static void onGatherData(GatherDataEvent event) { DataGenerator generator = event.getGenerator(); PackOutput output = generator.getPackOutput(); - ExistingFileHelper existingFileHelper = event.getExistingFileHelper(); - - var datapackProvider = generator.addProvider(event.includeServer(), new RegistriesDatapackGenerator(output, event.getLookupProvider().thenApply(r -> constructRegistries(r, BUILDER)), Set.of(BiomesOPlenty.MOD_ID))); + generator.addProvider(event.includeServer(), new DatapackBuiltinEntriesProvider(output, event.getLookupProvider(), BUILDER, Set.of(BiomesOPlenty.MOD_ID))); // Recipes generator.addProvider(event.includeServer(), new BOPRecipeProvider(output)); - // Loot generator.addProvider(event.includeServer(), BOPLootTableProvider.create(output)); } - - private static HolderLookup.Provider constructRegistries(HolderLookup.Provider original, RegistrySetBuilder datapackEntriesBuilder) - { - Cloner.Factory clonerFactory = new Cloner.Factory(); - var builderKeys = new HashSet<>(datapackEntriesBuilder.getEntryKeys()); - RegistryDataLoader.WORLDGEN_REGISTRIES.stream().forEach(data -> { - // Add keys for missing registries - if (!builderKeys.contains(data.key())) - datapackEntriesBuilder.add(data.key(), context -> {}); - - data.runWithArguments(clonerFactory::addCodec); - }); - - return datapackEntriesBuilder.buildPatch(RegistryAccess.fromRegistryOfRegistries(BuiltInRegistries.REGISTRY), original, clonerFactory).patches(); - } -} +} \ No newline at end of file diff --git a/forge/src/main/java/biomesoplenty/forge/datagen/provider/BOPRecipeProvider.java b/forge/src/main/java/biomesoplenty/forge/datagen/provider/BOPRecipeProvider.java index 8b6605991..46b129c39 100644 --- a/forge/src/main/java/biomesoplenty/forge/datagen/provider/BOPRecipeProvider.java +++ b/forge/src/main/java/biomesoplenty/forge/datagen/provider/BOPRecipeProvider.java @@ -9,6 +9,7 @@ import biomesoplenty.core.BiomesOPlenty; import biomesoplenty.forge.datagen.BOPBlockFamilies; import biomesoplenty.init.ModTags; +import java.util.function.Consumer; import net.minecraft.data.BlockFamily; import net.minecraft.data.PackOutput; import net.minecraft.data.recipes.*; @@ -29,7 +30,7 @@ public BOPRecipeProvider(PackOutput output) } @Override - protected void buildRecipes(RecipeOutput output) + protected void buildRecipes(Consumer output) { generateForEnabledBlockFamilies(output, FeatureFlagSet.of(FeatureFlags.VANILLA)); @@ -244,30 +245,30 @@ protected void buildRecipes(RecipeOutput output) ShapedRecipeBuilder.shaped(RecipeCategory.REDSTONE, Blocks.TNT).define('#', Ingredient.of(BOPBlocks.WHITE_SAND, BOPBlocks.ORANGE_SAND, BOPBlocks.BLACK_SAND)).define('X', Items.GUNPOWDER).pattern("X#X").pattern("#X#").pattern("X#X").unlockedBy("has_gunpowder", has(Items.GUNPOWDER)).save(output, BiomesOPlenty.MOD_ID + ":" + "tnt_from_bop_sand"); } - protected static void generateForEnabledBlockFamilies(RecipeOutput output, FeatureFlagSet flags) { - BOPBlockFamilies.getAllFamilies().filter(BlockFamily::shouldGenerateRecipe).forEach((family) -> generateRecipes(output, family, flags)); + protected void generateForEnabledBlockFamilies(Consumer output, FeatureFlagSet flags) { + BOPBlockFamilies.getAllFamilies().filter(family -> family.shouldGenerateRecipe(flags)).forEach((family) -> generateRecipes(output, family)); } - protected static void planksFromLogs(RecipeOutput output, ItemLike planks, ItemLike log, int count) + protected static void planksFromLogs(Consumer output, ItemLike planks, ItemLike log, int count) { ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, planks, count).requires(log).group("planks").unlockedBy("has_logs", has(log)).save(output); } - protected static void stonecutterResultFromBase(RecipeOutput output, RecipeCategory category, ItemLike result, ItemLike input) + protected static void stonecutterResultFromBase(Consumer output, RecipeCategory category, ItemLike result, ItemLike input) { stonecutterResultFromBase(output, category, result, input, 1); } - protected static void stonecutterResultFromBase(RecipeOutput output, RecipeCategory category, ItemLike result, ItemLike input, int count) + protected static void stonecutterResultFromBase(Consumer output, RecipeCategory category, ItemLike result, ItemLike input, int count) { SingleItemRecipeBuilder.stonecutting(Ingredient.of(input), category, result, count).unlockedBy(getHasName(input), has(input)).save(output, BiomesOPlenty.MOD_ID + ":" + getConversionRecipeName(result, input) + "_stonecutting"); } - protected static void oneToOneConversionRecipe(RecipeOutput p_299023_, ItemLike p_176553_, ItemLike p_176554_, @Nullable String p_176555_) { + protected static void oneToOneConversionRecipe(Consumer p_299023_, ItemLike p_176553_, ItemLike p_176554_, @Nullable String p_176555_) { oneToOneConversionRecipe(p_299023_, p_176553_, p_176554_, p_176555_, 1); } - protected static void oneToOneConversionRecipe(RecipeOutput p_301230_, ItemLike p_176558_, ItemLike p_176559_, @Nullable String p_176560_, int p_176561_) { + protected static void oneToOneConversionRecipe(Consumer p_301230_, ItemLike p_176558_, ItemLike p_176559_, @Nullable String p_176560_, int p_176561_) { ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, p_176558_, p_176561_).requires(p_176559_).group(p_176560_).unlockedBy(getHasName(p_176559_), has(p_176559_)).save(p_301230_, BiomesOPlenty.MOD_ID + ":" + getConversionRecipeName(p_176558_, p_176559_)); } } diff --git a/forge/src/main/java/biomesoplenty/forge/handler/MissingMappingsHandler.java b/forge/src/main/java/biomesoplenty/forge/handler/MissingMappingsHandler.java index 881fdff2a..36c2db36c 100644 --- a/forge/src/main/java/biomesoplenty/forge/handler/MissingMappingsHandler.java +++ b/forge/src/main/java/biomesoplenty/forge/handler/MissingMappingsHandler.java @@ -96,7 +96,7 @@ public static void onMissingMapping(MissingMappingsEvent event) .remap("nether_sprout", BOPBlocks.SPROUT) .remap("tall_cattail", BOPBlocks.CATTAIL) .remap("ivy", BOPBlocks.WILLOW_VINE) - .remap("short_grass", Blocks.SHORT_GRASS) + .remap("grass", Blocks.GRASS) .remap("thorn", Blocks.DEAD_BUSH) .remap("deathbloom", Blocks.WITHER_ROSE) .remap("devilweed", BOPBlocks.SPROUT) diff --git a/gradle.properties b/gradle.properties index d179b3f5c..6bcd43d1d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,20 +3,15 @@ group=com.github.glitchfiend release_channel=beta # Common -minecraft_version=1.20.4 +minecraft_version=1.20.1 # Forge -forge_version=49.0.3 -forge_version_range=[49.0.3,) -forge_loader_version_range=[49,) - -# NeoForge -neoforge_version=20.4.75-beta -neoforge_version_range=[20.4,) -neoforge_loader_version_range=[1,) +forge_version=47.3.0 +forge_version_range=[47.3.0,) +forge_loader_version_range=[47,) # Fabric -fabric_version=0.91.1+1.20.4 +fabric_version=0.92.2+1.20.1 fabric_loader_version=0.15.1 # Mod options @@ -40,5 +35,5 @@ org.gradle.daemon=false # Dependencies nightconfig_version=3.6.7 -glitchcore_version=1.0.0.51 -terrablender_version=3.3.0.9 \ No newline at end of file +glitchcore_version=0.0.1.0 +terrablender_version=3.0.1.7 \ No newline at end of file diff --git a/neoforge/build.gradle b/neoforge/build.gradle deleted file mode 100644 index 75ced355e..000000000 --- a/neoforge/build.gradle +++ /dev/null @@ -1,92 +0,0 @@ -plugins { - id "net.neoforged.gradle.userdev" version "7.+" - id "net.neoforged.gradle.mixin" version "7.+" - id "com.matthewprenger.cursegradle" version "1.4.0" -} - -base.archivesName.set("${mod_name}-neoforge") - -mixin { - config "${mod_id}.mixins.json" - config "${mod_id}.neoforge.mixins.json" -} - -minecraft { - mappings { - channel = official() - version.put "minecraft", minecraft_version - } - accessTransformers.file('src/main/resources/META-INF/accesstransformer.cfg') -} - -runs { - configureEach { - modSource project.sourceSets.main - } - - client { - workingDirectory.set(project.file('run')) - systemProperty 'neoforge.enabledGameTestNamespaces', mod_id - } - - server { - workingDirectory.set(project.file('run')) - systemProperty 'neoforge.enabledGameTestNamespaces', mod_id - programArgument '--nogui' - } -} - -dependencies { - implementation "net.neoforged:neoforge:${neoforge_version}" - compileOnly project(":Common") - implementation 'com.github.glitchfiend:GlitchCore-neoforge:' + minecraft_version + '-' + glitchcore_version - implementation 'com.github.glitchfiend:TerraBlender-neoforge:' + minecraft_version + '-' + terrablender_version -} - -// NeoGradle compiles the game, but we don't want to add our common code to the game's code -TaskCollection.metaClass.excludingNeoTasks = { -> - delegate.matching { !it.name.startsWith("neo") } -} - -tasks.withType(JavaCompile).excludingNeoTasks().configureEach { - source(project(":Common").sourceSets.main.allSource) -} - -tasks.withType(Javadoc).excludingNeoTasks().configureEach { - source(project(":Common").sourceSets.main.allJava) -} - -tasks.named("sourcesJar", Jar) { - from(project(":Common").sourceSets.main.allSource) -} - -tasks.withType(ProcessResources).excludingNeoTasks().configureEach { - from project(":Common").sourceSets.main.resources - filesMatching("${mod_id}.mixins.json") { - expand "refmap_target": "${mod_id}." - } -} - -curseforge { - apiKey = project.findProperty('curseApiKey') ?: 'unset' - project { - id = mod_curseforge_id - - if (changelog_file.exists()) { - changelog = changelog_file - } - - releaseType = release_channel - addGameVersion minecraft_version - addGameVersion name - - mainArtifact(jar) { - displayName = "${mod_display_name} ${name} ${version}" - } - - relations { - requiredDependency 'glitchcore' - requiredDependency 'terrablender-neoforge' - } - } -} \ No newline at end of file diff --git a/neoforge/src/main/java/biomesoplenty/neoforge/core/BiomesOPlentyNeoForge.java b/neoforge/src/main/java/biomesoplenty/neoforge/core/BiomesOPlentyNeoForge.java deleted file mode 100644 index 4f280f4b7..000000000 --- a/neoforge/src/main/java/biomesoplenty/neoforge/core/BiomesOPlentyNeoForge.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ - -package biomesoplenty.neoforge.core; - -import biomesoplenty.core.BiomesOPlenty; -import biomesoplenty.init.ModClient; -import biomesoplenty.neoforge.init.ModFluidTypes; -import glitchcore.neoforge.GlitchCoreNeoForge; -import net.neoforged.bus.api.IEventBus; -import net.neoforged.fml.common.Mod; -import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; -import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; -import net.neoforged.neoforge.fluids.FluidType; -import net.neoforged.neoforge.registries.DeferredRegister; -import net.neoforged.neoforge.registries.NeoForgeRegistries; - -@Mod(value = BiomesOPlenty.MOD_ID) -public class BiomesOPlentyNeoForge -{ - public static final DeferredRegister FORGE_FLUID_REGISTER = DeferredRegister.create(NeoForgeRegistries.Keys.FLUID_TYPES, BiomesOPlenty.MOD_ID); - - public BiomesOPlentyNeoForge(IEventBus bus) - { - bus.addListener(this::commonSetup); - bus.addListener(this::clientSetup); - - FORGE_FLUID_REGISTER.register(bus); - - BiomesOPlenty.init(); - GlitchCoreNeoForge.prepareModEventHandlers(bus); - - ModFluidTypes.setup(); - } - - private void commonSetup(final FMLCommonSetupEvent event) - { - event.enqueueWork(() -> - { - BiomesOPlenty.setupTerraBlender(); - ModFluidTypes.registerFluidInteractions(); - }); - } - - private void clientSetup(final FMLClientSetupEvent event) - { - event.enqueueWork(ModClient::setup); - } -} diff --git a/neoforge/src/main/java/biomesoplenty/neoforge/init/ModFluidTypes.java b/neoforge/src/main/java/biomesoplenty/neoforge/init/ModFluidTypes.java deleted file mode 100644 index 65d828760..000000000 --- a/neoforge/src/main/java/biomesoplenty/neoforge/init/ModFluidTypes.java +++ /dev/null @@ -1,180 +0,0 @@ -/******************************************************************************* - * Copyright 2024, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.neoforge.init; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.neoforge.core.BiomesOPlentyNeoForge; -import com.mojang.blaze3d.shaders.FogShape; -import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.client.Camera; -import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientLevel; -import net.minecraft.client.renderer.FogRenderer; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Holder; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.sounds.SoundEvents; -import net.minecraft.world.entity.Mob; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.material.FluidState; -import net.minecraft.world.level.pathfinder.BlockPathTypes; -import net.neoforged.neoforge.client.extensions.common.IClientFluidTypeExtensions; -import net.neoforged.neoforge.common.NeoForgeMod; -import net.neoforged.neoforge.common.SoundActions; -import net.neoforged.neoforge.fluids.FluidInteractionRegistry; -import net.neoforged.neoforge.fluids.FluidType; -import net.neoforged.neoforge.registries.DeferredHolder; -import net.neoforged.neoforge.registries.NeoForgeRegistries; -import org.jetbrains.annotations.Nullable; -import org.joml.Vector3f; - -import java.util.Map; -import java.util.function.Consumer; -import java.util.function.Supplier; - -public class ModFluidTypes -{ - public static Holder BLOOD_TYPE; - public static Holder LIQUID_NULL_TYPE; - - public static void setup() - { - registerFluids(); - } - - public static void registerFluids() - { - BLOOD_TYPE = registerFluidType(() -> new FluidType(FluidType.Properties.create() - .descriptionId("block.biomesoplenty.blood") - .fallDistanceModifier(0F) - .canExtinguish(true) - .sound(SoundActions.BUCKET_FILL, SoundEvents.BUCKET_FILL) - .sound(SoundActions.BUCKET_EMPTY, SoundEvents.BUCKET_EMPTY) - .sound(SoundActions.FLUID_VAPORIZE, SoundEvents.FIRE_EXTINGUISH) - .density(3000) - .viscosity(6000)) - { - @Override - public @Nullable BlockPathTypes getBlockPathType(FluidState state, BlockGetter level, BlockPos pos, @Nullable Mob mob, boolean canFluidLog) - { - return canFluidLog ? super.getBlockPathType(state, level, pos, mob, true) : null; - } - - @Override - public void initializeClient(Consumer consumer) - { - consumer.accept(new IClientFluidTypeExtensions() - { - private static final ResourceLocation BLOOD_UNDERWATER = new ResourceLocation("biomesoplenty:textures/block/blood_underwater.png"), - BLOOD_STILL = new ResourceLocation("biomesoplenty:block/blood_still"), - BLOOD_FLOW = new ResourceLocation("biomesoplenty:block/blood_flow"); - - @Override - public ResourceLocation getStillTexture() - { - return BLOOD_STILL; - } - - @Override - public ResourceLocation getFlowingTexture() { return BLOOD_FLOW; } - - @Override - public ResourceLocation getRenderOverlayTexture(Minecraft mc) { return BLOOD_UNDERWATER; } - - @Override - public Vector3f modifyFogColor(Camera camera, float partialTick, ClientLevel level, int renderDistance, float darkenWorldAmount, Vector3f fluidFogColor) - { - return new Vector3f(0.407F, 0.121F, 0.137F); - } - - @Override - public void modifyFogRender(Camera camera, FogRenderer.FogMode mode, float renderDistance, float partialTick, float nearDistance, float farDistance, FogShape shape) - { - RenderSystem.setShaderFogStart(0.125F); - RenderSystem.setShaderFogEnd(5.0F); - } - }); - } - }, "blood"); - - LIQUID_NULL_TYPE = registerFluidType(() -> new FluidType(FluidType.Properties.create() - .descriptionId("block.biomesoplenty.liquid_null") - .fallDistanceModifier(0F) - .canExtinguish(false) - .sound(SoundActions.BUCKET_FILL, SoundEvents.BUCKET_FILL) - .sound(SoundActions.BUCKET_EMPTY, SoundEvents.BUCKET_EMPTY) - .sound(SoundActions.FLUID_VAPORIZE, SoundEvents.FIRE_EXTINGUISH) - .density(3000) - .viscosity(6000)) - { - @Override - public @Nullable BlockPathTypes getBlockPathType(FluidState state, BlockGetter level, BlockPos pos, @Nullable Mob mob, boolean canFluidLog) - { - return canFluidLog ? super.getBlockPathType(state, level, pos, mob, true) : null; - } - - @Override - public void initializeClient(Consumer consumer) - { - consumer.accept(new IClientFluidTypeExtensions() - { - private static final ResourceLocation LIQUID_NULL_UNDERWATER = new ResourceLocation("biomesoplenty:textures/block/liquid_null_underwater.png"), - LIQUID_NULL_STILL = new ResourceLocation("biomesoplenty:block/liquid_null_still"), - LIQUID_NULL_FLOW = new ResourceLocation("biomesoplenty:block/liquid_null_flow"); - - @Override - public ResourceLocation getStillTexture() - { - return LIQUID_NULL_STILL; - } - - @Override - public ResourceLocation getFlowingTexture() { return LIQUID_NULL_FLOW; } - - @Override - public ResourceLocation getRenderOverlayTexture(Minecraft mc) { return LIQUID_NULL_UNDERWATER; } - - @Override - public Vector3f modifyFogColor(Camera camera, float partialTick, ClientLevel level, int renderDistance, float darkenWorldAmount, Vector3f fluidFogColor) - { - return new Vector3f(0.0F, 0.0F, 0.0F); - } - - @Override - public void modifyFogRender(Camera camera, FogRenderer.FogMode mode, float renderDistance, float partialTick, float nearDistance, float farDistance, FogShape shape) - { - RenderSystem.setShaderFogStart(0.1F); - RenderSystem.setShaderFogEnd(2.5F); - } - }); - } - }, "liquid_null"); - } - - public static DeferredHolder registerFluidType(Supplier fluidSupplier, String name) - { - return BiomesOPlentyNeoForge.FORGE_FLUID_REGISTER.register(name, fluidSupplier); - } - - public static void registerFluidInteractions() - { - for (Map.Entry, FluidType> fluidType : NeoForgeRegistries.FLUID_TYPES.entrySet()) - { - if (fluidType.getValue() != NeoForgeMod.EMPTY_TYPE.value() && fluidType.getValue() != ModFluidTypes.BLOOD_TYPE.value()) - { - FluidInteractionRegistry.addInteraction(fluidType.getValue(), new FluidInteractionRegistry.InteractionInformation( - ModFluidTypes.BLOOD_TYPE.value(), - fluidState -> fluidState.isSource() ? BOPBlocks.FLESH.defaultBlockState() : BOPBlocks.POROUS_FLESH.defaultBlockState() - )); - } - if (fluidType.getValue() != NeoForgeMod.EMPTY_TYPE.value() && fluidType.getValue() != ModFluidTypes.LIQUID_NULL_TYPE.value()) - { - FluidInteractionRegistry.addInteraction(fluidType.getValue(), new FluidInteractionRegistry.InteractionInformation( - ModFluidTypes.LIQUID_NULL_TYPE.value(), BOPBlocks.NULL_BLOCK.defaultBlockState())); - } - } - } -} diff --git a/neoforge/src/main/java/biomesoplenty/neoforge/mixin/MixinBloodFluid.java b/neoforge/src/main/java/biomesoplenty/neoforge/mixin/MixinBloodFluid.java deleted file mode 100644 index 7cb299017..000000000 --- a/neoforge/src/main/java/biomesoplenty/neoforge/mixin/MixinBloodFluid.java +++ /dev/null @@ -1,21 +0,0 @@ -/******************************************************************************* - * Copyright 2024, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.neoforge.mixin; - -import biomesoplenty.block.BloodFluid; -import biomesoplenty.neoforge.init.ModFluidTypes; -import net.minecraft.world.level.material.FlowingFluid; -import net.neoforged.neoforge.fluids.FluidType; -import org.spongepowered.asm.mixin.Mixin; - -@Mixin(BloodFluid.class) -public abstract class MixinBloodFluid extends FlowingFluid -{ - @Override - public FluidType getFluidType() - { - return ModFluidTypes.BLOOD_TYPE.value(); - } -} diff --git a/neoforge/src/main/java/biomesoplenty/neoforge/mixin/MixinLiquidNullFluid.java b/neoforge/src/main/java/biomesoplenty/neoforge/mixin/MixinLiquidNullFluid.java deleted file mode 100644 index 0e46bdad6..000000000 --- a/neoforge/src/main/java/biomesoplenty/neoforge/mixin/MixinLiquidNullFluid.java +++ /dev/null @@ -1,21 +0,0 @@ -/******************************************************************************* - * Copyright 2024, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.neoforge.mixin; - -import biomesoplenty.block.LiquidNullFluid; -import biomesoplenty.neoforge.init.ModFluidTypes; -import net.minecraft.world.level.material.FlowingFluid; -import net.neoforged.neoforge.fluids.FluidType; -import org.spongepowered.asm.mixin.Mixin; - -@Mixin(LiquidNullFluid.class) -public abstract class MixinLiquidNullFluid extends FlowingFluid -{ - @Override - public FluidType getFluidType() - { - return ModFluidTypes.LIQUID_NULL_TYPE.value(); - } -} diff --git a/neoforge/src/main/resources/META-INF/accesstransformer.cfg b/neoforge/src/main/resources/META-INF/accesstransformer.cfg deleted file mode 100644 index e52f7d142..000000000 --- a/neoforge/src/main/resources/META-INF/accesstransformer.cfg +++ /dev/null @@ -1,32 +0,0 @@ -# Items -public-f net.minecraft.world.item.AxeItem STRIPPABLES -public-f net.minecraft.world.item.HoeItem TILLABLES -public-f net.minecraft.world.item.ShovelItem FLATTENABLES - -# Blocks -public net.minecraft.world.level.block.Blocks log(Lnet/minecraft/world/level/material/MaterialColor;Lnet/minecraft/world/level/material/MaterialColor;)Lnet/minecraft/world/level/block/RotatedPillarBlock; -public net.minecraft.world.level.block.FireBlock setFlammable(Lnet/minecraft/world/level/block/Block;II)V -public net.minecraft.world.level.block.state.properties.BlockSetType register(Lnet/minecraft/world/level/block/state/properties/BlockSetType;)Lnet/minecraft/world/level/block/state/properties/BlockSetType; - -# Fluids -public-f net.minecraft.client.Camera level -public-f net.minecraft.client.Camera blockPosition -public net.minecraft.world.level.material.Material$Builder notSolidBlocking()Lnet/minecraft/world/level/material/Material$Builder; -public net.minecraft.world.level.material.Material$Builder destroyOnPush()Lnet/minecraft/world/level/material/Material$Builder; - -# Biomes -public net.minecraft.world.entity.npc.VillagerType BY_BIOME - -# Features -protected net.minecraft.world.level.levelgen.feature.TreeFeature doPlace(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Ljava/util/function/BiConsumer;Ljava/util/function/BiConsumer;Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageSetter;Lnet/minecraft/world/level/levelgen/feature/configurations/TreeConfiguration;)Z - -# Boats -public net.minecraft.world.entity.vehicle.Boat DATA_ID_TYPE -public net.minecraft.world.entity.vehicle.Boat lastYd -public net.minecraft.world.entity.vehicle.Boat status - -# WorldGenRegion -public net.minecraft.server.level.WorldGenRegion writeRadiusCutoff - -# DamageSources -public net.minecraft.world.damagesource.DamageSources *() \ No newline at end of file diff --git a/neoforge/src/main/resources/META-INF/mods.toml b/neoforge/src/main/resources/META-INF/mods.toml deleted file mode 100644 index 7d5270bd4..000000000 --- a/neoforge/src/main/resources/META-INF/mods.toml +++ /dev/null @@ -1,34 +0,0 @@ -modLoader="javafml" -license="${mod_license}" -loaderVersion="${neoforge_loader_version_range}" -issueTrackerURL="${mod_issues_url}" -displayURL="${mod_page_url}" -logoFile="${mod_id}_logo.png" - -[[mods]] - modId="${mod_id}" - version="${mod_version}" - displayName="${mod_display_name}" - authors="${mod_authors}" - description="${mod_description}" - -[[dependencies.${mod_id}]] - modId="neoforge" - required=true - versionRange="${neoforge_version_range}" - ordering="NONE" - side="BOTH" - -[[dependencies.${mod_id}]] - modId="glitchcore" - required=true - versionRange="[${glitchcore_version},)" - ordering="AFTER" - side="BOTH" - -[[dependencies.${mod_id}]] - modId="terrablender" - required=true - versionRange="[${terrablender_version},)" - ordering="AFTER" - side="BOTH" \ No newline at end of file diff --git a/neoforge/src/main/resources/biomesoplenty.neoforge.mixins.json b/neoforge/src/main/resources/biomesoplenty.neoforge.mixins.json deleted file mode 100644 index ff5827a59..000000000 --- a/neoforge/src/main/resources/biomesoplenty.neoforge.mixins.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "required": true, - "package": "biomesoplenty.neoforge.mixin", - "compatibilityLevel": "JAVA_17", - "refmap": "biomesoplenty.refmap.json", - "mixins": [ - "MixinBloodFluid", - "MixinLiquidNullFluid" - ], - "client": [ - ], - "injectors": { - "defaultRequire": 1 - }, - "minVersion": "0.8.4" -} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 583d391fd..19171fb42 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,4 @@ -include("common", "forge", "neoforge", "fabric") +include("common", "forge", "fabric") pluginManagement.repositories { gradlePluginPortal() @@ -6,10 +6,6 @@ pluginManagement.repositories { name = "Fabric" url = "https://maven.fabricmc.net/" } - maven { - name = "NeoForge" - url = "https://maven.neoforged.net/releases" - } maven { name = "Forge" url = "https://maven.minecraftforge.net" @@ -25,5 +21,4 @@ rootProject.name = "BiomesOPlenty" // We want lowercase folder names but uppercase project names project(":common").name = "Common" project(":forge").name = "Forge" -project(":neoforge").name = "NeoForge" project(":fabric").name = "Fabric" \ No newline at end of file