Updated Upstream (Paper & Pufferfish)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@753bf2c Update paperweight to 1.3.5
PaperMC/Paper@15b6b3d Add StructuresLocateEvent as replacement for StructureLocateEvent (#7524)
PaperMC/Paper@c09365a Fix deadlock on watchdog crash (#7535)
PaperMC/Paper@719daa8 Updated Upstream (CraftBukkit)
PaperMC/Paper@b9f26bb Add printPaperVersion task
PaperMC/Paper@63aa4d3 Clarify exception messages for invalid view distances (#7510)

Pufferfish Changes:
pufferfish-gg/Pufferfish@a786526 Updated Upstream (Paper)
pufferfish-gg/Pufferfish@e0075db 1.18.2 - Updated Upstream (Paper)
This commit is contained in:
Ben Kerllenevich
2022-03-04 07:11:14 -05:00
parent 3de31d2e35
commit c4451ae6cd
13 changed files with 260 additions and 275 deletions

View File

@@ -1,7 +1,7 @@
group = org.purpurmc.purpur group = org.purpurmc.purpur
version = 1.18.2-R0.1-SNAPSHOT version = 1.18.2-R0.1-SNAPSHOT
paperCommit = d33cdcf2e6ee53b28cabe99f417c7995bd9b7bc3 paperCommit = 63aa4d33194cae156d1bed840868336cda6bc52b
org.gradle.caching = true org.gradle.caching = true
org.gradle.parallel = true org.gradle.parallel = true

View File

@@ -20,7 +20,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index 4beb35d1e5b013395f5df101e843f41c2ce174ad..27c18ced1ce6d38c9cd05eb4269f25a9d6520030 100644 index 4beb35d1e5b013395f5df101e843f41c2ce174ad..ecb65e75d19d2f7b72410c89251e56566b7b6dc0 100644
--- a/build.gradle.kts --- a/build.gradle.kts
+++ b/build.gradle.kts +++ b/build.gradle.kts
@@ -18,8 +18,12 @@ repositories { @@ -18,8 +18,12 @@ repositories {
@@ -31,7 +31,7 @@ index 4beb35d1e5b013395f5df101e843f41c2ce174ad..27c18ced1ce6d38c9cd05eb4269f25a9
- implementation(project(":paper-mojangapi")) - implementation(project(":paper-mojangapi"))
+ implementation(project(":pufferfish-api")) // Pufferfish // Paper + implementation(project(":pufferfish-api")) // Pufferfish // Paper
+ // Pufferfish start + // Pufferfish start
+ implementation("io.papermc.paper:paper-mojangapi:1.18.1-R0.1-SNAPSHOT") { + implementation("io.papermc.paper:paper-mojangapi:1.18.2-R0.1-SNAPSHOT") {
+ exclude("io.papermc.paper", "paper-api") + exclude("io.papermc.paper", "paper-api")
+ } + }
+ // Pufferfish end + // Pufferfish end
@@ -555,7 +555,7 @@ index 0000000000000000000000000000000000000000..a7f297ebb569f7c1f205e967ca485be7
+} +}
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishCommand.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishCommand.java diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishCommand.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishCommand.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..020368da69b9a492155f6de6297f74732f4ab6ea index 0000000000000000000000000000000000000000..e164237e749bcc43466d4ed7aeada5ab9fddf8a6
--- /dev/null --- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishCommand.java +++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishCommand.java
@@ -0,0 +1,68 @@ @@ -0,0 +1,68 @@
@@ -629,7 +629,7 @@ index 0000000000000000000000000000000000000000..020368da69b9a492155f6de6297f7473
+} +}
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..56330536c52fa327ef89d7a08e72557c6633c8bb index 0000000000000000000000000000000000000000..cd03fed32807fd943fdeee8571c1648b8bd567d0
--- /dev/null --- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java +++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
@@ -0,0 +1,291 @@ @@ -0,0 +1,291 @@
@@ -948,7 +948,7 @@ index 0000000000000000000000000000000000000000..53f2df00c6809618a9ee3d2ea72e85e8
+} +}
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishVersionFetcher.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishVersionFetcher.java diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishVersionFetcher.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishVersionFetcher.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..adafc4fd661cf080b004b86c3eaed231a0133101 index 0000000000000000000000000000000000000000..461022af9ad85fe00329678f0f61d684d291c628
--- /dev/null --- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishVersionFetcher.java +++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishVersionFetcher.java
@@ -0,0 +1,136 @@ @@ -0,0 +1,136 @@
@@ -1784,7 +1784,7 @@ index 0000000000000000000000000000000000000000..db15d3fbe2b65fc8035573f5fdbea382
+} +}
diff --git a/src/main/java/gg/pufferfish/pufferfish/sentry/PufferfishSentryAppender.java b/src/main/java/gg/pufferfish/pufferfish/sentry/PufferfishSentryAppender.java diff --git a/src/main/java/gg/pufferfish/pufferfish/sentry/PufferfishSentryAppender.java b/src/main/java/gg/pufferfish/pufferfish/sentry/PufferfishSentryAppender.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..731ef11c7a025ae95ed8a757b530d834733d0621 index 0000000000000000000000000000000000000000..d04a8a4336566dbe6e1b9ec0d574cff43e003fa8
--- /dev/null --- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/sentry/PufferfishSentryAppender.java +++ b/src/main/java/gg/pufferfish/pufferfish/sentry/PufferfishSentryAppender.java
@@ -0,0 +1,135 @@ @@ -0,0 +1,135 @@
@@ -1925,7 +1925,7 @@ index 0000000000000000000000000000000000000000..731ef11c7a025ae95ed8a757b530d834
+} +}
diff --git a/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java b/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java diff --git a/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java b/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..1b29210ad0bbb4ada150f23357f0c80d331c996d index 0000000000000000000000000000000000000000..b011abbeb80b42de6be3785e47c7ba3c0f6dc161
--- /dev/null --- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java +++ b/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java
@@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
@@ -1971,7 +1971,7 @@ index 0000000000000000000000000000000000000000..1b29210ad0bbb4ada150f23357f0c80d
+} +}
diff --git a/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java b/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java diff --git a/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java b/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..9d6dc2c80945bec9bea74714c657c7a2e0bdde9e index 0000000000000000000000000000000000000000..0772fbc77a198b3571b4ed1e8cc85e90ccd6e38a
--- /dev/null --- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java +++ b/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java
@@ -0,0 +1,51 @@ @@ -0,0 +1,51 @@
@@ -2028,7 +2028,7 @@ index 0000000000000000000000000000000000000000..9d6dc2c80945bec9bea74714c657c7a2
+} +}
diff --git a/src/main/java/gg/pufferfish/pufferfish/util/AsyncPlayerAreaMap.java b/src/main/java/gg/pufferfish/pufferfish/util/AsyncPlayerAreaMap.java diff --git a/src/main/java/gg/pufferfish/pufferfish/util/AsyncPlayerAreaMap.java b/src/main/java/gg/pufferfish/pufferfish/util/AsyncPlayerAreaMap.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..fdcb62d12164024a5f354d60cc863821a18d1b2a index 0000000000000000000000000000000000000000..a93ee99c2399def1e221260547a3e6bce2d621fa
--- /dev/null --- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/util/AsyncPlayerAreaMap.java +++ b/src/main/java/gg/pufferfish/pufferfish/util/AsyncPlayerAreaMap.java
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
@@ -2091,7 +2091,7 @@ index 0000000000000000000000000000000000000000..c1929840254a3e6d721816f4a20415be
+} +}
diff --git a/src/main/java/gg/pufferfish/pufferfish/util/Long2ObjectOpenHashMapWrapper.java b/src/main/java/gg/pufferfish/pufferfish/util/Long2ObjectOpenHashMapWrapper.java diff --git a/src/main/java/gg/pufferfish/pufferfish/util/Long2ObjectOpenHashMapWrapper.java b/src/main/java/gg/pufferfish/pufferfish/util/Long2ObjectOpenHashMapWrapper.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..facd55463d44cb7e3d2ca6892982f5497b8dded1 index 0000000000000000000000000000000000000000..42cdc43d6b739973a0944f502089757247ee6c61
--- /dev/null --- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/util/Long2ObjectOpenHashMapWrapper.java +++ b/src/main/java/gg/pufferfish/pufferfish/util/Long2ObjectOpenHashMapWrapper.java
@@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
@@ -2149,19 +2149,19 @@ index 7bddc7517356cc74104dcc5c7c55522a53f2596f..d6a57cdad2c92521a800cb18d060d9d6
public static long getCoordinateKey(final ChunkPos pair) { public static long getCoordinateKey(final ChunkPos pair) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 3a9c27ece0ad18b2c4686164766794c56fcea268..9bd03a9ca4d1a5332738b943493c2b7bb339b698 100644 index 07c382f30ed3736ed15b5b71f48dc4a1de958242..a6d8f128ac1c2eacf662ee40a04275d45d6754ca 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -310,6 +310,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -311,6 +311,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public volatile Thread shutdownThread; // Paper public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper public volatile boolean abnormalExit = false; // Paper
+
+ public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning", () -> true); // Pufferfish - optimize mob spawning
+ public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning", () -> true); // Pufferfish - optimize mob spawning
+
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) { public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference(); AtomicReference<S> atomicreference = new AtomicReference();
@@ -1685,7 +1687,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa Thread thread = new Thread(() -> {
@@ -1683,7 +1685,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate @DontObfuscate
public String getServerModName() { public String getServerModName() {
@@ -2170,7 +2170,7 @@ index 3a9c27ece0ad18b2c4686164766794c56fcea268..9bd03a9ca4d1a5332738b943493c2b7b
} }
public SystemReport fillSystemReport(SystemReport details) { public SystemReport fillSystemReport(SystemReport details) {
@@ -2243,6 +2245,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2242,6 +2244,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public ProfilerFiller getProfiler() { public ProfilerFiller getProfiler() {
@@ -2252,19 +2252,19 @@ index edc6235288f0843608dae4552e05915e4067cbf2..d13b53c5497cece27ce06d43401e4f3b
return this.scaledRange(i); return this.scaledRange(i);
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 5793154c0deca7fc570bbe858c6bea0d640db941..f33ae29fd86fbfb2a94748fbf9515e3b4ae01753 100644 index 5793154c0deca7fc570bbe858c6bea0d640db941..7b855e53b3730ad82bdef5b5d06baa4e4eee5b42 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -74,6 +74,9 @@ public class ServerChunkCache extends ChunkSource { @@ -75,6 +75,9 @@ public class ServerChunkCache extends ChunkSource {
final it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<LevelChunk> loadedChunkMap = new it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<>(8192, 0.5f);
private final LevelChunk[] lastLoadedChunks = new LevelChunk[4 * 4]; private final LevelChunk[] lastLoadedChunks = new LevelChunk[4 * 4];
+
+ public boolean firstRunSpawnCounts = true; // Pufferfish + public boolean firstRunSpawnCounts = true; // Pufferfish
+ public final java.util.concurrent.atomic.AtomicBoolean _pufferfish_spawnCountsReady = new java.util.concurrent.atomic.AtomicBoolean(false); // Pufferfish - optimize countmobs + public final java.util.concurrent.atomic.AtomicBoolean _pufferfish_spawnCountsReady = new java.util.concurrent.atomic.AtomicBoolean(false); // Pufferfish - optimize countmobs
+
private static int getChunkCacheKey(int x, int z) { private static int getChunkCacheKey(int x, int z) {
return x & 3 | ((z & 3) << 2); return x & 3 | ((z & 3) << 2);
}
@@ -969,6 +972,7 @@ public class ServerChunkCache extends ChunkSource { @@ -969,6 +972,7 @@ public class ServerChunkCache extends ChunkSource {
ProfilerFiller gameprofilerfiller = this.level.getProfiler(); ProfilerFiller gameprofilerfiller = this.level.getProfiler();
@@ -2368,7 +2368,7 @@ index 1092ba200a945d8d70e48f956535f56e2743302d..937a93d134dc986fe23e5676d58f7619
this.wasOnGround = this.entity.isOnGround(); this.wasOnGround = this.entity.isOnGround();
this.teleportDelay = 0; this.teleportDelay = 0;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index b5b56d4549e97abbbe9e91d881b9bca8428f1eec..ce0787be675a1dedec626ae25ffd5bf5ff6a7d69 100644 index b5b56d4549e97abbbe9e91d881b9bca8428f1eec..5e9ad7c828a196e6fe85bb3e32aa23b95c83b39d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -670,7 +670,20 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -670,7 +670,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2420,7 +2420,7 @@ index b5b56d4549e97abbbe9e91d881b9bca8428f1eec..ce0787be675a1dedec626ae25ffd5bf5
gameprofilerfiller.popPush("iceandsnow"); gameprofilerfiller.popPush("iceandsnow");
- if (!this.paperConfig.disableIceAndSnow && this.random.nextInt(16) == 0) { // Paper - Disable ice and snow - if (!this.paperConfig.disableIceAndSnow && this.random.nextInt(16) == 0) { // Paper - Disable ice and snow
+ if (!this.paperConfig.disableIceAndSnow && (this.currentIceAndSnowTick++ & 15) == 0) { // Paper - Disable ice and snow // Pufferfish - optimize further random ticking + if (!this.paperConfig.disableIceAndSnow && (this.currentIceAndSnowTick++ & 15) == 0) { // Paper - Disable ice and snow // Paper - optimise random ticking // Pufferfish - optimize further random ticking
// Paper start - optimise chunk ticking // Paper start - optimise chunk ticking
this.getRandomBlockPosition(j, 0, k, 15, blockposition); this.getRandomBlockPosition(j, 0, k, 15, blockposition);
int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1; int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1;
@@ -2549,7 +2549,7 @@ index 7437f01ca8f416e2c9150250e324af4725a4efb6..7ac51dbfce18a2bc52faa7a915abeccc
int LARGE_MAX_STACK_SIZE = 64; int LARGE_MAX_STACK_SIZE = 64;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 84fce7dccf9232209f939a32acfc3131e62eb27c..59ec3d56e88cf6cee218422481457b944ff25998 100644 index 84fce7dccf9232209f939a32acfc3131e62eb27c..c9c444c119a010112d4176f095eee57f0ac888f9 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -3389,12 +3389,12 @@ index 798afc145c54306fcf0838d8daef2bdf17763da9..e67d5012bc7af629d05bceb1b1e22162
final String id; final String id;
private final GameRules.Category category; private final GameRules.Category category;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 160c0f37aa3aaf7598f852acf9bd444f79444c97..d1521394eaf38ab4e3ee55452149458911a3030b 100644 index 160c0f37aa3aaf7598f852acf9bd444f79444c97..8026e8ca528071bf80fecb5e96370d1d2ae799db 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -259,6 +259,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -261,6 +261,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
// Paper end - optimise checkDespawn public abstract ResourceKey<LevelStem> getTypeKey();
+ // Pufferfish start - ensure these get inlined + // Pufferfish start - ensure these get inlined
+ private final int minBuildHeight, minSection, height, maxBuildHeight, maxSection; + private final int minBuildHeight, minSection, height, maxBuildHeight, maxSection;
@@ -3405,17 +3405,17 @@ index 160c0f37aa3aaf7598f852acf9bd444f79444c97..d1521394eaf38ab4e3ee554521494589
+ @Override public final int getHeight() { return this.height; } + @Override public final int getHeight() { return this.height; }
+ // Pufferfish end + // Pufferfish end
+ +
public abstract ResourceKey<LevelStem> getTypeKey();
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
@@ -279,6 +288,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -279,6 +288,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
this.levelData = worlddatamutable; this.levelData = worlddatamutable;
this.dimensionTypeRegistration = holder; this.dimensionTypeRegistration = holder;
this.dimensionType = (DimensionType) holder.value(); this.dimensionType = (DimensionType) holder.value();
+ // Pufferfish start + // Pufferfish start
+ this.minBuildHeight = this.dimensionType.minY(); + this.minBuildHeight = dimensionType.minY();
+ this.minSection = SectionPos.blockToSectionCoord(this.minBuildHeight); + this.minSection = SectionPos.blockToSectionCoord(this.minBuildHeight);
+ this.height = this.dimensionType.height(); + this.height = dimensionType.height();
+ this.maxBuildHeight = this.minBuildHeight + this.height; + this.maxBuildHeight = this.minBuildHeight + this.height;
+ this.maxSection = SectionPos.blockToSectionCoord(this.maxBuildHeight - 1) + 1; + this.maxSection = SectionPos.blockToSectionCoord(this.maxBuildHeight - 1) + 1;
+ // Pufferfish end + // Pufferfish end
@@ -3560,10 +3560,47 @@ index 13eded53a64d0f36f8c9bce2077de4f1c1ed2d56..303ad9eab2e0a9b73597ca4ee9d70bea
return new BlockPos(i, l, j); return new BlockPos(i, l, j);
} }
diff --git a/src/main/java/net/minecraft/world/level/biome/Biome.java b/src/main/java/net/minecraft/world/level/biome/Biome.java diff --git a/src/main/java/net/minecraft/world/level/biome/Biome.java b/src/main/java/net/minecraft/world/level/biome/Biome.java
index 0422d787593cc65aadcae9f7517ec67a52f1f72b..74b446bde17ff023fb19c422d15993fb1f4b3d69 100644 index 0422d787593cc65aadcae9f7517ec67a52f1f72b..248da8962a460fe41876bbe8670e8909864b40bc 100644
--- a/src/main/java/net/minecraft/world/level/biome/Biome.java --- a/src/main/java/net/minecraft/world/level/biome/Biome.java
+++ b/src/main/java/net/minecraft/world/level/biome/Biome.java +++ b/src/main/java/net/minecraft/world/level/biome/Biome.java
@@ -52,14 +52,20 @@ public final class Biome { @@ -37,6 +37,36 @@ import net.minecraft.world.level.material.Fluids;
public final class Biome {
public static final Codec<Biome> DIRECT_CODEC;
public static final Codec<Biome> NETWORK_CODEC;
+
+ // Pufferfish start - decompile fixes
+ static {
+ DIRECT_CODEC = RecordCodecBuilder.create((instance) -> {
+ return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> {
+ return biome.climateSettings;
+ }), Biome.BiomeCategory.CODEC.fieldOf("category").forGetter((biome) -> {
+ return biome.biomeCategory;
+ }), BiomeSpecialEffects.CODEC.fieldOf("effects").forGetter((biome) -> {
+ return biome.specialEffects;
+ }), BiomeGenerationSettings.CODEC.forGetter((biome) -> {
+ return biome.generationSettings;
+ }), MobSpawnSettings.CODEC.forGetter((biome) -> {
+ return biome.mobSettings;
+ })).apply(instance, Biome::new);
+ });
+ NETWORK_CODEC = RecordCodecBuilder.create((instance) -> {
+ return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> {
+ return biome.climateSettings;
+ }), Biome.BiomeCategory.CODEC.fieldOf("category").forGetter((biome) -> {
+ return biome.biomeCategory;
+ }), BiomeSpecialEffects.CODEC.fieldOf("effects").forGetter((biome) -> {
+ return biome.specialEffects;
+ })).apply(instance, (weather, category, effects) -> {
+ return new Biome(weather, category, effects, BiomeGenerationSettings.EMPTY, MobSpawnSettings.EMPTY);
+ });
+ });
+ }
+ // Pufferfish end
+
public static final Codec<Holder<Biome>> CODEC = RegistryFileCodec.create(Registry.BIOME_REGISTRY, DIRECT_CODEC);
public static final Codec<HolderSet<Biome>> LIST_CODEC = RegistryCodecs.homogeneousList(Registry.BIOME_REGISTRY, DIRECT_CODEC);
private static final PerlinSimplexNoise TEMPERATURE_NOISE = new PerlinSimplexNoise(new WorldgenRandom(new LegacyRandomSource(1234L)), ImmutableList.of(0));
@@ -52,14 +82,20 @@ public final class Biome {
private final MobSpawnSettings mobSettings; private final MobSpawnSettings mobSettings;
private final Biome.BiomeCategory biomeCategory; private final Biome.BiomeCategory biomeCategory;
private final BiomeSpecialEffects specialEffects; private final BiomeSpecialEffects specialEffects;
@@ -3585,7 +3622,7 @@ index 0422d787593cc65aadcae9f7517ec67a52f1f72b..74b446bde17ff023fb19c422d15993fb
}); });
}); });
@@ -101,17 +107,15 @@ public final class Biome { @@ -101,17 +137,15 @@ public final class Biome {
@Deprecated @Deprecated
public float getTemperature(BlockPos blockPos) { public float getTemperature(BlockPos blockPos) {
long l = blockPos.asLong(); long l = blockPos.asLong();
@@ -3608,6 +3645,24 @@ index 0422d787593cc65aadcae9f7517ec67a52f1f72b..74b446bde17ff023fb19c422d15993fb
return g; return g;
} }
} }
@@ -253,6 +287,8 @@ public final class Biome {
return biomeEntry.value().getBiomeCategory();
}
+ // Pufferfish - decompile fixes (what the fuck)
+ /*
static {
DIRECT_CODEC = RecordCodecBuilder.create((instance) -> {
return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> {
@@ -279,6 +315,8 @@ public final class Biome {
});
});
}
+ */
+ // Pufferfish end
public static class BiomeBuilder {
@Nullable
diff --git a/src/main/java/net/minecraft/world/level/block/entity/ChestBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/ChestBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/ChestBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/ChestBlockEntity.java
index e56f7d76b501dab7d549efd2fafd514a9625c24e..066f43deb5df6f79428eb0f325c2abfb31ea9254 100644 index e56f7d76b501dab7d549efd2fafd514a9625c24e..066f43deb5df6f79428eb0f325c2abfb31ea9254 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/ChestBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/ChestBlockEntity.java
@@ -3852,20 +3907,18 @@ index d4ce71d98c5071cd3567c772a0853ca86550bad5..5d91f00e81864a981ca457fc4fa88f01
public org.bukkit.Chunk bukkitChunk; public org.bukkit.Chunk bukkitChunk;
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
index b11ad90c0956ac1b8ee069fa3f4553a2b4ce88e9..a32a90056acf37150b90f2941ce5b87b6ca8d162 100644 index b11ad90c0956ac1b8ee069fa3f4553a2b4ce88e9..d69fe40d3af983144999963ec25b32500237e515 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
@@ -26,6 +26,9 @@ public class LevelChunkSection { @@ -26,6 +26,7 @@ public class LevelChunkSection {
private short tickingFluidCount; private short tickingFluidCount;
public final PalettedContainer<BlockState> states; public final PalettedContainer<BlockState> states;
private final PalettedContainer<Holder<Biome>> biomes; private final PalettedContainer<Holder<Biome>> biomes;
+ // Pufferfish start + public short fluidStateCount; // Pufferfish
+ public short fluidStateCount;
+ // Pufferfish end
public final com.destroystokyo.paper.util.maplist.IBlockDataList tickingList = new com.destroystokyo.paper.util.maplist.IBlockDataList(); // Paper public final com.destroystokyo.paper.util.maplist.IBlockDataList tickingList = new com.destroystokyo.paper.util.maplist.IBlockDataList(); // Paper
public LevelChunkSection(int chunkPos, PalettedContainer<BlockState> blockStateContainer, PalettedContainer<Holder<Biome>> biomeContainer) { public LevelChunkSection(int chunkPos, PalettedContainer<BlockState> blockStateContainer, PalettedContainer<Holder<Biome>> biomeContainer) {
@@ -196,6 +199,7 @@ public class LevelChunkSection { @@ -196,6 +197,7 @@ public class LevelChunkSection {
if (!fluid.isEmpty()) { if (!fluid.isEmpty()) {
--this.tickingFluidCount; --this.tickingFluidCount;
@@ -3873,7 +3926,7 @@ index b11ad90c0956ac1b8ee069fa3f4553a2b4ce88e9..a32a90056acf37150b90f2941ce5b87b
} }
if (!state.isAir()) { if (!state.isAir()) {
@@ -210,6 +214,7 @@ public class LevelChunkSection { @@ -210,6 +212,7 @@ public class LevelChunkSection {
if (!fluid1.isEmpty()) { if (!fluid1.isEmpty()) {
++this.tickingFluidCount; ++this.tickingFluidCount;
@@ -3881,7 +3934,7 @@ index b11ad90c0956ac1b8ee069fa3f4553a2b4ce88e9..a32a90056acf37150b90f2941ce5b87b
} }
this.updateKnownBlockInfo(x | (z << 4) | (y << 8), iblockdata1, state); // Paper this.updateKnownBlockInfo(x | (z << 4) | (y << 8), iblockdata1, state); // Paper
@@ -258,6 +263,7 @@ public class LevelChunkSection { @@ -258,6 +261,7 @@ public class LevelChunkSection {
if (fluid.isRandomlyTicking()) { if (fluid.isRandomlyTicking()) {
this.tickingFluidCount = (short) (this.tickingFluidCount + 1); this.tickingFluidCount = (short) (this.tickingFluidCount + 1);
} }
@@ -4035,44 +4088,53 @@ index 05b64f2730bfe836bd1d72dcfccd9f536908a099..d33af84300db18ea2b71dba2c9ed4339
public boolean hasParam(LootContextParam<?> parameter) { public boolean hasParam(LootContextParam<?> parameter) {
diff --git a/src/main/java/net/minecraft/world/phys/shapes/EntityCollisionContext.java b/src/main/java/net/minecraft/world/phys/shapes/EntityCollisionContext.java diff --git a/src/main/java/net/minecraft/world/phys/shapes/EntityCollisionContext.java b/src/main/java/net/minecraft/world/phys/shapes/EntityCollisionContext.java
index b1992ed5136cc7dcf04219868b94b3c37ae36b4b..7d494a050d1dac79c7bae5a7464fccabfdc6066d 100644 index b1992ed5136cc7dcf04219868b94b3c37ae36b4b..5b5339cba819368f4d6b7eaf404fa59bca4c0518 100644
--- a/src/main/java/net/minecraft/world/phys/shapes/EntityCollisionContext.java --- a/src/main/java/net/minecraft/world/phys/shapes/EntityCollisionContext.java
+++ b/src/main/java/net/minecraft/world/phys/shapes/EntityCollisionContext.java +++ b/src/main/java/net/minecraft/world/phys/shapes/EntityCollisionContext.java
@@ -19,47 +19,68 @@ public class EntityCollisionContext implements CollisionContext { @@ -19,47 +19,66 @@ public class EntityCollisionContext implements CollisionContext {
return defaultValue; return defaultValue;
} }
}; };
- private final boolean descending;
- private final double entityBottom;
- private final ItemStack heldItem;
- private final Predicate<FluidState> canStandOnFluid;
+ // Pufferfish start - remove these and pray no plugin uses them + // Pufferfish start - remove these and pray no plugin uses them
+ /* + // private final boolean descending;
private final boolean descending; + // private final double entityBottom;
private final double entityBottom; + // private final ItemStack heldItem;
private final ItemStack heldItem; + // private final Predicate<FluidState> canStandOnFluid;
private final Predicate<FluidState> canStandOnFluid; + // Pufferfish end
+ */
@Nullable @Nullable
private final Entity entity; private final Entity entity;
protected EntityCollisionContext(boolean descending, double minY, ItemStack heldItem, Predicate<FluidState> walkOnFluidPredicate, @Nullable Entity entity) { protected EntityCollisionContext(boolean descending, double minY, ItemStack heldItem, Predicate<FluidState> walkOnFluidPredicate, @Nullable Entity entity) {
+ /* - this.descending = descending;
this.descending = descending; - this.entityBottom = minY;
this.entityBottom = minY; - this.heldItem = heldItem;
this.heldItem = heldItem; - this.canStandOnFluid = walkOnFluidPredicate;
this.canStandOnFluid = walkOnFluidPredicate; + // Pufferfish start - remove these
+ */ + // this.descending = descending;
+ // this.entityBottom = minY;
+ // this.heldItem = heldItem;
+ // this.canStandOnFluid = walkOnFluidPredicate;
+ // Pufferfish end
this.entity = entity; this.entity = entity;
} }
/** @deprecated */ /** @deprecated */
@Deprecated @Deprecated
protected EntityCollisionContext(Entity entity) { protected EntityCollisionContext(Entity entity) {
+ /* - this(entity.isDescending(), entity.getY(), entity instanceof LivingEntity ? ((LivingEntity)entity).getMainHandItem() : ItemStack.EMPTY, entity instanceof LivingEntity ? ((LivingEntity)entity)::canStandOnFluid : (fluidState) -> {
this(entity.isDescending(), entity.getY(), entity instanceof LivingEntity ? ((LivingEntity)entity).getMainHandItem() : ItemStack.EMPTY, entity instanceof LivingEntity ? ((LivingEntity)entity)::canStandOnFluid : (fluidState) -> { - return false;
return false; - }, entity);
}, entity); + // Pufferfish start - remove this
+ */ + // this(entity.isDescending(), entity.getY(), entity instanceof LivingEntity ? ((LivingEntity)entity).getMainHandItem() : ItemStack.EMPTY, entity instanceof LivingEntity ? ((LivingEntity)entity)::canStandOnFluid : (fluidState) -> {
+ // return false;
+ // }, entity);
+ // Pufferfish end
+ this.entity = entity; + this.entity = entity;
} }
+ // Pufferfish end
@Override @Override
public boolean isHoldingItem(Item item) { public boolean isHoldingItem(Item item) {
@@ -4112,7 +4174,7 @@ index b1992ed5136cc7dcf04219868b94b3c37ae36b4b..7d494a050d1dac79c7bae5a7464fccab
@Nullable @Nullable
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 5a6290e5d7b82dbc069d159ea53292e4dbc94d03..118b9aed39dfaa3780905bb38738ba8b131fc0e4 100644 index 7343bd96a4a15f4abc081e565175db8df930a470..cc88eb1247bafb65999e1ca5624c87b038b27866 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -248,7 +248,7 @@ import javax.annotation.Nullable; // Paper @@ -248,7 +248,7 @@ import javax.annotation.Nullable; // Paper
@@ -4186,7 +4248,7 @@ index 909b2c98e7a9117d2f737245e4661792ffafb744..0d9e2b3728f9ab500bd5e44702718535
@Override @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index d50661d29608e2e805c24a9eb3dd5ce72134a14e..8197dc85f5b8d5965c2f8edacc853fc7f7daf22c 100644 index 41e7ca100073052b99c82fa6a82f8168e0135499..7e06f263cf618b82f77101ef86d819d5dc37a24e 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -430,7 +430,7 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -430,7 +430,7 @@ public final class CraftMagicNumbers implements UnsafeValues {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index 27c18ced1ce6d38c9cd05eb4269f25a9d6520030..58948319c004d89a90052d061f9c9293375b9c88 100644 index ecb65e75d19d2f7b72410c89251e56566b7b6dc0..bd5d784ad6fb9786e03bd614baa40954b9fe6090 100644
--- a/build.gradle.kts --- a/build.gradle.kts
+++ b/build.gradle.kts +++ b/build.gradle.kts
@@ -18,7 +18,7 @@ repositories { @@ -18,7 +18,7 @@ repositories {
@@ -15,7 +15,7 @@ index 27c18ced1ce6d38c9cd05eb4269f25a9d6520030..58948319c004d89a90052d061f9c9293
- implementation(project(":pufferfish-api")) // Pufferfish // Paper - implementation(project(":pufferfish-api")) // Pufferfish // Paper
+ implementation(project(":purpur-api")) // Pufferfish // Paper // Purpur + implementation(project(":purpur-api")) // Pufferfish // Paper // Purpur
// Pufferfish start // Pufferfish start
implementation("io.papermc.paper:paper-mojangapi:1.18.1-R0.1-SNAPSHOT") { implementation("io.papermc.paper:paper-mojangapi:1.18.2-R0.1-SNAPSHOT") {
exclude("io.papermc.paper", "paper-api") exclude("io.papermc.paper", "paper-api")
@@ -54,6 +54,8 @@ dependencies { @@ -54,6 +54,8 @@ dependencies {
isTransitive = false isTransitive = false
@@ -167,10 +167,10 @@ index 1a859fef0848cf23a672012e9764965ae1c07ec5..14ed740609b14242c2a8d377a78b2f71
stringbuilder.append(CrashReport.getErrorComment()); stringbuilder.append(CrashReport.getErrorComment());
stringbuilder.append("\n\n"); stringbuilder.append("\n\n");
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9bd03a9ca4d1a5332738b943493c2b7bb339b698..631e2e9bee442a185b3423594e9065e39458bba6 100644 index a6d8f128ac1c2eacf662ee40a04275d45d6754ca..4633f75991dc5e261fb96bd707cca7bf304fcc13 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -960,7 +960,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -958,7 +958,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
shutdownThread = Thread.currentThread(); shutdownThread = Thread.currentThread();
org.spigotmc.WatchdogThread.doStop(); // Paper org.spigotmc.WatchdogThread.doStop(); // Paper
if (!isSameThread()) { if (!isSameThread()) {
@@ -179,7 +179,7 @@ index 9bd03a9ca4d1a5332738b943493c2b7bb339b698..631e2e9bee442a185b3423594e9065e3
while (this.getRunningThread().isAlive()) { while (this.getRunningThread().isAlive()) {
this.getRunningThread().stop(); this.getRunningThread().stop();
try { try {
@@ -1687,7 +1687,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1685,7 +1685,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate @DontObfuscate
public String getServerModName() { public String getServerModName() {
@@ -221,7 +221,7 @@ index 303b70f0433ff49a3bee2a0d92c41f01aec38bee..5e9fc979daced5dad9977ab12ea019f4
private static final int DEFAULT_SIZE_THRESHOLD = 1024 * 8; private static final int DEFAULT_SIZE_THRESHOLD = 1024 * 8;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 118b9aed39dfaa3780905bb38738ba8b131fc0e4..4bc37e48600d830a9cdc379428fcd82c9d9639d4 100644 index cc88eb1247bafb65999e1ca5624c87b038b27866..0c4140890198d68901c1045e9259b866ef027272 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -248,7 +248,7 @@ import javax.annotation.Nullable; // Paper @@ -248,7 +248,7 @@ import javax.annotation.Nullable; // Paper
@@ -287,7 +287,7 @@ index cdefb2025eedea7e204d70d568adaf1c1ec4c03c..d1526ed7197b883e1d1f07baf285bf5e
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 8197dc85f5b8d5965c2f8edacc853fc7f7daf22c..3c749451057e7e8d66b7822a01701242ba6068af 100644 index 7e06f263cf618b82f77101ef86d819d5dc37a24e..9d974b535c03ff06f7f01cdd17dc700e3a3f150e 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -430,7 +430,7 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -430,7 +430,7 @@ public final class CraftMagicNumbers implements UnsafeValues {

View File

@@ -22,10 +22,10 @@ index 8c79f66abd42e9c9875e8877c6dd82b5e3cfa184..2841469748bc308f690aaeb34fe05cb2
super(x, y, z); super(x, y, z);
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2f24119ed147b7952f671dbac21d05cf38960cc0..0fec369bd64aeebebf5702a15090982b32dcd7a7 100644 index 4633f75991dc5e261fb96bd707cca7bf304fcc13..40ec9dc096f292707bfe93dde0bc727dbff4de88 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1565,6 +1565,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1563,6 +1563,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
ServerLevel worldserver = (ServerLevel) iterator.next(); ServerLevel worldserver = (ServerLevel) iterator.next();
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
@@ -34,7 +34,7 @@ index 2f24119ed147b7952f671dbac21d05cf38960cc0..0fec369bd64aeebebf5702a15090982b
this.profiler.push(() -> { this.profiler.push(() -> {
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index a154761eecb4911f8b646cccbb9b713e0fcc693e..291ec6d665daf222150f05ccdf759b8166a718a9 100644 index 5e9ad7c828a196e6fe85bb3e32aa23b95c83b39d..25d66a6d717c21602318e23f417658c2aeebeb18 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -212,6 +212,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -212,6 +212,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -79,7 +79,7 @@ index 353848667006bc386fe5d3fceb61ac58be20a941..d61e30e19c1144a3610f92028c047e0f
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((LivingEntity) entity)); ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((LivingEntity) entity));
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 8e7d8482f44799d2df6ebea380dc4ff47fd66c3d..b630e2a4decc750474f4c9dc6669ecb420a9ceaf 100644 index 3522b7b81eae07ac010c5f9fd056210ff80d5b7d..a798d5ea72bc06395e27199c57be86b407311e50 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -300,7 +300,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -300,7 +300,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0fec369bd64aeebebf5702a15090982b32dcd7a7..e741c1b1d34d85c69cde76f43283728219c188ff 100644 index 40ec9dc096f292707bfe93dde0bc727dbff4de88..3290702916f6ee8dca3d5a79ddad90b1db3d76a0 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1688,7 +1688,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1686,7 +1686,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate @DontObfuscate
public String getServerModName() { public String getServerModName() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index e741c1b1d34d85c69cde76f43283728219c188ff..e0e9d76519738a74ab30df077150967e0175ea59 100644 index 3290702916f6ee8dca3d5a79ddad90b1db3d76a0..b9b95ccd4a1041008b54d6cd0293ea220bdcac8d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -304,6 +304,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -304,6 +304,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -16,7 +16,7 @@ index e741c1b1d34d85c69cde76f43283728219c188ff..e0e9d76519738a74ab30df077150967e
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant(); public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end // Spigot end
public static long currentTickLong = 0L; // Paper public static long currentTickLong = 0L; // Paper
@@ -1205,6 +1206,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1203,6 +1204,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.recentTps[1] = tps5.getAverage(); this.recentTps[1] = tps5.getAverage();
this.recentTps[2] = tps15.getAverage(); this.recentTps[2] = tps15.getAverage();
// Paper end // Paper end
@@ -25,7 +25,7 @@ index e741c1b1d34d85c69cde76f43283728219c188ff..e0e9d76519738a74ab30df077150967e
} }
// Spigot end // Spigot end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 36776ee4e143b1198a88bf08fd4ba2d2116fe1d1..1f9009ede5df807808a7e9e1f8a70ab5a135baa7 100644 index be5dd98b305fb83cbb344f80c045720c3cb900cf..571cbb2a811c2ce7459db48a1d648e86fd0448d3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2859,5 +2859,10 @@ public final class CraftServer implements Server { @@ -2859,5 +2859,10 @@ public final class CraftServer implements Server {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index e0e9d76519738a74ab30df077150967e0175ea59..67e888a41da7dc3bf47a5698ec251b135bd59426 100644 index b9b95ccd4a1041008b54d6cd0293ea220bdcac8d..4956c82877a9b2b89ef626260e3abf1523f7d7fe 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1224,7 +1224,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1222,7 +1222,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickServer(this::haveTime); this.tickServer(this::haveTime);
this.profiler.popPush("nextTickWait"); this.profiler.popPush("nextTickWait");
this.mayHaveDelayedTasks = true; this.mayHaveDelayedTasks = true;

View File

@@ -27,7 +27,7 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216
setListData(vector); setListData(vector);
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 67e888a41da7dc3bf47a5698ec251b135bd59426..4708f7b2cdbd9e73c98f3dab464964b7b3d1accb 100644 index 4956c82877a9b2b89ef626260e3abf1523f7d7fe..4f227401e17419f0ed4344b38aeb7f86d99ba3b5 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -303,7 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -303,7 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -39,7 +39,7 @@ index 67e888a41da7dc3bf47a5698ec251b135bd59426..4708f7b2cdbd9e73c98f3dab464964b7
public boolean lagging = false; // Purpur public boolean lagging = false; // Purpur
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant(); public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end // Spigot end
@@ -1108,6 +1108,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1106,6 +1106,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L; private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0; private long lastTick = 0;
private long catchupTime = 0; private long catchupTime = 0;
@@ -47,7 +47,7 @@ index 67e888a41da7dc3bf47a5698ec251b135bd59426..4708f7b2cdbd9e73c98f3dab464964b7
public final RollingAverage tps1 = new RollingAverage(60); public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5); public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15); public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -1198,13 +1199,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1196,13 +1197,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
{ {
final long diff = curTime - tickSection; final long diff = curTime - tickSection;
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP); java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
@@ -69,7 +69,7 @@ index 67e888a41da7dc3bf47a5698ec251b135bd59426..4708f7b2cdbd9e73c98f3dab464964b7
lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur
tickSection = curTime; tickSection = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 1f9009ede5df807808a7e9e1f8a70ab5a135baa7..4eb628e3102d16a63a586fadb83af28ccef5cbcb 100644 index 571cbb2a811c2ce7459db48a1d648e86fd0448d3..5fa7f70be550cb6d314b713263886c5dd59f7917 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2636,6 +2636,7 @@ public final class CraftServer implements Server { @@ -2636,6 +2636,7 @@ public final class CraftServer implements Server {

View File

@@ -18,10 +18,10 @@ index 689ad22925b2561f7c8db961743eb1f821dbb25f..fa3c960992cc240161817e54659d83fe
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) { public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time % 192000; // Paper - fix guardian beam this.gameTime = time % 192000; // Paper - fix guardian beam
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 4708f7b2cdbd9e73c98f3dab464964b7b3d1accb..d3add7aab3127845c68b44a6443b5165cf074367 100644 index 4f227401e17419f0ed4344b38aeb7f86d99ba3b5..53b27a29e44d5e6afb78871fd36ca573237e6d8b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1561,7 +1561,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1559,7 +1559,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long worldTime = world.getGameTime(); long worldTime = world.getGameTime();
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight); final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
for (Player entityhuman : world.players()) { for (Player entityhuman : world.players()) {
@@ -31,7 +31,7 @@ index 4708f7b2cdbd9e73c98f3dab464964b7b3d1accb..d3add7aab3127845c68b44a6443b5165
} }
ServerPlayer entityplayer = (ServerPlayer) entityhuman; ServerPlayer entityplayer = (ServerPlayer) entityhuman;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index c2481006511217c1677dbb2bab01b40c2d8233ee..fef7565a9f64a8630e8bce20ea423f70b0ffa48e 100644 index 770284a45385e64ad08b918f54e52777c98b8fd1..33e5d641781a5aaeb401167d67518f524380a6a6 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -202,6 +202,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -202,6 +202,8 @@ public class ServerLevel extends Level implements WorldGenLevel {

View File

@@ -17,10 +17,10 @@ index 362fd34016b83ba346a43abb6acf38d887918437..c137f5299e4a9e2f33aeef77818c62c3
if (environment.includeIntegrated) { if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d9b0c98fef7aa7cba549bc76b6340b1100dc545a..f61d0b666a6d8a4dd184303068755ea666307d17 100644 index 53b27a29e44d5e6afb78871fd36ca573237e6d8b..2b344ddae29a578664888df853b5c48c728c4d50 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1082,6 +1082,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1080,6 +1080,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.safeShutdown(flag, false); this.safeShutdown(flag, false);
} }
public void safeShutdown(boolean flag, boolean isRestarting) { public void safeShutdown(boolean flag, boolean isRestarting) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] UPnP Port Forwarding
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6f2354856052e348942cc2a42cb6f364bfccc9c6..13f7389e9d26940e7a6ffcdc2c266b26cd5c7319 100644 index 061828c358924efa6119e2bdf813e478c10b77a0..73993468c880906e6d7f03b5ba3cb2318f433d57 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -309,6 +309,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -309,6 +309,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -16,7 +16,7 @@ index 6f2354856052e348942cc2a42cb6f364bfccc9c6..13f7389e9d26940e7a6ffcdc2c266b26
public volatile Thread shutdownThread; // Paper public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper public volatile boolean abnormalExit = false; // Paper
@@ -974,6 +975,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -972,6 +973,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end // CraftBukkit end
MinecraftServer.LOGGER.info("Stopping server"); MinecraftServer.LOGGER.info("Stopping server");
MinecraftTimings.stopServer(); // Paper MinecraftTimings.stopServer(); // Paper

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Give bee counts in beehives to Purpur clients
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 13f7389e9d26940e7a6ffcdc2c266b26cd5c7319..25ad2d70a91ce127fbd96ff649939f9acfdb923e 100644 index 73993468c880906e6d7f03b5ba3cb2318f433d57..1980bee459e8b0db7800903229aead69d6ceb21a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1093,6 +1093,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1091,6 +1091,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public void safeShutdown(boolean flag, boolean isRestarting) { public void safeShutdown(boolean flag, boolean isRestarting) {
org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur

View File

@@ -1,77 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@Gmail.com>
Date: Tue, 1 Mar 2022 17:03:44 -0600
Subject: [PATCH] Fix compile errors
diff --git a/src/main/java/net/minecraft/world/level/biome/Biome.java b/src/main/java/net/minecraft/world/level/biome/Biome.java
index 74b446bde17ff023fb19c422d15993fb1f4b3d69..e23d835557b02a1a882cfc8ae59e7d767e5ffe12 100644
--- a/src/main/java/net/minecraft/world/level/biome/Biome.java
+++ b/src/main/java/net/minecraft/world/level/biome/Biome.java
@@ -37,6 +37,32 @@ import net.minecraft.world.level.material.Fluids;
public final class Biome {
public static final Codec<Biome> DIRECT_CODEC;
public static final Codec<Biome> NETWORK_CODEC;
+ static {
+ DIRECT_CODEC = RecordCodecBuilder.create((instance) -> {
+ return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> {
+ return biome.climateSettings;
+ }), Biome.BiomeCategory.CODEC.fieldOf("category").forGetter((biome) -> {
+ return biome.biomeCategory;
+ }), BiomeSpecialEffects.CODEC.fieldOf("effects").forGetter((biome) -> {
+ return biome.specialEffects;
+ }), BiomeGenerationSettings.CODEC.forGetter((biome) -> {
+ return biome.generationSettings;
+ }), MobSpawnSettings.CODEC.forGetter((biome) -> {
+ return biome.mobSettings;
+ })).apply(instance, Biome::new);
+ });
+ NETWORK_CODEC = RecordCodecBuilder.create((instance) -> {
+ return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> {
+ return biome.climateSettings;
+ }), Biome.BiomeCategory.CODEC.fieldOf("category").forGetter((biome) -> {
+ return biome.biomeCategory;
+ }), BiomeSpecialEffects.CODEC.fieldOf("effects").forGetter((biome) -> {
+ return biome.specialEffects;
+ })).apply(instance, (weather, category, effects) -> {
+ return new Biome(weather, category, effects, BiomeGenerationSettings.EMPTY, MobSpawnSettings.EMPTY);
+ });
+ });
+ }
public static final Codec<Holder<Biome>> CODEC = RegistryFileCodec.create(Registry.BIOME_REGISTRY, DIRECT_CODEC);
public static final Codec<HolderSet<Biome>> LIST_CODEC = RegistryCodecs.homogeneousList(Registry.BIOME_REGISTRY, DIRECT_CODEC);
private static final PerlinSimplexNoise TEMPERATURE_NOISE = new PerlinSimplexNoise(new WorldgenRandom(new LegacyRandomSource(1234L)), ImmutableList.of(0));
@@ -257,33 +283,6 @@ public final class Biome {
return biomeEntry.value().getBiomeCategory();
}
- static {
- DIRECT_CODEC = RecordCodecBuilder.create((instance) -> {
- return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> {
- return biome.climateSettings;
- }), Biome.BiomeCategory.CODEC.fieldOf("category").forGetter((biome) -> {
- return biome.biomeCategory;
- }), BiomeSpecialEffects.CODEC.fieldOf("effects").forGetter((biome) -> {
- return biome.specialEffects;
- }), BiomeGenerationSettings.CODEC.forGetter((biome) -> {
- return biome.generationSettings;
- }), MobSpawnSettings.CODEC.forGetter((biome) -> {
- return biome.mobSettings;
- })).apply(instance, Biome::new);
- });
- NETWORK_CODEC = RecordCodecBuilder.create((instance) -> {
- return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> {
- return biome.climateSettings;
- }), Biome.BiomeCategory.CODEC.fieldOf("category").forGetter((biome) -> {
- return biome.biomeCategory;
- }), BiomeSpecialEffects.CODEC.fieldOf("effects").forGetter((biome) -> {
- return biome.specialEffects;
- })).apply(instance, (weather, category, effects) -> {
- return new Biome(weather, category, effects, BiomeGenerationSettings.EMPTY, MobSpawnSettings.EMPTY);
- });
- });
- }
-
public static class BiomeBuilder {
@Nullable
private Biome.Precipitation precipitation;