package com.massivecraft.factions.chat; import com.massivecraft.massivecore.collections.MassiveMap; import org.bukkit.command.CommandSender; import java.util.Map; public abstract class ChatTag extends ChatActive { // -------------------------------------------- // // TAG REGISTER // -------------------------------------------- // private final static Map<String, ChatTag> idToTag = new MassiveMap<>(); public static ChatTag getTag(String tagId) { return (ChatTag) idToTag.get(tagId); } // -------------------------------------------- // // CONSTRUCT // -------------------------------------------- // public ChatTag(final String id) { super(id); } // -------------------------------------------- // // OVERRIDE // -------------------------------------------- // @Override public boolean isActive() { return idToTag.containsKey(this.getId()); } @Override public void setActive(boolean active) { if (active) { idToTag.put(this.getId(), this); } else { idToTag.remove(this.getId()); } } // -------------------------------------------- // // ABSTRACT // -------------------------------------------- // public abstract String getReplacement(CommandSender sender, CommandSender recipient); }