Files
Purpur/patches/server/0216-Structure-seed-options.patch
Encode42 8bb5a93918 Ignore structure e seeds if set to -1
This is a temporary fix for FAWE. It does not fix the root cause, and should not be permanent.
2021-11-11 20:26:12 -05:00

57 lines
3.2 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 6a1cb38de5733e384546984a0eadd4bab53c0122..42cc3ef9bd70b96f2c2f166590792650ffbd1507 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
@@ -424,6 +424,23 @@ public abstract class ChunkGenerator {
case "village":
seed = conf.villageSeed;
break;
+ // Purpur start
+ case "stronghold":
+ if (net.pl3x.purpur.PurpurConfig.seedStructureStronghold != -1) {
+ seed = net.pl3x.purpur.PurpurConfig.seedStructureStronghold;
+ }
+ break;
+ case "mineshaft":
+ if (net.pl3x.purpur.PurpurConfig.seedStructureMineshaft != -1) {
+ seed = net.pl3x.purpur.PurpurConfig.seedStructureMineshaft;
+ }
+ break;
+ case "buried_treasure":
+ if (net.pl3x.purpur.PurpurConfig.seedStructureBuriedTreasure != -1) {
+ seed = net.pl3x.purpur.PurpurConfig.seedStructureBuriedTreasure;
+ }
+ break;
+ // Purpur end
}
updated.put(entry.getKey(), new StructureFeatureConfiguration(feature.spacing(), feature.separation(), seed));
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index fc6c0717aa13d4bdc28ba1fa2ae5e4a9be87aa18..a68f8efb7ad6de35d9703417cc6d65c7b99efa23 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/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);