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 96520df171fadbc90c130555bd0c7139579f73d8..753fc239b9968d76541c536184b2039526d80005 100644 --- a/src/main/java/net/minecraft/server/level/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/level/EntityPlayer.java @@ -1038,7 +1038,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 84dbd4d9ac11817febc2f3d801f211b374e089e2..c735ebe56cf95edffb53f03a5c7a15bac446e583 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -287,4 +287,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); + } }