Rework vault signs (#387)

* Rework vault signs

* Fix potential vault sign issues
This commit is contained in:
ArtelGG
2019-05-30 12:28:03 -04:00
committed by Trent Hensler
parent 3821a9912d
commit 0592554f0c
13 changed files with 59 additions and 20 deletions
@@ -37,6 +37,7 @@ import org.bukkit.Material;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryInteractEvent;
@@ -110,6 +111,7 @@ public class PlayerVaults extends JavaPlugin {
debug("uuidvaultmanager", System.currentTimeMillis());
getServer().getPluginManager().registerEvents(new Listeners(this), this);
getServer().getPluginManager().registerEvents(new VaultPreloadListener(), this);
getServer().getPluginManager().registerEvents(new SignListener(this), this);
debug("registering listeners", System.currentTimeMillis());
this.backupsEnabled = this.getConfig().getBoolean("backups.enabled", true);
loadSigns();
@@ -118,6 +120,7 @@ public class PlayerVaults extends JavaPlugin {
getCommand("pv").setExecutor(new VaultCommand());
getCommand("pvdel").setExecutor(new DeleteCommand());
getCommand("pvconvert").setExecutor(new ConvertCommand());
getCommand("pvsign").setExecutor(new SignCommand());
debug("registered commands", System.currentTimeMillis());
useVault = setupEconomy();
debug("setup economy", System.currentTimeMillis());
@@ -168,6 +171,7 @@ public class PlayerVaults extends JavaPlugin {
if (cmd.getName().equalsIgnoreCase("pvreload")) {
reloadConfig();
loadConfig(); // To update blocked materials.
reloadSigns();
loadLang();
sender.sendMessage(ChatColor.GREEN + "Reloaded PlayerVault's configuration and lang files.");
}
@@ -205,19 +209,13 @@ public class PlayerVaults extends JavaPlugin {
}
private void loadSigns() {
if (!getConfig().getBoolean("signs-enabled", true)) {
return;
}
getCommand("pvsign").setExecutor(new SignCommand());
getServer().getPluginManager().registerEvents(new SignListener(this), this);
File signs = new File(getDataFolder(), "signs.yml");
if (!signs.exists()) {
try {
signs.createNewFile();
} catch (IOException e) {
getLogger().severe("PlayerVaults has encountered a fatal error trying to load the signs file.");
getLogger().severe("Please report this error to drtshock.");
getLogger().severe("Please report this error on GitHub @ https://github.com/drtshock/PlayerVaults/");
e.printStackTrace();
}
}
@@ -225,6 +223,20 @@ public class PlayerVaults extends JavaPlugin {
this.signs = YamlConfiguration.loadConfiguration(signs);
}
private void reloadSigns() {
if (!getConfig().getBoolean("signs-enabled")) {
return;
}
if (!signsFile.exists()) loadSigns();
try {
signs.load(signsFile);
} catch (IOException | InvalidConfigurationException e) {
getLogger().severe("PlayerVaults has encountered a fatal error trying to reload the signs file.");
getLogger().severe("Please report this error on GitHub @ https://github.com/drtshock/PlayerVaults/");
e.printStackTrace();
}
}
/**
* Get the signs.yml config.
*
@@ -242,7 +254,7 @@ public class PlayerVaults extends JavaPlugin {
}
private void saveSignsFile() {
if (!getConfig().getBoolean("signs-enabled", true)) {
if (!getConfig().getBoolean("signs-enabled")) {
return;
}
@@ -251,7 +263,7 @@ public class PlayerVaults extends JavaPlugin {
signs.save(this.signsFile);
} catch (IOException e) {
getLogger().severe("PlayerVaults has encountered an error trying to save the signs file.");
getLogger().severe("Please report this error to drtshock.");
getLogger().severe("Please report this error on GitHub @ https://github.com/drtshock/PlayerVaults/");
e.printStackTrace();
}
}