Improve world generation

- Code cleanup
- Granite, Andesite and Diorite Rocks now have a chance to generate everywhere
- Spruce sticks can now generate on top of snow blocks
- Biome exclusion list (closes #32)
This commit is contained in:
Martin Prokoph
2025-01-11 21:41:59 +01:00
parent dd028ccc8f
commit 327b94d7cd
12 changed files with 437 additions and 158 deletions

View File

@@ -66,6 +66,8 @@
"item.rocks.starfish": "Seestern",
"item.rocks.warped_stick": "Wirrstock",
"itemGroup.rocks.rocks": "This Rocks!",
"rocks.midnightconfig.biomeExclusions": "Ausgeschlosene Biome",
"rocks.midnightconfig.biomeExclusions.tooltip": "In diesen Biomen werden keine Features der Mod generiert.\nFormat: modid:biome_name",
"rocks.midnightconfig.category.effects": "Effekte",
"rocks.midnightconfig.category.misc": "Sonstiges",
"rocks.midnightconfig.category.rocks": "Brocken",
@@ -78,6 +80,8 @@
"rocks.midnightconfig.needs_restart2": "§cStarte das Spiel neu, nachdem du Änderungen vorgenommen hast!",
"rocks.midnightconfig.netherGeyserDamage": "Nether Geysir Schaden",
"rocks.midnightconfig.polymerViewDistance": "Polymer-Sichtweite",
"rocks.midnightconfig.rockMix": "Gemischte Brocken",
"rocks.midnightconfig.rockMix.tooltip": "Fügt kleine Mengen an Granit-, Andesit- und Diorit-Brocken zu allen Biomen hinzu",
"rocks.midnightconfig.title": "This Rocks! Config",
"rocks.midnightconfig.underwaterSeashell": "Unterwasser-Muschel",
"rocks.midnightconfig.underwaterStarfish": "Unterwasser-Seestern"

View File

@@ -66,6 +66,8 @@
"item.rocks.starfish": "Starfish",
"item.rocks.warped_stick": "Warped Stick",
"itemGroup.rocks.rocks": "This Rocks!",
"rocks.midnightconfig.biomeExclusions": "Excluded biomes",
"rocks.midnightconfig.biomeExclusions.tooltip": "No feature will generate in these biomes.\nFormat: modid:biome_name",
"rocks.midnightconfig.category.effects": "Effects",
"rocks.midnightconfig.category.misc": "Miscellaneous",
"rocks.midnightconfig.category.rocks": "Rocks",
@@ -78,6 +80,8 @@
"rocks.midnightconfig.needs_restart2": "§cRestart the game after changing options here!",
"rocks.midnightconfig.netherGeyserDamage": "Nether Geyser Damage",
"rocks.midnightconfig.polymerViewDistance": "Polymer View Distance",
"rocks.midnightconfig.rockMix": "Mixed Rocks",
"rocks.midnightconfig.rockMix.tooltip": "Adds small batches of Granite, Andesite and Diorite rocks to all biomes",
"rocks.midnightconfig.title": "This Rocks! Config",
"rocks.midnightconfig.underwaterSeashell": "Underwater Seashell",
"rocks.midnightconfig.underwaterStarfish": "Underwater Starfish"

View File

@@ -0,0 +1,118 @@
{
"type": "minecraft:simple_block",
"config": {
"to_place": {
"type": "minecraft:weighted_state_provider",
"entries": [
{
"data": {
"Name": "rocks:granite_rock",
"Properties": {
"variation": "tiny"
}
},
"weight": 10
},
{
"data": {
"Name": "rocks:granite_rock",
"Properties": {
"variation": "small"
}
},
"weight": 7
},
{
"data": {
"Name": "rocks:granite_rock",
"Properties": {
"variation": "medium"
}
},
"weight": 5
},
{
"data": {
"Name": "rocks:granite_rock",
"Properties": {
"variation": "large"
}
},
"weight": 1
},
{
"data": {
"Name": "rocks:diorite_rock",
"Properties": {
"variation": "tiny"
}
},
"weight": 10
},
{
"data": {
"Name": "rocks:diorite_rock",
"Properties": {
"variation": "small"
}
},
"weight": 7
},
{
"data": {
"Name": "rocks:diorite_rock",
"Properties": {
"variation": "medium"
}
},
"weight": 5
},
{
"data": {
"Name": "rocks:diorite_rock",
"Properties": {
"variation": "large"
}
},
"weight": 1
},
{
"data": {
"Name": "rocks:andesite_rock",
"Properties": {
"variation": "tiny"
}
},
"weight": 10
},
{
"data": {
"Name": "rocks:andesite_rock",
"Properties": {
"variation": "small"
}
},
"weight": 7
},
{
"data": {
"Name": "rocks:andesite_rock",
"Properties": {
"variation": "medium"
}
},
"weight": 5
},
{
"data": {
"Name": "rocks:andesite_rock",
"Properties": {
"variation": "large"
}
},
"weight": 1
}
]
}
}
}

View File

@@ -0,0 +1,170 @@
{
"feature": {
"type": "minecraft:simple_block",
"config": {
"to_place": {
"type": "minecraft:weighted_state_provider",
"entries": [
{
"data": {
"Name": "rocks:granite_rock",
"Properties": {
"variation": "tiny"
}
},
"weight": 10
},
{
"data": {
"Name": "rocks:granite_rock",
"Properties": {
"variation": "small"
}
},
"weight": 7
},
{
"data": {
"Name": "rocks:granite_rock",
"Properties": {
"variation": "medium"
}
},
"weight": 5
},
{
"data": {
"Name": "rocks:granite_rock",
"Properties": {
"variation": "large"
}
},
"weight": 1
},
{
"data": {
"Name": "rocks:diorite_rock",
"Properties": {
"variation": "tiny"
}
},
"weight": 10
},
{
"data": {
"Name": "rocks:diorite_rock",
"Properties": {
"variation": "small"
}
},
"weight": 7
},
{
"data": {
"Name": "rocks:diorite_rock",
"Properties": {
"variation": "medium"
}
},
"weight": 5
},
{
"data": {
"Name": "rocks:diorite_rock",
"Properties": {
"variation": "large"
}
},
"weight": 1
},
{
"data": {
"Name": "rocks:andesite_rock",
"Properties": {
"variation": "tiny"
}
},
"weight": 10
},
{
"data": {
"Name": "rocks:andesite_rock",
"Properties": {
"variation": "small"
}
},
"weight": 7
},
{
"data": {
"Name": "rocks:andesite_rock",
"Properties": {
"variation": "medium"
}
},
"weight": 5
},
{
"data": {
"Name": "rocks:andesite_rock",
"Properties": {
"variation": "large"
}
},
"weight": 1
}
]
}
}
},
"placement": [
{
"type": "minecraft:count",
"count": 3
},
{
"type": "minecraft:rarity_filter",
"chance": 1
},
{
"type": "minecraft:in_square"
},
{
"type": "minecraft:heightmap",
"heightmap": "WORLD_SURFACE_WG"
},
{
"type": "minecraft:biome"
},
{
"type": "minecraft:block_predicate_filter",
"predicate": {
"type": "minecraft:all_of",
"predicates": [
{
"type": "minecraft:matching_blocks",
"blocks": "minecraft:air"
},
{
"type": "minecraft:not",
"predicate": {
"type": "minecraft:matching_blocks",
"blocks": [
"minecraft:ice",
"minecraft:packed_ice",
"minecraft:sand",
"minecraft:red_sand",
"minecraft:end_stone"
],
"offset": [
0,
-1,
0
]
}
}
]
}
}
]
}

View File

@@ -71,7 +71,7 @@
"type": "minecraft:matching_blocks",
"blocks": [
"minecraft:grass_block",
"minecraft:mud",
"minecraft:snow_block",
"minecraft:podzol"
],
"offset": [