Mark chunk as active if ChunkUnloadEvent is cancelled
Potentially related to GH-169
This commit is contained in:
parent
bb265b967d
commit
2f79610112
|
@ -1,4 +1,4 @@
|
||||||
From 20f4010aef693e1da12b34b5322ecedac5abb53c Mon Sep 17 00:00:00 2001
|
From cde3b788b4a629944ca36ec406ab7a384b4c273b Mon Sep 17 00:00:00 2001
|
||||||
From: gsand <gsandowns@gmail.com>
|
From: gsand <gsandowns@gmail.com>
|
||||||
Date: Tue, 1 Mar 2016 13:43:16 -0600
|
Date: Tue, 1 Mar 2016 13:43:16 -0600
|
||||||
Subject: [PATCH] Player Exhaustion Multipliers
|
Subject: [PATCH] Player Exhaustion Multipliers
|
||||||
|
@ -36,10 +36,10 @@ index 88e1e98..0f71013 100644
|
||||||
ItemStack itemstack1 = this.u(iblockdata);
|
ItemStack itemstack1 = this.u(iblockdata);
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
index e1bb5c5..11388ab 100644
|
index ad57082..46c826c 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
@@ -1451,13 +1451,13 @@ public abstract class EntityHuman extends EntityLiving {
|
@@ -1448,13 +1448,13 @@ public abstract class EntityHuman extends EntityLiving {
|
||||||
i = Math.round(MathHelper.sqrt(d0 * d0 + d1 * d1 + d2 * d2) * 100.0F);
|
i = Math.round(MathHelper.sqrt(d0 * d0 + d1 * d1 + d2 * d2) * 100.0F);
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
this.a(StatisticList.q, i);
|
this.a(StatisticList.q, i);
|
||||||
|
@ -56,5 +56,5 @@ index e1bb5c5..11388ab 100644
|
||||||
} else if (this.n_()) {
|
} else if (this.n_()) {
|
||||||
if (d1 > 0.0D) {
|
if (d1 > 0.0D) {
|
||||||
--
|
--
|
||||||
2.7.4
|
2.8.0
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From 2dfb9ed0eaf09ab4ca3ea4f5aa68596cdf8c6235 Mon Sep 17 00:00:00 2001
|
From 2b9bf67504d0f896fddad31118b8d6d0e55045f2 Mon Sep 17 00:00:00 2001
|
||||||
From: Byteflux <byte@byteflux.net>
|
From: Byteflux <byte@byteflux.net>
|
||||||
Date: Tue, 1 Mar 2016 23:45:08 -0600
|
Date: Tue, 1 Mar 2016 23:45:08 -0600
|
||||||
Subject: [PATCH] Entity Origin API
|
Subject: [PATCH] Entity Origin API
|
||||||
|
@ -81,7 +81,7 @@ index 564ea37..1113b1c 100644
|
||||||
|
|
||||||
public EntityLiving getSource() {
|
public EntityLiving getSource() {
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index 72d0f5c..3f4bc0f 100644
|
index 0460dc5..87236e8 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
@@ -948,6 +948,12 @@ public abstract class World implements IBlockAccess {
|
@@ -948,6 +948,12 @@ public abstract class World implements IBlockAccess {
|
||||||
|
@ -98,10 +98,10 @@ index 72d0f5c..3f4bc0f 100644
|
||||||
flag = true;
|
flag = true;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
index 8a1df54..f61f6cd 100644
|
index 908dcee..f4168c4 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
@@ -604,4 +604,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
@@ -603,4 +603,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||||
return spigot;
|
return spigot;
|
||||||
}
|
}
|
||||||
// Spigot end
|
// Spigot end
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From 8fd1f5dfead2200e93116763999f776de862a848 Mon Sep 17 00:00:00 2001
|
From c9723ad854bc3dc21412e28c3a7914e9a97768fd Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Fri, 18 Mar 2016 17:57:25 -0400
|
Date: Fri, 18 Mar 2016 17:57:25 -0400
|
||||||
Subject: [PATCH] Optimize Chunk Unload Queue
|
Subject: [PATCH] Optimize Chunk Unload Queue
|
||||||
|
@ -36,7 +36,7 @@ index 8b11266..ac35cf4 100644
|
||||||
|
|
||||||
// CraftBukkit start - Neighbor loaded cache for chunk lighting and entity ticking
|
// CraftBukkit start - Neighbor loaded cache for chunk lighting and entity ticking
|
||||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||||
index 450bf9b..f5a2580 100644
|
index 450bf9b..5485a66 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||||
@@ -21,7 +21,7 @@ import org.bukkit.event.world.ChunkUnloadEvent;
|
@@ -21,7 +21,7 @@ import org.bukkit.event.world.ChunkUnloadEvent;
|
||||||
|
@ -147,7 +147,7 @@ index 450bf9b..f5a2580 100644
|
||||||
if (chunk.hasLightUpdates()) continue; // Paper - Don't unload chunks with pending light updates.
|
if (chunk.hasLightUpdates()) continue; // Paper - Don't unload chunks with pending light updates.
|
||||||
|
|
||||||
ChunkUnloadEvent event = new ChunkUnloadEvent(chunk.bukkitChunk);
|
ChunkUnloadEvent event = new ChunkUnloadEvent(chunk.bukkitChunk);
|
||||||
@@ -320,7 +340,7 @@ public class ChunkProviderServer implements IChunkProvider {
|
@@ -320,13 +340,18 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +156,18 @@ index 450bf9b..f5a2580 100644
|
||||||
if (neighbor != null) {
|
if (neighbor != null) {
|
||||||
neighbor.setNeighborUnloaded(-x, -z);
|
neighbor.setNeighborUnloaded(-x, -z);
|
||||||
chunk.setNeighborUnloaded(x, z);
|
chunk.setNeighborUnloaded(x, z);
|
||||||
@@ -362,4 +382,69 @@ public class ChunkProviderServer implements IChunkProvider {
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ // Paper start
|
||||||
|
+ } else {
|
||||||
|
+ // Unload event is cancelled, make sure this chunk is marked active
|
||||||
|
+ markChunkActive(chunk);
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// CraftBukkit end
|
||||||
|
@@ -362,4 +387,69 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||||
public boolean e(int i, int j) {
|
public boolean e(int i, int j) {
|
||||||
return this.chunks.containsKey(LongHash.toLong(i, j)); // CraftBukkit
|
return this.chunks.containsKey(LongHash.toLong(i, j)); // CraftBukkit
|
||||||
}
|
}
|
||||||
|
@ -240,7 +251,7 @@ index 63e118d..721bcae 100644
|
||||||
i += server.getChunkAt( x, z ).entityCount.get( oClass );
|
i += server.getChunkAt( x, z ).entityCount.get( oClass );
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index f76ff72..c1cb133 100644
|
index d658fa2..0a3cfbc 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
@@ -159,9 +159,15 @@ public abstract class World implements IBlockAccess {
|
@@ -159,9 +159,15 @@ public abstract class World implements IBlockAccess {
|
||||||
|
|
Loading…
Reference in New Issue