mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: fb36f15d6 Let some more packets be send immediately, closes #4140 (#4896) ede41fe16 Emancipate more features to PlayerHandshakeEvent 3fdeba1f5 [CI-SKIP] [Auto] Rebuild Patches 5fc07bd63 Maded Title-Objects directy sendable to targets e7b9a478e Player Chunk Load/Unload Events 1d0cfc0cc MC-4 Fix item position desync 458db6206 Limit auto recipe packets
37 lines
2.0 KiB
Diff
37 lines
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
Date: Sun, 19 Jul 2020 14:08:33 -0500
|
|
Subject: [PATCH] Fix death message colors
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
index 0d4ab4e8eda4059fbafe7645c9627ab5566edd85..933d90e7026adc44e95a7c4083d6f9174ffb1f6c 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
@@ -841,7 +841,24 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
|
|
|
IChatBaseComponent defaultMessage = this.getCombatTracker().getDeathMessage();
|
|
|
|
- String deathmessage = defaultMessage.getString();
|
|
+ // Purpur start
|
|
+ String deathmessage;
|
|
+ String json = "";
|
|
+ try {
|
|
+ json = IChatBaseComponent.ChatSerializer.componentToJson(defaultMessage);
|
|
+ net.md_5.bungee.api.chat.BaseComponent[] parsed = net.md_5.bungee.chat.ComponentSerializer.parse(json);
|
|
+ net.md_5.bungee.api.chat.TextComponent wrapped = new net.md_5.bungee.api.chat.TextComponent(parsed);
|
|
+ deathmessage = wrapped.toLegacyText();
|
|
+ } catch (Exception e) {
|
|
+ deathmessage = defaultMessage.getString();
|
|
+ MinecraftServer.LOGGER.warn("There was a problem processing the death message json component!");
|
|
+ MinecraftServer.LOGGER.warn("We have fallen back to legacy colorless death message to prevent real errors");
|
|
+ MinecraftServer.LOGGER.warn("Please report this to Purpur!");
|
|
+ MinecraftServer.LOGGER.warn("JSON: " + json);
|
|
+ MinecraftServer.LOGGER.warn("The following error describes what went wrong:");
|
|
+ e.printStackTrace();
|
|
+ }
|
|
+ // Purpur end
|
|
org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, deathmessage, keepInventory);
|
|
// Paper start - cancellable death event
|
|
if (event.isCancelled()) {
|