PlayerDeathEvent#getDeathMessage should provide translation for legacy reasons #5227
This commit is contained in:
parent
3f74af2028
commit
c1635eabb4
5 changed files with 76 additions and 63 deletions
|
@ -1315,34 +1315,34 @@ index 7190db11eff7d48df8a99f405a9dbaefdfa76e3d..1268066e30ddb0cd3792ea4b3de894eb
|
|||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
|
||||
index 07a52441a5cdd7e428a14b286d7cb5210e3efa97..11cc9da9ff23e4c84f203cb0e62a8624bfcf5260 100644
|
||||
index 07a52441a5cdd7e428a14b286d7cb5210e3efa97..d9eddc34a66a77dbd4b18a2cd5d8d218c312bfae 100644
|
||||
--- a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
|
||||
+++ b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
|
||||
@@ -11,26 +11,46 @@ import org.jetbrains.annotations.Nullable;
|
||||
*/
|
||||
@@ -12,25 +12,48 @@ import org.jetbrains.annotations.Nullable;
|
||||
public class PlayerDeathEvent extends EntityDeathEvent {
|
||||
private int newExp = 0;
|
||||
- private String deathMessage = "";
|
||||
+ private net.kyori.adventure.text.Component deathMessage; // Paper
|
||||
private String deathMessage = "";
|
||||
+ private net.kyori.adventure.text.Component adventure$deathMessage; // Paper
|
||||
private int newLevel = 0;
|
||||
private int newTotalExp = 0;
|
||||
private boolean keepLevel = false;
|
||||
private boolean keepInventory = false;
|
||||
+ // Paper start
|
||||
+ public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, @Nullable final net.kyori.adventure.text.Component deathMessage) {
|
||||
+ this(player, drops, droppedExp, 0, deathMessage);
|
||||
+ public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, @Nullable final net.kyori.adventure.text.Component adventure$deathMessage) {
|
||||
+ this(player, drops, droppedExp, 0, adventure$deathMessage, null);
|
||||
+ }
|
||||
+
|
||||
+ public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, @Nullable final net.kyori.adventure.text.Component deathMessage) {
|
||||
+ this(player, drops, droppedExp, newExp, 0, 0, deathMessage);
|
||||
+ public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, @Nullable final net.kyori.adventure.text.Component adventure$deathMessage, @Nullable String deathMessage) {
|
||||
+ this(player, drops, droppedExp, newExp, 0, 0, adventure$deathMessage, deathMessage);
|
||||
+ }
|
||||
|
||||
+ public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, @Nullable final net.kyori.adventure.text.Component deathMessage) {
|
||||
+ public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, @Nullable final net.kyori.adventure.text.Component adventure$deathMessage, @Nullable String deathMessage) {
|
||||
+ super(player, drops, droppedExp);
|
||||
+ this.newExp = newExp;
|
||||
+ this.newTotalExp = newTotalExp;
|
||||
+ this.newLevel = newLevel;
|
||||
+ this.deathMessage = deathMessage;
|
||||
+ this.adventure$deathMessage = adventure$deathMessage;
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
|
@ -1362,60 +1362,69 @@ index 07a52441a5cdd7e428a14b286d7cb5210e3efa97..11cc9da9ff23e4c84f203cb0e62a8624
|
|||
this.newExp = newExp;
|
||||
this.newTotalExp = newTotalExp;
|
||||
this.newLevel = newLevel;
|
||||
- this.deathMessage = deathMessage;
|
||||
+ this.deathMessage = deathMessage != null ? net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(deathMessage) : net.kyori.adventure.text.Component.empty(); // Paper
|
||||
this.deathMessage = deathMessage;
|
||||
+ this.adventure$deathMessage = deathMessage != null ? net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(deathMessage) : net.kyori.adventure.text.Component.empty(); // Paper
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -39,12 +59,13 @@ public class PlayerDeathEvent extends EntityDeathEvent {
|
||||
@@ -39,25 +62,55 @@ public class PlayerDeathEvent extends EntityDeathEvent {
|
||||
return (Player) entity;
|
||||
}
|
||||
|
||||
+ // Paper start
|
||||
/**
|
||||
* Set the death message that will appear to everyone on the server.
|
||||
*
|
||||
* @param deathMessage Message to appear to other players on the server.
|
||||
*/
|
||||
- public void setDeathMessage(@Nullable String deathMessage) {
|
||||
+ public void deathMessage(@Nullable net.kyori.adventure.text.Component deathMessage) {
|
||||
this.deathMessage = deathMessage;
|
||||
}
|
||||
|
||||
@@ -53,9 +74,32 @@ public class PlayerDeathEvent extends EntityDeathEvent {
|
||||
*
|
||||
* @return Message to appear to other players on the server.
|
||||
*/
|
||||
+ public @Nullable net.kyori.adventure.text.Component deathMessage() {
|
||||
+ return this.deathMessage;
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
+ /**
|
||||
+ * Set the death message that will appear to everyone on the server.
|
||||
+ *
|
||||
+ * @param deathMessage Message to appear to other players on the server.
|
||||
+ * @deprecated in favour of {@link #deathMessage(net.kyori.adventure.text.Component)}
|
||||
+ */
|
||||
+ @Deprecated // Paper
|
||||
+ public void setDeathMessage(@Nullable String deathMessage) {
|
||||
+ this.deathMessage = deathMessage != null ? net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(deathMessage) : net.kyori.adventure.text.Component.empty(); // Paper
|
||||
+ public void deathMessage(@Nullable net.kyori.adventure.text.Component deathMessage) {
|
||||
+ this.deathMessage = null;
|
||||
+ this.adventure$deathMessage = deathMessage;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Get the death message that will appear to everyone on the server.
|
||||
+ *
|
||||
+ * @return Message to appear to other players on the server.
|
||||
+ * @deprecated in favour of {@link #deathMessage()}
|
||||
+ */
|
||||
+ public @Nullable net.kyori.adventure.text.Component deathMessage() {
|
||||
+ return this.adventure$deathMessage;
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
/**
|
||||
* Set the death message that will appear to everyone on the server.
|
||||
*
|
||||
* @param deathMessage Message to appear to other players on the server.
|
||||
+ * @deprecated in favour of {@link #deathMessage(net.kyori.adventure.text.Component)}
|
||||
*/
|
||||
+ @Deprecated // Paper
|
||||
public void setDeathMessage(@Nullable String deathMessage) {
|
||||
this.deathMessage = deathMessage;
|
||||
+ this.adventure$deathMessage = deathMessage != null ? net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(deathMessage) : net.kyori.adventure.text.Component.empty(); // Paper
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the death message that will appear to everyone on the server.
|
||||
*
|
||||
* @return Message to appear to other players on the server.
|
||||
+ * @deprecated in favour of {@link #deathMessage()}
|
||||
*/
|
||||
@Nullable
|
||||
+ @Deprecated // Paper
|
||||
public String getDeathMessage() {
|
||||
- return deathMessage;
|
||||
+ return this.deathMessage == null ? null : net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(this.deathMessage); // Paper
|
||||
+ return this.deathMessage != null ? this.deathMessage : (this.adventure$deathMessage != null ? getDeathMessageString(this.adventure$deathMessage) : null); // Paper
|
||||
}
|
||||
|
||||
-
|
||||
+ // Paper start //TODO: add translation API to drop String deathMessage in favor of just Adventure
|
||||
+ private static String getDeathMessageString(net.kyori.adventure.text.Component component) {
|
||||
+ return net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(component);
|
||||
+ }
|
||||
+ // Paper end
|
||||
/**
|
||||
* Gets how much EXP the Player should have at respawn.
|
||||
* <p>
|
||||
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java
|
||||
index f1e9bc9bc797b7216336d3470e3c696a06f2b21a..090d22bd30f7947103771aaaf09a2398970ac337 100644
|
||||
--- a/src/main/java/org/bukkit/event/inventory/InventoryType.java
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue