Skip to content

Commit c5d8d58

Browse files
committed
Add Kyogre Ocean Variant Shrine
1 parent a4fc7a1 commit c5d8d58

File tree

12 files changed

+93
-1
lines changed

12 files changed

+93
-1
lines changed

common/src/main/generated/resources/data/generations_structures/advancements/generations_structures/shrines.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,22 @@
113113
},
114114
"trigger": "minecraft:location"
115115
},
116+
"kyogre_ocean": {
117+
"conditions": {
118+
"player": [
119+
{
120+
"condition": "minecraft:entity_properties",
121+
"entity": "this",
122+
"predicate": {
123+
"location": {
124+
"structure": "generations_structures:shrines/kyogre_ocean"
125+
}
126+
}
127+
}
128+
]
129+
},
130+
"trigger": "minecraft:location"
131+
},
116132
"lugia_shrine": {
117133
"conditions": {
118134
"player": [
@@ -227,6 +243,9 @@
227243
],
228244
[
229245
"dragon_spiral"
246+
],
247+
[
248+
"kyogre_ocean"
230249
]
231250
],
232251
"sends_telemetry_event": true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"values": [
3+
"#minecraft:is_ocean",
4+
{
5+
"id": "#c:ocean",
6+
"required": false
7+
}
8+
]
9+
}

common/src/main/generated/resources/data/generations_structures/tags/worldgen/structure/shrines.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@
4343
{
4444
"id": "generations_structures:shrines/dragon_spiral",
4545
"required": false
46+
},
47+
{
48+
"id": "generations_structures:shrines/kyogre_ocean",
49+
"required": false
4650
}
4751
]
4852
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"type": "minecraft:jigsaw",
3+
"biomes": "#generations_structures:has_structure/kyogre_ocean",
4+
"max_distance_from_center": 80,
5+
"project_start_to_heightmap": "WORLD_SURFACE_WG",
6+
"size": 1,
7+
"spawn_overrides": {},
8+
"start_height": {
9+
"absolute": -2
10+
},
11+
"start_pool": "generations_structures:shrines/kyogre_ocean",
12+
"step": "surface_structures",
13+
"use_expansion_hack": false
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"placement": {
3+
"type": "minecraft:random_spread",
4+
"salt": 162114187,
5+
"separation": 350,
6+
"spacing": 2000
7+
},
8+
"structures": [
9+
{
10+
"structure": "generations_structures:shrines/kyogre_ocean",
11+
"weight": 1
12+
}
13+
]
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"elements": [
3+
{
4+
"element": {
5+
"element_type": "minecraft:single_pool_element",
6+
"location": "generations_structures:shrines/kyogre_ocean",
7+
"processors": "minecraft:empty",
8+
"projection": "rigid"
9+
},
10+
"weight": 1
11+
}
12+
],
13+
"fallback": "minecraft:empty"
14+
}

common/src/main/java/generations/gg/generations/structures/generationsstructures/structures/GenerationsStructureSettings.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,11 @@ public class GenerationsStructureSettings {
122122
context.lookup(Registries.TEMPLATE_POOL).getOrThrow(GenerationsTemplatePools.DRAGON_SPIRAL), 1,
123123
ConstantHeight.of(VerticalAnchor.absolute(1)), Heightmap.Types.WORLD_SURFACE_WG));
124124

