mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-29 11:59:17 +00:00
fix: fix dragon suppression(#571)
This commit is contained in:
@@ -34,6 +34,20 @@ index 7e339cb26a132487ac0ab91d3db7e4885bacd545..44079b08d2abd53c12cea3441a38b0b6
|
||||
} catch (Throwable var7) {
|
||||
CrashReport crashReport = CrashReport.forThrowable(var7, "Exception ticking world");
|
||||
serverLevel.fillReportDetails(crashReport);
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index ed05aaa76e1e34ca82fcc7cfb73f371a11600eee..31fb5ea1e33672ae71210776a0302f0ef87c6814 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -814,6 +814,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
if (org.leavesmc.leaves.LeavesConfig.performance.remove.tickGuardLambda) {
|
||||
try {
|
||||
this.tickNonPassenger(entity); // Leaves - changed
|
||||
+ } catch (org.leavesmc.leaves.util.UpdateSuppressionException exception) { // Leaves start - dragon suppression fix
|
||||
+ org.leavesmc.leaves.LeavesLogger.LOGGER.info(exception.getMessage());
|
||||
+ // Leaves end - dragon suppression fix
|
||||
} catch (Throwable throwable) {
|
||||
if (throwable instanceof ThreadDeath) throw throwable; // Paper
|
||||
// Paper start - Prevent block entity and entity crashes
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index fe478f90e3ada46548692962a2d2a1e5e63bb4b6..5e74fdf09d5063b955d9c5ed63775b38f562687e 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -50,7 +64,7 @@ index fe478f90e3ada46548692962a2d2a1e5e63bb4b6..5e74fdf09d5063b955d9c5ed63775b38
|
||||
CrashReport crashReport = CrashReport.forThrowable(var4, "Ticking player");
|
||||
CrashReportCategory crashReportCategory = crashReport.addCategory("Player being ticked");
|
||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||
index b922ac57ca5bbe9e126be9b24a79718bf62888f6..2a87494c2dcfc9e3d4641bc2dd9ee97ed15bdd20 100644
|
||||
index e98271f6b9c4d1f2866b83b52154a1f8645bd5da..a3bb7ce9abd78ef3c999eeeb7fee39b3a5a6aad4 100644
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -1351,9 +1351,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -64,7 +78,7 @@ index b922ac57ca5bbe9e126be9b24a79718bf62888f6..2a87494c2dcfc9e3d4641bc2dd9ee97e
|
||||
+ } catch (org.leavesmc.leaves.util.UpdateSuppressionException exception) {
|
||||
+ org.leavesmc.leaves.LeavesLogger.LOGGER.info(exception.getMessage());
|
||||
}
|
||||
+ // Leaves start - update suppression crash fix
|
||||
+ // Leaves end - update suppression crash fix
|
||||
|
||||
return true;
|
||||
} else {
|
||||
|
||||
@@ -27,10 +27,10 @@ index 019886669966c69936ae6591598c97a8afbfd3db..b6fb1f2ba8622d9d319210ea7cf0a984
|
||||
|
||||
SectionPos lastSectionPos = player.getLastSectionPos();
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index ed05aaa76e1e34ca82fcc7cfb73f371a11600eee..4a34e43d5471bb12ef2535a1a9246376310c56f1 100644
|
||||
index 31fb5ea1e33672ae71210776a0302f0ef87c6814..e6de7ef46d197c14495d4b55d094af34816fc063 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -834,6 +834,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -837,6 +837,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -62,7 +62,7 @@ index 2c8f0194c0a4d8a235371f5ffaead8bbf35738ea..767944fdfe19f0bcfeff92029958c455
|
||||
if (!allowMovement) {
|
||||
io.papermc.paper.event.player.PlayerFailMoveEvent event = fireFailMove(io.papermc.paper.event.player.PlayerFailMoveEvent.FailReason.CLIPPED_INTO_BLOCK,
|
||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||
index 6ee9d69b31bd677df1b54995d0b952168fa1ccd7..5e134b1b755904023d32f89e97525b613f3dc503 100644
|
||||
index a3bb7ce9abd78ef3c999eeeb7fee39b3a5a6aad4..2e4f85a96a9822268ca19de801fefd45cea6c4e4 100644
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -1118,7 +1118,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
|
||||
@@ -120,10 +120,10 @@ index f2286b96b8f40b4588f817913c42ae7b4a92340f..dbe6c37642d35ac6ee8b428cf1e45878
|
||||
.filter(serverPlayer -> !playerList.isOp(serverPlayer.getGameProfile()))
|
||||
.map(serverPlayer -> serverPlayer.getGameProfile().getName()),
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 4a34e43d5471bb12ef2535a1a9246376310c56f1..d50d0874aa34578af3ff8a6bb7c889ba6ab885d6 100644
|
||||
index e6de7ef46d197c14495d4b55d094af34816fc063..5072dc7ac71e1640b2aad35c3c3560e0860ece94 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -2690,7 +2690,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -2693,7 +2693,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
if (entity instanceof ServerPlayer serverPlayer) {
|
||||
ServerLevel.this.players.add(serverPlayer);
|
||||
// Leaves start - skip
|
||||
@@ -132,7 +132,7 @@ index 4a34e43d5471bb12ef2535a1a9246376310c56f1..d50d0874aa34578af3ff8a6bb7c889ba
|
||||
ServerLevel.this.realPlayers.add(serverPlayer);
|
||||
}
|
||||
// Leaves end - skip
|
||||
@@ -2773,7 +2773,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -2776,7 +2776,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
if (entity instanceof ServerPlayer serverPlayer) {
|
||||
ServerLevel.this.players.remove(serverPlayer);
|
||||
// Leaves start - skip
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Servux Protocol
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index d50d0874aa34578af3ff8a6bb7c889ba6ab885d6..a1372102dc860a2136bf0840ee7105df737ab266 100644
|
||||
index 5072dc7ac71e1640b2aad35c3c3560e0860ece94..f78c4f3f2047564730050f16693c00aa2c29a4e0 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -2228,6 +2228,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -2231,6 +2231,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
}
|
||||
|
||||
this.lastSpawnChunkRadius = i;
|
||||
|
||||
Reference in New Issue
Block a user