From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 29 Jun 2021 21:37:40 -0500 Subject: [PATCH] Component related conveniences diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java index 062a06dbff672235acc87624f1b7c28f04ffce32..54999c41a39e8c5baed67e01be3d28385d9f64b7 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1699,6 +1699,26 @@ public class ServerPlayer extends Player { this.lastSentExp = -1; // CraftBukkit - Added to reset } + // Purpur start + public void sendActionBarMessage(@Nullable String message) { + if (message != null) { + sendActionBarMessage(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(message)); + } + } + + public void sendActionBarMessage(@Nullable net.kyori.adventure.text.Component message) { + if (message != null) { + sendActionBarMessage(io.papermc.paper.adventure.PaperAdventure.asVanilla(message)); + } + } + + public void sendActionBarMessage(@Nullable Component message) { + if (message != null) { + displayClientMessage(message, true); + } + } + // Purpur end + @Override public void displayClientMessage(Component message, boolean actionBar) { this.sendSystemMessage(message, actionBar ? ChatType.GAME_INFO : ChatType.SYSTEM); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java index 5134af3c96b8df8534db543971c1d574eec31f55..65a7113aec71db08d642946278472f58b6da7bd9 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1064,6 +1064,62 @@ public abstract class PlayerList { } // CraftBukkit end + // Purpur start + public void broadcast(@Nullable String message) { + broadcast(message, Util.NIL_UUID); + } + + public void broadcast(@Nullable String message, ChatType type) { + broadcast(message, type, Util.NIL_UUID); + } + + public void broadcast(@Nullable String message, UUID sender) { + broadcast(message, ChatType.SYSTEM, sender); + } + + public void broadcast(@Nullable String message, ChatType type, UUID sender) { + if (message != null) { + broadcast(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(message), type, sender); + } + } + + public void broadcast(@Nullable net.kyori.adventure.text.Component message) { + broadcast(message, Util.NIL_UUID); + } + + public void broadcast(@Nullable net.kyori.adventure.text.Component message, ChatType type) { + broadcast(message, type, Util.NIL_UUID); + } + + public void broadcast(@Nullable net.kyori.adventure.text.Component message, UUID sender) { + broadcast(message, ChatType.SYSTEM, sender); + } + + public void broadcast(@Nullable net.kyori.adventure.text.Component message, ChatType type, UUID sender) { + if (message != null) { + broadcast(io.papermc.paper.adventure.PaperAdventure.asVanilla(message), type, sender); + } + } + + public void broadcast(@Nullable Component message) { + broadcast(message, Util.NIL_UUID); + } + + public void broadcast(@Nullable Component message, ChatType type) { + broadcast(message, type, Util.NIL_UUID); + } + + public void broadcast(@Nullable Component message, UUID sender) { + broadcast(message, ChatType.SYSTEM, sender); + } + + public void broadcast(@Nullable Component message, ChatType type, UUID sender) { + if (message != null) { + broadcastMessage(message, type, sender); + } + } + // Purpur end + public void broadcastAll(Packet packet, ResourceKey dimension) { Iterator iterator = this.players.iterator(); diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java index 67bce77093dcc126098731047447da2031e3388d..c4088446d30c3b25cf196f51fd394cd056be0495 100644 --- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java +++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java @@ -247,6 +247,15 @@ public class DamageSource { return entityliving1 != null ? Component.translatable(s1, entity.getDisplayName(), entityliving1.getDisplayName()) : Component.translatable(s, entity.getDisplayName()); } + // Purpur start + public Component getLocalizedDeathMessage(String str, LivingEntity entity) { + net.kyori.adventure.text.Component name = io.papermc.paper.adventure.PaperAdventure.asAdventure(entity.getDisplayName()); + net.kyori.adventure.text.minimessage.tag.resolver.TagResolver template = net.kyori.adventure.text.minimessage.tag.resolver.Placeholder.component("player", name); + net.kyori.adventure.text.Component component = net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(str, template); + return io.papermc.paper.adventure.PaperAdventure.asVanilla(component); + } + // Purpur end + public boolean isFire() { return this.isFireSource; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java index 87a2228c5c5038153935184f0e4a2f11053b202d..8c74d436f3f5ffa47ab8991035339c4206df8c43 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3696,6 +3696,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return SlotAccess.NULL; } + // Purpur Start + public void sendMessage(@Nullable String message) { + sendMessage(message, Util.NIL_UUID); + } + + public void sendMessage(@Nullable String message, UUID sender) { + if (org.apache.commons.lang3.StringUtils.isNotEmpty(message)) { + sendMessage(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(message), sender); + } + } + + public void sendMessage(@Nullable net.kyori.adventure.text.Component message) { + sendMessage(message, Util.NIL_UUID); + } + + public void sendMessage(@Nullable net.kyori.adventure.text.Component message, UUID sender) { + if (message != null) { + sendMessage(io.papermc.paper.adventure.PaperAdventure.asVanilla(message), sender); + } + } + + public void sendMessage(@Nullable Component message) { + if (message != null) { + sendMessage(message, Util.NIL_UUID); + } + } + // Purpur end + @Override public void sendSystemMessage(Component message) {}