diff --git a/src/main/java/com/minecolonies/core/structures/MineColoniesStructures.java b/src/main/java/com/minecolonies/core/structures/MineColoniesStructures.java index ccc6fafb273..9cc16059b29 100644 --- a/src/main/java/com/minecolonies/core/structures/MineColoniesStructures.java +++ b/src/main/java/com/minecolonies/core/structures/MineColoniesStructures.java @@ -20,8 +20,7 @@ public class MineColoniesStructures public static final DeferredRegister> DEFERRED_REGISTRY_STRUCTURE = DeferredRegister.create(Registries.STRUCTURE_TYPE, Constants.MOD_ID); /** - * Registers the base structure itself and sets what its path is. In this case, - * this base structure will have the resourcelocation of structure_tutorial:sky_structures. + * Empty colony structure. */ public static final RegistryObject> EMPTY_COLONY = DEFERRED_REGISTRY_STRUCTURE.register("empty_colony", () -> () -> COLONY_CODEC); } diff --git a/src/main/resources/data/minecolonies/structures/ships/large_norse_ship.nbt b/src/main/resources/data/minecolonies/structures/ships/large_norse_ship.nbt new file mode 100644 index 00000000000..6b4e8812362 Binary files /dev/null and b/src/main/resources/data/minecolonies/structures/ships/large_norse_ship.nbt differ diff --git a/src/main/resources/data/minecolonies/structures/ships/large_pirate_ship.nbt b/src/main/resources/data/minecolonies/structures/ships/large_pirate_ship.nbt new file mode 100644 index 00000000000..5630dba56ee Binary files /dev/null and b/src/main/resources/data/minecolonies/structures/ships/large_pirate_ship.nbt differ diff --git a/src/main/resources/data/minecolonies/structures/ships/medium_norse_ship.nbt b/src/main/resources/data/minecolonies/structures/ships/medium_norse_ship.nbt new file mode 100644 index 00000000000..849969f3d89 Binary files /dev/null and b/src/main/resources/data/minecolonies/structures/ships/medium_norse_ship.nbt differ diff --git a/src/main/resources/data/minecolonies/structures/ships/medium_pirate_ship.nbt b/src/main/resources/data/minecolonies/structures/ships/medium_pirate_ship.nbt new file mode 100644 index 00000000000..2d4be1dd626 Binary files /dev/null and b/src/main/resources/data/minecolonies/structures/ships/medium_pirate_ship.nbt differ diff --git a/src/main/resources/data/minecolonies/structures/ships/small_norse_ship.nbt b/src/main/resources/data/minecolonies/structures/ships/small_norse_ship.nbt new file mode 100644 index 00000000000..42593c5946f Binary files /dev/null and b/src/main/resources/data/minecolonies/structures/ships/small_norse_ship.nbt differ diff --git a/src/main/resources/data/minecolonies/structures/ships/small_pirate_ship.nbt b/src/main/resources/data/minecolonies/structures/ships/small_pirate_ship.nbt new file mode 100644 index 00000000000..5f0aa9f7950 Binary files /dev/null and b/src/main/resources/data/minecolonies/structures/ships/small_pirate_ship.nbt differ diff --git a/src/main/resources/data/minecolonies/tags/worldgen/biome/has_structure/ship.json b/src/main/resources/data/minecolonies/tags/worldgen/biome/has_structure/ship.json new file mode 100644 index 00000000000..b9aaf01eda3 --- /dev/null +++ b/src/main/resources/data/minecolonies/tags/worldgen/biome/has_structure/ship.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "#minecraft:is_ocean" + ] +} diff --git a/src/main/resources/data/minecolonies/worldgen/processor_list/placeholder_replacement.json b/src/main/resources/data/minecolonies/worldgen/processor_list/placeholder_replacement.json new file mode 100644 index 00000000000..36137bc0526 --- /dev/null +++ b/src/main/resources/data/minecolonies/worldgen/processor_list/placeholder_replacement.json @@ -0,0 +1,44 @@ +{ + "processors": [ + { + "blocks": [ + { + "Name": "structurize:blocksubstitution" + }, + { + "Name": "minecolonies:blockwaypoint" + } + ], + "processor_type": "minecraft:block_ignore" + }, + { + "rules": [ + { + "output_state": { + "Name": "minecraft:grass_block" + }, + "input_predicate": { + "block": "structurize:blocksolidsubstitution", + "predicate_type": "minecraft:block_match" + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + } + }, + { + "output_state": { + "Name": "minecraft:water" + }, + "input_predicate": { + "block": "structurize:blockfluidsubstitution", + "predicate_type": "minecraft:block_match" + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + } + } + ], + "processor_type": "minecraft:rule" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/minecolonies/worldgen/structure/ship.json b/src/main/resources/data/minecolonies/worldgen/structure/ship.json new file mode 100644 index 00000000000..401dece0425 --- /dev/null +++ b/src/main/resources/data/minecolonies/worldgen/structure/ship.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:jigsaw", + "biomes": "#minecolonies:has_structure/ship", + "adapt_noise": false, + "start_pool": "minecolonies:ship_pool", + "spawn_overrides": {}, + "size": 1, + "step": "surface_structures", + + "start_height": { + "absolute": -3 + }, + "project_start_to_heightmap": "WORLD_SURFACE_WG", + "max_distance_from_center": 16, + "use_expansion_hack": false +} diff --git a/src/main/resources/data/minecolonies/worldgen/structure_set/ship.json b/src/main/resources/data/minecolonies/worldgen/structure_set/ship.json new file mode 100644 index 00000000000..a9abff716ad --- /dev/null +++ b/src/main/resources/data/minecolonies/worldgen/structure_set/ship.json @@ -0,0 +1,14 @@ +{ + "structures": [ + { + "structure": "minecolonies:ship", + "weight": 1 + } + ], + "placement": { + "salt": 1225566777, + "spacing": 55, + "separation": 25, + "type": "minecraft:random_spread" + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecolonies/worldgen/template_pool/ship_pool.json b/src/main/resources/data/minecolonies/worldgen/template_pool/ship_pool.json new file mode 100644 index 00000000000..73f5c34a460 --- /dev/null +++ b/src/main/resources/data/minecolonies/worldgen/template_pool/ship_pool.json @@ -0,0 +1,60 @@ +{ + "name": "minecolonies:start_pool", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 1, + "element": { + "location": "minecolonies:ships/large_pirate_ship", + "processors": "minecolonies:placeholder_replacement", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "minecolonies:ships/medium_pirate_ship", + "processors": "minecolonies:placeholder_replacement", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "minecolonies:ships/small_pirate_ship", + "processors": "minecolonies:placeholder_replacement", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "minecolonies:ships/large_norse_ship", + "processors": "minecolonies:placeholder_replacement", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "minecolonies:ships/medium_norse_ship", + "processors": "minecolonies:placeholder_replacement", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 1, + "element": { + "location": "minecolonies:ships/small_norse_ship", + "processors": "minecolonies:placeholder_replacement", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +}