PlayerCommandPreprocessEvent Command auslassen?
Hey wollte fragen wie ich ein Command auslasse wie /Register aber andere Command sollen nicht gehen LG MAX CODE :
package de.Login.commands;
import org.bukkit.command.Command; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerCommandPreprocessEvent;
public class CommandListener implements Listener{
@EventHandler
public void onCommand(PlayerCommandPreprocessEvent e) {
Player p = e.getPlayer();
if(!Login.Player.contains(p)) {
e.setCancelled(true);
}
}
}
3 Antworten
Im command Teil abfragen wieder command ist, wenn er nicht also (!if) Register heißt, Event canceln.
Schreiben könntest du wie auch canceln in dem du abfragt ob der Spieler registriert ist oder eben nicht. (Datenbank z.b)
@EventHandler
public void onCommand(PlayerCommandPreprocessEvent event) {
Player player = event.getPlayer();
String command = event.getMessage();
if(command.split(" ")[0].equalsIgnoreCase("/register") && !Login.Player.contains(player)) {
e.setCancelled(true);
}
}
oder so ähnlich, keine ahnung wie du dir das gedacht hast
kannst du dein problem besser erklären, also was geblockt werden soll und was nicht? und was das !Login.Player.contains(player) bedeutet?
AsyncPlayerChatEvent#getMessage -> startsWith("/")
Das funktioniert leider nicht so wie ich es wollte andere ideen? :) Trotzdem Danke