diff --git a/Spigot-Server-Patches/0003-mc-dev-imports.patch b/Spigot-Server-Patches/0003-mc-dev-imports.patch index 6fc922a2df..18f6fe177e 100644 --- a/Spigot-Server-Patches/0003-mc-dev-imports.patch +++ b/Spigot-Server-Patches/0003-mc-dev-imports.patch @@ -1,4 +1,4 @@ -From 636e967ef66ae6a0c30fdb012b1db6252fe22aee Mon Sep 17 00:00:00 2001 +From 5007d500210a0bf7fb1ec142b25e624acf4f7240 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 21:09:10 -0600 Subject: [PATCH] mc-dev imports @@ -4902,362 +4902,6 @@ index 0000000..300573a + return this.b(s); + } +} -diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java -new file mode 100644 -index 0000000..2f4265a ---- /dev/null -+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java -@@ -0,0 +1,275 @@ -+package net.minecraft.server; -+ -+public abstract class NavigationAbstract { -+ -+ private static int f = 20; -+ protected EntityInsentient a; -+ protected World b; -+ protected PathEntity c; -+ protected double d; -+ private final AttributeInstance g; -+ private int h; -+ private int i; -+ private Vec3D j; -+ private Vec3D k; -+ private long l; -+ private long m; -+ private double n; -+ private float o; -+ private boolean p; -+ private long q; -+ protected PathfinderAbstract e; -+ private BlockPosition r; -+ private final Pathfinder s; -+ -+ public NavigationAbstract(EntityInsentient entityinsentient, World world) { -+ this.j = Vec3D.a; -+ this.k = Vec3D.a; -+ this.l = 0L; -+ this.m = 0L; -+ this.o = 0.5F; -+ this.a = entityinsentient; -+ this.b = world; -+ this.g = entityinsentient.getAttributeInstance(GenericAttributes.FOLLOW_RANGE); -+ this.s = this.a(); -+ this.b.C().a(this); -+ } -+ -+ protected abstract Pathfinder a(); -+ -+ public void a(double d0) { -+ this.d = d0; -+ } -+ -+ public float h() { -+ return (float) this.g.getValue(); -+ } -+ -+ public boolean i() { -+ return this.p; -+ } -+ -+ public void j() { -+ if (this.b.getTime() - this.q > (long) NavigationAbstract.f) { -+ if (this.r != null) { -+ this.c = null; -+ this.c = this.a(this.r); -+ this.q = this.b.getTime(); -+ this.p = false; -+ } -+ } else { -+ this.p = true; -+ } -+ -+ } -+ -+ public final PathEntity a(double d0, double d1, double d2) { -+ return this.a(new BlockPosition(MathHelper.floor(d0), (int) d1, MathHelper.floor(d2))); -+ } -+ -+ public PathEntity a(BlockPosition blockposition) { -+ if (!this.b()) { -+ return null; -+ } else if (this.c != null && !this.c.b() && blockposition.equals(this.r)) { -+ return this.c; -+ } else { -+ this.r = blockposition; -+ float f = this.h(); -+ -+ this.b.methodProfiler.a("pathfind"); -+ BlockPosition blockposition1 = new BlockPosition(this.a); -+ int i = (int) (f + 8.0F); -+ ChunkCache chunkcache = new ChunkCache(this.b, blockposition1.a(-i, -i, -i), blockposition1.a(i, i, i), 0); -+ PathEntity pathentity = this.s.a(chunkcache, this.a, this.r, f); -+ -+ this.b.methodProfiler.b(); -+ return pathentity; -+ } -+ } -+ -+ public PathEntity a(Entity entity) { -+ if (!this.b()) { -+ return null; -+ } else { -+ BlockPosition blockposition = new BlockPosition(entity); -+ -+ if (this.c != null && !this.c.b() && blockposition.equals(this.r)) { -+ return this.c; -+ } else { -+ this.r = blockposition; -+ float f = this.h(); -+ -+ this.b.methodProfiler.a("pathfind"); -+ BlockPosition blockposition1 = (new BlockPosition(this.a)).up(); -+ int i = (int) (f + 16.0F); -+ ChunkCache chunkcache = new ChunkCache(this.b, blockposition1.a(-i, -i, -i), blockposition1.a(i, i, i), 0); -+ PathEntity pathentity = this.s.a(chunkcache, this.a, entity, f); -+ -+ this.b.methodProfiler.b(); -+ return pathentity; -+ } -+ } -+ } -+ -+ public boolean a(double d0, double d1, double d2, double d3) { -+ PathEntity pathentity = this.a((double) MathHelper.floor(d0), (double) ((int) d1), (double) MathHelper.floor(d2)); -+ -+ return this.a(pathentity, d3); -+ } -+ -+ public boolean a(Entity entity, double d0) { -+ PathEntity pathentity = this.a(entity); -+ -+ return pathentity != null ? this.a(pathentity, d0) : false; -+ } -+ -+ public boolean a(PathEntity pathentity, double d0) { -+ if (pathentity == null) { -+ this.c = null; -+ return false; -+ } else { -+ if (!pathentity.a(this.c)) { -+ this.c = pathentity; -+ } -+ -+ this.d(); -+ if (this.c.d() == 0) { -+ return false; -+ } else { -+ this.d = d0; -+ Vec3D vec3d = this.c(); -+ -+ this.i = this.h; -+ this.j = vec3d; -+ return true; -+ } -+ } -+ } -+ -+ public PathEntity k() { -+ return this.c; -+ } -+ -+ public void l() { -+ ++this.h; -+ if (this.p) { -+ this.j(); -+ } -+ -+ if (!this.n()) { -+ Vec3D vec3d; -+ -+ if (this.b()) { -+ this.m(); -+ } else if (this.c != null && this.c.e() < this.c.d()) { -+ vec3d = this.c(); -+ Vec3D vec3d1 = this.c.a(this.a, this.c.e()); -+ -+ if (vec3d.y > vec3d1.y && !this.a.onGround && MathHelper.floor(vec3d.x) == MathHelper.floor(vec3d1.x) && MathHelper.floor(vec3d.z) == MathHelper.floor(vec3d1.z)) { -+ this.c.c(this.c.e() + 1); -+ } -+ } -+ -+ if (!this.n()) { -+ vec3d = this.c.a((Entity) this.a); -+ if (vec3d != null) { -+ BlockPosition blockposition = (new BlockPosition(vec3d)).down(); -+ AxisAlignedBB axisalignedbb = this.b.getType(blockposition).c(this.b, blockposition); -+ -+ vec3d = vec3d.a(0.0D, 1.0D - axisalignedbb.e, 0.0D); -+ this.a.getControllerMove().a(vec3d.x, vec3d.y, vec3d.z, this.d); -+ } -+ } -+ } -+ } -+ -+ protected void m() { -+ Vec3D vec3d = this.c(); -+ int i = this.c.d(); -+ -+ for (int j = this.c.e(); j < this.c.d(); ++j) { -+ if ((double) this.c.a(j).b != Math.floor(vec3d.y)) { -+ i = j; -+ break; -+ } -+ } -+ -+ this.o = this.a.width > 0.75F ? this.a.width / 2.0F : 0.75F - this.a.width / 2.0F; -+ Vec3D vec3d1 = this.c.f(); -+ -+ if (MathHelper.e((float) (this.a.locX - (vec3d1.x + 0.5D))) < this.o && MathHelper.e((float) (this.a.locZ - (vec3d1.z + 0.5D))) < this.o) { -+ this.c.c(this.c.e() + 1); -+ } -+ -+ int k = MathHelper.f(this.a.width); -+ int l = (int) this.a.length + 1; -+ int i1 = k; -+ -+ for (int j1 = i - 1; j1 >= this.c.e(); --j1) { -+ if (this.a(vec3d, this.c.a(this.a, j1), k, l, i1)) { -+ this.c.c(j1); -+ break; -+ } -+ } -+ -+ this.a(vec3d); -+ } -+ -+ protected void a(Vec3D vec3d) { -+ if (this.h - this.i > 100) { -+ if (vec3d.distanceSquared(this.j) < 2.25D) { -+ this.o(); -+ } -+ -+ this.i = this.h; -+ this.j = vec3d; -+ } -+ -+ if (this.c != null && !this.c.b()) { -+ Vec3D vec3d1 = this.c.f(); -+ -+ if (!vec3d1.equals(this.k)) { -+ this.k = vec3d1; -+ double d0 = vec3d.f(this.k); -+ -+ this.n = this.a.ck() > 0.0F ? d0 / (double) this.a.ck() * 1000.0D : 0.0D; -+ } else { -+ this.l += System.currentTimeMillis() - this.m; -+ } -+ -+ if (this.n > 0.0D && (double) this.l > this.n * 3.0D) { -+ this.k = Vec3D.a; -+ this.l = 0L; -+ this.n = 0.0D; -+ this.o(); -+ } -+ -+ this.m = System.currentTimeMillis(); -+ } -+ -+ } -+ -+ public boolean n() { -+ return this.c == null || this.c.b(); -+ } -+ -+ public void o() { -+ this.c = null; -+ } -+ -+ protected abstract Vec3D c(); -+ -+ protected abstract boolean b(); -+ -+ protected boolean p() { -+ return this.a.isInWater() || this.a.an(); -+ } -+ -+ protected void d() {} -+ -+ protected abstract boolean a(Vec3D vec3d, Vec3D vec3d1, int i, int j, int k); -+ -+ public boolean b(BlockPosition blockposition) { -+ return this.b.getType(blockposition.down()).b(); -+ } -+} -diff --git a/src/main/java/net/minecraft/server/NavigationListener.java b/src/main/java/net/minecraft/server/NavigationListener.java -new file mode 100644 -index 0000000..f82ea80 ---- /dev/null -+++ b/src/main/java/net/minecraft/server/NavigationListener.java -@@ -0,0 +1,69 @@ -+package net.minecraft.server; -+ -+import java.util.WeakHashMap; -+ -+public class NavigationListener implements IWorldAccess { -+ -+ private static final Object a = new Object(); -+ private final WeakHashMap b = new WeakHashMap(); -+ -+ public NavigationListener() {} -+ -+ public void a(NavigationAbstract navigationabstract) { -+ this.b.put(navigationabstract, NavigationListener.a); -+ } -+ -+ public void a(World world, BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1, int i) { -+ if (this.a(world, blockposition, iblockdata, iblockdata1)) { -+ NavigationAbstract[] anavigationabstract = (NavigationAbstract[]) this.b.keySet().toArray(new NavigationAbstract[0]); -+ NavigationAbstract[] anavigationabstract1 = anavigationabstract; -+ int j = anavigationabstract.length; -+ -+ for (int k = 0; k < j; ++k) { -+ NavigationAbstract navigationabstract = anavigationabstract1[k]; -+ -+ if (navigationabstract != null && !navigationabstract.i()) { -+ PathEntity pathentity = navigationabstract.k(); -+ -+ if (pathentity != null && !pathentity.b() && pathentity.d() != 0) { -+ PathPoint pathpoint = navigationabstract.c.c(); -+ double d0 = blockposition.distanceSquared(((double) pathpoint.a + navigationabstract.a.locX) / 2.0D, ((double) pathpoint.b + navigationabstract.a.locY) / 2.0D, ((double) pathpoint.c + navigationabstract.a.locZ) / 2.0D); -+ int l = (pathentity.d() - pathentity.e()) * (pathentity.d() - pathentity.e()); -+ -+ if (d0 < (double) l) { -+ navigationabstract.j(); -+ } -+ } -+ } -+ } -+ -+ } -+ } -+ -+ protected boolean a(World world, BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1) { -+ AxisAlignedBB axisalignedbb = iblockdata.d(world, blockposition); -+ AxisAlignedBB axisalignedbb1 = iblockdata1.d(world, blockposition); -+ -+ return axisalignedbb != axisalignedbb1 && (axisalignedbb == null || !axisalignedbb.equals(axisalignedbb1)); -+ } -+ -+ public void a(BlockPosition blockposition) {} -+ -+ public void a(int i, int j, int k, int l, int i1, int j1) {} -+ -+ public void a(EntityHuman entityhuman, SoundEffect soundeffect, SoundCategory soundcategory, double d0, double d1, double d2, float f, float f1) {} -+ -+ public void a(int i, boolean flag, double d0, double d1, double d2, double d3, double d4, double d5, int... aint) {} -+ -+ public void a(Entity entity) {} -+ -+ public void b(Entity entity) {} -+ -+ public void a(SoundEffect soundeffect, BlockPosition blockposition) {} -+ -+ public void a(int i, BlockPosition blockposition, int j) {} -+ -+ public void a(EntityHuman entityhuman, int i, BlockPosition blockposition, int j) {} -+ -+ public void b(int i, BlockPosition blockposition, int j) {} -+} diff --git a/src/main/java/net/minecraft/server/PacketPlayInResourcePackStatus.java b/src/main/java/net/minecraft/server/PacketPlayInResourcePackStatus.java new file mode 100644 index 0000000..30ca225 @@ -5836,5 +5480,5 @@ index 0000000..2286c9e + } +} -- -2.7.4 +2.7.3 diff --git a/Spigot-Server-Patches/0078-Don-t-nest-if-we-don-t-need-to-when-cerealising-text.patch b/Spigot-Server-Patches/0077-Don-t-nest-if-we-don-t-need-to-when-cerealising-text.patch similarity index 95% rename from Spigot-Server-Patches/0078-Don-t-nest-if-we-don-t-need-to-when-cerealising-text.patch rename to Spigot-Server-Patches/0077-Don-t-nest-if-we-don-t-need-to-when-cerealising-text.patch index d4605428c1..2e6e3bfb80 100644 --- a/Spigot-Server-Patches/0078-Don-t-nest-if-we-don-t-need-to-when-cerealising-text.patch +++ b/Spigot-Server-Patches/0077-Don-t-nest-if-we-don-t-need-to-when-cerealising-text.patch @@ -1,4 +1,4 @@ -From af2e610ee6d63769448b95cc2386e9bf73beb02d Mon Sep 17 00:00:00 2001 +From c2c05904915d7f992a37630a29b4ec7531065334 Mon Sep 17 00:00:00 2001 From: kashike Date: Tue, 8 Mar 2016 18:28:43 -0800 Subject: [PATCH] Don't nest if we don't need to when cerealising text @@ -26,5 +26,5 @@ index c0e1199..bc6c054 100644 packetdataserializer.a(this.a); } -- -2.7.2 +2.7.3 diff --git a/Spigot-Server-Patches/0077-Optimize-Navigation-Listener.patch b/Spigot-Server-Patches/0077-Optimize-Navigation-Listener.patch deleted file mode 100644 index 4c2845f80a..0000000000 --- a/Spigot-Server-Patches/0077-Optimize-Navigation-Listener.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 7a0a329dd1092b98f0951ae49af15c56d210d6d9 Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Tue, 8 Mar 2016 19:13:54 -0500 -Subject: [PATCH] Optimize Navigation Listener - -Mojang was abusing a WeakHashMap to do clean up. However this has some -scary object life concerns as you could have a NavigationListener being -ticked even after the entity it was bound to was removed from world. - -Switching this to an Array List gives superior iteration performance -at a slight cost to removal performance. - -Additionally, change listener registration to be done upon world add -instead of immediate up creation. - -This provides benefit of only registering and ticking REAL Navigation -objects, and not invalid entities (cancelled entity spawns for example) - -Gives us a much leaner NavigationListener list. - -diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java -index 7d794b9..aa18f54 100644 ---- a/src/main/java/net/minecraft/server/NavigationAbstract.java -+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java -@@ -32,7 +32,7 @@ public abstract class NavigationAbstract { - this.b = world; - this.g = entityinsentient.getAttributeInstance(GenericAttributes.FOLLOW_RANGE); - this.s = this.a(); -- this.b.C().a(this); -+ //this.b.C().a(this); // Paper - Optimized Nav Listener - registered on world add - } - - protected abstract Pathfinder a(); -diff --git a/src/main/java/net/minecraft/server/NavigationListener.java b/src/main/java/net/minecraft/server/NavigationListener.java -index f82ea80..963a0e7 100644 ---- a/src/main/java/net/minecraft/server/NavigationListener.java -+++ b/src/main/java/net/minecraft/server/NavigationListener.java -@@ -1,26 +1,35 @@ - package net.minecraft.server; - -+import java.util.ArrayList; // Paper -+import java.util.List; // Paper - import java.util.WeakHashMap; - - public class NavigationListener implements IWorldAccess { - - private static final Object a = new Object(); -- private final WeakHashMap b = new WeakHashMap(); -+ private final List navigators = new ArrayList<>(); // Paper - - public NavigationListener() {} - - public void a(NavigationAbstract navigationabstract) { -- this.b.put(navigationabstract, NavigationListener.a); -+ //this.b.put(navigationabstract, NavigationListener.a); // Paper -+ System.err.println("Unexpected NavigationListener add"); // Paper - } - - public void a(World world, BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1, int i) { - if (this.a(world, blockposition, iblockdata, iblockdata1)) { -+ /* // Paper start - NavigationAbstract[] anavigationabstract = (NavigationAbstract[]) this.b.keySet().toArray(new NavigationAbstract[0]); - NavigationAbstract[] anavigationabstract1 = anavigationabstract; - int j = anavigationabstract.length; - -- for (int k = 0; k < j; ++k) { -- NavigationAbstract navigationabstract = anavigationabstract1[k]; -+ */ -+ // DO NOT USE AN ITERATOR! This must be a for (;;) to avoid CME. -+ // This is perfectly safe, as additions are ok to be done in this iteration -+ // and Removals are queued instead of immediate. -+ for (int k = 0; k < this.navigators.size(); ++k) { -+ NavigationAbstract navigationabstract = this.navigators.get(k); -+ // Paper end - - if (navigationabstract != null && !navigationabstract.i()) { - PathEntity pathentity = navigationabstract.k(); -@@ -55,9 +64,21 @@ public class NavigationListener implements IWorldAccess { - - public void a(int i, boolean flag, double d0, double d1, double d2, double d3, double d4, double d5, int... aint) {} - -- public void a(Entity entity) {} -+ public void a(Entity entity) { -+ // Paper start -+ if (entity instanceof EntityInsentient) { -+ this.navigators.add(((EntityInsentient) entity).navigation); -+ } -+ // Paper end -+ } - -- public void b(Entity entity) {} -+ public void b(Entity entity) { -+ // Paper start -+ if (entity instanceof EntityInsentient) { -+ this.navigators.remove(((EntityInsentient) entity).navigation); -+ } -+ // Paper end -+ } - - public void a(SoundEffect soundeffect, BlockPosition blockposition) {} - --- -2.7.3 - diff --git a/Spigot-Server-Patches/0079-Disable-Scoreboards-for-non-players-by-default.patch b/Spigot-Server-Patches/0078-Disable-Scoreboards-for-non-players-by-default.patch similarity index 97% rename from Spigot-Server-Patches/0079-Disable-Scoreboards-for-non-players-by-default.patch rename to Spigot-Server-Patches/0078-Disable-Scoreboards-for-non-players-by-default.patch index c23116b3de..4bb5ccfaa7 100644 --- a/Spigot-Server-Patches/0079-Disable-Scoreboards-for-non-players-by-default.patch +++ b/Spigot-Server-Patches/0078-Disable-Scoreboards-for-non-players-by-default.patch @@ -1,4 +1,4 @@ -From 11111d3ecaacfd66ca1678680b23a8aa9d6b8cde Mon Sep 17 00:00:00 2001 +From 821a19198ac0334421250b89174b7b353543e9c2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 8 Mar 2016 23:25:45 -0500 Subject: [PATCH] Disable Scoreboards for non players by default diff --git a/Spigot-Server-Patches/0080-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/Spigot-Server-Patches/0079-Add-methods-for-working-with-arrows-stuck-in-living-.patch similarity index 96% rename from Spigot-Server-Patches/0080-Add-methods-for-working-with-arrows-stuck-in-living-.patch rename to Spigot-Server-Patches/0079-Add-methods-for-working-with-arrows-stuck-in-living-.patch index 1f6a597ace..70000fb5ff 100644 --- a/Spigot-Server-Patches/0080-Add-methods-for-working-with-arrows-stuck-in-living-.patch +++ b/Spigot-Server-Patches/0079-Add-methods-for-working-with-arrows-stuck-in-living-.patch @@ -1,4 +1,4 @@ -From cb235b47d0b86defc04f886883da0a4cdae9ab81 Mon Sep 17 00:00:00 2001 +From 0b995071bedb2a68563ceba6087ca30fd007ff92 Mon Sep 17 00:00:00 2001 From: mrapple Date: Sun, 25 Nov 2012 13:43:39 -0600 Subject: [PATCH] Add methods for working with arrows stuck in living entities @@ -43,5 +43,5 @@ index 6f25d18..693d5cb 100644 + // Paper end } -- -2.7.4 +2.7.3 diff --git a/Spigot-Server-Patches/0081-Complete-resource-pack-API.patch b/Spigot-Server-Patches/0080-Complete-resource-pack-API.patch similarity index 98% rename from Spigot-Server-Patches/0081-Complete-resource-pack-API.patch rename to Spigot-Server-Patches/0080-Complete-resource-pack-API.patch index 325c613cc8..096e80bdbc 100644 --- a/Spigot-Server-Patches/0081-Complete-resource-pack-API.patch +++ b/Spigot-Server-Patches/0080-Complete-resource-pack-API.patch @@ -1,4 +1,4 @@ -From bf6283b5e4de9efb88ab98d75a5ccc628997f268 Mon Sep 17 00:00:00 2001 +From f73bf84af55020b362b2dca1b51f1f706c0e4205 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sat, 4 Apr 2015 23:17:52 -0400 Subject: [PATCH] Complete resource pack API @@ -86,5 +86,5 @@ index 4be2653..b2b2bf4 100644 // Spigot start -- -2.7.2 +2.7.3 diff --git a/Spigot-Server-Patches/0082-Re-add-Spigot-s-hopper-check-feature.patch b/Spigot-Server-Patches/0081-Re-add-Spigot-s-hopper-check-feature.patch similarity index 96% rename from Spigot-Server-Patches/0082-Re-add-Spigot-s-hopper-check-feature.patch rename to Spigot-Server-Patches/0081-Re-add-Spigot-s-hopper-check-feature.patch index 73359d7028..291c9ddb6a 100644 --- a/Spigot-Server-Patches/0082-Re-add-Spigot-s-hopper-check-feature.patch +++ b/Spigot-Server-Patches/0081-Re-add-Spigot-s-hopper-check-feature.patch @@ -1,4 +1,4 @@ -From 43a8b5d2e760a663bf8674cdb794e510f3c3d62d Mon Sep 17 00:00:00 2001 +From 50ce8bd11dd95b966cc1d566901c12c92f0c707c Mon Sep 17 00:00:00 2001 From: Byteflux Date: Sat, 12 Mar 2016 13:37:50 -0600 Subject: [PATCH] Re-add Spigot's hopper-check feature diff --git a/Spigot-Server-Patches/0083-Chunk-save-queue-improvements.patch b/Spigot-Server-Patches/0082-Chunk-save-queue-improvements.patch similarity index 99% rename from Spigot-Server-Patches/0083-Chunk-save-queue-improvements.patch rename to Spigot-Server-Patches/0082-Chunk-save-queue-improvements.patch index 02c2efc8fb..7c04380295 100644 --- a/Spigot-Server-Patches/0083-Chunk-save-queue-improvements.patch +++ b/Spigot-Server-Patches/0082-Chunk-save-queue-improvements.patch @@ -1,4 +1,4 @@ -From 009f6b77c95094a9d2e9698ab89a0ae8eaa539b4 Mon Sep 17 00:00:00 2001 +From 3f15c4026c0860a835923d5c3acd6f93e06ddf8b Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 4 Mar 2016 18:18:37 -0600 Subject: [PATCH] Chunk save queue improvements diff --git a/Spigot-Server-Patches/0084-Chunk-Save-Reattempt.patch b/Spigot-Server-Patches/0083-Chunk-Save-Reattempt.patch similarity index 97% rename from Spigot-Server-Patches/0084-Chunk-Save-Reattempt.patch rename to Spigot-Server-Patches/0083-Chunk-Save-Reattempt.patch index ae4dca4f1d..fd38a0a75f 100644 --- a/Spigot-Server-Patches/0084-Chunk-Save-Reattempt.patch +++ b/Spigot-Server-Patches/0083-Chunk-Save-Reattempt.patch @@ -1,4 +1,4 @@ -From 798d650695eced24d570d3234da5daf0176aa1ab Mon Sep 17 00:00:00 2001 +From 8136953d20cd31bbf60401988b9be1e6373fdcfb Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 4 Mar 2013 23:46:10 -0500 Subject: [PATCH] Chunk Save Reattempt diff --git a/Spigot-Server-Patches/0085-Default-loading-permissions.yml-before-plugins.patch b/Spigot-Server-Patches/0084-Default-loading-permissions.yml-before-plugins.patch similarity index 97% rename from Spigot-Server-Patches/0085-Default-loading-permissions.yml-before-plugins.patch rename to Spigot-Server-Patches/0084-Default-loading-permissions.yml-before-plugins.patch index 06ba9fe13c..3692d52773 100644 --- a/Spigot-Server-Patches/0085-Default-loading-permissions.yml-before-plugins.patch +++ b/Spigot-Server-Patches/0084-Default-loading-permissions.yml-before-plugins.patch @@ -1,4 +1,4 @@ -From 64de83ecd218a34a0c0abccbe67882e3fd47504b Mon Sep 17 00:00:00 2001 +From a3aaf71e3a2304bfc6b4d3f805f8a7d76b0975a1 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 13:17:38 -0400 Subject: [PATCH] Default loading permissions.yml before plugins diff --git a/Spigot-Server-Patches/0086-Invalidate-Metadata-on-reload.patch b/Spigot-Server-Patches/0085-Invalidate-Metadata-on-reload.patch similarity index 99% rename from Spigot-Server-Patches/0086-Invalidate-Metadata-on-reload.patch rename to Spigot-Server-Patches/0085-Invalidate-Metadata-on-reload.patch index 2e79e645ed..03e58e61ec 100644 --- a/Spigot-Server-Patches/0086-Invalidate-Metadata-on-reload.patch +++ b/Spigot-Server-Patches/0085-Invalidate-Metadata-on-reload.patch @@ -1,4 +1,4 @@ -From e6f2d392781558710a109c36cd8359d14c66d019 Mon Sep 17 00:00:00 2001 +From e8d5f3cee9c2a6fe8125553eadbb0b198368f560 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 13:50:14 -0400 Subject: [PATCH] Invalidate Metadata on reload diff --git a/Spigot-Server-Patches/0087-Undead-horse-leashing.patch b/Spigot-Server-Patches/0086-Undead-horse-leashing.patch similarity index 95% rename from Spigot-Server-Patches/0087-Undead-horse-leashing.patch rename to Spigot-Server-Patches/0086-Undead-horse-leashing.patch index a5204cb65a..f03af43ccc 100644 --- a/Spigot-Server-Patches/0087-Undead-horse-leashing.patch +++ b/Spigot-Server-Patches/0086-Undead-horse-leashing.patch @@ -1,4 +1,4 @@ -From 061b3ef97d23ed3950196836e50da0c62bf08d38 Mon Sep 17 00:00:00 2001 +From 2629402186e7795e1e17a135a3e965758f55d300 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 14:19:19 -0400 Subject: [PATCH] Undead horse leashing diff --git a/Spigot-Server-Patches/0088-Fix-Furnace-cook-time-bug.patch b/Spigot-Server-Patches/0087-Fix-Furnace-cook-time-bug.patch similarity index 94% rename from Spigot-Server-Patches/0088-Fix-Furnace-cook-time-bug.patch rename to Spigot-Server-Patches/0087-Fix-Furnace-cook-time-bug.patch index 71e2dd5821..f2421b4476 100644 --- a/Spigot-Server-Patches/0088-Fix-Furnace-cook-time-bug.patch +++ b/Spigot-Server-Patches/0087-Fix-Furnace-cook-time-bug.patch @@ -1,4 +1,4 @@ -From 11d6a09a93d8d330f13366fe04a374eefbb85547 Mon Sep 17 00:00:00 2001 +From 76ca6e71647989c7af2780e5246f9e9ae389df13 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 14:24:53 -0400 Subject: [PATCH] Fix Furnace cook time bug diff --git a/Spigot-Server-Patches/0089-Handle-Item-Meta-Inconsistencies.patch b/Spigot-Server-Patches/0088-Handle-Item-Meta-Inconsistencies.patch similarity index 99% rename from Spigot-Server-Patches/0089-Handle-Item-Meta-Inconsistencies.patch rename to Spigot-Server-Patches/0088-Handle-Item-Meta-Inconsistencies.patch index 4374a54baa..a0353cb449 100644 --- a/Spigot-Server-Patches/0089-Handle-Item-Meta-Inconsistencies.patch +++ b/Spigot-Server-Patches/0088-Handle-Item-Meta-Inconsistencies.patch @@ -1,4 +1,4 @@ -From 5207c4aef31a69a4f9cded63c9b90e056c7f9d50 Mon Sep 17 00:00:00 2001 +From efe95b788587939d67d7add7914c4272aef31230 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 May 2015 23:00:19 -0400 Subject: [PATCH] Handle Item Meta Inconsistencies diff --git a/Spigot-Server-Patches/0090-Configurable-Non-Player-Arrow-Despawn-Rate.patch b/Spigot-Server-Patches/0089-Configurable-Non-Player-Arrow-Despawn-Rate.patch similarity index 96% rename from Spigot-Server-Patches/0090-Configurable-Non-Player-Arrow-Despawn-Rate.patch rename to Spigot-Server-Patches/0089-Configurable-Non-Player-Arrow-Despawn-Rate.patch index 3d66ef0bdb..fe5ae9d776 100644 --- a/Spigot-Server-Patches/0090-Configurable-Non-Player-Arrow-Despawn-Rate.patch +++ b/Spigot-Server-Patches/0089-Configurable-Non-Player-Arrow-Despawn-Rate.patch @@ -1,4 +1,4 @@ -From 62ffb05812c537072f184c2b561f62d77f4750b5 Mon Sep 17 00:00:00 2001 +From d921e3e3b88a48583a089c24d5372d27e6bd4ea2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 15:12:22 -0400 Subject: [PATCH] Configurable Non Player Arrow Despawn Rate diff --git a/Spigot-Server-Patches/0091-Optimize-Chunk-Unload-Queue.patch b/Spigot-Server-Patches/0090-Optimize-Chunk-Unload-Queue.patch similarity index 99% rename from Spigot-Server-Patches/0091-Optimize-Chunk-Unload-Queue.patch rename to Spigot-Server-Patches/0090-Optimize-Chunk-Unload-Queue.patch index 78fa9507aa..e189c8c132 100644 --- a/Spigot-Server-Patches/0091-Optimize-Chunk-Unload-Queue.patch +++ b/Spigot-Server-Patches/0090-Optimize-Chunk-Unload-Queue.patch @@ -1,4 +1,4 @@ -From a129b303afc36a4e665fc1328a68aa307e09f0f0 Mon Sep 17 00:00:00 2001 +From 3f28611a24fa1d3b92132c6755774d90f0cce970 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 17:57:25 -0400 Subject: [PATCH] Optimize Chunk Unload Queue @@ -175,7 +175,7 @@ index 63e118d..721bcae 100644 i += server.getChunkAt( x, z ).entityCount.get( oClass ); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 40338c0..c6b70b6 100644 +index be311cd..66d3e94 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -232,7 +232,7 @@ public class CraftWorld implements World { @@ -228,5 +228,5 @@ index 482af17..a1a6d5a 100644 neighbor.setNeighborLoaded(-x, -z); chunk.setNeighborLoaded(x, z); -- -2.7.4 +2.7.3 diff --git a/Spigot-Server-Patches/0092-Optimize-BlockStateList-BlockData.patch b/Spigot-Server-Patches/0091-Optimize-BlockStateList-BlockData.patch similarity index 97% rename from Spigot-Server-Patches/0092-Optimize-BlockStateList-BlockData.patch rename to Spigot-Server-Patches/0091-Optimize-BlockStateList-BlockData.patch index f06802f925..522f2e169d 100644 --- a/Spigot-Server-Patches/0092-Optimize-BlockStateList-BlockData.patch +++ b/Spigot-Server-Patches/0091-Optimize-BlockStateList-BlockData.patch @@ -1,4 +1,4 @@ -From 23c5437c07a1bf673509fc5f20aed2117defe615 Mon Sep 17 00:00:00 2001 +From b13bb267023ea301e6788d681b6c894611645c8b Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 19:15:44 -0400 Subject: [PATCH] Optimize BlockStateList/BlockData @@ -41,5 +41,5 @@ index a11c62f..43f198b 100644 public ImmutableMap, Comparable> s() { -- -2.7.4 +2.7.3 diff --git a/Spigot-Server-Patches/0093-Add-World-Util-Methods.patch b/Spigot-Server-Patches/0092-Add-World-Util-Methods.patch similarity index 98% rename from Spigot-Server-Patches/0093-Add-World-Util-Methods.patch rename to Spigot-Server-Patches/0092-Add-World-Util-Methods.patch index f732d1d2e7..9d2d525499 100644 --- a/Spigot-Server-Patches/0093-Add-World-Util-Methods.patch +++ b/Spigot-Server-Patches/0092-Add-World-Util-Methods.patch @@ -1,4 +1,4 @@ -From 965df3c371af6bc8f0725dbaa14200f65cf61785 Mon Sep 17 00:00:00 2001 +From 0ef28b03fcca5f758ec4080fe0fcf19baf7b1881 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 20:16:03 -0400 Subject: [PATCH] Add World Util Methods @@ -93,5 +93,5 @@ index b356aa6..dafe3b2 100644 // CraftBukkit start - tree generation if (captureTreeGeneration) { -- -2.7.4 +2.7.3 diff --git a/Spigot-Server-Patches/0094-Optimized-Light-Level-Comparisons.patch b/Spigot-Server-Patches/0093-Optimized-Light-Level-Comparisons.patch similarity index 99% rename from Spigot-Server-Patches/0094-Optimized-Light-Level-Comparisons.patch rename to Spigot-Server-Patches/0093-Optimized-Light-Level-Comparisons.patch index aa1deb3bbb..5aa4cbfb9d 100644 --- a/Spigot-Server-Patches/0094-Optimized-Light-Level-Comparisons.patch +++ b/Spigot-Server-Patches/0093-Optimized-Light-Level-Comparisons.patch @@ -1,4 +1,4 @@ -From bd1318892df7666bce22dfd3884b8a2cce99024e Mon Sep 17 00:00:00 2001 +From ec825855931a7fc5824289d9c60a1fbd69809887 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 21:22:56 -0400 Subject: [PATCH] Optimized Light Level Comparisons @@ -131,5 +131,5 @@ index 949452c..d6c07a2 100644 if (!this.world.isPlayerNearby((double) i1, (double) j1, (double) k1, 7.0D) && this.world.a(entityzombie.getBoundingBox(), (Entity) entityzombie) && this.world.getCubes(entityzombie, entityzombie.getBoundingBox()).isEmpty() && !this.world.containsLiquid(entityzombie.getBoundingBox())) { this.world.addEntity(entityzombie, CreatureSpawnEvent.SpawnReason.REINFORCEMENTS); // CraftBukkit -- -2.7.4 +2.7.3 diff --git a/Spigot-Server-Patches/0095-Revert-Spigot-changes-to-blocking-code-fix-issue-whe.patch b/Spigot-Server-Patches/0094-Revert-Spigot-changes-to-blocking-code-fix-issue-whe.patch similarity index 97% rename from Spigot-Server-Patches/0095-Revert-Spigot-changes-to-blocking-code-fix-issue-whe.patch rename to Spigot-Server-Patches/0094-Revert-Spigot-changes-to-blocking-code-fix-issue-whe.patch index b7282e9842..948fb7e282 100644 --- a/Spigot-Server-Patches/0095-Revert-Spigot-changes-to-blocking-code-fix-issue-whe.patch +++ b/Spigot-Server-Patches/0094-Revert-Spigot-changes-to-blocking-code-fix-issue-whe.patch @@ -1,4 +1,4 @@ -From 7753525019a5b4ca88a9d28322329d8f6d76e14a Mon Sep 17 00:00:00 2001 +From 352b49921f8668d23b12b13a0cccd1a929ad9d86 Mon Sep 17 00:00:00 2001 From: DemonWav Date: Sat, 19 Mar 2016 12:14:50 -0500 Subject: [PATCH] Revert Spigot changes to blocking code, fix issue where diff --git a/Spigot-Server-Patches/0096-Pass-world-to-Village-creation.patch b/Spigot-Server-Patches/0095-Pass-world-to-Village-creation.patch similarity index 95% rename from Spigot-Server-Patches/0096-Pass-world-to-Village-creation.patch rename to Spigot-Server-Patches/0095-Pass-world-to-Village-creation.patch index 75f72c48f2..6d5dad1eb8 100644 --- a/Spigot-Server-Patches/0096-Pass-world-to-Village-creation.patch +++ b/Spigot-Server-Patches/0095-Pass-world-to-Village-creation.patch @@ -1,4 +1,4 @@ -From 1937f16e1e4eb1172c75ee7b08e3e176e86e33a2 Mon Sep 17 00:00:00 2001 +From 7c2acad690c96df7fbb0aed0428251d272d81c02 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 19 Mar 2016 15:16:54 -0400 Subject: [PATCH] Pass world to Village creation @@ -32,5 +32,5 @@ index 932eeb7..9b59dcb 100644 this.d = BlockPosition.ZERO; this.j = new TreeMap(); -- -2.7.4 +2.7.3 diff --git a/Spigot-Server-Patches/0097-Custom-replacement-for-eaten-items.patch b/Spigot-Server-Patches/0096-Custom-replacement-for-eaten-items.patch similarity index 96% rename from Spigot-Server-Patches/0097-Custom-replacement-for-eaten-items.patch rename to Spigot-Server-Patches/0096-Custom-replacement-for-eaten-items.patch index 99ee80b25d..9af7e0fe24 100644 --- a/Spigot-Server-Patches/0097-Custom-replacement-for-eaten-items.patch +++ b/Spigot-Server-Patches/0096-Custom-replacement-for-eaten-items.patch @@ -1,4 +1,4 @@ -From 40e17a07a01c12f1d76bb1fcb944a6182976f124 Mon Sep 17 00:00:00 2001 +From de05a5dbaa3091c15b701ddae3482249ad0fc4c2 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sun, 21 Jun 2015 15:07:20 -0400 Subject: [PATCH] Custom replacement for eaten items diff --git a/Spigot-Server-Patches/0098-Set-health-before-death-event.patch b/Spigot-Server-Patches/0097-Set-health-before-death-event.patch similarity index 96% rename from Spigot-Server-Patches/0098-Set-health-before-death-event.patch rename to Spigot-Server-Patches/0097-Set-health-before-death-event.patch index cb769f76f1..70d6081aa6 100644 --- a/Spigot-Server-Patches/0098-Set-health-before-death-event.patch +++ b/Spigot-Server-Patches/0097-Set-health-before-death-event.patch @@ -1,4 +1,4 @@ -From 9d6816715ea3547ca50e0a60b18721a338f58329 Mon Sep 17 00:00:00 2001 +From eef7f73163efe6762aeed5ad0f994f63050bf159 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sun, 19 Jul 2015 16:51:38 -0400 Subject: [PATCH] Set health before death event @@ -46,5 +46,5 @@ index 693d5cb..ef522e7 100644 public double getMaxHealth() { -- -2.7.2 +2.7.3