Update upstream B/CB

This commit is contained in:
Zach Brown 2016-10-21 15:28:44 -05:00
parent 874c7a2ef8
commit 92567cc43a
No known key found for this signature in database
GPG key ID: CC9DA35FC5450B76
25 changed files with 149 additions and 248 deletions

View file

@ -1,4 +1,4 @@
From 2b1c15d0ea5602d9281d1306e0596a5a7f2d85e2 Mon Sep 17 00:00:00 2001
From 3cee88900b20b75852cff22796567415d3bed5c5 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 1 May 2016 15:19:49 -0400
Subject: [PATCH] LootTable API
@ -295,7 +295,7 @@ index 0000000..2169493
+ }
+}
diff --git a/src/main/java/org/bukkit/block/Chest.java b/src/main/java/org/bukkit/block/Chest.java
index ee95841..25dfc5f 100644
index e941d8b..a2f8f53 100644
--- a/src/main/java/org/bukkit/block/Chest.java
+++ b/src/main/java/org/bukkit/block/Chest.java
@@ -1,12 +1,13 @@
@ -308,13 +308,13 @@ index ee95841..25dfc5f 100644
/**
* Represents a chest.
*/
-public interface Chest extends BlockState, InventoryHolder {
+public interface Chest extends BlockState, InventoryHolder, LootableInventory { // Paper
-public interface Chest extends BlockState, InventoryHolder, Lockable {
+public interface Chest extends BlockState, InventoryHolder, Lockable, LootableInventory { // Paper
/**
* Returns the chest's inventory. If this is a double chest, it returns
diff --git a/src/main/java/org/bukkit/block/Dispenser.java b/src/main/java/org/bukkit/block/Dispenser.java
index 4e6b349..3aa0a81 100644
index 94d360b..b80cb5f 100644
--- a/src/main/java/org/bukkit/block/Dispenser.java
+++ b/src/main/java/org/bukkit/block/Dispenser.java
@@ -1,12 +1,13 @@
@ -327,13 +327,13 @@ index 4e6b349..3aa0a81 100644
/**
* Represents a dispenser.
*/
-public interface Dispenser extends BlockState, InventoryHolder {
+public interface Dispenser extends BlockState, InventoryHolder, LootableInventory { // Paper
-public interface Dispenser extends BlockState, InventoryHolder, Lockable {
+public interface Dispenser extends BlockState, InventoryHolder, Lockable, LootableInventory { // Paper
/**
* Gets the BlockProjectileSource object for this dispenser.
diff --git a/src/main/java/org/bukkit/block/Hopper.java b/src/main/java/org/bukkit/block/Hopper.java
index e097157..26aff5a 100644
index 978cf2a..d8c8abd 100644
--- a/src/main/java/org/bukkit/block/Hopper.java
+++ b/src/main/java/org/bukkit/block/Hopper.java
@@ -1,10 +1,11 @@
@ -345,10 +345,10 @@ index e097157..26aff5a 100644
/**
* Represents a hopper.
*/
-public interface Hopper extends BlockState, InventoryHolder {
+public interface Hopper extends BlockState, InventoryHolder, LootableInventory { // Paper
-public interface Hopper extends BlockState, InventoryHolder, Lockable {
+public interface Hopper extends BlockState, InventoryHolder, Lockable, LootableInventory { // Paper
}
--
2.9.2.windows.1
2.9.3

View file

@ -1,4 +1,4 @@
From 816dc32418ed79b5a38e7a4b5bc58bddc8123af1 Mon Sep 17 00:00:00 2001
From 42571345704ae6d7b8139b39bf4d90eeed7582bc 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
@ -23,7 +23,7 @@ index 4ae34c8..63aaa7a 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 0000000..2dff5e3
--- /dev/null
+++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
@@ -0,0 +1,114 @@
@ -45,7 +45,7 @@ index 0000000..29838de
+ public static final Timing chunkIOTickTimer = Timings.ofSafe("ChunkIOTick");
+ public static final Timing timeUpdateTimer = Timings.ofSafe("Time Update");
+ public static final Timing serverCommandTimer = Timings.ofSafe("Server Command");
+ public static final Timing savePlayers = Timings.ofSafe("Save Players");
+ public static final Timing worldSaveTimer = Timings.ofSafe("World Save");
+
+ public static final Timing tickEntityTimer = Timings.ofSafe("## tickEntity");
+ public static final Timing tickTileEntityTimer = Timings.ofSafe("## tickTileEntity");
@ -275,10 +275,10 @@ index 0000000..2bf5b66
+}
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 0000000..36aafb2
--- /dev/null
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
@@ -0,0 +1,101 @@
@@ -0,0 +1,91 @@
+package co.aikar.timings;
+
+import net.minecraft.server.World;
@ -325,11 +325,6 @@ index 0000000..e778911
+ public final Timing chunkGeneration;
+ public final Timing chunkIOStage1;
+ public final Timing chunkIOStage2;
+ public final Timing worldSave;
+ public final Timing worldSaveChunks;
+ public final Timing worldSaveLevel;
+ public final Timing chunkSaveNop;
+ public final Timing chunkSaveData;
+
+ public WorldTimingsHandler(World server) {
+ String name = server.worldData.getName() +" - ";
@ -368,11 +363,6 @@ index 0000000..e778911
+ chunkGeneration = Timings.ofSafe(name + "chunkGeneration");
+ chunkIOStage1 = Timings.ofSafe(name + "ChunkIO Stage 1 - DiskIO");
+ chunkIOStage2 = Timings.ofSafe(name + "ChunkIO Stage 2 - Post Load");
+ worldSave = Timings.ofSafe(name + "World Save");
+ worldSaveLevel = Timings.ofSafe(name + "World Save - Level");
+ worldSaveChunks = Timings.ofSafe(name + "World Save - Chunks");
+ chunkSaveNop = Timings.ofSafe(name + "Chunk Save - NOP");
+ chunkSaveData = Timings.ofSafe(name + "Chunk Save - Data");
+
+ tracker1 = Timings.ofSafe(name + "tracker stage 1");
+ tracker2 = Timings.ofSafe(name + "tracker stage 2");
@ -492,28 +482,6 @@ index b651edc..5807bb8 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 5682f03..1380815 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -194,7 +194,7 @@ public class ChunkProviderServer implements IChunkProvider {
}
public void saveChunkNOP(Chunk chunk) {
- try {
+ try (co.aikar.timings.Timing timed = world.timings.chunkSaveNop.startTiming()) {
this.chunkLoader.b(this.world, chunk);
} catch (Exception exception) {
ChunkProviderServer.a.error("Couldn\'t save entities", exception);
@@ -203,7 +203,7 @@ public class ChunkProviderServer implements IChunkProvider {
}
public void saveChunk(Chunk chunk) {
- try {
+ try (co.aikar.timings.Timing timed = world.timings.chunkSaveData.startTiming()) {
chunk.setLastSaved(this.world.getTime());
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 f604639..17dd7bb 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@ -727,7 +695,7 @@ index 5432e70..72cd51a 100644
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 26f8467..4814643 100644
index 26f8467..891c7ea 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -45,7 +45,7 @@ import org.bukkit.Bukkit;
@ -756,23 +724,25 @@ index 26f8467..4814643 100644
long i = System.nanoTime();
++this.ticks;
@@ -681,7 +682,6 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -681,7 +682,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
}
if (autosavePeriod > 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit
- SpigotTimings.worldSaveTimer.startTiming(); // Spigot
+ MinecraftTimings.worldSaveTimer.startTiming(); // Spigot
this.methodProfiler.a("save");
this.v.savePlayers();
// Spigot Start
@@ -696,7 +696,6 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -696,7 +697,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
// this.saveChunks(true);
// Spigot End
this.methodProfiler.b();
- SpigotTimings.worldSaveTimer.stopTiming(); // Spigot
+ MinecraftTimings.worldSaveTimer.stopTiming(); // Spigot
}
this.methodProfiler.a("tallying");
@@ -713,15 +712,16 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -713,15 +714,16 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.methodProfiler.b();
this.methodProfiler.b();
@ -793,7 +763,7 @@ index 26f8467..4814643 100644
this.methodProfiler.a("jobs");
Queue queue = this.j;
@@ -732,22 +732,23 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -732,22 +734,23 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
SystemUtils.a(entry, MinecraftServer.LOGGER);
}
// Spigot end
@ -822,7 +792,7 @@ index 26f8467..4814643 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) {
@@ -755,7 +756,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -755,7 +758,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 +801,7 @@ index 26f8467..4814643 100644
int i;
@@ -812,9 +813,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -812,9 +815,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.methodProfiler.b();
this.methodProfiler.a("tracker");
@ -841,7 +811,7 @@ index 26f8467..4814643 100644
this.methodProfiler.b();
this.methodProfiler.b();
// } // CraftBukkit
@@ -823,20 +822,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -823,20 +824,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
}
this.methodProfiler.c("connection");
@ -969,7 +939,7 @@ index b0249ff..797a84f 100644
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index f47c5fc..ae576f0 100644
index 8f42ac8..0546cb8 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -57,6 +57,7 @@ import org.bukkit.inventory.CraftingInventory;
@ -980,7 +950,7 @@ index f47c5fc..ae576f0 100644
// CraftBukkit end
public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -1339,7 +1340,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -1341,7 +1342,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
// CraftBukkit end
private void handleCommand(String s) {
@ -989,7 +959,7 @@ index f47c5fc..ae576f0 100644
// CraftBukkit start - whole method
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
this.LOGGER.info(this.player.getName() + " issued server command: " + s);
@@ -1350,22 +1351,22 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -1352,22 +1353,22 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
this.server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
@ -1016,30 +986,6 @@ index f47c5fc..ae576f0 100644
// this.minecraftServer.getCommandHandler().a(this.player, s);
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 6bd7151..1b2cc01 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1,5 +1,6 @@
package net.minecraft.server;
+import co.aikar.timings.MinecraftTimings;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@@ -1167,10 +1168,11 @@ public abstract class PlayerList {
}
public void savePlayers() {
+ MinecraftTimings.savePlayers.startTiming(); // Paper
for (int i = 0; i < this.players.size(); ++i) {
this.savePlayerFile((EntityPlayer) this.players.get(i));
}
-
+ MinecraftTimings.savePlayers.stopTiming(); // Paper
}
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 8dd434c..c965af1 100644
--- a/src/main/java/net/minecraft/server/StructureGenerator.java
@ -1209,7 +1155,7 @@ index e649435..b73f64e 100644
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 50fad7c..3d98392 100644
index 50fad7c..769d55b 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -246,13 +246,13 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@ -1298,49 +1244,6 @@ index 50fad7c..3d98392 100644
// CraftBukkit end
}
@@ -1007,6 +1015,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
if (chunkproviderserver.e()) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
+ timings.worldSave.startTiming(); // Paper
if (iprogressupdate != null) {
iprogressupdate.a("Saving level");
}
@@ -1016,7 +1025,9 @@ public class WorldServer extends World implements IAsyncTaskHandler {
iprogressupdate.c("Saving chunks");
}
+ timings.worldSaveChunks.startTiming(); // Paper
chunkproviderserver.a(flag);
+ timings.worldSaveChunks.stopTiming(); // Paper
// CraftBukkit - ArrayList -> Collection
Collection arraylist = chunkproviderserver.a();
Iterator iterator = arraylist.iterator();
@@ -1028,7 +1039,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
chunkproviderserver.unload(chunk);
}
}
-
+ timings.worldSave.stopTiming(); // Paper
}
}
@@ -1041,6 +1052,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
}
protected void a() throws ExceptionWorldConflict {
+ timings.worldSaveLevel.startTiming(); // Paper
this.checkSession();
WorldServer[] aworldserver = this.server.worldServer;
int i = aworldserver.length;
@@ -1070,6 +1082,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
this.worldData.e(this.getWorldBorder().i());
this.dataManager.saveWorldData(this.worldData, this.server.getPlayerList().t());
this.worldMaps.a();
+ timings.worldSaveLevel.stopTiming(); // Paper
}
// CraftBukkit start
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index e7e9941..5f2a9b0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@ -1833,5 +1736,5 @@ index 30efc99..eb30abe 100644
}
}
--
2.10.1
2.9.3

View file

@ -1,4 +1,4 @@
From dfa1dfa903a53268c050cd0be90ed38d288c26c7 Mon Sep 17 00:00:00 2001
From 16d6873a483163cd2febc990d57bf533e7a92756 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
@ -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 4814643..41f560f 100644
index 891c7ea..062cfd6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1028,7 +1028,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -1030,7 +1030,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
}
public String getServerModName() {
@ -80,5 +80,5 @@ index 94a3d42..3ed983c 100644
log.log( Level.SEVERE, "------------------------------" );
//
--
2.10.1
2.9.3

View file

@ -1,4 +1,4 @@
From fa2e0c1e868ffb94b3748ffbd75b60a5b6ce38fc Mon Sep 17 00:00:00 2001
From 6ceeb5a95f2b04aa60c021c103bcb75a2e6568dc 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
@ -6,19 +6,19 @@ Subject: [PATCH] Lighting Queue
This provides option to queue lighting updates to ensure they do not cause the server lag
diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
index e778911..f90f5bf 100644
index 36aafb2..90bdbf0 100644
--- a/src/main/java/co/aikar/timings/WorldTimingsHandler.java
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
@@ -50,6 +50,8 @@ public class WorldTimingsHandler {
public final Timing chunkSaveNop;
public final Timing chunkSaveData;
@@ -45,6 +45,8 @@ public class WorldTimingsHandler {
public final Timing chunkIOStage1;
public final Timing chunkIOStage2;
+ public final Timing lightingQueueTimer;
+
public WorldTimingsHandler(World server) {
String name = server.worldData.getName() +" - ";
@@ -97,5 +99,7 @@ public class WorldTimingsHandler {
@@ -87,5 +89,7 @@ public class WorldTimingsHandler {
tracker2 = Timings.ofSafe(name + "tracker stage 2");
doTick = Timings.ofSafe(name + "doTick");
tickEntities = Timings.ofSafe(name + "tickEntities");
@ -85,7 +85,7 @@ index 445419f..76130c9 100644
TileEntity tileentity;
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 1380815..466cd49 100644
index 5682f03..5eeefe8 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -279,6 +279,7 @@ public class ChunkProviderServer implements IChunkProvider {
@ -97,7 +97,7 @@ index 1380815..466cd49 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 029a6c3..f0dcb9f 100644
index 1363472..d0060d0 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -709,7 +709,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@ -109,7 +109,7 @@ index 029a6c3..f0dcb9f 100644
++this.ticks;
if (this.S) {
@@ -767,6 +767,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -769,6 +769,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.methodProfiler.b();
org.spigotmc.WatchdogThread.tick(); // Spigot
@ -235,5 +235,5 @@ index 8fb8176..672167a 100644
}
--
2.10.1
2.9.3

View file

@ -1,4 +1,4 @@
From b543f01f64b3f40cf217d22ba12d5d9d23ad1b71 Mon Sep 17 00:00:00 2001
From f8839281ef56121c254147fe119f99a82f918977 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
@ -124,10 +124,10 @@ index f4765d3..caf29c7 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f0dcb9f..885fc80 100644
index d0060d0..d1d268f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -870,6 +870,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -872,6 +872,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
worldserver.getTracker().updatePlayers();
this.methodProfiler.b();
this.methodProfiler.b();
@ -156,5 +156,5 @@ index 672167a..e8cfe2b 100644
public CraftWorld getWorld() {
return this.world;
--
2.10.1
2.9.3

View file

@ -1,4 +1,4 @@
From 01731b5d0db283d9319b44123c70162f64d8f06c Mon Sep 17 00:00:00 2001
From 4ffa318aa9a2c11b22b34cfddcf85f87155b2ef9 Mon Sep 17 00:00:00 2001
From: Steve Anton <anxuiz.nx@gmail.com>
Date: Thu, 3 Mar 2016 00:09:38 -0600
Subject: [PATCH] Add PlayerInitialSpawnEvent
@ -6,10 +6,10 @@ Subject: [PATCH] Add PlayerInitialSpawnEvent
For modifying a player's initial spawn location as they join the server
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 1b2cc01..28bcef8 100644
index 6bd7151..e88e918 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -101,6 +101,21 @@ public abstract class PlayerList {
@@ -100,6 +100,21 @@ public abstract class PlayerList {
}
// CraftBukkit end
@ -32,5 +32,5 @@ index 1b2cc01..28bcef8 100644
entityplayer.playerInteractManager.a((WorldServer) entityplayer.world);
String s1 = "local";
--
2.10.1
2.9.3

View file

@ -1,4 +1,4 @@
From 472b4ef245572864c66a7dac62b80bf422de4c7c Mon Sep 17 00:00:00 2001
From 2b51a78e96091d06203d6febe96af359b248bae5 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 3 Mar 2016 01:17:12 -0600
Subject: [PATCH] Ensure commands are not ran async
@ -14,10 +14,10 @@ big slowdown in execution but throwing an exception at same time to raise awaren
that it is happening so that plugin authors can fix their code to stop executing commands async.
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index ae576f0..4e75202 100644
index 0546cb8..de4df07 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1272,6 +1272,29 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -1274,6 +1274,29 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
}
if (!async && s.startsWith("/")) {
@ -82,5 +82,5 @@ index b5132cd..8e501b6 100644
return true;
}
--
2.10.0.windows.1
2.9.3

View file

@ -1,4 +1,4 @@
From 53c6f8cabb78c2f2b965fd952f410afefd78780f Mon Sep 17 00:00:00 2001
From 4b3de3279ff605f479f435c237f7f4188477116e Mon Sep 17 00:00:00 2001
From: Joseph Hirschfeld <joe@ibj.io>
Date: Thu, 3 Mar 2016 03:15:41 -0600
Subject: [PATCH] Add exception reporting event
@ -89,7 +89,7 @@ index 989d510..9118e4d 100644
}
}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 466cd49..cbc93a8 100644
index 5eeefe8..299cc91 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -11,6 +11,7 @@ import java.util.Iterator;
@ -114,7 +114,7 @@ index 466cd49..cbc93a8 100644
}
}
@@ -197,7 +202,11 @@ public class ChunkProviderServer implements IChunkProvider {
try (co.aikar.timings.Timing timed = world.timings.chunkSaveNop.startTiming()) {
try {
this.chunkLoader.b(this.world, chunk);
} catch (Exception exception) {
- ChunkProviderServer.a.error("Couldn\'t save entities", exception);
@ -372,5 +372,5 @@ index 198c37c..cdb836a 100644
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
}
--
2.10.1
2.9.3

View file

@ -1,14 +1,14 @@
From 6c6a041bda7c2a5953894142871485d45df86b56 Mon Sep 17 00:00:00 2001
From d3c2b9158a8bd1adb6ee88279e941fe7aaccd052 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com>
Date: Sat, 4 Apr 2015 23:17:52 -0400
Subject: [PATCH] Complete resource pack API
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 4e75202..9d1c255 100644
index de4df07..5e58fe8 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1033,7 +1033,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -1035,7 +1035,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
// CraftBukkit start
public void a(PacketPlayInResourcePackStatus packetplayinresourcepackstatus) {
@ -24,7 +24,7 @@ index 4e75202..9d1c255 100644
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index a6851e6..8ac7ec5 100644
index 98cbc02..515d0cd 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -72,6 +72,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -72,5 +72,5 @@ index a6851e6..8ac7ec5 100644
private final Player.Spigot spigot = new Player.Spigot()
{
--
2.10.0.windows.1
2.9.3

View file

@ -1,14 +1,14 @@
From 190292d03cc0488c8792f1aa51881aa4839d26a2 Mon Sep 17 00:00:00 2001
From e24ae8483920061ed713e82d14fe85453584e97d Mon Sep 17 00:00:00 2001
From: DemonWav <demonwav@gmail.com>
Date: Wed, 30 Mar 2016 01:20:11 -0500
Subject: [PATCH] Add getEntity by UUID API
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 885fc80..7bb6033 100644
index d1d268f..35a8602 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1506,6 +1506,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -1508,6 +1508,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.Y = 0L;
}
@ -16,7 +16,7 @@ index 885fc80..7bb6033 100644
@Nullable
public Entity a(UUID uuid) {
WorldServer[] aworldserver = this.worldServer;
@@ -1519,7 +1520,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -1521,7 +1522,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
if (worldserver != null) {
Entity entity = worldserver.getEntity(uuid);
@ -53,5 +53,5 @@ index 15bef42..703aff1 100644
// Paper end
}
--
2.10.1
2.9.3

View file

@ -1,4 +1,4 @@
From 12ce90221506ab023761bb3421b51dacc6766516 Mon Sep 17 00:00:00 2001
From ec6b2334152da279e684eacd3912dca9e0fdc0d7 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com>
Date: Sat, 2 Apr 2016 05:09:16 -0400
Subject: [PATCH] Add PlayerUseUnknownEntityEvent
@ -18,10 +18,10 @@ index 2b23a5d..6464a84 100644
private Vec3D c;
private EnumHand d;
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 9d1c255..cad016a 100644
index 5e58fe8..eea7872 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1622,6 +1622,16 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -1624,6 +1624,16 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
}
}
}
@ -39,5 +39,5 @@ index 9d1c255..cad016a 100644
}
--
2.10.0.windows.1
2.9.3

View file

@ -1,14 +1,14 @@
From db122f3419edb02fe2f4dc8b826aec71207d2ac1 Mon Sep 17 00:00:00 2001
From 20e687ed6f45f084359189c317b998a128ac1817 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com>
Date: Sat, 2 Apr 2016 20:37:03 -0400
Subject: [PATCH] Fix reducedDebugInfo not initialized on client
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 28bcef8..d26da3a 100644
index e88e918..a41bc5f 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -153,6 +153,7 @@ public abstract class PlayerList {
@@ -152,6 +152,7 @@ public abstract class PlayerList {
playerconnection.sendPacket(new PacketPlayOutSpawnPosition(blockposition));
playerconnection.sendPacket(new PacketPlayOutAbilities(entityplayer.abilities));
playerconnection.sendPacket(new PacketPlayOutHeldItemSlot(entityplayer.inventory.itemInHandIndex));
@ -17,5 +17,5 @@ index 28bcef8..d26da3a 100644
entityplayer.getStatisticManager().d();
entityplayer.getStatisticManager().updateStatistics(entityplayer);
--
2.10.1
2.9.3

View file

@ -1,4 +1,4 @@
From e73783fde0c9d9866da5d5c70a4b9382ce491ded Mon Sep 17 00:00:00 2001
From e39c81ef1649441812673b7c5069aba34b69c633 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Wed, 6 Apr 2016 01:04:23 -0500
Subject: [PATCH] Option to use vanilla per-world scoreboard coloring on names
@ -31,10 +31,10 @@ index 7696998..966f9fd 100644
public ScoreboardTeamBase aQ() {
if (!this.world.paperConfig.nonPlayerEntitiesOnScoreboards && !(this instanceof EntityHuman)) { return null; } // Paper
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index cad016a..df6cb13 100644
index eea7872..eb4af2e 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1352,7 +1352,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -1354,7 +1354,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
return;
}
@ -51,5 +51,5 @@ index cad016a..df6cb13 100644
if (((LazyPlayerSet) event.getRecipients()).isLazy()) {
for (Object recipient : minecraftServer.getPlayerList().players) {
--
2.10.1.windows.1
2.9.3

View file

@ -1,4 +1,4 @@
From 0be73628c26f8911b84923c97bdc8e9bcb909e9a Mon Sep 17 00:00:00 2001
From 31df39236b070e5486809b7eca2b6706c43814ff Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 10 Apr 2016 22:36:10 -0400
Subject: [PATCH] SPIGOT-1903: Update PlayerConnection on teleporting players
@ -7,7 +7,7 @@ Otherwise the player will trigger a "moved too quickly" next movement packet
and rubber band.
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index a17355c..66337e4 100644
index 966f9fd..5f134d0 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -293,6 +293,7 @@ public abstract class Entity implements ICommandListener {
@ -19,10 +19,10 @@ index a17355c..66337e4 100644
float f1 = this.length;
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 89bf52f..9911265 100644
index eb4af2e..643a8e7 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -204,7 +204,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -206,7 +206,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
}
@ -32,5 +32,5 @@ index 89bf52f..9911265 100644
this.m = this.player.locY;
this.n = this.player.locZ;
--
2.10.0.windows.1
2.9.3

View file

@ -1,4 +1,4 @@
From 49407d9d80719c50b8ec3eb8083a5265f63c9837 Mon Sep 17 00:00:00 2001
From 26e04cf744907827b24b555c1e10f692c971710e 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
@ -37,7 +37,7 @@ index 8e5419d..64a3495 100644
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index e35341b..01325b3 100644
index 8e364de..a5ebb17 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -324,6 +324,14 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@ -69,10 +69,10 @@ 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 d26da3a..eb846cf 100644
index a41bc5f..ea4c7ee 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -68,6 +68,7 @@ public abstract class PlayerList {
@@ -67,6 +67,7 @@ public abstract class PlayerList {
// CraftBukkit start
private CraftServer cserver;
private final Map<String,EntityPlayer> playersByName = new org.spigotmc.CaseInsensitiveMap<EntityPlayer>();
@ -80,7 +80,7 @@ index d26da3a..eb846cf 100644
public PlayerList(MinecraftServer minecraftserver) {
this.cserver = minecraftserver.server = new CraftServer(minecraftserver, this);
@@ -235,6 +236,12 @@ public abstract class PlayerList {
@@ -234,6 +235,12 @@ public abstract class PlayerList {
}
entityplayer.syncInventory();
@ -93,7 +93,7 @@ index d26da3a..eb846cf 100644
// CraftBukkit - Moved from above, added world
PlayerList.f.info(entityplayer.getName() + "[" + s1 + "] logged in with entity id " + entityplayer.getId() + " at ([" + entityplayer.world.worldData.getName() + "]" + entityplayer.locX + ", " + entityplayer.locY + ", " + entityplayer.locZ + ")");
}
@@ -405,6 +412,16 @@ public abstract class PlayerList {
@@ -404,6 +411,16 @@ public abstract class PlayerList {
entityplayer.k_();// SPIGOT-924 // PAIL: rename - playerTick
// CraftBukkit end
@ -110,7 +110,7 @@ index d26da3a..eb846cf 100644
this.savePlayerFile(entityplayer);
if (entityplayer.isPassenger()) {
Entity entity = entityplayer.getVehicle();
@@ -1304,7 +1321,13 @@ public abstract class PlayerList {
@@ -1302,7 +1319,13 @@ public abstract class PlayerList {
player.playerConnection.disconnect(this.server.server.getShutdownMessage()); // CraftBukkit - add custom shutdown message
}
// CraftBukkit end
@ -126,5 +126,5 @@ index d26da3a..eb846cf 100644
// CraftBukkit start
--
2.10.1
2.9.3

View file

@ -1,4 +1,4 @@
From 4d88a9833dba3f9449be3f9bc0a9d8f773024fc7 Mon Sep 17 00:00:00 2001
From 45a81c0386108c5e75ed02ff0e0752e9f7753417 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,7 +6,7 @@ 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 01325b3..9455475 100644
index a5ebb17..6fbe9e6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -49,6 +49,7 @@ import co.aikar.timings.MinecraftTimings; // Paper
@ -25,7 +25,7 @@ index 01325b3..9455475 100644
io.netty.util.ResourceLeakDetector.setEnabled( false ); // Spigot - disable
this.e = proxy;
this.U = yggdrasilauthenticationservice;
@@ -1603,7 +1605,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -1605,7 +1607,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
// CraftBukkit start
@Deprecated
public static MinecraftServer getServer() {
@ -35,5 +35,5 @@ index 01325b3..9455475 100644
// CraftBukkit end
}
--
2.10.1
2.9.3

View file

@ -1,4 +1,4 @@
From 4b57c2643714635049c7b638ac751b6c8bc9c8b6 Mon Sep 17 00:00:00 2001
From 9b89c7828d3ae27caf2ad7c4e8aee73e5c4f2f2b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 1 May 2016 21:19:14 -0400
Subject: [PATCH] LootTable API & Replenishable Lootables Feature
@ -652,7 +652,7 @@ index ef81867..b3c9f23 100644
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java b/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java
index ce36ee4..99b039b 100644
index f15c26b..9c43cbe 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java
@@ -1,5 +1,6 @@
@ -666,13 +666,13 @@ index ce36ee4..99b039b 100644
import org.bukkit.craftbukkit.inventory.CraftInventoryDoubleChest;
import org.bukkit.inventory.Inventory;
-public class CraftChest extends CraftBlockState implements Chest {
+public class CraftChest extends CraftBlockState implements Chest, CraftLootableBlockInventory { // Paper
-public class CraftChest extends CraftContainer implements Chest {
+public class CraftChest extends CraftContainer implements Chest, CraftLootableBlockInventory { // Paper
private final CraftWorld world;
private final TileEntityChest chest;
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftDispenser.java b/src/main/java/org/bukkit/craftbukkit/block/CraftDispenser.java
index a3ca3a5..cd7e65d 100644
index 003381a..d70281d 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftDispenser.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftDispenser.java
@@ -1,5 +1,6 @@
@ -686,13 +686,13 @@ index a3ca3a5..cd7e65d 100644
import org.bukkit.inventory.Inventory;
import org.bukkit.projectiles.BlockProjectileSource;
-public class CraftDispenser extends CraftBlockState implements Dispenser {
+public class CraftDispenser extends CraftBlockState implements Dispenser, CraftLootableBlockInventory { // Paper
-public class CraftDispenser extends CraftContainer implements Dispenser {
+public class CraftDispenser extends CraftContainer implements Dispenser, CraftLootableBlockInventory { // Paper
private final CraftWorld world;
private final TileEntityDispenser dispenser;
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftHopper.java b/src/main/java/org/bukkit/craftbukkit/block/CraftHopper.java
index db844a3..1e805a7 100644
index f155790..acad8bc 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftHopper.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftHopper.java
@@ -1,5 +1,6 @@
@ -706,8 +706,8 @@ index db844a3..1e805a7 100644
import org.bukkit.craftbukkit.inventory.CraftInventory;
import org.bukkit.inventory.Inventory;
-public class CraftHopper extends CraftBlockState implements Hopper {
+public class CraftHopper extends CraftBlockState implements Hopper, CraftLootableBlockInventory { // Paper
-public class CraftHopper extends CraftContainer implements Hopper {
+public class CraftHopper extends CraftContainer implements Hopper, CraftLootableBlockInventory { // Paper
private final TileEntityHopper hopper;
public CraftHopper(final Block block) {
@ -752,5 +752,5 @@ index e9963e2..acb4dee 100644
CraftMinecartHopper(CraftServer server, EntityMinecartHopper entity) {
--
2.10.0.windows.1
2.9.3

View file

@ -1,14 +1,14 @@
From fa32cabbc0e1c0a33e370ba2732f40c7f06823f9 Mon Sep 17 00:00:00 2001
From 4985b099705964ad8ee14b8952f135839291a1c7 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 28 Jul 2016 17:58:53 -0500
Subject: [PATCH] More informative vehicle moved wrongly message
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index b6dfffc..972b85b 100644
index 643a8e7..11870cd 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -343,7 +343,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -345,7 +345,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
if (d10 > org.spigotmc.SpigotConfig.movedWronglyThreshold) { // Spigot
flag1 = true;
@ -18,5 +18,5 @@ index b6dfffc..972b85b 100644
entity.setLocation(d3, d4, d5, f, f1);
--
2.10.0
2.9.3

View file

@ -1,14 +1,14 @@
From c0bf573cbb3f25ec137f12dcfccf400e38debba2 Mon Sep 17 00:00:00 2001
From 24da669ca98bf8b5667a3a9c9f9ade3d0c7e9fb5 Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de>
Date: Sun, 4 Sep 2016 16:35:43 -0500
Subject: [PATCH] Fix AIOOBE in inventory handling
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 972b85b..50b23ed 100644
index 11870cd..ecafc26 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1822,7 +1822,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -1824,7 +1824,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
case CLONE:
if (packetplayinwindowclick.c() == 2) {
click = ClickType.MIDDLE;
@ -18,5 +18,5 @@ index 972b85b..50b23ed 100644
} else {
Slot slot = this.player.activeContainer.getSlot(packetplayinwindowclick.b());
--
2.10.0
2.9.3

View file

@ -1,4 +1,4 @@
From 09d45262f0de84815a53417f657bdb605018887b Mon Sep 17 00:00:00 2001
From afc5c3843f515c8ef06d628dc607ba73c0890754 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sun, 11 Sep 2016 14:30:57 -0500
Subject: [PATCH] Configurable packet in spam threshold
@ -23,10 +23,10 @@ index 91546b6..211b88a 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 50b23ed..29653cf 100644
index ecafc26..e583138 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -868,13 +868,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -870,13 +870,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
// Spigot start - limit place/interactions
private int limitedPackets;
private long lastLimitedPacket = -1;
@ -44,5 +44,5 @@ index 50b23ed..29653cf 100644
limitedPackets = 0;
return true;
--
2.10.0
2.9.3

View file

@ -1,4 +1,4 @@
From 5277018aa6deb3c472fb9a31375dd52d7380d8c6 Mon Sep 17 00:00:00 2001
From 28d1c2b967f2ff6fb5edfc2919dbe6c1d8dac797 Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Tue, 20 Sep 2016 00:58:01 +0000
Subject: [PATCH] Configurable flying kick messages
@ -21,10 +21,10 @@ index 211b88a..3161dad 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 29653cf..7bac585 100644
index e583138..56138b6 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -143,7 +143,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -145,7 +145,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
if (this.B) {
if (++this.C > 80) {
PlayerConnection.LOGGER.warn("{} was kicked for floating too long!", new Object[] { this.player.getName()});
@ -33,7 +33,7 @@ index 29653cf..7bac585 100644
return;
}
} else {
@@ -162,7 +162,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -164,7 +164,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
if (this.D && this.player.getVehicle().bw() == this.player) {
if (++this.E > 80) {
PlayerConnection.LOGGER.warn("{} was kicked for floating a vehicle too long!", new Object[] { this.player.getName()});
@ -43,5 +43,5 @@ index 29653cf..7bac585 100644
}
} else {
--
2.10.0
2.9.3

View file

@ -1,4 +1,4 @@
From efc5e2a80cc31881a2438fdf57211cb36aadd74d Mon Sep 17 00:00:00 2001
From 288acc02847ff43dfa0ba7a8e0bb91767b14c6a2 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
@ -55,7 +55,7 @@ index 683a6dd..547628a 100644
}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 3828da7..7e53fee 100644
index 1ba02f1..65de280 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -1,5 +1,6 @@
@ -75,7 +75,7 @@ index 3828da7..7e53fee 100644
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a4f7e4d..fb06496 100644
index 8ca8fbf..c19bde9 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -114,6 +114,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@ -86,11 +86,12 @@ index a4f7e4d..fb06496 100644
// CraftBukkit end
public MinecraftServer(OptionSet options, Proxy proxy, DataConverterManager dataconvertermanager, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) {
@@ -745,22 +746,26 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -745,24 +746,28 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.q.b().a(agameprofile);
}
- if (autosavePeriod > 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit
MinecraftTimings.worldSaveTimer.startTiming(); // Spigot
this.methodProfiler.a("save");
+
+ serverAutoSave = (autosavePeriod > 0 && this.ticks % autosavePeriod == 0); // Paper
@ -111,34 +112,31 @@ index a4f7e4d..fb06496 100644
// this.saveChunks(true);
// Spigot End
this.methodProfiler.b();
MinecraftTimings.worldSaveTimer.stopTiming(); // Spigot
- }
+ //} // Paper - Incremental Auto Saving
this.methodProfiler.a("tallying");
this.h[this.ticks % 100] = System.nanoTime() - i;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index fc33575..81712ff 100644
index 24b79d3..9e38304 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1017,8 +1017,9 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -1017,12 +1017,12 @@ public class WorldServer extends World implements IAsyncTaskHandler {
ChunkProviderServer chunkproviderserver = this.getChunkProviderServer();
if (chunkproviderserver.e()) {
- org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
+ if (flag) org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit // Paper - Incremental Auto Saving - Only fire event on full save
timings.worldSave.startTiming(); // Paper
+ if (flag || server.serverAutoSave) { // Paper
if (iprogressupdate != null) {
iprogressupdate.a("Saving level");
}
@@ -1027,6 +1028,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
- this.a();
+ if (flag || server.serverAutoSave) this.a(); // Paper
if (iprogressupdate != null) {
iprogressupdate.c("Saving chunks");
}
+ } // Paper
timings.worldSaveChunks.startTiming(); // Paper
chunkproviderserver.a(flag);
--
2.10.1
2.9.3

View file

@ -1,4 +1,4 @@
From 2341f19c681ecd15a3326ba292a20828b9685bae Mon Sep 17 00:00:00 2001
From 7ae69904dd5672eb9be2e2e8ff7d45a9cc41c829 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 26 Sep 2016 01:51:30 -0400
Subject: [PATCH] Disable Vanilla Chunk GC
@ -6,28 +6,28 @@ Subject: [PATCH] Disable Vanilla Chunk GC
Bukkit has its own system for this.
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 81712ff..5c07180 100644
index 9e38304..7c91625 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1034,7 +1034,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -1029,7 +1029,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
chunkproviderserver.a(flag);
timings.worldSaveChunks.stopTiming(); // Paper
// CraftBukkit - ArrayList -> Collection
- Collection arraylist = chunkproviderserver.a();
+ /* //Paper start Collection arraylist = chunkproviderserver.a();
Iterator iterator = arraylist.iterator();
while (iterator.hasNext()) {
@@ -1043,7 +1043,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -1038,7 +1038,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
if (chunk != null && !this.manager.a(chunk.locX, chunk.locZ)) {
chunkproviderserver.unload(chunk);
}
- }
+ }*/
+ // Paper end
timings.worldSave.stopTiming(); // Paper
}
}
--
2.10.1
2.9.3

@ -1 +1 @@
Subproject commit 450225fe17a930d7bb0de2d646c4a892d5bdcd7e
Subproject commit cdf11d567708cfb03453e4a139de7abc60f89cf9

@ -1 +1 @@
Subproject commit e20928f7da265577c771b63ca7ce49c35ef19b2b
Subproject commit b6490dada59fa2f7777448c09f591384faa8333e