2022-06-09 10:51:45 +02:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
2022-08-01 16:01:20 +02:00
|
|
|
From: Nassim Jahnke <nassim@njahnke.dev>
|
2022-06-09 10:51:45 +02:00
|
|
|
Date: Tue, 31 Aug 2021 17:05:27 +0200
|
|
|
|
Subject: [PATCH] Configurable feature seeds
|
|
|
|
|
|
|
|
Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com>
|
|
|
|
|
|
|
|
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
|
2024-01-24 22:13:08 +01:00
|
|
|
index 49028463ba47e760281545c2f7597e3db8d6c453..7620c72a4c243cbeea245203ce03a97cbfa7d922 100644
|
2022-06-09 10:51:45 +02:00
|
|
|
--- a/src/main/java/co/aikar/timings/TimingsExport.java
|
|
|
|
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
|
2024-01-24 22:13:08 +01:00
|
|
|
@@ -286,7 +286,7 @@ public class TimingsExport extends Thread {
|
2022-06-09 10:51:45 +02:00
|
|
|
JSONObject object = new JSONObject();
|
|
|
|
for (String key : config.getKeys(false)) {
|
|
|
|
String fullKey = (parentKey != null ? parentKey + "." + key : key);
|
|
|
|
- if (fullKey.equals("database") || fullKey.equals("settings.bungeecord-addresses") || TimingsManager.hiddenConfigs.contains(fullKey) || key.startsWith("seed-") || key.equals("worldeditregentempworld")) {
|
|
|
|
+ if (fullKey.equals("database") || fullKey.equals("settings.bungeecord-addresses") || TimingsManager.hiddenConfigs.contains(fullKey) || key.startsWith("seed-") || key.equals("worldeditregentempworld") || key.equals("feature-seeds")) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
final Object val = config.get(key);
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
|
2024-01-24 15:57:53 +01:00
|
|
|
index a6d5b3fa7e3437e0aec54eec4079e9f3267c64b8..567103d635087bf894a8c0473baf03bdb5ff052f 100644
|
2022-06-09 10:51:45 +02:00
|
|
|
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
|
|
|
|
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
|
2023-02-28 17:36:01 +01:00
|
|
|
@@ -431,7 +431,14 @@ public abstract class ChunkGenerator {
|
2022-06-09 10:51:45 +02:00
|
|
|
return (String) optional.orElseGet(placedfeature::toString);
|
|
|
|
};
|
|
|
|
|
|
|
|
- seededrandom.setFeatureSeed(i, l1, l);
|
2024-01-19 12:30:04 +01:00
|
|
|
+ // Paper start - Configurable feature seeds; change populationSeed used in random
|
2022-06-09 10:51:45 +02:00
|
|
|
+ long featurePopulationSeed = i;
|
2022-06-09 13:16:00 +02:00
|
|
|
+ final long configFeatureSeed = generatoraccessseed.getMinecraftWorld().paperConfig().featureSeeds.features.getLong(placedfeature.feature());
|
2022-06-09 10:51:45 +02:00
|
|
|
+ if (configFeatureSeed != -1) {
|
|
|
|
+ featurePopulationSeed = seededrandom.setDecorationSeed(configFeatureSeed, blockposition.getX(), blockposition.getZ()); // See seededrandom.setDecorationSeed from above
|
|
|
|
+ }
|
|
|
|
+ seededrandom.setFeatureSeed(featurePopulationSeed, l1, l);
|
2024-01-19 12:30:04 +01:00
|
|
|
+ // Paper end - Configurable feature seeds
|
2022-06-09 10:51:45 +02:00
|
|
|
|
|
|
|
try {
|
|
|
|
generatoraccessseed.setCurrentlyGenerating(supplier1);
|