Remove cb null check

This commit is contained in:
Nassim Jahnke 2024-12-15 13:05:35 +01:00
parent df778ff55d
commit e99a9b5e4a
No known key found for this signature in database
GPG key ID: EF6771C01F6EF02F
2 changed files with 12 additions and 9 deletions

View file

@ -78,15 +78,18 @@
}
private SortedArraySet<Ticket<?>> getTickets(long chunkPos) {
@@ -217,8 +_,9 @@
@@ -217,8 +_,12 @@
ChunkPos chunkPos = sectionPos.chunk();
long packedChunkPos = chunkPos.toLong();
ObjectSet<ServerPlayer> set = this.playersPerChunk.get(packedChunkPos);
- set.remove(player);
- if (set.isEmpty()) {
+ if (set == null) return; // CraftBukkit - SPIGOT-6208
+ if (set != null) set.remove(player); // Paper - some state corruption happens here, don't crash, clean up gracefully
+ if (set == null || set.isEmpty()) { // Paper
+ // Paper start - some state corruption happens here, don't crash, clean up gracefully
+ if (set != null) {
+ set.remove(player);
+ }
+ if (set == null || set.isEmpty()) {
+ // Paper end - some state corruption happens here, don't crash, clean up gracefully
this.playersPerChunk.remove(packedChunkPos);
this.naturalSpawnChunkCounter.update(packedChunkPos, Integer.MAX_VALUE, false);
this.playerTicketManager.update(packedChunkPos, Integer.MAX_VALUE, false);

View file

@ -131,11 +131,12 @@
boolean flag = this.distanceManager.runAllUpdates(this.chunkMap);
boolean flag1 = this.chunkMap.promoteChunkMap();
this.chunkMap.runGenerationTasks();
@@ -315,17 +_,38 @@
@@ -315,17 +_,39 @@
@Override
public void close() throws IOException {
- this.save(true);
+ // CraftBukkit start
+ this.close(true);
+ }
+
@ -209,13 +210,12 @@
@Override
public void setSpawnSettings(boolean spawnSettings) {
- this.spawnEnemies = spawnSettings;
- this.spawnFriendlies = this.spawnFriendlies;
+ // CraftBukkit start
+ this.setSpawnSettings(spawnSettings, this.spawnFriendlies);
+ }
+ public void setSpawnSettings(boolean spawnEnemies, boolean spawnFriendlies) {
+ this.spawnEnemies = spawnEnemies;
+ public void setSpawnSettings(boolean spawnSettings, boolean spawnFriendlies) {
this.spawnEnemies = spawnSettings;
- this.spawnFriendlies = this.spawnFriendlies;
+ this.spawnFriendlies = spawnFriendlies;
+ // CraftBukkit end
}