Files
Purpur/patches/server/0206-Structure-seed-options.patch
Ben Kerllenevich 7fe89b5a84 cursed rebase
2021-12-05 09:59:34 -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 e4591c0b3c8547cc6f4e2a0891fc378ee4334d9e..fe0f14b363f4e6b583cd079f2cf627605731f764 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
@@ -580,6 +580,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 60c6793cf7a684f7c111c05fc453413e1ea3fd2f..0ccb09e9c00f7434f4158001c983ab547c7b56e0 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);