private void onReload(FileConfiguration data) {
        String title = data.getString("title");
        int size = data.getInt("size");
        List<HumanEntity> viewers = inventory.getViewers();

        // Changing the size or title requires creating a new inventory
        boolean recreate = !title.equals(inventory.getTitle()) || size != inventory.getSize();
        if (recreate) {
            inventory = plugin.getServer().createInventory(this, size, title);
        }

        inventory.clear();
        ConfigurationSection contentsData = data.getConfigurationSection("contents");
        for (String key : contentsData.getKeys(false)) {
            int slot = Integer.parseInt(key);
            ItemStack item = contentsData.getItemStack(key);
            inventory.setItem(slot, item);
        }

        for (HumanEntity viewer : viewers) {
            if (viewer instanceof Player) {
                Player player = (Player) viewer;
                if (recreate) {
                    open(player);
                } else {
                    player.updateInventory();
                }
            }
        }
    }