|
@@ -1,6 +1,7 @@
|
|
|
package me.kcm.command;
|
|
|
|
|
|
import java.util.Collections;
|
|
|
+import java.util.LinkedList;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
import javax.annotation.Nullable;
|
|
@@ -17,6 +18,7 @@ import net.minecraftforge.event.CommandEvent;
|
|
|
|
|
|
public class ModServerCommandManager extends ServerCommandManager
|
|
|
{
|
|
|
+ private LinkedList<String> events = new LinkedList<>();
|
|
|
private ICommandManager manager;
|
|
|
|
|
|
public ModServerCommandManager(MinecraftServer serverIn)
|
|
@@ -46,6 +48,11 @@ public class ModServerCommandManager extends ServerCommandManager
|
|
|
public void printMissingPermission(ICommandSender cs, ICommand command)
|
|
|
{
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onRegisterCommand(ICommand command, String domain)
|
|
|
+ {
|
|
|
+ }
|
|
|
};
|
|
|
}
|
|
|
|
|
@@ -59,6 +66,11 @@ public class ModServerCommandManager extends ServerCommandManager
|
|
|
this.manager = manager;
|
|
|
}
|
|
|
|
|
|
+ public void registerRegistryEvent(String s)
|
|
|
+ {
|
|
|
+ events.add(s);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void notifyListener(ICommandSender cs, ICommand command, int flags, String key, Object... args)
|
|
|
{
|
|
@@ -155,4 +167,31 @@ public class ModServerCommandManager extends ServerCommandManager
|
|
|
.map(e -> e.getValue())
|
|
|
.collect(Collectors.toList());
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ICommand registerCommand(ICommand command)
|
|
|
+ {
|
|
|
+ String s = null;
|
|
|
+ out: for(StackTraceElement e : Thread.currentThread().getStackTrace())
|
|
|
+ {
|
|
|
+ String name = e.getClassName();
|
|
|
+ if(events == null)
|
|
|
+ {
|
|
|
+ events = new LinkedList<>();
|
|
|
+ }
|
|
|
+ for(String start : events)
|
|
|
+ {
|
|
|
+ if(name.startsWith(start))
|
|
|
+ {
|
|
|
+ s = name;
|
|
|
+ break out;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(s != null)
|
|
|
+ {
|
|
|
+ manager.onRegisterCommand(command, s);
|
|
|
+ }
|
|
|
+ return super.registerCommand(command);
|
|
|
+ }
|
|
|
}
|