mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 00:47:42 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: 9a129fa99 Add #getEligibleHumans to SkeletonHorseTrapEvent b5e23c7a6 Fix merging spawning values a932e8ad7 Turn off spigot verbose world by default 8ced89f65 Fix Delegation to vanilla chunk gen
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 36168d0f7c..563eb77ce3 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
@@ -839,7 +839,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()) {
|