From bbfef2d293ffbf4d071571dce44874262f6853ff Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 31 Oct 2018 05:21:34 -0400 Subject: [PATCH] [Auto] Updated Upstream (CraftBukkit) 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 CraftBukkit Changes: aed3aecb Make natural item dropping mimic Vanilla --- ...le-Keep-Spawn-Loaded-range-per-world.patch | 6 +- ...unk-Unloads-based-on-Player-Movement.patch | 8 +-- ...PI-for-Reason-Source-Triggering-play.patch | 28 ++++----- ...ld.spawnParticle-API-and-add-Builder.patch | 6 +- ...Item-entities-with-World.spawnEntity.patch | 6 +- .../0276-Expand-Explosions-API.patch | 6 +- ...1-Implement-World.getEntity-UUID-API.patch | 6 +- ...ead-Entities-in-entityList-iteration.patch | 12 ++-- ...ets-from-world-player-list-not-serve.patch | 6 +- ...345-Implement-Force-Loaded-Chunk-API.patch | 6 +- ...1-Async-Chunk-Loading-and-Generation.patch | 60 +++++++++---------- .../0383-Add-sun-related-API.patch | 6 +- ...-Use-EntityTypes-for-living-entities.patch | 6 +- work/CraftBukkit | 2 +- 14 files changed, 82 insertions(+), 82 deletions(-) diff --git a/Spigot-Server-Patches/0094-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0094-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 2b014b9c1..dae404305 100644 --- a/Spigot-Server-Patches/0094-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0094-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From 266ec4e2b78a094c01dd21b0cbfb5a7a0af1dd88 Mon Sep 17 00:00:00 2001 +From e203155d1c320112cc87545f45d9112de0e0e302 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 13 Sep 2014 23:14:43 -0400 Subject: [PATCH] Configurable Keep Spawn Loaded range per world @@ -91,10 +91,10 @@ index d277a640c..8ce32dcff 100644 for (int j = -short1; j <= short1; j += 16) { for (int k = -short1; k <= short1; k += 16) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 088e7f1f1..6afe4d463 100644 +index 887894005..5d8e85a0a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1428,8 +1428,9 @@ public class CraftWorld implements World { +@@ -1403,8 +1403,9 @@ public class CraftWorld implements World { int chunkCoordX = chunkcoordinates.getX() >> 4; int chunkCoordZ = chunkcoordinates.getZ() >> 4; // Cycle through the 25x25 Chunks around it to load/unload the chunks. diff --git a/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch b/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch index 8b8926641..937785217 100644 --- a/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch +++ b/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch @@ -1,4 +1,4 @@ -From fb6a6c45bb488b2b412351ffdc83baac4b87fedf Mon Sep 17 00:00:00 2001 +From b0efda0569a3f5e6285e5fb2abd2bb310d5a1565 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 18 Jun 2016 23:22:12 -0400 Subject: [PATCH] Delay Chunk Unloads based on Player Movement @@ -43,7 +43,7 @@ index ff1a2046f..0cd15c17e 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index e00b432ce..9d064d4fc 100644 +index 28ec8628d..234c9eb1c 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -36,6 +36,7 @@ public class Chunk implements IChunkAccess { @@ -198,10 +198,10 @@ index 8aa4138a2..225f7574d 100644 this.methodProfiler.a(() -> { return String.valueOf(TileEntityTypes.a(tileentity.C())); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6afe4d463..0b3de7a76 100644 +index 5d8e85a0a..178f462c4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1781,7 +1781,7 @@ public class CraftWorld implements World { +@@ -1756,7 +1756,7 @@ public class CraftWorld implements World { ChunkProviderServer cps = world.getChunkProviderServer(); for (net.minecraft.server.Chunk chunk : cps.chunks.values()) { // If in use, skip it diff --git a/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index ae10dd975..d5bd7b98d 100644 --- a/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From 9ec95842bd16ba04ce090036fe3e5491fc8ed682 Mon Sep 17 00:00:00 2001 +From c4483daa6889091ddc0b123bb58dfd4877ff6cf4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 16:31:46 -0500 Subject: [PATCH] ExperienceOrbs API for Reason/Source/Triggering player @@ -8,7 +8,7 @@ Adds lots of information about why this orb exists. Replaces isFromBottle() with logic that persists entity reloads too. diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index bb8b450ac4..163ce42c61 100644 +index bb8b450ac..163ce42c6 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -454,13 +454,13 @@ public class Block implements IMaterial { @@ -28,7 +28,7 @@ index bb8b450ac4..163ce42c61 100644 } diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 69c8e245bd..8993fe1add 100644 +index 69c8e245b..8993fe1ad 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -618,7 +618,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo @@ -41,7 +41,7 @@ index 69c8e245bd..8993fe1add 100644 } diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 1e25ade7cf..3e2312b866 100644 +index 1e25ade7c..3e2312b86 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -15,9 +15,59 @@ public class EntityExperienceOrb extends Entity { @@ -120,7 +120,7 @@ index 1e25ade7cf..3e2312b866 100644 public void d(EntityHuman entityhuman) { diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index e33ecfcda7..b164aff93f 100644 +index e33ecfcda..b164aff93 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -467,7 +467,7 @@ public class EntityFishingHook extends Entity { @@ -133,7 +133,7 @@ index e33ecfcda7..b164aff93f 100644 // CraftBukkit end if (itemstack1.getItem().a(TagsItem.FISHES)) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index b2b575d0e8..48bb14805e 100644 +index b2b575d0e..48bb14805 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -354,7 +354,8 @@ public abstract class EntityLiving extends Entity { @@ -147,7 +147,7 @@ index b2b575d0e8..48bb14805e 100644 this.expToDrop = 0; // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java -index a5e1939e05..e73dba09a6 100644 +index a5e1939e0..e73dba09a 100644 --- a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java +++ b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java @@ -36,7 +36,7 @@ public class EntityThrownExpBottle extends EntityProjectile { @@ -160,7 +160,7 @@ index a5e1939e05..e73dba09a6 100644 this.die(); diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index f05a1483ff..70f54b1fb9 100644 +index f05a1483f..70f54b1fb 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -411,7 +411,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { @@ -173,7 +173,7 @@ index f05a1483ff..70f54b1fb9 100644 if (this.tradingPlayer instanceof EntityPlayer) { diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java -index 4a128f707b..b870964674 100644 +index 4a128f707..b87096467 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java @@ -122,7 +122,7 @@ public class PathfinderGoalBreed extends PathfinderGoal { @@ -186,7 +186,7 @@ index 4a128f707b..b870964674 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index c8cfa3abe4..aa7780eff5 100644 +index c8cfa3abe..aa7780eff 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -390,7 +390,7 @@ public class PlayerInteractManager { @@ -199,7 +199,7 @@ index c8cfa3abe4..aa7780eff5 100644 // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java -index 22c47c63c7..52e296d468 100644 +index 22c47c63c..52e296d46 100644 --- a/src/main/java/net/minecraft/server/SlotFurnaceResult.java +++ b/src/main/java/net/minecraft/server/SlotFurnaceResult.java @@ -9,7 +9,7 @@ import org.bukkit.event.inventory.FurnaceExtractEvent; @@ -221,10 +221,10 @@ index 22c47c63c7..52e296d468 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index dbc8dc4b9e..fe53db5d22 100644 +index d4627dbe0..bdcbef8dc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1363,7 +1363,7 @@ public class CraftWorld implements World { +@@ -1338,7 +1338,7 @@ public class CraftWorld implements World { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new EntityTNTPrimed(world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { @@ -234,7 +234,7 @@ index dbc8dc4b9e..fe53db5d22 100644 // not sure what this can do if (LightningStrike.class.isAssignableFrom(clazz)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java -index 3a09cab3d4..3302af0e45 100644 +index 3a09cab3d..3302af0e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java @@ -18,6 +18,18 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb { diff --git a/Spigot-Server-Patches/0256-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0256-Expand-World.spawnParticle-API-and-add-Builder.patch index bbbe9f3f6..a32335f0b 100644 --- a/Spigot-Server-Patches/0256-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0256-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -1,4 +1,4 @@ -From 5a55d82dd5c5d083d78989e118dfc04954b88b5e Mon Sep 17 00:00:00 2001 +From 893e727e1f192d8b040c9947d818862524ccacff Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 15 Aug 2017 22:29:12 -0400 Subject: [PATCH] Expand World.spawnParticle API and add Builder @@ -34,10 +34,10 @@ index 682e0b87e..a5dfc1ebf 100644 if (this.a(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index fe53db5d2..6b083daa9 100644 +index bdcbef8dc..4bd6b2376 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1770,11 +1770,17 @@ public class CraftWorld implements World { +@@ -1745,11 +1745,17 @@ public class CraftWorld implements World { @Override public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { diff --git a/Spigot-Server-Patches/0260-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0260-Allow-spawning-Item-entities-with-World.spawnEntity.patch index 4fd7d6729..d2cc5a126 100644 --- a/Spigot-Server-Patches/0260-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/Spigot-Server-Patches/0260-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -1,4 +1,4 @@ -From 170f9bfdcfc0f301f5a250b1210a4919019662da Mon Sep 17 00:00:00 2001 +From 4fb00387c71a4eee750e7649ef522e8c481fab24 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 4 Jun 2018 20:39:20 -0400 Subject: [PATCH] Allow spawning Item entities with World.spawnEntity @@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function Item can be set inside of the Consumer pre spawn function. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6b083daa9..1500c4a42 100644 +index 4bd6b2376..aec0bb395 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1079,6 +1079,10 @@ public class CraftWorld implements World { +@@ -1054,6 +1054,10 @@ public class CraftWorld implements World { if (Boat.class.isAssignableFrom(clazz)) { entity = new EntityBoat(world, x, y, z); entity.setPositionRotation(x, y, z, yaw, pitch); diff --git a/Spigot-Server-Patches/0276-Expand-Explosions-API.patch b/Spigot-Server-Patches/0276-Expand-Explosions-API.patch index 002ba86c0..4d9fe37e2 100644 --- a/Spigot-Server-Patches/0276-Expand-Explosions-API.patch +++ b/Spigot-Server-Patches/0276-Expand-Explosions-API.patch @@ -1,4 +1,4 @@ -From 10a9794d64920edae3b98ae7bdf742cf50cf5a4e Mon Sep 17 00:00:00 2001 +From 7206df2c7f5cbc0925ae55a706e870f35dea2681 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Jun 2018 23:17:24 -0400 Subject: [PATCH] Expand Explosions API @@ -6,10 +6,10 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 1500c4a42..767dc87dd 100644 +index aec0bb395..d3abaa9b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -548,6 +548,11 @@ public class CraftWorld implements World { +@@ -523,6 +523,11 @@ public class CraftWorld implements World { public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks) { return !world.createExplosion(null, x, y, z, power, setFire, breakBlocks).wasCanceled; } diff --git a/Spigot-Server-Patches/0281-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0281-Implement-World.getEntity-UUID-API.patch index 6ad4bc9e2..bc6cabc04 100644 --- a/Spigot-Server-Patches/0281-Implement-World.getEntity-UUID-API.patch +++ b/Spigot-Server-Patches/0281-Implement-World.getEntity-UUID-API.patch @@ -1,14 +1,14 @@ -From 51e1884b784aa8d72f01558878e449fad4e643a8 Mon Sep 17 00:00:00 2001 +From a06fff08f38b167f4a333c2ea0a949197ef1f5cd Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 3 Jul 2018 16:08:14 +0200 Subject: [PATCH] Implement World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 767dc87dd..a7be13c9c 100644 +index d3abaa9b6..be8cc2510 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -899,6 +899,14 @@ public class CraftWorld implements World { +@@ -874,6 +874,14 @@ public class CraftWorld implements World { return list; } diff --git a/Spigot-Server-Patches/0311-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0311-Ignore-Dead-Entities-in-entityList-iteration.patch index 21a1e30c1..e5f7b689c 100644 --- a/Spigot-Server-Patches/0311-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0311-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -1,4 +1,4 @@ -From 300fb54a858bda8b9e47f38237bc5fa8d7bf1e34 Mon Sep 17 00:00:00 2001 +From 2df6c84b94bf4d4c4e2b28e8b59c479128c63d57 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 28 Jul 2018 12:18:27 -0400 Subject: [PATCH] Ignore Dead Entities in entityList iteration @@ -71,10 +71,10 @@ index 965a598db..2aa4946c7 100644 if (entity instanceof EntityInsentient) { EntityInsentient entityinsentient = (EntityInsentient) entity; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a7be13c9c..911ea5ca0 100644 +index be8cc2510..a99aabc40 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -643,6 +643,7 @@ public class CraftWorld implements World { +@@ -618,6 +618,7 @@ public class CraftWorld implements World { for (Object o : world.entityList) { if (o instanceof net.minecraft.server.Entity) { net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; @@ -82,7 +82,7 @@ index a7be13c9c..911ea5ca0 100644 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -661,6 +662,7 @@ public class CraftWorld implements World { +@@ -636,6 +637,7 @@ public class CraftWorld implements World { for (Object o : world.entityList) { if (o instanceof net.minecraft.server.Entity) { net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; @@ -90,7 +90,7 @@ index a7be13c9c..911ea5ca0 100644 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -685,6 +687,7 @@ public class CraftWorld implements World { +@@ -660,6 +662,7 @@ public class CraftWorld implements World { for (Object entity: world.entityList) { if (entity instanceof net.minecraft.server.Entity) { @@ -98,7 +98,7 @@ index a7be13c9c..911ea5ca0 100644 Entity bukkitEntity = ((net.minecraft.server.Entity) entity).getBukkitEntity(); if (bukkitEntity == null) { -@@ -707,6 +710,7 @@ public class CraftWorld implements World { +@@ -682,6 +685,7 @@ public class CraftWorld implements World { for (Object entity: world.entityList) { if (entity instanceof net.minecraft.server.Entity) { diff --git a/Spigot-Server-Patches/0332-Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/0332-Send-nearby-packets-from-world-player-list-not-serve.patch index baca856ad..e8e71fae5 100644 --- a/Spigot-Server-Patches/0332-Send-nearby-packets-from-world-player-list-not-serve.patch +++ b/Spigot-Server-Patches/0332-Send-nearby-packets-from-world-player-list-not-serve.patch @@ -1,4 +1,4 @@ -From 721b6150fa42e830e1bf1258a0e53346d5f3bcf8 Mon Sep 17 00:00:00 2001 +From f74ab97dfef96770cc68a42f8489e33a06367943 Mon Sep 17 00:00:00 2001 From: Mystiflow Date: Fri, 6 Jul 2018 13:21:30 +0100 Subject: [PATCH] Send nearby packets from world player list not server list @@ -119,10 +119,10 @@ index 17758c813..6e54b71e8 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 911ea5ca0..59d94dd88 100644 +index a99aabc40..98efce511 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1645,7 +1645,7 @@ public class CraftWorld implements World { +@@ -1620,7 +1620,7 @@ public class CraftWorld implements World { double z = loc.getZ(); PacketPlayOutCustomSoundEffect packet = new PacketPlayOutCustomSoundEffect(new MinecraftKey(sound), SoundCategory.valueOf(category.name()), new Vec3D(x, y, z), volume, pitch); diff --git a/Spigot-Server-Patches/0345-Implement-Force-Loaded-Chunk-API.patch b/Spigot-Server-Patches/0345-Implement-Force-Loaded-Chunk-API.patch index 8a512e219..c1770c658 100644 --- a/Spigot-Server-Patches/0345-Implement-Force-Loaded-Chunk-API.patch +++ b/Spigot-Server-Patches/0345-Implement-Force-Loaded-Chunk-API.patch @@ -1,4 +1,4 @@ -From 01bd6b8df3d94c248bee873ed40243024998f936 Mon Sep 17 00:00:00 2001 +From 6efe491434ee66156df70829d328ebdbb690c1ac Mon Sep 17 00:00:00 2001 From: willies952002 Date: Wed, 29 Aug 2018 00:37:42 -0400 Subject: [PATCH] Implement Force-Loaded Chunk API @@ -28,10 +28,10 @@ index 12c6d850d..b9371e3ae 100644 Arrays.fill(emptySkyLight, (byte) 0xFF); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 59d94dd88..098280e6d 100644 +index 98efce511..13d1551bb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -595,6 +595,12 @@ public class CraftWorld implements World { +@@ -570,6 +570,12 @@ public class CraftWorld implements World { return getChunkAt(location.getBlockX() >> 4, location.getBlockZ() >> 4); } diff --git a/Spigot-Server-Patches/0371-Async-Chunk-Loading-and-Generation.patch b/Spigot-Server-Patches/0371-Async-Chunk-Loading-and-Generation.patch index ab36238bb..3e79d5607 100644 --- a/Spigot-Server-Patches/0371-Async-Chunk-Loading-and-Generation.patch +++ b/Spigot-Server-Patches/0371-Async-Chunk-Loading-and-Generation.patch @@ -1,4 +1,4 @@ -From c3289a26bda694817e0110a865d6807030661c73 Mon Sep 17 00:00:00 2001 +From 7f80524406fbc47888a8909fb32ea6e0545bc294 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 16:55:04 -0400 Subject: [PATCH] Async Chunk Loading and Generation @@ -43,7 +43,7 @@ reading or writing to the chunk will be safe, so plugins still should not be touching chunks asynchronously! diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index b703e08486..77d35ac99d 100644 +index b703e0848..77d35ac99 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -385,4 +385,57 @@ public class PaperConfig { @@ -106,7 +106,7 @@ index b703e08486..77d35ac99d 100644 } diff --git a/src/main/java/com/destroystokyo/paper/util/PriorityQueuedExecutor.java b/src/main/java/com/destroystokyo/paper/util/PriorityQueuedExecutor.java new file mode 100644 -index 0000000000..e589aa356c +index 000000000..e589aa356 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/util/PriorityQueuedExecutor.java @@ -0,0 +1,298 @@ @@ -409,7 +409,7 @@ index 0000000000..e589aa356c + +} diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 479a84a250..340b756bb4 100644 +index 479a84a25..340b756bb 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -184,6 +184,7 @@ public class Chunk implements IChunkAccess { @@ -421,7 +421,7 @@ index 479a84a250..340b756bb4 100644 Iterator iterator = protochunk.s().iterator(); diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java -index 39ac032b0b..1662e4eba5 100644 +index 39ac032b0..1662e4eba 100644 --- a/src/main/java/net/minecraft/server/ChunkMap.java +++ b/src/main/java/net/minecraft/server/ChunkMap.java @@ -14,9 +14,17 @@ public class ChunkMap extends Long2ObjectOpenHashMap { @@ -527,7 +527,7 @@ index 39ac032b0b..1662e4eba5 100644 public Chunk remove(Object object) { diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index e64cb80514..7a1f848863 100644 +index e64cb8051..7a1f84886 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -35,12 +35,12 @@ public class ChunkProviderServer implements IChunkProvider { @@ -677,7 +677,7 @@ index e64cb80514..7a1f848863 100644 } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 9b4bc3ff68..4c22f6d756 100644 +index 9b4bc3ff6..4c22f6d75 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -120,7 +120,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -704,7 +704,7 @@ index 9b4bc3ff68..4c22f6d756 100644 completion = new Supplier() { public NBTTagCompound get() { diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java -index bdfc7d81ff..a5c4564d60 100644 +index bdfc7d81f..a5c4564d6 100644 --- a/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java @@ -24,7 +24,17 @@ public class ChunkSection { @@ -726,7 +726,7 @@ index bdfc7d81ff..a5c4564d60 100644 public IBlockData getType(int i, int j, int k) { return this.blockIds.a(i, j, k); diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java -index 34019bd1b3..fc9091c801 100644 +index 34019bd1b..fc9091c80 100644 --- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java +++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java @@ -20,13 +20,14 @@ public class ChunkTaskScheduler extends Scheduler map) { diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java -index 71a3636be6..ff0fe25417 100644 +index 71a3636be..ff0fe2541 100644 --- a/src/main/java/net/minecraft/server/DataPaletteBlock.java +++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java @@ -3,7 +3,7 @@ package net.minecraft.server; @@ -882,7 +882,7 @@ index 71a3636be6..ff0fe25417 100644 // Paper start - Anti-Xray - Support default methods diff --git a/src/main/java/net/minecraft/server/DefinedStructureManager.java b/src/main/java/net/minecraft/server/DefinedStructureManager.java -index 271dc41d45..bd15534c23 100644 +index 271dc41d4..bd15534c2 100644 --- a/src/main/java/net/minecraft/server/DefinedStructureManager.java +++ b/src/main/java/net/minecraft/server/DefinedStructureManager.java @@ -19,7 +19,7 @@ import org.apache.logging.log4j.Logger; @@ -895,7 +895,7 @@ index 271dc41d45..bd15534c23 100644 private final MinecraftServer d; private final java.nio.file.Path e; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 13c0c7ee89..552be8cd88 100644 +index 13c0c7ee8..552be8cd8 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -209,7 +209,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -908,7 +908,7 @@ index 13c0c7ee89..552be8cd88 100644 this.aJ = Sets.newHashSet(); this.aL = new double[] { 0.0D, 0.0D, 0.0D}; diff --git a/src/main/java/net/minecraft/server/IChunkLoader.java b/src/main/java/net/minecraft/server/IChunkLoader.java -index 4698ee99f8..dfb45cc4ea 100644 +index 4698ee99f..dfb45cc4e 100644 --- a/src/main/java/net/minecraft/server/IChunkLoader.java +++ b/src/main/java/net/minecraft/server/IChunkLoader.java @@ -6,6 +6,8 @@ import javax.annotation.Nullable; @@ -921,7 +921,7 @@ index 4698ee99f8..dfb45cc4ea 100644 Chunk a(GeneratorAccess generatoraccess, int i, int j, Consumer consumer) throws IOException; diff --git a/src/main/java/net/minecraft/server/MathHelper.java b/src/main/java/net/minecraft/server/MathHelper.java -index 49fba0979e..9ad646f8d4 100644 +index 49fba0979..9ad646f8d 100644 --- a/src/main/java/net/minecraft/server/MathHelper.java +++ b/src/main/java/net/minecraft/server/MathHelper.java @@ -142,6 +142,7 @@ public class MathHelper { @@ -933,7 +933,7 @@ index 49fba0979e..9ad646f8d4 100644 fx = fx % 360.0F; if (fx >= 180.0F) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 763130b036..67722440fd 100644 +index 763130b03..67722440f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -503,6 +503,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -1031,7 +1031,7 @@ index 763130b036..67722440fd 100644 diff --git a/src/main/java/net/minecraft/server/PaperAsyncChunkProvider.java b/src/main/java/net/minecraft/server/PaperAsyncChunkProvider.java new file mode 100644 -index 0000000000..c334462f20 +index 000000000..c334462f2 --- /dev/null +++ b/src/main/java/net/minecraft/server/PaperAsyncChunkProvider.java @@ -0,0 +1,619 @@ @@ -1655,7 +1655,7 @@ index 0000000000..c334462f20 + +} diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 2c7c8adf7c..62c524ef35 100644 +index 2c7c8adf7..62c524ef3 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -29,16 +29,59 @@ public class PlayerChunk { @@ -1757,7 +1757,7 @@ index 2c7c8adf7c..62c524ef35 100644 } } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 95baa1dc8b..9f60285868 100644 +index 95baa1dc8..9f6028586 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -27,10 +27,10 @@ public class PlayerChunkMap { @@ -1817,7 +1817,7 @@ index 95baa1dc8b..9f60285868 100644 private void e() { diff --git a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java -index 9c34319b6e..7149b1472b 100644 +index 9c34319b6..7149b1472 100644 --- a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java +++ b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java @@ -35,7 +35,7 @@ public class RegionLimitedWorldAccess implements GeneratorAccess { @@ -1830,7 +1830,7 @@ index 9c34319b6e..7149b1472b 100644 this.m = world.getChunkProvider().getChunkGenerator().getSettings(); this.i = world.getSeaLevel(); diff --git a/src/main/java/net/minecraft/server/SchedulerBatch.java b/src/main/java/net/minecraft/server/SchedulerBatch.java -index d868149d1a..0d45d933ee 100644 +index d868149d1..0d45d933e 100644 --- a/src/main/java/net/minecraft/server/SchedulerBatch.java +++ b/src/main/java/net/minecraft/server/SchedulerBatch.java @@ -9,6 +9,7 @@ public class SchedulerBatch, R> { @@ -1885,7 +1885,7 @@ index d868149d1a..0d45d933ee 100644 } } diff --git a/src/main/java/net/minecraft/server/StructurePiece.java b/src/main/java/net/minecraft/server/StructurePiece.java -index a5cf017da1..def8730b86 100644 +index a5cf017da..def8730b8 100644 --- a/src/main/java/net/minecraft/server/StructurePiece.java +++ b/src/main/java/net/minecraft/server/StructurePiece.java @@ -14,7 +14,7 @@ public abstract class StructurePiece { @@ -1912,7 +1912,7 @@ index a5cf017da1..def8730b86 100644 return null; } diff --git a/src/main/java/net/minecraft/server/StructureStart.java b/src/main/java/net/minecraft/server/StructureStart.java -index 1926c902ad..1117e4ae27 100644 +index 1926c902a..1117e4ae2 100644 --- a/src/main/java/net/minecraft/server/StructureStart.java +++ b/src/main/java/net/minecraft/server/StructureStart.java @@ -6,7 +6,7 @@ import java.util.List; @@ -1961,7 +1961,7 @@ index 1926c902ad..1117e4ae27 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 016d50d3cb..f1495d30cb 100644 +index 016d50d3c..f1495d30c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -46,7 +46,7 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; @@ -2058,7 +2058,7 @@ index 016d50d3cb..f1495d30cb 100644 if (entity == null) return false; if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); return true; } // Paper diff --git a/src/main/java/net/minecraft/server/WorldGenStronghold.java b/src/main/java/net/minecraft/server/WorldGenStronghold.java -index fa99fe0146..4f49786aa3 100644 +index fa99fe014..4f49786aa 100644 --- a/src/main/java/net/minecraft/server/WorldGenStronghold.java +++ b/src/main/java/net/minecraft/server/WorldGenStronghold.java @@ -9,24 +9,29 @@ import java.util.Random; @@ -2205,7 +2205,7 @@ index fa99fe0146..4f49786aa3 100644 } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 6e54b71e88..a54ea5a69c 100644 +index 6e54b71e8..a54ea5a69 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -731,7 +731,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -2218,7 +2218,7 @@ index 6e54b71e88..a54ea5a69c 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 6d72db7bd3..32bf4e589c 100644 +index 6d72db7bd..32bf4e589 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1014,8 +1014,12 @@ public final class CraftServer implements Server { @@ -2246,7 +2246,7 @@ index 6d72db7bd3..32bf4e589c 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 604d1dbb38..fd494e9fc9 100644 +index 9c266b450..f3a9649ef 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -162,6 +162,16 @@ public class CraftWorld implements World { @@ -2266,7 +2266,7 @@ index 604d1dbb38..fd494e9fc9 100644 public Chunk getChunkAt(int x, int z) { return this.world.getChunkProviderServer().getChunkAt(x, z, true, true).bukkitChunk; } -@@ -1481,10 +1491,13 @@ public class CraftWorld implements World { +@@ -1456,10 +1466,13 @@ public class CraftWorld implements World { int chunkCoordZ = chunkcoordinates.getZ() >> 4; // Cycle through the 25x25 Chunks around it to load/unload the chunks. int radius = world.paperConfig.keepLoadedRange / 16; // Paper @@ -2284,7 +2284,7 @@ index 604d1dbb38..fd494e9fc9 100644 if (isChunkLoaded(chunkCoordX + x, chunkCoordZ + z)) { unloadChunk(chunkCoordX + x, chunkCoordZ + z); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 65f133bc1d..f4d1f58b87 100644 +index 439bf2c24..12e6a4ea3 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -78,6 +78,7 @@ public class CraftEventFactory { @@ -2346,7 +2346,7 @@ index 65f133bc1d..f4d1f58b87 100644 if (!event.isCancelled()) { diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java -index 9c2adb2351..62c197b80d 100644 +index 9c2adb235..62c197b80 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java @@ -21,6 +21,7 @@ public class CustomChunkGenerator extends InternalChunkGenerator Date: Sun, 7 Oct 2018 00:54:21 -0500 Subject: [PATCH] Add sun related API @@ -29,10 +29,10 @@ index 23529954b..7914f9b60 100644 return this.G < 4; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index fd494e9fc..29dc2c270 100644 +index f3a9649ef..9f3d87217 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -547,6 +547,12 @@ public class CraftWorld implements World { +@@ -522,6 +522,12 @@ public class CraftWorld implements World { } } diff --git a/Spigot-Server-Patches/0401-Use-EntityTypes-for-living-entities.patch b/Spigot-Server-Patches/0401-Use-EntityTypes-for-living-entities.patch index a2d9da3df..a23e847d1 100644 --- a/Spigot-Server-Patches/0401-Use-EntityTypes-for-living-entities.patch +++ b/Spigot-Server-Patches/0401-Use-EntityTypes-for-living-entities.patch @@ -1,4 +1,4 @@ -From f3e4d066305817657c285030f97479dd74f4303c Mon Sep 17 00:00:00 2001 +From b1ec360d827b7964d124ac30a4bee31f689886b5 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Thu, 4 Oct 2018 10:08:02 -0500 Subject: [PATCH] Use EntityTypes for living entities @@ -699,10 +699,10 @@ index 818e4c376..4f9029c33 100644 entityhorseskeleton.s(true); entityhorseskeleton.setAgeRaw(0); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 29dc2c270..85cc4c4bd 100644 +index 9f3d87217..0eb23d52c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1196,153 +1196,153 @@ public class CraftWorld implements World { +@@ -1171,153 +1171,153 @@ public class CraftWorld implements World { entity.setPositionRotation(x, y, z, 0, 0); } else if (LivingEntity.class.isAssignableFrom(clazz)) { if (Chicken.class.isAssignableFrom(clazz)) { diff --git a/work/CraftBukkit b/work/CraftBukkit index 1057710a7..aed3aecba 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 1057710a78ec00a5812b26ebd800f0b645edde34 +Subproject commit aed3aecbafff223bb8c48ace7cb18f8a7dd0b6d5