125+
public static final ResourceKey<Structure> KYOGRE_OCEAN = register("shrines/kyogre_ocean", (context) ->
126+
createJigsaw(structure(context.lookup(Registries.BIOME).getOrThrow(GenerationsBiomeTags.HAS_KYOGRE_OCEAN), TerrainAdjustment.NONE),
127+
context.lookup(Registries.TEMPLATE_POOL).getOrThrow(GenerationsTemplatePools.KYOGRE_OCEAN), 1,
128+
ConstantHeight.of(VerticalAnchor.absolute(-2)), Heightmap.Types.WORLD_SURFACE_WG));
129+
125130
public static final ResourceKey<Structure> ISLANDS = register("islands", (context) ->
126131
createJigsaw(structure(context.lookup(Registries.BIOME).getOrThrow(GenerationsBiomeTags.HAS_ISLANDS), TerrainAdjustment.NONE),
127132
context.lookup(Registries.TEMPLATE_POOL).getOrThrow(GenerationsTemplatePools.ISLANDS), 1,

common/src/main/java/generations/gg/generations/structures/generationsstructures/tags/GenerationsBiomeTags.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ public final class GenerationsBiomeTags {
5757
/** the tag for biomes that can have a dragon spiral tower */
5858
public static final TagKey<Biome> HAS_DRAGON_SPIRAL = create("has_structure/dragon_spiral");
5959

60+
/** the tag for biomes that can have a Kyogre ocean */
61+
public static final TagKey<Biome> HAS_KYOGRE_OCEAN = create("has_structure/kyogre_ocean");
62+
6063
/**
6164
* Creates a new {@link TagKey} for the given name.
6265
* @param name The name of the tag.

common/src/main/java/generations/gg/generations/structures/generationsstructures/worldgen/structure_set/GenerationsStructureSets.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ public static void init() {
7373
register("shrines/haunted_mansion", GenerationsStructureSettings.HAUNTED_MANSION, 2000, 350, 282258907);
7474

7575
register("shrines/dragon_spiral", GenerationsStructureSettings.DRAGON_SPIRAL, 2000, 350, 509787274);
76+
77+
register("shrines/kyogre_ocean", GenerationsStructureSettings.KYOGRE_OCEAN, 2000, 350, 162114187);
7678
}
7779

7880
private static void register(String id, StructureSetFactory factory) {

common/src/main/java/generations/gg/generations/structures/generationsstructures/worldgen/template_pool/GenerationsTemplatePools.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ public class GenerationsTemplatePools {
6262

6363
public static final ResourceKey<StructureTemplatePool> DRAGON_SPIRAL = registerSimple("shrines/dragon_spiral", GenerationsStructureSettings.DRAGON_SPIRAL, ProcessorLists.EMPTY);
6464

65+
public static final ResourceKey<StructureTemplatePool> KYOGRE_OCEAN = registerSimple("shrines/kyogre_ocean", GenerationsStructureSettings.KYOGRE_OCEAN, ProcessorLists.EMPTY);
66+
6567
public static final ResourceKey<StructureTemplatePool> PLAINS_VILLAGE_POKECENTER_STREETS = register("village/plains/streets/pokecenter", context -> createTemplatePool(getPool(context, VanillaVillages.PLAINS.getVillagePool("streets")), ImmutableList.of(
6668
createPoolElement(context, GenerationsStructuresKeys.PLAINS_POKECENTER_STREET_CORNER_01, ProcessorLists.STREET_PLAINS, 1),
6769
createPoolElement(context, GenerationsStructuresKeys.PLAINS_POKECENTER_STREET_STRAIGHT_05, ProcessorLists.STREET_PLAINS, 1)

forge/src/main/java/generations/gg/generations/structures/generationsstructures/forge/datagen/ForgeDatagen.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,10 @@ protected void addTags(HolderLookup.@NotNull Provider provider) {
158158
tag(GenerationsBiomeTags.HAS_DRAGON_SPIRAL)
159159
.addTag(BiomeTags.IS_FOREST)
160160
.addOptionalTag(fabricTagMaker("forest"));
161+
162+
tag(GenerationsBiomeTags.HAS_KYOGRE_OCEAN)
163+
.addTag(BiomeTags.IS_OCEAN)
164+
.addOptionalTag(fabricTagMaker("ocean"));
161165
}
162166
}
163167

@@ -190,7 +194,8 @@ protected void addTags(HolderLookup.@NotNull Provider provider) {
190194
.addOptional(GenerationsStructureSettings.GROUDON_SHRINE.location())
191195
.addOptional(GenerationsStructureSettings.TAPU_SHRINE.location())
192196
.addOptional(GenerationsStructureSettings.HAUNTED_MANSION.location())
193-
.addOptional(GenerationsStructureSettings.DRAGON_SPIRAL.location());
197+
.addOptional(GenerationsStructureSettings.DRAGON_SPIRAL.location())
198+
.addOptional(GenerationsStructureSettings.KYOGRE_OCEAN.location());
194199
tag(GenerationsStructureTags.GENERATIONS_STRUCTURES)
195200
.addTag(GenerationsStructureTags.POKESHOP)
196201
.addTag(GenerationsStructureTags.LOOT_BALLOONS)
@@ -252,6 +257,7 @@ public void generate(HolderLookup.@NotNull Provider arg, @NotNull Consumer<Advan
252257
.addCriterion("tapu_shrine", PlayerTrigger.TriggerInstance.located(LocationPredicate.inStructure(GenerationsStructureSettings.TAPU_SHRINE)))
253258
.addCriterion("haunted_mansion", PlayerTrigger.TriggerInstance.located(LocationPredicate.inStructure(GenerationsStructureSettings.HAUNTED_MANSION)))
254259
.addCriterion("dragon_spiral", PlayerTrigger.TriggerInstance.located(LocationPredicate.inStructure(GenerationsStructureSettings.DRAGON_SPIRAL)))
260+
.addCriterion("kyogre_ocean", PlayerTrigger.TriggerInstance.located(LocationPredicate.inStructure(GenerationsStructureSettings.KYOGRE_OCEAN)))
255261
.display(
256262
GenerationsShrines.LUNAR_SHRINE.get(),
257263
translateAble("title.shrines"),

0 commit comments

Comments
 (0)