summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUgleh <troti@ymail.com>2018-10-02 11:41:47 -0400
committermd_5 <git@md-5.net>2018-10-03 20:45:21 +1000
commit02518f92ab38ab37aa7fd3d8609b9fab9a63af40 (patch)
tree80d0ca13566c2a8c927e21ca197f3939ed0cafc1
parent68588dac4f57ffda02a84a9c9ed5803322fb5e71 (diff)
downloadcraftbukkit-02518f92ab38ab37aa7fd3d8609b9fab9a63af40.tar
craftbukkit-02518f92ab38ab37aa7fd3d8609b9fab9a63af40.tar.gz
craftbukkit-02518f92ab38ab37aa7fd3d8609b9fab9a63af40.tar.lz
craftbukkit-02518f92ab38ab37aa7fd3d8609b9fab9a63af40.tar.xz
craftbukkit-02518f92ab38ab37aa7fd3d8609b9fab9a63af40.zip
Make setPersistent also control player saving
-rw-r--r--nms-patches/PlayerList.patch40
1 files changed, 21 insertions, 19 deletions
diff --git a/nms-patches/PlayerList.patch b/nms-patches/PlayerList.patch
index 350105d2..8e6151cd 100644
--- a/nms-patches/PlayerList.patch
+++ b/nms-patches/PlayerList.patch
@@ -162,9 +162,11 @@
}
public void b(WorldBorder worldborder, double d0) {}
-@@ -254,13 +302,13 @@
+@@ -253,14 +301,15 @@
+ }
protected void savePlayerFile(EntityPlayer entityplayer) {
++ if (!entityplayer.getBukkitEntity().isPersistent()) return; // CraftBukkit
this.playerFileData.save(entityplayer);
- ServerStatisticManager serverstatisticmanager = (ServerStatisticManager) this.o.get(entityplayer.getUniqueID());
+ ServerStatisticManager serverstatisticmanager = (ServerStatisticManager) entityplayer.getStatisticManager(); // CraftBukkit
@@ -178,7 +180,7 @@
if (advancementdataplayer != null) {
advancementdataplayer.c();
-@@ -268,29 +316,80 @@
+@@ -268,29 +317,80 @@
}
@@ -266,7 +268,7 @@
this.savePlayerFile(entityplayer);
if (entityplayer.isPassenger()) {
Entity entity = entityplayer.getRootVehicle();
-@@ -321,18 +420,68 @@
+@@ -321,18 +421,68 @@
if (entityplayer1 == entityplayer) {
this.j.remove(uuid);
@@ -341,7 +343,7 @@
GameProfileBanEntry gameprofilebanentry = (GameProfileBanEntry) this.k.get(gameprofile);
chatmessage = new ChatMessage("multiplayer.disconnect.banned.reason", new Object[] { gameprofilebanentry.getReason()});
-@@ -340,10 +489,12 @@
+@@ -340,10 +490,12 @@
chatmessage.addSibling(new ChatMessage("multiplayer.disconnect.banned.expiration", new Object[] { PlayerList.g.format(gameprofilebanentry.getExpires())}));
}
@@ -357,7 +359,7 @@
IpBanEntry ipbanentry = this.l.get(socketaddress);
chatmessage = new ChatMessage("multiplayer.disconnect.banned_ip.reason", new Object[] { ipbanentry.getReason()});
-@@ -351,13 +502,25 @@
+@@ -351,13 +503,25 @@
chatmessage.addSibling(new ChatMessage("multiplayer.disconnect.banned_ip.expiration", new Object[] { PlayerList.g.format(ipbanentry.getExpires())}));
}
@@ -386,7 +388,7 @@
UUID uuid = EntityHuman.a(gameprofile);
ArrayList arraylist = Lists.newArrayList();
-@@ -392,17 +555,27 @@
+@@ -392,17 +556,27 @@
}
return new EntityPlayer(this.server, this.server.getWorldServer(DimensionManager.OVERWORLD), gameprofile, (PlayerInteractManager) object);
@@ -415,7 +417,7 @@
entityplayer.dimension = dimensionmanager;
Object object;
-@@ -413,6 +586,11 @@
+@@ -413,6 +587,11 @@
}
EntityPlayer entityplayer1 = new EntityPlayer(this.server, this.server.getWorldServer(entityplayer.dimension), entityplayer.getProfile(), (PlayerInteractManager) object);
@@ -427,7 +429,7 @@
entityplayer1.playerConnection = entityplayer.playerConnection;
entityplayer1.copyFrom(entityplayer, flag);
-@@ -426,43 +604,160 @@
+@@ -426,43 +605,160 @@
entityplayer1.addScoreboardTag(s);
}
@@ -605,7 +607,7 @@
public void f(EntityPlayer entityplayer) {
GameProfile gameprofile = entityplayer.getProfile();
int i = this.server.a(gameprofile);
-@@ -499,42 +794,69 @@
+@@ -499,42 +795,69 @@
}
public void changeWorld(Entity entity, DimensionManager dimensionmanager, WorldServer worldserver, WorldServer worldserver1) {
@@ -678,7 +680,7 @@
}
worldserver.methodProfiler.e();
-@@ -542,22 +864,119 @@
+@@ -542,22 +865,119 @@
worldserver.methodProfiler.a("placing");
d0 = (double) MathHelper.clamp((int) d0, -29999872, 29999872);
d1 = (double) MathHelper.clamp((int) d1, -29999872, 29999872);
@@ -799,7 +801,7 @@
this.v = 0;
}
-@@ -570,6 +989,25 @@
+@@ -570,6 +990,25 @@
}
@@ -825,7 +827,7 @@
public void a(Packet<?> packet, DimensionManager dimensionmanager) {
for (int i = 0; i < this.players.size(); ++i) {
EntityPlayer entityplayer = (EntityPlayer) this.players.get(i);
-@@ -670,6 +1108,7 @@
+@@ -670,6 +1109,7 @@
entityplayer.playerConnection.sendPacket(new PacketPlayOutEntityStatus(entityplayer, b0));
}
@@ -833,7 +835,7 @@
this.server.getCommandDispatcher().a(entityplayer);
}
-@@ -702,6 +1141,12 @@
+@@ -702,6 +1142,12 @@
for (int i = 0; i < this.players.size(); ++i) {
EntityPlayer entityplayer = (EntityPlayer) this.players.get(i);
@@ -846,7 +848,7 @@
if (entityplayer != entityhuman && entityplayer.dimension == dimensionmanager) {
double d4 = d0 - entityplayer.locX;
double d5 = d1 - entityplayer.locY;
-@@ -741,7 +1186,7 @@
+@@ -741,7 +1187,7 @@
public void reloadWhitelist() {}
public void b(EntityPlayer entityplayer, WorldServer worldserver) {
@@ -855,7 +857,7 @@
entityplayer.playerConnection.sendPacket(new PacketPlayOutWorldBorder(worldborder, PacketPlayOutWorldBorder.EnumWorldBorderAction.INITIALIZE));
entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(worldserver.getTime(), worldserver.getDayTime(), worldserver.getGameRules().getBoolean("doDaylightCycle")));
-@@ -749,16 +1194,21 @@
+@@ -749,16 +1195,21 @@
entityplayer.playerConnection.sendPacket(new PacketPlayOutSpawnPosition(blockposition));
if (worldserver.isRaining()) {
@@ -881,7 +883,7 @@
entityplayer.playerConnection.sendPacket(new PacketPlayOutHeldItemSlot(entityplayer.inventory.itemInHandIndex));
}
-@@ -820,26 +1270,39 @@
+@@ -820,26 +1271,39 @@
}
public void u() {
@@ -926,7 +928,7 @@
if (serverstatisticmanager == null) {
File file = new File(this.server.getWorldServer(DimensionManager.OVERWORLD).getDataManager().getDirectory(), "stats");
-@@ -854,7 +1317,7 @@
+@@ -854,7 +1318,7 @@
}
serverstatisticmanager = new ServerStatisticManager(this.server, file1);
@@ -935,7 +937,7 @@
}
return serverstatisticmanager;
-@@ -862,14 +1325,14 @@
+@@ -862,14 +1326,14 @@
public AdvancementDataPlayer h(EntityPlayer entityplayer) {
UUID uuid = entityplayer.getUniqueID();
@@ -952,7 +954,7 @@
}
advancementdataplayer.a(entityplayer);
-@@ -905,13 +1368,20 @@
+@@ -905,13 +1369,20 @@
}
public void reload() {