package me.km.api; import me.km.KajetansMod; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.math.Vec3d; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextComponentString; import net.minecraft.world.World; public class MessageSender { private final ITextComponent prefixes; private final TextFormatting colors; public MessageSender(String name, TextFormatting color) { TextComponentString text = new TextComponentString(name); text.getStyle().setColor(color); prefixes = new TextComponentString("[").appendSibling(text).appendText("] "); colors = color; } public void send(ICommandSender cs, String msg) { if(cs == null) { return; } cs.sendMessage(prefixes.createCopy().appendText(msg)); } public void sendToPlayers(World w, Vec3d v, double radius, String msg) { ITextComponent s = prefixes.createCopy().appendText(msg); Utils.getNearbyEntities(w, v, radius, EntityPlayer.class).forEach(p -> ((EntityPlayer) p).sendMessage(s)); } public void sendBroadcast(String msg) { KajetansMod.server.getPlayerList().sendMessage(prefixes.createCopy().appendText(msg)); } public void sendListElement(ICommandSender cs, String msg) { if(cs == null) { return; } TextComponentString text = new TextComponentString(""); TextComponentString text2 = new TextComponentString(" - "); text2.getStyle().setColor(colors); text.appendSibling(text2); cs.sendMessage(text.appendText(msg)); } public void sendHelpListElement(ICommandSender cs, String msg, String msg2) { if(cs == null) { return; } TextComponentString text = new TextComponentString(""); TextComponentString text2 = new TextComponentString(" - " + msg + " "); text2.getStyle().setColor(colors); text.appendSibling(text2); cs.sendMessage(text.appendText(msg2)); } public void sendWarning(ICommandSender cs, String msg) { if(cs == null) { return; } TextComponentString text = new TextComponentString(msg); text.getStyle().setColor(TextFormatting.RED); cs.sendMessage(prefixes.createCopy().appendSibling(text)); } public void sendToConsole(String msg) { send(KajetansMod.server, msg); } public void sendWarningToConsole(String msg) { sendWarning(KajetansMod.server, msg); } }