mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 00:47:42 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: 7232d8f2a EntityLoadCrossbowEvent#shouldConsumeItem 4740bd6c8 Mark PlayerInventory#getItem as nullable bd9ace578 Add a config option to limit the number of entities of each type to load/save in a chunk (#4792) 6bafeb5a9 Move logic from last patch into correct place 9668118fd disable entity ticking flag after watchdog obliteration
51 lines
3.1 KiB
Diff
51 lines
3.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
Date: Wed, 15 Jul 2020 12:40:25 -0500
|
|
Subject: [PATCH] Configurable dungeon seed
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/WorldGenDungeons.java b/src/main/java/net/minecraft/server/WorldGenDungeons.java
|
|
index 07f7b69fefe66ec4f26ca7b4fb3b752e80aeed07..6aa1626f38df0cd8ae8a417dc4fca213b82664c9 100644
|
|
--- a/src/main/java/net/minecraft/server/WorldGenDungeons.java
|
|
+++ b/src/main/java/net/minecraft/server/WorldGenDungeons.java
|
|
@@ -11,12 +11,21 @@ public class WorldGenDungeons extends WorldGenerator<WorldGenFeatureEmptyConfigu
|
|
private static final Logger LOGGER = LogManager.getLogger();
|
|
private static final EntityTypes<?>[] ab = new EntityTypes[]{EntityTypes.SKELETON, EntityTypes.ZOMBIE, EntityTypes.ZOMBIE, EntityTypes.SPIDER};
|
|
private static final IBlockData ac = Blocks.CAVE_AIR.getBlockData();
|
|
+ private Random random; // Purpur
|
|
|
|
public WorldGenDungeons(Codec<WorldGenFeatureEmptyConfiguration> codec) {
|
|
super(codec);
|
|
}
|
|
|
|
+ public boolean generate(GeneratorAccessSeed generatoraccessseed, ChunkGenerator chunkgenerator, Random random, BlockPosition blockposition, WorldGenFeatureEmptyConfiguration worldgenfeatureemptyconfiguration) { return a(generatoraccessseed, chunkgenerator, random, blockposition, worldgenfeatureemptyconfiguration); } // Purpur - decompile error?
|
|
public boolean a(GeneratorAccessSeed generatoraccessseed, ChunkGenerator chunkgenerator, Random random, BlockPosition blockposition, WorldGenFeatureEmptyConfiguration worldgenfeatureemptyconfiguration) {
|
|
+ // Purpur start
|
|
+ if (this.random == null) {
|
|
+ int seed = net.pl3x.purpur.PurpurConfig.dungeonSeed;
|
|
+ this.random = seed == -1 ? random : new Random(seed);
|
|
+ }
|
|
+ random = this.random;
|
|
+ // Purpur end
|
|
boolean flag = true;
|
|
int i = random.nextInt(2) + 2;
|
|
int j = -i - 1;
|
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
|
index c86f5178590f0b496f018858e21086a594de5dce..d0b4a9a1a9dea069ea543aa63b950fc5d08c9d02 100644
|
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
|
@@ -141,10 +141,13 @@ public class PurpurConfig {
|
|
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
|
}
|
|
|
|
+ public static int dungeonSeed = -1;
|
|
public static int endSpikeSeed = -1;
|
|
private static void seedSettings() {
|
|
+ dungeonSeed = getInt("settings.seed.dungeon", dungeonSeed);
|
|
endSpikeSeed = getInt("settings.seed.end-spike", endSpikeSeed);
|
|
if (!TimingsManager.hiddenConfigs.contains("settings.seed")) TimingsManager.hiddenConfigs.add("settings.seed");
|
|
+ if (!TimingsManager.hiddenConfigs.contains("settings.seed.dungeon")) TimingsManager.hiddenConfigs.add("settings.seed.dungeon");
|
|
if (!TimingsManager.hiddenConfigs.contains("settings.seed.end-spike")) TimingsManager.hiddenConfigs.add("settings.seed.end-spike");
|
|
}
|
|
|