package jk_5.nailed.server.command.sender; import jk_5.nailed.api.chat.BaseComponent; import jk_5.nailed.api.chat.TextComponent; import jk_5.nailed.api.command.sender.AnalogCommandSender; import jk_5.nailed.api.command.sender.CommandSender; import jk_5.nailed.api.command.sender.WorldCommandSender; import jk_5.nailed.api.map.Map; import jk_5.nailed.api.world.World; import jk_5.nailed.server.NailedPlatform; import jk_5.nailed.server.chat.ChatComponentConverter; import net.minecraft.command.server.CommandBlockLogic; public class CommandBlockCommandSender implements CommandSender, AnalogCommandSender, WorldCommandSender { private final CommandBlockLogic wrapped; public CommandBlockCommandSender(CommandBlockLogic wrapped) { this.wrapped = wrapped; } @Override public World getWorld() { return NailedPlatform.instance().getWorld(wrapped.getEntityWorld().provider.getDimensionId()); } @Override public Map getMap() { return getWorld().getMap(); } @Override public String getName() { return wrapped.getCustomName(); } @Override public void sendMessage(BaseComponent... component) { wrapped.addChatMessage(ChatComponentConverter.arrayToVanilla(component)); } @Override public BaseComponent getDescriptionComponent() { return new TextComponent(this.getName()); } }