mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-01 08:56:23 +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() {}
|
||||
|
||||
@@ -36,15 +42,18 @@
|
||||
for (int i1 = -8; i1 <= 8; ++i1) {
|
||||
for (k = -8; k <= 8; ++k) {
|
||||
@@ -38,13 +44,16 @@
|
||||
boolean flag4 = i1 == -8 || i1 == 8 || k == -8 || k == 8;
|
||||
- ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i1 + l, k + j);
|
||||
+ // CraftBukkit start - use LongHash and LongHashSet
|
||||
+ // ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i1 + l, k + j);
|
||||
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i1 + l, k + j);
|
||||
|
||||
- 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)) {
|
||||
++i;
|
||||
- if (!flag4 && worldserver.getWorldBorder().isInBounds(chunkcoordintpair)) {
|
||||
- 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 (!flag4 && worldserver.getWorldBorder().isInBounds(chunkcoordintpair)) {
|
||||
PlayerChunk playerchunk = worldserver.getPlayerChunkMap().getChunk(chunkcoordintpair.x, chunkcoordintpair.z);
|
||||
|
||||
if (playerchunk != null && playerchunk.e()) {
|
||||
- this.b.add(chunkcoordintpair);
|
||||
|
|
|
@ -8,28 +8,7 @@
|
|||
|
||||
public WorldBorder() {
|
||||
this.e = this.d;
|
||||
@@ -32,8 +33,19 @@
|
||||
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 @@
|
||||
@@ -177,6 +178,7 @@
|
||||
}
|
||||
|
||||
public void a(IWorldBorderListener iworldborderlistener) {
|
||||
|
|
Loading…
Reference in a new issue