diff --git a/patches/minecraft/net/minecraft/network/NetHandlerPlayServer.java.patch b/patches/minecraft/net/minecraft/network/NetHandlerPlayServer.java.patch
index 08c6283c14..e99197793e 100644
--- a/patches/minecraft/net/minecraft/network/NetHandlerPlayServer.java.patch
+++ b/patches/minecraft/net/minecraft/network/NetHandlerPlayServer.java.patch
@@ -130,17 +130,19 @@
{
this.func_147359_a(new S2FPacketSetSlot(this.field_147369_b.field_71070_bA.field_75152_c, slot.field_75222_d, this.field_147369_b.field_71071_by.func_70448_g()));
}
-@@ -764,7 +792,9 @@
+@@ -764,8 +792,10 @@
}
else
{
- ChatComponentTranslation chatcomponenttranslation1 = new ChatComponentTranslation("chat.type.text", new Object[] {this.field_147369_b.func_145748_c_(), s});
+- this.field_147367_d.func_71203_ab().func_148544_a(chatcomponenttranslation1, false);
+ ChatComponentTranslation chatcomponenttranslation1 = new ChatComponentTranslation("chat.type.text", this.field_147369_b.func_145748_c_(), ForgeHooks.newChatWithLinks(s));
-+ chatcomponenttranslation1 = ForgeHooks.onServerChatEvent(this, s, chatcomponenttranslation1);
-+ if (chatcomponenttranslation1 == null) return;
- this.field_147367_d.func_71203_ab().func_148544_a(chatcomponenttranslation1, false);
++ IChatComponent chat = ForgeHooks.onServerChatEvent(this, s, chatcomponenttranslation1);
++ if (chat == null) return;
++ this.field_147367_d.func_71203_ab().func_148544_a(chat, false);
}
+ this.field_147374_l += 20;
@@ -907,7 +937,7 @@
return;
}
diff --git a/src/main/java/net/minecraftforge/event/ServerChatEvent.java b/src/main/java/net/minecraftforge/event/ServerChatEvent.java
index b1ec651e1e..69f9ce56c5 100644
--- a/src/main/java/net/minecraftforge/event/ServerChatEvent.java
+++ b/src/main/java/net/minecraftforge/event/ServerChatEvent.java
@@ -4,10 +4,11 @@ import net.minecraftforge.fml.common.eventhandler.Cancelable;
import net.minecraftforge.fml.common.eventhandler.Event;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.util.ChatComponentTranslation;
+import net.minecraft.util.IChatComponent;
/**
* ServerChatEvent is fired whenever a C01PacketChatMessage is processed.
- * This event is fired via {@link ForgeHooks#onServerChatEvent(net.minecraft.network.NetHandlerPlayServer, String, ChatComponentTranslation)},
+ * This event is fired via {@link ForgeHooks#onServerChatEvent(net.minecraft.network.NetHandlerPlayServer, String, ChatComponentTranslation)},
* which is executed by the NetHandlerPlayServer#processChatMessage(net.minecraft.network.play.client.C01PacketChatMessage)
*
* {@link #username} contains the username of the player sending the chat message.
@@ -27,6 +28,7 @@ public class ServerChatEvent extends Event
{
public final String message, username;
public final EntityPlayerMP player;
+ @Deprecated //Use methods below
public ChatComponentTranslation component;
public ServerChatEvent(EntityPlayerMP player, String message, ChatComponentTranslation component)
{
@@ -36,4 +38,17 @@ public class ServerChatEvent extends Event
this.username = player.getGameProfile().getName();
this.component = component;
}
+
+ public void setComponent(IChatComponent e)
+ {
+ if (e instanceof ChatComponentTranslation)
+ this.component = (ChatComponentTranslation)e;
+ else
+ this.component = new ChatComponentTranslation("%s", e);
+ }
+
+ public IChatComponent getComponent()
+ {
+ return this.component;
+ }
}