removal of aero

This commit is contained in:
Super_ 2020-06-30 21:51:06 -04:00
parent 9dad7c6d05
commit 9d71a7f4ae
104 changed files with 808 additions and 1010 deletions

View File

@ -52,9 +52,8 @@
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.9" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.9" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot:1.16.1-R0.1-SNAPSHOT" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.Pravian:Aero:5f82926" level="project" />
<orderEntry type="library" name="Maven: org.spigotmc:spigot-api:1.12-R0.1-SNAPSHOT" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.TotalFreedom:BukkitTelnet:4.5-pre1" level="project" />
<orderEntry type="library" name="Maven: org.spigotmc:spigot-api:1.12-pre5-SNAPSHOT" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.logging.log4j:log4j-core:2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.logging.log4j:log4j-api:2.5" level="project" />
<orderEntry type="library" name="Maven: com.github.libraryaddict:LibsDisguises:31672fce7b" level="project" />
@ -161,5 +160,8 @@
<orderEntry type="library" scope="PROVIDED" name="Maven: net.goldtreeservers:worldguardextraflags:4.0.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.boydti:fawe-api:17.07.12-6b6f285-750-13.7.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: net.ess3:Essentials:2.13-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
<orderEntry type="library" name="Maven: javassist:javassist:3.12.1.GA" level="project" />
</component>
</module>

29
pom.xml
View File

