PlayerPickupItemEvent geht nicht?

07/21/2014 03:59 milsowa#1
Moin ich benutze die 1.7.10 craftbukkit version aber es möchte die Aktion nicht ausführen ich habe es mit e.getPlayer().sendMessage("Test"); ausgetestet und es hat funktioniert aber meinen code will es nicht ausführen. Und bei den anderen Events (Quit, drop) mit genau den gleichen code Funktioniert es einwandfrei.
Code:
    @EventHandler
    public void take(org.bukkit.event.player.PlayerPickupItemEvent e) throws IOException{
		File lol = new File("plugins/SaveSlots/Players/", e.getPlayer().getUniqueId() + ".yml");
		FileConfiguration lol2 = YamlConfiguration.loadConfiguration(lol);
		if(lol2.getBoolean("Slot1.inuse", true)) {
			
		lol2.set("Slot1.Items", e.getPlayer().getInventory().getContents());
	    lol2.set("Slot1.Armor", e.getPlayer().getInventory().getArmorContents());
	    lol2.save(lol);
		}
		else if(lol2.getBoolean("Slot2.inuse", true)) {
			
		lol2.set("Slot2.Items", e.getPlayer().getInventory().getContents());
	    lol2.set("Slot2.Armor", e.getPlayer().getInventory().getArmorContents());
	    lol2.save(lol);
		} 
		else if(lol2.getBoolean("Slot3.inuse", true)) {
			
			lol2.set("Slot3.Items", e.getPlayer().getInventory().getContents());
		    lol2.set("Slot3.Armor", e.getPlayer().getInventory().getArmorContents());
		    lol2.save(lol);
			}		
	}
edit: if anfragen funktionieren einwandfrei nur die aktion wird komischerweise nichts ausgeführt.
edit2: ich weißt jetzt woran es liegt kennt zufällig einer eine möglichkeit wait(); oder Thread.sleep(); ohne delay des items aufheben anzuwenden?
07/21/2014 14:31 False#2
Schreib doch statt "org.bukkit.event.player.PlayerPickupItemEvent " nur PlayerPickupItemEvent das ist viel gründlicher, desweiteren gib deinen Variablen aussagekräftige Namen nicht sowas wie "lol" oder "lol2".

Wieso ist hier ein Komma?
("plugins/SaveSlots/Players/", e.getPlayer().getUniqueId() + ".yml")

Ansonsten sollte der Code eigentlich aber gehen,frage mich aber wofür du wait() bzw Thread.sleep() benutzen willst.
07/21/2014 14:39 milsowa#3
Weil das Inevnatr bevor er das item im inventar hat gespeichert wird.
07/21/2014 14:41 False#4
Dann benutz ein [Only registered and activated users can see links. Click Here To Register...], dann wird erst nach x-sekunden das invi gespeichert.
07/21/2014 14:49 milsowa#5
Ok danke ich werde es mal versuchen.