mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
we can ride mobs again!
This commit is contained in:
54
patches/server/0274-Add-death-screen-API.patch
Normal file
54
patches/server/0274-Add-death-screen-API.patch
Normal file
@@ -0,0 +1,54 @@
|
||||
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/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java
|
||||
index 76a62d872bc2ad12efd9522d8dd445b8d2342525..075a891413d072998e6d468e76d839e1a3bf7da9 100644
|
||||
--- a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java
|
||||
+++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java
|
||||
@@ -7,6 +7,7 @@ import net.minecraft.network.protocol.Packet;
|
||||
public class ClientboundPlayerCombatKillPacket implements Packet<ClientGamePacketListener> {
|
||||
private final int playerId;
|
||||
private final Component message;
|
||||
+ public net.kyori.adventure.text.Component adventure$message; // Purpur
|
||||
|
||||
public ClientboundPlayerCombatKillPacket(int entityId, Component message) {
|
||||
this.playerId = entityId;
|
||||
@@ -21,6 +22,12 @@ public class ClientboundPlayerCombatKillPacket implements Packet<ClientGamePacke
|
||||
@Override
|
||||
public void write(FriendlyByteBuf buf) {
|
||||
buf.writeVarInt(this.playerId);
|
||||
+ // Purpur start
|
||||
+ if (this.adventure$message != null) {
|
||||
+ buf.writeComponent(this.adventure$message);
|
||||
+ return;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
buf.writeComponent(this.message);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index f71f9b1c6810bd021ae194386cec3792c8e57c62..d511adbeaf9ae22256e8e316237f9d487e04c2bf 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3253,5 +3253,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
if (this.getHandle().connection == null) return;
|
||||
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket(ClientboundCustomPayloadPacket.DEBUG_GAME_TEST_CLEAR, new FriendlyByteBuf(io.netty.buffer.Unpooled.buffer())));
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public void sendDeathScreen(net.kyori.adventure.text.Component message) {
|
||||
+ sendDeathScreen(message, null);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void sendDeathScreen(net.kyori.adventure.text.Component message, org.bukkit.entity.Entity killer) {
|
||||
+ if (this.getHandle().connection == null) return;
|
||||
+ net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket packet = new net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket(getEntityId(), killer == null ? -1 : killer.getEntityId(), null);
|
||||
+ packet.adventure$message = message;
|
||||
+ this.getHandle().connection.send(packet);
|
||||
+ }
|
||||
// Purpur end
|
||||
}
|
||||
Reference in New Issue
Block a user