From 300f97b522a4244de7fbfc9c9e99fec8745cf10f Mon Sep 17 00:00:00 2001 From: SuperRonanCraft Date: Tue, 15 Mar 2022 22:52:48 -0400 Subject: [PATCH] command after fix for addons reload + locations finalized --- BetterRTPAddons/pom.xml | 2 +- .../me/SuperRonanCraft/BetterRTPAddons/Main.java | 4 +++- .../BetterRTPAddons/util/ReloadListener.java | 7 ++----- .../BetterRTP/player/commands/Commands.java | 2 ++ .../references/customEvents/RTP_CommandEvent.java | 1 + .../customEvents/RTP_CommandEvent_After.java | 14 ++++++++++++++ src/main/resources/locations.yml | 2 +- 7 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 src/main/java/me/SuperRonanCraft/BetterRTP/references/customEvents/RTP_CommandEvent_After.java diff --git a/BetterRTPAddons/pom.xml b/BetterRTPAddons/pom.xml index 0703b3b..15d04cd 100644 --- a/BetterRTPAddons/pom.xml +++ b/BetterRTPAddons/pom.xml @@ -109,7 +109,7 @@ me.SuperRonanCraft BetterRTP - 3.2.4 + 3.3.0 provided diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Main.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Main.java index 5211086..f08b531 100644 --- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Main.java +++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Main.java @@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTPAddons; import me.SuperRonanCraft.BetterRTPAddons.util.Files; import me.SuperRonanCraft.BetterRTPAddons.util.ReloadListener; +import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin { @@ -10,11 +11,12 @@ public class Main extends JavaPlugin { private final AddonsHandler addonsHandler = new AddonsHandler(); private final Files files = new Files(); public final AddonMessages msgs = new AddonMessages(); + private final ReloadListener reloadListener = new ReloadListener(); @Override public void onEnable() { instance = this; - new ReloadListener(this); + Bukkit.getPluginManager().registerEvents(reloadListener, this); load(); } diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/util/ReloadListener.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/util/ReloadListener.java index ef5ce2a..2b00b9b 100644 --- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/util/ReloadListener.java +++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/util/ReloadListener.java @@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTPAddons.util; import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdReload; import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent; +import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent_After; import me.SuperRonanCraft.BetterRTPAddons.Main; import org.bukkit.Bukkit; import org.bukkit.event.EventHandler; @@ -9,12 +10,8 @@ import org.bukkit.event.Listener; public class ReloadListener implements Listener { - public ReloadListener(Main pl) { - Bukkit.getPluginManager().registerEvents(this, pl); - } - @EventHandler - void reload(RTP_CommandEvent e) { + void reload(RTP_CommandEvent_After e) { if (e.getCmd() instanceof CmdReload) Main.getInstance().load(); } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/Commands.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/Commands.java index 39a7c4d..14f3620 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/Commands.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/Commands.java @@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTP.player.commands; import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdTeleport; +import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent_After; import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownHandler; @@ -50,6 +51,7 @@ public class Commands { Bukkit.getServer().getPluginManager().callEvent(event); if (!event.isCancelled()) cmd.execute(sendi, label, args); + Bukkit.getServer().getPluginManager().callEvent(new RTP_CommandEvent_After(sendi, cmd)); } else pl.getText().getNoPermission(sendi); return; diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/customEvents/RTP_CommandEvent.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/customEvents/RTP_CommandEvent.java index 8db5ba5..3155a52 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/customEvents/RTP_CommandEvent.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/customEvents/RTP_CommandEvent.java @@ -12,6 +12,7 @@ public class RTP_CommandEvent extends RTPEvent implements Cancellable { RTPCommand cmd; private static final HandlerList handler = new HandlerList(); + //Called before a command is executed public RTP_CommandEvent(CommandSender sendi, RTPCommand cmd) { this.sendi = sendi; this.cmd = cmd; diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/customEvents/RTP_CommandEvent_After.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/customEvents/RTP_CommandEvent_After.java new file mode 100644 index 0000000..9fc9a71 --- /dev/null +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/customEvents/RTP_CommandEvent_After.java @@ -0,0 +1,14 @@ +package me.SuperRonanCraft.BetterRTP.references.customEvents; + +import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand; +import org.bukkit.command.CommandSender; +import org.bukkit.event.Cancellable; +import org.bukkit.event.HandlerList; + +public class RTP_CommandEvent_After extends RTP_CommandEvent { + + //Executed after a command was executed + public RTP_CommandEvent_After(CommandSender sendi, RTPCommand cmd) { + super(sendi, cmd); + } +} diff --git a/src/main/resources/locations.yml b/src/main/resources/locations.yml index 0c0ab2e..8f674c0 100644 --- a/src/main/resources/locations.yml +++ b/src/main/resources/locations.yml @@ -11,7 +11,7 @@ Enabled: false #enable the locations feature RequirePermission: false #Require players to have `betterrtp.location.` -UseLocationIfAvailable: false #Will choose a location upon `/rtp` if location(s) is available in the world +UseLocationIfAvailable: true #Will choose a location upon `/rtp` if location(s) is available in the world #OnlyAllowInWorld: true #Only allow players to use locations that correspond to the world they are standing in Locations: