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@29b17a8 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9088) PaperMC/Paper@b5ce6e3 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9104) PaperMC/Paper@9cda284 Updated Upstream (Bukkit/CraftBukkit) PaperMC/Paper@f8c0112 {ci skip} add missing labels to project status map (#9106) PaperMC/Paper@6a7fef0 Allow entity effect changes off the main thread for worldgen (#8942) PaperMC/Paper@f8d2f82 Resolve Plugin Dependency Issues, Improve PluginLoading Compat, Small Loading Issues (#9068) PaperMC/Paper@b626528 Updated Upstream (Bukkit/CraftBukkit) PaperMC/Paper@058d7c1 Updated Upstream (Bukkit/CraftBukkit/Spigot) PaperMC/Paper@ab72b12 Update Adventure to 4.13.1 (#9113) PaperMC/Paper@8be7a60 Fix getBrightness and getRawBrightness throwing exception in BlockStateListPopulator (#9111) PaperMC/Paper@e811927 Revert "Resolve Plugin Dependency Issues, Improve PluginLoading Compat, Small Loading Issues (#9068)" Pufferfish Changes: pufferfish-gg/Pufferfish@da9fd85 Updated Upstream (Paper) pufferfish-gg/Pufferfish@751dfb0 Updated Upstream (Paper) pufferfish-gg/Pufferfish@c09a154 Updated Upstream (Paper) pufferfish-gg/Pufferfish@b778163 Updated Upstream (Paper)
55 lines
2.9 KiB
Diff
55 lines
2.9 KiB
Diff
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 53b75f5737a910ffc5448cd9a85eae57f9c1488f..ea95873dd034779e56a8b924cd27f9375be05daf 100644
|
|
--- a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java
|
|
+++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java
|
|
@@ -9,6 +9,7 @@ public class ClientboundPlayerCombatKillPacket implements Packet<ClientGamePacke
|
|
private final int playerId;
|
|
private final int killerId;
|
|
private final Component message;
|
|
+ public net.kyori.adventure.text.Component adventure$message; // Purpur
|
|
|
|
public ClientboundPlayerCombatKillPacket(CombatTracker damageTracker, Component message) {
|
|
this(damageTracker.getMob().getId(), damageTracker.getKillerId(), message);
|
|
@@ -30,6 +31,12 @@ public class ClientboundPlayerCombatKillPacket implements Packet<ClientGamePacke
|
|
public void write(FriendlyByteBuf buf) {
|
|
buf.writeVarInt(this.playerId);
|
|
buf.writeInt(this.killerId);
|
|
+ // 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 96dfcbd7160231a58b051d38b131ee000932da22..c38cbce95cc0623c3b4981b0f40ad44d2d3c549f 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
@@ -3299,5 +3299,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
|
|
}
|