From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: DoctaEnkoda Date: Mon, 3 May 2021 01:33:14 +0200 Subject: [PATCH] Allows change broadcast message by player diff --git a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java index a1ee1066108985a95abddb03ff447b5a14f4f85f..4720644ae82f76f835f14c0b3a00e7b7874fb1e2 100644 --- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java +++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java @@ -60,7 +60,7 @@ public class AdvancementDataPlayer { private static final TypeToken> c = new TypeToken>() { }; private final DataFixer d; - private final PlayerList e; + private final PlayerList e; public PlayerList getPlayerList() { return e; } // Purpur - OBFHELPER private final File f; public final Map data = Maps.newLinkedHashMap(); private final Set h = Sets.newLinkedHashSet(); @@ -325,7 +325,13 @@ public class AdvancementDataPlayer { advancement.d().a(this.player); // Paper start - Add Adventure message to PlayerAdvancementDoneEvent if (message != null && this.player.world.getGameRules().getBoolean(GameRules.ANNOUNCE_ADVANCEMENTS)) { - this.e.sendMessage(PaperAdventure.asVanilla(message), ChatMessageType.SYSTEM, SystemUtils.getNullUUID()); + // Purpur Start - AdvancementMessage By Player + if (net.pl3x.purpur.PurpurConfig.advancementOnlyBroadcastToAffectedPlayer) { + this.player.sendMessage(PaperAdventure.asVanilla(message), SystemUtils.getNullUUID()); + } else { + getPlayerList().sendMessage(PaperAdventure.asVanilla(message), ChatMessageType.SYSTEM, SystemUtils.getNullUUID()); + } + // Purpur End // Paper end } } diff --git a/src/main/java/net/minecraft/server/level/EntityPlayer.java b/src/main/java/net/minecraft/server/level/EntityPlayer.java index 8b957fe6c88ae4eded4a89846cae2df4456c04bf..2b4d106ac59248dc2f7e73b4c549d807ff8ca628 100644 --- a/src/main/java/net/minecraft/server/level/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/level/EntityPlayer.java @@ -859,7 +859,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { }); ScoreboardTeamBase scoreboardteambase = this.getScoreboardTeam(); - + if (net.pl3x.purpur.PurpurConfig.deathMessageOnlyBroadcastToAffectedPlayer) this.sendMessage(ichatbasecomponent); else // Purpur if (scoreboardteambase != null && scoreboardteambase.getDeathMessageVisibility() != ScoreboardTeamBase.EnumNameTagVisibility.ALWAYS) { if (scoreboardteambase.getDeathMessageVisibility() == ScoreboardTeamBase.EnumNameTagVisibility.HIDE_FOR_OTHER_TEAMS) { this.server.getPlayerList().a((EntityHuman) this, ichatbasecomponent); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java index 9f5bcec2c41e24310fe9b34bd51050f62164f1b1..3234089f2b6da7d32e0c5c15f2120557a456efd0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -289,4 +289,16 @@ public class PurpurConfig { private static void tpsCatchup() { tpsCatchup = getBoolean("settings.tps-catchup", tpsCatchup); } + + 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); + } }