Configurable broadcast settings

This commit is contained in:
DoctaEnkoda
2025-01-11 18:27:00 -08:00
committed by granny
parent 94c0b32da6
commit 9548eb8885
4 changed files with 28 additions and 53 deletions

View File

@@ -8,3 +8,11 @@
LOGGER.warn("Ignored advancement '{}' in progress file {} - it doesn't exist anymore?", path, this.playerSavePath);
} else {
this.startProgress(advancementHolder, progress);
@@ -195,6 +_,7 @@
advancement.value().display().ifPresent(displayInfo -> {
// Paper start - Add Adventure message to PlayerAdvancementDoneEvent
if (event.message() != null && this.player.serverLevel().getGameRules().getBoolean(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)) {
+ if (org.purpurmc.purpur.PurpurConfig.advancementOnlyBroadcastToAffectedPlayer) this.player.sendMessage(message); else // Purpur - Configurable broadcast settings
this.playerList.broadcastSystemMessage(io.papermc.paper.adventure.PaperAdventure.asVanilla(event.message()), false);
// Paper end
}

View File

@@ -26,6 +26,14 @@
}
private void saveParentVehicle(CompoundTag tag) {
@@ -1124,6 +_,7 @@
)
);
Team team = this.getTeam();
+ if (org.purpurmc.purpur.PurpurConfig.deathMessageOnlyBroadcastToAffectedPlayer) this.sendSystemMessage(deathMessage); else // Purpur - Configurable broadcast settings
if (team == null || team.getDeathMessageVisibility() == Team.Visibility.ALWAYS) {
this.server.getPlayerList().broadcastSystemMessage(deathMessage, false);
} else if (team.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) {
@@ -1217,6 +_,13 @@
if (this.isInvulnerableTo(level, damageSource)) {
return false;

View File

@@ -191,6 +191,18 @@ public class PurpurConfig {
deathMsgRunWithScissors = getString("settings.messages.death-message.run-with-scissors", deathMsgRunWithScissors);
}
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 = io.papermc.paper.ServerBuildInfo.buildInfo().brandName();
private static void serverModName() {
serverModName = getString("settings.server-mod-name", serverModName);