Hallo,
ich habe folgendes Programmiert, und komme nun nicht weiter:
Code:
@EventHandler
public void onPlayerInteract(PlayerInteractEvent e) {
final Player p = e.getPlayer();
if (p.getInventory().getItemInHand().getType() == Material.STICK) {
if (e.getAction() == Action.RIGHT_CLICK_AIR) {
if (p.hasPermission("troll.lightning")) {
World world = p.getWorld();
world.strikeLightning(p.getTargetBlock(null, 1000).getLocation());
}
} else {
if (!p.hasPermission("troll.explosion")) {
p.sendMessage(ChatColor.RED + "Keine Rechte!");
} else {
if (e.getAction() == Action.LEFT_CLICK_AIR) {
World world = p.getWorld();
world.createExplosion(p.getTargetBlock(null, 500).getLocation(), 30F);
}
}
}
}
}
Ich will, das dass Event nur ausgeführt werden darf wenn ein bestimmter Befehl ausgeführt wird. Ich habe gehört das soll mit dem playerCommandPreprocessEvent gehen, ich habe allerdings keine Ahnung wie ich das Anstellen soll.
Du machst ganznormal einen Befehl. Den ausführenden Spieler speicherst du dann in eine List oder Map. Beim Rechtklick überprüfst du dann ob er da drin steht und entfernst ihn wieder, falls du das willst.
Quote:
Originally Posted by themrdomi
Ich habe gehört das soll mit dem playerCommandPreprocessEvent gehen, ich habe allerdings keine Ahnung wie ich das Anstellen soll.
Ich denke da habt ihr aneinander vorbei geredet, das was du willst geht nicht direkt mit CommandPreprocess.
Hmm,
ich komm irgendwie überhaupt nicht zurecht damit
Kannst du mir dabei bitte nochmal weiterhelfen?
Bitte sei nicht so streng, ich bin noch ein ziemlichen Newbie in Sachen Bukkit programmierung / Java.
Da fehlt eine Klammer zu ... warum siehst du das nicht? (Edit: Die meisten IDEs sagen einem sogar, dass eine Klammer fehlt ohne kryptische Meldungen)
Code:
if (aktiveSpieler.contains(p.getName())) {
//Dein Code hier
}
Quote:
Originally Posted by themrdomi
Bitte sei nicht so streng, ich bin noch ein ziemlichen Newbie in Sachen Bukkit programmierung / Java.
Bezieht sich das auf die sehr dünnen Erklärungen?
Es geht mir vorallem darum, das du deinen Kopf einschaltest und selber etwas suchst und rumprobierst. Wenn ich die Lösung schreibe lernst du nicht so viel.
Ausserdem: Verwende nie System.out.println, lieber einen Logger (Wenn du nicht weißt was das ist --> Java Lernen)
Dann: Diese "List" gehört am besten über den onEnable Teil bei welchem eig. @Override fehlt
Und zu guter letzt: Verwende lieber List<String> aktiveSpieler = new ArrayList<String>();
Ist übersichtshalber besser und du kannst durch deine IDE später bei Fehlern besser kontrollieren mit was die List gefüllt sein müsste
Bukkit Plugin Programmierung: 2 Befehle 07/14/2013 - Minecraft - 8 Replies Hallo,
ich habe ein Plugin programmiert, welches einfach einen Text ausgeben soll.
Ich habe zwei Befehle eingebaut, allerdings funktioniert nur der eine. In der plugin.yml ist alles korrekt.
Hier ist der link zu Pastebin: klick
Vielleicht findet ihr ja den Fehler und könnt mir helfen.
LG
Dominik
[B] Bukkit-Plugin-Programmierung [S] e-Gold 05/21/2013 - elite*gold Trading - 0 Replies Hey,
ich mache euch für eGold/PSC/PayPal Bukkit Plugins.
Schreibt mir einfach eine PN mit genauer Pluginbeschreibung + Preisvorschlag.
Oder addet mich bei Skype:
Beyblader22
Gruß,
[B] Bukkit Plugin Programmierung [S] PSC 05/20/2013 - Trading - 0 Replies Hallo liebe Community,
Ich biete mich als Bukkit Plugin Programmierer an. Auch schwere Plugins sind kein Problem.
Preis: Je nach Aufwand zwischen 10-200 €
Referenzen biete ich auf Nachfrage via PM/Skype.
Kontakt:
Skype: stevenst7
via PM.