mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Add death screen API
This commit is contained in:
@@ -1,36 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: MelnCat <melncatuwu@gmail.com>
|
|
||||||
Date: Fri, 23 Sep 2022 18:35:28 -0700
|
|
||||||
Subject: [PATCH] Add death screen API
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
|
||||||
index 8cedbba4e65b0a8d3a17c6960033e2a324c64bc9..6f7f1fc3db0237021fa1bd0f11fe56b2d6d4f84a 100644
|
|
||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
||||||
@@ -4009,5 +4009,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
|
||||||
* Clears all debug block highlights
|
|
||||||
*/
|
|
||||||
void clearBlockHighlights();
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Sends a player the death screen with a specified death message.
|
|
||||||
+ *
|
|
||||||
+ * @param message The death message to show the player
|
|
||||||
+ */
|
|
||||||
+ void sendDeathScreen(@NotNull net.kyori.adventure.text.Component message);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Sends a player the death screen with a specified death message,
|
|
||||||
+ * along with the entity that caused the death.
|
|
||||||
+ *
|
|
||||||
+ * @param message The death message to show the player
|
|
||||||
+ * @param killer The entity that killed the player
|
|
||||||
+ * @deprecated Use {@link #sendDeathScreen(net.kyori.adventure.text.Component)} instead, as 1.20 removed the killer ID from the packet.
|
|
||||||
+ */
|
|
||||||
+ @Deprecated(since = "1.20")
|
|
||||||
+ default void sendDeathScreen(@NotNull net.kyori.adventure.text.Component message, @Nullable Entity killer) {
|
|
||||||
+ sendDeathScreen(message);
|
|
||||||
+ }
|
|
||||||
// Purpur end
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: MelnCat <melncatuwu@gmail.com>
|
|
||||||
Date: Fri, 23 Sep 2022 18:41:05 -0700
|
|
||||||
Subject: [PATCH] Add death screen API
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
||||||
index 95d011d48c312f247d766650b33d2366a774e5bf..df6fc6e6f4d1587dad704f609a854c5d996cf358 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
||||||
@@ -3655,4 +3655,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
||||||
this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(new net.minecraft.network.protocol.common.custom.GameTestClearMarkersDebugPayload()));
|
|
||||||
}
|
|
||||||
// Purpur end - Debug Marker API
|
|
||||||
+ // Purpur start - Add death screen API
|
|
||||||
+ @Override
|
|
||||||
+ public void sendDeathScreen(net.kyori.adventure.text.Component message) {
|
|
||||||
+ if (this.getHandle().connection == null) return;
|
|
||||||
+ this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket(getEntityId(), io.papermc.paper.adventure.PaperAdventure.asVanilla(message)));
|
|
||||||
+ }
|
|
||||||
+ // Purpur end - Add death screen API
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
@@ -3911,4 +_,103 @@
|
@@ -3911,4 +_,123 @@
|
||||||
*/
|
*/
|
||||||
void sendEntityEffect(org.bukkit.@NotNull EntityEffect effect, @NotNull Entity target);
|
void sendEntityEffect(org.bukkit.@NotNull EntityEffect effect, @NotNull Entity target);
|
||||||
// Paper end - entity effect API
|
// Paper end - entity effect API
|
||||||
@@ -102,5 +102,25 @@
|
|||||||
+ * Clears all debug block highlights
|
+ * Clears all debug block highlights
|
||||||
+ */
|
+ */
|
||||||
+ void clearBlockHighlights();
|
+ void clearBlockHighlights();
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Sends a player the death screen with a specified death message.
|
||||||
|
+ *
|
||||||
|
+ * @param message The death message to show the player
|
||||||
|
+ */
|
||||||
|
+ void sendDeathScreen(@NotNull net.kyori.adventure.text.Component message);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Sends a player the death screen with a specified death message,
|
||||||
|
+ * along with the entity that caused the death.
|
||||||
|
+ *
|
||||||
|
+ * @param message The death message to show the player
|
||||||
|
+ * @param killer The entity that killed the player
|
||||||
|
+ * @deprecated Use {@link #sendDeathScreen(net.kyori.adventure.text.Component)} instead, as 1.20 removed the killer ID from the packet.
|
||||||
|
+ */
|
||||||
|
+ @Deprecated(since = "1.20")
|
||||||
|
+ default void sendDeathScreen(@NotNull net.kyori.adventure.text.Component message, @Nullable Entity killer) {
|
||||||
|
+ sendDeathScreen(message);
|
||||||
|
+ }
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
private void validateSpeed(float value) {
|
private void validateSpeed(float value) {
|
||||||
Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value);
|
Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value);
|
||||||
}
|
}
|
||||||
@@ -3559,4 +_,66 @@
|
@@ -3559,4 +_,74 @@
|
||||||
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundEntityEventPacket(((CraftEntity) target).getHandle(), effect.getData()));
|
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundEntityEventPacket(((CraftEntity) target).getHandle(), effect.getData()));
|
||||||
}
|
}
|
||||||
// Paper end - entity effect API
|
// Paper end - entity effect API
|
||||||
@@ -112,4 +112,12 @@
|
|||||||
+ this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(new net.minecraft.network.protocol.common.custom.GameTestClearMarkersDebugPayload()));
|
+ this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(new net.minecraft.network.protocol.common.custom.GameTestClearMarkersDebugPayload()));
|
||||||
+ }
|
+ }
|
||||||
+ // Purpur end - Debug Marker API
|
+ // Purpur end - Debug Marker API
|
||||||
|
+
|
||||||
|
+ // Purpur start - Death screen API
|
||||||
|
+ @Override
|
||||||
|
+ public void sendDeathScreen(net.kyori.adventure.text.Component message) {
|
||||||
|
+ if (this.getHandle().connection == null) return;
|
||||||
|
+ this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket(getEntityId(), io.papermc.paper.adventure.PaperAdventure.asVanilla(message)));
|
||||||
|
+ }
|
||||||
|
+ // Purpur end - Death screen API
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user