Mineplex/GOD DAMN COSMETICS/titles/tracks/Track.java
Daniel Waggner 38a20f98c2 Removed Files
These two directories contain code that was removed from the src and dependencies of the compiled files. They were removed due to being either a. unnecessary or b. a royal pain in my booty.
2021-05-23 18:13:37 -07:00

131 lines
3.0 KiB
Java

package mineplex.core.titles.tracks;
import net.md_5.bungee.api.ChatColor;
import org.apache.commons.lang3.Validate;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import mineplex.core.Managers;
import mineplex.core.common.util.UtilServer;
import mineplex.core.gadget.GadgetManager;
import mineplex.core.gadget.types.GadgetSet;
import mineplex.core.stats.StatsManager;
import mineplex.database.tables.Stats;
import static mineplex.core.Managers.require;
public class Track implements Listener
{
private final String _id;
private final String _shortName;
private final String _longName;
private final String _desc;
private final ChatColor _color;
private final boolean _hideIfUnowned;
private final TrackRequirements _trackRequirements;
private final GadgetManager _gadgetManager = require(GadgetManager.class);
private final StatsManager _statsManager = require(StatsManager.class);
private boolean _special = false;
protected Track(String trackId, String shortName, String description)
{
this(trackId, ChatColor.DARK_AQUA, shortName, shortName, description);
}
protected Track(String trackId, String shortName, String description, boolean hideIfUnowned)
{
this(trackId, ChatColor.DARK_AQUA, shortName, shortName, description, hideIfUnowned);
}
protected Track(String trackId, ChatColor color, String shortName, String longName, String description)
{
this(trackId, color, shortName, longName, description, false);
}
protected Track(String trackId, ChatColor color, String shortName, String longName, String description, boolean hideIfUnowned)
{
// Book limits
Validate.isTrue(shortName.length() <= 16, "Short name cannot be longer than 16 characters");
Validate.isTrue(trackId.length() <= 32, "ID cannot be longer than 32 characters");
this._id = trackId;
this._shortName = shortName;
this._longName = longName;
this._desc = description;
this._color = color;
this._trackRequirements = new TrackRequirements(this);
this._hideIfUnowned = hideIfUnowned;
UtilServer.RegisterEvents(this);
}
protected void special()
{
this._special = true;
}
public boolean isSpecial()
{
return this._special;
}
public final TrackRequirements getRequirements()
{
return this._trackRequirements;
}
public String getStatName()
{
return "track." + _id;
}
public final void incrementFor(Player player, int amount)
{
_statsManager.incrementStat(player, getStatName(), amount);
}
public final long getStat(Player player)
{
return _statsManager.Get(player).getStat(getStatName());
}
public final boolean isSetActive(Player player, Class<? extends GadgetSet> setClass)
{
return _gadgetManager.getGadgetSet(setClass).isActive(player);
}
public String getId()
{
return _id;
}
public String getShortName()
{
return _shortName;
}
public String getLongName()
{
return _longName;
}
public String getDescription()
{
return _desc;
}
public ChatColor getColor()
{
return this._color;
}
public boolean hideIfUnowned()
{
return this._hideIfUnowned;
}
}