geforkt von Mirrors/Paper
4104545b11
"It was from a different time before books were as jank as they are now. As time has gone on they've only proven to be worse and worse."
43 Zeilen
2.5 KiB
Diff
43 Zeilen
2.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Paul Sauve <paul@burngames.net>
|
|
Date: Sun, 14 Jul 2019 21:05:03 -0500
|
|
Subject: [PATCH] Do less work if we have a custom Bukkit generator
|
|
|
|
If the Bukkit generator already has a spawn, use it immediately instead
|
|
of spending time generating one that we won't use
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
index 29c1b3a43dd369419e8c93b571679a2ba024e4f6..38b92db7591c060a45c4bf8bb7e4a25bb649a742 100644
|
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
@@ -678,12 +678,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
|
worldProperties.setSpawn(BlockPos.ZERO.above(80), 0.0F);
|
|
} else {
|
|
ChunkGenerator chunkgenerator = world.getChunkSource().getGenerator();
|
|
- BiomeSource worldchunkmanager = chunkgenerator.getBiomeSource();
|
|
- Random random = new Random(world.getSeed());
|
|
- BlockPos blockposition = worldchunkmanager.findBiomeHorizontal(0, world.getSeaLevel(), 0, 256, (biomebase) -> {
|
|
- return biomebase.getMobSettings().playerSpawnFriendly();
|
|
- }, random);
|
|
- ChunkPos chunkcoordintpair = blockposition == null ? new ChunkPos(0, 0) : new ChunkPos(blockposition);
|
|
+ // Paper start - moved down
|
|
// CraftBukkit start
|
|
if (world.generator != null) {
|
|
Random rand = new Random(world.getSeed());
|
|
@@ -699,6 +694,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
|
}
|
|
}
|
|
// CraftBukkit end
|
|
+ // Paper start - if the generator created a spawn for us, then there is no need for us to also create a spawn -
|
|
+ // only do it if the generator did not
|
|
+ BiomeSource worldchunkmanager = chunkgenerator.getBiomeSource();
|
|
+ Random random = new Random(world.getSeed());
|
|
+ BlockPos blockposition = worldchunkmanager.findBiomeHorizontal(0, world.getSeaLevel(), 0, 256, (biomebase) -> {
|
|
+ return biomebase.getMobSettings().playerSpawnFriendly();
|
|
+ }, random);
|
|
+ ChunkPos chunkcoordintpair = blockposition == null ? new ChunkPos(0, 0) : new ChunkPos(blockposition);
|
|
+ // Paper end
|
|
|
|
if (blockposition == null) {
|
|
MinecraftServer.LOGGER.warn("Unable to find spawn biome");
|