mirror of
https://github.com/YouHaveTrouble/PreventStabby.git
synced 2026-05-12 13:26:56 +00:00
77 lines
2.8 KiB
Java
77 lines
2.8 KiB
Java
package eu.endermite.togglepvp;
|
|
|
|
import eu.endermite.togglepvp.commands.MainCommand;
|
|
import eu.endermite.togglepvp.config.ConfigCache;
|
|
import eu.endermite.togglepvp.listeners.player.*;
|
|
import eu.endermite.togglepvp.listeners.wolf.WolfAttackPlayerListener;
|
|
import eu.endermite.togglepvp.listeners.wolf.WolfTargettingListener;
|
|
import eu.endermite.togglepvp.players.PlayerManager;
|
|
import eu.endermite.togglepvp.util.DatabaseSQLite;
|
|
import lombok.Getter;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
import java.io.File;
|
|
|
|
public final class TogglePvP extends JavaPlugin {
|
|
|
|
@Getter private static TogglePvP plugin;
|
|
private ConfigCache configCache;
|
|
private PlayerManager playerManager;
|
|
private DatabaseSQLite sqLite;
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
plugin = this;
|
|
reloadPluginConfig();
|
|
File dbFile = new File("plugins/TogglePvP");
|
|
sqLite = new DatabaseSQLite("jdbc:sqlite:plugins/TogglePvP/TogglePvP.db", dbFile);
|
|
sqLite.createDatabaseFile();
|
|
sqLite.testConnection();
|
|
playerManager = new PlayerManager();
|
|
|
|
getServer().getPluginManager().registerEvents(new PlayerJoinAndLeaveListener(), this);
|
|
getServer().getPluginManager().registerEvents(new PlayerAttackListener(), this);
|
|
getServer().getPluginManager().registerEvents(new PlayerHitByProjectileListener(), this);
|
|
getServer().getPluginManager().registerEvents(new AreaEffectCloudApplyListener(), this);
|
|
getServer().getPluginManager().registerEvents(new PlayerHitByLightningListener(), this);
|
|
getServer().getPluginManager().registerEvents(new LightningBlockIgniteListener(), this);
|
|
getServer().getPluginManager().registerEvents(new PlayerHitByFireworkListener(), this);
|
|
getServer().getPluginManager().registerEvents(new FishingListener(), this);
|
|
getServer().getPluginManager().registerEvents(new LavaDumpAndIgniteListener(), this);
|
|
|
|
getServer().getPluginManager().registerEvents(new WolfTargettingListener(), this);
|
|
getServer().getPluginManager().registerEvents(new WolfAttackPlayerListener(), this);
|
|
|
|
getCommand("pvp").setExecutor(new MainCommand());
|
|
getCommand("pvp").setTabCompleter(new MainCommand());
|
|
}
|
|
|
|
public void reloadPluginConfig() {
|
|
saveDefaultConfig();
|
|
reloadConfig();
|
|
configCache = new ConfigCache();
|
|
}
|
|
|
|
public void reloadPluginConfig(CommandSender commandSender) {
|
|
getServer().getScheduler().runTaskAsynchronously(this, () -> {
|
|
reloadPluginConfig();
|
|
commandSender.sendMessage("TogglePvP configuration reloaded.");
|
|
});
|
|
}
|
|
|
|
public ConfigCache getConfigCache() {
|
|
return configCache;
|
|
}
|
|
|
|
public PlayerManager getPlayerManager() {
|
|
return playerManager;
|
|
}
|
|
|
|
public DatabaseSQLite getSqLite() {return sqLite;}
|
|
|
|
|
|
|
|
|
|
}
|