Files
Purpur/patches/server/0209-Structure-seed-options.patch
2021-11-30 08:14:03 -05:00

57 lines
3.3 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 1 Jul 2021 19:25:05 -0500
Subject: [PATCH] Structure seed options
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
index 11b0697f668f6c0965a74081c149585fdf49b209..096f05db09d98e2b8edfd35d2cd97f9b4085d056 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
@@ -588,6 +588,23 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource {
case "village":
seed = conf.villageSeed;
break;
+ // Purpur start
+ case "stronghold":
+ if (org.purpurmc.purpur.PurpurConfig.seedStructureStronghold != -1) {
+ seed = org.purpurmc.purpur.PurpurConfig.seedStructureStronghold;
+ }
+ break;
+ case "mineshaft":
+ if (org.purpurmc.purpur.PurpurConfig.seedStructureMineshaft != -1) {
+ seed = org.purpurmc.purpur.PurpurConfig.seedStructureMineshaft;
+ }
+ break;
+ case "buried_treasure":
+ if (org.purpurmc.purpur.PurpurConfig.seedStructureBuriedTreasure != -1) {
+ seed = org.purpurmc.purpur.PurpurConfig.seedStructureBuriedTreasure;
+ }
+ break;
+ // Purpur end
}
updated.put(entry.getKey(), new StructureFeatureConfiguration(feature.spacing(), feature.separation(), seed));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 4081c96a44aba871c51ab9ae246bbb2b55ae7b09..34096550efcdf11d3bba577d6c693d8c349ca43b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -194,6 +194,17 @@ public class PurpurConfig {
deathMessageOnlyBroadcastToAffectedPlayer = getBoolean("settings.broadcasts.death.only-broadcast-to-affected-player", deathMessageOnlyBroadcastToAffectedPlayer);
}
+ public static int seedStructureBuriedTreasure = -1;
+ public static int seedStructureMineshaft = -1;
+ public static int seedStructureStronghold = -1;
+ private static void seedSettings() {
+ seedStructureBuriedTreasure = getInt("settings.seed.structure.buried_treasure", seedStructureBuriedTreasure);
+ seedStructureMineshaft = getInt("settings.seed.structure.mineshaft", seedStructureMineshaft);
+ seedStructureStronghold = getInt("settings.seed.structure.stronghold", seedStructureStronghold);
+ // hide these from timings report
+ if (!TimingsManager.hiddenConfigs.contains("settings.seed")) TimingsManager.hiddenConfigs.add("settings.seed");
+ }
+
public static String serverModName = "Purpur";
private static void serverModName() {
serverModName = getString("settings.server-mod-name", serverModName);