package com.intellectualcrafters.plot.object; import com.intellectualcrafters.plot.PS; import com.intellectualcrafters.plot.config.C; import com.intellectualcrafters.plot.object.chat.PlainChatManager; import com.intellectualcrafters.plot.util.ChatManager; public class PlotMessage { private Object builder; public PlotMessage() { try { reset(ChatManager.manager); } catch (Throwable e) { PS.debug(PS.imp().getPluginName() + " doesn't support fancy chat for " + PS.get().IMP.getServerVersion()); ChatManager.manager = new PlainChatManager(); reset(ChatManager.manager); } } public PlotMessage(String text) { this(); text(text); } public <T> T $(ChatManager<T> manager) { return (T) this.builder; } public <T> T reset(ChatManager<T> manager) { return (T) (this.builder = manager.builder()); } public PlotMessage text(String text) { ChatManager.manager.text(this, text); return this; } public PlotMessage tooltip(PlotMessage... tooltip) { ChatManager.manager.tooltip(this, tooltip); return this; } public PlotMessage tooltip(String tooltip) { return tooltip(new PlotMessage(tooltip)); } public PlotMessage command(String command) { ChatManager.manager.command(this, command); return this; } public PlotMessage suggest(String command) { ChatManager.manager.suggest(this, command); return this; } public PlotMessage color(String color) { ChatManager.manager.color(this, C.color(color)); return this; } public void send(PlotPlayer player) { ChatManager.manager.send(this, player); } }