mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 08:57:44 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: 7232d8f2a EntityLoadCrossbowEvent#shouldConsumeItem 4740bd6c8 Mark PlayerInventory#getItem as nullable bd9ace578 Add a config option to limit the number of entities of each type to load/save in a chunk (#4792) 6bafeb5a9 Move logic from last patch into correct place 9668118fd disable entity ticking flag after watchdog obliteration
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 4134d9a1e649c70164a28df615bb43e81e7a64d6..5696bd0ce51acb45b57d84106e9b00bc041f548b 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
@@ -852,7 +852,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()) {
|