From 6b4b7d300c9237d321692eabc6b9ba6b28b23cbf Mon Sep 17 00:00:00 2001 From: Gabscap Date: Mon, 21 Mar 2016 15:34:09 +0100 Subject: [PATCH] Add "Waving banner workaround" --- .../0003-mc-dev-imports.patch | 47 ++++++++++++++++++- ...ck-and-TNTPrimed-source-location-API.patch | 10 ++-- .../0101-Optimize-Chunk-Unload-Queue.patch | 8 ++-- .../0104-Waving-banner-workaround.patch | 37 +++++++++++++++ 4 files changed, 91 insertions(+), 11 deletions(-) create mode 100644 Spigot-Server-Patches/0104-Waving-banner-workaround.patch diff --git a/Spigot-Server-Patches/0003-mc-dev-imports.patch b/Spigot-Server-Patches/0003-mc-dev-imports.patch index 411506b942..163a19ea31 100644 --- a/Spigot-Server-Patches/0003-mc-dev-imports.patch +++ b/Spigot-Server-Patches/0003-mc-dev-imports.patch @@ -1,4 +1,4 @@ -From c247bf9b0fb7799531e500d1ba852b887aa3e613 Mon Sep 17 00:00:00 2001 +From 175bf165592619de67980426a5dd8cfbc629d194 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 21:09:10 -0600 Subject: [PATCH] mc-dev imports @@ -5037,6 +5037,49 @@ index 0000000..30ca225 + private EnumResourcePackStatus() {} + } +} +diff --git a/src/main/java/net/minecraft/server/PacketPlayOutUpdateTime.java b/src/main/java/net/minecraft/server/PacketPlayOutUpdateTime.java +new file mode 100644 +index 0000000..c5c3f40 +--- /dev/null ++++ b/src/main/java/net/minecraft/server/PacketPlayOutUpdateTime.java +@@ -0,0 +1,37 @@ ++package net.minecraft.server; ++ ++import java.io.IOException; ++ ++public class PacketPlayOutUpdateTime implements Packet { ++ ++ private long a; ++ private long b; ++ ++ public PacketPlayOutUpdateTime() {} ++ ++ public PacketPlayOutUpdateTime(long i, long j, boolean flag) { ++ this.a = i; ++ this.b = j; ++ if (!flag) { ++ this.b = -this.b; ++ if (this.b == 0L) { ++ this.b = -1L; ++ } ++ } ++ ++ } ++ ++ public void a(PacketDataSerializer packetdataserializer) throws IOException { ++ this.a = packetdataserializer.readLong(); ++ this.b = packetdataserializer.readLong(); ++ } ++ ++ public void b(PacketDataSerializer packetdataserializer) throws IOException { ++ packetdataserializer.writeLong(this.a); ++ packetdataserializer.writeLong(this.b); ++ } ++ ++ public void a(PacketListenerPlayOut packetlistenerplayout) { ++ packetlistenerplayout.a(this); ++ } ++} diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java new file mode 100644 index 0000000..1a20dbf @@ -5577,5 +5620,5 @@ index 0000000..2286c9e + } +} -- -2.7.4.windows.1 +2.7.4 diff --git a/Spigot-Server-Patches/0024-FallingBlock-and-TNTPrimed-source-location-API.patch b/Spigot-Server-Patches/0024-FallingBlock-and-TNTPrimed-source-location-API.patch index 13ae83fb3f..ad210f3e76 100644 --- a/Spigot-Server-Patches/0024-FallingBlock-and-TNTPrimed-source-location-API.patch +++ b/Spigot-Server-Patches/0024-FallingBlock-and-TNTPrimed-source-location-API.patch @@ -1,4 +1,4 @@ -From 6e8b4f64650ff93e2a9ae61032fc47165a7ab07b Mon Sep 17 00:00:00 2001 +From efc500c63a06c023dbb9c79c72ec0affd8d7bc1f Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 1 Mar 2016 23:45:08 -0600 Subject: [PATCH] FallingBlock and TNTPrimed source location API @@ -193,10 +193,10 @@ index 564ea37..1820c7b 100644 public EntityLiving getSource() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a487c2f..33c3428 100644 +index 83e3003..25edfb8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -916,7 +916,10 @@ public class CraftWorld implements World { +@@ -921,7 +921,10 @@ public class CraftWorld implements World { double y = location.getBlockY() + 0.5; double z = location.getBlockZ() + 0.5; @@ -208,7 +208,7 @@ index a487c2f..33c3428 100644 entity.ticksLived = 1; world.addEntity(entity, SpawnReason.CUSTOM); -@@ -952,7 +955,10 @@ public class CraftWorld implements World { +@@ -957,7 +960,10 @@ public class CraftWorld implements World { int type = CraftMagicNumbers.getId(blockData.getBlock()); int data = blockData.getBlock().toLegacyData(blockData); @@ -220,7 +220,7 @@ index a487c2f..33c3428 100644 } else if (Projectile.class.isAssignableFrom(clazz)) { if (Snowball.class.isAssignableFrom(clazz)) { entity = new EntitySnowball(world, x, y, z); -@@ -1157,7 +1163,8 @@ public class CraftWorld implements World { +@@ -1162,7 +1168,8 @@ public class CraftWorld implements World { throw new IllegalArgumentException("Cannot spawn hanging entity for " + clazz.getName() + " at " + location); } } else if (TNTPrimed.class.isAssignableFrom(clazz)) { diff --git a/Spigot-Server-Patches/0101-Optimize-Chunk-Unload-Queue.patch b/Spigot-Server-Patches/0101-Optimize-Chunk-Unload-Queue.patch index ddee6c6dfd..5a80f1dca9 100644 --- a/Spigot-Server-Patches/0101-Optimize-Chunk-Unload-Queue.patch +++ b/Spigot-Server-Patches/0101-Optimize-Chunk-Unload-Queue.patch @@ -1,4 +1,4 @@ -From 0385b90fdceb081a9de4fab93323336c730db2a3 Mon Sep 17 00:00:00 2001 +From 32dc972c6b6b45581ad7c5e4090b71a156ead0ed Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 17:57:25 -0400 Subject: [PATCH] Optimize Chunk Unload Queue @@ -261,7 +261,7 @@ index a6c8e53..d8bd36c 100644 this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(worlddata.getName(), this.spigotConfig); // Paper diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index be311cd..6307c19 100644 +index c51c74b..caa5e62 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -206,7 +206,7 @@ public class CraftWorld implements World { @@ -299,7 +299,7 @@ index be311cd..6307c19 100644 if (neighbor != null) { neighbor.setNeighborLoaded(-x, -z); chunk.setNeighborLoaded(x, z); -@@ -1538,7 +1539,7 @@ public class CraftWorld implements World { +@@ -1543,7 +1544,7 @@ public class CraftWorld implements World { } // Already unloading? @@ -348,5 +348,5 @@ index daed1db..e4af40c 100644 { isActive = false; -- -2.7.4 +2.7.4.windows.1 diff --git a/Spigot-Server-Patches/0104-Waving-banner-workaround.patch b/Spigot-Server-Patches/0104-Waving-banner-workaround.patch new file mode 100644 index 0000000000..dd8c1d7773 --- /dev/null +++ b/Spigot-Server-Patches/0104-Waving-banner-workaround.patch @@ -0,0 +1,37 @@ +From 2b2d1075dc7870416e90329e352e5fa2aff32998 Mon Sep 17 00:00:00 2001 +From: Gabscap +Date: Sat, 19 Mar 2016 22:25:11 +0100 +Subject: [PATCH] Waving banner workaround + +This patch is a workaround for MC-63720 + +diff --git a/src/main/java/net/minecraft/server/PacketPlayOutUpdateTime.java b/src/main/java/net/minecraft/server/PacketPlayOutUpdateTime.java +index c5c3f40..3ed2356 100644 +--- a/src/main/java/net/minecraft/server/PacketPlayOutUpdateTime.java ++++ b/src/main/java/net/minecraft/server/PacketPlayOutUpdateTime.java +@@ -4,7 +4,11 @@ import java.io.IOException; + + public class PacketPlayOutUpdateTime implements Packet { + ++ // World Age in ticks ++ // Not changed by server commands + private long a; ++ // Time of Day in ticks ++ // If negative the sun will stop moving at the Math.abs of the time + private long b; + + public PacketPlayOutUpdateTime() {} +@@ -19,6 +23,10 @@ public class PacketPlayOutUpdateTime implements Packet { + } + } + ++ // Paper start ++ this.a = this.a % 192000; // World age must not be negative ++ this.b = this.b % 192000 - (this.b < 0 ? 192000 : 0); // Keep sign ++ // Paper end + } + + public void a(PacketDataSerializer packetdataserializer) throws IOException { +-- +2.7.4 +