From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: DoctaEnkoda Date: Mon, 3 May 2021 01:33:14 +0200 Subject: [PATCH] Configurable broadcast settings diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java index 6f5b7650d45958284f7b5c675c1e32d4b7738494..842acb66c58a1ee66c595bd56afc1f94602f0193 100644 --- a/src/main/java/net/minecraft/server/PlayerAdvancements.java +++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java @@ -301,6 +301,7 @@ public class PlayerAdvancements { advancement.getRewards().grant(this.player); // Paper start - Add Adventure message to PlayerAdvancementDoneEvent if (message != null && this.player.level.getGameRules().getBoolean(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)) { + if (org.purpurmc.purpur.PurpurConfig.advancementOnlyBroadcastToAffectedPlayer) this.player.sendMessage(message); else // Purpur this.playerList.broadcastMessage(io.papermc.paper.adventure.PaperAdventure.asVanilla(message), ChatType.SYSTEM, Util.NIL_UUID); // 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 152017d279a29ecdd69e1f7c4a9a96a0291e65ee..7bbe7349bbc3a5eaccdecf57bc7334d5dcfdfe2b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -910,6 +910,7 @@ public class ServerPlayer extends Player { }); Team scoreboardteambase = this.getTeam(); + if (org.purpurmc.purpur.PurpurConfig.deathMessageOnlyBroadcastToAffectedPlayer) this.sendMessage(ichatbasecomponent); else // Purpur if (scoreboardteambase != null && scoreboardteambase.getDeathMessageVisibility() != Team.Visibility.ALWAYS) { if (scoreboardteambase.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) { this.server.getPlayerList().broadcastToTeam(this, ichatbasecomponent); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java index 39840a49c3900e227f1410db07abdc98051a7269..96804df7f7e095d0ea0b9d01d8752fa293023ca3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -178,6 +178,18 @@ public class PurpurConfig { dontRunWithScissors = getString("settings.messages.dont-run-with-scissors", dontRunWithScissors); } + public static boolean advancementOnlyBroadcastToAffectedPlayer = false; + public static boolean deathMessageOnlyBroadcastToAffectedPlayer = false; + private static void broadcastSettings() { + if (version < 13) { + boolean oldValue = getBoolean("settings.advancement.only-broadcast-to-affected-player", false); + set("settings.broadcasts.advancement.only-broadcast-to-affected-player", oldValue); + set("settings.advancement.only-broadcast-to-affected-player", null); + } + advancementOnlyBroadcastToAffectedPlayer = getBoolean("settings.broadcasts.advancement.only-broadcast-to-affected-player", advancementOnlyBroadcastToAffectedPlayer); + deathMessageOnlyBroadcastToAffectedPlayer = getBoolean("settings.broadcasts.death.only-broadcast-to-affected-player", deathMessageOnlyBroadcastToAffectedPlayer); + } + public static String serverModName = "Purpur"; private static void serverModName() { serverModName = getString("settings.server-mod-name", serverModName);