mirror of
https://github.com/PaperMC/Paper.git
synced 2025-03-21 14:39:01 +01:00
SPIGOT-2936: Simplify WorldBorder diff
This commit is contained in:
parent
4602331b1d
commit
c8ff65136f
2 changed files with 7 additions and 33 deletions
|
@ -18,22 +18,17 @@
|
||||||
|
|
||||||
public SpawnerCreature() {}
|
public SpawnerCreature() {}
|
||||||
|
|
||||||
@@ -36,15 +42,18 @@
|
@@ -38,13 +44,16 @@
|
||||||
for (int i1 = -8; i1 <= 8; ++i1) {
|
|
||||||
for (k = -8; k <= 8; ++k) {
|
|
||||||
boolean flag4 = i1 == -8 || i1 == 8 || k == -8 || k == 8;
|
boolean flag4 = i1 == -8 || i1 == 8 || k == -8 || k == 8;
|
||||||
- ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i1 + l, k + j);
|
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i1 + l, k + j);
|
||||||
+ // CraftBukkit start - use LongHash and LongHashSet
|
|
||||||
+ // ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i1 + l, k + j);
|
|
||||||
|
|
||||||
- if (!this.b.contains(chunkcoordintpair)) {
|
- if (!this.b.contains(chunkcoordintpair)) {
|
||||||
+ long chunkCoords = LongHash.toLong(i1 + l, k + j);
|
+ // CraftBukkit start - use LongHash and LongHashSet
|
||||||
|
+ long chunkCoords = LongHash.toLong(chunkcoordintpair.x, chunkcoordintpair.z);
|
||||||
+ if (!this.b.contains(chunkCoords)) {
|
+ if (!this.b.contains(chunkCoords)) {
|
||||||
++i;
|
++i;
|
||||||
- if (!flag4 && worldserver.getWorldBorder().isInBounds(chunkcoordintpair)) {
|
if (!flag4 && worldserver.getWorldBorder().isInBounds(chunkcoordintpair)) {
|
||||||
- PlayerChunk playerchunk = worldserver.getPlayerChunkMap().getChunk(chunkcoordintpair.x, chunkcoordintpair.z);
|
PlayerChunk playerchunk = worldserver.getPlayerChunkMap().getChunk(chunkcoordintpair.x, chunkcoordintpair.z);
|
||||||
+ if (!flag4 && worldserver.getWorldBorder().isInBounds(i1 + l, k + j)) { // CraftBukkit
|
|
||||||
+ PlayerChunk playerchunk = worldserver.getPlayerChunkMap().getChunk(i1 + l, k + j); // CraftBukkit
|
|
||||||
|
|
||||||
if (playerchunk != null && playerchunk.e()) {
|
if (playerchunk != null && playerchunk.e()) {
|
||||||
- this.b.add(chunkcoordintpair);
|
- this.b.add(chunkcoordintpair);
|
||||||
|
|
|
@ -8,28 +8,7 @@
|
||||||
|
|
||||||
public WorldBorder() {
|
public WorldBorder() {
|
||||||
this.e = this.d;
|
this.e = this.d;
|
||||||
@@ -32,8 +33,19 @@
|
@@ -177,6 +178,7 @@
|
||||||
return (double) (blockposition.getX() + 1) > this.b() && (double) blockposition.getX() < this.d() && (double) (blockposition.getZ() + 1) > this.c() && (double) blockposition.getZ() < this.e();
|
|
||||||
}
|
|
||||||
|
|
||||||
+ // CraftBukkit start - split method
|
|
||||||
public boolean isInBounds(ChunkCoordIntPair chunkcoordintpair) {
|
|
||||||
- return (double) chunkcoordintpair.e() > this.b() && (double) chunkcoordintpair.c() < this.d() && (double) chunkcoordintpair.f() > this.c() && (double) chunkcoordintpair.d() < this.e();
|
|
||||||
+ return isInBounds(chunkcoordintpair.x, chunkcoordintpair.z);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ // Inlined the getters from ChunkCoordIntPair
|
|
||||||
+ public boolean isInBounds(long chunkcoords) {
|
|
||||||
+ return isInBounds(org.bukkit.craftbukkit.util.LongHash.msw(chunkcoords), org.bukkit.craftbukkit.util.LongHash.lsw(chunkcoords));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ // Inlined the getters from ChunkCoordIntPair
|
|
||||||
+ public boolean isInBounds(int x, int z) {
|
|
||||||
+ return (double) ((x << 4) + 15) > this.b() && (double) (x << 4) < this.d() && (double) ((z << 4) + 15) > this.c() && (double) (x << 4) < this.e();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean a(AxisAlignedBB axisalignedbb) {
|
|
||||||
@@ -177,6 +189,7 @@
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void a(IWorldBorderListener iworldborderlistener) {
|
public void a(IWorldBorderListener iworldborderlistener) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue