1
1
package bukkit ;
2
2
3
+ import org .bukkit .plugin .Plugin ;
4
+ import org .jetbrains .annotations .NotNull ;
3
5
import team .unnamed .commandflow .CommandManager ;
4
6
import team .unnamed .commandflow .SimpleCommandManager ;
5
7
import team .unnamed .commandflow .bukkit .BukkitAuthorizer ;
18
20
public class BukkitMapCommandManager extends BukkitCommandManager {
19
21
20
22
protected CommandMap bukkitCommandMap ;
23
+ @ NotNull
21
24
protected final String fallbackPrefix ;
22
25
26
+ protected Plugin plugin ;
27
+
28
+ protected boolean usePluginCommands = false ;
29
+
23
30
protected final Map <String , BukkitCommandWrapper > wrapperMap ;
24
31
25
- public BukkitMapCommandManager (CommandManager delegate , String fallbackPrefix ) {
32
+ public BukkitMapCommandManager (CommandManager delegate , Plugin plugin ) {
33
+ this (delegate , plugin .getName ());
34
+
35
+ this .plugin = plugin ;
36
+ usePluginCommands = true ;
37
+ }
38
+
39
+ public BukkitMapCommandManager (CommandManager delegate , @ NotNull String fallbackPrefix ) {
26
40
super (delegate );
27
41
this .fallbackPrefix = fallbackPrefix ;
28
42
wrapperMap = new HashMap <>();
@@ -35,9 +49,15 @@ public BukkitMapCommandManager(CommandManager delegate, String fallbackPrefix) {
35
49
} catch (NoSuchFieldException | IllegalAccessException ex ) {
36
50
Bukkit .getLogger ().log (Level .SEVERE , "Failed to get command map: " , ex );
37
51
}
52
+ }
38
53
54
+ public BukkitMapCommandManager (Plugin plugin ) {
55
+ this (plugin .getName ());
56
+ this .plugin = plugin ;
57
+ this .usePluginCommands = true ;
39
58
}
40
59
60
+
41
61
public BukkitMapCommandManager (String fallbackPrefix ) {
42
62
this (new SimpleCommandManager (), fallbackPrefix );
43
63
@@ -48,8 +68,9 @@ public BukkitMapCommandManager(String fallbackPrefix) {
48
68
49
69
@ Override
50
70
protected void _register (Command command ) {
51
- BukkitCommandWrapper bukkitCommand = new BukkitCommandWrapper (command ,
52
- this , getTranslator ());
71
+ BukkitCommandWrapper bukkitCommand = usePluginCommands ?
72
+ new PluginBukkitCommandWrapper (command , this , getTranslator (), plugin ) :
73
+ new BukkitCommandWrapper (command , this , getTranslator ());
53
74
54
75
for (String alias : command .getAliases ()) {
55
76
registerCommand (fallbackPrefix + ":" + alias , command );
0 commit comments