@ -142,13 +142,6 @@
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.github.Pravian</groupId>
<artifactId>Aero</artifactId>
<version>5f82926</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.github.TotalFreedom</groupId>
<artifactId>BukkitTelnet</artifactId>
@ -238,6 +231,18 @@
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.11</version>
</dependency>
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.12.1.GA</version>
</dependency>
</dependencies>
<build>
@ -396,12 +401,22 @@
<include>commons-io:commons-io</include>
<include>org.apache.commons:commons-lang3</include>
<include>commons-codec:commons-codec</include>
<include>org.reflections:reflections</include>
<include>javassist:javassist</include>
</includes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<outputDirectory>C:\Users\Jax\Desktop\STUFF\ts116\plugins</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -21,13 +21,8 @@ public class Announcer extends FreedomService
private String prefix;
private BukkitTask announcer;
public Announcer(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
enabled = ConfigEntry.ANNOUNCER_ENABLED.getBoolean();
interval = ConfigEntry.ANNOUNCER_INTERVAL.getInteger() * 20L;
@ -64,7 +59,7 @@ public class Announcer extends FreedomService
}
@Override
protected void onStop()
public void onStop()
{
if (announcer == null)
{

View File

@ -12,19 +12,13 @@ import org.bukkit.event.block.BlockPlaceEvent;
public class AntiNuke extends FreedomService
{
public AntiNuke(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -24,13 +24,8 @@ public class AntiSpam extends FreedomService
//
public BukkitTask cycleTask = null;
public AntiSpam(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
new BukkitRunnable()
{
@ -44,7 +39,7 @@ public class AntiSpam extends FreedomService
}
@Override
protected void onStop()
public void onStop()
{
FUtil.cancel(cycleTask);
}

View File

@ -8,7 +8,6 @@ import java.util.Map;
import me.totalfreedom.totalfreedommod.banning.Ban;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
@ -19,25 +18,20 @@ public class AutoEject extends FreedomService
private final Map<String, Integer> ejects = new HashMap<>(); // ip -> amount
public AutoEject(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}
public void autoEject(Player player, String kickMessage)
{
EjectMethod method = EjectMethod.STRIKE_ONE;
final String ip = Ips.getIp(player);
final String ip = FUtil.getIp(player);
if (!ejects.containsKey(ip))
{

View File

@ -15,13 +15,8 @@ public class AutoKick extends FreedomService
private long autoKickTicks;
private double autoKickThreshold;
public AutoKick(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
autoKickTicks = (long)ConfigEntry.AUTOKICK_TIME.getInteger() * 1000L;
autoKickThreshold = ConfigEntry.AUTOKICK_THRESHOLD.getDouble();
@ -43,7 +38,7 @@ public class AutoKick extends FreedomService
}
@Override
protected void onStop()
public void onStop()
{
FUtil.cancel(kickTask);
kickTask = null;

View File

@ -1,18 +1,21 @@
package me.totalfreedom.totalfreedommod;
import java.io.File;
import me.totalfreedom.totalfreedommod.config.YamlConfig;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.component.PluginComponent;
import net.pravian.aero.config.YamlConfig;
import org.bukkit.util.FileUtil;
public class BackupManager extends PluginComponent<TotalFreedomMod>
public class BackupManager extends FreedomService
{
public BackupManager(TotalFreedomMod plugin)
@Override
public void onStart()
{
}
@Override
public void onStop()
{
super(plugin);
}
public void createBackups(String file)

View File

@ -23,19 +23,13 @@ import org.bukkit.SoundCategory;
public class ChatManager extends FreedomService
{
public ChatManager(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -9,19 +9,13 @@ import org.bukkit.ChatColor;
public class CommandSpy extends FreedomService
{
public CommandSpy(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -16,11 +16,6 @@ public class EntityWiper extends FreedomService
{
private BukkitTask wiper;
public EntityWiper(TotalFreedomMod plugin)
{
super(plugin);
}
public List<EntityType> BLACKLIST = Arrays.asList(
EntityType.ARMOR_STAND,
EntityType.PAINTING,
@ -31,7 +26,7 @@ public class EntityWiper extends FreedomService
);
@Override
protected void onStart()
public void onStart()
{
// Continuous Entity Wiper
wiper = new BukkitRunnable()
@ -45,7 +40,7 @@ public class EntityWiper extends FreedomService
}
@Override
protected void onStop()
public void onStop()
{
wiper.cancel();
wiper = null;

View File

@ -1,13 +1,24 @@
package me.totalfreedom.totalfreedommod;
import net.pravian.aero.component.service.AbstractService;
import me.totalfreedom.totalfreedommod.util.FLog;
import org.bukkit.Server;
import org.bukkit.event.Listener;
public abstract class FreedomService extends AbstractService<TotalFreedomMod>
public abstract class FreedomService implements Listener
{
protected final TotalFreedomMod plugin;
protected final Server server;
protected final FLog logger;
public FreedomService(TotalFreedomMod plugin)
public FreedomService()
{
super(plugin);
plugin = TotalFreedomMod.getPlugin();
server = plugin.getServer();
logger = new FLog();
plugin.getServer().getPluginManager().registerEvents(this, plugin);
plugin.fsh.add(this);
}
public abstract void onStart();
public abstract void onStop();
}

View File

@ -0,0 +1,26 @@
package me.totalfreedom.totalfreedommod;
import java.util.ArrayList;
import java.util.List;
import lombok.Getter;
public class FreedomServiceHandler
{
@Getter
private List<FreedomService> services;
public FreedomServiceHandler()
{
this.services = new ArrayList<>();
}
public void add(FreedomService service)
{
services.add(service);
}
public int getServiceAmount()
{
return services.size();
}
}

View File

@ -9,18 +9,13 @@ import org.bukkit.event.player.PlayerMoveEvent;
public class Fuckoff extends FreedomService
{
public Fuckoff(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -13,10 +13,8 @@ public class GameRuleHandler extends FreedomService
private final Map<GameRule, Boolean> rules = new EnumMap<>(GameRule.class);
public GameRuleHandler(TotalFreedomMod plugin)
public GameRuleHandler()
{
super(plugin);
for (GameRule gameRule : GameRule.values())
{
rules.put(gameRule, gameRule.getDefaultValue());
@ -24,7 +22,7 @@ public class GameRuleHandler extends FreedomService
}
@Override
protected void onStart()
public void onStart()
{
setGameRule(GameRule.DO_DAYLIGHT_CYCLE, !ConfigEntry.DISABLE_NIGHT.getBoolean(), false);
setGameRule(GameRule.DO_FIRE_TICK, ConfigEntry.ALLOW_FIRE_SPREAD.getBoolean(), false);
@ -41,7 +39,7 @@ public class GameRuleHandler extends FreedomService
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -23,19 +23,13 @@ import org.bukkit.scheduler.BukkitRunnable;
public class LogViewer extends FreedomService
{
public LogViewer(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -11,7 +11,6 @@ import me.totalfreedom.totalfreedommod.player.PlayerData;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FSync;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.entity.Player;
@ -37,18 +36,13 @@ public class LoginProcess extends FreedomService
@Setter
private static boolean lockdownEnabled = false;
public LoginProcess(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}
@ -209,9 +203,9 @@ public class LoginProcess extends FreedomService
return;
}
if (!playerData.hasVerification() && !playerData.getIps().contains(Ips.getIp(player)))
if (!playerData.hasVerification() && !playerData.getIps().contains(FUtil.getIp(player)))
{
playerData.addIp(Ips.getIp(player));
playerData.addIp(FUtil.getIp(player));
plugin.pl.save(playerData);
}
@ -242,7 +236,11 @@ public class LoginProcess extends FreedomService
if (!plugin.al.isAdmin(player))
{
fPlayer.setTag(FUtil.colorize(playerData.getTag()));
String tag = playerData.getTag();
if (tag != null)
{
fPlayer.setTag(FUtil.colorize(tag));
}
int noteCount = playerData.getNotes().size();
if (noteCount != 0)
{

View File

@ -18,18 +18,13 @@ public class Monitors extends FreedomService
private final DecimalFormat decimalFormat = new DecimalFormat("#");
private String potionSpyPrefix = ChatColor.DARK_GRAY + "[" + ChatColor.YELLOW + "PotionSpy" + ChatColor.DARK_GRAY + "] ";
public Monitors(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -27,18 +27,13 @@ public class MovementValidator extends FreedomService
public static final int MAX_XYZ_COORD = 29999998;
public static final int MAX_DISTANCE_TRAVELED = 100;
public MovementValidator(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -21,20 +21,15 @@ public class Muter extends FreedomService
{
public static final List<String> MUTE_COMMANDS = Arrays.asList(StringUtils.split("say,me,msg,tell,reply,mail", ","));
public final List<String> MUTED_PLAYERS = new ArrayList();
public Muter(TotalFreedomMod plugin)
{
super(plugin);
}
public final List<String> MUTED_PLAYERS = new ArrayList<>();
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -9,19 +9,13 @@ import org.bukkit.util.Vector;
public class Orbiter extends FreedomService
{
public Orbiter(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -32,13 +32,8 @@ public class ProtectArea extends FreedomService
//
private final Map<String, SerializableProtectedRegion> areas = Maps.newHashMap();
public ProtectArea(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
if (!ConfigEntry.PROTECTAREA_ENABLED.getBoolean())
{
@ -68,7 +63,7 @@ public class ProtectArea extends FreedomService
}
@Override
protected void onStop()
public void onStop()
{
save();
}

View File

@ -12,19 +12,13 @@ import static me.totalfreedom.totalfreedommod.util.FUtil.SAVED_FLAGS_FILENAME;
public class SavedFlags extends FreedomService
{
public SavedFlags(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -11,21 +11,15 @@ import org.bukkit.craftbukkit.v1_16_R1.CraftServer;
public class ServerInterface extends FreedomService
{
public static final String COMPILE_NMS_VERSION = "v1_16_R1";
public ServerInterface(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -9,19 +9,13 @@ import org.bukkit.event.server.ServerListPingEvent;
public class ServerPing extends FreedomService
{
public ServerPing(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -3,6 +3,7 @@ package me.totalfreedom.totalfreedommod;
import java.io.File;
import java.io.InputStream;
import java.util.Properties;
import java.util.Set;
import me.totalfreedom.totalfreedommod.admin.ActivityLog;
import me.totalfreedom.totalfreedommod.admin.AdminList;
import me.totalfreedom.totalfreedommod.banning.BanManager;
@ -24,6 +25,7 @@ import me.totalfreedom.totalfreedommod.bridge.WorldEditBridge;
import me.totalfreedom.totalfreedommod.bridge.WorldGuardBridge;
import me.totalfreedom.totalfreedommod.caging.Cager;
import me.totalfreedom.totalfreedommod.command.CommandLoader;
import me.totalfreedom.totalfreedommod.command.FreedomCommand;
import me.totalfreedom.totalfreedommod.config.MainConfig;
import me.totalfreedom.totalfreedommod.discord.Discord;
import me.totalfreedom.totalfreedommod.freeze.Freezer;
@ -48,18 +50,23 @@ import me.totalfreedom.totalfreedommod.util.FUtil;
import me.totalfreedom.totalfreedommod.util.MethodTimer;
import me.totalfreedom.totalfreedommod.world.CleanroomChunkGenerator;
import me.totalfreedom.totalfreedommod.world.WorldManager;
import net.pravian.aero.component.service.ServiceManager;
import net.pravian.aero.plugin.AeroPlugin;
import net.coreprotect.command.CommandHandler;
import org.bstats.Metrics;
import org.bukkit.Bukkit;
import org.bukkit.generator.ChunkGenerator;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import org.reflections.Reflections;
import org.spigotmc.SpigotConfig;
public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
public class TotalFreedomMod extends JavaPlugin
{
private static TotalFreedomMod plugin;
public static TotalFreedomMod getPlugin()
{
return plugin;
}
public static final String CONFIG_FILENAME = "config.yml";
//
public static final BuildProperties build = new BuildProperties();
@ -70,8 +77,11 @@ public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
public MainConfig config;
public PermissionConfig permissions;
//
// Service Handler
public FreedomServiceHandler fsh;
// Command Loader
public CommandLoader cl;
// Services
public ServiceManager<TotalFreedomMod> services;
public ServerInterface si;
public SavedFlags sf;
public WorldManager wm;
@ -79,7 +89,6 @@ public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
public AdminList al;
public ActivityLog acl;
public RankManager rm;
public CommandLoader cl;
public CommandBlocker cb;
public EventBlocker eb;
public BlockBlocker bb;
@ -128,7 +137,6 @@ public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
//public HubWorldRestrictions hwr;
//
// Bridges
public ServiceManager<TotalFreedomMod> bridges;
public BukkitTelnetBridge btb;
public EssentialsBridge esb;
public LibsDisguisesBridge ldb;
@ -137,19 +145,20 @@ public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
public WorldGuardBridge wgb;
@Override
public void load()
public void onLoad()
{
plugin = this;
TotalFreedomMod.pluginName = plugin.getDescription().getName();
TotalFreedomMod.pluginVersion = plugin.getDescription().getVersion();
FLog.setPluginLogger(plugin.getLogger());
FLog.setServerLogger(server.getLogger());
FLog.setServerLogger(getServer().getLogger());
build.load(plugin);
}
@Override
public void enable()
public void onEnable()
{
FLog.info("Created by Madgeek1450 and Prozza");
FLog.info("Version " + build.version);
@ -165,7 +174,26 @@ public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
FUtil.deleteCoreDumps();
FUtil.deleteFolder(new File("./_deleteme"));
BackupManager backups = new BackupManager(this);
fsh = new FreedomServiceHandler();
cl = new CommandLoader();
Reflections commandDir = new Reflections("me.totalfreedom.totalfreedommod.command");
Set<Class<? extends FreedomCommand>> commandClasses = commandDir.getSubTypesOf(FreedomCommand.class);
for (Class<? extends FreedomCommand> commandClass : commandClasses)
{
try
{
cl.add(commandClass.newInstance());
}
catch (InstantiationException | IllegalAccessException | ExceptionInInitializerError ex)
{
FLog.warning("Failed to register command: /" + commandClass.getSimpleName().replace("Command_" , ""));
}
}
BackupManager backups = new BackupManager();
backups.createBackups(TotalFreedomMod.CONFIG_FILENAME, true);
backups.createBackups(PermbanList.CONFIG_FILENAME);
backups.createBackups(PermissionConfig.PERMISSIONS_FILENAME, true);
@ -179,78 +207,78 @@ public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
permissions.load();
// Start services
services = new ServiceManager<>(plugin);
si = services.registerService(ServerInterface.class);
sf = services.registerService(SavedFlags.class);
wm = services.registerService(WorldManager.class);
lv = services.registerService(LogViewer.class);
sql = services.registerService(SQLite.class);
al = services.registerService(AdminList.class);
acl = services.registerService(ActivityLog.class);
rm = services.registerService(RankManager.class);
cl = services.registerService(CommandLoader.class);
cb = services.registerService(CommandBlocker.class);
eb = services.registerService(EventBlocker.class);
bb = services.registerService(BlockBlocker.class);
mb = services.registerService(MobBlocker.class);
ib = services.registerService(InteractBlocker.class);
pb = services.registerService(PotionBlocker.class);
lp = services.registerService(LoginProcess.class);
nu = services.registerService(AntiNuke.class);
as = services.registerService(AntiSpam.class);
wr = services.registerService(WorldRestrictions.class);
pl = services.registerService(PlayerList.class);
sh = services.registerService(Shop.class);
an = services.registerService(Announcer.class);
cm = services.registerService(ChatManager.class);
dc = services.registerService(Discord.class);
pul = services.registerService(PunishmentList.class);
bm = services.registerService(BanManager.class);
pm = services.registerService(PermbanList.class);
pem = services.registerService(PermissionManager.class);
pa = services.registerService(ProtectArea.class);
gr = services.registerService(GameRuleHandler.class);
snp = services.registerService(SignBlocker.class);
ew = services.registerService(EntityWiper.class);
si = new ServerInterface();
sf = new SavedFlags();
wm = new WorldManager();
lv = new LogViewer();
sql = new SQLite();
al = new AdminList();
acl = new ActivityLog();
rm = new RankManager();
cb = new CommandBlocker();
eb = new EventBlocker();
bb = new BlockBlocker();
mb = new MobBlocker();
ib = new InteractBlocker();
pb = new PotionBlocker();
lp = new LoginProcess();
nu = new AntiNuke();
as = new AntiSpam();
wr = new WorldRestrictions();
pl = new PlayerList();
sh = new Shop();
an = new Announcer();
cm = new ChatManager();
dc = new Discord();
pul = new PunishmentList();
bm = new BanManager();
pm = new PermbanList();
pem = new PermissionManager();
pa = new ProtectArea();
gr = new GameRuleHandler();
snp = new SignBlocker();
ew = new EntityWiper();
// Single admin utils
cs = services.registerService(CommandSpy.class);
ca = services.registerService(Cager.class);
fm = services.registerService(Freezer.class);
or = services.registerService(Orbiter.class);
mu = services.registerService(Muter.class);
ebl = services.registerService(EditBlocker.class);
pbl = services.registerService(PVPBlocker.class);
fo = services.registerService(Fuckoff.class);
ak = services.registerService(AutoKick.class);
ae = services.registerService(AutoEject.class);
mo = services.registerService(Monitors.class);
cs = new CommandSpy();
ca = new Cager();
fm = new Freezer();
or = new Orbiter();
mu = new Muter();
ebl = new EditBlocker();
pbl = new PVPBlocker();
fo = new Fuckoff();
ak = new AutoKick();
ae = new AutoEject();
mo = new Monitors();
mv = services.registerService(MovementValidator.class);
sp = services.registerService(ServerPing.class);
mv = new MovementValidator();
sp = new ServerPing();
// Fun
cul = services.registerService(CurseListener.class);
it = services.registerService(ItemFun.class);
lm = services.registerService(Landminer.class);
ms = services.registerService(MobStacker.class);
mp = services.registerService(MP44.class);
jp = services.registerService(Jumppads.class);
tr = services.registerService(Trailer.class);
cul = new CurseListener();
it = new ItemFun();
lm = new Landminer();
ms = new MobStacker();
mp = new MP44();
jp = new Jumppads();
tr = new Trailer();
// HTTPD
hd = services.registerService(HTTPDaemon.class);
services.start();
hd = new HTTPDaemon();
// Start bridges
bridges = new ServiceManager<>(plugin);
btb = bridges.registerService(BukkitTelnetBridge.class);
cpb = bridges.registerService(CoreProtectBridge.class);
esb = bridges.registerService(EssentialsBridge.class);
ldb = bridges.registerService(LibsDisguisesBridge.class);
web = bridges.registerService(WorldEditBridge.class);
wgb = bridges.registerService(WorldGuardBridge.class);
bridges.start();
btb = new BukkitTelnetBridge();
cpb = new CoreProtectBridge();
esb = new EssentialsBridge();
ldb = new LibsDisguisesBridge();
web = new WorldEditBridge();
wgb = new WorldGuardBridge();
for (FreedomService service : fsh.getServices())
service.onStart();
FLog.info("Started " + fsh.getServiceAmount() + "services.");
timer.update();
FLog.info("Version " + pluginVersion + " for " + ServerInterface.COMPILE_NMS_VERSION + " enabled in " + timer.getTotal() + "ms");
@ -272,13 +300,15 @@ public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
}
@Override
public void disable()
public void onDisable()
{
// Stop services and bridges
bridges.stop();
services.stop();
for (FreedomService service : fsh.getServices())
{
service.onStop();
}
server.getScheduler().cancelTasks(plugin);
getServer().getScheduler().cancelTasks(plugin);
FLog.info("Plugin disabled");
}

View File

@ -4,10 +4,9 @@ import com.google.common.collect.Maps;
import java.util.Map;
import lombok.Getter;
import me.totalfreedom.totalfreedommod.FreedomService;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.config.YamlConfig;
import me.totalfreedom.totalfreedommod.util.FLog;
import net.pravian.aero.config.YamlConfig;
import net.pravian.aero.util.Ips;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
@ -28,21 +27,19 @@ public class ActivityLog extends FreedomService
private final YamlConfig config;
public ActivityLog(TotalFreedomMod plugin)
public ActivityLog()
{
super(plugin);
this.config = new YamlConfig(plugin, FILENAME, true);
}
@Override
protected void onStart()
public void onStart()
{
load();
}
@Override
protected void onStop()
public void onStop()
{
save();
}
@ -110,7 +107,7 @@ public class ActivityLog extends FreedomService
ActivityLogEntry activityLog = getEntryByName(player.getName());
if (activityLog == null)
{
String ip = Ips.getIp(player);
String ip = FUtil.getIp(player);
activityLog = getEntryByIp(ip);
if (activityLog != null)
{
@ -129,7 +126,7 @@ public class ActivityLog extends FreedomService
config.save();
}
}
String ip = Ips.getIp(player);
String ip = FUtil.getIp(player);
if (!activityLog.getIps().contains(ip))
{
activityLog.addIp(ip);

View File

@ -6,15 +6,13 @@ import java.util.Date;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
import me.totalfreedom.totalfreedommod.config.IConfig;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.base.ConfigLoadable;
import net.pravian.aero.base.ConfigSavable;
import net.pravian.aero.base.Validatable;
import org.apache.commons.lang.Validate;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
public class ActivityLogEntry implements ConfigLoadable, ConfigSavable, Validatable
public class ActivityLogEntry implements IConfig
{
@Getter

View File

@ -15,7 +15,6 @@ import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
@ -58,7 +57,7 @@ public class Admin
public Admin(Player player)
{
this.name = player.getName();
this.ips.add(Ips.getIp(player));
this.ips.add(FUtil.getIp(player));
}
public Admin(ResultSet resultSet)
@ -107,7 +106,7 @@ public class Admin
{
name = player.getName();
ips.clear();
ips.add(Ips.getIp(player));
ips.add(FUtil.getIp(player));
}
public Map<String, Object> toSQLStorable()

View File

@ -1,6 +1,5 @@
package me.totalfreedom.totalfreedommod.admin;
import com.google.common.base.Function;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import java.sql.ResultSet;
@ -13,16 +12,13 @@ import java.util.Set;
import java.util.concurrent.TimeUnit;
import lombok.Getter;
import me.totalfreedom.totalfreedommod.FreedomService;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.ServicePriority;
public class AdminList extends FreedomService
{
@ -37,20 +33,15 @@ public class AdminList extends FreedomService
public final Map<String, List<String>> verifiedNoAdminIps = Maps.newHashMap();
public static ArrayList<Player> vanished = new ArrayList<>();
public AdminList(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
load();
deactivateOldEntries(false);
}
@Override
protected void onStop()
public void onStop()
{
}
@ -139,7 +130,7 @@ public class AdminList extends FreedomService
public Admin getAdmin(Player player)
{
// Find admin
String ip = Ips.getIp(player);
String ip = FUtil.getIp(player);
Admin admin = getEntryByName(player.getName());
// Admin by name
@ -223,7 +214,7 @@ public class AdminList extends FreedomService
public boolean isVerifiedAdmin(Player player)
{
return verifiedNoAdmins.contains(player.getName()) && verifiedNoAdminIps.get(player.getName()).contains(Ips.getIp(player));
return verifiedNoAdmins.contains(player.getName()) && verifiedNoAdminIps.get(player.getName()).contains(FUtil.getIp(player));
}
public boolean isIdentityMatched(Player player)

View File

@ -14,14 +14,14 @@ import java.util.Set;
import lombok.Getter;
import lombok.Setter;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.config.IConfig;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.base.Validatable;
import net.pravian.aero.util.Ips;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
public class Ban implements Validatable
public class Ban implements IConfig
{
public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd \'at\' HH:mm:ss z");
@ -81,7 +81,7 @@ public class Ban implements Validatable
public static Ban forPlayerIp(Player player, CommandSender by, Date expiry, String reason)
{
return new Ban(null, Arrays.asList(Ips.getIp(player)), by.getName(), Date.from(Instant.now()), expiry, reason);
return new Ban(null, Arrays.asList(FUtil.getIp(player)), by.getName(), Date.from(Instant.now()), expiry, reason);
}
public static Ban forPlayerIp(String ip, CommandSender by, Date expiry, String reason)
@ -116,7 +116,7 @@ public class Ban implements Validatable
public static Ban forPlayer(Player player, CommandSender by, Date expiry, String reason)
{
return new Ban(player.getName(),
Ips.getIp(player),
FUtil.getIp(player),
by.getName(),
Date.from(Instant.now()),
expiry,
@ -126,7 +126,7 @@ public class Ban implements Validatable
public static Ban forPlayerFuzzy(Player player, CommandSender by, Date expiry, String reason)
{
return new Ban(player.getName(),
FUtil.getFuzzyIp(Ips.getIp(player)),
FUtil.getFuzzyIp(FUtil.getIp(player)),
by.getName(),
Date.from(Instant.now()),
expiry,
@ -235,6 +235,16 @@ public class Ban implements Validatable
return hash;
}
@Override
public void loadFrom(ConfigurationSection cs)
{
}
@Override
public void saveTo(ConfigurationSection cs)
{
}
@Override
public boolean isValid()
{

View File

@ -13,12 +13,10 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import me.totalfreedom.totalfreedommod.FreedomService;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.player.PlayerData;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@ -35,13 +33,8 @@ public class BanManager extends FreedomService
//
public BanManager(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
bans.clear();
try
@ -78,7 +71,7 @@ public class BanManager extends FreedomService
}
@Override
protected void onStop()
public void onStop()
{
}
@ -120,7 +113,7 @@ public class BanManager extends FreedomService
continue;
}
if (Ips.fuzzyIpMatch(ip, loopIp, 4))
if (FUtil.fuzzyIpMatch(ip, loopIp, 4))
{
return loopBan;
}
@ -231,7 +224,7 @@ public class BanManager extends FreedomService
public void onPlayerLogin(PlayerLoginEvent event)
{
final String username = event.getPlayer().getName();
final String ip = Ips.getIp(event);
final String ip = FUtil.getIp(event);
// Regular ban
Ban ban = getByUsername(username);
@ -265,7 +258,7 @@ public class BanManager extends FreedomService
}
else
{
ban = getByIp(Ips.getIp(player));
ban = getByIp(FUtil.getIp(player));
if (ban != null)
{
removeBan(ban);

View File

@ -4,12 +4,10 @@ import com.google.common.collect.Sets;
import java.util.Set;
import lombok.Getter;
import me.totalfreedom.totalfreedommod.FreedomService;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.config.YamlConfig;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.config.YamlConfig;
import net.pravian.aero.util.Ips;
import org.bukkit.ChatColor;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@ -25,13 +23,8 @@ public class PermbanList extends FreedomService
@Getter
private final Set<String> permbannedIps = Sets.newHashSet();
public PermbanList(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
permbannedNames.clear();
permbannedIps.clear();
@ -49,7 +42,7 @@ public class PermbanList extends FreedomService
}
@Override
protected void onStop()
public void onStop()
{
}
@ -57,7 +50,7 @@ public class PermbanList extends FreedomService
public void onPlayerLogin(PlayerLoginEvent event)
{
final String username = event.getPlayer().getName();
final String ip = Ips.getIp(event);
final String ip = FUtil.getIp(event);
// Permbanned IPs
for (String testIp : getPermbannedIps())

View File

@ -23,19 +23,13 @@ import org.bukkit.inventory.meta.SkullMeta;
public class BlockBlocker extends FreedomService
{
public BlockBlocker(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -12,19 +12,13 @@ import org.bukkit.event.block.BlockPlaceEvent;
public class EditBlocker extends FreedomService
{
public EditBlocker(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -35,19 +35,13 @@ import org.bukkit.event.player.PlayerRespawnEvent;
public class EventBlocker extends FreedomService
{
public EventBlocker(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -16,19 +16,13 @@ import org.bukkit.inventory.ItemStack;
public class InteractBlocker extends FreedomService
{
public InteractBlocker(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -22,19 +22,13 @@ import org.bukkit.event.entity.EntitySpawnEvent;
public class MobBlocker extends FreedomService
{
public MobBlocker(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -14,19 +14,13 @@ import org.bukkit.event.entity.EntityDamageByEntityEvent;
public class PVPBlocker extends FreedomService
{
public PVPBlocker(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -19,18 +19,13 @@ public class PotionBlocker extends FreedomService
public static final int POTION_BLOCK_RADIUS_SQUARED = 20 * 20;
public PotionBlocker(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -19,19 +19,13 @@ import org.bukkit.inventory.ItemStack;
public class SignBlocker extends FreedomService
{
public SignBlocker(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -7,11 +7,10 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import me.totalfreedom.totalfreedommod.FreedomService;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.command.FreedomCommand;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.command.CommandReflection;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
@ -29,19 +28,14 @@ public class CommandBlocker extends FreedomService
private final Map<String, CommandBlockerEntry> entryList = Maps.newHashMap();
private final List<String> unknownCommands = Lists.newArrayList();
public CommandBlocker(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
load();
}
@Override
protected void onStop()
public void onStop()
{
entryList.clear();
}
@ -51,13 +45,6 @@ public class CommandBlocker extends FreedomService
entryList.clear();
unknownCommands.clear();
final CommandMap commandMap = CommandReflection.getCommandMap();
if (commandMap == null)
{
FLog.severe("Error loading commandMap.");
return;
}
@SuppressWarnings("unchecked")
List<String> blockedCommands = (List<String>)ConfigEntry.BLOCKED_COMMANDS.getList();
for (String rawEntry : blockedCommands)
@ -88,7 +75,7 @@ public class CommandBlocker extends FreedomService
subCommand = StringUtils.join(commandParts, " ", 1, commandParts.length).trim().toLowerCase();
}
final Command command = commandMap.getCommand(commandName);
final FreedomCommand command = plugin.cl.getByName(commandName);
// Obtain command from alias
if (command == null)
@ -111,7 +98,7 @@ public class CommandBlocker extends FreedomService
if (command != null)
{
for (String alias : command.getAliases())
for (String alias : command.getAliases().split(","))
{
entryList.put(alias.toLowerCase(), blockedCommandEntry);
}

View File

@ -24,18 +24,13 @@ public class BukkitTelnetBridge extends FreedomService
private BukkitTelnet bukkitTelnetPlugin = null;
public BukkitTelnetBridge(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -28,18 +28,13 @@ public class CoreProtectBridge extends FreedomService
private BukkitTask wiper;
public CoreProtectBridge(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -26,18 +26,13 @@ public class EssentialsBridge extends FreedomService
private Essentials essentialsPlugin = null;
public EssentialsBridge(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -13,18 +13,13 @@ public class LibsDisguisesBridge extends FreedomService
private LibsDisguises libsDisguisesPlugin = null;
public LibsDisguisesBridge(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -15,18 +15,13 @@ public class WorldEditBridge extends FreedomService
//
private WorldEditPlugin worldeditPlugin = null;
public WorldEditBridge(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -13,21 +13,15 @@ import org.bukkit.plugin.Plugin;
public class WorldGuardBridge extends FreedomService
{
public WorldGuardBridge(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
plugin.wr.protectWorld(plugin.wm.hubworld.getWorld());
plugin.wr.protectWorld(plugin.wm.masterBuilderWorld.getWorld());
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -17,19 +17,13 @@ import org.bukkit.event.player.PlayerQuitEvent;
public class Cager extends FreedomService
{
public Cager(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -1,45 +1,48 @@
package me.totalfreedom.totalfreedommod.command;
import java.util.ArrayList;
import java.util.List;
import lombok.Getter;
import me.totalfreedom.totalfreedommod.FreedomService;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.util.FLog;
import net.pravian.aero.command.handler.SimpleCommandHandler;
import org.bukkit.ChatColor;
public class CommandLoader extends FreedomService
{
@Getter
private final SimpleCommandHandler<TotalFreedomMod> handler;
private final List<FreedomCommand> commands;
public CommandLoader(TotalFreedomMod plugin)
public CommandLoader()
{
super(plugin);
handler = new SimpleCommandHandler<>(plugin);
commands = new ArrayList<>();
}
@Override
protected void onStart()
public void onStart()
{
handler.clearCommands();
handler.setExecutorFactory(new FreedomCommandExecutor.FreedomExecutorFactory(plugin));
handler.setCommandClassPrefix("Command_");
handler.setPermissionMessage(ChatColor.RED + "You do not have permission to use this command.");
handler.setOnlyConsoleMessage(ChatColor.RED + "This command can only be used from the console.");
handler.setOnlyPlayerMessage(ChatColor.RED + "This command can only be used by players.");
handler.loadFrom(FreedomCommand.class.getPackage());
handler.registerAll(plugin.getDescription().getName(), true);
FLog.info("Loaded " + handler.getExecutors().size() + " commands.");
}
@Override
protected void onStop()
public void onStop()
{
handler.clearCommands();
}
public void add(FreedomCommand command)
{
commands.add(command);
command.register();
}
public FreedomCommand getByName(String name)
{
for (FreedomCommand command : commands)
{
if (name.equals(command.getName()))
return command;
}
return null;
}
public int getCommandAmount()
{
return commands.size();
}
}

View File

@ -12,7 +12,7 @@ public class Command_announce extends FreedomCommand
{
@Override
protected boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (args.length < 1)
{

View File

@ -8,7 +8,6 @@ import me.totalfreedom.totalfreedommod.punishments.Punishment;
import me.totalfreedom.totalfreedommod.punishments.PunishmentType;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Bukkit;
@ -82,7 +81,7 @@ public class Command_ban extends FreedomCommand
final PlayerData entry = plugin.pl.getData(player);
username = player.getName();
//ips.addAll(entry.getIps());/
ips.add(Ips.getIp(player));
ips.add(FUtil.getIp(player));
// Deop
player.setOp(false);
@ -152,7 +151,7 @@ public class Command_ban extends FreedomCommand
player.kickPlayer(ban.bakeKickMessage());
for (Player p : Bukkit.getOnlinePlayers())
{
if (Ips.getIp(p).equals(Ips.getIp(player)))
if (FUtil.getIp(p).equals(FUtil.getIp(player)))
{
p.kickPlayer(ChatColor.RED + "You've been kicked because someone on your IP has been banned.");
}

View File

@ -67,7 +67,7 @@ public class Command_clearinventory extends FreedomCommand
@Override
public List<String> getTabCompleteOptions(CommandSender sender, Command command, String alias, String[] args)
{
if (args.length == 1 && plugin.al.isAdmin(playerSender))
if (args.length == 1 && plugin.al.isAdmin(sender))
{
List<String> players = FUtil.getPlayerList();
players.add("-a");

View File

@ -7,8 +7,6 @@ import me.totalfreedom.totalfreedommod.punishments.Punishment;
import me.totalfreedom.totalfreedommod.punishments.PunishmentType;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import static me.totalfreedom.totalfreedommod.util.FUtil.playerMsg;
import net.pravian.aero.util.Ips;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
@ -100,7 +98,7 @@ public class Command_doom extends FreedomCommand
final String kickReason = (reason == null ? "FUCKOFF, and get your shit together!" : reason);
// Log doom
plugin.pul.logPunishment(new Punishment(player.getName(), Ips.getIp(player), sender.getName(), PunishmentType.DOOM, reason));
plugin.pul.logPunishment(new Punishment(player.getName(), FUtil.getIp(player), sender.getName(), PunishmentType.DOOM, reason));
new BukkitRunnable()
{

View File

@ -4,7 +4,6 @@ import me.totalfreedom.totalfreedommod.punishments.Punishment;
import me.totalfreedom.totalfreedommod.punishments.PunishmentType;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
@ -16,7 +15,7 @@ import org.bukkit.entity.Player;
public class Command_kick extends FreedomCommand
{
@Override
protected boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (args.length == 0)
{
@ -53,7 +52,7 @@ public class Command_kick extends FreedomCommand
player.kickPlayer(builder.toString());
plugin.pul.logPunishment(new Punishment(player.getName(), Ips.getIp(player), sender.getName(), PunishmentType.KICK, reason));
plugin.pul.logPunishment(new Punishment(player.getName(), FUtil.getIp(player), sender.getName(), PunishmentType.KICK, reason));
return true;
}

View File

@ -16,7 +16,7 @@ import org.bukkit.entity.Player;
public class Command_links extends FreedomCommand
{
@Override
protected boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
YamlConfiguration config = plugin.config.configuration;
ConfigurationSection section = config.getConfigurationSection("social_links");

View File

@ -7,7 +7,6 @@ import me.totalfreedom.totalfreedommod.admin.AdminList;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.rank.Displayable;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.apache.commons.lang.StringUtils;
import net.md_5.bungee.api.ChatColor;

View File

@ -7,7 +7,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.SENIOR_ADMIN, source = SourceType.BOTH)
@CommandParameters(description = "seth's personal command", usage = "/<command> <players>")
@CommandParameters(description = "seth's personal command", usage = "/<command> <players>", aliases = "genocide")
public class Command_massmurder extends FreedomCommand
{

View File

@ -9,7 +9,6 @@ import me.totalfreedom.totalfreedommod.punishments.Punishment;
import me.totalfreedom.totalfreedommod.punishments.PunishmentType;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.bukkit.ChatColor;
@ -153,7 +152,7 @@ public class Command_mute extends FreedomCommand
msg(player, "You have been muted by " + ChatColor.YELLOW + sender.getName(), ChatColor.RED);
msg("Muted " + player.getName());
plugin.pul.logPunishment(new Punishment(player.getName(), Ips.getIp(player), sender.getName(), PunishmentType.MUTE, reason));
plugin.pul.logPunishment(new Punishment(player.getName(), FUtil.getIp(player), sender.getName(), PunishmentType.MUTE, reason));
}
else
{

View File

@ -9,7 +9,6 @@ import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.player.PlayerData;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
@ -22,7 +21,7 @@ public class Command_myadmin extends FreedomCommand
{
@Override
protected boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (args.length < 1)
{
@ -60,7 +59,7 @@ public class Command_myadmin extends FreedomCommand
}
}
final String targetIp = Ips.getIp(targetPlayer);
final String targetIp = FUtil.getIp(targetPlayer);
switch (args[0])
{
@ -285,7 +284,7 @@ public class Command_myadmin extends FreedomCommand
if (args[0].equals("clearip"))
{
List<String> ips = plugin.al.getAdmin(sender).getIps();
ips.remove(Ips.getIp(playerSender));
ips.remove(FUtil.getIp((Player) sender));
return ips;
}
}

View File

@ -25,8 +25,8 @@ public class Command_permban extends FreedomCommand
}
msg("Reloading permban list...", ChatColor.RED);
plugin.pm.stop();
plugin.pm.start();
plugin.pm.onStop();
plugin.pm.onStart();
msg("Reloaded permban list.");
msg(plugin.pm.getPermbannedIps().size() + " IPs and "
+ plugin.pm.getPermbannedNames().size() + " usernames loaded.");

View File

@ -6,7 +6,7 @@ import java.util.Collections;
import java.util.List;
import me.totalfreedom.totalfreedommod.player.PlayerData;
import me.totalfreedom.totalfreedommod.rank.Rank;
import net.pravian.aero.util.Ips;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -17,7 +17,7 @@ import org.bukkit.entity.Player;
public class Command_playerverification extends FreedomCommand
{
@Override
protected boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
PlayerData target = plugin.pl.getData(playerSender);
@ -31,14 +31,14 @@ public class Command_playerverification extends FreedomCommand
int cleared = 0;
for (String ip : ips)
{
if (!ip.equals(Ips.getIp(playerSender)))
if (!ip.equals(FUtil.getIp(playerSender)))
{
target.removeIp(ip);
cleared++;
}
}
msg("Cleared all IP's except your current IP \"" + Ips.getIp(playerSender) + "\"");
msg("Cleared all IP's except your current IP \"" + FUtil.getIp(playerSender) + "\"");
msg("Cleared " + cleared + " IP's.");
plugin.pl.save(target);
plugin.pl.syncIps(target);

View File

@ -106,12 +106,6 @@ public class Command_ride extends FreedomCommand
return true;
}
if (player.getName().equals("Catholic_Mario"))
{
msg("no", ChatColor.RED);
return true;
}
if (playerData.getRideMode().equals("ask") && !FUtil.isExecutive(playerSender.getName()))
{
msg("Sent a request to the player.", ChatColor.GREEN);
@ -120,7 +114,7 @@ public class Command_ride extends FreedomCommand
player.sendMessage(ChatColor.AQUA + "Type " + ChatColor.RED + "/ride deny" + ChatColor.AQUA + " to deny the player permission.");
player.sendMessage(ChatColor.AQUA + "Request will expire after 30 seconds.");
RIDE_REQUESTS.put(player, playerSender);
FreedomCommandExecutor.timer.schedule(new TimerTask()
timer.schedule(new TimerTask()
{
@Override
public void run()

View File

@ -10,7 +10,6 @@ import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.player.FPlayer;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
@ -175,7 +174,7 @@ public class Command_saconfig extends FreedomCommand
Admin admin = null;
for (Admin loopAdmin : plugin.al.getAllAdmins())
{
if (loopAdmin.getName().equalsIgnoreCase(name) || loopAdmin.getIps().contains(Ips.getIp(player)))
if (loopAdmin.getName().equalsIgnoreCase(name) || loopAdmin.getIps().contains(FUtil.getIp(player)))
{
admin = loopAdmin;
break;
@ -212,7 +211,7 @@ public class Command_saconfig extends FreedomCommand
if (oldName != player.getName())
admin.setName(player.getName());
plugin.sql.updateAdminName(oldName, admin.getName());
admin.addIp(Ips.getIp(player));
admin.addIp(FUtil.getIp(player));
}
admin.setActive(true);

View File

@ -4,7 +4,6 @@ import me.totalfreedom.totalfreedommod.punishments.Punishment;
import me.totalfreedom.totalfreedommod.punishments.PunishmentType;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
@ -60,7 +59,7 @@ public class Command_smite extends FreedomCommand
smite(sender, player, reason, silent);
plugin.pul.logPunishment(new Punishment(player.getName(), Ips.getIp(player), sender.getName(), PunishmentType.SMITE, reason));
plugin.pul.logPunishment(new Punishment(player.getName(), FUtil.getIp(player), sender.getName(), PunishmentType.SMITE, reason));
return true;
}

View File

@ -20,7 +20,7 @@ public class Command_spawnmob extends FreedomCommand
{
@Override
protected boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (args.length > 0 && args[0].equalsIgnoreCase("list"))
{

View File

@ -10,7 +10,6 @@ import me.totalfreedom.totalfreedommod.punishments.Punishment;
import me.totalfreedom.totalfreedommod.punishments.PunishmentType;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Location;
@ -97,7 +96,7 @@ public class Command_tempban extends FreedomCommand
plugin.bm.addBan(ban);
player.kickPlayer(ban.bakeKickMessage());
plugin.pul.logPunishment(new Punishment(player.getName(), Ips.getIp(player), sender.getName(), PunishmentType.TEMPBAN, reason));
plugin.pul.logPunishment(new Punishment(player.getName(), FUtil.getIp(player), sender.getName(), PunishmentType.TEMPBAN, reason));
return true;
}

View File

@ -1,5 +1,6 @@
package me.totalfreedom.totalfreedommod.command;
import me.totalfreedom.totalfreedommod.FreedomService;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.rank.Rank;
@ -34,8 +35,11 @@ public class Command_totalfreedommod extends FreedomCommand
}
plugin.config.load();
plugin.services.stop();
plugin.services.start();
for (FreedomService service : plugin.fsh.getServices())
{
service.onStop();
service.onStart();
}
final String message = String.format("%s v%s reloaded.",
TotalFreedomMod.pluginName,

View File

@ -4,7 +4,6 @@ import me.totalfreedom.totalfreedommod.player.FPlayer;
import me.totalfreedom.totalfreedommod.player.PlayerData;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -50,7 +49,7 @@ public class Command_verify extends FreedomCommand
{
String code = plugin.dc.generateCode(10);
plugin.dc.addVerificationCode(code, playerData);
plugin.dc.bot.getUserById(discordId).openPrivateChannel().complete().sendMessage("A user with the IP `" + Ips.getIp(playerSender) + "` has sent a verification request. Please run the following in-game command: `/verify " + code + "`").complete();
plugin.dc.bot.getUserById(discordId).openPrivateChannel().complete().sendMessage("A user with the IP `" + FUtil.getIp(playerSender) + "` has sent a verification request. Please run the following in-game command: `/verify " + code + "`").complete();
msg("A verification code has been sent to your account, please copy the code and run /verify <code>", ChatColor.GREEN);
return true;
}

View File

@ -6,7 +6,6 @@ import java.util.List;
import me.totalfreedom.totalfreedommod.player.FPlayer;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -39,7 +38,7 @@ public class Command_verifynoadmin extends FreedomCommand
{
plugin.al.verifiedNoAdmins.add(player.getName());
}
String ip = Ips.getIp(player);
String ip = FUtil.getIp(player);
if (!plugin.al.verifiedNoAdminIps.containsKey(player.getName()))
{
List<String> ips = new ArrayList<>();

View File

@ -30,18 +30,21 @@ public class Command_wildcard extends FreedomCommand
return false;
}
Command runCmd = server.getPluginCommand(args[0]);
if (runCmd == null)
FreedomCommand command = plugin.cl.getByName(args[0]);
if (command == null)
{
msg("Unknown command: " + args[0], ChatColor.RED);
return true;
}
if (BLOCKED_COMMANDS.contains(runCmd.getName()))
for (String blockedCommand : BLOCKED_COMMANDS)
{
if (blockedCommand.equals(command.getName()) || command.getAliases().contains(blockedCommand))
{
msg("Did you really think that was going to work?", ChatColor.RED);
return true;
}
}
String baseCommand = StringUtils.join(args, " ");

View File

@ -1,7 +1,13 @@
package me.totalfreedom.totalfreedommod.command;
import com.google.common.collect.Lists;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
import lombok.Getter;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.admin.Admin;
@ -9,90 +15,225 @@ import me.totalfreedom.totalfreedommod.player.PlayerData;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.command.AbstractCommandBase;
import net.pravian.aero.util.Players;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandMap;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.command.PluginCommand;
import org.bukkit.command.TabCompleter;
import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil;
import org.spigotmc.SpigotConfig;
public abstract class FreedomCommand extends AbstractCommandBase<TotalFreedomMod>
public abstract class FreedomCommand implements CommandExecutor, TabCompleter
{
public static final String COMMAND_PREFIX = "Command_";
@Getter
private static CommandMap commandMap;
@Getter
private final String name;
private final String description;
private final String usage;
@Getter
private final String aliases;
private final Rank level;
private final SourceType source;
private final boolean blockHostConsole;
private final int cooldown;
private final CommandParameters params;
@Getter
private final CommandPermissions perms;
protected CommandSender sender;
protected final TotalFreedomMod plugin = TotalFreedomMod.getPlugin();
protected final Server server = plugin.getServer();
public static final String UNKNOWN_COMMAND = ChatColor.WHITE + SpigotConfig.unknownCommandMessage;
public static final String YOU_ARE_OP = ChatColor.YELLOW + "You are now op!";
public static final String YOU_ARE_NOT_OP = ChatColor.YELLOW + "You are no longer op!";
public static final String PLAYER_NOT_FOUND = ChatColor.GRAY + "Player not found!";
//
@Getter
private final CommandParameters params;
@Getter
private final CommandPermissions perms;
//
public static final String ONLY_CONSOLE = ChatColor.RED + "Only console senders may execute this command!";
public static final String ONLY_IN_GAME = ChatColor.RED + "Only in-game players may execute this command!";
public static final String NO_PERMISSION = ChatColor.RED + "You do not have permission to execute this command.";
public FreedomCommand()
public static final Timer timer = new Timer();
public static final Map<CommandSender, FreedomCommand> COOLDOWN_TIMERS = new HashMap<>();
FreedomCommand()
{
this.params = getClass().getAnnotation(CommandParameters.class);
if (params == null)
{
FLog.warning("Ignoring command usage for command " + getClass().getSimpleName() + ". Command is not annotated!");
params = getClass().getAnnotation(CommandParameters.class);
perms = getClass().getAnnotation(CommandPermissions.class);
this.name = getClass().getSimpleName().replace(COMMAND_PREFIX, "").toLowerCase();
this.description = params.description();
this.usage = params.usage();
this.aliases = params.aliases();
this.level = perms.level();
this.source = perms.source();
this.blockHostConsole = perms.blockHostConsole();
this.cooldown = perms.cooldown();
}
this.perms = getClass().getAnnotation(CommandPermissions.class);
if (perms == null)
public void register()
{
FLog.warning("Ignoring permissions for command " + getClass().getSimpleName() + ". Command is not annotated!");
}
FCommand cmd = new FCommand(this.name);
if (this.aliases != null) cmd.setAliases(Arrays.asList(StringUtils.split(this.aliases, ",")));
if (this.description != null) cmd.setDescription(this.description);
if (this.usage != null) cmd.setUsage(this.usage);
getCommandMap().register("", cmd);
cmd.setExecutor(this);
}
@Override
public final boolean runCommand(final CommandSender sender, final Command command, final String label, final String[] args)
public static final CommandMap getCommandMap()
{
if (commandMap == null)
{
setVariables(sender, command, label, args);
try
{
return run(sender, playerSender, command, label, args, isConsole());
final Field f = Bukkit.getServer().getClass().getDeclaredField("commandMap");
f.setAccessible(true);
commandMap = (CommandMap) f.get(Bukkit.getServer());
return getCommandMap();
}
catch (CommandFailException ex)
catch (Exception e)
{
msg(ex.getMessage());
return true;
e.printStackTrace();
}
catch (Exception ex)
}
else if (commandMap != null)
{
FLog.severe("Uncaught exception executing command: " + command.getName());
FLog.severe(ex);
sender.sendMessage(ChatColor.RED + "Command error: " + (ex.getMessage() == null ? "Unknown cause" : ex.getMessage()));
return true;
return commandMap;
}
return getCommandMap();
}
protected List<String> getTabCompleteOptions(CommandSender sender, Command command, String alias, String[] args) {
return null;
private final class FCommand extends Command
{
private FreedomCommand cmd = null;
private FCommand(String command)
{
super(command);
}
public void setExecutor(FreedomCommand cmd)
{
this.cmd = cmd;
}
public boolean execute(CommandSender sender, String commandLabel, String[] args)
{
if (cmd != null)
{
cmd.sender = sender;
if (COOLDOWN_TIMERS.containsKey(sender) && COOLDOWN_TIMERS.containsValue(cmd))
{
msg(ChatColor.RED + "You are on cooldown for this command.");
return true;
}
if (perms.blockHostConsole() && FUtil.isFromHostConsole(sender.getName()))
{
msg(ChatColor.RED + "Host console is not allowed to use this command!");
return true;
}
if (!plugin.rm.getRank(sender).isAtLeast(perms.level()))
{
msg(NO_PERMISSION);
return true;
}
if (perms.source() == SourceType.ONLY_CONSOLE && sender instanceof Player)
{
msg(ONLY_CONSOLE);
return true;
}
if (perms.source() == SourceType.ONLY_IN_GAME && sender instanceof ConsoleCommandSender)
{
msg(ONLY_IN_GAME);
return true;
}
if (perms.cooldown() != 0 && !isAdmin(sender))
{
COOLDOWN_TIMERS.put(sender, cmd);
timer.schedule(new TimerTask()
{
@Override
public void run()
{
COOLDOWN_TIMERS.remove(sender);
}
}, perms.cooldown() * 1000);
}
return cmd.onCommand(sender, this, commandLabel, args);
}
return false;
}
@Override
public List<String> tabComplete(CommandSender sender, Command command, String alias, String[] args)
public List<String> tabComplete(CommandSender sender, String alias, String[] args)
{
List<String> options = getTabCompleteOptions(sender, command, alias, args);
if (options == null)
if (cmd != null)
{
return cmd.onTabComplete(sender, this, alias, args);
}
return null;
}
return StringUtil.copyPartialMatches(args[args.length - 1], options, Lists.<String>newArrayList());
}
protected abstract boolean run(final CommandSender sender, final Player playerSender, final Command cmd, final String commandLabel, final String[] args, final boolean senderIsConsole);
protected void msg(CommandSender sender, String message)
{
sender.sendMessage(ChatColor.GRAY + message);
}
protected void msg(Player player, String message)
{
player.sendMessage(ChatColor.GRAY + message);
}
protected void msg(Player player, String message, ChatColor color)
{
player.sendMessage(color + message);
}
protected void msg(String message)
{
msg(sender, message);
}
protected void msg(String message, ChatColor color)
{
msg(color + message);
}
protected void msg(String message, net.md_5.bungee.api.ChatColor color)
{
msg(color + message);
}
protected boolean isAdmin(Player player)
{
return plugin.al.isAdmin(player);
}
protected boolean isAdmin(CommandSender sender)
{
return plugin.al.isAdmin(sender);
}
protected void checkConsole()
{
if (!isConsole())
{
throw new CommandFailException(getHandler().getOnlyConsoleMessage());
throw new CommandFailException(ONLY_CONSOLE);
}
}
@ -100,15 +241,7 @@ public abstract class FreedomCommand extends AbstractCommandBase<TotalFreedomMod
{
if (isConsole())
{
throw new CommandFailException(getHandler().getOnlyPlayerMessage());
}
}
protected void checkNotHostConsole()
{
if (isConsole() && FUtil.isFromHostConsole(sender.getName()))
{
throw new CommandFailException("This command can not be used from the host console.");
throw new CommandFailException(ONLY_IN_GAME);
}
}
@ -120,72 +253,67 @@ public abstract class FreedomCommand extends AbstractCommandBase<TotalFreedomMod
}
}
protected boolean noPerms()
protected void checkNotHostConsole()
{
throw new CommandFailException(getHandler().getPermissionMessage());
if (isConsole() && FUtil.isFromHostConsole(sender.getName()))
{
throw new CommandFailException("This command can not be used from the host console.");
}
}
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
{
try
{
boolean run = run(sender, sender instanceof ConsoleCommandSender ? null : (Player) sender, cmd, commandLabel, args, sender instanceof ConsoleCommandSender);
if (!run)
{
msg(ChatColor.WHITE + cmd.getUsage().replace("<command>", cmd.getLabel()));
return true;
}
}
catch (CommandFailException ex)
{
msg(ChatColor.RED + ex.getMessage());
}
return false;
}
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args)
{
List<String> options = getTabCompleteOptions(sender, command, alias, args);
if (options == null)
{
return null;
}
return StringUtil.copyPartialMatches(args[args.length - 1], options, Lists.newArrayList());
}
public abstract boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole);
protected List<String> getTabCompleteOptions(CommandSender sender, Command command, String alias, String[] args)
{
return null;
}
protected boolean isConsole()
{
return !(sender instanceof Player);
return sender instanceof ConsoleCommandSender;
}
protected Player getPlayer(String name)
{
return Players.getPlayer(name);
return Bukkit.getPlayer(name);
}
protected Player getPlayer(String name, Boolean nullVanished)
{
Player player = Players.getPlayer(name);
Player player = Bukkit.getPlayer(name);
if (nullVanished && plugin.al.vanished.contains(player) && !plugin.al.isAdmin(sender))
{
return null;
}
return Players.getPlayer(name);
}
protected void msg(final CommandSender sender, final String message, final ChatColor color)
{
if (sender == null)
{
return;
}
sender.sendMessage(color + message);
}
protected void msg(final CommandSender sender, final String message, final net.md_5.bungee.api.ChatColor color)
{
if (sender == null)
{
return;
}
sender.sendMessage(color + message);
}
protected void msg(final String message, final net.md_5.bungee.api.ChatColor color)
{
msg(sender, message, color);
}
protected void msg(final String message, final ChatColor color)
{
msg(sender, message, color);
}
protected void msg(final CommandSender sender, final String message)
{
msg(sender, message, ChatColor.GRAY);
}
protected void msg(final String message)
{
msg(sender, message);
}
protected boolean isAdmin(CommandSender sender)
{
return plugin.al.isAdmin(sender);
return player;
}
protected Admin getAdmin(CommandSender sender)
@ -203,12 +331,16 @@ public abstract class FreedomCommand extends AbstractCommandBase<TotalFreedomMod
return plugin.pl.getData(player);
}
protected boolean noPerms()
{
throw new CommandFailException(NO_PERMISSION);
}
public static FreedomCommand getFrom(Command command)
{
try
{
return (FreedomCommand)((FreedomCommandExecutor)(((PluginCommand)command).getExecutor())).getCommandBase();
return (FreedomCommand) (((PluginCommand) command).getExecutor());
}
catch (Exception ex)
{

View File

@ -1,221 +0,0 @@
package me.totalfreedom.totalfreedommod.command;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.command.AeroCommandBase;
import net.pravian.aero.command.executor.AbstractCommandExecutor;
import net.pravian.aero.command.executor.AeroCommandExecutor;
import net.pravian.aero.command.executor.AeroCommandExecutorFactory;
import net.pravian.aero.command.handler.AeroCommandHandler;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginCommand;
import org.bukkit.entity.Player;
public class FreedomCommandExecutor<C extends AeroCommandBase<?>> extends AbstractCommandExecutor<C>
{
private final TotalFreedomMod plugin;
//
public static Map<CommandSender, FreedomCommand> commandCooldown = new HashMap<>();
public static final Timer timer = new Timer();
public FreedomCommandExecutor(TotalFreedomMod plugin, AeroCommandHandler<?> handler, String name, C command)
{
super(handler, name, command);
this.plugin = plugin;
}
protected FreedomCommand getCommand()
{
return commandBase instanceof FreedomCommand ? (FreedomCommand)commandBase : null;
}
@Override
public void setupCommand(PluginCommand pluginCommand)
{
final FreedomCommand command = getCommand();
if (command == null)
{
return;
}
final CommandParameters params = command.getParams();
if (params == null)
{
return;
}
String aliasString = params.aliases();
if (aliasString.length() > 0)
{
pluginCommand.setAliases(Arrays.asList(params.aliases().split(",")));
}
pluginCommand.setDescription(params.description());
pluginCommand.setUsage(params.usage());
// Check if permisions are correctly set up
CommandPermissions perms = command.getPerms();
if (perms != null)
{
if (perms.level().isConsole())
{
FLog.warning("[Command] " + pluginCommand.getName() + " - permission is set to a console rank, "
+ "should be set to player variant with 'source = SourceType.ONLY_CONSOLE'");
}
}
}
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
{
if (!hasPermission(sender, true))
{
return true;
}
if (isOnCooldown(sender))
{
return true;
}
try
{
boolean run = commandBase.runCommand(sender, command, label, args);
FreedomCommand c = getCommand();
CommandPermissions perms = c.getPerms();
if (perms.cooldown() > 0 && !plugin.al.isAdmin(sender))
{
commandCooldown.put(sender, c);
timer.schedule(new TimerTask()
{
@Override
public void run()
{
commandCooldown.remove(sender);
}
}, perms.cooldown() * 1000);
}
return run;
}
catch (Exception ex)
{
// If this is ever ran, TFM failed :
FLog.severe("Unhandled command exception: " + command.getName());
FLog.severe(ex);
sender.sendMessage(ChatColor.RED + "Unhandled Command Error: " + command.getName());
return true;
}
}
@Override
public boolean hasPermission(CommandSender sender, boolean sendMsg)
{
final FreedomCommand command = getCommand();
if (command == null)
{
return true;
}
final CommandPermissions perms = command.getPerms();
if (perms == null)
{
return true;
}
// Block host console
if (FUtil.isFromHostConsole(sender.getName())
&& perms.blockHostConsole())
{
if (sendMsg)
{
sender.sendMessage(handler.getPermissionMessage());
}
return false;
}
final Player player = sender instanceof Player ? (Player)sender : null;
// Only console
if (perms.source() == SourceType.ONLY_CONSOLE
&& player != null)
{
if (sendMsg)
{
sender.sendMessage(handler.getOnlyConsoleMessage());
}
return false;
}
// Only in game
if (perms.source() == SourceType.ONLY_IN_GAME
&& player == null)
{
if (sendMsg)
{
sender.sendMessage(handler.getOnlyPlayerMessage());
}
return false;
}
// Player permissions
if (player != null)
{
Rank rank = plugin.rm.getRank(player);
boolean result = rank.isAtLeast(perms.level());
if (!result && sendMsg)
{
sender.sendMessage(handler.getPermissionMessage());
}
return result;
}
// Console permissions
Rank rank = plugin.rm.getRank(sender);
boolean result = rank.isAtLeast(perms.level());
if (!result && sendMsg)
{
sender.sendMessage(handler.getPermissionMessage());
}
return result;
}
public boolean isOnCooldown(CommandSender sender)
{
final FreedomCommand command = getCommand();
if (commandCooldown.containsKey(sender) && commandCooldown.containsValue(command))
{
sender.sendMessage(ChatColor.RED + "You're on cooldown for this command.");
return true;
}
return false;
}
public static class FreedomExecutorFactory implements AeroCommandExecutorFactory
{
private final TotalFreedomMod plugin;
public FreedomExecutorFactory(TotalFreedomMod plugin)
{
this.plugin = plugin;
}
@Override
public AeroCommandExecutor<? extends AeroCommandBase<?>> newExecutor(AeroCommandHandler<?> handler, String name, AeroCommandBase<?> command)
{
return new FreedomCommandExecutor<>(plugin, handler, name, command);
}
}
}

View File

@ -0,0 +1,10 @@
package me.totalfreedom.totalfreedommod.config;
import org.bukkit.configuration.ConfigurationSection;
public interface IConfig
{
void loadFrom(ConfigurationSection cs);
void saveTo(ConfigurationSection cs);
boolean isValid();
}

View File

@ -6,14 +6,14 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.EnumMap;
import java.util.List;
import me.totalfreedom.totalfreedommod.FreedomService;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.util.FLog;
import net.pravian.aero.component.PluginComponent;
import org.apache.commons.io.FileUtils;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration;
public class MainConfig extends PluginComponent<TotalFreedomMod>
public class MainConfig extends FreedomService
{
public static final String CONFIG_FILENAME = "config.yml";
@ -22,10 +22,20 @@ public class MainConfig extends PluginComponent<TotalFreedomMod>
private final ConfigDefaults defaults;
public YamlConfiguration configuration;
@Override
public void onStart()
{
}
@Override
public void onStop()
{
}
public MainConfig(TotalFreedomMod plugin)
{
super(plugin);
entries = new EnumMap<>(ConfigEntry.class);
ConfigDefaults tempDefaults = null;

View File

@ -0,0 +1,67 @@
package me.totalfreedom.totalfreedommod.config;
import java.io.File;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import org.bukkit.configuration.file.YamlConfiguration;
public class YamlConfig extends YamlConfiguration
{
private final TotalFreedomMod plugin;
private final File file;
private final boolean copyDefaults;
public YamlConfig(TotalFreedomMod plugin, String name, boolean copyDefaults)
{
this.plugin = plugin;
this.file = new File(plugin.getDataFolder(), name);
this.copyDefaults = copyDefaults;
if (copyDefaults)
{
options().copyDefaults(true);
}
if (!file.exists())
{
plugin.saveResource(name, false);
}
load();
}
public YamlConfig(TotalFreedomMod plugin, String name)
{
this(plugin, name, true);
}
public void load()
{
try
{
super.load(file);
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void save()
{
try
{
super.save(file);
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void clear()
{
for (String key : super.getKeys(false))
{
super.set(key, null);
}
}
}

View File

@ -16,7 +16,6 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import javax.security.auth.login.LoginException;
import me.totalfreedom.totalfreedommod.FreedomService;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.admin.Admin;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.player.PlayerData;
@ -37,8 +36,8 @@ import net.dv8tion.jda.api.entities.SelfUser;
import net.dv8tion.jda.api.events.ReadyEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import net.dv8tion.jda.internal.utils.concurrent.CountingThreadFactory;
import net.pravian.aero.util.StringUtils;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.WordUtils;
import org.bukkit.GameRule;
import org.bukkit.entity.Player;
@ -60,11 +59,6 @@ public class Discord extends FreedomService
Random random = new Random();
public Discord(TotalFreedomMod plugin)
{
super(plugin);
}
public void startBot()
{
enabled = !Strings.isNullOrEmpty(ConfigEntry.DISCORD_TOKEN.getString());
@ -285,7 +279,7 @@ public class Discord extends FreedomService
}
@Override
protected void onStart()
public void onStart()
{
startBot();
}
@ -323,7 +317,7 @@ public class Discord extends FreedomService
}
@Override
protected void onStop()
public void onStop()
{
if (bot != null)
{

View File

@ -16,19 +16,14 @@ public class Freezer extends FreedomService
@Getter
private boolean globalFreeze = false;
public Freezer(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
globalFreeze = false;
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -16,18 +16,13 @@ public class CurseListener extends FreedomService
public HashMap<Player, Player> cursedPlayers = new HashMap<Player, Player>();
public CurseListener(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -89,18 +89,13 @@ public class ItemFun extends FreedomService
return cooldownTracker.get(player.getName()).contains(item.getDataName());
}
public ItemFun(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -27,11 +27,6 @@ public class Jumppads extends FreedomService
private double strength = 1 + 0.1F;
public HashMap<Player, JumpPadMode> players = new HashMap<>();
public Jumppads(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
public void onStart()
{

View File

@ -23,19 +23,14 @@ public class Landminer extends FreedomService
@Getter
private final List<Landmine> landmines = new ArrayList<>();
public Landminer(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
landmines.clear();
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -8,19 +8,13 @@ import org.bukkit.event.player.PlayerQuitEvent;
public class MP44 extends FreedomService
{
public MP44(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -11,19 +11,13 @@ import org.bukkit.inventory.ItemStack;
public class MobStacker extends FreedomService
{
public MobStacker(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -20,18 +20,13 @@ public class Trailer extends FreedomService
private final Random random = new Random();
private final Set<String> trailPlayers = new HashSet<>(); // player name
public Trailer(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -39,11 +39,6 @@ public class HTTPDaemon extends FreedomService
private HTTPD httpd;
public Map<String, ModuleExecutable> modules = new HashMap<>();
public HTTPDaemon(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
public void onStart()
{

View File

@ -3,15 +3,15 @@ package me.totalfreedom.totalfreedommod.httpd.module;
import java.net.Socket;
import java.util.HashMap;
import java.util.Map;
import me.totalfreedom.totalfreedommod.FreedomService;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.httpd.HTTPDPageBuilder;
import me.totalfreedom.totalfreedommod.httpd.NanoHTTPD.HTTPSession;
import me.totalfreedom.totalfreedommod.httpd.NanoHTTPD.Method;
import me.totalfreedom.totalfreedommod.httpd.NanoHTTPD.Response;
import me.totalfreedom.totalfreedommod.util.FLog;
import net.pravian.aero.component.PluginComponent;
public abstract class HTTPDModule extends PluginComponent<TotalFreedomMod>
public abstract class HTTPDModule extends FreedomService
{
protected final String uri;
@ -23,7 +23,6 @@ public abstract class HTTPDModule extends PluginComponent<TotalFreedomMod>
public HTTPDModule(TotalFreedomMod plugin, HTTPSession session)
{
super(plugin);
this.uri = session.getUri();
this.method = session.getMethod();
this.headers = session.getHeaders();
@ -32,6 +31,16 @@ public abstract class HTTPDModule extends PluginComponent<TotalFreedomMod>
this.session = session;
}
@Override
public void onStart()
{
}
@Override
public void onStop()
{
}
public String getBody()
{
return null;

View File

@ -1,9 +1,7 @@
package me.totalfreedom.totalfreedommod.httpd.module;
import java.io.File;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.admin.Admin;
import me.totalfreedom.totalfreedommod.httpd.HTTPDaemon;
import me.totalfreedom.totalfreedommod.httpd.NanoHTTPD;
public class Module_admins extends HTTPDModule

View File

@ -12,7 +12,6 @@ import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.command.FreedomCommand;
import me.totalfreedom.totalfreedommod.httpd.NanoHTTPD;
import me.totalfreedom.totalfreedommod.rank.Displayable;
import net.pravian.aero.command.CommandReflection;
import org.apache.commons.lang.StringUtils;
import org.bukkit.command.Command;
import org.bukkit.command.CommandMap;
@ -33,7 +32,7 @@ public class Module_help extends HTTPDModule
@Override
public String getBody()
{
final CommandMap map = CommandReflection.getCommandMap();
final CommandMap map = FreedomCommand.getCommandMap();
if (map == null || !(map instanceof SimpleCommandMap))
{
return paragraph("Error loading commands.");

View File

@ -6,14 +6,14 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.EnumMap;
import java.util.List;
import me.totalfreedom.totalfreedommod.FreedomService;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.util.FLog;
import net.pravian.aero.component.PluginComponent;
import org.apache.commons.io.FileUtils;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration;
public class PermissionConfig extends PluginComponent<TotalFreedomMod>
public class PermissionConfig extends FreedomService
{
public static final String PERMISSIONS_FILENAME = "permissions.yml";
@ -24,8 +24,6 @@ public class PermissionConfig extends PluginComponent<TotalFreedomMod>
public PermissionConfig(TotalFreedomMod plugin)
{
super(plugin);
entries = new EnumMap<>(PermissionEntry.class);
PermissionDefaults tempDefaults = null;
@ -59,6 +57,18 @@ public class PermissionConfig extends PluginComponent<TotalFreedomMod>
defaults = tempDefaults;
}
@Override
public void onStart()
{
}
@Override
public void onStop()
{
}
public void load()
{
try

View File

@ -23,19 +23,14 @@ public class PermissionManager extends FreedomService
public Map<Player, PermissionAttachment> attachments = Maps.newHashMap();
public PermissionManager(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
loadPermissionNodes();
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -9,7 +9,6 @@ import me.totalfreedom.totalfreedommod.caging.CageData;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.freeze.FreezeData;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.pravian.aero.util.Ips;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Arrow;
@ -79,7 +78,7 @@ public class FPlayer
public FPlayer(TotalFreedomMod plugin, Player player)
{
this(plugin, player.getName(), Ips.getIp(player));
this(plugin, player.getName(), FUtil.getIp(player));
}
private FPlayer(TotalFreedomMod plugin, String name, String ip)
@ -100,7 +99,7 @@ public class FPlayer
{
for (Player onlinePlayer : Bukkit.getOnlinePlayers())
{
if (Ips.getIp(onlinePlayer).equals(ip))
if (FUtil.getIp(onlinePlayer).equals(ip))
{
player = onlinePlayer;
break;

View File

@ -14,7 +14,7 @@ import me.totalfreedom.totalfreedommod.admin.Admin;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FLog;
import net.pravian.aero.util.Ips;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
@ -27,20 +27,15 @@ public class PlayerList extends FreedomService
@Getter
public final Map<String, PlayerData> dataMap = Maps.newHashMap(); // username, data
public PlayerList(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
dataMap.clear();
loadMasterBuilders();
}
@Override
protected void onStop()
public void onStop()
{
}
@ -79,7 +74,7 @@ public class PlayerList extends FreedomService
{
if (player.isOnline())
{
return Ips.getIp(player.getPlayer());
return FUtil.getIp(player.getPlayer());
}
final PlayerData entry = getData(player.getName());
@ -128,14 +123,14 @@ public class PlayerList extends FreedomService
// May not return null
public FPlayer getPlayer(Player player)
{
FPlayer tPlayer = playerMap.get(Ips.getIp(player));
FPlayer tPlayer = playerMap.get(FUtil.getIp(player));
if (tPlayer != null)
{
return tPlayer;
}
tPlayer = new FPlayer(plugin, player);
playerMap.put(Ips.getIp(player), tPlayer);
playerMap.put(FUtil.getIp(player), tPlayer);
return tPlayer;
}
@ -164,7 +159,7 @@ public class PlayerList extends FreedomService
PlayerData playerData = getData(player);
return !plugin.al.isAdmin(player)
&& (playerData.hasVerification())
&& !playerData.getIps().contains(Ips.getIp(player));
&& !playerData.getIps().contains(FUtil.getIp(player));
}
public boolean isImposter(Player player)
@ -179,7 +174,7 @@ public class PlayerList extends FreedomService
{
playerData.removeBackupCode(backupCode);
}
playerData.addIp(Ips.getIp(player));
playerData.addIp(FUtil.getIp(player));
save(playerData);
if (plugin.al.isAdminImpostor(player))
@ -194,7 +189,7 @@ public class PlayerList extends FreedomService
}
}
admin.setLastLogin(new Date());
admin.addIp(Ips.getIp(player));
admin.addIp(FUtil.getIp(player));
plugin.al.updateTables();
plugin.al.save(admin);
}
@ -257,7 +252,7 @@ public class PlayerList extends FreedomService
if (playerData == null)
{
playerData = loadByIp(Ips.getIp(player));
playerData = loadByIp(FUtil.getIp(player));
if (playerData != null)
{
plugin.sql.updatePlayerName(playerData.getName(),player.getName());
@ -279,7 +274,7 @@ public class PlayerList extends FreedomService
// Create new player
playerData = new PlayerData(player);
playerData.addIp(Ips.getIp(player));
playerData.addIp(FUtil.getIp(player));
// Store player
dataMap.put(player.getName(), playerData);

View File

@ -5,12 +5,10 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import lombok.Getter;
import lombok.Setter;
import net.pravian.aero.base.ConfigLoadable;
import net.pravian.aero.base.ConfigSavable;
import net.pravian.aero.base.Validatable;
import me.totalfreedom.totalfreedommod.config.IConfig;
import org.bukkit.configuration.ConfigurationSection;
public class Punishment implements ConfigLoadable, ConfigSavable, Validatable
public class Punishment implements IConfig
{
public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd \'at\' HH:mm:ss z");

View File

@ -5,9 +5,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import me.totalfreedom.totalfreedommod.FreedomService;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.config.YamlConfig;
import me.totalfreedom.totalfreedommod.util.FLog;
import net.pravian.aero.config.YamlConfig;
public class PunishmentList extends FreedomService
{
@ -18,14 +17,13 @@ public class PunishmentList extends FreedomService
//
private final YamlConfig config;
public PunishmentList(TotalFreedomMod plugin)
public PunishmentList()
{
super(plugin);
this.config = new YamlConfig(plugin, CONFIG_FILENAME);
}
@Override
protected void onStart()
public void onStart()
{
config.load();
@ -54,7 +52,7 @@ public class PunishmentList extends FreedomService
}
@Override
protected void onStop()
public void onStop()
{
saveAll();
logger.info("Saved " + punishments.size() + " player bans");

View File

@ -20,19 +20,13 @@ import org.bukkit.scoreboard.Team;
public class RankManager extends FreedomService
{
public RankManager(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
}
@Override
protected void onStop()
public void onStop()
{
}

View File

@ -32,13 +32,8 @@ public class Shop extends FreedomService
public Date reactionStartTime;
public final int coinsPerReactionWin = ConfigEntry.SHOP_REACTIONS_COINS_PER_WIN.getInteger();
public Shop(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
if (ConfigEntry.SHOP_REACTIONS_ENABLED.getBoolean())
{
@ -68,7 +63,7 @@ public class Shop extends FreedomService
}
@Override
protected void onStop()
public void onStop()
{
if (ConfigEntry.SHOP_REACTIONS_ENABLED.getBoolean())
{

View File

@ -21,20 +21,15 @@ public class SQLite extends FreedomService
private Connection connection;
public SQLite(TotalFreedomMod plugin)
{
super(plugin);
}
@Override
protected void onStart()
public void onStart()
{
connect();
checkTables();
}
@Override
protected void onStop()
public void onStop()
{
disconnect();
}

View File

@ -10,10 +10,6 @@ public class FLog
private static Logger serverLogger = null;
private static Logger pluginLogger = null;
private FLog()
{
}
// Level.INFO:
public static void info(String message)
{

View File

@ -40,6 +40,7 @@ import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.scheduler.BukkitTask;
@ -704,6 +705,16 @@ public class FUtil
return tz < -12 || tz > 12;
}
public static String getIp(Player player)
{
return player.getAddress().getAddress().getHostAddress().trim();
}
public static String getIp(PlayerLoginEvent event)
{
return event.getAddress().getHostAddress().trim();
}
private static class MojangResponse
{
String id;

Some files were not shown because too many files have changed in this diff Show More