mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 17:37:42 +01:00
Updated Upstream (Paper)
Upstream has released updates that appears to apply and compile correctly Paper Changes: cb15cfa4 Improve Async Login so pending connections dont get exposed f275e9cb Optimize Hoppers - Major Boost - Got2GoFast! 0106485c Improvements to watchdog changes 65934b1f Fix build for last commit. 5am commits are great 3f436029 Don't process watchdog until server has fully started and ticked. 938bd972 Don't fire BlockFade on worldgen threads - Fixes #3208 509a828e Fix loading spawn chunks when async chunks is off 8a91bfd2 Improvements to async login bf698865 Revert "Re-track players that dismount from other players" 82b98418 Fix some issues with async login as well another source of sync loads aa241d2b Allow multiple callbacks to schedule for Callback Executor a2064a41 Add PlayerAttackEntityCooldownResetEvent This event is called when processing a player's attack on an entity right before their attack strength cd is reset, there are no existing events that fire within this period of time so it was impossible to capture the players attack strength via API prior to this commit. f48d4299 Allow sleeping players to float eeb2f67d Fix Bed respawn deviating too far from vanilla (#3195) 68a7b9fe Move player to spawn point if spawn in unloaded world
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From 8a5c3bee5c877ec56a7a53faeb4acbedb7ae75dd Mon Sep 17 00:00:00 2001
|
||||
From 6ac96e503a4993027ace192acf75b252b81c3dab Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Thu, 2 Apr 2020 00:28:06 -0500
|
||||
Subject: [PATCH] Optimize Chunk Ticks
|
||||
@@ -10,10 +10,10 @@ Subject: [PATCH] Optimize Chunk Ticks
|
||||
3 files changed, 51 insertions(+), 63 deletions(-)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index fd84807a5b..1fae431469 100644
|
||||
index 2d4d7250..b7dadb1b 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -735,11 +735,12 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@@ -737,11 +737,12 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
int k = this.world.getGameRules().getInt(GameRules.RANDOM_TICK_SPEED);
|
||||
BlockPosition blockposition = this.world.getSpawn();
|
||||
// CraftBukkit start - Other mob type spawn tick rate
|
||||
@@ -31,7 +31,7 @@ index fd84807a5b..1fae431469 100644
|
||||
// CraftBukkit end
|
||||
|
||||
this.world.getMethodProfiler().enter("naturalSpawnCount");
|
||||
@@ -765,15 +766,17 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@@ -767,15 +768,17 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
||||
this.world.timings.countNaturalMobs.stopTiming(); // Paper - timings
|
||||
this.world.getMethodProfiler().exit();
|
||||
@@ -58,7 +58,7 @@ index fd84807a5b..1fae431469 100644
|
||||
final int[] chunksTicked = {0}; this.playerChunkMap.forEachVisibleChunk((playerchunk) -> { // Paper - safe iterator incase chunk loads, also no wrapping
|
||||
Optional<Chunk> optional = ((Either) playerchunk.b().getNow(PlayerChunk.UNLOADED_CHUNK)).left();
|
||||
|
||||
@@ -793,40 +796,11 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@@ -795,40 +798,11 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
if (flag1 && (this.allowMonsters || this.allowAnimals) && this.world.getWorldBorder().isInBounds(chunk.getPos()) && !this.playerChunkMap.isOutsideOfRange(chunkcoordintpair, true)) { // Spigot
|
||||
this.world.getMethodProfiler().enter("spawner");
|
||||
this.world.timings.mobSpawn.startTiming(); // Spigot
|
||||
@@ -105,7 +105,7 @@ index fd84807a5b..1fae431469 100644
|
||||
|
||||
// Paper start - only allow spawns upto the limit per chunk and update count afterwards
|
||||
diff --git a/src/main/java/net/minecraft/server/EnumCreatureType.java b/src/main/java/net/minecraft/server/EnumCreatureType.java
|
||||
index 3ed7fa324f..7f236585db 100644
|
||||
index 3ed7fa32..7f236585 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnumCreatureType.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnumCreatureType.java
|
||||
@@ -31,11 +31,25 @@ public enum EnumCreatureType {
|
||||
@@ -135,10 +135,10 @@ index 3ed7fa324f..7f236585db 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 8b2eed1051..8d70cacee9 100644
|
||||
index ee0cabad..5b9647c8 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -1374,28 +1374,28 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
@@ -1371,28 +1371,28 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
}
|
||||
|
||||
boolean isOutsideOfRange(ChunkCoordIntPair chunkcoordintpair, boolean reducedRange) {
|
||||
|
||||
Reference in New Issue
Block a user