Add SWCommand.Register.Registeres #104
@ -22,6 +22,8 @@ package de.steamwar.command;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
import java.lang.reflect.Method;
|
||||
@ -60,7 +62,6 @@ public abstract class SWCommand {
|
||||
.filter(Objects::nonNull)
|
||||
.flatMap(Collection::stream)
|
||||
.filter(s -> !s.isEmpty())
|
||||
.filter(s -> !s.isBlank())
|
||||
.filter(s -> s.toLowerCase().startsWith(string))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
@ -167,6 +168,16 @@ public abstract class SWCommand {
|
||||
SWCommandUtils.commandMap.register("steamwar", this.command);
|
||||
}
|
||||
|
||||
public void inject(Plugin plugin) {
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
SWCommand.this.unregister();
|
||||
SWCommand.this.register();
|
||||
}
|
||||
}.runTask(plugin);
|
||||
}
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ElementType.METHOD})
|
||||
@Repeatable(Register.Registeres.class)
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren
Das wirkt mir nach einem sehr dreckigen workaround, geht das nicht schöner?
Dies ist eigentlich kein so dreckiger workdaround, dies ist dafür da, dass man die Befehle erst nachdem alle Plugins initialisiert sind geladen werden. Dies ist besonders interessant bei so sachen, wenn man WE Command oder so überschreibt, wenn diese später als das hier erstellt werden. Ansonsten hat Zeanon die Änderungen getestet und keine Fehler gefunden. Ich glaube sogar das es etwas besser läuft, was ich aber noch nicht nachgewiesen habe.
Das ist nicht nötig, dann soll man das zumindest als soft-dependend markieren, dann können die Befehle auch sofort überschrieben werden.
Wenn du meinst. Dann schmeiße ich es dir noch raus.