diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..b59d4e4 --- /dev/null +++ b/pom.xml @@ -0,0 +1,56 @@ + + + 4.0.0 + + com.github.aasmus + PVPToggle + 1.8 + + + 11 + 11 + + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + placeholderapi + http://repo.extendedclip.com/content/repositories/placeholderapi/ + + + jitpack.io + https://jitpack.io + + + nametagedit-repo + http://ci.nametagedit.com/plugin/repository/everything/ + + + + + + org.spigotmc + spigot-api + 1.16.1-R0.1-SNAPSHOT + provided + + + me.clip + placeholderapi + 2.10.6 + provided + + + com.github.sgtcaze + NametagEdit + master-SNAPSHOT + provided + + + + \ No newline at end of file diff --git a/src/com/github/aasmus/pvptoggle/PvPCommand.java b/src/main/java/com/github/aasmus/pvptoggle/PvPCommand.java similarity index 90% rename from src/com/github/aasmus/pvptoggle/PvPCommand.java rename to src/main/java/com/github/aasmus/pvptoggle/PvPCommand.java index 5c0465c..ed71a48 100644 --- a/src/com/github/aasmus/pvptoggle/PvPCommand.java +++ b/src/main/java/com/github/aasmus/pvptoggle/PvPCommand.java @@ -1,5 +1,6 @@ package com.github.aasmus.pvptoggle; +import com.github.aasmus.pvptoggle.events.PVPToggleEvent; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -32,6 +33,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } else if(args[0].equals("toggle")) { if(current == true) { if (Util.setPlayerState(other, false, console)) { + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(other, true)); Chat.send(other, "PVP_STATE_ENABLED"); if (PvPToggle.instance.getConfig().getBoolean("SETTINGS.PARTICLES")) { Util.particleEffect(other.getPlayer()); @@ -42,11 +44,13 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } } else { if (Util.setPlayerState(other, true, console)) { + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(other, false)); Chat.send(other, "PVP_STATE_DISABLED"); } } } else if(args[0].equalsIgnoreCase("on")) { if (Util.setPlayerState(other, false, console)) { + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(other, true)); Chat.send(other, "PVP_STATE_ENABLED"); if (current == true) { if(PvPToggle.instance.getConfig().getBoolean("SETTINGS.PARTICLES")) { @@ -59,6 +63,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } } else if(args[0].equalsIgnoreCase("off")) { if (Util.setPlayerState(other, true, console)) { + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(other, false)); Chat.send(other, "PVP_STATE_DISABLED"); if(PvPToggle.instance.getConfig().getBoolean("SETTINGS.NAMETAG")) { Util.ChangeNametag(other.getPlayer(), "reset"); @@ -96,6 +101,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String if(current == true) { Util.setCooldownTime(p); if (Util.setPlayerState(p, false, p)) { + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(p, true)); Chat.send(p, "PVP_STATE_ENABLED"); if (PvPToggle.instance.getConfig().getBoolean("SETTINGS.PARTICLES")) { Util.particleEffect(p.getPlayer()); @@ -105,12 +111,14 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } } else { if (Util.setPlayerState(p, true, p)) { + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(p, false)); Chat.send(p, "PVP_STATE_DISABLED"); } } } else if(args[0].equalsIgnoreCase("on")) { Util.setCooldownTime(p); if (Util.setPlayerState(p, false, p)) { + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(p, true)); Chat.send(p, "PVP_STATE_ENABLED"); if (current == true) { if(PvPToggle.instance.getConfig().getBoolean("SETTINGS.PARTICLES")) { @@ -123,6 +131,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } } else if(args[0].equalsIgnoreCase("off")) { if (Util.setPlayerState(p, true, p)) { + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(p, false)); Chat.send(p, "PVP_STATE_DISABLED"); if(PvPToggle.instance.getConfig().getBoolean("SETTINGS.NAMETAG")) { Util.ChangeNametag(p.getPlayer(), "reset"); @@ -158,6 +167,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String if(args[0].equals("toggle")) { if(current == true) { if (Util.setPlayerState(other, false, sender)) { + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(other, true)); Chat.send(other, "PVP_STATE_ENABLED"); if (PvPToggle.instance.getConfig().getBoolean("SETTINGS.PARTICLES")) { Util.particleEffect(other.getPlayer()); @@ -168,11 +178,13 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } } else { if (Util.setPlayerState(other, true, sender)) { + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(other, false)); Chat.send(other, "PVP_STATE_DISABLED"); } } } else if(args[0].equalsIgnoreCase("on")) { if (Util.setPlayerState(other, false, sender)) { + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(other, true)); if (current == true) { if(PvPToggle.instance.getConfig().getBoolean("SETTINGS.PARTICLES")) { Util.particleEffect(other.getPlayer()); @@ -185,6 +197,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } } else if(args[0].equalsIgnoreCase("off")) { if (Util.setPlayerState(other, true, sender)) { + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(other, false)); Chat.send(other, "PVP_STATE_DISABLED"); if(PvPToggle.instance.getConfig().getBoolean("SETTINGS.NAMETAG")) { Util.ChangeNametag(other.getPlayer(), "reset"); diff --git a/src/com/github/aasmus/pvptoggle/PvPToggle.java b/src/main/java/com/github/aasmus/pvptoggle/PvPToggle.java similarity index 97% rename from src/com/github/aasmus/pvptoggle/PvPToggle.java rename to src/main/java/com/github/aasmus/pvptoggle/PvPToggle.java index d07db60..48d8d56 100644 --- a/src/com/github/aasmus/pvptoggle/PvPToggle.java +++ b/src/main/java/com/github/aasmus/pvptoggle/PvPToggle.java @@ -11,6 +11,7 @@ import org.bukkit.event.Listener; import org.bukkit.plugin.java.JavaPlugin; +import com.github.aasmus.pvptoggle.events.PVPToggleEvent; import com.github.aasmus.pvptoggle.listeners.PlayerJoin; import com.github.aasmus.pvptoggle.listeners.PlayerLeave; import com.github.aasmus.pvptoggle.listeners.PvP; diff --git a/src/main/java/com/github/aasmus/pvptoggle/events/PVPToggleEvent.java b/src/main/java/com/github/aasmus/pvptoggle/events/PVPToggleEvent.java new file mode 100644 index 0000000..2c32fac --- /dev/null +++ b/src/main/java/com/github/aasmus/pvptoggle/events/PVPToggleEvent.java @@ -0,0 +1,35 @@ +package com.github.aasmus.pvptoggle.events; + +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; +import org.bukkit.entity.Player; + +public class PVPToggleEvent extends Event { + + private final Player player; + private final boolean pvp; + + public PVPToggleEvent(Player player, boolean pvp) { + this.player = player; + this.pvp = pvp; + } + + private static final HandlerList HANDLERS = new HandlerList(); + + public HandlerList getHandlers() { + return HANDLERS; + } + + public static HandlerList getHandlerList() { + return HANDLERS; + } + + public Player getPlayer() { + return this.player; + } + + public boolean getPVP() { + return this.pvp; + } + +} \ No newline at end of file diff --git a/src/com/github/aasmus/pvptoggle/listeners/PlayerChangeWorld.java b/src/main/java/com/github/aasmus/pvptoggle/listeners/PlayerChangeWorld.java similarity index 88% rename from src/com/github/aasmus/pvptoggle/listeners/PlayerChangeWorld.java rename to src/main/java/com/github/aasmus/pvptoggle/listeners/PlayerChangeWorld.java index d41ca1f..7e9207e 100644 --- a/src/com/github/aasmus/pvptoggle/listeners/PlayerChangeWorld.java +++ b/src/main/java/com/github/aasmus/pvptoggle/listeners/PlayerChangeWorld.java @@ -1,8 +1,10 @@ package com.github.aasmus.pvptoggle.listeners; import com.github.aasmus.pvptoggle.PvPToggle; +import com.github.aasmus.pvptoggle.events.PVPToggleEvent; import com.github.aasmus.pvptoggle.utils.Chat; import com.github.aasmus.pvptoggle.utils.Util; +import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -19,6 +21,7 @@ public void onChangeWorld(PlayerChangedWorldEvent event) { // If PVP isn't enabled in the world but the player has it enabled, disable it. if (!world.getPVP() && playerPvpEnabled) { Util.setPlayerState(player.getUniqueId(), true); + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(player, false)); Chat.send(player, "PVP_WORLD_CHANGE_DISABLED"); /*if (PvPToggle.instance.getConfig().getBoolean("SETTINGS.PARTICLES")) { Util.particleEffect(player); @@ -32,6 +35,7 @@ public void onChangeWorld(PlayerChangedWorldEvent event) { // If PVP is required (i.e. the world has PVP enabled and it is in the blocked worlds) and the player has it disabled, enable it. if (player.getWorld().getPVP() && PvPToggle.blockedWorlds.contains(world.getName()) && !playerPvpEnabled) { Util.setPlayerState(player.getUniqueId(), false); + Bukkit.getPluginManager().callEvent(new PVPToggleEvent(player, true)); Chat.send(player, "PVP_WORLD_CHANGE_REQUIRED"); if (PvPToggle.instance.getConfig().getBoolean("SETTINGS.PARTICLES")) { Util.particleEffect(player); diff --git a/src/com/github/aasmus/pvptoggle/listeners/PlayerJoin.java b/src/main/java/com/github/aasmus/pvptoggle/listeners/PlayerJoin.java similarity index 100% rename from src/com/github/aasmus/pvptoggle/listeners/PlayerJoin.java rename to src/main/java/com/github/aasmus/pvptoggle/listeners/PlayerJoin.java diff --git a/src/com/github/aasmus/pvptoggle/listeners/PlayerLeave.java b/src/main/java/com/github/aasmus/pvptoggle/listeners/PlayerLeave.java similarity index 100% rename from src/com/github/aasmus/pvptoggle/listeners/PlayerLeave.java rename to src/main/java/com/github/aasmus/pvptoggle/listeners/PlayerLeave.java diff --git a/src/com/github/aasmus/pvptoggle/listeners/PvP.java b/src/main/java/com/github/aasmus/pvptoggle/listeners/PvP.java similarity index 100% rename from src/com/github/aasmus/pvptoggle/listeners/PvP.java rename to src/main/java/com/github/aasmus/pvptoggle/listeners/PvP.java diff --git a/src/com/github/aasmus/pvptoggle/utils/Chat.java b/src/main/java/com/github/aasmus/pvptoggle/utils/Chat.java similarity index 100% rename from src/com/github/aasmus/pvptoggle/utils/Chat.java rename to src/main/java/com/github/aasmus/pvptoggle/utils/Chat.java diff --git a/src/com/github/aasmus/pvptoggle/utils/PersistentData.java b/src/main/java/com/github/aasmus/pvptoggle/utils/PersistentData.java similarity index 100% rename from src/com/github/aasmus/pvptoggle/utils/PersistentData.java rename to src/main/java/com/github/aasmus/pvptoggle/utils/PersistentData.java diff --git a/src/com/github/aasmus/pvptoggle/utils/PlaceholderAPIHook.java b/src/main/java/com/github/aasmus/pvptoggle/utils/PlaceholderAPIHook.java similarity index 100% rename from src/com/github/aasmus/pvptoggle/utils/PlaceholderAPIHook.java rename to src/main/java/com/github/aasmus/pvptoggle/utils/PlaceholderAPIHook.java diff --git a/src/com/github/aasmus/pvptoggle/utils/Util.java b/src/main/java/com/github/aasmus/pvptoggle/utils/Util.java similarity index 100% rename from src/com/github/aasmus/pvptoggle/utils/Util.java rename to src/main/java/com/github/aasmus/pvptoggle/utils/Util.java diff --git a/src/resources/config.yml b/src/main/resources/config.yml similarity index 100% rename from src/resources/config.yml rename to src/main/resources/config.yml diff --git a/src/resources/plugin.yml b/src/main/resources/plugin.yml similarity index 98% rename from src/resources/plugin.yml rename to src/main/resources/plugin.yml index 40c764d..166a89e 100644 --- a/src/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,7 +1,7 @@ main: com.github.aasmus.pvptoggle.PvPToggle softdepend: [PlaceholderAPI, NametagEdit] name: PvPToggle -version: 1.7 +version: 1.8 api-version: 1.13 author: aasmus (with modifications by the Red Fusion Team) description: Plugin that allows players to toggle PvP state