Updated Upstream (Paper)

Upstream has released updates that appears to apply and compile correctly

Paper Changes:
1daafe455 Updated Upstream (Bukkit/CraftBukkit)
98828b006 Merge pull request #4132 from Proximyst/progress/1.16.2
b23f27f8d  Fix incorrect return for WorldServer#addAllEntitiesSafely (#3)
5085fa30c Fix MC-187716 Use configured height
c44add5a0 Initialise a new chunk section if none was found yet updated
74a4d5f8b Remove armour stand double add to world
6d25cc4ec Don't mark null chunk sections for block updates
This commit is contained in:
William Blake Galbreath
2020-08-16 09:32:41 -05:00
parent 38c21107af
commit 6b4bc4775d
18 changed files with 184 additions and 281 deletions

2
Paper

Submodule Paper updated: 1ba2f21452...1daafe4551

View File

@@ -1 +1 @@
1.16.2--e9c8bd97c3d95b61e87a7bea867e5e65317e13c1
1.16.2--eac1013351d06899b39e1a319254c814a400fd2b

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Tuinity Server Changes
diff --git a/pom.xml b/pom.xml
index 594ab9afb..ee19a2874 100644
index 594ab9afbd..ee19a28744 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,11 +1,11 @@
@@ -65,7 +65,7 @@ index 594ab9afb..ee19a2874 100644
</configuration>
<executions>
diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
index dd0722397..85b25eace 100644
index dd07223978..85b25eace7 100644
--- a/src/main/java/co/aikar/timings/MinecraftTimings.java
+++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
@@ -43,6 +43,9 @@ public final class MinecraftTimings {
@@ -79,7 +79,7 @@ index dd0722397..85b25eace 100644
private MinecraftTimings() {}
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
index e33e889c2..5dfa06588 100644
index e33e889c29..5dfa065883 100644
--- a/src/main/java/co/aikar/timings/TimingsExport.java
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
@@ -229,7 +229,8 @@ public class TimingsExport extends Thread {
@@ -93,7 +93,7 @@ index e33e889c2..5dfa06588 100644
new TimingsExport(listeners, parent, history).start();
diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
index 49a38c660..255bbd6e4 100644
index 49a38c6608..255bbd6e48 100644
--- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
+++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
@@ -24,8 +24,8 @@ public class PaperVersionFetcher implements VersionFetcher {
@@ -124,7 +124,7 @@ index 49a38c660..255bbd6e4 100644
switch (distance) {
case -1:
diff --git a/src/main/java/com/destroystokyo/paper/server/ticklist/PaperTickList.java b/src/main/java/com/destroystokyo/paper/server/ticklist/PaperTickList.java
index e7624948e..77df68888 100644
index e7624948ea..77df688880 100644
--- a/src/main/java/com/destroystokyo/paper/server/ticklist/PaperTickList.java
+++ b/src/main/java/com/destroystokyo/paper/server/ticklist/PaperTickList.java
@@ -186,6 +186,7 @@ public final class PaperTickList<T> extends TickListServer<T> { // extend to avo
@@ -209,7 +209,7 @@ index e7624948e..77df68888 100644
diff --git a/src/main/java/com/tuinity/tuinity/chunk/SingleThreadChunkRegionManager.java b/src/main/java/com/tuinity/tuinity/chunk/SingleThreadChunkRegionManager.java
new file mode 100644
index 000000000..f599725e1
index 0000000000..f599725e17
--- /dev/null
+++ b/src/main/java/com/tuinity/tuinity/chunk/SingleThreadChunkRegionManager.java
@@ -0,0 +1,329 @@
@@ -545,7 +545,7 @@ index 000000000..f599725e1
\ No newline at end of file
diff --git a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
new file mode 100644
index 000000000..996be9b7f
index 0000000000..996be9b7f1
--- /dev/null
+++ b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
@@ -0,0 +1,273 @@
@@ -825,7 +825,7 @@ index 000000000..996be9b7f
\ No newline at end of file
diff --git a/src/main/java/com/tuinity/tuinity/util/CachedLists.java b/src/main/java/com/tuinity/tuinity/util/CachedLists.java
new file mode 100644
index 000000000..a54f516ba
index 0000000000..a54f516ba7
--- /dev/null
+++ b/src/main/java/com/tuinity/tuinity/util/CachedLists.java
@@ -0,0 +1,53 @@
@@ -884,7 +884,7 @@ index 000000000..a54f516ba
+}
diff --git a/src/main/java/com/tuinity/tuinity/util/TickThread.java b/src/main/java/com/tuinity/tuinity/util/TickThread.java
new file mode 100644
index 000000000..08ed24325
index 0000000000..08ed243259
--- /dev/null
+++ b/src/main/java/com/tuinity/tuinity/util/TickThread.java
@@ -0,0 +1,41 @@
@@ -932,7 +932,7 @@ index 000000000..08ed24325
\ No newline at end of file
diff --git a/src/main/java/com/tuinity/tuinity/util/maplist/IteratorSafeOrderedReferenceSet.java b/src/main/java/com/tuinity/tuinity/util/maplist/IteratorSafeOrderedReferenceSet.java
new file mode 100644
index 000000000..b0f1e21e6
index 0000000000..b0f1e21e6e
--- /dev/null
+++ b/src/main/java/com/tuinity/tuinity/util/maplist/IteratorSafeOrderedReferenceSet.java
@@ -0,0 +1,271 @@
@@ -1209,7 +1209,7 @@ index 000000000..b0f1e21e6
+}
diff --git a/src/main/java/com/tuinity/tuinity/voxel/AABBVoxelShape.java b/src/main/java/com/tuinity/tuinity/voxel/AABBVoxelShape.java
new file mode 100644
index 000000000..56b955227
index 0000000000..56b955227f
--- /dev/null
+++ b/src/main/java/com/tuinity/tuinity/voxel/AABBVoxelShape.java
@@ -0,0 +1,237 @@
@@ -1451,7 +1451,7 @@ index 000000000..56b955227
+ }
+}
diff --git a/src/main/java/net/minecraft/server/AxisAlignedBB.java b/src/main/java/net/minecraft/server/AxisAlignedBB.java
index ed9b2f9ad..d54bf7140 100644
index ed9b2f9adf..d54bf71409 100644
--- a/src/main/java/net/minecraft/server/AxisAlignedBB.java
+++ b/src/main/java/net/minecraft/server/AxisAlignedBB.java
@@ -13,6 +13,119 @@ public class AxisAlignedBB {
@@ -1599,7 +1599,7 @@ index ed9b2f9ad..d54bf7140 100644
return d0 >= this.minX && d0 < this.maxX && d1 >= this.minY && d1 < this.maxY && d2 >= this.minZ && d2 < this.maxZ;
}
diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java
index 4d574f83a..f0e5ba3b2 100644
index 4d574f83af..f0e5ba3b24 100644
--- a/src/main/java/net/minecraft/server/BaseBlockPosition.java
+++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java
@@ -16,9 +16,9 @@ public class BaseBlockPosition implements Comparable<BaseBlockPosition> {
@@ -1635,7 +1635,7 @@ index 4d574f83a..f0e5ba3b2 100644
}
diff --git a/src/main/java/net/minecraft/server/BlockBase.java b/src/main/java/net/minecraft/server/BlockBase.java
index 440c959b1..82e07b357 100644
index 440c959b1c..82e07b357e 100644
--- a/src/main/java/net/minecraft/server/BlockBase.java
+++ b/src/main/java/net/minecraft/server/BlockBase.java
@@ -176,8 +176,8 @@ public abstract class BlockBase {
@@ -1758,7 +1758,7 @@ index 440c959b1..82e07b357 100644
public SoundEffectType getStepSound() {
diff --git a/src/main/java/net/minecraft/server/BlockChest.java b/src/main/java/net/minecraft/server/BlockChest.java
index 12a023044..9e5e6de52 100644
index 12a0230448..9e5e6de52e 100644
--- a/src/main/java/net/minecraft/server/BlockChest.java
+++ b/src/main/java/net/minecraft/server/BlockChest.java
@@ -195,7 +195,7 @@ public class BlockChest extends BlockChestAbstract<TileEntityChest> implements I
@@ -1771,7 +1771,7 @@ index 12a023044..9e5e6de52 100644
if (tileentity instanceof IInventory) {
InventoryUtils.dropInventory(world, blockposition, (IInventory) tileentity);
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
index 2d887af90..2291135ea 100644
index 2d887af902..2291135eae 100644
--- a/src/main/java/net/minecraft/server/BlockPosition.java
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
@@ -449,10 +449,10 @@ public class BlockPosition extends BaseBlockPosition {
@@ -1868,7 +1868,7 @@ index 2d887af90..2291135ea 100644
@Override
public BlockPosition immutableCopy() {
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 299d7d7a5..ac6e5e330 100644
index 299d7d7a55..ac6e5e3309 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -91,6 +91,56 @@ public class Chunk implements IChunkAccess {
@@ -2005,7 +2005,7 @@ index 299d7d7a5..ac6e5e330 100644
this.n[i].clear();
diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java
index 3c7b225ed..0c4aed5f5 100644
index 3c7b225edb..0c4aed5f5f 100644
--- a/src/main/java/net/minecraft/server/ChunkMapDistance.java
+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java
@@ -31,7 +31,7 @@ public abstract class ChunkMapDistance {
@@ -2174,7 +2174,7 @@ index 3c7b225ed..0c4aed5f5 100644
for (java.util.Iterator<Entry<ArraySetSorted<Ticket<?>>>> iterator = this.tickets.long2ObjectEntrySet().fastIterator(); iterator.hasNext();) {
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 45c142c22..6c41eb14d 100644
index 45c142c227..6c41eb14dd 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -22,6 +22,12 @@ import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; // Paper
@@ -2614,7 +2614,7 @@ index 45c142c22..6c41eb14d 100644
try {
boolean execChunkTask = com.destroystokyo.paper.io.chunk.ChunkTaskManager.pollChunkWaitQueue() || ChunkProviderServer.this.world.asyncChunkTaskManager.pollNextChunkTask(); // Paper
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index 335bb1dcb..e74d21048 100644
index 335bb1dcb7..e74d210489 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -24,6 +24,14 @@ public class ChunkRegionLoader {
@@ -2646,7 +2646,7 @@ index 335bb1dcb..e74d21048 100644
nbttagcompound1.setString("Status", ichunkaccess.getChunkStatus().d());
ChunkConverter chunkconverter = ichunkaccess.p();
diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java
index e52df8096..cebd808e2 100644
index e52df8096e..cebd808e27 100644
--- a/src/main/java/net/minecraft/server/ChunkSection.java
+++ b/src/main/java/net/minecraft/server/ChunkSection.java
@@ -96,6 +96,7 @@ public class ChunkSection {
@@ -2658,7 +2658,7 @@ index e52df8096..cebd808e2 100644
return this.nonEmptyBlockCount == 0;
}
diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java
index f6c9bdbf5..51ea295d6 100644
index f6c9bdbf52..51ea295d66 100644
--- a/src/main/java/net/minecraft/server/ChunkStatus.java
+++ b/src/main/java/net/minecraft/server/ChunkStatus.java
@@ -109,7 +109,7 @@ public class ChunkStatus {
@@ -2680,7 +2680,7 @@ index f6c9bdbf5..51ea295d6 100644
}
diff --git a/src/main/java/net/minecraft/server/DataBits.java b/src/main/java/net/minecraft/server/DataBits.java
index 26b48b5ff..353b61aa5 100644
index 26b48b5ffa..353b61aa57 100644
--- a/src/main/java/net/minecraft/server/DataBits.java
+++ b/src/main/java/net/minecraft/server/DataBits.java
@@ -52,6 +52,7 @@ public class DataBits {
@@ -2708,7 +2708,7 @@ index 26b48b5ff..353b61aa5 100644
//Validate.inclusiveBetween(0L, (long) (this.e - 1), (long) i); // Paper
int j = this.b(i);
diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
index 95ef96286..73163b417 100644
index 95ef962868..73163b417a 100644
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
@@ -163,6 +163,7 @@ public class DataPaletteBlock<T> implements DataPaletteExpandable<T> {
@@ -2720,7 +2720,7 @@ index 95ef96286..73163b417 100644
T t0 = this.h.a(this.a.a(i));
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 1c878265b..5907caa74 100644
index 1c878265be..5907caa742 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -170,6 +170,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@@ -2732,7 +2732,7 @@ index 1c878265b..5907caa74 100644
this.setPVP(dedicatedserverproperties.pvp);
this.setAllowFlight(dedicatedserverproperties.allowFlight);
diff --git a/src/main/java/net/minecraft/server/EULA.java b/src/main/java/net/minecraft/server/EULA.java
index 550232cb3..229c3b0f0 100644
index 550232cb38..229c3b0f0c 100644
--- a/src/main/java/net/minecraft/server/EULA.java
+++ b/src/main/java/net/minecraft/server/EULA.java
@@ -70,7 +70,7 @@ public class EULA {
@@ -2745,10 +2745,10 @@ index 550232cb3..229c3b0f0 100644
throwable = throwable1;
throw throwable1;
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index c87de4b5b..42dd8a0e3 100644
index 5dc8f87dae..6c0d8fdaf2 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -136,7 +136,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -137,7 +137,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public double D;
public double E;
public double F;
@@ -2757,7 +2757,7 @@ index c87de4b5b..42dd8a0e3 100644
public boolean noclip;
public float I;
protected final Random random;
@@ -207,6 +207,14 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -208,6 +208,14 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
// CraftBukkit end
@@ -2772,7 +2772,7 @@ index c87de4b5b..42dd8a0e3 100644
// Paper start - optimise entity tracking
final org.spigotmc.TrackingRange.TrackingRangeType trackingRangeType = org.spigotmc.TrackingRange.getTrackingRangeType(this);
@@ -222,6 +230,41 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -223,6 +231,41 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
// Paper end - optimise entity tracking
@@ -2814,7 +2814,7 @@ index c87de4b5b..42dd8a0e3 100644
public Entity(EntityTypes<?> entitytypes, World world) {
this.id = Entity.entityCount.incrementAndGet();
this.passengers = Lists.newArrayList();
@@ -590,7 +633,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -591,7 +634,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.onGround;
}
@@ -2854,7 +2854,7 @@ index c87de4b5b..42dd8a0e3 100644
if (this.noclip) {
this.a(this.getBoundingBox().c(vec3d));
this.recalcPosition();
@@ -618,7 +693,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -619,7 +694,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
// Paper end
vec3d = this.a(vec3d, enummovetype);
@@ -2863,7 +2863,7 @@ index c87de4b5b..42dd8a0e3 100644
if (vec3d1.g() > 1.0E-7D) {
this.a(this.getBoundingBox().c(vec3d1));
@@ -734,6 +809,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -735,6 +810,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.world.getMethodProfiler().exit();
}
@@ -2877,7 +2877,7 @@ index c87de4b5b..42dd8a0e3 100644
}
protected BlockPosition ao() {
@@ -814,6 +896,132 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -815,6 +897,132 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return d0;
}
@@ -3010,7 +3010,7 @@ index c87de4b5b..42dd8a0e3 100644
private Vec3D g(Vec3D vec3d) {
AxisAlignedBB axisalignedbb = this.getBoundingBox();
VoxelShapeCollision voxelshapecollision = VoxelShapeCollision.a(this);
@@ -849,6 +1057,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -850,6 +1058,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return vec3d1;
}
@@ -3018,7 +3018,7 @@ index c87de4b5b..42dd8a0e3 100644
public static double c(Vec3D vec3d) {
return vec3d.x * vec3d.x + vec3d.z * vec3d.z;
}
@@ -1928,11 +2137,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1929,11 +2138,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return EnumInteractionResult.PASS;
}
@@ -3034,7 +3034,7 @@ index c87de4b5b..42dd8a0e3 100644
return false;
}
@@ -3257,12 +3468,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -3270,12 +3481,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.locBlock;
}
@@ -3051,7 +3051,7 @@ index c87de4b5b..42dd8a0e3 100644
}
public void setMot(double d0, double d1, double d2) {
@@ -3317,7 +3532,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -3330,7 +3545,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
// Paper end
if (this.loc.x != d0 || this.loc.y != d1 || this.loc.z != d2) {
@@ -3062,7 +3062,7 @@ index c87de4b5b..42dd8a0e3 100644
int j = MathHelper.floor(d1);
int k = MathHelper.floor(d2);
diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java
index 314886398..79de11ce2 100644
index 3148863984..79de11ce2f 100644
--- a/src/main/java/net/minecraft/server/EntityCat.java
+++ b/src/main/java/net/minecraft/server/EntityCat.java
@@ -292,7 +292,7 @@ public class EntityCat extends EntityTameableAnimal {
@@ -3075,7 +3075,7 @@ index 314886398..79de11ce2 100644
this.setPersistent();
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index b92e74349..aba9f08db 100644
index b92e74349b..aba9f08db6 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2835,7 +2835,11 @@ public abstract class EntityLiving extends Entity {
@@ -3102,7 +3102,7 @@ index b92e74349..aba9f08db 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
index 831298e3b..7ab013058 100644
index 831298e3bb..7ab0130584 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -74,6 +74,7 @@ public class EntityTrackerEntry {
@@ -3114,7 +3114,7 @@ index 831298e3b..7ab013058 100644
if (!list.equals(this.p)) {
diff --git a/src/main/java/net/minecraft/server/Fluid.java b/src/main/java/net/minecraft/server/Fluid.java
index 05fa52c0b..8ffc5db50 100644
index 05fa52c0b1..8ffc5db509 100644
--- a/src/main/java/net/minecraft/server/Fluid.java
+++ b/src/main/java/net/minecraft/server/Fluid.java
@@ -9,8 +9,12 @@ public final class Fluid extends IBlockDataHolder<FluidType, Fluid> {
@@ -3140,7 +3140,7 @@ index 05fa52c0b..8ffc5db50 100644
public float getHeight(IBlockAccess iblockaccess, BlockPosition blockposition) {
diff --git a/src/main/java/net/minecraft/server/HeightMap.java b/src/main/java/net/minecraft/server/HeightMap.java
index 068b92c5c..a43c4ca3e 100644
index 068b92c5c4..a43c4ca3ea 100644
--- a/src/main/java/net/minecraft/server/HeightMap.java
+++ b/src/main/java/net/minecraft/server/HeightMap.java
@@ -19,7 +19,25 @@ public class HeightMap {
@@ -3224,7 +3224,7 @@ index 068b92c5c..a43c4ca3e 100644
this.i = heightmap_use;
this.j = predicate;
diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java
index 10a5901db..911750476 100644
index 10a5901db1..9117504767 100644
--- a/src/main/java/net/minecraft/server/IBlockData.java
+++ b/src/main/java/net/minecraft/server/IBlockData.java
@@ -8,6 +8,19 @@ public class IBlockData extends BlockBase.BlockData {
@@ -3248,7 +3248,7 @@ index 10a5901db..911750476 100644
super(block, immutablemap, mapcodec);
}
diff --git a/src/main/java/net/minecraft/server/IChunkLoader.java b/src/main/java/net/minecraft/server/IChunkLoader.java
index 582a5695b..5601088cd 100644
index 582a5695ba..5601088cd5 100644
--- a/src/main/java/net/minecraft/server/IChunkLoader.java
+++ b/src/main/java/net/minecraft/server/IChunkLoader.java
@@ -21,7 +21,7 @@ public class IChunkLoader implements AutoCloseable {
@@ -3261,7 +3261,7 @@ index 582a5695b..5601088cd 100644
// Paper - nuke IOWorker
}
diff --git a/src/main/java/net/minecraft/server/ICollisionAccess.java b/src/main/java/net/minecraft/server/ICollisionAccess.java
index 25e54a1fa..b66c802d5 100644
index 25e54a1fad..b66c802d5e 100644
--- a/src/main/java/net/minecraft/server/ICollisionAccess.java
+++ b/src/main/java/net/minecraft/server/ICollisionAccess.java
@@ -46,6 +46,11 @@ public interface ICollisionAccess extends IBlockAccess {
@@ -3277,7 +3277,7 @@ index 25e54a1fa..b66c802d5 100644
return this.d(entity, axisalignedbb, predicate).allMatch(VoxelShape::isEmpty);
} finally { if (entity != null) entity.collisionLoadChunks = false; } // Paper
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
index 1cb8ba7cd..882b82d89 100644
index 1cb8ba7cd2..882b82d895 100644
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
@@ -52,16 +52,26 @@ public interface IEntityAccess {
@@ -3319,7 +3319,7 @@ index 1cb8ba7cd..882b82d89 100644
}
diff --git a/src/main/java/net/minecraft/server/LightEngineStorage.java b/src/main/java/net/minecraft/server/LightEngineStorage.java
index b98e60772..e0bbfe142 100644
index b98e60772b..e0bbfe1422 100644
--- a/src/main/java/net/minecraft/server/LightEngineStorage.java
+++ b/src/main/java/net/minecraft/server/LightEngineStorage.java
@@ -23,7 +23,8 @@ public abstract class LightEngineStorage<M extends LightEngineStorageArray<M>> e
@@ -3351,7 +3351,7 @@ index b98e60772..e0bbfe142 100644
while (objectiterator.hasNext()) {
entry = (Entry) objectiterator.next();
diff --git a/src/main/java/net/minecraft/server/LightEngineThreaded.java b/src/main/java/net/minecraft/server/LightEngineThreaded.java
index ec8498c3d..ceaa92400 100644
index ec8498c3db..ceaa924006 100644
--- a/src/main/java/net/minecraft/server/LightEngineThreaded.java
+++ b/src/main/java/net/minecraft/server/LightEngineThreaded.java
@@ -20,7 +20,7 @@ public class LightEngineThreaded extends LightEngine implements AutoCloseable {
@@ -3364,7 +3364,7 @@ index ec8498c3d..ceaa92400 100644
return false;
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index bbe793ca3..615a71a78 100644
index bbe793ca36..615a71a78c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -985,7 +985,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -3557,7 +3557,7 @@ index bbe793ca3..615a71a78 100644
public CrashReport b(CrashReport crashreport) {
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
index a85154aa2..94533e416 100644
index a85154aa21..94533e416f 100644
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
@@ -21,7 +21,7 @@ public abstract class NavigationAbstract {
@@ -3593,7 +3593,7 @@ index a85154aa2..94533e416 100644
Vec3D vec3d = new Vec3D(((double) pathpoint.a + this.a.locX()) / 2.0D, ((double) pathpoint.b + this.a.locY()) / 2.0D, ((double) pathpoint.c + this.a.locZ()) / 2.0D);
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index 48fc9f400..66f239040 100644
index 48fc9f4005..66f2390402 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -71,6 +71,39 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@@ -3713,7 +3713,7 @@ index 48fc9f400..66f239040 100644
}
return true;
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
index 5094a5d6f..72fdbf153 100644
index 5094a5d6fb..72fdbf1534 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
@@ -19,7 +19,7 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
@@ -3858,7 +3858,7 @@ index 5094a5d6f..72fdbf153 100644
}
}
diff --git a/src/main/java/net/minecraft/server/PathfinderNormal.java b/src/main/java/net/minecraft/server/PathfinderNormal.java
index a0555b132..9caf6598f 100644
index a0555b132d..9caf6598f8 100644
--- a/src/main/java/net/minecraft/server/PathfinderNormal.java
+++ b/src/main/java/net/minecraft/server/PathfinderNormal.java
@@ -475,7 +475,7 @@ public class PathfinderNormal extends PathfinderAbstract {
@@ -3880,10 +3880,10 @@ index a0555b132..9caf6598f 100644
return fluid.a((Tag) TagsFluid.WATER) ? PathType.WATER : (fluid.a((Tag) TagsFluid.LAVA) ? PathType.LAVA : (a(iblockdata) ? PathType.DAMAGE_FIRE : (BlockDoor.l(iblockdata) && !(Boolean) iblockdata.get(BlockDoor.OPEN) ? PathType.DOOR_WOOD_CLOSED : (block instanceof BlockDoor && material == Material.ORE && !(Boolean) iblockdata.get(BlockDoor.OPEN) ? PathType.DOOR_IRON_CLOSED : (block instanceof BlockDoor && (Boolean) iblockdata.get(BlockDoor.OPEN) ? PathType.DOOR_OPEN : (block instanceof BlockMinecartTrackAbstract ? PathType.RAIL : (block instanceof BlockLeaves ? PathType.LEAVES : (!block.a((Tag) TagsBlock.FENCES) && !block.a((Tag) TagsBlock.WALLS) && (!(block instanceof BlockFenceGate) || (Boolean) iblockdata.get(BlockFenceGate.OPEN)) ? (!iblockdata.a(iblockaccess, blockposition, PathMode.LAND) ? PathType.BLOCKED : PathType.OPEN) : PathType.FENCE))))))));
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
index 92a5a5cef..9f1dd6e1a 100644
index 835320bde4..577f0a234b 100644
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
@@ -501,6 +501,7 @@ public class PlayerChunk {
@@ -502,6 +502,7 @@ public class PlayerChunk {
// Paper end - per player view distance
}
@@ -3891,7 +3891,7 @@ index 92a5a5cef..9f1dd6e1a 100644
public CompletableFuture<Either<IChunkAccess, PlayerChunk.Failure>> a(ChunkStatus chunkstatus, PlayerChunkMap playerchunkmap) {
int i = chunkstatus.c();
CompletableFuture<Either<IChunkAccess, PlayerChunk.Failure>> completablefuture = (CompletableFuture) this.statusFutures.get(i);
@@ -556,6 +557,7 @@ public class PlayerChunk {
@@ -557,6 +558,7 @@ public class PlayerChunk {
}
protected void a(PlayerChunkMap playerchunkmap) {
@@ -3899,7 +3899,7 @@ index 92a5a5cef..9f1dd6e1a 100644
ChunkStatus chunkstatus = getChunkStatus(this.oldTicketLevel);
ChunkStatus chunkstatus1 = getChunkStatus(this.ticketLevel);
boolean flag = this.oldTicketLevel <= PlayerChunkMap.GOLDEN_TICKET;
@@ -565,7 +567,8 @@ public class PlayerChunk {
@@ -566,7 +568,8 @@ public class PlayerChunk {
// CraftBukkit start
// ChunkUnloadEvent: Called before the chunk is unloaded: isChunkLoaded is still true and chunk can still be modified by plugins.
if (playerchunk_state.isAtLeast(PlayerChunk.State.BORDER) && !playerchunk_state1.isAtLeast(PlayerChunk.State.BORDER)) {
@@ -3909,7 +3909,7 @@ index 92a5a5cef..9f1dd6e1a 100644
Chunk chunk = (Chunk)either.left().orElse(null);
if (chunk != null) {
playerchunkmap.callbackExecutor.execute(() -> {
@@ -630,7 +633,8 @@ public class PlayerChunk {
@@ -631,7 +634,8 @@ public class PlayerChunk {
if (!flag2 && flag3) {
// Paper start - cache ticking ready status
int expectCreateCount = ++this.fullChunkCreateCount;
@@ -3919,7 +3919,7 @@ index 92a5a5cef..9f1dd6e1a 100644
if (either.left().isPresent() && PlayerChunk.this.fullChunkCreateCount == expectCreateCount) {
// note: Here is a very good place to add callbacks to logic waiting on this.
Chunk fullChunk = either.left().get();
@@ -661,7 +665,8 @@ public class PlayerChunk {
@@ -662,7 +666,8 @@ public class PlayerChunk {
if (!flag4 && flag5) {
// Paper start - cache ticking ready status
@@ -3929,7 +3929,7 @@ index 92a5a5cef..9f1dd6e1a 100644
if (either.left().isPresent()) {
// note: Here is a very good place to add callbacks to logic waiting on this.
Chunk tickingChunk = either.left().get();
@@ -692,12 +697,20 @@ public class PlayerChunk {
@@ -693,12 +698,20 @@ public class PlayerChunk {
}
// Paper start - cache ticking ready status
@@ -3952,7 +3952,7 @@ index 92a5a5cef..9f1dd6e1a 100644
@@ -709,6 +722,17 @@ public class PlayerChunk {
@@ -710,6 +723,17 @@ public class PlayerChunk {
if (flag6 && !flag7) {
this.entityTickingFuture.complete(PlayerChunk.UNLOADED_CHUNK); this.isEntityTickingReady = false; // Paper - cache chunk ticking stage
@@ -3970,7 +3970,7 @@ index 92a5a5cef..9f1dd6e1a 100644
this.entityTickingFuture = PlayerChunk.UNLOADED_CHUNK_FUTURE;
}
@@ -735,7 +759,8 @@ public class PlayerChunk {
@@ -736,7 +760,8 @@ public class PlayerChunk {
// CraftBukkit start
// ChunkLoadEvent: Called after the chunk is loaded: isChunkLoaded returns true and chunk is ready to be modified by plugins.
if (!playerchunk_state.isAtLeast(PlayerChunk.State.BORDER) && playerchunk_state1.isAtLeast(PlayerChunk.State.BORDER)) {
@@ -3981,7 +3981,7 @@ index 92a5a5cef..9f1dd6e1a 100644
if (chunk != null) {
playerchunkmap.callbackExecutor.execute(() -> {
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index 8a069cfcb..66d6c15ab 100644
index 8a069cfcbf..66d6c15ab9 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -121,31 +121,28 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -4204,7 +4204,7 @@ index 8a069cfcb..66d6c15ab 100644
// Paper end - optimised tracker
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index bc613281d..d32f423c5 100644
index bc613281d1..d32f423c5e 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -322,19 +322,24 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -4309,7 +4309,7 @@ index bc613281d..d32f423c5 100644
} else {
// CraftBukkit start - fire PlayerMoveEvent
diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
index 7ea293f38..e698dd226 100644
index 7ea293f38d..e698dd2260 100644
--- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
+++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
@@ -13,10 +13,30 @@ public class PlayerConnectionUtils {
@@ -4357,7 +4357,7 @@ index 7ea293f38..e698dd226 100644
});
throw CancelledPacketHandleException.INSTANCE;
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
index 6d192b274..f5de49e3e 100644
index 6d192b2744..f5de49e3e3 100644
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
@@ -21,14 +21,29 @@ public class PlayerInteractManager {
@@ -4492,7 +4492,7 @@ index 6d192b274..f5de49e3e 100644
this.player.playerConnection.sendPacket(new PacketPlayOutBlockChange(this.world, blockposition)); // CraftBukkit - SPIGOT-5196
}
diff --git a/src/main/java/net/minecraft/server/ProtoChunk.java b/src/main/java/net/minecraft/server/ProtoChunk.java
index 5b0cd414c..a3ac88350 100644
index 5b0cd414ca..a3ac883500 100644
--- a/src/main/java/net/minecraft/server/ProtoChunk.java
+++ b/src/main/java/net/minecraft/server/ProtoChunk.java
@@ -179,14 +179,11 @@ public class ProtoChunk implements IChunkAccess {
@@ -4528,7 +4528,7 @@ index 5b0cd414c..a3ac88350 100644
}
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
index 1751fb693..850673aa6 100644
index 1751fb6934..850673aa69 100644
--- a/src/main/java/net/minecraft/server/RegionFile.java
+++ b/src/main/java/net/minecraft/server/RegionFile.java
@@ -5,6 +5,7 @@ import java.io.BufferedInputStream;
@@ -5124,7 +5124,7 @@ index 1751fb693..850673aa6 100644
((java.nio.Buffer) this.g).position(0);
this.dataFile.write(this.g, 0L);
diff --git a/src/main/java/net/minecraft/server/RegionFileBitSet.java b/src/main/java/net/minecraft/server/RegionFileBitSet.java
index 1ebdf73cc..cfa3ecb03 100644
index 1ebdf73cc9..cfa3ecb031 100644
--- a/src/main/java/net/minecraft/server/RegionFileBitSet.java
+++ b/src/main/java/net/minecraft/server/RegionFileBitSet.java
@@ -4,18 +4,42 @@ import java.util.BitSet;
@@ -5172,7 +5172,7 @@ index 1ebdf73cc..cfa3ecb03 100644
int j = 0;
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
index d64f7ad92..33624f838 100644
index d64f7ad925..33624f838b 100644
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
@@ -15,12 +15,43 @@ public class RegionFileCache implements AutoCloseable { // Paper - no final
@@ -5263,7 +5263,7 @@ index d64f7ad92..33624f838 100644
}
diff --git a/src/main/java/net/minecraft/server/RegionFileCompression.java b/src/main/java/net/minecraft/server/RegionFileCompression.java
index 3382d678e..3b7894256 100644
index 3382d678e6..3b7894256d 100644
--- a/src/main/java/net/minecraft/server/RegionFileCompression.java
+++ b/src/main/java/net/minecraft/server/RegionFileCompression.java
@@ -13,7 +13,7 @@ import javax.annotation.Nullable;
@@ -5303,7 +5303,7 @@ index 3382d678e..3b7894256 100644
return (InputStream) this.f.wrap(inputstream);
}
diff --git a/src/main/java/net/minecraft/server/StructureManager.java b/src/main/java/net/minecraft/server/StructureManager.java
index f199368a6..2598ae371 100644
index f199368a6d..2598ae3710 100644
--- a/src/main/java/net/minecraft/server/StructureManager.java
+++ b/src/main/java/net/minecraft/server/StructureManager.java
@@ -35,8 +35,13 @@ public class StructureManager {
@@ -5336,7 +5336,7 @@ index f199368a6..2598ae371 100644
if (!flag) {
return structurestart;
diff --git a/src/main/java/net/minecraft/server/Ticket.java b/src/main/java/net/minecraft/server/Ticket.java
index e41cb8613..c19ffb925 100644
index e41cb8613e..c19ffb925a 100644
--- a/src/main/java/net/minecraft/server/Ticket.java
+++ b/src/main/java/net/minecraft/server/Ticket.java
@@ -5,17 +5,17 @@ import java.util.Objects;
@@ -5373,7 +5373,7 @@ index e41cb8613..c19ffb925 100644
return j != 0L && i - this.d > j;
}
diff --git a/src/main/java/net/minecraft/server/TicketType.java b/src/main/java/net/minecraft/server/TicketType.java
index 5c789b25f..4657b05a4 100644
index 5c789b25f1..4657b05a42 100644
--- a/src/main/java/net/minecraft/server/TicketType.java
+++ b/src/main/java/net/minecraft/server/TicketType.java
@@ -26,7 +26,8 @@ public class TicketType<T> {
@@ -5387,7 +5387,7 @@ index 5c789b25f..4657b05a4 100644
public static <T> TicketType<T> a(String s, Comparator<T> comparator) {
return new TicketType<>(s, comparator, 0L);
diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java
index 2484293b1..1496c43fc 100644
index 2484293b12..1496c43fc9 100644
--- a/src/main/java/net/minecraft/server/UserCache.java
+++ b/src/main/java/net/minecraft/server/UserCache.java
@@ -49,6 +49,11 @@ public class UserCache {
@@ -5472,7 +5472,7 @@ index 2484293b1..1496c43fc 100644
private static JsonElement a(UserCache.UserCacheEntry usercache_usercacheentry, DateFormat dateformat) {
diff --git a/src/main/java/net/minecraft/server/Vec3D.java b/src/main/java/net/minecraft/server/Vec3D.java
index 3048ba008..84858ba39 100644
index 3048ba0081..84858ba392 100644
--- a/src/main/java/net/minecraft/server/Vec3D.java
+++ b/src/main/java/net/minecraft/server/Vec3D.java
@@ -4,7 +4,7 @@ import java.util.EnumSet;
@@ -5506,7 +5506,7 @@ index 3048ba008..84858ba39 100644
return this.x * this.x + this.y * this.y + this.z * this.z;
}
diff --git a/src/main/java/net/minecraft/server/VillagePlace.java b/src/main/java/net/minecraft/server/VillagePlace.java
index b926cebd0..adacfce6f 100644
index b926cebd05..adacfce6f3 100644
--- a/src/main/java/net/minecraft/server/VillagePlace.java
+++ b/src/main/java/net/minecraft/server/VillagePlace.java
@@ -165,7 +165,7 @@ public class VillagePlace extends RegionFileSection<VillagePlaceSection> {
@@ -5519,7 +5519,7 @@ index b926cebd0..adacfce6f 100644
}
// Paper end
diff --git a/src/main/java/net/minecraft/server/VoxelShape.java b/src/main/java/net/minecraft/server/VoxelShape.java
index eb926b74e..700660dd9 100644
index eb926b74e1..700660dd93 100644
--- a/src/main/java/net/minecraft/server/VoxelShape.java
+++ b/src/main/java/net/minecraft/server/VoxelShape.java
@@ -8,11 +8,11 @@ import javax.annotation.Nullable;
@@ -5562,7 +5562,7 @@ index eb926b74e..700660dd9 100644
List<AxisAlignedBB> list = Lists.newArrayList();
diff --git a/src/main/java/net/minecraft/server/VoxelShapeArray.java b/src/main/java/net/minecraft/server/VoxelShapeArray.java
index 3c29cb145..43b0b4c34 100644
index 3c29cb1452..43b0b4c34c 100644
--- a/src/main/java/net/minecraft/server/VoxelShapeArray.java
+++ b/src/main/java/net/minecraft/server/VoxelShapeArray.java
@@ -3,6 +3,7 @@ package net.minecraft.server;
@@ -5669,7 +5669,7 @@ index 3c29cb145..43b0b4c34 100644
+ // Tuinity end - optimise multi-aabb shapes
}
diff --git a/src/main/java/net/minecraft/server/VoxelShapes.java b/src/main/java/net/minecraft/server/VoxelShapes.java
index e21c747b6..6667e699c 100644
index e21c747b6c..6667e699cc 100644
--- a/src/main/java/net/minecraft/server/VoxelShapes.java
+++ b/src/main/java/net/minecraft/server/VoxelShapes.java
@@ -17,18 +17,81 @@ public final class VoxelShapes {
@@ -5796,7 +5796,7 @@ index e21c747b6..6667e699c 100644
return voxelshape != b() && voxelshape1 != b() ? (voxelshape.isEmpty() && voxelshape1.isEmpty() ? false : !c(b(), b(voxelshape, voxelshape1, OperatorBoolean.OR), OperatorBoolean.ONLY_FIRST)) : true;
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 287db5203..4834f7569 100644
index 287db5203f..4834f7569a 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -74,8 +74,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -5898,7 +5898,7 @@ index 287db5203..4834f7569 100644
int j = MathHelper.floor((axisalignedbb.maxX + 2.0D) / 16.0D);
int k = MathHelper.floor((axisalignedbb.minZ - 2.0D) / 16.0D);
diff --git a/src/main/java/net/minecraft/server/WorldBorder.java b/src/main/java/net/minecraft/server/WorldBorder.java
index f01186988..f52132604 100644
index f011869880..f52132604a 100644
--- a/src/main/java/net/minecraft/server/WorldBorder.java
+++ b/src/main/java/net/minecraft/server/WorldBorder.java
@@ -47,11 +47,43 @@ public class WorldBorder {
@@ -5969,7 +5969,7 @@ index f01186988..f52132604 100644
return this.j.d();
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index a21ce4855..abc6b6548 100644
index 923efc17be..1ea026aeb4 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -51,12 +51,13 @@ import org.bukkit.event.server.MapInitializeEvent;
@@ -6591,7 +6591,7 @@ index a21ce4855..abc6b6548 100644
}
this.getMethodProfiler().exit();
@@ -1263,7 +1733,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1267,7 +1737,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
Entity entity = (Entity) iterator.next();
if (!(entity instanceof EntityPlayer)) {
@@ -6600,7 +6600,7 @@ index a21ce4855..abc6b6548 100644
throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!")));
}
@@ -1291,6 +1761,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1295,6 +1765,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
public void unregisterEntity(Entity entity) {
org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot
@@ -6608,7 +6608,7 @@ index a21ce4855..abc6b6548 100644
// Paper start - fix entity registration issues
if (entity instanceof EntityComplexPart) {
// Usually this is a no-op for complex parts, and ID's should be removed, but go ahead and remove it anyways
@@ -1357,17 +1828,108 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1361,17 +1832,108 @@ public class WorldServer extends World implements GeneratorAccessSeed {
this.getScoreboard().a(entity);
// CraftBukkit start - SPIGOT-5278
if (entity instanceof EntityDrowned) {
@@ -6720,7 +6720,7 @@ index a21ce4855..abc6b6548 100644
private void registerEntity(Entity entity) {
org.spigotmc.AsyncCatcher.catchOp("entity register"); // Spigot
// Paper start - don't double enqueue entity registration
@@ -1378,7 +1940,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1382,7 +1944,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
return;
}
// Paper end
@@ -6729,7 +6729,7 @@ index a21ce4855..abc6b6548 100644
if (!entity.isQueuedForRegister) { // Paper
this.entitiesToAdd.add(entity);
entity.isQueuedForRegister = true; // Paper
@@ -1386,6 +1948,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1390,6 +1952,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
} else {
entity.isQueuedForRegister = false; // Paper
this.entitiesById.put(entity.getId(), entity);
@@ -6737,7 +6737,7 @@ index a21ce4855..abc6b6548 100644
if (entity instanceof EntityEnderDragon) {
EntityComplexPart[] aentitycomplexpart = ((EntityEnderDragon) entity).eJ();
int i = aentitycomplexpart.length;
@@ -1394,6 +1957,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1398,6 +1961,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
EntityComplexPart entitycomplexpart = aentitycomplexpart[j];
this.entitiesById.put(entitycomplexpart.getId(), entitycomplexpart);
@@ -6745,7 +6745,7 @@ index a21ce4855..abc6b6548 100644
}
}
@@ -1418,12 +1982,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1422,12 +1986,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
// this.getChunkProvider().addEntity(entity); // Paper - moved down below valid=true
// CraftBukkit start - SPIGOT-5278
if (entity instanceof EntityDrowned) {
@@ -6765,7 +6765,7 @@ index a21ce4855..abc6b6548 100644
}
entity.valid = true; // CraftBukkit
this.getChunkProvider().addEntity(entity); // Paper - from above to be below valid=true
@@ -1439,7 +2007,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1443,7 +2011,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
}
public void removeEntity(Entity entity) {
@@ -6774,7 +6774,7 @@ index a21ce4855..abc6b6548 100644
throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!")));
} else {
this.removeEntityFromChunk(entity);
@@ -1540,8 +2108,26 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1544,8 +2112,26 @@ public class WorldServer extends World implements GeneratorAccessSeed {
VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition);
if (VoxelShapes.c(voxelshape, voxelshape1, OperatorBoolean.NOT_SAME)) {
@@ -6802,7 +6802,7 @@ index a21ce4855..abc6b6548 100644
while (iterator.hasNext()) {
NavigationAbstract navigationabstract = (NavigationAbstract) iterator.next();
@@ -1549,7 +2135,21 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1553,7 +2139,21 @@ public class WorldServer extends World implements GeneratorAccessSeed {
if (!navigationabstract.i()) {
navigationabstract.b(blockposition);
}
@@ -6826,7 +6826,7 @@ index a21ce4855..abc6b6548 100644
this.tickingEntities = wasTicking; // Paper
}
diff --git a/src/main/java/net/minecraft/server/WorldUpgrader.java b/src/main/java/net/minecraft/server/WorldUpgrader.java
index 5ccdc0b87..888dae2d5 100644
index 5ccdc0b87b..888dae2d5e 100644
--- a/src/main/java/net/minecraft/server/WorldUpgrader.java
+++ b/src/main/java/net/minecraft/server/WorldUpgrader.java
@@ -218,7 +218,7 @@ public class WorldUpgrader {
@@ -6839,7 +6839,7 @@ index 5ccdc0b87..888dae2d5 100644
try {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java b/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java
index ff8ba5457..ecedc167d 100644
index ff8ba54574..ecedc167db 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java
@@ -79,7 +79,7 @@ public class CraftChunkSnapshot implements ChunkSnapshot {
@@ -6852,7 +6852,7 @@ index ff8ba5457..ecedc167d 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 93c0afbfb..61e5a91a7 100644
index 93c0afbfba..61e5a91a74 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -230,7 +230,7 @@ import javax.annotation.Nullable; // Paper
@@ -6908,7 +6908,7 @@ index 93c0afbfb..61e5a91a7 100644
public void restart() {
org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index fe7e8d97a..2ac199f91 100644
index fe7e8d97a2..2ac199f91d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -336,6 +336,14 @@ public class CraftWorld implements World {
@@ -6960,7 +6960,7 @@ index fe7e8d97a..2ac199f91 100644
}, MinecraftServer.getServer());
}
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 082a35004..0db533858 100644
index 082a35004f..0db5338583 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -138,6 +138,13 @@ public class Main {
@@ -6987,7 +6987,7 @@ index 082a35004..0db533858 100644
//Thread.sleep(TimeUnit.SECONDS.toMillis(20));
// Paper End
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
index 733f2430d..6d1500cf1 100644
index 733f2430d4..6d1500cf13 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -210,7 +210,7 @@ public class CraftBlock implements Block {
@@ -7000,7 +7000,7 @@ index 733f2430d..6d1500cf1 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
index 0f89e7768..f24d42345 100644
index 0f89e77681..f24d423456 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
@@ -135,7 +135,7 @@ public class CraftBlockState implements BlockState {
@@ -7013,7 +7013,7 @@ index 0f89e7768..f24d42345 100644
public void setFlag(int flag) {
diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
index bbded5671..980890153 100644
index bbded5671e..9808901532 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
@@ -44,7 +44,7 @@ public class CraftBlockData implements BlockData {
@@ -7026,7 +7026,7 @@ index bbded5671..980890153 100644
public IBlockData getState() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index b1fdc5737..f1710a53f 100644
index b1fdc5737d..f1710a53fa 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -501,27 +501,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -7097,7 +7097,7 @@ index b1fdc5737..f1710a53f 100644
public boolean teleport(org.bukkit.entity.Entity destination) {
return teleport(destination.getLocation());
diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java
index 948a59217..ab43c97e8 100644
index 948a59217c..ab43c97e8f 100644
--- a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java
+++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java
@@ -73,7 +73,7 @@ public final class CraftChunkData implements ChunkGenerator.ChunkData {
@@ -7110,7 +7110,7 @@ index 948a59217..ab43c97e8 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncTask.java
index fd32d1450..c38e514b0 100644
index fd32d1450a..c38e514b00 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncTask.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncTask.java
@@ -25,6 +25,10 @@ class CraftAsyncTask extends CraftTask {
@@ -7133,7 +7133,7 @@ index fd32d1450..c38e514b0 100644
LinkedList<BukkitWorker> getWorkers() {
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
index ca2be3060..2c5701376 100644
index ca2be30609..2c57013765 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
@@ -100,9 +100,18 @@ public final class CraftScoreboardManager implements ScoreboardManager {
@@ -7156,7 +7156,7 @@ index ca2be3060..2c5701376 100644
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java b/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java
index f72c13bed..50f855b93 100644
index f72c13beda..50f855b931 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java
@@ -119,6 +119,32 @@ public class UnsafeList<E> extends AbstractList<E> implements List<E>, RandomAcc
@@ -7193,7 +7193,7 @@ index f72c13bed..50f855b93 100644
public void clear() {
// Create new array to reset memory usage to initial capacity
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 674096cab..001b1e519 100644
index 674096cab1..001b1e5197 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
@@ -11,7 +11,7 @@ public final class Versioning {
@@ -7206,7 +7206,7 @@ index 674096cab..001b1e519 100644
if (stream != null) {
diff --git a/src/main/java/org/spigotmc/AsyncCatcher.java b/src/main/java/org/spigotmc/AsyncCatcher.java
index 9f7d2ef93..c3ac1a46c 100644
index 9f7d2ef932..c3ac1a46c3 100644
--- a/src/main/java/org/spigotmc/AsyncCatcher.java
+++ b/src/main/java/org/spigotmc/AsyncCatcher.java
@@ -10,7 +10,7 @@ public class AsyncCatcher
@@ -7219,7 +7219,7 @@ index 9f7d2ef93..c3ac1a46c 100644
throw new IllegalStateException( "Asynchronous " + reason + "!" );
}
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
index 513c1041c..4d3109084 100644
index 513c1041c3..4d31090848 100644
--- a/src/main/java/org/spigotmc/WatchdogThread.java
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
@@ -61,6 +61,84 @@ public class WatchdogThread extends Thread

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Player invulnerabilities
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index b67611b11..2738194fc 100644
index 8638d46229..71d2a658d8 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -144,6 +144,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -39,7 +39,7 @@ index b67611b11..2738194fc 100644
return false;
} else {
if (damagesource instanceof EntityDamageSource) {
@@ -997,6 +1005,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -983,6 +991,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
// CraftBukkit end
}
@@ -67,7 +67,7 @@ index b67611b11..2738194fc 100644
public Scoreboard getScoreboard() {
return getBukkitEntity().getScoreboard().getHandle();
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 6c1438f7d..8fa91b8f5 100644
index 6c1438f7da..8fa91b8f59 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1572,6 +1572,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -79,7 +79,7 @@ index 6c1438f7d..8fa91b8f5 100644
this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), packStatus));
// Paper end
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index f9eb17cb6..75b0565df 100644
index f9eb17cb6e..75b0565df0 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -903,6 +903,8 @@ public abstract class PlayerList {
@@ -92,7 +92,7 @@ index f9eb17cb6..75b0565df 100644
return entityplayer1;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2578a4677..c441fcea9 100644
index 2578a4677d..c441fcea9b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -67,4 +67,11 @@ public class PurpurWorldConfig {
@@ -108,7 +108,7 @@ index 2578a4677..c441fcea9 100644
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 087cb11b5..eefb4bd74 100644
index 087cb11b5d..eefb4bd74b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2168,5 +2168,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Giants AI settings
diff --git a/src/main/java/net/minecraft/server/AttributeMapBase.java b/src/main/java/net/minecraft/server/AttributeMapBase.java
index c57e23e16..92aa104dc 100644
index c57e23e16b..92aa104dc5 100644
--- a/src/main/java/net/minecraft/server/AttributeMapBase.java
+++ b/src/main/java/net/minecraft/server/AttributeMapBase.java
@@ -41,6 +41,7 @@ public class AttributeMapBase {
@@ -17,10 +17,10 @@ index c57e23e16..92aa104dc 100644
public AttributeModifiable a(AttributeBase attributebase) {
return (AttributeModifiable) this.b.computeIfAbsent(attributebase, (attributebase1) -> {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 42dd8a0e3..2ea06a85f 100644
index 6c0d8fdaf2..fa60014088 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -136,7 +136,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -137,7 +137,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public double D;
public double E;
public double F;
@@ -30,7 +30,7 @@ index 42dd8a0e3..2ea06a85f 100644
public float I;
protected final Random random;
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
index 9f4f56c47..8dce2aad7 100644
index 9f4f56c47e..8dce2aad77 100644
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
@@ -4,9 +4,68 @@ public class EntityGiantZombie extends EntityMonster {
@@ -112,7 +112,7 @@ index 9f4f56c47..8dce2aad7 100644
}
}
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 36df27024..b7fcade36 100644
index 36df27024c..b7fcade369 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -939,6 +939,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -146,7 +146,7 @@ index 36df27024..b7fcade36 100644
return false;
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 17128d5aa..82cf853ab 100644
index 17128d5aae..82cf853ab3 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2148,7 +2148,7 @@ public abstract class EntityLiving extends Entity {
@@ -159,7 +159,7 @@ index 17128d5aa..82cf853ab 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 88e271574..b1aca6526 100644
index 88e2715744..b1aca65267 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -106,6 +106,23 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cat spawning options
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
index 90c37e4a8..7a42feb16 100644
index 90c37e4a8e..7a42feb16e 100644
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
@@ -44,6 +44,7 @@ public interface IEntityAccess {
@@ -17,7 +17,7 @@ index 90c37e4a8..7a42feb16 100644
return this.a(oclass, axisalignedbb, IEntitySelector.g);
}
diff --git a/src/main/java/net/minecraft/server/MobSpawnerCat.java b/src/main/java/net/minecraft/server/MobSpawnerCat.java
index 5e17868a7..6d0ebd8af 100644
index 5e17868a76..6d0ebd8afe 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerCat.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerCat.java
@@ -16,7 +16,7 @@ public class MobSpawnerCat implements MobSpawner {
@@ -62,7 +62,7 @@ index 5e17868a7..6d0ebd8af 100644
}
diff --git a/src/main/java/net/minecraft/server/VillagePlace.java b/src/main/java/net/minecraft/server/VillagePlace.java
index adacfce6f..21e401acd 100644
index adacfce6f3..21e401acd7 100644
--- a/src/main/java/net/minecraft/server/VillagePlace.java
+++ b/src/main/java/net/minecraft/server/VillagePlace.java
@@ -45,6 +45,7 @@ public class VillagePlace extends RegionFileSection<VillagePlaceSection> {
@@ -74,7 +74,7 @@ index adacfce6f..21e401acd 100644
return this.c(predicate, blockposition, i, villageplace_occupancy).count();
}
diff --git a/src/main/java/net/minecraft/server/VillagePlaceType.java b/src/main/java/net/minecraft/server/VillagePlaceType.java
index a5718af9b..b6b4c8c49 100644
index a5718af9b6..b6b4c8c491 100644
--- a/src/main/java/net/minecraft/server/VillagePlaceType.java
+++ b/src/main/java/net/minecraft/server/VillagePlaceType.java
@@ -44,7 +44,7 @@ public class VillagePlaceType {
@@ -95,10 +95,10 @@ index a5718af9b..b6b4c8c49 100644
return this.E;
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 699a03a9e..004cc8616 100644
index b0b49c866c..72958601e6 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -2530,6 +2530,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -2534,6 +2534,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
}
}
@@ -107,7 +107,7 @@ index 699a03a9e..004cc8616 100644
return this.getChunkProvider().j();
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b41d4959c..55e609cc1 100644
index b41d4959c1..55e609cc1c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -111,6 +111,15 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Cows eat mushrooms
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 2ea06a85f..5fc69bc95 100644
index fa60014088..74d26aad1d 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -2723,6 +2723,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2724,6 +2724,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.invulnerable = flag;
}
@@ -17,7 +17,7 @@ index 2ea06a85f..5fc69bc95 100644
this.setPositionRotation(entity.locX(), entity.locY(), entity.locZ(), entity.yaw, entity.pitch);
}
diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java
index 42e6761c8..cfb009c81 100644
index 42e6761c8b..cfb009c811 100644
--- a/src/main/java/net/minecraft/server/EntityCow.java
+++ b/src/main/java/net/minecraft/server/EntityCow.java
@@ -16,6 +16,7 @@ public class EntityCow extends EntityAnimal {
@@ -110,7 +110,7 @@ index 42e6761c8..cfb009c81 100644
public EntityCow createChild(WorldServer worldserver, EntityAgeable entityageable) {
return (EntityCow) EntityTypes.COW.a((World) worldserver);
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 82cf853ab..5e9849a46 100644
index 82cf853ab3..5e9849a466 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -80,7 +80,7 @@ public abstract class EntityLiving extends Entity {
@@ -123,7 +123,7 @@ index 82cf853ab..5e9849a46 100644
public float aC;
public float aD;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 55e609cc1..3d78ac90c 100644
index 55e609cc1c..3d78ac90c1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -125,6 +125,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix the dead lagging the server
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 5fc69bc95..179e470fe 100644
index 74d26aad1d..8bc2e7c988 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1500,6 +1500,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1501,6 +1501,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.pitch = MathHelper.a(f1, -90.0F, 90.0F) % 360.0F;
this.lastYaw = this.yaw;
this.lastPitch = this.pitch;
@@ -17,7 +17,7 @@ index 5fc69bc95..179e470fe 100644
public void f(double d0, double d1, double d2) {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 618faae95..51b2aa3e2 100644
index 618faae958..51b2aa3e20 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2466,7 +2466,7 @@ public abstract class EntityLiving extends Entity {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index f3e9c8460..40fad381e 100644
index e208190073..305b63b295 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -611,7 +611,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -612,7 +612,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
// Paper start
protected void performVoidDamage() {
@@ -18,7 +18,7 @@ index f3e9c8460..40fad381e 100644
&& this.locY() >= world.paperConfig.netherVoidTopDamageHeight)) {
this.doVoidDamage();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6ac786206..a071129db 100644
index 6ac7862063..a071129db0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -115,12 +115,14 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 40fad381e..db7ac28da 100644
index 305b63b295..b3a28d1b8d 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1691,6 +1691,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1692,6 +1692,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
public boolean isCollidable() {
@@ -22,7 +22,7 @@ index 40fad381e..db7ac28da 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
index eb32abc5d..6a505b3b0 100644
index eb32abc5d1..6a505b3b04 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -320,7 +320,7 @@ public class EntityArmorStand extends EntityLiving {
@@ -35,7 +35,7 @@ index eb32abc5d..6a505b3b0 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java
index a726dd676..b84aa1db8 100644
index a726dd6768..b84aa1db83 100644
--- a/src/main/java/net/minecraft/server/EntityBat.java
+++ b/src/main/java/net/minecraft/server/EntityBat.java
@@ -50,7 +50,7 @@ public class EntityBat extends EntityAmbient {
@@ -48,7 +48,7 @@ index a726dd676..b84aa1db8 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
index 0f25d7cd6..5887b7a26 100644
index 0f25d7cd61..5887b7a26e 100644
--- a/src/main/java/net/minecraft/server/EntityBoat.java
+++ b/src/main/java/net/minecraft/server/EntityBoat.java
@@ -106,7 +106,7 @@ public class EntityBoat extends Entity {
@@ -61,7 +61,7 @@ index 0f25d7cd6..5887b7a26 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
index da79c7e63..8cfbf8abf 100644
index da79c7e631..8cfbf8abf6 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -165,7 +165,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -74,7 +74,7 @@ index da79c7e63..8cfbf8abf 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 51b2aa3e2..9398fa680 100644
index 51b2aa3e20..9398fa6801 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2854,7 +2854,7 @@ public abstract class EntityLiving extends Entity {
@@ -98,7 +98,7 @@ index 51b2aa3e2..9398fa680 100644
// CraftBukkit start - collidable API
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
index d5e129678..5e64ca8a0 100644
index d5e129678d..5e64ca8a03 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
@@ -107,7 +107,7 @@ public abstract class EntityMinecartAbstract extends Entity {
@@ -111,7 +111,7 @@ index d5e129678..5e64ca8a0 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java
index 34e08dda2..6bb73f869 100644
index 34e08dda2e..6bb73f869b 100644
--- a/src/main/java/net/minecraft/server/EntityParrot.java
+++ b/src/main/java/net/minecraft/server/EntityParrot.java
@@ -314,8 +314,8 @@ public class EntityParrot extends EntityPerchable implements EntityBird {
@@ -126,7 +126,7 @@ index 34e08dda2..6bb73f869 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 47f48d3b7..e524705bf 100644
index 65c241d88e..9b6e356bb3 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1771,8 +1771,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -141,7 +141,7 @@ index 47f48d3b7..e524705bf 100644
// Purpur end
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
index 939535cb2..70eb26304 100644
index 939535cb22..70eb26304d 100644
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
@@ -45,11 +45,17 @@ public final class IEntitySelector {
@@ -164,7 +164,7 @@ index 939535cb2..70eb26304 100644
} else if (entity.world.isClientSide && (!(entity1 instanceof EntityHuman) || !((EntityHuman) entity1).ey())) {
return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a9b1a130b..860e25dfd 100644
index a9b1a130be..860e25dfd8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -114,6 +114,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add item entity options
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index db7ac28da..7be48b0b7 100644
index b3a28d1b8d..7b3ea5c741 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1449,6 +1449,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1450,6 +1450,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
@@ -17,7 +17,7 @@ index db7ac28da..7be48b0b7 100644
return this.O == tag;
}
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index e1372620f..d22021cfb 100644
index e1372620fc..d22021cfb8 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -263,7 +263,7 @@ public class EntityItem extends Entity {
@@ -39,7 +39,7 @@ index e1372620f..d22021cfb 100644
// CraftBukkit start
if (org.bukkit.craftbukkit.event.CraftEventFactory.handleNonLivingEntityDamageEvent(this, damagesource, f)) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d1b0d4030..9de724686 100644
index d1b0d40307..9de7246862 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -99,6 +99,21 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
diff --git a/src/main/java/net/minecraft/server/DamageSource.java b/src/main/java/net/minecraft/server/DamageSource.java
index 6fe5678cf..bd0267ee4 100644
index 6fe5678cff..bd0267ee4b 100644
--- a/src/main/java/net/minecraft/server/DamageSource.java
+++ b/src/main/java/net/minecraft/server/DamageSource.java
@@ -88,6 +88,7 @@ public class DamageSource {
@@ -17,10 +17,10 @@ index 6fe5678cf..bd0267ee4 100644
return (new EntityDamageSourceIndirect("indirectMagic", entity, entity1)).setIgnoreArmor().setMagic();
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 7be48b0b7..bf17d9daf 100644
index 7b3ea5c741..26cefeb23c 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1567,6 +1567,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1568,6 +1568,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return d3 * d3 + d4 * d4 + d5 * d5;
}
@@ -28,7 +28,7 @@ index 7be48b0b7..bf17d9daf 100644
public double h(Entity entity) {
return this.e(entity.getPositionVector());
}
@@ -2094,8 +2095,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2095,8 +2096,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.a(new ItemStack(imaterial), (float) i);
}
@@ -40,7 +40,7 @@ index 7be48b0b7..bf17d9daf 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityEnderCrystal.java b/src/main/java/net/minecraft/server/EntityEnderCrystal.java
index faa82f652..f726a3585 100644
index faa82f6524..f726a3585f 100644
--- a/src/main/java/net/minecraft/server/EntityEnderCrystal.java
+++ b/src/main/java/net/minecraft/server/EntityEnderCrystal.java
@@ -13,6 +13,12 @@ public class EntityEnderCrystal extends Entity {
@@ -108,7 +108,7 @@ index faa82f652..f726a3585 100644
@Override
protected void saveData(NBTTagCompound nbttagcompound) {
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
index 550f80bfd..b3616185d 100644
index 550f80bfdb..b3616185d2 100644
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
@@ -9,9 +9,10 @@ import javax.annotation.Nullable;
@@ -329,7 +329,7 @@ index 550f80bfd..b3616185d 100644
return entityliving != null ? EntityPhantom.this.a(EntityPhantom.this.getGoalTarget(), PathfinderTargetCondition.a) : false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3e067c832..f2ca515c9 100644
index 3e067c832f..f2ca515c9b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -324,6 +324,15 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index bf17d9daf..c827e4628 100644
index 26cefeb23c..26a08b9520 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -3381,8 +3381,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -3394,8 +3394,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.lastYaw = this.yaw;
}
@@ -24,7 +24,7 @@ index bf17d9daf..c827e4628 100644
int j = MathHelper.f(axisalignedbb.maxX);
int k = MathHelper.floor(axisalignedbb.minY);
diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java
index 03d707ed0..028a7fe2c 100644
index 03d707ed09..028a7fe2cd 100644
--- a/src/main/java/net/minecraft/server/EntitySquid.java
+++ b/src/main/java/net/minecraft/server/EntitySquid.java
@@ -25,6 +25,14 @@ public class EntitySquid extends EntityWaterAnimal {
@@ -43,7 +43,7 @@ index 03d707ed0..028a7fe2c 100644
protected void initPathfinder() {
this.goalSelector.a(0, new EntitySquid.PathfinderGoalSquid(this));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6329b1c50..421781136 100644
index 6329b1c507..421781136c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -476,8 +476,10 @@ public class PurpurWorldConfig {

View File

@@ -161,10 +161,10 @@ index bd0267ee4b..8b36ac2b09 100644
this.B = true;
return this;
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index c827e4628c..6f5e43526a 100644
index 26a08b9520..6d01021e28 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -80,7 +80,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -81,7 +81,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper
private CraftEntity bukkitEntity;
@@ -173,7 +173,7 @@ index c827e4628c..6f5e43526a 100644
boolean collisionLoadChunks = false; // Paper
Throwable addedToWorldStack; // Paper - entity debug
public CraftEntity getBukkitEntity() {
@@ -105,7 +105,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -106,7 +106,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
private int id;
public boolean i; public final boolean blocksEntitySpawning() { return this.i; } // Paper - OBFHELPER
public final List<Entity> passengers;
@@ -182,7 +182,7 @@ index c827e4628c..6f5e43526a 100644
@Nullable
private Entity vehicle;
public boolean attachedToPlayer;
@@ -121,7 +121,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -122,7 +122,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public float lastYaw;
public float lastPitch;
private AxisAlignedBB boundingBox;
@@ -191,7 +191,7 @@ index c827e4628c..6f5e43526a 100644
public boolean positionChanged;
public boolean v;
public boolean velocityChanged;
@@ -2194,6 +2194,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2195,6 +2195,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.a(entity, false);
}
@@ -199,7 +199,7 @@ index c827e4628c..6f5e43526a 100644
public boolean a(Entity entity, boolean flag) {
for (Entity entity1 = entity; entity1.vehicle != null; entity1 = entity1.vehicle) {
if (entity1.vehicle == this) {
@@ -2289,6 +2290,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2290,6 +2291,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.passengers.add(entity);
}
@@ -213,7 +213,7 @@ index c827e4628c..6f5e43526a 100644
}
return true; // CraftBukkit
}
@@ -2329,6 +2337,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2330,6 +2338,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return false;
}
// Spigot end
@@ -226,7 +226,7 @@ index c827e4628c..6f5e43526a 100644
this.passengers.remove(entity);
entity.j = 60;
}
@@ -2494,6 +2508,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2495,6 +2509,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.setFlag(4, flag);
}
@@ -234,7 +234,7 @@ index c827e4628c..6f5e43526a 100644
public boolean bD() {
return this.glowing || this.world.isClientSide && this.getFlag(6);
}
@@ -2712,6 +2727,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2713,6 +2728,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public void setHeadRotation(float f) {}
@@ -242,7 +242,7 @@ index c827e4628c..6f5e43526a 100644
public void n(float f) {}
public boolean bK() {
@@ -3134,6 +3150,18 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -3147,6 +3163,18 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return false;
}
@@ -261,7 +261,7 @@ index c827e4628c..6f5e43526a 100644
@Override
public void sendMessage(IChatBaseComponent ichatbasecomponent, UUID uuid) {}
@@ -3576,4 +3604,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -3589,4 +3617,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
void accept(Entity entity, double d0, double d1, double d2);
}

View File

@@ -4,45 +4,16 @@ Date: Sat, 15 Aug 2020 06:51:46 -0500
Subject: [PATCH] Use configured height for nether surface builders
diff --git a/src/main/java/net/minecraft/server/WorldGenSurfaceNether.java b/src/main/java/net/minecraft/server/WorldGenSurfaceNether.java
index 6677740edb..3296904445 100644
--- a/src/main/java/net/minecraft/server/WorldGenSurfaceNether.java
+++ b/src/main/java/net/minecraft/server/WorldGenSurfaceNether.java
@@ -29,7 +29,7 @@ public class WorldGenSurfaceNether extends WorldGenSurface<WorldGenSurfaceConfig
IBlockData iblockdata2 = worldgensurfaceconfigurationbase.a();
IBlockData iblockdata3 = worldgensurfaceconfigurationbase.b();
- for (int k2 = 127; k2 >= 0; --k2) {
+ for (int k2 = k; k2 >= 0; --k2) { // Purpur - use configured height
blockposition_mutableblockposition.d(k1, k2, l1);
IBlockData iblockdata4 = ichunkaccess.getType(blockposition_mutableblockposition);
diff --git a/src/main/java/net/minecraft/server/WorldGenSurfaceNetherAbstract.java b/src/main/java/net/minecraft/server/WorldGenSurfaceNetherAbstract.java
index 1ff8b4eb10..2fbc8a2e0d 100644
index 462f0b2bae..f418a71ca8 100644
--- a/src/main/java/net/minecraft/server/WorldGenSurfaceNetherAbstract.java
+++ b/src/main/java/net/minecraft/server/WorldGenSurfaceNetherAbstract.java
@@ -35,9 +35,9 @@ public abstract class WorldGenSurfaceNetherAbstract extends WorldGenSurface<Worl
@@ -35,7 +35,7 @@ public abstract class WorldGenSurfaceNetherAbstract extends WorldGenSurface<Worl
return ((NoiseGeneratorOctaves) entry.getValue()).a((double) i, (double) l, (double) j);
})).get()).getKey();
BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition();
- IBlockData iblockdata4 = ichunkaccess.getType(blockposition_mutableblockposition.d(k1, 128, l1));
+ IBlockData iblockdata4 = ichunkaccess.getType(blockposition_mutableblockposition.d(k1, k, l1)); // Purpur - use configured height
- for (int k2 = 127; k2 >= 0; --k2) {
+ for (int k2 = k; k2 >= 0; --k2) { // Purpur - use configured height
for (int k2 = k; k2 >= 0; --k2) { // Paper - fix MC-187716 - use configured height
blockposition_mutableblockposition.d(k1, k2, l1);
IBlockData iblockdata5 = ichunkaccess.getType(blockposition_mutableblockposition);
int l2;
diff --git a/src/main/java/net/minecraft/server/WorldGenSurfaceNetherForest.java b/src/main/java/net/minecraft/server/WorldGenSurfaceNetherForest.java
index c3c31fa356..7c17d9c61c 100644
--- a/src/main/java/net/minecraft/server/WorldGenSurfaceNetherForest.java
+++ b/src/main/java/net/minecraft/server/WorldGenSurfaceNetherForest.java
@@ -27,7 +27,7 @@ public class WorldGenSurfaceNetherForest extends WorldGenSurface<WorldGenSurface
int j2 = -1;
IBlockData iblockdata2 = worldgensurfaceconfigurationbase.b();
- for (int k2 = 127; k2 >= 0; --k2) {
+ for (int k2 = k; k2 >= 0; --k2) { // Purpur - use configured height
blockposition_mutableblockposition.d(k1, k2, l1);
IBlockData iblockdata3 = worldgensurfaceconfigurationbase.a();
IBlockData iblockdata4 = ichunkaccess.getType(blockposition_mutableblockposition);

View File

@@ -1,22 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 15 Aug 2020 09:19:56 -0500
Subject: [PATCH] Fix incorrect return for WorldServer#addAllEntitiesSafely
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 5e4ccb0663..3c159c6fa7 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1712,7 +1712,10 @@ public class WorldServer extends World implements GeneratorAccessSeed {
if (entity.co().anyMatch(this::isUUIDTaken)) {
return false;
} else {
- return this.addAllEntities(entity, reason); // CraftBukkit
+ // Purpur start - this MUST return true if UUID is not taken regardless if actually spawned or not
+ this.addAllEntities(entity, reason); // CraftBukkit
+ return true;
+ // Purpur end
}
}

View File

@@ -1,18 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mariell Hoversholm <proximyst@proximyst.com>
Date: Fri, 14 Aug 2020 23:41:19 +0200
Subject: [PATCH] Don't mark null chunk sections for block updates
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
index 9f1dd6e1aa..577f0a234b 100644
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
@@ -419,6 +419,7 @@ public class PlayerChunk {
this.a(world, blockposition, iblockdata);
} else {
ChunkSection chunksection = chunk.getSections()[sectionposition.getY()];
+ if (chunksection == null) chunksection = new ChunkSection(sectionposition.getY(), chunk, world, true); // Paper - make a new chunk section if none was found
PacketPlayOutMultiBlockChange packetplayoutmultiblockchange = new PacketPlayOutMultiBlockChange(sectionposition, shortset, chunksection, this.x);
this.a(packetplayoutmultiblockchange, false);

View File

@@ -1,28 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mariell Hoversholm <proximyst@proximyst.com>
Date: Fri, 14 Aug 2020 23:59:26 +0200
Subject: [PATCH] Remove armour stand double add to world
diff --git a/src/main/java/net/minecraft/server/ItemArmorStand.java b/src/main/java/net/minecraft/server/ItemArmorStand.java
index 73b92c8a71..9611f940a3 100644
--- a/src/main/java/net/minecraft/server/ItemArmorStand.java
+++ b/src/main/java/net/minecraft/server/ItemArmorStand.java
@@ -33,7 +33,7 @@ public class ItemArmorStand extends Item {
return EnumInteractionResult.FAIL;
}
- worldserver.addAllEntities(entityarmorstand);
+ // worldserver.addAllEntities(entityarmorstand); // Paper - moved down
float f = (float) MathHelper.d((MathHelper.g(itemactioncontext.h() - 180.0F) + 22.5F) / 45.0F) * 45.0F;
entityarmorstand.setPositionRotation(entityarmorstand.locX(), entityarmorstand.locY(), entityarmorstand.locZ(), f, 0.0F);
@@ -43,7 +43,7 @@ public class ItemArmorStand extends Item {
return EnumInteractionResult.FAIL;
}
// CraftBukkit end
- world.addEntity(entityarmorstand);
+ worldserver.addAllEntities(entityarmorstand); // Paper - moved down
world.playSound((EntityHuman) null, entityarmorstand.locX(), entityarmorstand.locY(), entityarmorstand.locZ(), SoundEffects.ENTITY_ARMOR_STAND_PLACE, SoundCategory.BLOCKS, 0.75F, 0.8F);
}