diff options
author | Zach Brown <[email protected]> | 2016-11-05 13:34:18 -0500 |
---|---|---|
committer | Zach Brown <[email protected]> | 2016-11-05 13:34:18 -0500 |
commit | d7276f6ffd6508c485a17dc3d4df743223e5de82 (patch) | |
tree | 69d1bcbfcceb51ccccf65d1d97162f973893a138 | |
parent | 1e1de2ffa890972ecf1494bd23375a047f725cbf (diff) | |
download | Paper-d7276f6ffd6508c485a17dc3d4df743223e5de82.tar.gz Paper-d7276f6ffd6508c485a17dc3d4df743223e5de82.zip |
Always cleanup collideRule teams at startup
Fixes GH-463
4 files changed, 23 insertions, 17 deletions
diff --git a/Spigot-Server-Patches/0122-Configurable-Player-Collision.patch b/Spigot-Server-Patches/0122-Configurable-Player-Collision.patch index 2c594bb780..aca49bf44b 100644 --- a/Spigot-Server-Patches/0122-Configurable-Player-Collision.patch +++ b/Spigot-Server-Patches/0122-Configurable-Player-Collision.patch @@ -1,4 +1,4 @@ -From 55150e10ff8e9ecfc60e5f3fe405b2e198ac923a Mon Sep 17 00:00:00 2001 +From b422187190500a2c81f4ef240839151357180fae Mon Sep 17 00:00:00 2001 From: Aikar <[email protected]> Date: Wed, 13 Apr 2016 02:10:49 -0400 Subject: [PATCH] Configurable Player Collision @@ -37,18 +37,24 @@ 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 e35341b..01044c8 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 +@@ -324,6 +324,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs this.v.setPlayerFileData(this.worldServer); this.a(this.getDifficulty()); this.l(); + + // Paper start - Handle collideRule team for player collision toggle ++ final Scoreboard scoreboard = this.getWorld().getScoreboard(); ++ final java.util.Collection<String> toRemove = scoreboard.getTeams().stream().filter(team -> team.getName().startsWith("collideRule_")).map(ScoreboardTeam::getName).collect(java.util.stream.Collectors.toList()); ++ for (String teamName : toRemove) { ++ scoreboard.removeTeam(scoreboard.getTeam(teamName)); // Clean up after ourselves ++ } ++ + if (!com.destroystokyo.paper.PaperConfig.enablePlayerCollisions) { + this.getPlayerList().collideRuleTeamName = org.apache.commons.lang3.StringUtils.left("collideRule_" + this.getWorld().random.nextInt(), 16); -+ ScoreboardTeam collideTeam = this.getWorld().getScoreboard().createTeam(this.getPlayerList().collideRuleTeamName); ++ ScoreboardTeam collideTeam = scoreboard.createTeam(this.getPlayerList().collideRuleTeamName); + collideTeam.setCanSeeFriendlyInvisibles(false); // Because we want to mimic them not being on a team at all + } + // Paper end @@ -69,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 d26da3a..eb846cf 100644 +index e044c40..0661974 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 { @@ -126,5 +132,5 @@ index d26da3a..eb846cf 100644 // CraftBukkit start -- -2.9.3 +2.10.2 diff --git a/Spigot-Server-Patches/0135-remove-null-possibility-for-getServer-singleton.patch b/Spigot-Server-Patches/0135-remove-null-possibility-for-getServer-singleton.patch index 0e34b0c7c9..59d533cd6f 100644 --- a/Spigot-Server-Patches/0135-remove-null-possibility-for-getServer-singleton.patch +++ b/Spigot-Server-Patches/0135-remove-null-possibility-for-getServer-singleton.patch @@ -1,4 +1,4 @@ -From 26895c2866c74f0e2c1c9c8972c0f7270513b667 Mon Sep 17 00:00:00 2001 +From 4b3a97b25bd70dbc2b2e96bcbbd77177ef7d9f60 Mon Sep 17 00:00:00 2001 From: Aikar <[email protected]> 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 01044c8..9348ae7 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 +@@ -1609,7 +1611,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.9.3 +2.10.2 diff --git a/Spigot-Server-Patches/0145-Optimize-UserCache-Thread-Safe.patch b/Spigot-Server-Patches/0145-Optimize-UserCache-Thread-Safe.patch index 99ad6ef50c..36a94c2b77 100644 --- a/Spigot-Server-Patches/0145-Optimize-UserCache-Thread-Safe.patch +++ b/Spigot-Server-Patches/0145-Optimize-UserCache-Thread-Safe.patch @@ -1,4 +1,4 @@ -From 763ff325102685fbab2b700723e50c07de30dc02 Mon Sep 17 00:00:00 2001 +From ea4d053f5b63ae0f7b6a1cfc4b375eced1f7b47e Mon Sep 17 00:00:00 2001 From: Aikar <[email protected]> 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 9455475..a4f7e4d 100644 +index 9348ae7..807ec58 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -508,7 +508,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -514,7 +514,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs // Spigot start if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) { LOGGER.info("Saving usercache.json"); @@ -96,5 +96,5 @@ index ccfc755..989758c 100644 } -- -2.9.3 +2.10.2 diff --git a/Spigot-Server-Patches/0169-Auto-Save-Improvements.patch b/Spigot-Server-Patches/0169-Auto-Save-Improvements.patch index 5d122620cc..664ee43fed 100644 --- a/Spigot-Server-Patches/0169-Auto-Save-Improvements.patch +++ b/Spigot-Server-Patches/0169-Auto-Save-Improvements.patch @@ -1,4 +1,4 @@ -From 62796acb6d14f2865b036decbdef62089e4870a1 Mon Sep 17 00:00:00 2001 +From 7009c675aa0448da9b79227a32c72afccfaf79c4 Mon Sep 17 00:00:00 2001 From: Aikar <[email protected]> Date: Mon, 19 Sep 2016 23:16:39 -0400 Subject: [PATCH] Auto Save Improvements @@ -80,7 +80,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 807ec58..b398ef1 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 @@ -91,7 +91,7 @@ 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 +@@ -751,22 +752,26 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs this.q.b().a(agameprofile); } |