Package uk.co.tggl.pluckerpluck.multiinv.inventory

Source Code of uk.co.tggl.pluckerpluck.multiinv.inventory.DeferredEnderchestSave

package uk.co.tggl.pluckerpluck.multiinv.inventory;

import java.io.File;
import java.io.IOException;

import org.bukkit.Bukkit;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;

import uk.co.tggl.pluckerpluck.multiinv.MIYamlFiles;
import uk.co.tggl.pluckerpluck.multiinv.MultiInv;

public class DeferredEnderchestSave implements Runnable {
   
    Inventory inventory;
    Player player;
    String inventoryName;
    String group;
   
    public DeferredEnderchestSave(Inventory inventory, HumanEntity player, String group, String inventoryName) {
        this.inventory = inventory;
        this.player = (Player) player;
        this.inventoryName = inventoryName;
        this.group = group;
    }
   
    @Override
    public void run() {
        MIEnderchestInventory miinventory = new MIEnderchestInventory(inventory);
        if(MIYamlFiles.usesql) {
            MIYamlFiles.con.saveEnderchestInventory(player, group, miinventory, inventoryName);
        } else {
            // Find and load configuration file for the player's enderchest
            File dataFolder = Bukkit.getServer().getPluginManager().getPlugin("MultiInv").getDataFolder();
            File worldsFolder = new File(dataFolder, "UUIDGroups");
            File file = new File(worldsFolder, group + File.separator + player.getUniqueId().toString() + ".ec.yml");
            String playername = player.getName();
            YamlConfiguration playerFile = new YamlConfiguration();
            if(file.exists()) {
                try {
                    playerFile.load(file);
                } catch(Exception e) {
                    e.printStackTrace();
                    return;
                }
            }
            String inventoryString = new MIEnderchestInventory(inventory).toString();
            playerFile.set(inventoryName, inventoryString);
            String folder = file.getParentFile().getName();
            MultiInv.log.debug("Saving " + playername + "'s " + inventoryName + " Enderchest inventory to " + folder);
            try {
                playerFile.save(file);
            } catch(IOException e) {
                e.printStackTrace();
            }
        }
    }
   
}
TOP

Related Classes of uk.co.tggl.pluckerpluck.multiinv.inventory.DeferredEnderchestSave

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.