Hallo miteinander, 
vorab ich bin Anfänger in der Minecraft Programmierung, die Grundlagen von Java sind mir aber bereits geläufig.
Ich habe mich an ein kleines HealPlugin gesetzt, soweit so gut, funktioniert auch, lediglich gibt es einen Punkt der mich stört
. Ich habe hier Permissions mit eingebaut und zwar die "test.heal.other", hat ein Spieler diese, kann er andere Spieler heilen. Hat er diese nicht soll die Meldung kommen, dass er keine Rechte für den Befehl hat.
Im Ingame Test schaut es aber anders aus
, hat ein Spieler keine Rechte um einen anderen zu heilen und gibt trotzdem den Befehl /heal [Spielername] ein, kommt nicht die Meldung, dass er keine Rechte hat, sondern die Meldung dass der angegebene Spieler nicht online ist. Das ist mein Problem... Ich denke irgendwo ist ein Drehfehler von der Anordnung, ich finde ihn aber nicht.
Zudem wolle ich wissen, ob mein Schreibstil an sich in Ordnung ist, oder ob hier auch Verbesserungen vorgenommen werden müssen.
Danke schon jetzt für alle konstruktiven Kommentare.
################################################################################################################################
package de.Steini.test.commands;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class HealCommand implements CommandExecutor{
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if(sender instanceof Player) {
Player player = (Player) sender;
if(args.length == 0) {
if(player.hasPermission("test.heal.self")) {
player.setHealth(20);
player.sendMessage("§2Du hast dich soeben geheilt");
}else
player.sendMessage("§4Du hast für diesen Befehl keine Rechte");
}else if(args.length == 1) {
Player target = Bukkit.getPlayer(args[0]);
if(target !=null) {
if(player.hasPermission("test.heal.other")) {
target.setHealth(20);
target.sendMessage("§2Du wurdest soeben von " + player.getName() + " geheilt");
player.sendMessage("§2Du hast soeben " + player.getName() + " geheilt");
}else
player.sendMessage("§4Du hast für diesen Befehl keine Rechte");
}else
player.sendMessage("Der angegebene Spieler ist nicht online");
}else
player.sendMessage("Um einen anderen Spieler zu heilen gebe /heal [Spielername] ein");
}else
System.out.println("Die Konsole kann diesen Befehle nicht ausführen");
return false;
}
}
vorab ich bin Anfänger in der Minecraft Programmierung, die Grundlagen von Java sind mir aber bereits geläufig.
Ich habe mich an ein kleines HealPlugin gesetzt, soweit so gut, funktioniert auch, lediglich gibt es einen Punkt der mich stört
Im Ingame Test schaut es aber anders aus
Zudem wolle ich wissen, ob mein Schreibstil an sich in Ordnung ist, oder ob hier auch Verbesserungen vorgenommen werden müssen.
Danke schon jetzt für alle konstruktiven Kommentare.
################################################################################################################################
package de.Steini.test.commands;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class HealCommand implements CommandExecutor{
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if(sender instanceof Player) {
Player player = (Player) sender;
if(args.length == 0) {
if(player.hasPermission("test.heal.self")) {
player.setHealth(20);
player.sendMessage("§2Du hast dich soeben geheilt");
}else
player.sendMessage("§4Du hast für diesen Befehl keine Rechte");
}else if(args.length == 1) {
Player target = Bukkit.getPlayer(args[0]);
if(target !=null) {
if(player.hasPermission("test.heal.other")) {
target.setHealth(20);
target.sendMessage("§2Du wurdest soeben von " + player.getName() + " geheilt");
player.sendMessage("§2Du hast soeben " + player.getName() + " geheilt");
}else
player.sendMessage("§4Du hast für diesen Befehl keine Rechte");
}else
player.sendMessage("Der angegebene Spieler ist nicht online");
}else
player.sendMessage("Um einen anderen Spieler zu heilen gebe /heal [Spielername] ein");
}else
System.out.println("Die Konsole kann diesen Befehle nicht ausführen");
return false;
}
}