mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@f6a69de Undeprecate getOfflinePlayer (#7773) PaperMC/Paper@a117da6 Add PlayerStopUsingItemEvent (#7787) PaperMC/Paper@f3a8a0b FallingBlock auto expire setting (#7037) PaperMC/Paper@4219389 Don't tick markers (#7299) PaperMC/Paper@2515bc4 Improve configurable door difficulty (#6985) PaperMC/Paper@8c9d98e Clean unused field for Configurable door breaking difficulty (#7793) PaperMC/Paper@b831784 Only log for passenger / vehicle world mismatch PaperMC/Paper@7a6163b Add Alternate Current's redstone implementation as an alternative to Vanilla and Eigencraft's. (#7701) PaperMC/Paper@1a17a83 Move redstone config changes to Eigencraft patch
164 lines
6.9 KiB
Diff
164 lines
6.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
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 2dcb24145bf07b186b853bd3e4c4be46495575d8..c2507dead89ea66ea8d2bf9081cbe30b7c4eb7dc 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
@@ -1698,6 +1698,26 @@ public class ServerPlayer extends Player {
|
|
}
|
|
// CraftBukkit end
|
|
|
|
+ // 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.sendMessage(message, actionBar ? ChatType.GAME_INFO : ChatType.CHAT, Util.NIL_UUID);
|
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
index 95fe4240f3e1174ec36598f24d63f0073c13b376..563999906b3f8a79e9bd090cb13d946577a4781b 100644
|
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
@@ -1384,6 +1384,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 broadcastMessage(Component message, ChatType type, UUID sender) {
|
|
this.server.sendMessage(message, sender);
|
|
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 a828cad27fcd39f8bfbaefa97052a2a3b6650ee7..67e559d63c543ff716d610cb04ff9426cc20ae00 100644
|
|
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
|
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
|
@@ -234,6 +234,15 @@ public class DamageSource {
|
|
return entityliving1 != null ? new TranslatableComponent(s1, new Object[]{entity.getDisplayName(), entityliving1.getDisplayName()}) : new TranslatableComponent(s, new Object[]{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 4e6cbb858806cbf73dbf195bb436bbeff1a5b92a..de9d25ff83818ae0943fd0ed59512bef073a61a2 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
|
@@ -3682,6 +3682,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 sendMessage(Component message, UUID sender) {}
|
|
|