feat(UC-02): data-driven room themes — 6 JSON + consumer migration + cleanup
Phase 3: Extract 6 themes into JSON (oubliette, inferno, crypt, ice, sculk, sandstone) Phase 4: Migrate HangingCagePiece to use RoomThemeRegistry.pickRandomOrFallback() - Move 7 shared static methods from RoomTheme into HangingCagePiece - Replace per-enum placeDecorations() with generic DecorationConfig-based placement Phase 5: Delete RoomTheme.java (-1368L)
This commit is contained in:
61
src/main/resources/data/tiedup/tiedup_room_themes/crypt.json
Normal file
61
src/main/resources/data/tiedup/tiedup_room_themes/crypt.json
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"weight": 10,
|
||||
"wall_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:mossy_stone_bricks", "weight": 0.15 },
|
||||
{ "block": "minecraft:cracked_stone_bricks", "weight": 0.15 },
|
||||
{ "block": "minecraft:stone_bricks", "weight": 0.70 }
|
||||
],
|
||||
"bottom_row": [
|
||||
{ "block": "minecraft:mossy_cobblestone", "weight": 0.20 },
|
||||
{ "block": "minecraft:mossy_stone_bricks", "weight": 0.12 },
|
||||
{ "block": "minecraft:cracked_stone_bricks", "weight": 0.12 },
|
||||
{ "block": "minecraft:stone_bricks", "weight": 0.56 }
|
||||
]
|
||||
},
|
||||
"floor_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:cobblestone", "weight": 0.20 },
|
||||
{ "block": "minecraft:stone_bricks", "weight": 0.80 }
|
||||
],
|
||||
"corner": [
|
||||
{ "block": "minecraft:mossy_cobblestone", "weight": 1.0 }
|
||||
]
|
||||
},
|
||||
"ceiling_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:cracked_stone_bricks", "weight": 0.20 },
|
||||
{ "block": "minecraft:stone_bricks", "weight": 0.80 }
|
||||
]
|
||||
},
|
||||
"wall_shell": "minecraft:stone_bricks",
|
||||
"wall_accent": "minecraft:mossy_stone_bricks",
|
||||
"pillar_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:stone_brick_wall", "weight": 1.0 }
|
||||
],
|
||||
"cap": [
|
||||
{ "block": "minecraft:chiseled_stone_bricks", "weight": 1.0 }
|
||||
]
|
||||
},
|
||||
"scatter_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:cobweb", "weight": 0.40 },
|
||||
{ "block": "minecraft:candle[lit=true]", "weight": 0.30, "random_property": { "name": "candles", "min": 1, "max": 3 } },
|
||||
{ "block": "minecraft:bone_block", "weight": 0.30 }
|
||||
]
|
||||
},
|
||||
"decorations": {
|
||||
"corner_decorations": [
|
||||
{ "block": "minecraft:cobweb", "y_offset": 1 },
|
||||
{ "block": "minecraft:cobweb", "y_offset": 9 }
|
||||
],
|
||||
"first_corner_special": { "block": "minecraft:skeleton_skull", "y_offset": 1 },
|
||||
"furniture_cluster": [
|
||||
{ "block": "minecraft:lectern", "y_offset": 1 },
|
||||
{ "block": "minecraft:candle[lit=true,candles=4]", "y_offset": 1 }
|
||||
],
|
||||
"use_torch_lighting": true,
|
||||
"has_ceiling_chain": true
|
||||
}
|
||||
}
|
||||
58
src/main/resources/data/tiedup/tiedup_room_themes/ice.json
Normal file
58
src/main/resources/data/tiedup/tiedup_room_themes/ice.json
Normal file
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"weight": 10,
|
||||
"wall_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:ice", "weight": 0.10 },
|
||||
{ "block": "minecraft:blue_ice", "weight": 0.20 },
|
||||
{ "block": "minecraft:packed_ice", "weight": 0.70 }
|
||||
]
|
||||
},
|
||||
"floor_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:snow_block", "weight": 0.20 },
|
||||
{ "block": "minecraft:packed_ice", "weight": 0.80 }
|
||||
],
|
||||
"edge": [
|
||||
{ "block": "minecraft:blue_ice", "weight": 1.0 }
|
||||
]
|
||||
},
|
||||
"ceiling_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:blue_ice", "weight": 0.20 },
|
||||
{ "block": "minecraft:packed_ice", "weight": 0.80 }
|
||||
]
|
||||
},
|
||||
"wall_shell": "minecraft:packed_ice",
|
||||
"wall_accent": "minecraft:blue_ice",
|
||||
"pillar_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:packed_ice", "weight": 0.50 },
|
||||
{ "block": "minecraft:blue_ice", "weight": 0.50 }
|
||||
],
|
||||
"cap": [
|
||||
{ "block": "minecraft:blue_ice", "weight": 1.0 }
|
||||
]
|
||||
},
|
||||
"scatter_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:snow[layers=1]", "weight": 0.50, "random_property": { "name": "layers", "min": 1, "max": 2 } },
|
||||
{ "block": "minecraft:powder_snow", "weight": 0.20 },
|
||||
{ "block": "minecraft:ice", "weight": 0.30 }
|
||||
]
|
||||
},
|
||||
"decorations": {
|
||||
"corner_decorations": [
|
||||
{ "block": "minecraft:snow[layers=2]", "y_offset": 1 }
|
||||
],
|
||||
"wall_midpoint_blocks": [
|
||||
{ "block": "minecraft:lantern", "y_offset": 3 }
|
||||
],
|
||||
"furniture_cluster": [
|
||||
{ "block": "minecraft:powder_snow_cauldron[level=3]", "y_offset": 1 },
|
||||
{ "block": "minecraft:blue_ice", "y_offset": 1 },
|
||||
{ "block": "minecraft:lantern", "y_offset": 2 }
|
||||
],
|
||||
"use_torch_lighting": false,
|
||||
"has_ceiling_chain": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"weight": 10,
|
||||
"wall_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:cracked_nether_bricks", "weight": 0.20 },
|
||||
{ "block": "minecraft:nether_bricks", "weight": 0.80 }
|
||||
]
|
||||
},
|
||||
"floor_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:gilded_blackstone", "weight": 0.08 },
|
||||
{ "block": "minecraft:blackstone", "weight": 0.92 }
|
||||
],
|
||||
"edge": [
|
||||
{ "block": "minecraft:magma_block", "weight": 1.0 }
|
||||
]
|
||||
},
|
||||
"ceiling_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:cracked_nether_bricks", "weight": 0.20 },
|
||||
{ "block": "minecraft:nether_bricks", "weight": 0.80 }
|
||||
]
|
||||
},
|
||||
"wall_shell": "minecraft:nether_bricks",
|
||||
"wall_accent": "minecraft:red_nether_bricks",
|
||||
"pillar_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:nether_brick_wall", "weight": 1.0 }
|
||||
],
|
||||
"cap": [
|
||||
{ "block": "minecraft:quartz_pillar", "weight": 1.0 }
|
||||
]
|
||||
},
|
||||
"scatter_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:soul_sand", "weight": 0.40 },
|
||||
{ "block": "minecraft:nether_wart_block", "weight": 0.30 },
|
||||
{ "block": "minecraft:bone_block", "weight": 0.30 }
|
||||
]
|
||||
},
|
||||
"decorations": {
|
||||
"corner_decorations": [
|
||||
{ "block": "minecraft:soul_sand", "y_offset": 0 },
|
||||
{ "block": "minecraft:soul_fire", "y_offset": 1 }
|
||||
],
|
||||
"wall_midpoint_blocks": [
|
||||
{ "block": "minecraft:crying_obsidian", "y_offset": 2 },
|
||||
{ "block": "minecraft:soul_lantern", "y_offset": 3 }
|
||||
],
|
||||
"furniture_cluster": [
|
||||
{ "block": "minecraft:soul_campfire", "y_offset": 1 },
|
||||
{ "block": "minecraft:lava_cauldron", "y_offset": 1 },
|
||||
{ "block": "minecraft:gilded_blackstone", "y_offset": 1 }
|
||||
],
|
||||
"use_torch_lighting": false,
|
||||
"has_ceiling_chain": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"weight": 10,
|
||||
"wall_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:cracked_deepslate_bricks", "weight": 0.20 },
|
||||
{ "block": "minecraft:deepslate_bricks", "weight": 0.80 }
|
||||
],
|
||||
"bottom_row": [
|
||||
{ "block": "minecraft:mossy_cobblestone", "weight": 0.30 },
|
||||
{ "block": "minecraft:cracked_deepslate_bricks", "weight": 0.14 },
|
||||
{ "block": "minecraft:deepslate_bricks", "weight": 0.56 }
|
||||
]
|
||||
},
|
||||
"floor_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:cobblestone", "weight": 0.15 },
|
||||
{ "block": "minecraft:deepslate_tiles", "weight": 0.85 }
|
||||
],
|
||||
"corner": [
|
||||
{ "block": "minecraft:mossy_cobblestone", "weight": 1.0 }
|
||||
]
|
||||
},
|
||||
"ceiling_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:cracked_deepslate_bricks", "weight": 0.20 },
|
||||
{ "block": "minecraft:deepslate_bricks", "weight": 0.80 }
|
||||
]
|
||||
},
|
||||
"wall_shell": "minecraft:deepslate_bricks",
|
||||
"wall_accent": "minecraft:polished_deepslate",
|
||||
"pillar_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:deepslate_brick_wall", "weight": 1.0 }
|
||||
],
|
||||
"cap": [
|
||||
{ "block": "minecraft:polished_deepslate", "weight": 1.0 }
|
||||
]
|
||||
},
|
||||
"scatter_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:cobweb", "weight": 0.40 },
|
||||
{ "block": "minecraft:candle[lit=true]", "weight": 0.30, "random_property": { "name": "candles", "min": 1, "max": 3 } },
|
||||
{ "block": "minecraft:moss_carpet", "weight": 0.30 }
|
||||
]
|
||||
},
|
||||
"decorations": {
|
||||
"corner_decorations": [
|
||||
{ "block": "minecraft:cobweb", "y_offset": 1 },
|
||||
{ "block": "minecraft:cobweb", "y_offset": 9 }
|
||||
],
|
||||
"wall_midpoint_blocks": [
|
||||
{ "block": "minecraft:soul_lantern", "y_offset": 3 }
|
||||
],
|
||||
"first_corner_special": { "block": "minecraft:water_cauldron[level=3]", "y_offset": 1 },
|
||||
"furniture_cluster": [
|
||||
{ "block": "minecraft:barrel", "y_offset": 1 },
|
||||
{ "block": "minecraft:brewing_stand", "y_offset": 1 }
|
||||
],
|
||||
"use_torch_lighting": false,
|
||||
"has_ceiling_chain": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"weight": 10,
|
||||
"wall_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:chiseled_sandstone", "weight": 0.10 },
|
||||
{ "block": "minecraft:sandstone", "weight": 0.20 },
|
||||
{ "block": "minecraft:cut_sandstone", "weight": 0.70 }
|
||||
]
|
||||
},
|
||||
"floor_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:sand", "weight": 0.15 },
|
||||
{ "block": "minecraft:smooth_sandstone", "weight": 0.85 }
|
||||
]
|
||||
},
|
||||
"ceiling_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:sandstone", "weight": 0.20 },
|
||||
{ "block": "minecraft:cut_sandstone", "weight": 0.80 }
|
||||
]
|
||||
},
|
||||
"wall_shell": "minecraft:cut_sandstone",
|
||||
"wall_accent": "minecraft:chiseled_sandstone",
|
||||
"pillar_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:sandstone_wall", "weight": 1.0 }
|
||||
],
|
||||
"cap": [
|
||||
{ "block": "minecraft:chiseled_sandstone", "weight": 1.0 }
|
||||
]
|
||||
},
|
||||
"scatter_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:sand", "weight": 0.40 },
|
||||
{ "block": "minecraft:dead_bush", "weight": 0.30 },
|
||||
{ "block": "minecraft:candle[lit=true]", "weight": 0.30, "random_property": { "name": "candles", "min": 1, "max": 3 } }
|
||||
]
|
||||
},
|
||||
"decorations": {
|
||||
"wall_midpoint_blocks": [
|
||||
{ "block": "minecraft:orange_terracotta", "y_offset": 2 }
|
||||
],
|
||||
"first_corner_special": { "block": "minecraft:tnt", "y_offset": 1 },
|
||||
"furniture_cluster": [
|
||||
{ "block": "minecraft:barrel", "y_offset": 1 },
|
||||
{ "block": "minecraft:flower_pot", "y_offset": 1 },
|
||||
{ "block": "minecraft:orange_terracotta", "y_offset": 1 }
|
||||
],
|
||||
"use_torch_lighting": true,
|
||||
"has_ceiling_chain": true
|
||||
}
|
||||
}
|
||||
58
src/main/resources/data/tiedup/tiedup_room_themes/sculk.json
Normal file
58
src/main/resources/data/tiedup/tiedup_room_themes/sculk.json
Normal file
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"weight": 10,
|
||||
"wall_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:cracked_deepslate_bricks", "weight": 0.10 },
|
||||
{ "block": "minecraft:sculk", "weight": 0.30 },
|
||||
{ "block": "minecraft:deepslate_bricks", "weight": 0.60 }
|
||||
]
|
||||
},
|
||||
"floor_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:sculk", "weight": 0.30 },
|
||||
{ "block": "minecraft:deepslate_tiles", "weight": 0.70 }
|
||||
],
|
||||
"edge": [
|
||||
{ "block": "minecraft:sculk", "weight": 1.0 }
|
||||
]
|
||||
},
|
||||
"ceiling_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:cracked_deepslate_bricks", "weight": 0.10 },
|
||||
{ "block": "minecraft:sculk", "weight": 0.20 },
|
||||
{ "block": "minecraft:deepslate_bricks", "weight": 0.70 }
|
||||
]
|
||||
},
|
||||
"wall_shell": "minecraft:deepslate_bricks",
|
||||
"wall_accent": "minecraft:sculk_catalyst",
|
||||
"pillar_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:sculk", "weight": 0.30 },
|
||||
{ "block": "minecraft:deepslate_tile_wall", "weight": 0.70 }
|
||||
],
|
||||
"cap": [
|
||||
{ "block": "minecraft:sculk", "weight": 1.0 }
|
||||
]
|
||||
},
|
||||
"scatter_palette": {
|
||||
"default": [
|
||||
{ "block": "minecraft:sculk", "weight": 0.50 },
|
||||
{ "block": "minecraft:sculk_vein", "weight": 0.30 },
|
||||
{ "block": "minecraft:moss_carpet", "weight": 0.20 }
|
||||
]
|
||||
},
|
||||
"decorations": {
|
||||
"wall_midpoint_blocks": [
|
||||
{ "block": "minecraft:sculk_vein", "y_offset": 2 },
|
||||
{ "block": "minecraft:soul_lantern", "y_offset": 3 }
|
||||
],
|
||||
"first_corner_special": { "block": "minecraft:sculk_catalyst", "y_offset": 1 },
|
||||
"furniture_cluster": [
|
||||
{ "block": "minecraft:sculk_shrieker", "y_offset": 1 },
|
||||
{ "block": "minecraft:sculk_sensor", "y_offset": 1 },
|
||||
{ "block": "minecraft:candle[lit=true,candles=3]", "y_offset": 1 }
|
||||
],
|
||||
"use_torch_lighting": false,
|
||||
"has_ceiling_chain": true
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user