mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 09:57: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