Updated Upstream (Bukkit/CraftBukkit/Spigot)

Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
ffc8e4ca SPIGOT-5716: Clarify documentation of MultipleFacing

CraftBukkit Changes:
d07a78b1 SPIGOT-5716: Clarify documentation of MultipleFacing
46a13860 SPIGOT-5718: Block.BreakBlockNaturally does not reflect tool used
214ffea9 SPIGOT-5727: GameRule doImmediateRespawn cannot be set per-world

Spigot Changes:
2f5d615f SPIGOT-5730: Modernise inventory patch
a2bdb119 SPIGOT-5679: Add config option for end portal activation sound

Closes #3352
This commit is contained in:
Aikar 2020-05-12 01:27:03 -04:00
parent 92f680ed84
commit 827cc63263
No known key found for this signature in database
GPG key ID: 401ADFC9891FAAFE
27 changed files with 85 additions and 84 deletions

View file

@ -101,10 +101,10 @@ index 5406f4c40f86e74f8ed4e7e986b23d19141ddc30..d778eac45de775cf4058621fadb55b1b
if (i >= 0 && i < this.list.size()) {
NBTBase nbtbase = (NBTBase) this.list.get(i);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 38a71bca2f4c708fea656ce3bddf3842a44c82de..351825ebec43cd5dabe57650a7d9f81ac6e6e82d 100644
index 4ab77e8dc0f918bd4f069a0f886d04dea473f046..f8c9e90d2e5bb60795f7957786e56168ff7bf11c 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1178,6 +1178,11 @@ public class WorldServer extends World {
@@ -1166,6 +1166,11 @@ public class WorldServer extends World {
this.navigators.add(((EntityInsentient) entity).getNavigation());
}
entity.valid = true; // CraftBukkit

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Entity AddTo/RemoveFrom World Events
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 3769f0533dc0cfaf23e2411df982f901d788f80b..f8d1cb0231bc3b5a45d7150cb125a8af64a9c0a7 100644
index 1e74e339de72ac34351e7bda6a2992c582d56f3f..02fe6706b855bb152effda5cedf1627f9a13db2a 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1146,7 +1146,7 @@ public class WorldServer extends World {
@@ -1134,7 +1134,7 @@ public class WorldServer extends World {
if (entity instanceof EntityInsentient) {
this.navigators.remove(((EntityInsentient) entity).getNavigation());
}
@ -17,7 +17,7 @@ index 3769f0533dc0cfaf23e2411df982f901d788f80b..f8d1cb0231bc3b5a45d7150cb125a8af
entity.valid = false; // CraftBukkit
}
@@ -1184,6 +1184,7 @@ public class WorldServer extends World {
@@ -1172,6 +1172,7 @@ public class WorldServer extends World {
entity.origin = entity.getBukkitEntity().getLocation();
}
// Paper end

View file

@ -67,10 +67,10 @@ index aaedbaf4d7eb7750b356e184ac4a4f5e38d91b54..0e8d31babd39857c2754c19ddc780f8c
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index f8d1cb0231bc3b5a45d7150cb125a8af64a9c0a7..f46da0e8a0c5b060b2424c59c4a205294c657889 100644
index 02fe6706b855bb152effda5cedf1627f9a13db2a..532b5a4743fb2216ba3c1b61206cde4391275c8c 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1631,7 +1631,7 @@ public class WorldServer extends World {
@@ -1619,7 +1619,7 @@ public class WorldServer extends World {
}
bufferedwriter.write(String.format("entities: %d\n", this.entitiesById.size()));
@ -79,7 +79,7 @@ index f8d1cb0231bc3b5a45d7150cb125a8af64a9c0a7..f46da0e8a0c5b060b2424c59c4a20529
bufferedwriter.write(String.format("block_ticks: %d\n", this.getBlockTickList().a()));
bufferedwriter.write(String.format("fluid_ticks: %d\n", this.getFluidTickList().a()));
bufferedwriter.write("distance_manager: " + playerchunkmap.e().c() + "\n");
@@ -1794,7 +1794,7 @@ public class WorldServer extends World {
@@ -1782,7 +1782,7 @@ public class WorldServer extends World {
private void a(Writer writer) throws IOException {
CSVWriter csvwriter = CSVWriter.a().a("x").a("y").a("z").a("type").a(writer);

View file

@ -57,7 +57,7 @@ index b0740965a42a3931807fab88ab63077175b1c3b7..6b1a914d2f57182da0279cf4d2f9751d
packetdataserializer.a(this.c);
packetdataserializer.a(this.d);
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 9212501b8b1cdf8102a752deda1cf38257fbd358..643e5883949de11d0205116e5ff11b4cc560ecb9 100644
index 43b4649bfd22ab9ab7f1f10388dca2789ef362d9..aeb0a77d9aaf3877310528286a481f71fd5a4290 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -72,6 +72,7 @@ public abstract class PlayerList {
@ -99,7 +99,7 @@ index 9212501b8b1cdf8102a752deda1cf38257fbd358..643e5883949de11d0205116e5ff11b4c
this.savePlayerFile(entityplayer);
if (entityplayer.isPassenger()) {
Entity entity = entityplayer.getRootVehicle();
@@ -1016,6 +1034,13 @@ public abstract class PlayerList {
@@ -1018,6 +1036,13 @@ public abstract class PlayerList {
}
// CraftBukkit end

View file

@ -102,10 +102,10 @@ index a56ac3da806035e853bb912ab874265ecbcd2753..2f1be1995d1a188da5be792abd7ac6f1
for ( org.bukkit.map.MapCursor cursor : render.cursors) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index f46da0e8a0c5b060b2424c59c4a205294c657889..6271fb20920036958efcc3c8bd7a254e9a97a804 100644
index 532b5a4743fb2216ba3c1b61206cde4391275c8c..f3fe395d9e9b1332d51cd35b0cb20f606a4a481e 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1108,6 +1108,7 @@ public class WorldServer extends World {
@@ -1090,6 +1090,7 @@ public class WorldServer extends World {
{
if ( iter.next().trackee == entity )
{

View file

@ -73,10 +73,10 @@ index 35d31a9c36e837fcc361e8ba82c89aaee319b73d..8d6a0890073adbbb39db202f80d4b83c
// Spigot Start
private static double calcTps(double avg, double exp, double tps)
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 2932519886d0b8af83c1e92d4af23753d4782ba5..56266a77296bc9a84de1d853a6d739337608b995 100644
index a97941d1f8a125c6d033b1d359c1527937f97799..940c3acfa0dee0d454a1cc10dd3ca3862fd7b030 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1029,10 +1029,15 @@ public abstract class PlayerList {
@@ -1031,10 +1031,15 @@ public abstract class PlayerList {
entityplayer.playerInteractManager.b(generatoraccess.getWorldData().getGameType());
}
@ -93,7 +93,7 @@ index 2932519886d0b8af83c1e92d4af23753d4782ba5..56266a77296bc9a84de1d853a6d73933
}
// CraftBukkit end
@@ -1044,6 +1049,7 @@ public abstract class PlayerList {
@@ -1046,6 +1051,7 @@ public abstract class PlayerList {
}
// Paper end
}

View file

@ -10,7 +10,7 @@ Adds an option to control the force mode of the particle.
This adds a new Builder API which is much friendlier to use.
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 7417725363a09500215d5e5e3be1d3a4458dd5e4..60f936f2e50aaf3a894f3fd92c7619263cf27878 100644
index e428b3cb8c8ca5a662a0e867bf74d08775f1bacd..a834a77b2de8f7287be69fd5d002ff43261a9a85 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -56,7 +56,7 @@ public class WorldServer extends World {
@ -22,7 +22,7 @@ index 7417725363a09500215d5e5e3be1d3a4458dd5e4..60f936f2e50aaf3a894f3fd92c761926
boolean tickingEntities;
private final MinecraftServer server;
private final WorldNBTStorage dataManager;
@@ -1404,12 +1404,17 @@ public class WorldServer extends World {
@@ -1392,12 +1392,17 @@ public class WorldServer extends World {
}
public <T extends ParticleParam> int sendParticles(EntityPlayer sender, T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, boolean force) {

View file

@ -101,7 +101,7 @@ index 4a0a8479448b5872f356379d6f68d9142d85e175..8eb12e89ea84051281149d96ca82905b
this.player.m();
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index a61815c794885d7192eec62d05a54e765fb8c838..5ae0927c14a1915b85c13c13c8cf3e6b3dddfe9d 100644
index 1800a6c86b2150b8183acdce3a7f6daa1c9a350b..b69cff40922ba2d1a44c11bcae86f9439130ad96 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -390,7 +390,7 @@ public abstract class PlayerList {
@ -114,27 +114,27 @@ index a61815c794885d7192eec62d05a54e765fb8c838..5ae0927c14a1915b85c13c13c8cf3e6b
PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game");
cserver.getPluginManager().callEvent(playerQuitEvent);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 60f936f2e50aaf3a894f3fd92c7619263cf27878..7c1a748c9b6982e09626cba60651a6de6a5796d4 100644
index a834a77b2de8f7287be69fd5d002ff43261a9a85..d4e963c169f847acce882dfba067be0d64638ec4 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1050,7 +1050,7 @@ public class WorldServer extends World {
{
if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity )
{
- ( (org.bukkit.craftbukkit.entity.CraftHumanEntity) h).getHandle().closeInventory();
+ ( (org.bukkit.craftbukkit.entity.CraftHumanEntity) h).getHandle().closeInventory(org.bukkit.event.inventory.InventoryCloseEvent.Reason.UNLOADED); // Paper
}
@@ -1045,7 +1045,7 @@ public class WorldServer extends World {
for (TileEntity tileentity : chunk.getTileEntities().values()) {
if (tileentity instanceof IInventory) {
for (org.bukkit.entity.HumanEntity h : Lists.newArrayList(((IInventory) tileentity).getViewers())) {
- h.closeInventory();
+ h.closeInventory(org.bukkit.event.inventory.InventoryCloseEvent.Reason.UNLOADED); // Paper
}
}
@@ -1073,7 +1073,7 @@ public class WorldServer extends World {
{
if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity )
{
- ( (org.bukkit.craftbukkit.entity.CraftHumanEntity) h).getHandle().closeInventory();
+ ( (org.bukkit.craftbukkit.entity.CraftHumanEntity) h).getHandle().closeInventory(org.bukkit.event.inventory.InventoryCloseEvent.Reason.UNLOADED); // Paper
}
}
}
}
@@ -1103,7 +1103,7 @@ public class WorldServer extends World {
// Spigot Start
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder) {
for (org.bukkit.entity.HumanEntity h : Lists.newArrayList(((org.bukkit.inventory.InventoryHolder) entity.getBukkitEntity()).getInventory().getViewers())) {
- h.closeInventory();
+ h.closeInventory(org.bukkit.event.inventory.InventoryCloseEvent.Reason.UNLOADED); // Paper
}
}
// Spigot End
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
index 20f0783025516048851aedef0a70759c2953ae47..a6d75c0e07a25fdb59dde2e3eb2a0213c7112515 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java

View file

@ -6,7 +6,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
Add -Ddebug.entities=true to your JVM flags to gain more information
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 2ac396dd17e9b91d37685959f4a8e4473682e00f..3043b87cf74cd5e27b978464ed3032c68af8a7c0 100644
index fe730cd301e6bae46320355ee8cb67d406a72a9f..5fd57a3d30972d86c62025d63cd57b56a147cc94 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -76,6 +76,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@ -52,7 +52,7 @@ index 2f57c7bc76ddd8fd4b796d85eaa7200d8da41865..a1c33c525ce8ae0f4736198658174f8d
public boolean captureBlockStates = false;
public boolean captureTreeGeneration = false;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 25e2a6580ae72ffa51bf67290992382797b2dd9c..02d9c754b11d37282e93f3a20d354e3010a12744 100644
index 1019f180397abef5ec28d00c432415a7270026e2..5086a854b84b05e5b9c0f5677051d19dfa42f343 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -76,6 +76,9 @@ public class WorldServer extends World {
@ -95,7 +95,7 @@ index 25e2a6580ae72ffa51bf67290992382797b2dd9c..02d9c754b11d37282e93f3a20d354e30
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getName(entity.getEntityType())); // CraftBukkit
return false;
} else if (this.isUUIDTaken(entity)) {
@@ -1170,7 +1193,24 @@ public class WorldServer extends World {
@@ -1158,7 +1181,24 @@ public class WorldServer extends World {
}
}

View file

@ -80,10 +80,10 @@ index 13d99de2cd08de02215031a1f699110c13ef35ff..f54572773c25b6716a68166efa8d3fc8
public static ChunkStatus.Type a(@Nullable NBTTagCompound nbttagcompound) {
if (nbttagcompound != null) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 02d9c754b11d37282e93f3a20d354e3010a12744..d1424325d5efb2f25062341bb57946e9b594813e 100644
index 5086a854b84b05e5b9c0f5677051d19dfa42f343..426ca12970e0c75ba75eee6c3e3cdbf833730737 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1084,6 +1084,7 @@ public class WorldServer extends World {
@@ -1078,6 +1078,7 @@ public class WorldServer extends World {
List[] aentityslice = chunk.getEntitySlices(); // Spigot
int i = aentityslice.length;
@ -91,7 +91,7 @@ index 02d9c754b11d37282e93f3a20d354e3010a12744..d1424325d5efb2f25062341bb57946e9
for (int j = 0; j < i; ++j) {
List<Entity> entityslice = aentityslice[j]; // Spigot
Iterator iterator = entityslice.iterator();
@@ -1108,11 +1109,25 @@ public class WorldServer extends World {
@@ -1090,11 +1091,25 @@ public class WorldServer extends World {
throw (IllegalStateException) SystemUtils.c(new IllegalStateException("Removing entity while ticking!"));
}

View file

@ -51,7 +51,7 @@ index 0afa8a7ebd8dbdfaac362d66b687e787bc040dee..8e9ddca049f837ed1c5fc4aa9fd6a685
if (oclass.isInstance(t0) && t0.getBoundingBox().c(axisalignedbb) && (predicate == null || predicate.test(t0))) { // Spigot - instance check
list.add(t0);
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 838aa7da699e969e9f067cea54e092959aa83143..35d22ec027952ba90dd27ed61708801b6903c393 100644
index 84d36ea84e25a701af22900af6cd3099adf6cd54..6e87ff52df30f4de8cfb11d1dbfb71211d656831 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -195,6 +195,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@ -63,7 +63,7 @@ index 838aa7da699e969e9f067cea54e092959aa83143..35d22ec027952ba90dd27ed61708801b
public float getBukkitYaw() {
return this.yaw;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index d1424325d5efb2f25062341bb57946e9b594813e..f071b61195e6b72ac1d7a8cf7142f8017e153c8f 100644
index 426ca12970e0c75ba75eee6c3e3cdbf833730737..3067ab76d94c58fbfd52fac6754bf6d6d7f01d09 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -908,7 +908,7 @@ public class WorldServer extends World {
@ -75,7 +75,7 @@ index d1424325d5efb2f25062341bb57946e9b594813e..f071b61195e6b72ac1d7a8cf7142f801
if (entity instanceof EntityInsentient) {
EntityInsentient entityinsentient = (EntityInsentient) entity;
@@ -1242,6 +1242,7 @@ public class WorldServer extends World {
@@ -1230,6 +1230,7 @@ public class WorldServer extends World {
entity.origin = entity.getBukkitEntity().getLocation();
}
// Paper end
@ -83,7 +83,7 @@ index d1424325d5efb2f25062341bb57946e9b594813e..f071b61195e6b72ac1d7a8cf7142f801
new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid
}
@@ -1254,6 +1255,7 @@ public class WorldServer extends World {
@@ -1242,6 +1243,7 @@ public class WorldServer extends World {
this.removeEntityFromChunk(entity);
this.entitiesById.remove(entity.getId());
this.unregisterEntity(entity);

View file

@ -5,7 +5,7 @@ Subject: [PATCH] Send nearby packets from world player list not server list
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 5ae0927c14a1915b85c13c13c8cf3e6b3dddfe9d..6b67201852db53fee5e2ee79d41c13f675065f72 100644
index b69cff40922ba2d1a44c11bcae86f9439130ad96..9d23be3f212b208ddcc989e1bd736c9bf6aabcc4 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -910,8 +910,25 @@ public abstract class PlayerList {
@ -46,10 +46,10 @@ index 5ae0927c14a1915b85c13c13c8cf3e6b3dddfe9d..6b67201852db53fee5e2ee79d41c13f6
double d5 = d1 - entityplayer.locY();
double d6 = d2 - entityplayer.locZ();
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index f071b61195e6b72ac1d7a8cf7142f8017e153c8f..ad779650ed73176a88e5f4232df4ffcaf8f2797c 100644
index 3067ab76d94c58fbfd52fac6754bf6d6d7f01d09..6e878c9b9dee511812df5ea2491d953f677c3f58 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1288,7 +1288,7 @@ public class WorldServer extends World {
@@ -1276,7 +1276,7 @@ public class WorldServer extends World {
}
// CraftBukkit end
this.globalEntityList.add(entitylightning);
@ -58,7 +58,7 @@ index f071b61195e6b72ac1d7a8cf7142f8017e153c8f..ad779650ed73176a88e5f4232df4ffca
}
@Override
@@ -1420,7 +1420,7 @@ public class WorldServer extends World {
@@ -1408,7 +1408,7 @@ public class WorldServer extends World {
BlockActionData blockactiondata = (BlockActionData) this.I.removeFirst();
if (this.a(blockactiondata)) {

View file

@ -69,10 +69,10 @@ index 7c518983a9c21a9b221e1fa1b0baa3d5c9ccadbf..bdb534deb47a945d5cbfad688eeab5e3
--this.lifeTicks;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index ad779650ed73176a88e5f4232df4ffcaf8f2797c..a75034079b0f5a06509f9762593c5e805e35881c 100644
index 6e878c9b9dee511812df5ea2491d953f677c3f58..271a1ef3d0aae7c1d0b373963504e70f2843cd24 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1288,7 +1288,7 @@ public class WorldServer extends World {
@@ -1276,7 +1276,7 @@ public class WorldServer extends World {
}
// CraftBukkit end
this.globalEntityList.add(entitylightning);

View file

@ -23,7 +23,7 @@ index 8570e38f42e2f489e2899ac2f0c4a7b8dda3bb75..c97be42dd7b4c6ea2cadcc97f47185c7
this.e = flag;
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index e917d37382dab70ed9e6b62decf1557c33b26065..b30b1f68787bd72cddd7ead2d607c030f5e1b7eb 100644
index 14c82861158eed8c91336590fb71c69d185d22f8..299a6586ddfdc221be93e2f3d55801ac06bf783b 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -62,7 +62,7 @@ public abstract class PlayerList {
@ -47,7 +47,7 @@ index e917d37382dab70ed9e6b62decf1557c33b26065..b30b1f68787bd72cddd7ead2d607c030
event.callEvent();
if (!event.isWhitelisted()) {
if (loginEvent != null) {
@@ -1020,11 +1020,11 @@ public abstract class PlayerList {
@@ -1022,11 +1022,11 @@ public abstract class PlayerList {
}
public boolean getHasWhitelist() {

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Call WhitelistToggleEvent when whitelist is toggled
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index b30b1f68787bd72cddd7ead2d607c030f5e1b7eb..faea0b31ddc43f5edabd53756e8b3f796f0c46bf 100644
index 299a6586ddfdc221be93e2f3d55801ac06bf783b..171018cbde28d206e3d2eee34e3e16c4b1a83424 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1024,6 +1024,7 @@ public abstract class PlayerList {
@@ -1026,6 +1026,7 @@ public abstract class PlayerList {
}
public void setHasWhitelist(boolean flag) {

View file

@ -102,10 +102,10 @@ index 3868572aed50c8bffd93727a139a3fbb8dc19688..ae77805f71c6c574d92f39c51b1e48f2
@Override
public void a(ChunkCoordIntPair chunkcoordintpair) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index f10cb6378b1d9d2e7e28b5897a7098f9441b4f8a..b28868766117f0cfdcc5db271b9415d9ae97ad19 100644
index 55c0b5dc30cff8de5a83a97ae17fec7624cbe3d9..ca0a23be27ee8174204867d463eb89a10931ff84 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1599,13 +1599,89 @@ public class WorldServer extends World {
@@ -1587,13 +1587,89 @@ public class WorldServer extends World {
return ((PersistentIdCounts) this.getMinecraftServer().getWorldServer(DimensionManager.OVERWORLD).getWorldPersistentData().a(PersistentIdCounts::new, "idcounts")).a();
}

View file

@ -96,10 +96,10 @@ index b774d2d8d903acc1ce4c5bd9240b2e96779e1d53..0184bf3fc9e206cec003c5a325d5ee21
return this.D;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
index ef81c1d3a9679b0e65b453431de3cd0216f05bb6..db446c25c41ec3122155510f9d96dfdeee626896 100644
index 30b7c9038d3a95b80304e052a5d629b461f76e99..1fc7f55fcaa1f9aaa4c675f9fcd508ffb80e9629 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -701,4 +701,11 @@ public class CraftBlock implements Block {
@@ -704,4 +704,11 @@ public class CraftBlock implements Block {
AxisAlignedBB aabb = shape.getBoundingBox();
return new BoundingBox(getX() + aabb.minX, getY() + aabb.minY, getZ() + aabb.minZ, getX() + aabb.maxX, getY() + aabb.maxY, getZ() + aabb.maxZ);
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Mark entities as being ticked when notifying navigation
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 6af8aeae5d1312c526622bc7e74e977dcb29a5b0..17e2399fdb1cecc86b5450b7abbacd738f9445cf 100644
index 36a951cfcd617baf1a840f394e639567bd044308..58018bfcee5396d440b0f022a7aa9ed452e67ec5 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1413,6 +1413,7 @@ public class WorldServer extends World {
@@ -1401,6 +1401,7 @@ public class WorldServer extends World {
VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition);
if (VoxelShapes.c(voxelshape, voxelshape1, OperatorBoolean.NOT_SAME)) {
@ -16,7 +16,7 @@ index 6af8aeae5d1312c526622bc7e74e977dcb29a5b0..17e2399fdb1cecc86b5450b7abbacd73
Iterator iterator = this.navigators.iterator();
while (iterator.hasNext()) {
@@ -1423,6 +1424,7 @@ public class WorldServer extends World {
@@ -1411,6 +1412,7 @@ public class WorldServer extends World {
}
}

View file

@ -3938,7 +3938,7 @@ index c999f8c9bf8a59e19b3d6d1b7ad8b5fb6e48b928..b59ef1a63338aa150d39e8014e12b227
HAS_SPACE(VillagePlaceRecord::d), IS_OCCUPIED(VillagePlaceRecord::e), ANY((villageplacerecord) -> {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 17e2399fdb1cecc86b5450b7abbacd738f9445cf..90d7f77b49a7bf11d40118a9e1d5718fcf2b3be4 100644
index 58018bfcee5396d440b0f022a7aa9ed452e67ec5..f84248ad9f90aaaf02afa35a4147fb11f703fdcb 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -82,6 +82,79 @@ public class WorldServer extends World {
@ -4030,7 +4030,7 @@ index 17e2399fdb1cecc86b5450b7abbacd738f9445cf..90d7f77b49a7bf11d40118a9e1d5718f
}
// CraftBukkit start
@@ -1676,7 +1751,10 @@ public class WorldServer extends World {
@@ -1664,7 +1739,10 @@ public class WorldServer extends World {
}
MCUtil.getSpiralOutChunks(spawn, radiusInBlocks >> 4).forEach(pair -> {

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Add effect to block break naturally
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
index db446c25c41ec3122155510f9d96dfdeee626896..01c524cc01768fe0f2dbf062bcc19fcb982d32da 100644
index 1fc7f55fcaa1f9aaa4c675f9fcd508ffb80e9629..a5f981cd0d373db45f22384803c323be428dce0c 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -606,12 +606,20 @@ public class CraftBlock implements Block {
@@ -606,6 +606,13 @@ public class CraftBlock implements Block {
@Override
public boolean breakNaturally(ItemStack item) {
@ -20,11 +20,12 @@ index db446c25c41ec3122155510f9d96dfdeee626896..01c524cc01768fe0f2dbf062bcc19fcb
+ public boolean breakNaturally(ItemStack item, boolean triggerEffect) {
+ // Paper end
// Order matters here, need to drop before setting to air so skulls can get their data
net.minecraft.server.Block block = this.getNMSBlock();
boolean result = false;
if (block != null && block != Blocks.AIR) {
net.minecraft.server.Block.dropItems(getNMS(), world.getMinecraftWorld(), position, world.getTileEntity(position), null, CraftItemStack.asNMSCopy(item));
net.minecraft.server.IBlockData iblockdata = this.getNMS();
net.minecraft.server.Block block = iblockdata.getBlock();
@@ -615,6 +622,7 @@ public class CraftBlock implements Block {
// Modelled off EntityHuman#hasBlock
if (block != Blocks.AIR && (iblockdata.getMaterial().isAlwaysDestroyable() || nmsItem.canDestroySpecialBlock(iblockdata))) {
net.minecraft.server.Block.dropItems(iblockdata, world.getMinecraftWorld(), position, world.getTileEntity(position), null, nmsItem);
+ if (triggerEffect) world.triggerEffect(org.bukkit.Effect.STEP_SOUND.getId(), position, net.minecraft.server.Block.getCombinedId(block.getBlockData())); // Paper
result = true;
}

View file

@ -23,7 +23,7 @@ index 7bdd3f19b2bc51c4f995d42fcd47e0e315310bff..7434f859f7f9acff0f881ff594c8dffd
private boolean locked = false;
@Override
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 53da79da59f1940eafbd2eaae172e596690b0fdb..d8045367af230b21a0d402301fc65f77823a3bc7 100644
index be61f898cc96afeffe6ff2eb0ae3c4ce8da10b80..e635839673b767c630d0d3a2a7c370b05bba7164 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -532,6 +532,7 @@ public class WorldServer extends World {
@ -34,7 +34,7 @@ index 53da79da59f1940eafbd2eaae172e596690b0fdb..d8045367af230b21a0d402301fc65f77
this.registerEntity(entity);
}
} // Paper - timings
@@ -1356,6 +1357,19 @@ public class WorldServer extends World {
@@ -1338,6 +1339,19 @@ public class WorldServer extends World {
public void unregisterEntity(Entity entity) {
org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot
@ -54,7 +54,7 @@ index 53da79da59f1940eafbd2eaae172e596690b0fdb..d8045367af230b21a0d402301fc65f77
// Spigot start
if ( entity instanceof EntityHuman )
{
@@ -1416,9 +1430,21 @@ public class WorldServer extends World {
@@ -1404,9 +1418,21 @@ public class WorldServer extends World {
private void registerEntity(Entity entity) {
org.spigotmc.AsyncCatcher.catchOp("entity register"); // Spigot

View file

@ -15,10 +15,10 @@ Combine that with a buggy detail of the previous implementation of
the Dupe UUID patch, then this was the likely source of the "Ghost entities"
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index d8045367af230b21a0d402301fc65f77823a3bc7..5d14cd2153d151c240c815e7d52262ce1c499b1a 100644
index e635839673b767c630d0d3a2a7c370b05bba7164..255650fc6adcd81df2ee063209d2098745e45e39 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1509,9 +1509,9 @@ public class WorldServer extends World {
@@ -1497,9 +1497,9 @@ public class WorldServer extends World {
}
private void removeEntityFromChunk(Entity entity) {

View file

@ -26,10 +26,10 @@ index 6eb055913177b0c01a027b2b356190dc561072c5..4beae504c875767ff00e26461fe72404
if (!(entity instanceof EntityLightning)) {
EntityTypes<?> entitytypes = entity.getEntityType();
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 5d14cd2153d151c240c815e7d52262ce1c499b1a..3979f151f067a62e45211c9f11e47e36dbe16b31 100644
index 255650fc6adcd81df2ee063209d2098745e45e39..c1e3c5ad7bbadedf01f7bd9162602398b81005a2 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1475,7 +1475,7 @@ public class WorldServer extends World {
@@ -1463,7 +1463,7 @@ public class WorldServer extends World {
}
}
@ -38,7 +38,7 @@ index 5d14cd2153d151c240c815e7d52262ce1c499b1a..3979f151f067a62e45211c9f11e47e36
// CraftBukkit start - SPIGOT-5278
if (entity instanceof EntityDrowned) {
this.navigators.add(((EntityDrowned) entity).navigationWater);
@@ -1486,6 +1486,7 @@ public class WorldServer extends World {
@@ -1474,6 +1474,7 @@ public class WorldServer extends World {
this.navigators.add(((EntityInsentient) entity).getNavigation());
}
entity.valid = true; // CraftBukkit

View file

@ -550,7 +550,7 @@ index b3c9cb67664491c3a8c83a67ac0e79d48561f3fe..ce7462283873635ad0d3bce2395346ed
}
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 0ada5b4ac61a9b77e67da1695327d72c8212c5d6..bcf95c4bb09b881858e22926adef9efd4f525c90 100644
index 9a9c124e6af1fb40255ffaa38d0a4e024ad72436..57037afed7ba04ccf1f55d590f270ac2b2fda2ce 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -151,7 +151,7 @@ public abstract class PlayerList {
@ -571,7 +571,7 @@ index 0ada5b4ac61a9b77e67da1695327d72c8212c5d6..bcf95c4bb09b881858e22926adef9efd
entityplayer1.spawnIn(worldserver);
entityplayer1.dead = false;
entityplayer1.playerConnection.teleport(new Location(worldserver.getWorld(), entityplayer1.locX(), entityplayer1.locY(), entityplayer1.locZ(), entityplayer1.yaw, entityplayer1.pitch));
@@ -1257,7 +1257,7 @@ public abstract class PlayerList {
@@ -1259,7 +1259,7 @@ public abstract class PlayerList {
public void a(int i) {
this.viewDistance = i;

@ -1 +1 @@
Subproject commit da9ef3c55fa3bce91f7fdcd77d50171be7297d7d
Subproject commit ffc8e4caa484af8f3e4ec2647e546ec0f2b6e95f

@ -1 +1 @@
Subproject commit 933e9094bfef3b0758f62342f06163bbba1bb6a1
Subproject commit d07a78b1f3aa79945600e5e07d5a457909480b40

@ -1 +1 @@
Subproject commit 2040c4c476931e2b1582cd14e2e4d1e260eb5322
Subproject commit 2f5d615f157752a2b28b0986b34cc708d5e77674