private void handlePower(String power, boolean isFromCo, ClientChatEvent event) {
switch (power) {
case "immortality":
event.setCanceled(true);
if (isFromCo) {
Minecraft.getInstance().gui.getChat().addMessage(new TextComponent("[HellSchool] " + event.getPlayer() + " went immortal!"));
/// ^ not a method, so how do I get the player sending the message?
}
}
}
@SubscribeEvent
private void onChatMessage(ClientChatEvent event) {
boolean isFromCo = event.getOriginalMessage().contains("[CO-OWNER]");
Pattern pattern = Pattern.compile("\\*uses (.*?)\\*");
if (pattern.matcher(event.getOriginalMessage()).find()) {
String power = pattern.matcher(event.getOriginalMessage()).replaceAll("$1").replace("*uses ", "").replace("*", "");
this.handlePower(power, isFromCo, event);
}
}
These are the methods I'm using to subscribe to the ClientChatEvent, the comments explain what's going on.
I need to get the player to identify the chat message's sender and add that message to the player's personal chat messages.