Bitte mal um Hilfe , er speichert die nicht ab vom Virtuellen Inventar nur das vom Spieler also das normale bitte um hilfe ;/
Code:
package Pichter.Tolana;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
public class backpack implements Listener{
public backpack(JavaPlugin plugin){
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
ArrayList<String> players = new ArrayList<String>();
public void openInventory(Player player){
Inventory inv = Bukkit.createInventory(null, 27, "Inventar");
String playername = player.getName();
File file = new File("plugins/tolana/Inventory"+playername+ ".yml");
if(!file.exists()){
ItemStack[] contents = player.getInventory().getContents();
FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);
List<?> list = cfg.getList("inventory");
for(int i = 0; i > contents.length; i++){
contents[i] = (ItemStack) list.get(i);
}
player.getInventory().setContents(contents);
file.delete();
try {
file.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
return;
}
player.openInventory(inv);
players.add(player.getName());
}
@EventHandler
public void onPlayerInteract(PlayerInteractEvent event){
Player player = event.getPlayer();
if(event.getAction() == Action.RIGHT_CLICK_AIR | event.getAction() == Action.RIGHT_CLICK_BLOCK){
try{
if(player.getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("Backpack")){
Inventory inv = Bukkit.createInventory(null, 27, "Backpack");
player.openInventory(inv);
}
}catch(NullPointerException ex) {
ex.printStackTrace();
}
}return;
}
@EventHandler
public void onInventoryClose(InventoryCloseEvent event){
Player player = (Player) event.getPlayer();
String playername = player.getName();
ArrayList<ItemStack> list = new ArrayList<>();
File file = new File("plugins/tolana/Inventory"+playername+ ".yml");
FileConfiguration inv = YamlConfiguration.loadConfiguration(file);
ItemStack[] contents = player.getInventory().getContents();
for(int i = 0; i < 27; i++){
ItemStack item = contents[i];
list.add(item);
}
inv.set("Backpack", player.getInventory().getContents());
try {
inv.save(file);
} catch (IOException e) {
}
}
}