Moin, habe hier warscheinlich nur einen kleinen Logik Fehler, denn ich ohne weiteres, nicht beheben kann!
Ich wollte in meinem Code schreiben, dass wenn das Item, mitdem er/sie klickt, eine Rod ist, und den Namen eines Partikels trägt, soll er was in die Config schreiben.
Vorerst, weil es nicht funktioniert hat, habe ich noch eine Testnachricht reingehauen, die zweimal pro klick ausgelöst wird, aber warum?
Wäre sehr dankbar!
Ich wollte in meinem Code schreiben, dass wenn das Item, mitdem er/sie klickt, eine Rod ist, und den Namen eines Partikels trägt, soll er was in die Config schreiben.
Vorerst, weil es nicht funktioniert hat, habe ich noch eine Testnachricht reingehauen, die zweimal pro klick ausgelöst wird, aber warum?
Wäre sehr dankbar!
Die Methode:
@EventHandler
public void onInteract(PlayerInteractEvent event) {
Player player = (Player) event.getPlayer();
if(event.getAction() == Action.RIGHT_CLICK_BLOCK) {
for(Particle particle : Particle.values()) {
if(event.getPlayer().getItemInHand().getType() == Material.BLAZE_ROD && event.getPlayer().getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase(particle.toString().replace("_", " "))) {
System.out.println("test");
String itemname = event.getPlayer().getItemInHand().getItemMeta().getDisplayName().replace(" ", "_");
Particle item = Particle.valueOf(itemname);
Block block = event.getClickedBlock();
Location particlelocation = block.getLocation();
int nextid = particledata.getInt("Particle.nextID");
particledata.set("Particle." + nextid + ".Name", itemname);
particledata.set("Particle." + nextid + ".Location", particlelocation);
particledata.set("Particle.nextID", nextid + 1);
save();
}
}
}
}