Small fixes
This commit is contained in:
		@@ -7,6 +7,7 @@ import java.util.UUID;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import org.bukkit.Material;
 | 
					import org.bukkit.Material;
 | 
				
			||||||
import org.bukkit.configuration.ConfigurationSection;
 | 
					import org.bukkit.configuration.ConfigurationSection;
 | 
				
			||||||
 | 
					import org.bukkit.configuration.file.FileConfiguration;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.lishid.openinv.utils.UUIDUtil;
 | 
					import com.lishid.openinv.utils.UUIDUtil;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -30,119 +31,92 @@ public class ConfigUpdater {
 | 
				
			|||||||
    public void checkForUpdates() {
 | 
					    public void checkForUpdates() {
 | 
				
			||||||
        if (isConfigOutdated()) {
 | 
					        if (isConfigOutdated()) {
 | 
				
			||||||
            plugin.getLogger().info("[Config] Update found! Performing update...");
 | 
					            plugin.getLogger().info("[Config] Update found! Performing update...");
 | 
				
			||||||
            updateConfig();
 | 
					            performUpdate();
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            plugin.getLogger().info("[Config] Update not found. Config is already up-to-date.");
 | 
					            plugin.getLogger().info("[Config] Update not found. Config is already up-to-date.");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void updateConfig() {
 | 
					    private void performUpdate() {
 | 
				
			||||||
 | 
					        // Update according to the right version
 | 
				
			||||||
 | 
					        switch (getConfigVersion()) {
 | 
				
			||||||
 | 
					            case 1:
 | 
				
			||||||
 | 
					                updateConfig1To2();
 | 
				
			||||||
 | 
					                break;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private void updateConfig1To2() {
 | 
				
			||||||
        // Get the old config settings
 | 
					        // Get the old config settings
 | 
				
			||||||
        int itemOpenInvItemId = plugin.getConfig().getInt("ItemOpenInvItemID", 280);
 | 
					        FileConfiguration config = plugin.getConfig();
 | 
				
			||||||
        boolean checkForUpdates = plugin.getConfig().getBoolean("CheckForUpdates", true);
 | 
					
 | 
				
			||||||
        boolean notifySilentChest = plugin.getConfig().getBoolean("NotifySilentChest", true);
 | 
					        int itemOpenInvItemId = config.getInt("ItemOpenInvItemID", 280);
 | 
				
			||||||
        boolean notifyAnyChest = plugin.getConfig().getBoolean("NotifyAnyChest", true);
 | 
					        boolean checkForUpdates = config.getBoolean("CheckForUpdates", true);
 | 
				
			||||||
 | 
					        boolean notifySilentChest = config.getBoolean("NotifySilentChest", true);
 | 
				
			||||||
 | 
					        boolean notifyAnyChest = config.getBoolean("NotifyAnyChest", true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Map<UUID, Boolean> anyChestToggles = null;
 | 
					        Map<UUID, Boolean> anyChestToggles = null;
 | 
				
			||||||
        Map<UUID, Boolean> itemOpenInvToggles = null;
 | 
					        Map<UUID, Boolean> itemOpenInvToggles = null;
 | 
				
			||||||
        Map<UUID, Boolean> silentChestToggles = null;
 | 
					        Map<UUID, Boolean> silentChestToggles = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (plugin.getConfig().isSet("AnyChest")) {
 | 
					        if (config.isSet("AnyChest")) {
 | 
				
			||||||
            anyChestToggles = updateAnyChestToggles();
 | 
					            anyChestToggles = updateToggles("AnyChest");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (plugin.getConfig().isSet("ItemOpenInv")) {
 | 
					        if (config.isSet("ItemOpenInv")) {
 | 
				
			||||||
            itemOpenInvToggles = updateItemOpenInvToggles();
 | 
					            itemOpenInvToggles = updateToggles("ItemOpenInv");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (plugin.getConfig().isSet("SilentChest")) {
 | 
					        if (config.isSet("SilentChest")) {
 | 
				
			||||||
            silentChestToggles = updateSilentChestToggles();
 | 
					            silentChestToggles = updateToggles("SilentChest");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Clear the old config
 | 
					        // Clear the old config
 | 
				
			||||||
        for (String key : plugin.getConfig().getKeys(false)) {
 | 
					        for (String key : config.getKeys(false)) {
 | 
				
			||||||
            plugin.getConfig().set(key, null);
 | 
					            plugin.getConfig().set(key, null);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Set the new config options
 | 
					        // Set the new config options
 | 
				
			||||||
        plugin.getConfig().set("config-version", CONFIG_VERSION);
 | 
					        config.set("config-version", "2");
 | 
				
			||||||
        plugin.getConfig().set("check-for-updates", checkForUpdates);
 | 
					        config.set("check-for-updates", checkForUpdates);
 | 
				
			||||||
        plugin.getConfig().set("items.open-inv", getMaterialById(itemOpenInvItemId).toString());
 | 
					        config.set("items.open-inv", getMaterialById(itemOpenInvItemId).toString());
 | 
				
			||||||
        plugin.getConfig().set("notify.any-chest", notifyAnyChest);
 | 
					        config.set("notify.any-chest", notifyAnyChest);
 | 
				
			||||||
        plugin.getConfig().set("notify.silent-chest", notifySilentChest);
 | 
					        config.set("notify.silent-chest", notifySilentChest);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (anyChestToggles != null && !anyChestToggles.isEmpty()) {
 | 
					        if (anyChestToggles != null && !anyChestToggles.isEmpty()) {
 | 
				
			||||||
            for (Map.Entry<UUID, Boolean> entry : anyChestToggles.entrySet()) {
 | 
					            for (Map.Entry<UUID, Boolean> entry : anyChestToggles.entrySet()) {
 | 
				
			||||||
                plugin.getConfig().set("toggles.any-chest." + entry.getKey(), entry.getValue());
 | 
					                config.set("toggles.any-chest." + entry.getKey(), entry.getValue());
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (itemOpenInvToggles != null && !itemOpenInvToggles.isEmpty()) {
 | 
					        if (itemOpenInvToggles != null && !itemOpenInvToggles.isEmpty()) {
 | 
				
			||||||
            for (Map.Entry<UUID, Boolean> entry : itemOpenInvToggles.entrySet()) {
 | 
					            for (Map.Entry<UUID, Boolean> entry : itemOpenInvToggles.entrySet()) {
 | 
				
			||||||
                plugin.getConfig().set("toggles.items.open-inv." + entry.getKey(), entry.getValue());
 | 
					                config.set("toggles.items.open-inv." + entry.getKey(), entry.getValue());
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (silentChestToggles != null && !silentChestToggles.isEmpty()) {
 | 
					        if (silentChestToggles != null && !silentChestToggles.isEmpty()) {
 | 
				
			||||||
            for (Map.Entry<UUID, Boolean> entry : silentChestToggles.entrySet()) {
 | 
					            for (Map.Entry<UUID, Boolean> entry : silentChestToggles.entrySet()) {
 | 
				
			||||||
                plugin.getConfig().set("toggles.silent-chest." + entry.getKey(), entry.getValue());
 | 
					                config.set("toggles.silent-chest." + entry.getKey(), entry.getValue());
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Save the new config
 | 
					        // Save the new config
 | 
				
			||||||
        plugin.saveConfig();
 | 
					        plugin.saveConfig();
 | 
				
			||||||
 | 
					 | 
				
			||||||
        plugin.getLogger().info("[Config] Update complete.");
 | 
					        plugin.getLogger().info("[Config] Update complete.");
 | 
				
			||||||
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private Map<UUID, Boolean> updateAnyChestToggles() {
 | 
					    private Map<UUID, Boolean> updateToggles(String sectionName) {
 | 
				
			||||||
        Map<UUID, Boolean> toggles = new HashMap<UUID, Boolean>();
 | 
					        Map<UUID, Boolean> toggles = new HashMap<UUID, Boolean>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ConfigurationSection anyChestSection = plugin.getConfig().getConfigurationSection("AnyChest");
 | 
					        ConfigurationSection section = plugin.getConfig().getConfigurationSection(sectionName);
 | 
				
			||||||
        Set<String> keys = anyChestSection.getKeys(false);
 | 
					        Set<String> keys = section.getKeys(false);
 | 
				
			||||||
        if (keys == null || keys.isEmpty()) return null;
 | 
					        if (keys == null || keys.isEmpty()) return null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for (String playerName : keys) {
 | 
					        for (String playerName : keys) {
 | 
				
			||||||
            UUID uuid = UUIDUtil.getUUIDOf(playerName);
 | 
					            UUID uuid = UUIDUtil.getUUIDOf(playerName);
 | 
				
			||||||
            if (uuid != null) {
 | 
					            if (uuid != null) {
 | 
				
			||||||
                boolean toggled = anyChestSection.getBoolean(playerName + ".toggle", false);
 | 
					                boolean toggled = section.getBoolean(playerName + ".toggle", false);
 | 
				
			||||||
                toggles.put(uuid, toggled);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        return toggles;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private Map<UUID, Boolean> updateItemOpenInvToggles() {
 | 
					 | 
				
			||||||
        Map<UUID, Boolean> toggles = new HashMap<UUID, Boolean>();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        ConfigurationSection anyChestSection = plugin.getConfig().getConfigurationSection("ItemOpenInv");
 | 
					 | 
				
			||||||
        Set<String> keys = anyChestSection.getKeys(false);
 | 
					 | 
				
			||||||
        if (keys == null || keys.isEmpty()) return null;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        for (String playerName : keys) {
 | 
					 | 
				
			||||||
            UUID uuid = UUIDUtil.getUUIDOf(playerName);
 | 
					 | 
				
			||||||
            if (uuid != null) {
 | 
					 | 
				
			||||||
                boolean toggled = anyChestSection.getBoolean(playerName + ".toggle", false);
 | 
					 | 
				
			||||||
                toggles.put(uuid, toggled);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        return toggles;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private Map<UUID, Boolean> updateSilentChestToggles() {
 | 
					 | 
				
			||||||
        Map<UUID, Boolean> toggles = new HashMap<UUID, Boolean>();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        ConfigurationSection silentChestSection = plugin.getConfig().getConfigurationSection("SilentChest");
 | 
					 | 
				
			||||||
        Set<String> keys = silentChestSection.getKeys(false);
 | 
					 | 
				
			||||||
        if (keys == null || keys.isEmpty()) return null;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        for (String playerName : keys) {
 | 
					 | 
				
			||||||
            UUID uuid = UUIDUtil.getUUIDOf(playerName);
 | 
					 | 
				
			||||||
            if (uuid != null) {
 | 
					 | 
				
			||||||
                boolean toggled = silentChestSection.getBoolean(playerName + ".toggle", false);
 | 
					 | 
				
			||||||
                toggles.put(uuid, toggled);
 | 
					                toggles.put(uuid, toggled);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -131,9 +131,9 @@ public class OpenInv extends JavaPlugin {
 | 
				
			|||||||
        if (!mainPlugin.getConfig().isSet("items.open-inv")) {
 | 
					        if (!mainPlugin.getConfig().isSet("items.open-inv")) {
 | 
				
			||||||
            saveToConfig("items.open-inv", "STICK");
 | 
					            saveToConfig("items.open-inv", "STICK");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					 | 
				
			||||||
        String itemName = mainPlugin.getConfig().getString("items.open-inv", "STICK");
 | 
					        String itemName = mainPlugin.getConfig().getString("items.open-inv", "STICK");
 | 
				
			||||||
        return Material.getMaterial(itemName);
 | 
					        Material material = Material.getMaterial(itemName);
 | 
				
			||||||
 | 
					        return material != null ? material : Material.STICK;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static boolean notifySilentChest() {
 | 
					    public static boolean notifySilentChest() {
 | 
				
			||||||
@@ -198,13 +198,13 @@ public class OpenInv extends JavaPlugin {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static void showHelp(Player player) {
 | 
					    public static void showHelp(Player player) {
 | 
				
			||||||
        player.sendMessage(ChatColor.GREEN + "/openinv <Player> - Open a player's inventory");
 | 
					        player.sendMessage(ChatColor.GREEN + "/openinv <player> - Open a player's inventory");
 | 
				
			||||||
        player.sendMessage(ChatColor.GREEN + "   (aliases: oi, inv, open)");
 | 
					        player.sendMessage(ChatColor.GREEN + "   (aliases: oi, inv, open)");
 | 
				
			||||||
        player.sendMessage(ChatColor.GREEN + "/openender <Player> - Open a player's enderchest");
 | 
					        player.sendMessage(ChatColor.GREEN + "/openender <player> - Open a player's ender chest");
 | 
				
			||||||
        player.sendMessage(ChatColor.GREEN + "   (aliases: oe, enderchest)");
 | 
					        player.sendMessage(ChatColor.GREEN + "   (aliases: oe, enderchest)");
 | 
				
			||||||
        player.sendMessage(ChatColor.GREEN + "/toggleopeninv - Toggle item openinv function");
 | 
					        player.sendMessage(ChatColor.GREEN + "/toggleopeninv - Toggle item openinv function");
 | 
				
			||||||
        player.sendMessage(ChatColor.GREEN + "   (aliases: toi, toggleoi, toggleinv)");
 | 
					        player.sendMessage(ChatColor.GREEN + "   (aliases: toi, toggleoi, toggleinv)");
 | 
				
			||||||
        player.sendMessage(ChatColor.GREEN + "/searchinv <Item> [MinAmount] - ");
 | 
					        player.sendMessage(ChatColor.GREEN + "/searchinv <item> [minAmount] - ");
 | 
				
			||||||
        player.sendMessage(ChatColor.GREEN + "   Search and list players having a specific item.");
 | 
					        player.sendMessage(ChatColor.GREEN + "   Search and list players having a specific item.");
 | 
				
			||||||
        player.sendMessage(ChatColor.GREEN + "   (aliases: si, search)");
 | 
					        player.sendMessage(ChatColor.GREEN + "   (aliases: si, search)");
 | 
				
			||||||
        player.sendMessage(ChatColor.GREEN + "/anychest - Toggle anychest function");
 | 
					        player.sendMessage(ChatColor.GREEN + "/anychest - Toggle anychest function");
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user