K
Kleeraphie
Guest
Hi,
ich programmiere gerade ein Plugin, das Hebel automatisch bei einer bestimmten Spielerzahl umlegt, allerdings funktioniert der Command noch nicht. Das Plugin gibt immer nur /acd zurück und im Log steht kein Fehler.
Der Code:
ich programmiere gerade ein Plugin, das Hebel automatisch bei einer bestimmten Spielerzahl umlegt, allerdings funktioniert der Command noch nicht. Das Plugin gibt immer nur /acd zurück und im Log steht kein Fehler.
Der Code:
Code:
package autoclockdeaktivator.kleeraphie.de;
import org.bukkit.command.CommandExecutor;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.material.Lever;
import java.io.File;
public class Main extends JavaPlugin implements Listener, CommandExecutor {
public String prefix = "§7[§2" + "AutoClockDeaktivator" + "§2]";
public String error = prefix + "§cBitte benutze /acd add oder /acd remove <Hebel-Nummer>!";
public String noperm = prefix + "§cDafür hast du nicht genügend Berechtigungen!";
public File file;
public FileConfiguration cfg;
private int Nummer = 0;
private CommandSender sender;
private Command cmd;
private String label;
private String[] args;
private PlayerInteractEvent e;
@Override
public void onEnable() {
saveDefaultConfig();
file = new File("plugins/AutoClockDeaktivator", "config.yml");
cfg = YamlConfiguration.loadConfiguration(file);
Bukkit.getConsoleSender().sendMessage(prefix + "§a erfolgreich aktiviert!");
getCommand("acd").setExecutor(this);
this.getServer().getPluginManager().registerEvents(this, this);
}
@Override
public void onDisable() {
Bukkit.getConsoleSender().sendMessage(prefix + "§a erfolgreich deaktiviert");
}
public void onMaxPlayers() {
if(Bukkit.getOnlinePlayers().size() >= cfg.getInt("Maximale Spieler")) {
int maxNummer;
for(maxNummer = 0; maxNummer <= Nummer; maxNummer++) {
World w = (World) this.getConfig().getConfigurationSection("Hebel-Nummer" + Nummer).get("Welt");
int X = (int) this.getConfig().getConfigurationSection("Hebel-Nummer" + Nummer).get("X");
int Y = (int) this.getConfig().getConfigurationSection("Hebel-Nummer" + Nummer).get("Y");
int Z = (int) this.getConfig().getConfigurationSection("Hebel-Nummer" + Nummer).get("Z");
Block lever = w.getBlockAt(X, Y, Z);
BlockState bs = lever.getState();
((Lever) lever).setPowered(true);
bs.update();
}
}
}
public boolean onCommand(CommandSender sender,Command cmd, String label, String[] args, PlayerInteractEvent e) {
if(sender instanceof Player) {
Player p = (Player) sender;
Block b = e.getClickedBlock();
if(cmd.getName().equalsIgnoreCase("acd")) {
if(p.hasPermission("acd.use")) {
if(args[0].equalsIgnoreCase("add")) {
p.sendMessage("§eBitte klicke auf den Hebel, der hinzugefügt werden soll!");
if(e.getAction() == Action.RIGHT_CLICK_BLOCK) {
if(b instanceof Lever) try {
String name = p.getName();
String world = p.getWorld().getName();
double x = b.getLocation().getX();
double y = b.getLocation().getY();
double z = b.getLocation().getZ();
FileConfiguration cfg = getConfig();
cfg.createSection("Hebel-Nummer" + Nummer + 1);
cfg.getConfigurationSection("Hebel-Nummer" + Nummer).set("Besitzer", name);
cfg.getConfigurationSection("Hebel-Nummer" + Nummer).set("Welt", world);
cfg.getConfigurationSection("Hebel-Nummer" + Nummer).set("X", x);
cfg.getConfigurationSection("Hebel-Nummer" + Nummer).set("Y", y);
cfg.getConfigurationSection("Hebel-Nummer" + Nummer).set("Z", z);
saveConfig();
p.sendMessage("§2Der " + "§aHebel " + "§2wurde hinzugefügt!");
e.setCancelled(true);
} catch (Exception e2) {
System.out.println(e2.toString()); // nur jetzt um zu gucken, ob Fehler auftreten
}
else {
p.sendMessage(prefix + "§cDu musst auf ein Hebel klicken");
}
}
}
else if(args[0].equalsIgnoreCase("remove")) {
if(args[0] != null) {
try{
e.getPlayer();
b.getLocation();
String Hebelnummer = args[0];
String Name = p.getName();
if(Name == this.getConfig().getConfigurationSection(Hebelnummer).get("Besitzer") | p.hasPermission("acd.all")) {
ConfigurationSection section = cfg.getConfigurationSection(Hebelnummer);
section.set(Hebelnummer, null);
p.sendMessage("§2Der " + "§aHebel " + "§2wurde entfernt!");
} else {
p.sendMessage("§cDu musst den Hebel hinzugefügt haben, um ihn entfernen zu dürfen!");
}
} catch(Exception e1){
System.out.println(e1.toString()); // nur jetzt um zu gucken, ob Fehler auftreten)
p.sendMessage(prefix + "§cDer Hebel wurde noch nicht hinzuefügt!");
}
}
} else{
p.sendMessage(error);
}
} else {
p.sendMessage(noperm);
return true;
}
}
}
return true;
}
}