mirror of
https://github.com/YouHaveTrouble/PreventStabby.git
synced 2026-05-12 05:16:55 +00:00
replace wall of text that was registering listeners with a nice loop
This commit is contained in:
@@ -9,13 +9,18 @@ import eu.endermite.togglepvp.listeners.unspecific.*;
|
||||
import eu.endermite.togglepvp.listeners.wolf.*;
|
||||
import eu.endermite.togglepvp.players.PlayerManager;
|
||||
import eu.endermite.togglepvp.players.SmartCache;
|
||||
import eu.endermite.togglepvp.util.Listener;
|
||||
import eu.endermite.togglepvp.util.DatabaseSQLite;
|
||||
import lombok.Getter;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.reflections.Reflections;
|
||||
import org.reflections.scanners.TypeAnnotationsScanner;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
public final class TogglePvP extends JavaPlugin {
|
||||
|
||||
@@ -31,33 +36,30 @@ public final class TogglePvP extends JavaPlugin {
|
||||
File dbFile = new File("plugins/TogglePvP");
|
||||
sqLite = new DatabaseSQLite("jdbc:sqlite:plugins/TogglePvP/TogglePvP.db", dbFile);
|
||||
sqLite.createDatabaseFile();
|
||||
sqLite.testConnection();
|
||||
if (!sqLite.testConnection()) {
|
||||
getLogger().severe("Error with accessing database.");
|
||||
getLogger().severe("Plugin will now disable.");
|
||||
getServer().getPluginManager().disablePlugin(this);
|
||||
}
|
||||
playerManager = new PlayerManager();
|
||||
|
||||
SmartCache.runSmartCache();
|
||||
|
||||
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 PlayerHitBySplashPotionListener(), this);
|
||||
getServer().getPluginManager().registerEvents(new EntityHitByLightningListener(), 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 PlaceWitherRoseListener(), this);
|
||||
getServer().getPluginManager().registerEvents(new PlayerHitByExplosionListener(), this);
|
||||
getServer().getPluginManager().registerEvents(new WolfTargettingPlayerListener(), this);
|
||||
getServer().getPluginManager().registerEvents(new WolfAttackPlayerListener(), this);
|
||||
getServer().getPluginManager().registerEvents(new PlayerAttackWolfListener(), this);
|
||||
getServer().getPluginManager().registerEvents(new PlayerHitWolfWithProjectile(), this);
|
||||
getServer().getPluginManager().registerEvents(new WolfHitBySplashPotionListener(), this);
|
||||
getServer().getPluginManager().registerEvents(new WolfHitByFireworkListener(), this);
|
||||
getServer().getPluginManager().registerEvents(new WolfTargettingWolfListener(), this);
|
||||
getServer().getPluginManager().registerEvents(new WolfHitByExplosionListener(), this);
|
||||
getServer().getPluginManager().registerEvents(new WolfLeashListener(), this);
|
||||
// Register listeners
|
||||
Reflections reflections = new Reflections(new String[]{"eu.endermite.togglepvp"});
|
||||
Set<Class<?>> listenerClasses = reflections.getTypesAnnotatedWith(Listener.class);
|
||||
listenerClasses.forEach((listener)-> {
|
||||
try {
|
||||
getServer().getPluginManager().registerEvents((org.bukkit.event.Listener) listener.getConstructor().newInstance(), this);
|
||||
} catch (InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
|
||||
e.printStackTrace();
|
||||
getLogger().severe("Error with registering listeners.");
|
||||
getLogger().severe("Plugin will now disable.");
|
||||
getServer().getPluginManager().disablePlugin(this);
|
||||
}
|
||||
});
|
||||
|
||||
// Register command
|
||||
Objects.requireNonNull(getCommand("pvp")).setExecutor(new MainCommand());
|
||||
Objects.requireNonNull(getCommand("pvp")).setTabCompleter(new MainCommand());
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class PlayerAttackListener implements Listener {
|
||||
|
||||
/**
|
||||
|
||||
+1
-2
@@ -11,10 +11,9 @@ import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.metadata.FixedMetadataValue;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class PlayerHitByExplosionListener implements Listener {
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class PlayerHitByFireworkListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
|
||||
+1
@@ -9,6 +9,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class PlayerHitByProjectileListener implements Listener {
|
||||
|
||||
/**
|
||||
|
||||
+1
@@ -11,6 +11,7 @@ import org.bukkit.event.Listener;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class PlayerHitBySplashPotionListener implements Listener {
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -4,9 +4,9 @@ import eu.endermite.togglepvp.TogglePvP;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class PlayerJoinAndLeaveListener implements Listener {
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class WolfAttackPlayerListener implements Listener {
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -11,9 +11,9 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.AreaEffectCloudApplyEvent;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class AreaEffectCloudApplyListener implements Listener {
|
||||
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
|
||||
+1
@@ -15,6 +15,7 @@ import org.bukkit.metadata.FixedMetadataValue;
|
||||
* Listen for lightning strikes and tag the trident spawned ones.
|
||||
* Idea from aasmus' PvPToggle plugin
|
||||
*/
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class EntityHitByLightningListener implements Listener {
|
||||
|
||||
/**
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class FishingListener implements Listener {
|
||||
|
||||
ConfigCache config = TogglePvP.getPlugin().getConfigCache();
|
||||
|
||||
+2
@@ -15,6 +15,8 @@ import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.util.BoundingBox;
|
||||
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class LavaDumpAndIgniteListener implements Listener {
|
||||
|
||||
private ConfigCache config = TogglePvP.getPlugin().getConfigCache();
|
||||
|
||||
+1
@@ -10,6 +10,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class LightningBlockIgniteListener implements Listener {
|
||||
|
||||
/**
|
||||
|
||||
@@ -15,6 +15,7 @@ import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.util.BoundingBox;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class PlaceWitherRoseListener implements Listener {
|
||||
|
||||
private ConfigCache config = TogglePvP.getPlugin().getConfigCache();
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class PlayerAttackWolfListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
|
||||
@@ -11,6 +11,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class PlayerHitWolfWithProjectile implements Listener {
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,15 +4,14 @@ import eu.endermite.togglepvp.TogglePvP;
|
||||
import eu.endermite.togglepvp.config.ConfigCache;
|
||||
import eu.endermite.togglepvp.players.SmartCache;
|
||||
import eu.endermite.togglepvp.util.PluginMessages;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Wolf;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class WolfHitByExplosionListener implements Listener {
|
||||
|
||||
/**
|
||||
|
||||
@@ -9,6 +9,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class WolfHitByFireworkListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
|
||||
@@ -13,6 +13,7 @@ import org.bukkit.event.Listener;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class WolfHitBySplashPotionListener implements Listener {
|
||||
|
||||
/**
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class WolfLeashListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
|
||||
+1
-1
@@ -2,13 +2,13 @@ package eu.endermite.togglepvp.listeners.wolf;
|
||||
|
||||
import eu.endermite.togglepvp.TogglePvP;
|
||||
import eu.endermite.togglepvp.players.SmartCache;
|
||||
import org.bukkit.entity.Fox;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Wolf;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class WolfTargettingPlayerListener implements Listener {
|
||||
/**
|
||||
* Stops wolves with owners targetting players with pvp off
|
||||
|
||||
@@ -6,6 +6,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
@eu.endermite.togglepvp.util.Listener
|
||||
public class WolfTargettingWolfListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
|
||||
@@ -36,7 +36,7 @@ public class DatabaseSQLite {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void testConnection() {
|
||||
public boolean testConnection() {
|
||||
Connection conn = null;
|
||||
try {
|
||||
conn = DriverManager.getConnection(url);
|
||||
@@ -48,10 +48,12 @@ public class DatabaseSQLite {
|
||||
if (conn != null) {
|
||||
conn.close();
|
||||
}
|
||||
return true;
|
||||
} catch (SQLException ex) {
|
||||
System.out.println(ex.getMessage());
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> getPlayerInfo(UUID uuid) {
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package eu.endermite.togglepvp.util;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ElementType.TYPE})
|
||||
|
||||
public @interface Listener {}
|
||||
Reference in New Issue
Block a user