mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Config for only sending advancements to affected players (#312)
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: DoctaEnkoda <bierquejason@gmail.com>
|
||||
Date: Mon, 3 May 2021 01:33:14 +0200
|
||||
Subject: [PATCH] Allows to display progress messages by player instead to
|
||||
everyone on the server.
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/advancements/Advancement.java b/src/main/java/net/minecraft/advancements/Advancement.java
|
||||
index 8bfd20ff9a3c96fa9ff5cc618ca7e858e62943a0..97479cacc2a3f7850df8647f78d7dbb5710ae27b 100644
|
||||
--- a/src/main/java/net/minecraft/advancements/Advancement.java
|
||||
+++ b/src/main/java/net/minecraft/advancements/Advancement.java
|
||||
@@ -125,6 +125,7 @@ public class Advancement {
|
||||
return this.requirements;
|
||||
}
|
||||
|
||||
+ public IChatBaseComponent getChatComponent() { return j(); } // Purpur - OBFHELPER
|
||||
public IChatBaseComponent j() {
|
||||
return this.chatComponent;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/advancements/AdvancementFrameType.java b/src/main/java/net/minecraft/advancements/AdvancementFrameType.java
|
||||
index f096ecf8d77b085e6c2ef4c3b64f0b65409bb287..bfa86826b93a2eee7f22203ca09250e15f12d217 100644
|
||||
--- a/src/main/java/net/minecraft/advancements/AdvancementFrameType.java
|
||||
+++ b/src/main/java/net/minecraft/advancements/AdvancementFrameType.java
|
||||
@@ -31,6 +31,7 @@ public enum AdvancementFrameType {
|
||||
this.g = new ChatMessage("advancements.toast." + s);
|
||||
}
|
||||
|
||||
+ public String getName() { return a(); } // Purpur - OBFHELPER
|
||||
public String a() {
|
||||
return this.d;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
|
||||
index 59d781b5e61c5d2c004bc92300d8d42e81821308..e43c96c493b91ec62c75f75f9ca3022cb49de279 100644
|
||||
--- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
|
||||
@@ -59,7 +59,7 @@ public class AdvancementDataPlayer {
|
||||
private static final TypeToken<Map<MinecraftKey, AdvancementProgress>> c = new TypeToken<Map<MinecraftKey, AdvancementProgress>>() {
|
||||
};
|
||||
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<Advancement, AdvancementProgress> data = Maps.newLinkedHashMap();
|
||||
private final Set<Advancement> h = Sets.newLinkedHashSet();
|
||||
@@ -317,7 +317,14 @@ public class AdvancementDataPlayer {
|
||||
this.player.world.getServer().getPluginManager().callEvent(new org.bukkit.event.player.PlayerAdvancementDoneEvent(this.player.getBukkitEntity(), advancement.bukkit)); // CraftBukkit
|
||||
advancement.d().a(this.player);
|
||||
if (advancement.c() != null && advancement.c().i() && this.player.world.getGameRules().getBoolean(GameRules.ANNOUNCE_ADVANCEMENTS)) {
|
||||
- this.e.sendMessage(new ChatMessage("chat.type.advancement." + advancement.c().e().a(), new Object[]{this.player.getScoreboardDisplayName(), advancement.j()}), ChatMessageType.SYSTEM, SystemUtils.b);
|
||||
+ // Purpur Start - AdvancementMessage By Player
|
||||
+ ChatMessage advancementMessage = new ChatMessage("chat.type.advancement." + advancement.getDisplay().getFrameType().getName(), this.player.getScoreboardDisplayName(), advancement.getChatComponent());
|
||||
+ if (net.pl3x.purpur.PurpurConfig.advancementOnlyBroadcastToAffectedPlayer) {
|
||||
+ this.player.sendMessage(advancementMessage, SystemUtils.getNullUUID());
|
||||
+ } else {
|
||||
+ getPlayerList().sendMessage(advancementMessage, ChatMessageType.SYSTEM, SystemUtils.getNullUUID());
|
||||
+ }
|
||||
+ // Purpur End
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 56424e45c04e7165c0671f74cdcd0147d1069af7..7e8654e4df61527f33d4fce2afdb14e29b90a4c2 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -287,4 +287,9 @@ public class PurpurConfig {
|
||||
private static void tpsCatchup() {
|
||||
tpsCatchup = getBoolean("settings.tps-catchup", tpsCatchup);
|
||||
}
|
||||
+
|
||||
+ public static boolean advancementOnlyBroadcastToAffectedPlayer = false;
|
||||
+ private static void advancementSettings() {
|
||||
+ advancementOnlyBroadcastToAffectedPlayer = getBoolean("settings.advancement.only-broadcast-to-affected-player", advancementOnlyBroadcastToAffectedPlayer );
|
||||
+ }
|
||||
}
|
||||
Reference in New Issue
Block a user