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