Hey
Ich habe ein Problem ich möchte das , das Plugin das item erkennt (Backpack) also ein stick nur umbenannt aber er nimmt beides.
Und er erstellt kein ordner in dem jeder Player abgespeichert wird also sein Inventar
Hier mal der Code
Ich habe ein Problem ich möchte das , das Plugin das item erkennt (Backpack) also ein stick nur umbenannt aber er nimmt beides.
Und er erstellt kein ordner in dem jeder Player abgespeichert wird also sein Inventar
Hier mal der Code
Code:
public class backpack implements Listener{
public backpack(JavaPlugin plugin){
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
Inventory inv = null;
ArrayList<String> players = new ArrayList<String>();
public boolean openInventory(Player player){
this.checkOrdner();
inv = Bukkit.createInventory(null, 27, "Inventar");
String playername = player.getName();
File file = new File("plugins//tolana//Inventory//"+playername+ ".yml");
FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);
if(!file.exists()){
try {
file.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
return true;
}
for(int i = 0; i < inv.getSize(); i++){
List<?> list = cfg.getList("inventory");
inv.setItem(i, (ItemStack) list.get(i));
}
player.openInventory(inv);
players.add(player.getName());
return true;
}
public void checkOrdner(){
File file = new File("plugins//tolana//Inventory//");
if(!file.exists()){
file.mkdir();
}
}
@EventHandler
public void onPlayerInteract(PlayerInteractEvent event){
Player player = event.getPlayer();
ItemStack itemInHand = player.getItemInHand();
if(itemInHand == null){
return;
}
if(itemInHand.getType().equals(Material.STICK) && (event.getAction() == Action.RIGHT_CLICK_AIR)){
ItemStack item = new ItemStack(Material.STICK);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName("Backpack");
openInventory(player);
}
return;
}
@EventHandler
public void onInventoryClose(InventoryCloseEvent event){
Player player = (Player) event.getPlayer();
String playername = player.getName();
File file = new File("plugins//tolana//Inventory//"+playername+ ".yml");
FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);
inv = event.getInventory();
if(players.contains(player.getName())){
players.remove(player.getName());
cfg.set("inventory", inv.getContents());
try {
cfg.save(file);
} catch (IOException e1) {
e1.printStackTrace();
}
}
return;
}
}
[code]