More TPSBar upgrades

This commit is contained in:
William Blake Galbreath
2021-07-16 01:02:15 -05:00
parent 2e211d5b1e
commit 222262b8b3
14 changed files with 135 additions and 64 deletions

View File

@@ -41,11 +41,61 @@ index 1b8d836607d52c3bc67ad5f2accbc94663637d49..606d5577f121b0103e272bbe4ffa4b58
return true;
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index b52cea07a77bd5124881e144483e148cbf5ad54d..d20ccfd3aa974fe84eb675dc040c7e25dbb25920 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -258,6 +258,7 @@ public class ServerPlayer extends Player {
public Integer clientViewDistance;
// CraftBukkit end
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
+ private boolean tpsBar = false;
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
@@ -480,6 +481,7 @@ public class ServerPlayer extends Player {
}
}
+ if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur
}
@Override
@@ -540,6 +542,7 @@ public class ServerPlayer extends Player {
}
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
+ nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
}
// CraftBukkit start - World fallback code, either respawn location or global spawn
@@ -2517,5 +2520,13 @@ public class ServerPlayer extends Player {
this.server.getPlayerList().moveToWorld(this, toLevel, true, to, !toLevel.paperConfig.disableTeleportationSuffocationCheck);
}
}
+
+ public boolean tpsBar() {
+ return this.tpsBar;
+ }
+
+ public void tpsBar(boolean tpsBar) {
+ this.tpsBar = tpsBar;
+ }
// Purpur end
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 29043f9354b29f7766f1d6d8e793e2ea23883fa0..5141185821c798cb20f7936d7927d2256d9be75f 100644
index 29043f9354b29f7766f1d6d8e793e2ea23883fa0..54db0206bbeea62525ada78b0f9cd99b4f9fddff 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -593,6 +593,8 @@ public abstract class PlayerList {
@@ -483,6 +483,7 @@ public abstract class PlayerList {
scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam);
}
// Paper end
+ if (player.tpsBar()) net.pl3x.purpur.task.TPSBarTask.addPlayer(player.getBukkitEntity()); // Purpur
// CraftBukkit - Moved from above, added world
PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ());
}
@@ -593,6 +594,8 @@ public abstract class PlayerList {
}
public net.kyori.adventure.text.Component disconnect(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) {
// Paper end
@@ -55,10 +105,10 @@ index 29043f9354b29f7766f1d6d8e793e2ea23883fa0..5141185821c798cb20f7936d7927d225
entityplayer.awardStat(Stats.LEAVE_GAME);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index e1701ab4bd6eccb9a525fa3eb8b35a1bf6f7ffcd..2d64a219becb3006dc12c25ee4d39597fbc2de35 100644
index e1701ab4bd6eccb9a525fa3eb8b35a1bf6f7ffcd..7ed1d5b2aab3442f80532c62a398353e89c18b0c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -324,6 +324,27 @@ public class PurpurConfig {
@@ -324,6 +324,29 @@ public class PurpurConfig {
disableGiveCommandDrops = getBoolean("settings.disable-give-dropping", disableGiveCommandDrops);
}
@@ -71,6 +121,7 @@ index e1701ab4bd6eccb9a525fa3eb8b35a1bf6f7ffcd..2d64a219becb3006dc12c25ee4d39597
+ public static String commandTPSBarTextColorGood = "<gradient:#55ff55:#00aa00><text></gradient>";
+ public static String commandTPSBarTextColorMedium = "<gradient:#ffff55:#ffaa00><text></gradient>";
+ public static String commandTPSBarTextColorLow = "<gradient:#ff5555:#aa0000><text></gradient>";
+ public static int commandTPSBarTickInterval = 20;
+ private static void commandSettings() {
+ commandTPSBarTitle = getString("settings.command.tpsbar.title", commandTPSBarTitle);
+ commandTPSBarProgressOverlay = BossBar.Overlay.valueOf(getString("settings.command.tpsbar.overlay", commandTPSBarProgressOverlay.name()));
@@ -81,6 +132,7 @@ index e1701ab4bd6eccb9a525fa3eb8b35a1bf6f7ffcd..2d64a219becb3006dc12c25ee4d39597
+ commandTPSBarTextColorGood = getString("settings.command.tpsbar.text-color.good", commandTPSBarTextColorGood);
+ commandTPSBarTextColorMedium = getString("settings.command.tpsbar.text-color.medium", commandTPSBarTextColorMedium);
+ commandTPSBarTextColorLow = getString("settings.command.tpsbar.text-color.low", commandTPSBarTextColorLow);
+ commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval);
+ }
+
public static boolean barrelSixRows = false;
@@ -88,10 +140,10 @@ index e1701ab4bd6eccb9a525fa3eb8b35a1bf6f7ffcd..2d64a219becb3006dc12c25ee4d39597
public static boolean enderChestPermissionRows = false;
diff --git a/src/main/java/net/pl3x/purpur/command/TPSBarCommand.java b/src/main/java/net/pl3x/purpur/command/TPSBarCommand.java
new file mode 100644
index 0000000000000000000000000000000000000000..2803a1b95121fbff3066fd2d1abaf8723386781f
index 0000000000000000000000000000000000000000..5ed9d779fbdd9da1010f5f31ceec6b46496a21bb
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/command/TPSBarCommand.java
@@ -0,0 +1,24 @@
@@ -0,0 +1,25 @@
+package net.pl3x.purpur.command;
+
+import com.mojang.brigadier.CommandDispatcher;
@@ -110,7 +162,8 @@ index 0000000000000000000000000000000000000000..2803a1b95121fbff3066fd2d1abaf872
+
+ private static int execute(CommandSourceStack source, ServerPlayer player) {
+ if (player != null) {
+ TPSBarTask.togglePlayer(player.getBukkitEntity());
+ boolean result = TPSBarTask.togglePlayer(player.getBukkitEntity());
+ player.tpsBar(result);
+ return 1;
+ }
+ return 0;
@@ -118,10 +171,10 @@ index 0000000000000000000000000000000000000000..2803a1b95121fbff3066fd2d1abaf872
+}
diff --git a/src/main/java/net/pl3x/purpur/task/TPSBarTask.java b/src/main/java/net/pl3x/purpur/task/TPSBarTask.java
new file mode 100644
index 0000000000000000000000000000000000000000..12ba7e8a31de9610ca2468a59a28d3f963c5b8f3
index 0000000000000000000000000000000000000000..8d3823e0be0cab31a906ec30f0a16fe11de86f25
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/task/TPSBarTask.java
@@ -0,0 +1,183 @@
@@ -0,0 +1,201 @@
+package net.pl3x.purpur.task;
+
+import net.kyori.adventure.bossbar.BossBar;
@@ -144,6 +197,7 @@ index 0000000000000000000000000000000000000000..12ba7e8a31de9610ca2468a59a28d3f9
+ private final Map<UUID, BossBar> bossbars = new HashMap<>();
+ private double tps = 20.0D;
+ private double mspt = 0.0D;
+ private int tick = 0;
+
+ private static TPSBarTask instance() {
+ if (instance == null) {
@@ -154,6 +208,11 @@ index 0000000000000000000000000000000000000000..12ba7e8a31de9610ca2468a59a28d3f9
+
+ @Override
+ public void run() {
+ if (++tick < PurpurConfig.commandTPSBarTickInterval) {
+ return;
+ }
+ tick = 0;
+
+ this.tps = Math.max(Math.min(Bukkit.getTPS()[0], 20.0D), 0.0D);
+ this.mspt = Bukkit.getAverageTickTime();
+
@@ -268,31 +327,43 @@ index 0000000000000000000000000000000000000000..12ba7e8a31de9610ca2468a59a28d3f9
+ @Override
+ public void cancel() {
+ super.cancel();
+ this.bossbars.keySet().forEach(uuid -> {
+ Player player = Bukkit.getPlayer(uuid);
+ if (player != null) {
+ removePlayer(player);
+ }
+ });
+ this.bossbars.clear();
+ }
+
+ public static void removePlayer(Player player) {
+ public static boolean removePlayer(Player player) {
+ BossBar bossbar = instance().bossbars.remove(player.getUniqueId());
+ if (bossbar != null) {
+ player.hideBossBar(bossbar);
+ return true;
+ }
+ return false;
+ }
+
+ public static void togglePlayer(Player player) {
+ BossBar bossbar = instance().bossbars.remove(player.getUniqueId());
+ if (bossbar != null) {
+ player.hideBossBar(bossbar);
+ } else {
+ bossbar = BossBar.bossBar(Component.text(""), 0.0F, instance().getBossBarColor(), PurpurConfig.commandTPSBarProgressOverlay);
+ instance().bossbars.put(player.getUniqueId(), bossbar);
+ instance().updateBossBar(bossbar, player);
+ player.showBossBar(bossbar);
+ public static void addPlayer(Player player) {
+ removePlayer(player);
+ BossBar bossbar = BossBar.bossBar(Component.text(""), 0.0F, instance().getBossBarColor(), PurpurConfig.commandTPSBarProgressOverlay);
+ instance().bossbars.put(player.getUniqueId(), bossbar);
+ instance().updateBossBar(bossbar, player);
+ player.showBossBar(bossbar);
+ }
+
+ public static boolean togglePlayer(Player player) {
+ if (removePlayer(player)) {
+ return false;
+ }
+ addPlayer(player);
+ return true;
+ }
+
+ public static void start() {
+ stop();
+ instance().runTaskTimerAsynchronously(new MinecraftInternalPlugin(), 20L, 20L);
+ instance().runTaskTimerAsynchronously(new MinecraftInternalPlugin(), 1, 1);
+ }
+
+ public static void stop() {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index b52cea07a77bd5124881e144483e148cbf5ad54d..4e8333d134b05bdf45356d14b974b8de013cb6d2 100644
index d20ccfd3aa974fe84eb675dc040c7e25dbb25920..e48496c72f218cf421f5bd7c57f6138c90c511d4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1137,6 +1137,7 @@ public class ServerPlayer extends Player {
@@ -1140,6 +1140,7 @@ public class ServerPlayer extends Player {
playerlist.sendPlayerPermissionLevel(this);
worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
this.unsetRemoved();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 4e8333d134b05bdf45356d14b974b8de013cb6d2..19b60f312e5e843964e9549b67109d1b285908ad 100644
index e48496c72f218cf421f5bd7c57f6138c90c511d4..a2b2cc1abad8afc4f959e8393d8d31e489e55c2d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1300,7 +1300,7 @@ public class ServerPlayer extends Player {
@@ -1303,7 +1303,7 @@ public class ServerPlayer extends Player {
return entitymonster.isPreventingPlayerRest((Player) this);
});

View File

@@ -59,10 +59,10 @@ index 6f6106ca4d74d50a7b74b086adc96c58c7906cb6..d6417c1e77ac8823e18a179dc9f61757
public abstract boolean canEnchant(Item item);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 206d04cae6d94ae8ab816e5ae661dd5133be1996..dde79e3f066985a9e6c82b2e562c102b06319bd6 100644
index 45d536954b8007de69c6f74942c2293510739a5e..f53c2c9a62554141d4f951e5a1c25376e7eaf299 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -369,6 +369,7 @@ public class PurpurConfig {
@@ -371,6 +371,7 @@ public class PurpurConfig {
}
public static boolean allowInfinityMending = false;
@@ -70,7 +70,7 @@ index 206d04cae6d94ae8ab816e5ae661dd5133be1996..dde79e3f066985a9e6c82b2e562c102b
private static void enchantmentSettings() {
if (version < 5) {
boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
@@ -376,6 +377,7 @@ public class PurpurConfig {
@@ -378,6 +379,7 @@ public class PurpurConfig {
set("settings.enchantment.allow-infinite-and-mending-together", null);
}
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);

View File

@@ -75,10 +75,10 @@ index 18da9a82fb2ca4b9b8d80e37df29c76c8214c37f..e61be8f9a9b26a9daa3f70ec028ed689
this.getOrCreateTag().put(key, tag);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index dde79e3f066985a9e6c82b2e562c102b06319bd6..cb81e7a819e64779361e8d325463cab55d57aab4 100644
index f53c2c9a62554141d4f951e5a1c25376e7eaf299..de340a9c0abdc8bc2cbdc71f1858a9ddd549aa94 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -370,6 +370,7 @@ public class PurpurConfig {
@@ -372,6 +372,7 @@ public class PurpurConfig {
public static boolean allowInfinityMending = false;
public static boolean allowCrossbowInfinity = false;
@@ -86,7 +86,7 @@ index dde79e3f066985a9e6c82b2e562c102b06319bd6..cb81e7a819e64779361e8d325463cab5
private static void enchantmentSettings() {
if (version < 5) {
boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
@@ -378,6 +379,7 @@ public class PurpurConfig {
@@ -380,6 +381,7 @@ public class PurpurConfig {
}
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);
allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity);

View File

@@ -18,10 +18,10 @@ index 8484e80a70129fb0358d56efab6fd54798b54e6e..ffacc4b8cc3ab8285c4131aec58e48ff
public BeehiveBlockEntity(BlockPos pos, BlockState state) {
super(BlockEntityType.BEEHIVE, pos, state);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index cb81e7a819e64779361e8d325463cab55d57aab4..56ef4b6f0af80fd0bf10077e7e9c8314bea5a681 100644
index de340a9c0abdc8bc2cbdc71f1858a9ddd549aa94..d3f6ced425cca6e80eca485c6007691404c5785b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -351,6 +351,7 @@ public class PurpurConfig {
@@ -353,6 +353,7 @@ public class PurpurConfig {
public static boolean enderChestSixRows = false;
public static boolean enderChestPermissionRows = false;
public static boolean cryingObsidianValidForPortalFrame = false;
@@ -29,7 +29,7 @@ index cb81e7a819e64779361e8d325463cab55d57aab4..56ef4b6f0af80fd0bf10077e7e9c8314
private static void blockSettings() {
if (version < 3) {
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
@@ -366,6 +367,7 @@ public class PurpurConfig {
@@ -368,6 +369,7 @@ public class PurpurConfig {
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame);

View File

@@ -54,21 +54,21 @@ index 79f6089b934124c3309c6bee2e48b36b937252e0..dff8ef0a1a2e52792070d93685c29002
for(ServerPlayer serverPlayer : targets) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 56ef4b6f0af80fd0bf10077e7e9c8314bea5a681..f0d23f3331ff8ef2797e1cd542d3601f816d3974 100644
index d3f6ced425cca6e80eca485c6007691404c5785b..c1926d71aafe3e114f75be5738ab9e3035641894 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -335,6 +335,7 @@ public class PurpurConfig {
public static String commandTPSBarTextColorGood = "<gradient:#55ff55:#00aa00><text></gradient>";
@@ -336,6 +336,7 @@ public class PurpurConfig {
public static String commandTPSBarTextColorMedium = "<gradient:#ffff55:#ffaa00><text></gradient>";
public static String commandTPSBarTextColorLow = "<gradient:#ff5555:#aa0000><text></gradient>";
public static int commandTPSBarTickInterval = 20;
+ public static boolean commandGamemodeRequiresPermission = false;
private static void commandSettings() {
commandTPSBarTitle = getString("settings.command.tpsbar.title", commandTPSBarTitle);
commandTPSBarProgressOverlay = BossBar.Overlay.valueOf(getString("settings.command.tpsbar.overlay", commandTPSBarProgressOverlay.name()));
@@ -345,6 +346,7 @@ public class PurpurConfig {
commandTPSBarTextColorGood = getString("settings.command.tpsbar.text-color.good", commandTPSBarTextColorGood);
@@ -347,6 +348,7 @@ public class PurpurConfig {
commandTPSBarTextColorMedium = getString("settings.command.tpsbar.text-color.medium", commandTPSBarTextColorMedium);
commandTPSBarTextColorLow = getString("settings.command.tpsbar.text-color.low", commandTPSBarTextColorLow);
commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval);
+ commandGamemodeRequiresPermission = getBoolean("settings.command.gamemode.requires-specific-permission", commandGamemodeRequiresPermission);
}

View File

@@ -17,10 +17,10 @@ index c46df052a5a39d92688f51377ee1f7b5b5b36faa..d7d2a975386cecb0d50b4f7ed37de8ad
// Paper end
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 19b60f312e5e843964e9549b67109d1b285908ad..6103b81f34e7f2c82a7f4be492888cc720c0e9eb 100644
index a2b2cc1abad8afc4f959e8393d8d31e489e55c2d..fc202c5d541b569be582def48356c3b18e3788d4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -875,6 +875,7 @@ public class ServerPlayer extends Player {
@@ -878,6 +878,7 @@ public class ServerPlayer extends Player {
});
Team scoreboardteambase = this.getTeam();
@@ -29,7 +29,7 @@ index 19b60f312e5e843964e9549b67109d1b285908ad..6103b81f34e7f2c82a7f4be492888cc7
if (scoreboardteambase.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) {
this.server.getPlayerList().broadcastToTeam((Player) this, ichatbasecomponent);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index f0d23f3331ff8ef2797e1cd542d3601f816d3974..915a7ef9eb67413ed9db37d91b9c6f5f9f0e2b33 100644
index c1926d71aafe3e114f75be5738ab9e3035641894..23674fa9b99c79ffe1b2ee88d0e25b5ab8c91fac 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -178,6 +178,18 @@ public class PurpurConfig {

View File

@@ -59,20 +59,20 @@ index 0fb8f32427843f4bfd90ab88ecb3ab3e4a4fda31..f99f1ba7f912a2fd503e12c446b342a8
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 915a7ef9eb67413ed9db37d91b9c6f5f9f0e2b33..b2e3e6fee5268cd25d6ac70c03c1bb60a8c840de 100644
index 23674fa9b99c79ffe1b2ee88d0e25b5ab8c91fac..45626d15e91ac2c0fa745f2670d3877a7387e0d2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -348,6 +348,7 @@ public class PurpurConfig {
public static String commandTPSBarTextColorMedium = "<gradient:#ffff55:#ffaa00><text></gradient>";
@@ -349,6 +349,7 @@ public class PurpurConfig {
public static String commandTPSBarTextColorLow = "<gradient:#ff5555:#aa0000><text></gradient>";
public static int commandTPSBarTickInterval = 20;
public static boolean commandGamemodeRequiresPermission = false;
+ public static boolean hideHiddenPlayersFromEntitySelector = false;
private static void commandSettings() {
commandTPSBarTitle = getString("settings.command.tpsbar.title", commandTPSBarTitle);
commandTPSBarProgressOverlay = BossBar.Overlay.valueOf(getString("settings.command.tpsbar.overlay", commandTPSBarProgressOverlay.name()));
@@ -359,6 +360,7 @@ public class PurpurConfig {
commandTPSBarTextColorMedium = getString("settings.command.tpsbar.text-color.medium", commandTPSBarTextColorMedium);
@@ -361,6 +362,7 @@ public class PurpurConfig {
commandTPSBarTextColorLow = getString("settings.command.tpsbar.text-color.low", commandTPSBarTextColorLow);
commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval);
commandGamemodeRequiresPermission = getBoolean("settings.command.gamemode.requires-specific-permission", commandGamemodeRequiresPermission);
+ hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector);
}

View File

@@ -18,10 +18,10 @@ index f380659b261253e327f018ce9b54b15195ad65d7..080449cf3aa0394bd179e26fda8d7248
public void setItemName(String newItemName) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 13b07388f0e24c419a45ec98087572fb358f9d36..d007b6aa17e62f5716b8a1cbe5096ed493fa3067 100644
index aa9bed62b71894b74f86ee1016d192293a702fd1..fc26cfc19f0af721eb9030cff691c4d65df06415 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -370,6 +370,7 @@ public class PurpurConfig {
@@ -372,6 +372,7 @@ public class PurpurConfig {
public static boolean enderChestPermissionRows = false;
public static boolean cryingObsidianValidForPortalFrame = false;
public static int beeInsideBeeHive = 3;
@@ -29,7 +29,7 @@ index 13b07388f0e24c419a45ec98087572fb358f9d36..d007b6aa17e62f5716b8a1cbe5096ed4
private static void blockSettings() {
if (version < 3) {
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
@@ -386,6 +387,7 @@ public class PurpurConfig {
@@ -388,6 +389,7 @@ public class PurpurConfig {
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame);
beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive);

View File

@@ -18,10 +18,10 @@ index d682f0b69757b0f4e3120066e25170264ba1f289..cee1f74edf069da54d15b7fc7d10c437
return optional.map((blockposition1) -> {
return blockposition1.above(1);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index d007b6aa17e62f5716b8a1cbe5096ed493fa3067..d6725c05968f1e119209d7fd6e3e5503caecb951 100644
index fc26cfc19f0af721eb9030cff691c4d65df06415..d881cdfd3d3c6244c65f54bfa953bc5b18a644af 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -371,6 +371,7 @@ public class PurpurConfig {
@@ -373,6 +373,7 @@ public class PurpurConfig {
public static boolean cryingObsidianValidForPortalFrame = false;
public static int beeInsideBeeHive = 3;
public static boolean anvilCumulativeCost = true;
@@ -29,7 +29,7 @@ index d007b6aa17e62f5716b8a1cbe5096ed493fa3067..d6725c05968f1e119209d7fd6e3e5503
private static void blockSettings() {
if (version < 3) {
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
@@ -388,6 +389,7 @@ public class PurpurConfig {
@@ -390,6 +391,7 @@ public class PurpurConfig {
cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame);
beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive);
anvilCumulativeCost = getBoolean("settings.blocks.anvil.cumulative-cost", anvilCumulativeCost);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow player join full server by permission
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 5141185821c798cb20f7936d7927d2256d9be75f..5fdbdc2d3deb09da018d0db1b495d9fb52e39b44 100644
index 54db0206bbeea62525ada78b0f9cd99b4f9fddff..5c9cb6fa72fef151b6c9038e2536a4fdf330375e 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -764,7 +764,7 @@ public abstract class PlayerList {
@@ -765,7 +765,7 @@ public abstract class PlayerList {
event.disallow(PlayerLoginEvent.Result.KICK_BANNED, PaperAdventure.asAdventure(chatmessage)); // Paper - Adventure
} else {
// return this.players.size() >= this.maxPlayers && !this.d(gameprofile) ? new ChatMessage("multiplayer.disconnect.server_full") : null;

View File

@@ -29,7 +29,7 @@ index 652e596c37bf8d865c954b31ad7d2562b9e95c46..e74ddf6b72dbd335f8a06f05341d5a4d
public int autosavePeriod;
public boolean serverAutoSave = false; // Paper
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index d6725c05968f1e119209d7fd6e3e5503caecb951..ae27ecf02b799634bf5d756d2b02ea102d25b249 100644
index d881cdfd3d3c6244c65f54bfa953bc5b18a644af..07e5bb1b148376b3962a983b3d192bd838e04e02 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -166,6 +166,7 @@ public class PurpurConfig {
@@ -48,8 +48,8 @@ index d6725c05968f1e119209d7fd6e3e5503caecb951..ae27ecf02b799634bf5d756d2b02ea10
unverifiedUsername = getString("settings.messages.unverified-username", unverifiedUsername);
}
@@ -351,6 +353,15 @@ public class PurpurConfig {
public static String commandTPSBarTextColorLow = "<gradient:#ff5555:#aa0000><text></gradient>";
@@ -352,6 +354,15 @@ public class PurpurConfig {
public static int commandTPSBarTickInterval = 20;
public static boolean commandGamemodeRequiresPermission = false;
public static boolean hideHiddenPlayersFromEntitySelector = false;
+ public static String uptimeFormat = "<days><hours><minutes><seconds>";
@@ -64,8 +64,8 @@ index d6725c05968f1e119209d7fd6e3e5503caecb951..ae27ecf02b799634bf5d756d2b02ea10
private static void commandSettings() {
commandTPSBarTitle = getString("settings.command.tpsbar.title", commandTPSBarTitle);
commandTPSBarProgressOverlay = BossBar.Overlay.valueOf(getString("settings.command.tpsbar.overlay", commandTPSBarProgressOverlay.name()));
@@ -363,6 +374,15 @@ public class PurpurConfig {
commandTPSBarTextColorLow = getString("settings.command.tpsbar.text-color.low", commandTPSBarTextColorLow);
@@ -365,6 +376,15 @@ public class PurpurConfig {
commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval);
commandGamemodeRequiresPermission = getBoolean("settings.command.gamemode.requires-specific-permission", commandGamemodeRequiresPermission);
hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector);
+ uptimeFormat = getString("settings.command.uptime.format", uptimeFormat);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] SPIGOT-5988 Fix bed respawn location not resetting
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 5fdbdc2d3deb09da018d0db1b495d9fb52e39b44..b984f3fdadd5d44e8e2c1fa12a531a26210cbeed 100644
index 5c9cb6fa72fef151b6c9038e2536a4fdf330375e..bea7b50888462b89c82da756d0a72226a0cdb3fc 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -902,6 +902,7 @@ public abstract class PlayerList {
@@ -903,6 +903,7 @@ public abstract class PlayerList {
location = new Location(worldserver1.getWorld(), vec3d.x, vec3d.y, vec3d.z, f1, 0.0F);
} else if (blockposition != null) {
entityplayer1.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.NO_RESPAWN_BLOCK_AVAILABLE, 0.0F));
@@ -17,10 +17,10 @@ index 5fdbdc2d3deb09da018d0db1b495d9fb52e39b44..b984f3fdadd5d44e8e2c1fa12a531a26
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index bbdb4e20f01effd77cf6de5626bb5d5b0c7d3f4d..e59b8ab1ba5d47663ff174752b1a9a81bf0780e7 100644
index 808d763e767fd4f727c5f0a735c3e5d4ac17a47e..0fada677e0aa6ffa4b654d7eae307863d8fc6e59 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -398,6 +398,7 @@ public class PurpurConfig {
@@ -400,6 +400,7 @@ public class PurpurConfig {
public static int beeInsideBeeHive = 3;
public static boolean anvilCumulativeCost = true;
public static int lightningRodRange = 128;
@@ -28,7 +28,7 @@ index bbdb4e20f01effd77cf6de5626bb5d5b0c7d3f4d..e59b8ab1ba5d47663ff174752b1a9a81
private static void blockSettings() {
if (version < 3) {
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
@@ -416,6 +417,7 @@ public class PurpurConfig {
@@ -418,6 +419,7 @@ public class PurpurConfig {
beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive);
anvilCumulativeCost = getBoolean("settings.blocks.anvil.cumulative-cost", anvilCumulativeCost);
lightningRodRange = getInt("settings.blocks.lightning_rod.range", lightningRodRange);