Update upstream S

This commit is contained in:
Zach Brown 2017-01-30 22:33:54 -06:00
parent e08ef5457a
commit 1e1541a2e9
No known key found for this signature in database
GPG key ID: CC9DA35FC5450B76
17 changed files with 168 additions and 170 deletions

View file

@ -1,11 +1,11 @@
From 22ab319e4192a07fd7b35c388d702ab194ff9d78 Mon Sep 17 00:00:00 2001
From 87d8e5e8a31d66af1e7ff8eaa2655fbeed5e0f47 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Mon, 29 Feb 2016 18:05:37 -0600
Subject: [PATCH] Add player view distance API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 366d1ae..6f9836c 100644
index 366d1ae8..6f9836cd 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1346,6 +1346,20 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
@ -30,5 +30,5 @@ index 366d1ae..6f9836c 100644
public class Spigot extends Entity.Spigot
{
--
2.9.3
2.11.0.windows.3

View file

@ -1,11 +1,11 @@
From 389912ff339c2edd5542e66afc749c588f15fe04 Mon Sep 17 00:00:00 2001
From fab6746b634e849bb0effc92deb503dc84e72eac Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 3 Mar 2016 04:00:11 -0600
Subject: [PATCH] Timings v2
diff --git a/pom.xml b/pom.xml
index 0e88ae2..31b8401 100644
index 0e88ae2a7..31b8401aa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -66,6 +66,12 @@
@ -23,7 +23,7 @@ index 0e88ae2..31b8401 100644
<version>3.0.3</version>
diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
new file mode 100644
index 0000000..29838de
index 000000000..29838de47
--- /dev/null
+++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
@@ -0,0 +1,114 @@
@ -143,7 +143,7 @@ index 0000000..29838de
+}
diff --git a/src/main/java/co/aikar/timings/TimedChunkGenerator.java b/src/main/java/co/aikar/timings/TimedChunkGenerator.java
new file mode 100644
index 0000000..b79f1be
index 000000000..b79f1be7a
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimedChunkGenerator.java
@@ -0,0 +1,126 @@
@ -275,7 +275,7 @@ index 0000000..b79f1be
+}
diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
new file mode 100644
index 0000000..e778911
index 000000000..e7789117b
--- /dev/null
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
@@ -0,0 +1,101 @@
@ -381,7 +381,7 @@ index 0000000..e778911
+ }
+}
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index c009c5f..e679890 100644
index c009c5f12..e67989083 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit;
@ -425,7 +425,7 @@ index c009c5f..e679890 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index e8511ac..d3f1a4a 100644
index e8511ac9a..d3f1a4ac0 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -35,6 +35,15 @@ public class Block {
@ -445,7 +445,7 @@ index e8511ac..d3f1a4a 100644
public static int getId(Block block) {
return Block.REGISTRY.a(block); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 81fc04e..bd3b160 100644
index 81fc04ed3..bd3b16025 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -900,7 +900,7 @@ public class Chunk {
@ -493,7 +493,7 @@ index 81fc04e..bd3b160 100644
private void z() {
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index b39937f..17d39bb 100644
index 87c07f2be..e18fb875f 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -195,7 +195,7 @@ public class ChunkProviderServer implements IChunkProvider {
@ -515,7 +515,7 @@ index b39937f..17d39bb 100644
this.chunkLoader.a(this.world, chunk);
} catch (IOException ioexception) {
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index a97e7d3..4890023 100644
index a97e7d3c2..4890023d7 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -402,7 +402,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@ -555,7 +555,7 @@ index a97e7d3..4890023 100644
// return chunk; // CraftBukkit
}
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index cb83e4f..4dab9e9 100644
index cb83e4f56..4dab9e962 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -23,7 +23,7 @@ import java.io.PrintStream;
@ -586,7 +586,7 @@ index cb83e4f..4dab9e9 100644
public boolean aa() {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index e7b1ebb..05312c6 100644
index e7b1ebbe3..05312c6ac 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -25,7 +25,8 @@ import org.bukkit.block.BlockFace;
@ -625,7 +625,7 @@ index e7b1ebb..05312c6 100644
public void recalcPosition() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 318d57e..955e1f7 100644
index 318d57e57..955e1f7a7 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -31,7 +31,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@ -696,7 +696,7 @@ index 318d57e..955e1f7 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java
index 347a2b6..aceb08c 100644
index 347a2b671..aceb08ce1 100644
--- a/src/main/java/net/minecraft/server/EntityTracker.java
+++ b/src/main/java/net/minecraft/server/EntityTracker.java
@@ -175,7 +175,7 @@ public class EntityTracker {
@ -727,19 +727,20 @@ index 347a2b6..aceb08c 100644
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 90b6678..9e3a8d1 100644
index d1b488e8f..8f7b148a1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -47,7 +47,7 @@ import org.bukkit.Bukkit;
@@ -47,8 +47,8 @@ import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.Main;
// CraftBukkit end
-import org.bukkit.craftbukkit.SpigotTimings; // Spigot
import org.spigotmc.SlackActivityAccountant; // Spigot
+import co.aikar.timings.MinecraftTimings; // Paper
public abstract class MinecraftServer implements Runnable, ICommandListener, IAsyncTaskHandler, IMojangStatistics {
@@ -457,6 +457,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -459,6 +459,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
}
// CraftBukkit end
MinecraftServer.LOGGER.info("Stopping server");
@ -747,16 +748,16 @@ index 90b6678..9e3a8d1 100644
// CraftBukkit start
if (this.server != null) {
this.server.disablePlugins();
@@ -661,7 +662,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -663,7 +664,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
public void B() {}
protected void C() throws ExceptionWorldConflict { // CraftBukkit - added throws
- SpigotTimings.serverTickTimer.startTiming(); // Spigot
+ co.aikar.timings.TimingsManager.FULL_SERVER_TICK.startTiming(); // Paper
this.slackActivityAccountant.tickStarted(); // Spigot
long i = System.nanoTime();
++this.ticks;
@@ -688,7 +689,6 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -691,7 +692,6 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
}
if (autosavePeriod > 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit
@ -764,7 +765,7 @@ index 90b6678..9e3a8d1 100644
this.methodProfiler.a("save");
this.v.savePlayers();
// Spigot Start
@@ -703,7 +703,6 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -706,7 +706,6 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
// this.saveChunks(true);
// Spigot End
this.methodProfiler.b();
@ -772,12 +773,10 @@ index 90b6678..9e3a8d1 100644
}
this.methodProfiler.a("tallying");
@@ -720,15 +719,16 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -729,14 +728,14 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.methodProfiler.b();
this.methodProfiler.b();
+
org.spigotmc.WatchdogThread.tick(); // Spigot
this.slackActivityAccountant.tickEnded(tickNanos); // Spigot
- SpigotTimings.serverTickTimer.stopTiming(); // Spigot
- org.spigotmc.CustomTimingsHandler.tick(); // Spigot
+ co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper
@ -793,7 +792,7 @@ index 90b6678..9e3a8d1 100644
this.methodProfiler.a("jobs");
Queue queue = this.j;
@@ -739,22 +739,23 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -747,22 +746,23 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
SystemUtils.a(entry, MinecraftServer.LOGGER);
}
// Spigot end
@ -822,7 +821,7 @@ index 90b6678..9e3a8d1 100644
// Send time updates to everyone, it will get the right time from the world the player is in.
if (this.ticks % 20 == 0) {
for (int i = 0; i < this.getPlayerList().players.size(); ++i) {
@@ -762,7 +763,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -770,7 +770,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(entityplayer.world.getTime(), entityplayer.getPlayerTime(), entityplayer.world.getGameRules().getBoolean("doDaylightCycle"))); // Add support for per player time
}
}
@ -831,7 +830,7 @@ index 90b6678..9e3a8d1 100644
int i;
@@ -819,9 +820,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -827,9 +827,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.methodProfiler.b();
this.methodProfiler.a("tracker");
@ -841,7 +840,7 @@ index 90b6678..9e3a8d1 100644
this.methodProfiler.b();
this.methodProfiler.b();
// } // CraftBukkit
@@ -830,20 +829,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -838,20 +836,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
}
this.methodProfiler.c("connection");
@ -869,7 +868,7 @@ index 90b6678..9e3a8d1 100644
this.methodProfiler.b();
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index a5a096b..c546139 100644
index 703d5813d..021dfba14 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -1,5 +1,6 @@
@ -934,13 +933,13 @@ index a5a096b..c546139 100644
if (!this.h.isEmpty()) {
+ try (Timing ignored = world.timings.doChunkMapPlayersNeedingChunks.startTiming()) { // Paper
long k = System.nanoTime() + 50000000L;
int l = 49;
Iterator iterator1 = this.h.iterator();
@@ -180,10 +190,12 @@ public class PlayerChunkMap {
}
// CraftBukkit end
// Spigot start
org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant;
activityAccountant.startActivity(0.5);
@@ -184,10 +194,12 @@ public class PlayerChunkMap {
}
activityAccountant.endActivity(); // Spigot
+ } // Paper timing
}
@ -950,7 +949,7 @@ index a5a096b..c546139 100644
Iterator iterator2 = this.g.iterator();
while (iterator2.hasNext()) {
@@ -197,14 +209,17 @@ public class PlayerChunkMap {
@@ -201,14 +213,17 @@ public class PlayerChunkMap {
}
}
}
@ -969,7 +968,7 @@ index a5a096b..c546139 100644
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index dc630c5..1248613 100644
index dc630c536..12486135d 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -56,6 +56,7 @@ import org.bukkit.inventory.CraftingInventory;
@ -1017,7 +1016,7 @@ index dc630c5..1248613 100644
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index c0af82b..676cc3f 100644
index c0af82b48..676cc3f3e 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1,5 +1,6 @@
@ -1041,7 +1040,7 @@ index c0af82b..676cc3f 100644
public void addWhitelist(GameProfile gameprofile) {
diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java
index f1f2065..fb350c4 100644
index f1f206501..fb350c408 100644
--- a/src/main/java/net/minecraft/server/StructureGenerator.java
+++ b/src/main/java/net/minecraft/server/StructureGenerator.java
@@ -1,5 +1,7 @@
@ -1083,7 +1082,7 @@ index f1f2065..fb350c4 100644
return flag;
}
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index 6958a2e..b3d3df4 100644
index 6958a2e0f..b3d3df4cf 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -4,12 +4,13 @@ import javax.annotation.Nullable;
@ -1103,7 +1102,7 @@ index 6958a2e..b3d3df4 100644
private static final RegistryMaterials<MinecraftKey, Class<? extends TileEntity>> f = new RegistryMaterials();
protected World world;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index b29375a..c2326cd 100644
index b29375a0c..c2326cd8e 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -18,11 +18,11 @@ import com.google.common.collect.Maps;
@ -1209,7 +1208,7 @@ index b29375a..c2326cd 100644
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 391a09c..9669389 100644
index 391a09c52..966938997 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -247,13 +247,13 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@ -1342,7 +1341,7 @@ index 391a09c..9669389 100644
// CraftBukkit start
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 791383f..38ce058 100644
index 791383fb3..38ce05828 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1737,6 +1737,7 @@ public final class CraftServer implements Server {
@ -1380,7 +1379,7 @@ index 791383f..38ce058 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
deleted file mode 100644
index 41d2d87..0000000
index 41d2d87ee..000000000
--- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
+++ /dev/null
@@ -1,173 +0,0 @@
@ -1558,7 +1557,7 @@ index 41d2d87..0000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java
index 3a95b44..b5efb9c 100644
index 3a95b4465..b5efb9c3f 100644
--- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java
+++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java
@@ -1,6 +1,8 @@
@ -1602,7 +1601,7 @@ index 3a95b44..b5efb9c 100644
public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index d057cce..877a0c8 100644
index d057cce36..877a0c88d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -37,15 +37,9 @@ import org.bukkit.configuration.serialization.DelegateDeserialization;
@ -1636,7 +1635,7 @@ index d057cce..877a0c8 100644
public Player.Spigot spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
index 92d217b..198c37c 100644
index 92d217bce..198c37c3c 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -189,7 +189,7 @@ public class CraftScheduler implements BukkitScheduler {
@ -1677,7 +1676,7 @@ index 92d217b..198c37c 100644
task.getOwner().getLogger().log(
Level.WARNING,
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
index 220e39a..afc6c17 100644
index 220e39abe..afc6c17e6 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
@@ -1,8 +1,8 @@
@ -1759,7 +1758,7 @@ index 220e39a..afc6c17 100644
- // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
index e52ef47..3d90b34 100644
index e52ef47b7..3d90b3426 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
@@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon;
@ -1771,7 +1770,7 @@ index e52ef47..3d90b34 100644
this.value = value;
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index c32d44d..5c2fb00 100644
index c32d44df0..5c2fb0058 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -29,7 +29,7 @@ import net.minecraft.server.EntityWither;
@ -1833,5 +1832,5 @@ index c32d44d..5c2fb00 100644
}
}
--
2.9.3
2.11.0.windows.3

View file

@ -1,4 +1,4 @@
From fa342a9517f7e5c9ca34b6bc5b8c03f20524e4d6 Mon Sep 17 00:00:00 2001
From 097fe2c890f1fcff2a79ab78b18f7924db2edca9 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 14:32:43 -0600
Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang
@ -6,7 +6,7 @@ Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang
diff --git a/src/main/java/net/minecraft/server/EULA.java b/src/main/java/net/minecraft/server/EULA.java
index a8b5079..ebbc1fc 100644
index a8b507961..ebbc1fcaf 100644
--- a/src/main/java/net/minecraft/server/EULA.java
+++ b/src/main/java/net/minecraft/server/EULA.java
@@ -51,7 +51,8 @@ public class EULA {
@ -20,10 +20,10 @@ index a8b5079..ebbc1fc 100644
EULA.a.warn("Failed to save {}", new Object[] { this.b, exception});
} finally {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9e3a8d1..2638f03 100644
index 8f7b148a1..7539bb215 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1035,7 +1035,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -1042,7 +1042,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
}
public String getServerModName() {
@ -33,7 +33,7 @@ index 9e3a8d1..2638f03 100644
public CrashReport b(CrashReport crashreport) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 38ce058..24fd62b 100644
index 38ce05828..24fd62b53 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -135,7 +135,7 @@ import net.md_5.bungee.api.chat.BaseComponent;
@ -46,7 +46,7 @@ index 38ce058..24fd62b 100644
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
index 94a3d42..3ed983c 100644
index 94a3d4237..3ed983cc0 100644
--- a/src/main/java/org/spigotmc/WatchdogThread.java
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
@@ -19,7 +19,7 @@ public class WatchdogThread extends Thread
@ -80,5 +80,5 @@ index 94a3d42..3ed983c 100644
log.log( Level.SEVERE, "------------------------------" );
//
--
2.9.3
2.11.0.windows.3

View file

@ -1,4 +1,4 @@
From 4c820d01b5348a632a806b270fc93f2d5ae2b02b Mon Sep 17 00:00:00 2001
From bfa96ef58792ce8ee38410f4338d7860aa503a4b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 1 Mar 2016 23:09:29 -0600
Subject: [PATCH] Further improve server tick loop
@ -12,10 +12,10 @@ Previous implementation did not calculate TPS correctly.
Switch to a realistic rolling average and factor in std deviation as an extra reporting variable
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2638f03..6a1c7b7 100644
index 7539bb215..91fb12128 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -112,17 +112,11 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -113,16 +113,12 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
public org.bukkit.command.ConsoleCommandSender console;
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
public ConsoleReader reader;
@ -25,16 +25,15 @@ index 2638f03..6a1c7b7 100644
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
// CraftBukkit end
- // Spigot start
- private static final int TPS = 20;
- private static final int TICK_TIME = 1000000000 / TPS;
// Spigot start
- public static final int TPS = 20;
- public static final int TICK_TIME = 1000000000 / TPS;
- private static final int SAMPLE_INTERVAL = 100;
- public final double[] recentTps = new double[ 3 ];
- // Spigot end
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
public MinecraftServer(OptionSet options, Proxy proxy, DataConverterManager dataconvertermanager, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) {
io.netty.util.ResourceLeakDetector.setEnabled( false ); // Spigot - disable
@@ -531,12 +525,54 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -533,12 +529,54 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.isRunning = false;
}
@ -45,7 +44,7 @@ index 2638f03..6a1c7b7 100644
+ // Paper start - Further improve server tick loop
+ private static final int TPS = 20;
+ private static final long SEC_IN_NANO = 1000000000;
+ private static final long TICK_TIME = SEC_IN_NANO / TPS;
+ public static final long TICK_TIME = SEC_IN_NANO / TPS;
+ private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
+ private static final int SAMPLE_INTERVAL = 20;
+ public final RollingAverage tps1 = new RollingAverage(60);
@ -91,10 +90,10 @@ index 2638f03..6a1c7b7 100644
}
- // Spigot End
+ // Paper End
public void run() {
try {
@@ -550,24 +586,41 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -552,24 +590,41 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
// Spigot start
Arrays.fill( recentTps, 20 );
@ -148,7 +147,7 @@ index 2638f03..6a1c7b7 100644
}
lastTick = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 24fd62b..30ed3ad 100644
index 24fd62b53..30ed3ad58 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1734,6 +1734,17 @@ public final class CraftServer implements Server {
@ -170,7 +169,7 @@ index 24fd62b..30ed3ad 100644
{
diff --git a/src/main/java/org/spigotmc/TicksPerSecondCommand.java b/src/main/java/org/spigotmc/TicksPerSecondCommand.java
index be2e31d..6d21c32 100644
index be2e31dea..6d21c3269 100644
--- a/src/main/java/org/spigotmc/TicksPerSecondCommand.java
+++ b/src/main/java/org/spigotmc/TicksPerSecondCommand.java
@@ -1,8 +1,5 @@
@ -211,5 +210,5 @@ index be2e31d..6d21c32 100644
return ( ( tps > 18.0 ) ? ChatColor.GREEN : ( tps > 16.0 ) ? ChatColor.YELLOW : ChatColor.RED ).toString()
+ ( ( tps > 20.0 ) ? "*" : "" ) + Math.min( Math.round( tps * 100.0 ) / 100.0, 20.0 );
--
2.9.3
2.11.0.windows.3

View file

@ -1,4 +1,4 @@
From 77660fb147000a0103f9794ef134092519efb742 Mon Sep 17 00:00:00 2001
From e3ec2eda60b7343add29c6546bc8e818239e6a18 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 00:52:31 -0600
Subject: [PATCH] Lighting Queue
@ -85,10 +85,10 @@ index 1c0108ef1..b80f95159 100644
TileEntity tileentity;
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 17d39bb0f..df3ce72e2 100644
index e18fb875f..8c015c095 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -280,6 +280,7 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -292,6 +292,7 @@ public class ChunkProviderServer implements IChunkProvider {
return false;
}
save = event.isSaveChunk();
@ -97,26 +97,26 @@ index 17d39bb0f..df3ce72e2 100644
// Update neighbor counts
for (int x = -2; x < 3; x++) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6a1c7b7f0..538745e7d 100644
index 91fb12128..1d9ba0d0f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -716,7 +716,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -721,7 +721,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
protected void C() throws ExceptionWorldConflict { // CraftBukkit - added throws
co.aikar.timings.TimingsManager.FULL_SERVER_TICK.startTiming(); // Paper
this.slackActivityAccountant.tickStarted(); // Spigot
- long i = System.nanoTime();
+ long i = System.nanoTime(); long startTime = i; // Paper
++this.ticks;
if (this.T) {
@@ -774,6 +774,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -782,6 +782,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.methodProfiler.b();
org.spigotmc.WatchdogThread.tick(); // Spigot
+ PaperLightingQueue.processQueue(startTime); // Paper
this.slackActivityAccountant.tickEnded(tickNanos); // Spigot
co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper
}
diff --git a/src/main/java/net/minecraft/server/PaperLightingQueue.java b/src/main/java/net/minecraft/server/PaperLightingQueue.java
new file mode 100644
index 000000000..d8d3e1efd
@ -225,7 +225,7 @@ index 000000000..d8d3e1efd
+ }
+}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 1143b3e01..63a6a9855 100644
index 4a35d06e4..b38228707 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -387,7 +387,7 @@ public abstract class World implements IBlockAccess {
@ -238,5 +238,5 @@ index 1143b3e01..63a6a9855 100644
}
--
2.11.0
2.11.0.windows.3

View file

@ -1,4 +1,4 @@
From 8ac419a52c439df5879646d8ff7019006015ffba Mon Sep 17 00:00:00 2001
From 0a9dcecb7411da79274afd6894d356d7b23800ec Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 11:59:48 -0600
Subject: [PATCH] Optimize explosions
@ -10,7 +10,7 @@ This patch adds a per-tick cache that is used for storing and retrieving
an entity's exposure during an explosion.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index bc50289..356265e 100644
index bc5028965..356265e91 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -185,4 +185,10 @@ public class PaperWorldConfig {
@ -25,7 +25,7 @@ index bc50289..356265e 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
index 4e05bcd..49fc95e 100644
index 4e05bcdfa..49fc95e35 100644
--- a/src/main/java/net/minecraft/server/Explosion.java
+++ b/src/main/java/net/minecraft/server/Explosion.java
@@ -130,7 +130,7 @@ public class Explosion {
@ -124,10 +124,10 @@ index 4e05bcd..49fc95e 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2e72b8c..a872e76 100644
index 1d9ba0d0f..b3454eae6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -877,6 +877,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -886,6 +886,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
worldserver.getTracker().updatePlayers();
this.methodProfiler.b();
this.methodProfiler.b();
@ -136,7 +136,7 @@ index 2e72b8c..a872e76 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 8cb3a98..b80282b 100644
index b38228707..ea6f02a68 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -15,6 +15,7 @@ import javax.annotation.Nullable;
@ -156,5 +156,5 @@ index 8cb3a98..b80282b 100644
public CraftWorld getWorld() {
return this.world;
--
2.9.3
2.11.0.windows.3

View file

@ -1,11 +1,11 @@
From 09f331d1c102fe49bec0005f28574e4a22b5d068 Mon Sep 17 00:00:00 2001
From a836b78f0e2b4d5e81479f6a776c06ab7fd40e91 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 14:35:27 -0600
Subject: [PATCH] Add player view distance API
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index a11d882..5717de3 100644
index 6a26569b9..1b8be825d 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -57,6 +57,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@ -25,7 +25,7 @@ index a11d882..5717de3 100644
// CraftBukkit start
public String displayName;
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index c546139..ef8744b 100644
index 021dfba14..9012a63a0 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -47,7 +47,7 @@ public class PlayerChunkMap {
@ -37,7 +37,7 @@ index c546139..ef8744b 100644
private long k;
private boolean l = true;
private boolean m = true;
@@ -287,8 +287,11 @@ public class PlayerChunkMap {
@@ -291,8 +291,11 @@ public class PlayerChunkMap {
// CraftBukkit start - Load nearby chunks first
List<ChunkCoordIntPair> chunkList = new LinkedList<ChunkCoordIntPair>();
@ -51,7 +51,7 @@ index c546139..ef8744b 100644
chunkList.add(new ChunkCoordIntPair(k, l));
}
}
@@ -307,8 +310,11 @@ public class PlayerChunkMap {
@@ -311,8 +314,11 @@ public class PlayerChunkMap {
int i = (int) entityplayer.d >> 4;
int j = (int) entityplayer.e >> 4;
@ -65,7 +65,7 @@ index c546139..ef8744b 100644
PlayerChunk playerchunk = this.getChunk(k, l);
if (playerchunk != null) {
@@ -338,7 +344,9 @@ public class PlayerChunkMap {
@@ -342,7 +348,9 @@ public class PlayerChunkMap {
if (d2 >= 64.0D) {
int k = (int) entityplayer.d >> 4;
int l = (int) entityplayer.e >> 4;
@ -76,7 +76,7 @@ index c546139..ef8744b 100644
int j1 = i - k;
int k1 = j - l;
@@ -347,7 +355,7 @@ public class PlayerChunkMap {
@@ -351,7 +359,7 @@ public class PlayerChunkMap {
if (j1 != 0 || k1 != 0) {
for (int l1 = i - i1; l1 <= i + i1; ++l1) {
for (int i2 = j - i1; i2 <= j + i1; ++i2) {
@ -85,7 +85,7 @@ index c546139..ef8744b 100644
// this.c(l1, i2).a(entityplayer);
chunksToLoad.add(new ChunkCoordIntPair(l1, i2)); // CraftBukkit
}
@@ -382,6 +390,8 @@ public class PlayerChunkMap {
@@ -386,6 +394,8 @@ public class PlayerChunkMap {
return playerchunk != null && playerchunk.d(entityplayer) && playerchunk.e();
}
@ -94,7 +94,7 @@ index c546139..ef8744b 100644
public void a(int i) {
i = MathHelper.clamp(i, 3, 32);
if (i != this.j) {
@@ -391,36 +401,55 @@ public class PlayerChunkMap {
@@ -395,36 +405,55 @@ public class PlayerChunkMap {
while (iterator.hasNext()) {
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
@ -172,7 +172,7 @@ index c546139..ef8744b 100644
private void e() {
this.l = true;
@@ -499,4 +528,20 @@ public class PlayerChunkMap {
@@ -503,4 +532,20 @@ public class PlayerChunkMap {
}
}
// CraftBukkit end
@ -194,7 +194,7 @@ index c546139..ef8744b 100644
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3e4e080..318b460 100644
index 3e4e0801c..318b4608e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1468,6 +1468,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -215,5 +215,5 @@ index 3e4e080..318b460 100644
private final Player.Spigot spigot = new Player.Spigot()
{
--
2.9.3
2.11.0.windows.3

View file

@ -1,14 +1,14 @@
From 1900cc9dee6a460ba8d87fd73ee25b43e73af49c Mon Sep 17 00:00:00 2001
From 62f5ab3a1a75ae8550464511ccc3ed520443c92b Mon Sep 17 00:00:00 2001
From: Daniel Ennis <dennis@icontact.com>
Date: Sun, 20 Mar 2016 15:22:42 -0400
Subject: [PATCH] Catch Async PlayerChunkMap operations
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index ef8744b..d970e2f 100644
index 9012a63a0..5b27bd1c5 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -465,10 +465,12 @@ public class PlayerChunkMap {
@@ -469,10 +469,12 @@ public class PlayerChunkMap {
}
public void a(PlayerChunk playerchunk) {
@ -22,5 +22,5 @@ index ef8744b..d970e2f 100644
long i = d(chunkcoordintpair.x, chunkcoordintpair.z);
--
2.9.3
2.11.0.windows.3

View file

@ -1,4 +1,4 @@
From a2fb44cbf12b30553ae1b7f1c3bfd9402d282e7a Mon Sep 17 00:00:00 2001
From 538948b090d2c70051bb9d5713c5d175dd24afb5 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 13 Sep 2014 23:14:43 -0400
Subject: [PATCH] Configurable Keep Spawn Loaded range per world
@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world
This lets you disable it for some worlds and lower it for others.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 615a6af..6517c32 100644
index 615a6af99..6517c3223 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -290,4 +290,10 @@ public class PaperWorldConfig {
@ -21,10 +21,10 @@ index 615a6af..6517c32 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6011955..4dc8794 100644
index b3454eae6..abffaedbe 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -352,8 +352,11 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -356,8 +356,11 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
long j = aw();
i = 0;
@ -39,7 +39,7 @@ index 6011955..4dc8794 100644
if (i1 - j > 1000L) {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 2d5f3d2..9c36471 100644
index a48fafdd4..5028663d0 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -3191,8 +3191,9 @@ public abstract class World implements IBlockAccess {
@ -54,7 +54,7 @@ index 2d5f3d2..9c36471 100644
public void a(Packet<?> packet) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 540d578..8cb8cbe 100644
index 540d57855..8cb8cbe2d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -952,7 +952,7 @@ public final class CraftServer implements Server {
@ -67,7 +67,7 @@ index 540d578..8cb8cbe 100644
for (int j = -short1; j <= short1; j += 16) {
for (int k = -short1; k <= short1; k += 16) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 53fbd38..73aee9b 100644
index 53fbd38d6..73aee9b0d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1264,8 +1264,9 @@ public class CraftWorld implements World {
@ -83,5 +83,5 @@ index 53fbd38..73aee9b 100644
loadChunk(chunkCoordX + x, chunkCoordZ + z);
} else {
--
2.9.3
2.11.0.windows.3

View file

@ -1,11 +1,11 @@
From 2fbcdc55c3f7c1f5de20f71ea62a51e90105ddde Mon Sep 17 00:00:00 2001
From 0e395e58dade2e2186bb39d49d6188644684bdb1 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 13 Apr 2016 02:10:49 -0400
Subject: [PATCH] Configurable Player Collision
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 70f7c87..6d0ea19 100644
index 70f7c876d..6d0ea1939 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -210,4 +210,9 @@ public class PaperConfig {
@ -19,7 +19,7 @@ index 70f7c87..6d0ea19 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/CommandScoreboard.java b/src/main/java/net/minecraft/server/CommandScoreboard.java
index ab9aa13..f9f59e5 100644
index ab9aa132a..f9f59e559 100644
--- a/src/main/java/net/minecraft/server/CommandScoreboard.java
+++ b/src/main/java/net/minecraft/server/CommandScoreboard.java
@@ -183,6 +183,13 @@ public class CommandScoreboard extends CommandAbstract {
@ -37,10 +37,10 @@ index ab9aa13..f9f59e5 100644
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 4dc8794..8eef9c4 100644
index abffaedbe..b9d4d65a6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -327,6 +327,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -331,6 +331,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.v.setPlayerFileData(this.worldServer);
this.a(this.getDifficulty());
this.l();
@ -62,7 +62,7 @@ index 4dc8794..8eef9c4 100644
protected void l() {
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java b/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java
index d8ec504..eb45d3c 100644
index d8ec50455..eb45d3cf2 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java
@@ -96,7 +96,7 @@ public class PacketPlayOutScoreboardTeam implements Packet<PacketListenerPlayOut
@ -75,7 +75,7 @@ index d8ec504..eb45d3c 100644
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 2af702c..b14d4cb 100644
index a55a6fca0..be67df061 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -71,6 +71,7 @@ public abstract class PlayerList {
@ -132,5 +132,5 @@ index 2af702c..b14d4cb 100644
// CraftBukkit start
--
2.9.3
2.11.0.windows.3

View file

@ -1,4 +1,4 @@
From 0196e4e2f059d3adacb627a7647e84fcb3898fa0 Mon Sep 17 00:00:00 2001
From 08c2f8c625e0849d50e2016a01f0e918f514ce05 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 28 Apr 2016 00:57:27 -0400
Subject: [PATCH] remove null possibility for getServer singleton
@ -6,10 +6,10 @@ Subject: [PATCH] remove null possibility for getServer singleton
to stop IDE complaining about potential NPE
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 8eef9c4..631a87f 100644
index b9d4d65a6..15e543368 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -51,6 +51,7 @@ import co.aikar.timings.MinecraftTimings; // Paper
@@ -52,6 +52,7 @@ import co.aikar.timings.MinecraftTimings; // Paper
public abstract class MinecraftServer implements Runnable, ICommandListener, IAsyncTaskHandler, IMojangStatistics {
@ -17,15 +17,15 @@ index 8eef9c4..631a87f 100644
public static final Logger LOGGER = LogManager.getLogger();
public static final File a = new File("usercache.json");
public Convertable convertable;
@@ -119,6 +120,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
// CraftBukkit end
@@ -123,6 +124,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
// Spigot end
public MinecraftServer(OptionSet options, Proxy proxy, DataConverterManager dataconvertermanager, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) {
+ SERVER = this; // Paper - better singleton
io.netty.util.ResourceLeakDetector.setEnabled( false ); // Spigot - disable
this.e = proxy;
this.V = yggdrasilauthenticationservice;
@@ -1625,7 +1627,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -1634,7 +1636,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
// CraftBukkit start
@Deprecated
public static MinecraftServer getServer() {
@ -35,5 +35,5 @@ index 8eef9c4..631a87f 100644
// CraftBukkit end
}
--
2.9.3
2.11.0.windows.3

View file

@ -1,4 +1,4 @@
From 88f9bcff3f3916cfba9333816ff90e3c8050637d Mon Sep 17 00:00:00 2001
From 9a2443eb072a8c68194404566dc006841f2ceb32 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 12 May 2016 02:03:56 -0400
Subject: [PATCH] Fix Chunk Unload Queue Issues
@ -9,7 +9,7 @@ has not resolved all the bugs with the changes.
This patch fixes known issues and really should be applied by Spigot team.
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 3db2916..98f2cff 100644
index 3db29161d..98f2cff15 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -46,7 +46,7 @@ public class Chunk {
@ -22,10 +22,10 @@ index 3db2916..98f2cff 100644
// Paper start
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index a57bcaf..bd44764 100644
index a6f044461..279ef5de5 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -290,6 +290,7 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -296,6 +296,7 @@ public class ChunkProviderServer implements IChunkProvider {
if (chunk != null && chunk.d) {
// CraftBukkit start - move unload logic to own method
@ -34,5 +34,5 @@ index a57bcaf..bd44764 100644
continue;
}
--
2.9.3
2.11.0.windows.3

View file

@ -1,4 +1,4 @@
From 96eb4bf4c891c95001f255a538ae3156e1996ca8 Mon Sep 17 00:00:00 2001
From bd719bf59cf2a9071c52afa26605638b1d97100a Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 16 May 2016 20:47:41 -0400
Subject: [PATCH] Optimize UserCache / Thread Safe
@ -10,10 +10,10 @@ Additionally, move Saving of the User cache to be done async, incase
the user never changed the default setting for Spigot's save on stop only.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 631a87f..b3e0ef7 100644
index 15e543368..4078824f7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -523,7 +523,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -527,7 +527,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
// Spigot start
if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) {
LOGGER.info("Saving usercache.json");
@ -23,7 +23,7 @@ index 631a87f..b3e0ef7 100644
// Spigot end
}
diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java
index ccfc755..989758c 100644
index ccfc755d2..989758cdf 100644
--- a/src/main/java/net/minecraft/server/UserCache.java
+++ b/src/main/java/net/minecraft/server/UserCache.java
@@ -108,7 +108,7 @@ public class UserCache {
@ -96,5 +96,5 @@ index ccfc755..989758c 100644
}
--
2.9.3
2.11.0.windows.3

View file

@ -1,4 +1,4 @@
From 805d931e0371a7a349240c4430923f5f77fb4cca Mon Sep 17 00:00:00 2001
From 8d76310982f39f70536a847c399e66923667d6f5 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 18 Jun 2016 23:22:12 -0400
Subject: [PATCH] Delay Chunk Unloads based on Player Movement
@ -17,7 +17,7 @@ This allows servers with smaller worlds who do less long distance exploring to s
wasting cpu cycles on saving/unloading/reloading chunks repeatedly.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index b9b0f74..cda516f 100644
index b9b0f7479..cda516f6a 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -351,4 +351,13 @@ public class PaperWorldConfig {
@ -35,7 +35,7 @@ index b9b0f74..cda516f 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 98f2cff..88437d7 100644
index 98f2cff15..88437d77a 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -30,6 +30,7 @@ public class Chunk {
@ -47,12 +47,12 @@ index 98f2cff..88437d7 100644
public final int locZ;
private boolean m;
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index bd44764..7a56a64 100644
index 279ef5de5..25deecc4d 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -300,6 +300,19 @@ public class ChunkProviderServer implements IChunkProvider {
}
}
@@ -312,6 +312,19 @@ public class ChunkProviderServer implements IChunkProvider {
activityAccountant.endActivity(); // Spigot
}
+ // Paper start - delayed chunk unloads
+ long now = System.currentTimeMillis();
@ -71,7 +71,7 @@ index bd44764..7a56a64 100644
this.chunkLoader.a();
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
index dd40e98..f109e98 100644
index dd40e98c8..f109e986d 100644
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
@@ -32,8 +32,16 @@ public class PlayerChunk {
@ -108,10 +108,10 @@ index dd40e98..f109e98 100644
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index d970e2f..d3c454c 100644
index 5b27bd1c5..b163346be 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -483,7 +483,13 @@ public class PlayerChunkMap {
@@ -487,7 +487,13 @@ public class PlayerChunkMap {
Chunk chunk = playerchunk.f();
if (chunk != null) {
@ -127,7 +127,7 @@ index d970e2f..d3c454c 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 73aee9b..5a44a9f 100644
index 73aee9b0d..5a44a9f38 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1557,7 +1557,7 @@ public class CraftWorld implements World {
@ -140,5 +140,5 @@ index 73aee9b..5a44a9f 100644
}
--
2.9.3
2.11.0.windows.3

View file

@ -1,4 +1,4 @@
From 53871d032337b751a60b9980c4df8c161df75b29 Mon Sep 17 00:00:00 2001
From 6e591544d4f86d070b9fe8ff07949aac9e38d6da Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 19 Sep 2016 23:16:39 -0400
Subject: [PATCH] Auto Save Improvements
@ -76,7 +76,7 @@ index 88437d77a..9f7f32dc2 100644
public Random a(long i) {
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 7a56a6416..5c5a56c51 100644
index 25deecc4d..770abb51d 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -1,5 +1,6 @@
@ -108,18 +108,18 @@ index b5e386501..d67493666 100644
public final MinecraftServer server;
public final PlayerInteractManager playerInteractManager;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b3e0ef7fb..9cdcdc45a 100644
index 4078824f7..e04bade5b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -117,6 +117,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -118,6 +118,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
public final Thread primaryThread;
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
+ public boolean serverAutoSave = false; // Paper
// CraftBukkit end
public MinecraftServer(OptionSet options, Proxy proxy, DataConverterManager dataconvertermanager, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) {
@@ -760,22 +761,30 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
// Spigot start
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
@@ -765,22 +766,30 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.q.b().a(agameprofile);
}
@ -153,7 +153,7 @@ index b3e0ef7fb..9cdcdc45a 100644
+ //} // Paper - Incremental Auto Saving
this.methodProfiler.a("tallying");
this.h[this.ticks % 100] = System.nanoTime() - i;
// Spigot start
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index be67df061..f675a7013 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
@ -215,5 +215,5 @@ index f969d2a72..cc0e8d2c8 100644
timings.worldSaveChunks.startTiming(); // Paper
chunkproviderserver.a(flag);
--
2.11.0
2.11.0.windows.3

View file

@ -1,14 +1,14 @@
From 4d091fa158b4578c63484d21b6c3d99863f44bba Mon Sep 17 00:00:00 2001
From be295f0f521ab777676a30a6873b199bd8fdba99 Mon Sep 17 00:00:00 2001
From: vemacs <d@nkmem.es>
Date: Wed, 23 Nov 2016 12:54:56 -0500
Subject: [PATCH] Optimize Network Queue
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9cdcdc45a..f96da8945 100644
index e04bade5b..fc5be09ad 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -102,7 +102,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -103,7 +103,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
private final GameProfileRepository X;
private final UserCache Y;
private long Z;
@ -18,5 +18,5 @@ index 9cdcdc45a..f96da8945 100644
private long ab = aw();
--
2.11.0
2.11.0.windows.3

@ -1 +1 @@
Subproject commit 6de2fbc3377792b16f704e188aa34e72ce460354
Subproject commit 47414001a0202ebd8bd80feb532b0ef9ce1733a9