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 extends BaseEntityBlock> 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