diff --git a/Spigot-Server-Patches/0022-Optimize-TileEntity-Ticking.patch b/Spigot-Server-Patches/0022-Optimize-TileEntity-Ticking.patch index 5b4599dfc4..31cd38c940 100644 --- a/Spigot-Server-Patches/0022-Optimize-TileEntity-Ticking.patch +++ b/Spigot-Server-Patches/0022-Optimize-TileEntity-Ticking.patch @@ -1,90 +1,201 @@ -From aa2e76930579e08f02deb52ab784371c7bad93fa Mon Sep 17 00:00:00 2001 +From 5a25c7f79274223ab53f27336824a0d251c15f30 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 8 Mar 2015 01:56:22 -0600 Subject: [PATCH] Optimize TileEntity Ticking -diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index c268a40..1971941 100644 ---- a/src/main/java/net/minecraft/server/TileEntity.java -+++ b/src/main/java/net/minecraft/server/TileEntity.java -@@ -21,6 +21,12 @@ public abstract class TileEntity { - private int h; - protected Block e; - -+ // PaperSpigot start - Optimized TileEntity tick changes -+ private static int tileEntityCounter = 0; -+ public boolean isAdded = false; -+ public int tileId = tileEntityCounter++; -+ // PaperSpigot end -+ - public TileEntity() { - this.position = BlockPosition.ZERO; - this.h = -1; -diff --git a/src/main/java/net/minecraft/server/TileEntityBeacon.java b/src/main/java/net/minecraft/server/TileEntityBeacon.java -index 4f280dd..3ea1b62 100644 ---- a/src/main/java/net/minecraft/server/TileEntityBeacon.java -+++ b/src/main/java/net/minecraft/server/TileEntityBeacon.java -@@ -48,7 +48,7 @@ public class TileEntityBeacon extends TileEntityContainer implements IUpdatePlay - public TileEntityBeacon() {} - - public void c() { -- if (this.world.getTime() % 80L == 0L) { -+ if (true || this.world.getTime() % 80L == 0L) { // PaperSpigot - Controlled by improved tick handling - this.m(); - } - diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java -index 5eb55e5..b31973a 100644 +index 5eb55e5..5192d95 100644 --- a/src/main/java/net/minecraft/server/TileEntityChest.java +++ b/src/main/java/net/minecraft/server/TileEntityChest.java -@@ -246,7 +246,7 @@ public class TileEntityChest extends TileEntityContainer implements IUpdatePlaye - ++this.n; - float f; +@@ -8,17 +8,17 @@ import org.bukkit.craftbukkit.entity.CraftHumanEntity; + import org.bukkit.entity.HumanEntity; + // CraftBukkit end -- if (!this.world.isClientSide && this.l != 0 && (this.n + i + j + k) % 200 == 0) { -+ if (!this.world.isClientSide && this.l != 0 && (this.n + i + j + k) % 10 == 0) { // PaperSpigot - Reduced 200 -> 10 due to reduced interval from improved tick handling - this.l = 0; - f = 5.0F; - List list = this.world.a(EntityHuman.class, new AxisAlignedBB((double) ((float) i - f), (double) ((float) j - f), (double) ((float) k - f), (double) ((float) (i + 1) + f), (double) ((float) (j + 1) + f), (double) ((float) (k + 1) + f))); +-public class TileEntityChest extends TileEntityContainer implements IUpdatePlayerListBox, IInventory { ++public class TileEntityChest extends TileEntityContainer implements IInventory { // PaperSpigot - remove IUpdatePlayerListBox + + private ItemStack[] items = new ItemStack[27]; + public boolean a; +- public TileEntityChest f; +- public TileEntityChest g; +- public TileEntityChest h; +- public TileEntityChest i; +- public float j; ++ public TileEntityChest f; // PaperSpigot - adjacentChestZNeg ++ public TileEntityChest g; // PaperSpigot - adjacentChestXPos ++ public TileEntityChest h; // PaperSpigot - adjacentChestXNeg ++ public TileEntityChest i; // PaperSpigot - adjacentChestZPos ++ public float j; // PaperSpigot - lidAngle + public float k; +- public int l; ++ public int l; // PaperSpigot - numPlayersUsing + private int n; + private int o = -1; + private String p; +@@ -238,6 +238,8 @@ public class TileEntityChest extends TileEntityContainer implements IUpdatePlaye + } + + public void c() { ++ // PaperSpigot - Move chest sounds out of the tick loop ++ /* + this.m(); + int i = this.position.getX(); + int j = this.position.getY(); +@@ -318,7 +320,8 @@ public class TileEntityChest extends TileEntityContainer implements IUpdatePlaye + this.j = 0.0F; + } + } +- ++ */ ++ // PaperSpigot end + } + + public boolean c(int i, int j) { +@@ -339,6 +342,28 @@ public class TileEntityChest extends TileEntityContainer implements IUpdatePlaye + + ++this.l; + if (this.world == null) return; // CraftBukkit ++ ++ // PaperSpigot start - Move chest open sound out of the tick loop ++ this.m(); ++ ++ if (this.l > 0 && this.j == 0.0F && this.f == null && this.h == null) { ++ this.j = 0.7F; ++ ++ double d0 = (double) this.position.getZ() + 0.5D; ++ double d1 = (double) this.position.getX() + 0.5D; ++ ++ if (this.i != null) { ++ d0 += 0.5D; ++ } ++ ++ if (this.g != null) { ++ d1 += 0.5D; ++ } ++ ++ this.world.makeSound(d1, (double) this.position.getY() + 0.5D, d0, "random.chestopen", 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); ++ } ++ // PaperSpigot end ++ + this.world.playBlockAction(this.position, this.w(), 1, this.l); + + // CraftBukkit start - Call redstone event +@@ -361,6 +386,33 @@ public class TileEntityChest extends TileEntityContainer implements IUpdatePlaye + int oldPower = Math.max(0, Math.min(15, this.l)); // CraftBukkit - Get power before new viewer is added + --this.l; + if (this.world == null) return; // CraftBukkit ++ ++ // PaperSpigot start - Move chest close sound handling out of the tick loop ++ if (this.l == 0 && this.j > 0.0F || this.l > 0 && this.j < 1.0F) { ++ float f = 0.1F; ++ ++ if (this.l > 0) { ++ this.j += f; ++ } else { ++ this.j -= f; ++ } ++ ++ double d0 = (double) this.getPosition().getX() + 0.5D; ++ double d2 = (double) this.getPosition().getZ() + 0.5D; ++ ++ if (this.i != null) { ++ d2 += 0.5D; ++ } ++ ++ if (this.g != null) { ++ d0 += 0.5D; ++ } ++ ++ this.world.makeSound(d0, (double) this.getPosition().getY() + 0.5D, d2, "random.chestclosed", 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); ++ this.j = 0.0F; ++ } ++ // PaperSpigot end ++ + this.world.playBlockAction(this.position, this.w(), 1, this.l); + + // CraftBukkit start - Call redstone event diff --git a/src/main/java/net/minecraft/server/TileEntityEnderChest.java b/src/main/java/net/minecraft/server/TileEntityEnderChest.java -index 794cdc8..f712885 100644 +index 794cdc8..00fceda 100644 --- a/src/main/java/net/minecraft/server/TileEntityEnderChest.java +++ b/src/main/java/net/minecraft/server/TileEntityEnderChest.java -@@ -10,7 +10,7 @@ public class TileEntityEnderChest extends TileEntity implements IUpdatePlayerLis +@@ -1,15 +1,17 @@ + package net.minecraft.server; + +-public class TileEntityEnderChest extends TileEntity implements IUpdatePlayerListBox { ++public class TileEntityEnderChest extends TileEntity { // PaperSpigot - remove IUpdatePlayerListBox + +- public float a; ++ public float a; // PaperSpigot - lidAngle + public float f; +- public int g; ++ public int g; // PaperSpigot - numPlayersUsing + private int h; + public TileEntityEnderChest() {} public void c() { -- if (++this.h % 20 * 4 == 0) { -+ if (++this.h % 4 == 0) { // PaperSpigot - Reduced (20 * 4) -> 4 interval due to reduced tick rate from improved tick handling ++ // PaperSpigot start - Move enderchest sound handling out of the tick loop ++ /* + if (++this.h % 20 * 4 == 0) { this.world.playBlockAction(this.position, Blocks.ENDER_CHEST, 1, this.g); } +@@ -54,7 +56,8 @@ public class TileEntityEnderChest extends TileEntity implements IUpdatePlayerLis + this.a = 0.0F; + } + } +- ++ */ ++ // PaperSpigot end + } -diff --git a/src/main/java/net/minecraft/server/TileEntityLightDetector.java b/src/main/java/net/minecraft/server/TileEntityLightDetector.java -index f75e2de..7119612 100644 ---- a/src/main/java/net/minecraft/server/TileEntityLightDetector.java -+++ b/src/main/java/net/minecraft/server/TileEntityLightDetector.java -@@ -5,7 +5,7 @@ public class TileEntityLightDetector extends TileEntity implements IUpdatePlayer - public TileEntityLightDetector() {} + public boolean c(int i, int j) { +@@ -73,11 +76,34 @@ public class TileEntityEnderChest extends TileEntity implements IUpdatePlayerLis + + public void b() { + ++this.g; ++ ++ // PaperSpigot start - Move enderchest open sounds out of the tick loop ++ if (this.g > 0 && this.a == 0.0F) { ++ this.a = 0.7F; ++ ++ double d1 = (double) this.getPosition().getX() + 0.5D; ++ double d0 = (double) this.getPosition().getZ() + 0.5D; ++ ++ this.world.makeSound(d1, (double) this.getPosition().getY() + 0.5D, d0, "random.chestopen", 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); ++ } ++ // PaperSpigot end ++ + this.world.playBlockAction(this.position, Blocks.ENDER_CHEST, 1, this.g); + } + + public void d() { + --this.g; ++ ++ // PaperSpigot start - Move enderchest close sounds out of the tick loop ++ if (this.g == 0 && this.a > 0.0F || this.g > 0 && this.a < 1.0F) { ++ double d0 = (double) this.getPosition().getX() + 0.5D; ++ double d2 = (double) this.getPosition().getZ() + 0.5D; ++ ++ this.world.makeSound(d0, (double) this.getPosition().getY() + 0.5D, d2, "random.chestclosed", 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); ++ this.a = 0.0F; ++ } ++ // PaperSpigot end ++ + this.world.playBlockAction(this.position, Blocks.ENDER_CHEST, 1, this.g); + } - public void c() { -- if (this.world != null && !this.world.isClientSide && this.world.getTime() % 20L == 0L) { -+ if (this.world != null && !this.world.isClientSide /*&& this.world.getTime() % 20L == 0L*/) { // PaperSpigot - interval controlled by improved tick handling - this.e = this.w(); - if (this.e instanceof BlockDaylightDetector) { - ((BlockDaylightDetector) this.e).f(this.world, this.position); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 641db2a..22237c9 100644 +index 641db2a..8a2d2c0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -28,6 +28,19 @@ public abstract class World implements IBlockAccess { +@@ -28,6 +28,18 @@ public abstract class World implements IBlockAccess { // Spigot start - guard entity list from removals public final List entityList = new java.util.ArrayList() { + // PaperSpigot start - move always activated entities to top of tick list + @Override -+ public boolean add(Entity e) -+ { ++ public boolean add(Entity e) { + if (e.defaultActivationState) { + super.add(0, e); + return true; @@ -97,25 +208,7 @@ index 641db2a..22237c9 100644 @Override public Entity remove(int index) { -@@ -53,7 +66,7 @@ public abstract class World implements IBlockAccess { - // Spigot end - protected final List g = Lists.newArrayList(); - public final List h = Lists.newArrayList(); -- public final List tileEntityList = Lists.newArrayList(); -+ public final Set tileEntityList = new org.github.paperspigot.WorldTileEntityList(this); // PaperSpigot - private final List b = Lists.newArrayList(); - private final List c = Lists.newArrayList(); - public final List players = Lists.newArrayList(); -@@ -219,7 +232,7 @@ public abstract class World implements IBlockAccess { - this.getServer().addWorld(this.world); - // CraftBukkit end - this.keepSpawnInMemory = this.paperSpigotConfig.keepSpawnInMemory; // PaperSpigot -- timings = new SpigotTimings.WorldTimingsHandler(this); // Spigot - code below can generate new world and access timings -+ timings = new SpigotTimings.WorldTimingsHandler(this); // Spigot - code below can generate new world and access timings - this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime); - this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime); - } -@@ -1394,9 +1407,21 @@ public abstract class World implements IBlockAccess { +@@ -1394,10 +1406,22 @@ public abstract class World implements IBlockAccess { guardEntityList = true; // Spigot // CraftBukkit start - Use field for loop variable int entitiesThisCycle = 0; @@ -134,218 +227,12 @@ index 641db2a..22237c9 100644 if (tickPosition < 0) tickPosition = 0; for (entityLimiter.initTick(); - entitiesThisCycle < entityList.size() && (entitiesThisCycle % 10 == 0 || entityLimiter.shouldContinue()); -+ entitiesThisCycle < entityList.size() && (tickPosition <= minTickIndex || entitiesThisCycle % 10 == 0 || entityLimiter.shouldContinue()); // PaperSpigot - tickPosition++, entitiesThisCycle++) { +- tickPosition++, entitiesThisCycle++) { ++ entitiesThisCycle < entityList.size() && (tickPosition <= minTickIndex || entitiesThisCycle % 10 == 0 || entityLimiter.shouldContinue()); // PaperSpigot ++ tickPosition++, entitiesThisCycle++) { tickPosition = (tickPosition < entityList.size()) ? tickPosition : 0; entity = (Entity) this.entityList.get(this.tickPosition); -@@ -1454,19 +1479,13 @@ public abstract class World implements IBlockAccess { - this.c.clear(); - } - // CraftBukkit end -+ Iterator iterator = this.tileEntityList.iterator(); - -- // Spigot start -- int tilesThisCycle = 0; -- for (tileLimiter.initTick(); -- tilesThisCycle < tileEntityList.size() && (tilesThisCycle % 10 == 0 || tileLimiter.shouldContinue()); -- tileTickPosition++, tilesThisCycle++) { -- tileTickPosition = (tileTickPosition < tileEntityList.size()) ? tileTickPosition : 0; -- TileEntity tileentity = (TileEntity) this.tileEntityList.get(tileTickPosition); -- // Spigot start -+ while (iterator.hasNext()) { -+ TileEntity tileentity = (TileEntity) iterator.next(); - if (tileentity == null) { - getServer().getLogger().severe("Spigot has detected a null entity and has removed it, preventing a crash"); -- tilesThisCycle--; -- this.tileEntityList.remove(tileTickPosition--); -+ iterator.remove(); - continue; - } - // Spigot end -@@ -1494,8 +1513,7 @@ public abstract class World implements IBlockAccess { - } - - if (tileentity.x()) { -- tilesThisCycle--; -- this.tileEntityList.remove(tileTickPosition--); -+ iterator.remove(); - this.h.remove(tileentity); - if (this.isLoaded(tileentity.getPosition())) { - this.getChunkAtWorldCoords(tileentity.getPosition()).e(tileentity.getPosition()); -diff --git a/src/main/java/org/github/paperspigot/WorldTileEntityList.java b/src/main/java/org/github/paperspigot/WorldTileEntityList.java -new file mode 100644 -index 0000000..66b6af0 ---- /dev/null -+++ b/src/main/java/org/github/paperspigot/WorldTileEntityList.java -@@ -0,0 +1,168 @@ -+package org.github.paperspigot; -+ -+import com.google.common.collect.ArrayListMultimap; -+import com.google.common.collect.Maps; -+import com.google.common.collect.Multimap; -+import net.minecraft.server.*; -+import gnu.trove.map.hash.TObjectIntHashMap; -+ -+import java.util.Collection; -+import java.util.HashSet; -+import java.util.Iterator; -+import java.util.Map; -+ -+public class WorldTileEntityList extends HashSet { -+ private static final TObjectIntHashMap> tileEntityTickIntervals = -+ new TObjectIntHashMap>() {{ -+ // Use -1 for no ticking -+ // These TE's have empty tick methods, doing nothing. Never bother ticking them. -+ for (Class ignored : new Class[]{ -+ BlockJukeBox.TileEntityRecordPlayer.class, -+ TileEntityDispenser.class, -+ TileEntityDropper.class, -+ TileEntitySign.class, -+ TileEntityNote.class, -+ TileEntityEnderPortal.class, -+ TileEntityCommand.class, -+ TileEntitySkull.class, -+ TileEntityComparator.class, -+ TileEntityFlowerPot.class -+ }) { -+ put(ignored, -1); -+ } -+ -+ // does findPlayer lookup, so this helps performance to slow down -+ put(TileEntityEnchantTable.class, 20); -+ -+ // Vanilla controlled values - These are checks already done in vanilla, so don't tick on ticks we know -+ // won't do anything anyways -+ put(TileEntityBeacon.class, 80); -+ put(TileEntityLightDetector.class, 20); -+ }}; -+ -+ private static int getInterval(Class cls) { -+ int tickInterval = tileEntityTickIntervals.get(cls); -+ return tickInterval != 0 ? tickInterval : 1; -+ } -+ -+ private static int getBucketId(TileEntity entity, Integer interval) { -+ return entity.tileId % interval; -+ } -+ -+ private final Map> tickList = Maps.newHashMap(); -+ private final WorldServer world; -+ -+ public WorldTileEntityList(World world) { -+ this.world = (WorldServer) world; -+ } -+ -+ -+ private Multimap getBucket(int interval) { -+ Multimap intervalBucket = tickList.get(interval); -+ if (intervalBucket == null) { -+ intervalBucket = ArrayListMultimap.create(); -+ tickList.put(interval, intervalBucket); -+ } -+ return intervalBucket; -+ } -+ -+ /** -+ * Adds the TileEntity to the tick list only if it is expected to tick -+ */ -+ @Override -+ public boolean add(TileEntity entity) { -+ if (entity.isAdded) { -+ return false; -+ } -+ -+ int interval = getInterval(entity.getClass()); -+ if (interval > 0) { -+ entity.isAdded = true; -+ int bucket = getBucketId(entity, interval); -+ Multimap typeBucket = getBucket(interval); -+ return typeBucket.put(bucket, entity); -+ } -+ return false; -+ } -+ -+ @Override -+ public boolean remove(Object o) { -+ if (!(o instanceof TileEntity)) { -+ return false; -+ } -+ TileEntity entity = (TileEntity) o; -+ if (!entity.isAdded) { -+ return false; -+ } -+ entity.isAdded = false; -+ int interval = getInterval(entity.getClass()); -+ int bucket = getBucketId(entity, interval); -+ Multimap typeBucket = getBucket(interval); -+ return typeBucket.remove(bucket, entity); -+ } -+ -+ @Override -+ public Iterator iterator() { -+ return new WorldTileEntityIterator(); -+ } -+ -+ @Override -+ public boolean contains(Object o) { -+ return o instanceof TileEntity && ((TileEntity) o).isAdded; -+ } -+ -+ private class WorldTileEntityIterator implements Iterator { -+ private final Iterator>> intervalIterator; -+ private Map.Entry> intervalMap = null; -+ private Iterator listIterator = null; -+ -+ protected WorldTileEntityIterator() { -+ intervalIterator = tickList.entrySet().iterator(); -+ nextInterval(); -+ } -+ -+ private boolean nextInterval() { -+ listIterator = null; -+ if (intervalIterator.hasNext()) { -+ intervalMap = intervalIterator.next(); -+ -+ final Integer interval = intervalMap.getKey(); -+ final Multimap buckets = intervalMap.getValue(); -+ -+ int bucket = (int) (world.getTime() % interval); -+ -+ if (!buckets.isEmpty() && buckets.containsKey(bucket)) { -+ final Collection tileList = buckets.get(bucket); -+ -+ if (tileList != null && !tileList.isEmpty()) { -+ listIterator = tileList.iterator(); -+ return true; -+ } -+ } -+ } -+ -+ return false; -+ -+ } -+ -+ @Override -+ public boolean hasNext() { -+ do { -+ if (listIterator != null && listIterator.hasNext()) { -+ return true; -+ } -+ } while (nextInterval()); -+ return false; -+ } -+ -+ @Override -+ public TileEntity next() { -+ return listIterator.next(); -+ } -+ -+ @Override -+ public void remove() { -+ listIterator.remove(); -+ } -+ } -+} + // CraftBukkit end -- 2.5.2 diff --git a/Spigot-Server-Patches/0023-Move-sound-handling-out-of-the-chest-tick-loop.patch b/Spigot-Server-Patches/0023-Move-sound-handling-out-of-the-chest-tick-loop.patch deleted file mode 100644 index ef566a372e..0000000000 --- a/Spigot-Server-Patches/0023-Move-sound-handling-out-of-the-chest-tick-loop.patch +++ /dev/null @@ -1,198 +0,0 @@ -From 99cdc956ee7168e0e3b709d59c661e044118750b Mon Sep 17 00:00:00 2001 -From: Iceee -Date: Sun, 8 Mar 2015 03:16:39 -0500 -Subject: [PATCH] Move sound handling out of the chest tick loop - - -diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java -index b31973a..49726c6 100644 ---- a/src/main/java/net/minecraft/server/TileEntityChest.java -+++ b/src/main/java/net/minecraft/server/TileEntityChest.java -@@ -12,13 +12,13 @@ public class TileEntityChest extends TileEntityContainer implements IUpdatePlaye - - private ItemStack[] items = new ItemStack[27]; - public boolean a; -- public TileEntityChest f; -- public TileEntityChest g; -- public TileEntityChest h; -- public TileEntityChest i; -- public float j; -+ public TileEntityChest f; // PaperSpigot - adjacentChestZNeg -+ public TileEntityChest g; // PaperSpigot - adjacentChestXPos -+ public TileEntityChest h; // PaperSpigot - adjacentChestXNeg -+ public TileEntityChest i; // PaperSpigot - adjacentChestZPos -+ public float j; // PaperSpigot - lidAngle - public float k; -- public int l; -+ public int l; // PaperSpigot - numPlayersUsing - private int n; - private int o = -1; - private String p; -@@ -238,6 +238,8 @@ public class TileEntityChest extends TileEntityContainer implements IUpdatePlaye - } - - public void c() { -+ // PaperSpigot - Move chest sounds out of the tick loop -+ /* - this.m(); - int i = this.position.getX(); - int j = this.position.getY(); -@@ -318,7 +320,8 @@ public class TileEntityChest extends TileEntityContainer implements IUpdatePlaye - this.j = 0.0F; - } - } -- -+ */ -+ // PaperSpigot end - } - - public boolean c(int i, int j) { -@@ -339,6 +342,28 @@ public class TileEntityChest extends TileEntityContainer implements IUpdatePlaye - - ++this.l; - if (this.world == null) return; // CraftBukkit -+ -+ // PaperSpigot start - Move chest open sound out of the tick loop -+ this.m(); -+ -+ if (this.l > 0 && this.j == 0.0F && this.f == null && this.h == null) { -+ this.j = 0.7F; -+ -+ double d0 = (double) this.position.getZ() + 0.5D; -+ double d1 = (double) this.position.getX() + 0.5D; -+ -+ if (this.i != null) { -+ d0 += 0.5D; -+ } -+ -+ if (this.g != null) { -+ d1 += 0.5D; -+ } -+ -+ this.world.makeSound(d1, (double) this.position.getY() + 0.5D, d0, "random.chestopen", 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); -+ } -+ // PaperSpigot end -+ - this.world.playBlockAction(this.position, this.w(), 1, this.l); - - // CraftBukkit start - Call redstone event -@@ -361,6 +386,33 @@ public class TileEntityChest extends TileEntityContainer implements IUpdatePlaye - int oldPower = Math.max(0, Math.min(15, this.l)); // CraftBukkit - Get power before new viewer is added - --this.l; - if (this.world == null) return; // CraftBukkit -+ -+ // PaperSpigot start - Move chest close sound handling out of the tick loop -+ if (this.l == 0 && this.j > 0.0F || this.l > 0 && this.j < 1.0F) { -+ float f = 0.1F; -+ -+ if (this.l > 0) { -+ this.j += f; -+ } else { -+ this.j -= f; -+ } -+ -+ double d0 = (double) this.getPosition().getX() + 0.5D; -+ double d2 = (double) this.getPosition().getZ() + 0.5D; -+ -+ if (this.i != null) { -+ d2 += 0.5D; -+ } -+ -+ if (this.g != null) { -+ d0 += 0.5D; -+ } -+ -+ this.world.makeSound(d0, (double) this.getPosition().getY() + 0.5D, d2, "random.chestclosed", 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); -+ this.j = 0.0F; -+ } -+ // PaperSpigot end -+ - this.world.playBlockAction(this.position, this.w(), 1, this.l); - - // CraftBukkit start - Call redstone event -diff --git a/src/main/java/net/minecraft/server/TileEntityEnderChest.java b/src/main/java/net/minecraft/server/TileEntityEnderChest.java -index f712885..d2ef4c4 100644 ---- a/src/main/java/net/minecraft/server/TileEntityEnderChest.java -+++ b/src/main/java/net/minecraft/server/TileEntityEnderChest.java -@@ -2,14 +2,16 @@ package net.minecraft.server; - - public class TileEntityEnderChest extends TileEntity implements IUpdatePlayerListBox { - -- public float a; -+ public float a; // PaperSpigot - lidAngle - public float f; -- public int g; -+ public int g; // PaperSpigot - numPlayersUsing - private int h; - - public TileEntityEnderChest() {} - - public void c() { -+ // PaperSpigot start - Move enderchest sound handling out of the tick loop -+ /* - if (++this.h % 4 == 0) { // PaperSpigot - Reduced (20 * 4) -> 4 interval due to reduced tick rate from improved tick handling - this.world.playBlockAction(this.position, Blocks.ENDER_CHEST, 1, this.g); - } -@@ -54,7 +56,8 @@ public class TileEntityEnderChest extends TileEntity implements IUpdatePlayerLis - this.a = 0.0F; - } - } -- -+ */ -+ // PaperSpigot end - } - - public boolean c(int i, int j) { -@@ -73,11 +76,34 @@ public class TileEntityEnderChest extends TileEntity implements IUpdatePlayerLis - - public void b() { - ++this.g; -+ -+ // PaperSpigot start - Move enderchest open sounds out of the tick loop -+ if (this.g > 0 && this.a == 0.0F) { -+ this.a = 0.7F; -+ -+ double d1 = (double) this.getPosition().getX() + 0.5D; -+ double d0 = (double) this.getPosition().getZ() + 0.5D; -+ -+ this.world.makeSound(d1, (double) this.getPosition().getY() + 0.5D, d0, "random.chestopen", 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); -+ } -+ // PaperSpigot end -+ - this.world.playBlockAction(this.position, Blocks.ENDER_CHEST, 1, this.g); - } - - public void d() { - --this.g; -+ -+ // PaperSpigot start - Move enderchest close sounds out of the tick loop -+ if (this.g == 0 && this.a > 0.0F || this.g > 0 && this.a < 1.0F) { -+ double d0 = (double) this.getPosition().getX() + 0.5D; -+ double d2 = (double) this.getPosition().getZ() + 0.5D; -+ -+ this.world.makeSound(d0, (double) this.getPosition().getY() + 0.5D, d2, "random.chestclosed", 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); -+ this.a = 0.0F; -+ } -+ // PaperSpigot end -+ - this.world.playBlockAction(this.position, Blocks.ENDER_CHEST, 1, this.g); - } - -diff --git a/src/main/java/org/github/paperspigot/WorldTileEntityList.java b/src/main/java/org/github/paperspigot/WorldTileEntityList.java -index 66b6af0..16804d2 100644 ---- a/src/main/java/org/github/paperspigot/WorldTileEntityList.java -+++ b/src/main/java/org/github/paperspigot/WorldTileEntityList.java -@@ -26,7 +26,9 @@ public class WorldTileEntityList extends HashSet { - TileEntityCommand.class, - TileEntitySkull.class, - TileEntityComparator.class, -- TileEntityFlowerPot.class -+ TileEntityFlowerPot.class, -+ TileEntityChest.class, -+ TileEntityEnderChest.class - }) { - put(ignored, -1); - } --- -2.5.2 - diff --git a/Spigot-Server-Patches/0024-Remove-certain-entities-that-fly-through-unloaded-ch.patch b/Spigot-Server-Patches/0023-Remove-certain-entities-that-fly-through-unloaded-ch.patch similarity index 96% rename from Spigot-Server-Patches/0024-Remove-certain-entities-that-fly-through-unloaded-ch.patch rename to Spigot-Server-Patches/0023-Remove-certain-entities-that-fly-through-unloaded-ch.patch index 6974b6fb26..e2b5c4b258 100644 --- a/Spigot-Server-Patches/0024-Remove-certain-entities-that-fly-through-unloaded-ch.patch +++ b/Spigot-Server-Patches/0023-Remove-certain-entities-that-fly-through-unloaded-ch.patch @@ -1,4 +1,4 @@ -From c6bdd68547cafb9bd201b18fcc907ef042793479 Mon Sep 17 00:00:00 2001 +From 4baf22e970cea6e654c103d01f439c96887eadb7 Mon Sep 17 00:00:00 2001 From: Iceee Date: Sun, 8 Mar 2015 03:34:15 -0500 Subject: [PATCH] Remove certain entities that fly through unloaded chunks @@ -34,7 +34,7 @@ index 48ada4d..f4b5032 100644 this.world.addParticle(EnumParticle.PORTAL, this.locX, this.locY + this.random.nextDouble() * 2.0D, this.locZ, this.random.nextGaussian(), 0.0D, this.random.nextGaussian(), new int[0]); } diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index ef93776..5931e1d 100644 +index 95c188b..86556cd 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java @@ -70,6 +70,12 @@ public class EntityFallingBlock extends Entity { @@ -70,10 +70,10 @@ index 2d22327..50423eb 100644 this.motY *= 0.9800000190734863D; this.motZ *= 0.9800000190734863D; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 22237c9..cb18500 100644 +index 8a2d2c0..6226a6e 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1173,6 +1173,7 @@ public abstract class World implements IBlockAccess { +@@ -1172,6 +1172,7 @@ public abstract class World implements IBlockAccess { { if ( !this.isChunkLoaded( chunkx, chunkz, true ) ) { @@ -81,7 +81,7 @@ index 22237c9..cb18500 100644 continue; } int cz = chunkz << 4; -@@ -1601,6 +1602,14 @@ public abstract class World implements IBlockAccess { +@@ -1607,6 +1608,14 @@ public abstract class World implements IBlockAccess { if (!org.spigotmc.ActivationRange.checkIfActive(entity)) { entity.ticksLived++; entity.inactiveTick(); diff --git a/Spigot-Server-Patches/0025-Configurable-strength-and-weakness-effect-modifiers.patch b/Spigot-Server-Patches/0024-Configurable-strength-and-weakness-effect-modifiers.patch similarity index 96% rename from Spigot-Server-Patches/0025-Configurable-strength-and-weakness-effect-modifiers.patch rename to Spigot-Server-Patches/0024-Configurable-strength-and-weakness-effect-modifiers.patch index 4589bb3d23..b35c471633 100644 --- a/Spigot-Server-Patches/0025-Configurable-strength-and-weakness-effect-modifiers.patch +++ b/Spigot-Server-Patches/0024-Configurable-strength-and-weakness-effect-modifiers.patch @@ -1,4 +1,4 @@ -From d1776584c27a8accdbea0f52d15c109ed39c7264 Mon Sep 17 00:00:00 2001 +From f4bb4188db4477614faec7dcfb84f67496cdde11 Mon Sep 17 00:00:00 2001 From: gsand Date: Sun, 8 Mar 2015 03:41:33 -0500 Subject: [PATCH] Configurable strength and weakness effect modifiers diff --git a/Spigot-Server-Patches/0026-Further-improve-server-tick-loop.patch b/Spigot-Server-Patches/0025-Further-improve-server-tick-loop.patch similarity index 99% rename from Spigot-Server-Patches/0026-Further-improve-server-tick-loop.patch rename to Spigot-Server-Patches/0025-Further-improve-server-tick-loop.patch index 1e71b482eb..e47706b7a2 100644 --- a/Spigot-Server-Patches/0026-Further-improve-server-tick-loop.patch +++ b/Spigot-Server-Patches/0025-Further-improve-server-tick-loop.patch @@ -1,4 +1,4 @@ -From d345901e9cf60cd5116d942943554f6b28217eef Mon Sep 17 00:00:00 2001 +From 8cae5d46b1afced146412ba40e28ac7e08d61d83 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 8 Mar 2015 03:47:32 -0500 Subject: [PATCH] Further improve server tick loop diff --git a/Spigot-Server-Patches/0027-Only-refresh-abilities-if-needed.patch b/Spigot-Server-Patches/0026-Only-refresh-abilities-if-needed.patch similarity index 94% rename from Spigot-Server-Patches/0027-Only-refresh-abilities-if-needed.patch rename to Spigot-Server-Patches/0026-Only-refresh-abilities-if-needed.patch index 7760d26e07..e489912050 100644 --- a/Spigot-Server-Patches/0027-Only-refresh-abilities-if-needed.patch +++ b/Spigot-Server-Patches/0026-Only-refresh-abilities-if-needed.patch @@ -1,4 +1,4 @@ -From 7d7a99521d76d82fca456a31c23a379de4c51974 Mon Sep 17 00:00:00 2001 +From dbcd027da8be15f1eb656da2f13bf0cbba8fa583 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 28 Nov 2014 13:20:22 -0600 Subject: [PATCH] Only refresh abilities if needed diff --git a/Spigot-Server-Patches/0028-Configurable-game-mechanics-changes.patch b/Spigot-Server-Patches/0027-Configurable-game-mechanics-changes.patch similarity index 98% rename from Spigot-Server-Patches/0028-Configurable-game-mechanics-changes.patch rename to Spigot-Server-Patches/0027-Configurable-game-mechanics-changes.patch index cf51747965..2b43ded351 100644 --- a/Spigot-Server-Patches/0028-Configurable-game-mechanics-changes.patch +++ b/Spigot-Server-Patches/0027-Configurable-game-mechanics-changes.patch @@ -1,4 +1,4 @@ -From d7f24069b1a8b71054130f629e671ac5c858e09d Mon Sep 17 00:00:00 2001 +From 9d77de8e9fe61e0032c6534d3bd8fb127493db36 Mon Sep 17 00:00:00 2001 From: gsand Date: Sun, 8 Mar 2015 04:10:02 -0500 Subject: [PATCH] Configurable game mechanics changes diff --git a/Spigot-Server-Patches/0029-Add-async-chunk-load-API.patch b/Spigot-Server-Patches/0028-Add-async-chunk-load-API.patch similarity index 95% rename from Spigot-Server-Patches/0029-Add-async-chunk-load-API.patch rename to Spigot-Server-Patches/0028-Add-async-chunk-load-API.patch index e49008d980..2518ac7cea 100644 --- a/Spigot-Server-Patches/0029-Add-async-chunk-load-API.patch +++ b/Spigot-Server-Patches/0028-Add-async-chunk-load-API.patch @@ -1,4 +1,4 @@ -From 44c3f1e06cf4cdf6abf175b441089997e1f7a160 Mon Sep 17 00:00:00 2001 +From 33a53bb028aadbb40a503e0f4087cb6718bfc420 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 6 Nov 2014 18:29:20 -0600 Subject: [PATCH] Add async chunk load API diff --git a/Spigot-Server-Patches/0030-Allow-specified-ItemStacks-to-retain-their-invalid-d.patch b/Spigot-Server-Patches/0029-Allow-specified-ItemStacks-to-retain-their-invalid-d.patch similarity index 97% rename from Spigot-Server-Patches/0030-Allow-specified-ItemStacks-to-retain-their-invalid-d.patch rename to Spigot-Server-Patches/0029-Allow-specified-ItemStacks-to-retain-their-invalid-d.patch index c18fb56e0b..916390e362 100644 --- a/Spigot-Server-Patches/0030-Allow-specified-ItemStacks-to-retain-their-invalid-d.patch +++ b/Spigot-Server-Patches/0029-Allow-specified-ItemStacks-to-retain-their-invalid-d.patch @@ -1,4 +1,4 @@ -From 881e28b060f69f64a8714a8efba1d9504d225392 Mon Sep 17 00:00:00 2001 +From 6a96486151df3e2561efe99e284926b68531aef0 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Sun, 30 Nov 2014 18:58:07 -0600 Subject: [PATCH] Allow specified ItemStacks to retain their invalid data diff --git a/Spigot-Server-Patches/0031-Add-TNT-source-location-API.patch b/Spigot-Server-Patches/0030-Add-TNT-source-location-API.patch similarity index 99% rename from Spigot-Server-Patches/0031-Add-TNT-source-location-API.patch rename to Spigot-Server-Patches/0030-Add-TNT-source-location-API.patch index f2a15a0a88..2666b33232 100644 --- a/Spigot-Server-Patches/0031-Add-TNT-source-location-API.patch +++ b/Spigot-Server-Patches/0030-Add-TNT-source-location-API.patch @@ -1,4 +1,4 @@ -From cc5daca1c11aec789248376d581251fbd78ab7eb Mon Sep 17 00:00:00 2001 +From ec281d8d7494f7338e01f25c7b256b74862383ca Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 8 Mar 2015 04:23:41 -0500 Subject: [PATCH] Add TNT source location API diff --git a/Spigot-Server-Patches/0032-Prevent-tile-entity-and-entity-crashes.patch b/Spigot-Server-Patches/0031-Prevent-tile-entity-and-entity-crashes.patch similarity index 89% rename from Spigot-Server-Patches/0032-Prevent-tile-entity-and-entity-crashes.patch rename to Spigot-Server-Patches/0031-Prevent-tile-entity-and-entity-crashes.patch index f620ad8d53..c62af715f0 100644 --- a/Spigot-Server-Patches/0032-Prevent-tile-entity-and-entity-crashes.patch +++ b/Spigot-Server-Patches/0031-Prevent-tile-entity-and-entity-crashes.patch @@ -1,14 +1,14 @@ -From 32133cf12527dd63c45e714733847f1226c33a98 Mon Sep 17 00:00:00 2001 +From 444300b298e4126354a42bd37a086cf98da99bb0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 8 Mar 2015 04:37:23 -0500 Subject: [PATCH] Prevent tile entity and entity crashes diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 1971941..d258604 100644 +index c268a40..3fc6450 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java -@@ -163,7 +163,12 @@ public abstract class TileEntity { +@@ -157,7 +157,12 @@ public abstract class TileEntity { } }); if (this.world != null) { @@ -23,10 +23,10 @@ index 1971941..d258604 100644 public String a() throws Exception { int i = Block.getId(TileEntity.this.world.getType(TileEntity.this.position).getBlock()); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index cb18500..a70c6ac 100644 +index 6226a6e..a899ee2 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1443,10 +1443,13 @@ public abstract class World implements IBlockAccess { +@@ -1442,10 +1442,13 @@ public abstract class World implements IBlockAccess { this.g(entity); SpigotTimings.tickEntityTimer.stopTiming(); // Spigot } catch (Throwable throwable1) { @@ -44,7 +44,7 @@ index cb18500..a70c6ac 100644 } } -@@ -1499,11 +1502,13 @@ public abstract class World implements IBlockAccess { +@@ -1504,11 +1507,14 @@ public abstract class World implements IBlockAccess { tileentity.tickTimer.startTiming(); // Spigot ((IUpdatePlayerListBox) tileentity).c(); } catch (Throwable throwable2) { @@ -57,7 +57,8 @@ index cb18500..a70c6ac 100644 + tileentity.tickTimer.stopTiming(); + System.err.println("TileEntity threw exception at " + tileentity.world.getWorld().getName() + ":" + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ()); + throwable2.printStackTrace(); -+ iterator.remove(); ++ tilesThisCycle--; ++ this.tileEntityList.remove(tileTickPosition--); + continue; + // PaperSpigot end } diff --git a/Spigot-Server-Patches/0033-Configurable-top-of-nether-void-damage.patch b/Spigot-Server-Patches/0032-Configurable-top-of-nether-void-damage.patch similarity index 96% rename from Spigot-Server-Patches/0033-Configurable-top-of-nether-void-damage.patch rename to Spigot-Server-Patches/0032-Configurable-top-of-nether-void-damage.patch index 5a4b081a3a..99daac2fb7 100644 --- a/Spigot-Server-Patches/0033-Configurable-top-of-nether-void-damage.patch +++ b/Spigot-Server-Patches/0032-Configurable-top-of-nether-void-damage.patch @@ -1,4 +1,4 @@ -From ca87d8b9c448410b824a90a96271b59ff6013057 Mon Sep 17 00:00:00 2001 +From 66f764d702640b3cf873889ecc41ff921481bbfa Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 23 Feb 2015 14:57:28 -0600 Subject: [PATCH] Configurable top of nether void damage diff --git a/Spigot-Server-Patches/0034-Enderman-drop-the-block-they-re-holding-when-they-di.patch b/Spigot-Server-Patches/0033-Enderman-drop-the-block-they-re-holding-when-they-di.patch similarity index 93% rename from Spigot-Server-Patches/0034-Enderman-drop-the-block-they-re-holding-when-they-di.patch rename to Spigot-Server-Patches/0033-Enderman-drop-the-block-they-re-holding-when-they-di.patch index 3173d344ca..1ed254baa8 100644 --- a/Spigot-Server-Patches/0034-Enderman-drop-the-block-they-re-holding-when-they-di.patch +++ b/Spigot-Server-Patches/0033-Enderman-drop-the-block-they-re-holding-when-they-di.patch @@ -1,4 +1,4 @@ -From 00c35bcd2392c48a4d19f2ed255777ccc9c46366 Mon Sep 17 00:00:00 2001 +From addd766578b634af56ba6ceef98ea1d74426f9f1 Mon Sep 17 00:00:00 2001 From: Zach Date: Fri, 13 Feb 2015 14:49:30 -0600 Subject: [PATCH] Enderman drop the block they're holding when they die diff --git a/Spigot-Server-Patches/0035-Check-online-mode-before-converting-and-renaming-pla.patch b/Spigot-Server-Patches/0034-Check-online-mode-before-converting-and-renaming-pla.patch similarity index 94% rename from Spigot-Server-Patches/0035-Check-online-mode-before-converting-and-renaming-pla.patch rename to Spigot-Server-Patches/0034-Check-online-mode-before-converting-and-renaming-pla.patch index 587edb6ed5..dccfc6e72b 100644 --- a/Spigot-Server-Patches/0035-Check-online-mode-before-converting-and-renaming-pla.patch +++ b/Spigot-Server-Patches/0034-Check-online-mode-before-converting-and-renaming-pla.patch @@ -1,4 +1,4 @@ -From 28aef7121f1624bdaf403a0475a8e2d82b5c8bc8 Mon Sep 17 00:00:00 2001 +From b667634876a8af5cfc59125dffafebc1c8d5b685 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 5 Mar 2015 15:30:06 -0600 Subject: [PATCH] Check online mode before converting and renaming player data diff --git a/Spigot-Server-Patches/0036-Fix-redstone-lag-issues.patch b/Spigot-Server-Patches/0035-Fix-redstone-lag-issues.patch similarity index 98% rename from Spigot-Server-Patches/0036-Fix-redstone-lag-issues.patch rename to Spigot-Server-Patches/0035-Fix-redstone-lag-issues.patch index bb24306717..2c13ddb2b2 100644 --- a/Spigot-Server-Patches/0036-Fix-redstone-lag-issues.patch +++ b/Spigot-Server-Patches/0035-Fix-redstone-lag-issues.patch @@ -1,4 +1,4 @@ -From e031a2fdb5f287270a421f36d518ecadd94e8f2c Mon Sep 17 00:00:00 2001 +From 81b8f96f7f26a7f0d2805bc3f9681544f6c1432b Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 13 Apr 2015 15:47:15 -0500 Subject: [PATCH] Fix redstone lag issues diff --git a/Spigot-Server-Patches/0037-Always-tick-falling-blocks.patch b/Spigot-Server-Patches/0036-Always-tick-falling-blocks.patch similarity index 95% rename from Spigot-Server-Patches/0037-Always-tick-falling-blocks.patch rename to Spigot-Server-Patches/0036-Always-tick-falling-blocks.patch index 79bb9fe7a0..be29beeea1 100644 --- a/Spigot-Server-Patches/0037-Always-tick-falling-blocks.patch +++ b/Spigot-Server-Patches/0036-Always-tick-falling-blocks.patch @@ -1,4 +1,4 @@ -From 3df8bfc1c7035c7d7a39f29968d3213513bc81b1 Mon Sep 17 00:00:00 2001 +From 8e7c47614e9af22d1823a2d1bfde89dfbd7153d3 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 10 Apr 2015 18:07:36 -0500 Subject: [PATCH] Always tick falling blocks diff --git a/Spigot-Server-Patches/0038-Add-FallingBlock-source-location-API.patch b/Spigot-Server-Patches/0037-Add-FallingBlock-source-location-API.patch similarity index 99% rename from Spigot-Server-Patches/0038-Add-FallingBlock-source-location-API.patch rename to Spigot-Server-Patches/0037-Add-FallingBlock-source-location-API.patch index d417787efe..7f545efc3c 100644 --- a/Spigot-Server-Patches/0038-Add-FallingBlock-source-location-API.patch +++ b/Spigot-Server-Patches/0037-Add-FallingBlock-source-location-API.patch @@ -1,4 +1,4 @@ -From 65eca689e3eba010eedb77394c062d08c40e49f9 Mon Sep 17 00:00:00 2001 +From a3fff475189a1edc286a2305139ff98d8e73eb0a Mon Sep 17 00:00:00 2001 From: Byteflux Date: Fri, 17 Apr 2015 02:26:14 -0700 Subject: [PATCH] Add FallingBlock source location API diff --git a/Spigot-Server-Patches/0039-Configurable-async-light-updates.patch b/Spigot-Server-Patches/0038-Configurable-async-light-updates.patch similarity index 95% rename from Spigot-Server-Patches/0039-Configurable-async-light-updates.patch rename to Spigot-Server-Patches/0038-Configurable-async-light-updates.patch index c6ad79e786..539f67fcc7 100644 --- a/Spigot-Server-Patches/0039-Configurable-async-light-updates.patch +++ b/Spigot-Server-Patches/0038-Configurable-async-light-updates.patch @@ -1,4 +1,4 @@ -From fed5fc8b4674e1f722eed072d2922623358c96d5 Mon Sep 17 00:00:00 2001 +From 430a2e0719a436e296f676022616e0f5174df805 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 1 Jul 2015 00:18:10 -0700 Subject: [PATCH] Configurable async light updates @@ -88,7 +88,7 @@ index 975d666..ae0f276 100644 if (!this.world.c(i, j)) { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index a70c6ac..f5ca87c 100644 +index a899ee2..0de2af1 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -18,6 +18,12 @@ import org.bukkit.generator.ChunkGenerator; @@ -104,7 +104,7 @@ index a70c6ac..f5ca87c 100644 // CraftBukkit start // CraftBukkit end -@@ -141,6 +147,7 @@ public abstract class World implements IBlockAccess { +@@ -140,6 +146,7 @@ public abstract class World implements IBlockAccess { private org.spigotmc.TickLimiter entityLimiter; private org.spigotmc.TickLimiter tileLimiter; private int tileTickPosition; @@ -112,7 +112,7 @@ index a70c6ac..f5ca87c 100644 public static long chunkToKey(int x, int z) { -@@ -510,7 +517,7 @@ public abstract class World implements IBlockAccess { +@@ -509,7 +516,7 @@ public abstract class World implements IBlockAccess { if (!this.worldProvider.o()) { for (i1 = k; i1 <= l; ++i1) { @@ -121,7 +121,7 @@ index a70c6ac..f5ca87c 100644 } } -@@ -2342,10 +2349,10 @@ public abstract class World implements IBlockAccess { +@@ -2349,10 +2356,10 @@ public abstract class World implements IBlockAccess { boolean flag = false; if (!this.worldProvider.o()) { @@ -134,7 +134,7 @@ index a70c6ac..f5ca87c 100644 return flag; } -@@ -2392,10 +2399,10 @@ public abstract class World implements IBlockAccess { +@@ -2399,10 +2406,10 @@ public abstract class World implements IBlockAccess { } } @@ -148,7 +148,7 @@ index a70c6ac..f5ca87c 100644 // CraftBukkit end return false; } else { -@@ -2513,11 +2520,66 @@ public abstract class World implements IBlockAccess { +@@ -2520,11 +2527,66 @@ public abstract class World implements IBlockAccess { } } diff --git a/Spigot-Server-Patches/0040-Optimize-draining.patch b/Spigot-Server-Patches/0039-Optimize-draining.patch similarity index 95% rename from Spigot-Server-Patches/0040-Optimize-draining.patch rename to Spigot-Server-Patches/0039-Optimize-draining.patch index 520c4a566d..0d6579b4d1 100644 --- a/Spigot-Server-Patches/0040-Optimize-draining.patch +++ b/Spigot-Server-Patches/0039-Optimize-draining.patch @@ -1,4 +1,4 @@ -From 97ad9f212cb616d704bcde54c2ed2294c1367a80 Mon Sep 17 00:00:00 2001 +From e930fc7dbc68671274199b2268d34bb3d8179990 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Fri, 10 Apr 2015 02:24:20 -0700 Subject: [PATCH] Optimize draining diff --git a/Spigot-Server-Patches/0041-Toggleable-player-crits-helps-mitigate-hacked-client.patch b/Spigot-Server-Patches/0040-Toggleable-player-crits-helps-mitigate-hacked-client.patch similarity index 96% rename from Spigot-Server-Patches/0041-Toggleable-player-crits-helps-mitigate-hacked-client.patch rename to Spigot-Server-Patches/0040-Toggleable-player-crits-helps-mitigate-hacked-client.patch index 209cb56a78..efa4238a48 100644 --- a/Spigot-Server-Patches/0041-Toggleable-player-crits-helps-mitigate-hacked-client.patch +++ b/Spigot-Server-Patches/0040-Toggleable-player-crits-helps-mitigate-hacked-client.patch @@ -1,4 +1,4 @@ -From 8ad9c97c7fe7e8065460593d225c5d3b9ba131b8 Mon Sep 17 00:00:00 2001 +From cc596c88c9f0dfe7eb582439bbacacc878959871 Mon Sep 17 00:00:00 2001 From: Roman Alexander Date: Fri, 27 Mar 2015 00:52:24 -0400 Subject: [PATCH] Toggleable player crits, helps mitigate hacked clients. diff --git a/Spigot-Server-Patches/0042-Add-PlayerLocaleChangeEvent.patch b/Spigot-Server-Patches/0041-Add-PlayerLocaleChangeEvent.patch similarity index 96% rename from Spigot-Server-Patches/0042-Add-PlayerLocaleChangeEvent.patch rename to Spigot-Server-Patches/0041-Add-PlayerLocaleChangeEvent.patch index 22201df8ac..f043150a8c 100644 --- a/Spigot-Server-Patches/0042-Add-PlayerLocaleChangeEvent.patch +++ b/Spigot-Server-Patches/0041-Add-PlayerLocaleChangeEvent.patch @@ -1,4 +1,4 @@ -From 59957f2d97df8ed4bfbf3656779fbbe1414a11f1 Mon Sep 17 00:00:00 2001 +From 3652d4118b8ce9662aff38f6c0f91afb578aea7c Mon Sep 17 00:00:00 2001 From: Isaac Moore Date: Mon, 27 Apr 2015 21:41:39 -0500 Subject: [PATCH] Add PlayerLocaleChangeEvent diff --git a/Spigot-Server-Patches/0043-Fix-jar-being-shaded-multiple-times.patch b/Spigot-Server-Patches/0042-Fix-jar-being-shaded-multiple-times.patch similarity index 91% rename from Spigot-Server-Patches/0043-Fix-jar-being-shaded-multiple-times.patch rename to Spigot-Server-Patches/0042-Fix-jar-being-shaded-multiple-times.patch index b3d5d3d4a2..878525921c 100644 --- a/Spigot-Server-Patches/0043-Fix-jar-being-shaded-multiple-times.patch +++ b/Spigot-Server-Patches/0042-Fix-jar-being-shaded-multiple-times.patch @@ -1,4 +1,4 @@ -From 8388402abcbf1bad41fb130f28bbe81e727d72ae Mon Sep 17 00:00:00 2001 +From 6e35bbc4b6dcf3e52655ceb9562f5cdfe4b140a9 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Thu, 30 Apr 2015 22:42:34 -0400 Subject: [PATCH] Fix jar being shaded multiple times diff --git a/Spigot-Server-Patches/0044-Configurable-end-credits-when-leaving-the-end.patch b/Spigot-Server-Patches/0043-Configurable-end-credits-when-leaving-the-end.patch similarity index 98% rename from Spigot-Server-Patches/0044-Configurable-end-credits-when-leaving-the-end.patch rename to Spigot-Server-Patches/0043-Configurable-end-credits-when-leaving-the-end.patch index 62f7bdeba7..54d0afa057 100644 --- a/Spigot-Server-Patches/0044-Configurable-end-credits-when-leaving-the-end.patch +++ b/Spigot-Server-Patches/0043-Configurable-end-credits-when-leaving-the-end.patch @@ -1,4 +1,4 @@ -From 018c8c052c2427a66dc44a0629ce75f9e6ae24f0 Mon Sep 17 00:00:00 2001 +From 6d3998003267900af6bfed5014920c15eabbf502 Mon Sep 17 00:00:00 2001 From: DoctorDark Date: Thu, 28 May 2015 20:12:38 -0500 Subject: [PATCH] Configurable end credits when leaving the end diff --git a/Spigot-Server-Patches/0045-Force-load-chunks-for-specific-entities-that-fly-thr.patch b/Spigot-Server-Patches/0044-Force-load-chunks-for-specific-entities-that-fly-thr.patch similarity index 97% rename from Spigot-Server-Patches/0045-Force-load-chunks-for-specific-entities-that-fly-thr.patch rename to Spigot-Server-Patches/0044-Force-load-chunks-for-specific-entities-that-fly-thr.patch index 4417923ca1..9b23806276 100644 --- a/Spigot-Server-Patches/0045-Force-load-chunks-for-specific-entities-that-fly-thr.patch +++ b/Spigot-Server-Patches/0044-Force-load-chunks-for-specific-entities-that-fly-thr.patch @@ -1,4 +1,4 @@ -From 0ed5d74f4f96b4b54ffe24e085e412165281f5e8 Mon Sep 17 00:00:00 2001 +From 068eb2ed78e703619a74bcd0005e5b1d82187def Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 30 Jun 2015 20:45:24 -0700 Subject: [PATCH] Force load chunks for specific entities that fly through @@ -79,7 +79,7 @@ index f4b5032..319c0bc 100644 protected void a(MovingObjectPosition movingobjectposition) { diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index 44219cd..34627c6 100644 +index aeade54..ba1cadb 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java @@ -26,6 +26,7 @@ public class EntityFallingBlock extends Entity { @@ -141,10 +141,10 @@ index 1daba4e..3a7c4fa 100644 protected void b(NBTTagCompound nbttagcompound) { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f5ca87c..a1e46c2 100644 +index 0de2af1..9cfa54c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1180,8 +1180,14 @@ public abstract class World implements IBlockAccess { +@@ -1179,8 +1179,14 @@ public abstract class World implements IBlockAccess { { if ( !this.isChunkLoaded( chunkx, chunkz, true ) ) { @@ -161,7 +161,7 @@ index f5ca87c..a1e46c2 100644 } int cz = chunkz << 4; Chunk chunk = this.getChunkAt( chunkx, chunkz ); -@@ -1665,6 +1671,7 @@ public abstract class World implements IBlockAccess { +@@ -1672,6 +1678,7 @@ public abstract class World implements IBlockAccess { int i1 = MathHelper.floor(entity.locZ / 16.0D); if (!entity.ad || entity.ae != k || entity.af != l || entity.ag != i1) { diff --git a/Spigot-Server-Patches/0046-Stackable-Buckets.patch b/Spigot-Server-Patches/0045-Stackable-Buckets.patch similarity index 99% rename from Spigot-Server-Patches/0046-Stackable-Buckets.patch rename to Spigot-Server-Patches/0045-Stackable-Buckets.patch index 0ce8c9e7a7..5bb4a290fc 100644 --- a/Spigot-Server-Patches/0046-Stackable-Buckets.patch +++ b/Spigot-Server-Patches/0045-Stackable-Buckets.patch @@ -1,4 +1,4 @@ -From 1144b7cd79291119ddcc5ca023e8343754b8cbee Mon Sep 17 00:00:00 2001 +From ebf538a6ac13883b289be7ed1b172f28d860c4cb Mon Sep 17 00:00:00 2001 From: Byteflux Date: Mon, 1 Jun 2015 22:21:52 -0700 Subject: [PATCH] Stackable Buckets diff --git a/Spigot-Server-Patches/0047-Fix-lag-from-explosions-processing-dead-entities.patch b/Spigot-Server-Patches/0046-Fix-lag-from-explosions-processing-dead-entities.patch similarity index 95% rename from Spigot-Server-Patches/0047-Fix-lag-from-explosions-processing-dead-entities.patch rename to Spigot-Server-Patches/0046-Fix-lag-from-explosions-processing-dead-entities.patch index 3e198a8f14..2b70aa5faf 100644 --- a/Spigot-Server-Patches/0047-Fix-lag-from-explosions-processing-dead-entities.patch +++ b/Spigot-Server-Patches/0046-Fix-lag-from-explosions-processing-dead-entities.patch @@ -1,4 +1,4 @@ -From 87de801e202c178f8f93ae6a11cf94c7e6d9c49a Mon Sep 17 00:00:00 2001 +From ddac02b42300698b7bff62fc5dc572ecb91cac5f Mon Sep 17 00:00:00 2001 From: Iceee Date: Mon, 1 Jun 2015 22:54:18 -0700 Subject: [PATCH] Fix lag from explosions processing dead entities diff --git a/Spigot-Server-Patches/0048-Generator-Settings.patch b/Spigot-Server-Patches/0047-Generator-Settings.patch similarity index 99% rename from Spigot-Server-Patches/0048-Generator-Settings.patch rename to Spigot-Server-Patches/0047-Generator-Settings.patch index 854551b57f..a99b9305fb 100644 --- a/Spigot-Server-Patches/0048-Generator-Settings.patch +++ b/Spigot-Server-Patches/0047-Generator-Settings.patch @@ -1,4 +1,4 @@ -From 3ecfe83fdf25f999d5d6eca388169bd1842d7ce8 Mon Sep 17 00:00:00 2001 +From bcfba603222a07cf5b77763853394956f01727ea Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 2 Jun 2015 00:41:23 -0700 Subject: [PATCH] Generator Settings diff --git a/Spigot-Server-Patches/0049-Configurable-TNT-cannon-fix.patch b/Spigot-Server-Patches/0048-Configurable-TNT-cannon-fix.patch similarity index 99% rename from Spigot-Server-Patches/0049-Configurable-TNT-cannon-fix.patch rename to Spigot-Server-Patches/0048-Configurable-TNT-cannon-fix.patch index f6a2d1a450..3d9dd7984f 100644 --- a/Spigot-Server-Patches/0049-Configurable-TNT-cannon-fix.patch +++ b/Spigot-Server-Patches/0048-Configurable-TNT-cannon-fix.patch @@ -1,4 +1,4 @@ -From ad160d40d1ec4b21b2af65b5a22541e343e286e6 Mon Sep 17 00:00:00 2001 +From 513c7165df7e3a5308123b771ed5e59fc0151c0b Mon Sep 17 00:00:00 2001 From: Iceee Date: Thu, 4 Jun 2015 13:55:02 -0700 Subject: [PATCH] Configurable TNT cannon fix @@ -172,7 +172,7 @@ index bc07d3d..cc7a1e3 100644 world.getServer().getPluginManager().callEvent(event); } diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index 34627c6..cf02997 100644 +index ba1cadb..e559049 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java @@ -278,4 +278,22 @@ public class EntityFallingBlock extends Entity { diff --git a/Spigot-Server-Patches/0050-FallingBlock-and-TNT-entities-collide-with-specific-.patch b/Spigot-Server-Patches/0049-FallingBlock-and-TNT-entities-collide-with-specific-.patch similarity index 94% rename from Spigot-Server-Patches/0050-FallingBlock-and-TNT-entities-collide-with-specific-.patch rename to Spigot-Server-Patches/0049-FallingBlock-and-TNT-entities-collide-with-specific-.patch index a5edc63b09..0ffa68a8ef 100644 --- a/Spigot-Server-Patches/0050-FallingBlock-and-TNT-entities-collide-with-specific-.patch +++ b/Spigot-Server-Patches/0049-FallingBlock-and-TNT-entities-collide-with-specific-.patch @@ -1,14 +1,14 @@ -From 94088bc7f6b6f0e56aef4c9e8bb96ccd04922ee8 Mon Sep 17 00:00:00 2001 +From 04270222ffbe066aa03eb70991cb243a771cf89a Mon Sep 17 00:00:00 2001 From: Byteflux Date: Fri, 5 Jun 2015 00:43:17 -0700 Subject: [PATCH] FallingBlock and TNT entities collide with specific blocks diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index a1e46c2..83197b2 100644 +index 9cfa54c..7c90dd9 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1220,7 +1220,15 @@ public abstract class World implements IBlockAccess { +@@ -1219,7 +1219,15 @@ public abstract class World implements IBlockAccess { } if ( block != null ) { diff --git a/Spigot-Server-Patches/0051-Optimize-explosions.patch b/Spigot-Server-Patches/0050-Optimize-explosions.patch similarity index 97% rename from Spigot-Server-Patches/0051-Optimize-explosions.patch rename to Spigot-Server-Patches/0050-Optimize-explosions.patch index 9651716d19..26e3a28b49 100644 --- a/Spigot-Server-Patches/0051-Optimize-explosions.patch +++ b/Spigot-Server-Patches/0050-Optimize-explosions.patch @@ -1,4 +1,4 @@ -From 72dad786d96891b88c7f89796c4d394a5d4bd319 Mon Sep 17 00:00:00 2001 +From 617a0b0fb8cec2797ac378a971d7e7ec4954dc14 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 16 Jun 2015 05:52:58 -0700 Subject: [PATCH] Optimize explosions @@ -122,10 +122,10 @@ index 06ae3fc..eac71e8 100644 // this.i[i][this.ticks % 100] = System.nanoTime() - j; // CraftBukkit diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 83197b2..0fcbc01 100644 +index 7c90dd9..254e155 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -148,6 +148,7 @@ public abstract class World implements IBlockAccess { +@@ -147,6 +147,7 @@ public abstract class World implements IBlockAccess { private org.spigotmc.TickLimiter tileLimiter; private int tileTickPosition; public ExecutorService lightingExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("PaperSpigot - Lighting Thread").build()); // PaperSpigot - Asynchronous lighting updates diff --git a/Spigot-Server-Patches/0052-Stop-updating-flowing-block-if-material-has-changed.patch b/Spigot-Server-Patches/0051-Stop-updating-flowing-block-if-material-has-changed.patch similarity index 93% rename from Spigot-Server-Patches/0052-Stop-updating-flowing-block-if-material-has-changed.patch rename to Spigot-Server-Patches/0051-Stop-updating-flowing-block-if-material-has-changed.patch index 955ffe04bc..3ba862630b 100644 --- a/Spigot-Server-Patches/0052-Stop-updating-flowing-block-if-material-has-changed.patch +++ b/Spigot-Server-Patches/0051-Stop-updating-flowing-block-if-material-has-changed.patch @@ -1,4 +1,4 @@ -From 7d5c47c8684090a2d862c32d3981b8afcb97d764 Mon Sep 17 00:00:00 2001 +From adb1d170502e3b0e44d08399ec31c0633f411c1c Mon Sep 17 00:00:00 2001 From: Iceee Date: Tue, 30 Jun 2015 19:31:02 -0700 Subject: [PATCH] Stop updating flowing block if material has changed diff --git a/Spigot-Server-Patches/0053-Fast-draining.patch b/Spigot-Server-Patches/0052-Fast-draining.patch similarity index 98% rename from Spigot-Server-Patches/0053-Fast-draining.patch rename to Spigot-Server-Patches/0052-Fast-draining.patch index f33790911b..df09d653f1 100644 --- a/Spigot-Server-Patches/0053-Fast-draining.patch +++ b/Spigot-Server-Patches/0052-Fast-draining.patch @@ -1,4 +1,4 @@ -From 46c0380bf9709b5b2e38bea6e6ac8685ffdb58cc Mon Sep 17 00:00:00 2001 +From 02730e4570adc6ea676a5e9d6a12e0b5bbdc55e5 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 30 Jun 2015 19:53:03 -0700 Subject: [PATCH] Fast draining diff --git a/Spigot-Server-Patches/0054-Configurable-lava-flow-speed.patch b/Spigot-Server-Patches/0053-Configurable-lava-flow-speed.patch similarity index 96% rename from Spigot-Server-Patches/0054-Configurable-lava-flow-speed.patch rename to Spigot-Server-Patches/0053-Configurable-lava-flow-speed.patch index f51f1741db..dcf20239fd 100644 --- a/Spigot-Server-Patches/0054-Configurable-lava-flow-speed.patch +++ b/Spigot-Server-Patches/0053-Configurable-lava-flow-speed.patch @@ -1,4 +1,4 @@ -From 2cc7f3e2402effab8c2175535c6e27058b9f51a2 Mon Sep 17 00:00:00 2001 +From 4983f09972f340718b3dce467b9ae791be927718 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 1 Jul 2015 00:38:10 -0700 Subject: [PATCH] Configurable lava flow speed diff --git a/Spigot-Server-Patches/0055-Add-player-view-distance-API.patch b/Spigot-Server-Patches/0054-Add-player-view-distance-API.patch similarity index 98% rename from Spigot-Server-Patches/0055-Add-player-view-distance-API.patch rename to Spigot-Server-Patches/0054-Add-player-view-distance-API.patch index 4df28b6ff0..662e22e343 100644 --- a/Spigot-Server-Patches/0055-Add-player-view-distance-API.patch +++ b/Spigot-Server-Patches/0054-Add-player-view-distance-API.patch @@ -1,4 +1,4 @@ -From 4cbe6b918529e6b540a672f3743b06ea6849490e Mon Sep 17 00:00:00 2001 +From b4ecfa2c2bc253d8f2f91efab37cffd7c2f7d9a0 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 1 Jul 2015 00:59:06 -0700 Subject: [PATCH] Add player view distance API diff --git a/Spigot-Server-Patches/0056-Disable-explosion-knockback.patch b/Spigot-Server-Patches/0055-Disable-explosion-knockback.patch similarity index 98% rename from Spigot-Server-Patches/0056-Disable-explosion-knockback.patch rename to Spigot-Server-Patches/0055-Disable-explosion-knockback.patch index b420b81a9f..eb665d21b1 100644 --- a/Spigot-Server-Patches/0056-Disable-explosion-knockback.patch +++ b/Spigot-Server-Patches/0055-Disable-explosion-knockback.patch @@ -1,4 +1,4 @@ -From a399bed1fe1a973d637d250c1af48501494d693a Mon Sep 17 00:00:00 2001 +From a2e155ea58f56fac11c16a6ea54faa60a35557c1 Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Tue, 14 Jul 2015 09:20:44 -0700 Subject: [PATCH] Disable explosion knockback diff --git a/Spigot-Server-Patches/0057-Disable-thunder.patch b/Spigot-Server-Patches/0056-Disable-thunder.patch similarity index 96% rename from Spigot-Server-Patches/0057-Disable-thunder.patch rename to Spigot-Server-Patches/0056-Disable-thunder.patch index 533ed3c539..a86e34f8fe 100644 --- a/Spigot-Server-Patches/0057-Disable-thunder.patch +++ b/Spigot-Server-Patches/0056-Disable-thunder.patch @@ -1,4 +1,4 @@ -From 7f3a073ad67c4562856c3a0f7ed7dc3b3824abd6 Mon Sep 17 00:00:00 2001 +From bc5228ac287ff7d3d28af35781958c3695991670 Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Tue, 14 Jul 2015 09:26:41 -0700 Subject: [PATCH] Disable thunder diff --git a/Spigot-Server-Patches/0058-Disable-ice-and-snow.patch b/Spigot-Server-Patches/0057-Disable-ice-and-snow.patch similarity index 96% rename from Spigot-Server-Patches/0058-Disable-ice-and-snow.patch rename to Spigot-Server-Patches/0057-Disable-ice-and-snow.patch index 7a636683c1..bc895cd97b 100644 --- a/Spigot-Server-Patches/0058-Disable-ice-and-snow.patch +++ b/Spigot-Server-Patches/0057-Disable-ice-and-snow.patch @@ -1,4 +1,4 @@ -From 7ef2d06a703696c08a8fd08da896fedc07ebdc95 Mon Sep 17 00:00:00 2001 +From 250fcdbcd4a67cb389bee872357ffa0906746790 Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Tue, 14 Jul 2015 09:28:31 -0700 Subject: [PATCH] Disable ice and snow diff --git a/Spigot-Server-Patches/0059-Disable-mood-sounds.patch b/Spigot-Server-Patches/0058-Disable-mood-sounds.patch similarity index 89% rename from Spigot-Server-Patches/0059-Disable-mood-sounds.patch rename to Spigot-Server-Patches/0058-Disable-mood-sounds.patch index 31b18c333f..065a765a16 100644 --- a/Spigot-Server-Patches/0059-Disable-mood-sounds.patch +++ b/Spigot-Server-Patches/0058-Disable-mood-sounds.patch @@ -1,14 +1,14 @@ -From 3ca15649e655be5701ecb7d7ed84f03e2ea3e38f Mon Sep 17 00:00:00 2001 +From 87d59743e8e845b874b622a0d9ef86cdd75ffda3 Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Tue, 14 Jul 2015 09:30:28 -0700 Subject: [PATCH] Disable mood sounds diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 0fcbc01..4fad879 100644 +index 254e155..1c82aaa 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -2265,7 +2265,7 @@ public abstract class World implements IBlockAccess { +@@ -2272,7 +2272,7 @@ public abstract class World implements IBlockAccess { protected void a(int i, int j, Chunk chunk) { this.methodProfiler.c("moodSound"); diff --git a/Spigot-Server-Patches/0060-Configurable-mob-spawner-tick-rate.patch b/Spigot-Server-Patches/0059-Configurable-mob-spawner-tick-rate.patch similarity index 97% rename from Spigot-Server-Patches/0060-Configurable-mob-spawner-tick-rate.patch rename to Spigot-Server-Patches/0059-Configurable-mob-spawner-tick-rate.patch index 6f957df934..b75625a355 100644 --- a/Spigot-Server-Patches/0060-Configurable-mob-spawner-tick-rate.patch +++ b/Spigot-Server-Patches/0059-Configurable-mob-spawner-tick-rate.patch @@ -1,4 +1,4 @@ -From 43a3cb4aa8a440f60f0387666307447af3d6847b Mon Sep 17 00:00:00 2001 +From ef6d2eb2901e52146ebbb4c0c8d7ac6aa0ec94b4 Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Tue, 14 Jul 2015 09:58:15 -0700 Subject: [PATCH] Configurable mob spawner tick rate diff --git a/Spigot-Server-Patches/0061-Optimize-getCubes.patch b/Spigot-Server-Patches/0060-Optimize-getCubes.patch similarity index 86% rename from Spigot-Server-Patches/0061-Optimize-getCubes.patch rename to Spigot-Server-Patches/0060-Optimize-getCubes.patch index cb8a8f4728..1cdf2bd9dd 100644 --- a/Spigot-Server-Patches/0061-Optimize-getCubes.patch +++ b/Spigot-Server-Patches/0060-Optimize-getCubes.patch @@ -1,14 +1,14 @@ -From 70d87148e1e2635243381737ad6d0cb572fa50cd Mon Sep 17 00:00:00 2001 +From 8e392550b6970e1553f6d09108797b60f618a7a4 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 14 Jul 2015 10:03:45 -0700 Subject: [PATCH] Optimize getCubes() diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 4fad879..d481bc4 100644 +index 1c82aaa..816a2f6 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1179,11 +1179,12 @@ public abstract class World implements IBlockAccess { +@@ -1178,11 +1178,12 @@ public abstract class World implements IBlockAccess { int cx = chunkx << 4; for ( int chunkz = ( i1 >> 4 ); chunkz <= ( ( j1 - 1 ) >> 4 ); chunkz++ ) { @@ -23,7 +23,7 @@ index 4fad879..d481bc4 100644 } else { entity.inUnloadedChunk = true; // PaperSpigot - Remove entities in unloaded chunks continue; -@@ -1191,7 +1192,6 @@ public abstract class World implements IBlockAccess { +@@ -1190,7 +1191,6 @@ public abstract class World implements IBlockAccess { // PaperSpigot end } int cz = chunkz << 4; @@ -31,7 +31,7 @@ index 4fad879..d481bc4 100644 // Compute ranges within chunk int xstart = ( i < cx ) ? cx : i; int xend = ( j < ( cx + 16 ) ) ? j : ( cx + 16 ); -@@ -1238,6 +1238,8 @@ public abstract class World implements IBlockAccess { +@@ -1237,6 +1237,8 @@ public abstract class World implements IBlockAccess { } // Spigot end diff --git a/Spigot-Server-Patches/0062-ChunkMap-caching.patch b/Spigot-Server-Patches/0061-ChunkMap-caching.patch similarity index 98% rename from Spigot-Server-Patches/0062-ChunkMap-caching.patch rename to Spigot-Server-Patches/0061-ChunkMap-caching.patch index 91df235980..9c6d3b5cc3 100644 --- a/Spigot-Server-Patches/0062-ChunkMap-caching.patch +++ b/Spigot-Server-Patches/0061-ChunkMap-caching.patch @@ -1,4 +1,4 @@ -From 117484cb5d195384bee5c27523e350684dfd7ddb Mon Sep 17 00:00:00 2001 +From 001bb0997eb6555d5bfb56ec280061c590f8d2a2 Mon Sep 17 00:00:00 2001 From: Iceee Date: Wed, 15 Jul 2015 02:41:12 -0700 Subject: [PATCH] ChunkMap caching diff --git a/Spigot-Server-Patches/0063-Send-absolute-position-the-first-time-an-entity-is-s.patch b/Spigot-Server-Patches/0062-Send-absolute-position-the-first-time-an-entity-is-s.patch similarity index 98% rename from Spigot-Server-Patches/0063-Send-absolute-position-the-first-time-an-entity-is-s.patch rename to Spigot-Server-Patches/0062-Send-absolute-position-the-first-time-an-entity-is-s.patch index 534cbbb0c4..175e85b7c9 100644 --- a/Spigot-Server-Patches/0063-Send-absolute-position-the-first-time-an-entity-is-s.patch +++ b/Spigot-Server-Patches/0062-Send-absolute-position-the-first-time-an-entity-is-s.patch @@ -1,4 +1,4 @@ -From 9841ba8d8df30cfa1daef06078e755125c431839 Mon Sep 17 00:00:00 2001 +From 5b6d3af20b71d1941643519ce0e037432d264c17 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Fri, 3 Apr 2015 17:26:21 -0400 Subject: [PATCH] Send absolute position the first time an entity is seen diff --git a/Spigot-Server-Patches/0064-Optimize-Spigot-s-Anti-X-Ray.patch b/Spigot-Server-Patches/0063-Optimize-Spigot-s-Anti-X-Ray.patch similarity index 97% rename from Spigot-Server-Patches/0064-Optimize-Spigot-s-Anti-X-Ray.patch rename to Spigot-Server-Patches/0063-Optimize-Spigot-s-Anti-X-Ray.patch index 34ee82abe0..3e561d1786 100644 --- a/Spigot-Server-Patches/0064-Optimize-Spigot-s-Anti-X-Ray.patch +++ b/Spigot-Server-Patches/0063-Optimize-Spigot-s-Anti-X-Ray.patch @@ -1,4 +1,4 @@ -From 315bc28bbfe77ff6d81264e331d3f4ec557efeb2 Mon Sep 17 00:00:00 2001 +From b082a854d2fa598ed788c8e7803b10e7c95a1e78 Mon Sep 17 00:00:00 2001 From: Iceee Date: Thu, 23 Jul 2015 04:23:23 -0700 Subject: [PATCH] Optimize Spigot's Anti X-Ray diff --git a/Spigot-Server-Patches/0065-Add-BeaconEffectEvent.patch b/Spigot-Server-Patches/0064-Add-BeaconEffectEvent.patch similarity index 97% rename from Spigot-Server-Patches/0065-Add-BeaconEffectEvent.patch rename to Spigot-Server-Patches/0064-Add-BeaconEffectEvent.patch index fc0d4c91d5..88c544b103 100644 --- a/Spigot-Server-Patches/0065-Add-BeaconEffectEvent.patch +++ b/Spigot-Server-Patches/0064-Add-BeaconEffectEvent.patch @@ -1,11 +1,11 @@ -From 0744a8d72a689bc4e7b485e9269bff15a19efe3f Mon Sep 17 00:00:00 2001 +From 3e7777bd774d36609d4d8a66bce37462ecf5424e Mon Sep 17 00:00:00 2001 From: Byteflux Date: Thu, 23 Jul 2015 12:44:06 -0700 Subject: [PATCH] Add BeaconEffectEvent diff --git a/src/main/java/net/minecraft/server/TileEntityBeacon.java b/src/main/java/net/minecraft/server/TileEntityBeacon.java -index 3ea1b62..a24dc68 100644 +index 4f280dd..f4717af 100644 --- a/src/main/java/net/minecraft/server/TileEntityBeacon.java +++ b/src/main/java/net/minecraft/server/TileEntityBeacon.java @@ -10,6 +10,14 @@ import org.bukkit.craftbukkit.entity.CraftHumanEntity; diff --git a/Spigot-Server-Patches/0066-Configurable-container-update-tick-rate.patch b/Spigot-Server-Patches/0065-Configurable-container-update-tick-rate.patch similarity index 96% rename from Spigot-Server-Patches/0066-Configurable-container-update-tick-rate.patch rename to Spigot-Server-Patches/0065-Configurable-container-update-tick-rate.patch index 4c018d48ce..3725a7d58f 100644 --- a/Spigot-Server-Patches/0066-Configurable-container-update-tick-rate.patch +++ b/Spigot-Server-Patches/0065-Configurable-container-update-tick-rate.patch @@ -1,4 +1,4 @@ -From 59249116c7812dd2e653a4a371c14c9d616d1dab Mon Sep 17 00:00:00 2001 +From b3648456c35595d816fc03a27dee08070d9414ef Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Thu, 23 Jul 2015 22:05:22 -0700 Subject: [PATCH] Configurable container update tick rate diff --git a/Spigot-Server-Patches/0067-Configurable-TNT-explosion-volume.patch b/Spigot-Server-Patches/0066-Configurable-TNT-explosion-volume.patch similarity index 96% rename from Spigot-Server-Patches/0067-Configurable-TNT-explosion-volume.patch rename to Spigot-Server-Patches/0066-Configurable-TNT-explosion-volume.patch index 9ccf7f0195..485085c7f5 100644 --- a/Spigot-Server-Patches/0067-Configurable-TNT-explosion-volume.patch +++ b/Spigot-Server-Patches/0066-Configurable-TNT-explosion-volume.patch @@ -1,4 +1,4 @@ -From ae0bafba16c127e0ef08c62a9a65bd8bbb47473e Mon Sep 17 00:00:00 2001 +From 828d3214e608e5d47b09df72d7cdb285dd01ad97 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 4 Aug 2015 17:45:00 -0700 Subject: [PATCH] Configurable TNT explosion volume diff --git a/Spigot-Server-Patches/0068-Fix-lava-water-some-times-creating-air-instead-of-co.patch b/Spigot-Server-Patches/0067-Fix-lava-water-some-times-creating-air-instead-of-co.patch similarity index 93% rename from Spigot-Server-Patches/0068-Fix-lava-water-some-times-creating-air-instead-of-co.patch rename to Spigot-Server-Patches/0067-Fix-lava-water-some-times-creating-air-instead-of-co.patch index 8705b95c15..485355ad50 100644 --- a/Spigot-Server-Patches/0068-Fix-lava-water-some-times-creating-air-instead-of-co.patch +++ b/Spigot-Server-Patches/0067-Fix-lava-water-some-times-creating-air-instead-of-co.patch @@ -1,4 +1,4 @@ -From dee961efe3d5df8534e197a1ab74107384cb22e9 Mon Sep 17 00:00:00 2001 +From 7a75bfc6005068781daff4e13863ad30ed28a60f Mon Sep 17 00:00:00 2001 From: Iceee Date: Tue, 4 Aug 2015 18:15:05 -0700 Subject: [PATCH] Fix lava/water some times creating air instead of cobblestone diff --git a/Spigot-Server-Patches/0069-Use-UserCache-for-player-heads.patch b/Spigot-Server-Patches/0068-Use-UserCache-for-player-heads.patch similarity index 95% rename from Spigot-Server-Patches/0069-Use-UserCache-for-player-heads.patch rename to Spigot-Server-Patches/0068-Use-UserCache-for-player-heads.patch index 57c0a69a50..ac71a19c91 100644 --- a/Spigot-Server-Patches/0069-Use-UserCache-for-player-heads.patch +++ b/Spigot-Server-Patches/0068-Use-UserCache-for-player-heads.patch @@ -1,4 +1,4 @@ -From c1775435d2baf97d280e8558afa48069ab8df201 Mon Sep 17 00:00:00 2001 +From eb37d0158909779aa56c6a6c67ec300a80b07796 Mon Sep 17 00:00:00 2001 From: Techcable Date: Fri, 7 Aug 2015 19:31:31 -0700 Subject: [PATCH] Use UserCache for player heads diff --git a/Spigot-Server-Patches/0070-Re-add-Spigot-s-hopper-check-feature.patch b/Spigot-Server-Patches/0069-Re-add-Spigot-s-hopper-check-feature.patch similarity index 95% rename from Spigot-Server-Patches/0070-Re-add-Spigot-s-hopper-check-feature.patch rename to Spigot-Server-Patches/0069-Re-add-Spigot-s-hopper-check-feature.patch index 03e0889a8b..be6ad3fcf4 100644 --- a/Spigot-Server-Patches/0070-Re-add-Spigot-s-hopper-check-feature.patch +++ b/Spigot-Server-Patches/0069-Re-add-Spigot-s-hopper-check-feature.patch @@ -1,4 +1,4 @@ -From f0d04b8fe1871c21e723335b5c268c81796baa23 Mon Sep 17 00:00:00 2001 +From 0cf9e5edd72d42954cfe131d1aa6bc15b17f35fe Mon Sep 17 00:00:00 2001 From: Byteflux Date: Thu, 13 Aug 2015 10:33:34 -0700 Subject: [PATCH] Re-add Spigot's hopper-check feature