Load/Disable the move protection listener #88
We now load or disable the move protection listener based upon the config when the plugin is reloaded.
This commit is contained in:
parent
1648c04745
commit
9ec7f389db
@ -18,6 +18,7 @@ Beta 5 Changes
|
||||
* Added a password requirement on the broadcast of jailing, defaults to everyone. [#54](https://github.com/graywolf336/Jail/issues/54)
|
||||
* Added the ability to show `reason`, `jail`, and `cell` to the broadcast messages. [#53](https://github.com/graywolf336/Jail/issues/53)
|
||||
* Added tab complete to all the commands. [#77](https://github.com/graywolf336/Jail/issues/77)
|
||||
* Added reloading the move protection listener, so the reload actually loads/disables it. [#88](https://github.com/graywolf336/Jail/issues/88)
|
||||
* Changed cell names to be semi-sorted alphabetically. [#80](https://github.com/graywolf336/Jail/issues/80)
|
||||
* Changed how we handle inventory when storing is set to false. Don't remove their inventory when they are unjailed and we don't store it. [#57](https://github.com/graywolf336/Jail/issues/57)
|
||||
* Changed offline players jailing, don't allow jailing players unless they've played before (can be overwrote with -f). [#82](https://github.com/graywolf336/Jail/issues/82)
|
||||
@ -27,6 +28,7 @@ Beta 5 Changes
|
||||
* Changed the explanation of why the gamemode setting was problematic and give the available options. [#73](https://github.com/graywolf336/Jail/issues/73)
|
||||
* Changed pretty time to be the default of the signs.
|
||||
* Fixed a sqlite issue which was preventing plugin from launching. [#78](https://github.com/graywolf336/Jail/issues/78)
|
||||
* Fixed a sqlite error when deleting a cell. [#89](https://github.com/graywolf336/Jail/issues/89)
|
||||
* Fixed an issue where cell data was being duplicated (or more) in the database. [#74](https://github.com/graywolf336/Jail/issues/74)
|
||||
* Fixed an on load issue when the config didn't have four lines for the signs. [#61](https://github.com/graywolf336/Jail/issues/61)
|
||||
* Fixed cell signs not updating when an offline player is jailed. [#68](https://github.com/graywolf336/Jail/issues/68)
|
||||
|
@ -6,6 +6,7 @@ import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
@ -114,10 +115,7 @@ public class JailMain extends JavaPlugin {
|
||||
//not registering this event listener will hopefully safe some performance.
|
||||
//But doing this also forces people to restart their server if they to
|
||||
//enable it after disabling it.
|
||||
if(getConfig().getBoolean(Settings.MOVEPROTECTION.getPath())) {
|
||||
this.mpl = new MoveProtectionListener(this);
|
||||
plm.registerEvents(this.mpl, this);
|
||||
}
|
||||
this.reloadMoveProtection();
|
||||
|
||||
jt = new JailTimer(this);
|
||||
sbm = new ScoreBoardManager(this);
|
||||
@ -231,6 +229,7 @@ public class JailMain extends JavaPlugin {
|
||||
//We don't touch any of the data currently being stored in cache,
|
||||
//this way you can transfer from flatfile to mysql or flip flopped.
|
||||
getJailIO().prepareStorage(true);
|
||||
reloadMoveProtection();
|
||||
//Reload all that has to do with the scoreboard, name and settings
|
||||
reloadScoreBoardManager();
|
||||
//Reload the jail sticks
|
||||
@ -245,8 +244,28 @@ public class JailMain extends JavaPlugin {
|
||||
//if they rely on any of the configuration settings (such as signs)
|
||||
getServer().getPluginManager().callEvent(new JailPluginReloadedEvent(this));
|
||||
}
|
||||
|
||||
/** Reloads/Loads the move protection listener based upon it's previous status and the config. */
|
||||
private void reloadMoveProtection() {
|
||||
boolean moveProtection = getConfig().getBoolean(Settings.MOVEPROTECTION.getPath());
|
||||
|
||||
//If move protection is not enabled and it used to be,
|
||||
//unregister it.
|
||||
if(!moveProtection && this.mpl != null) {
|
||||
HandlerList.unregisterAll(this.mpl);
|
||||
this.mpl = null;
|
||||
this.debug("The move protection listener is now disabled.");
|
||||
}
|
||||
|
||||
//If it is enabled and it used to not be, then enable it.
|
||||
if(moveProtection && this.mpl == null) {
|
||||
this.mpl = new MoveProtectionListener(this);
|
||||
getServer().getPluginManager().registerEvents(mpl, this);
|
||||
this.debug("The move protection listener is now enabled.");
|
||||
}
|
||||
}
|
||||
|
||||
/** Reloads the scoreboard manager class, useful when something is changed int he config about it. */
|
||||
/** Reloads the scoreboard manager class, useful when something is changed in the config about it. */
|
||||
private void reloadScoreBoardManager() {
|
||||
this.sbm.removeAllScoreboards();
|
||||
this.sbm = null;
|
||||
|
Loading…
Reference in New Issue
Block a user