Bukkit Fly Plugin Fehler?
Hey,
Wie in der Frage, ich habe ein Mini-Fly Plugin programmiert, also wenn ich /fly mache kann ich fliegen, aber wenn ich wieder /fly mache steht zwar "Du fliegst nun nicht mehr", aber ich fliege trotzdem noch :)
Hier der Code:
package at.mxnu.kcc.commands;
import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player;
public class FlyCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender s, Command cmd, String cmdlabel, String[] args) {
Player p = (Player) s;
if(s instanceof Player) {
if(args.length == 0) {
if(p.hasPermission("kcc.fly")) {
if(p.isFlying()) {
p.sendMessage("§7Du kannst nun nicht mehr fliegen.");
p.setFlying(false);
p.setAllowFlight(false);
} else if(!p.isFlying()) {
p.sendMessage("§7Du kannst nun fliegen.");
p.setAllowFlight(true);
p.setFlying(true);
}
}
}
}
return false;
}
}
1 Antwort
Nutzer, der sehr aktiv auf gutefrage ist
if(p.isFlying()) {
p.sendMessage("§7Du kannst nun nicht mehr fliegen.");
p.setFlying(false);
p.setAllowFlight(false);
Mit p.isFlying() fragst du ab, ob der Spieler fliegt. Wenn also der Befehl eingegeben wird wenn der Spieler fliegen darf, aber nicht fliegt, wird Fliegen nicht deaktiviert. Statt abzufragen, ob der Spieler fliegt, musst du überprüfen ob der Spieler fliegen darf. Das geht mit der Methode p.getAllowFlight().
Woher ich das weiß:Studium / Ausbildung – Ausbildung Fachinformatiker Anwendungsentwicklung
Hey ,
Danke für deine Antwort sie hat funktioniert ! :)
LG MxnuYT aka Manu ;D