32
32
33
33
import com .google .common .base .Charsets ;
34
34
35
- import io .papermc .paper .plugin .configuration .PluginMeta ;
36
-
37
35
public class BlackBoxPlugin implements Plugin {
38
36
String library ;
39
37
BlackBox parent ;
@@ -49,45 +47,64 @@ public class BlackBoxPlugin implements Plugin {
49
47
private FileConfiguration newConfig = null ;
50
48
private File configFile = null ;
51
49
52
- private PluginMeta pluginMeta = null ;
50
+ BlackBoxPluginListener listener ;
51
+
52
+ public class BlackBoxPluginListener implements Listener {
53
+ BlackBoxPlugin plugin ;
54
+ RegisteredListener registeredListener ;
55
+ String library ;
56
+
57
+ public BlackBoxPluginListener (BlackBoxPlugin plugin , String library ) {
58
+ this .plugin = plugin ;
59
+ this .registeredListener = new RegisteredListener (this , this ::onEvent , EventPriority .NORMAL , plugin , false );
60
+ for (HandlerList handler : HandlerList .getHandlerLists ()) {
61
+ handler .register (this .registeredListener );
62
+ }
63
+ }
53
64
54
- RegisteredListener registeredListener = null ;
65
+ public void onEvent (Listener listener , Event event ) {
66
+ // get the event name
67
+ String name = event .getEventName ();
68
+ String hookName = "__on__" + name ;
69
+ this .plugin .getLogger ().info (hookName );
70
+
71
+ try {
72
+ boolean result = Native .libraryHasFunction (library , hookName );
73
+ if (result == false ) {
74
+ HandlerList handler = event .getHandlers ();
75
+ handler .unregister (registeredListener );
76
+ } else {
77
+ Native .sendEvent (library , hookName , event );
78
+ }
79
+ } catch (Exception ex ) {
80
+ this .plugin .getLogger ().severe (ex .toString ());
81
+ }
82
+ }
83
+ }
55
84
56
- BlackBoxPlugin (String library , BlackBox parent , PluginLoader loader ) throws IOException {
85
+ BlackBoxPlugin (String library , BlackBox parent , PluginLoader loader ) {
57
86
this .library = library ;
58
87
this .isEnabled = true ;
59
88
this .naggable = true ;
60
89
this .parent = parent ;
61
90
File pluginsFolder = parent .getDataFolder ().getParentFile ();
62
91
if (!Paths .get (pluginsFolder .getPath (), library ).toFile ().exists ()) {
63
- Paths .get (pluginsFolder .getPath (), library ).toFile ().createNewFile ();
92
+ pluginsFolder .mkdir ();
93
+ Paths .get (pluginsFolder .getPath (), library ).toFile ().mkdir ();
64
94
}
65
95
this .dataFolder = Paths .get (pluginsFolder .getPath (), library ).toFile ();
66
96
this .loader = loader ;
67
-
68
- this .pluginMeta = new BlackBoxPluginMeta ( library );
97
+ this . file = new File ( library );
98
+ this .listener = new BlackBoxPluginListener ( this , this . library );
69
99
}
70
100
71
- public void setRegisteredListener ( RegisteredListener registeredListener ) {
72
- this . registeredListener = registeredListener ;
101
+ public String getInnerLibraryName ( ) {
102
+ return library ;
73
103
}
74
104
75
- public void onEvent (Listener listener , Event event ) {
76
- // get the event name
77
- String name = event .getEventName ();
78
- String hookName = "__on__" + name ;
79
-
80
- try {
81
- boolean result = Native .libraryHasFunction (library , hookName );
82
- if (result == false ) {
83
- HandlerList handler = event .getHandlers ();
84
- handler .unregister (registeredListener );
85
- } else {
86
- Native .sendEvent (library , hookName , event );
87
- }
88
- } catch (Exception ex ) {
89
- this .getLogger ().severe (ex .toString ());
90
- }
105
+ @ Override
106
+ public String getName () {
107
+ return library ;
91
108
}
92
109
93
110
Object execNative (String functionName , Object [] objects ) {
@@ -107,15 +124,6 @@ Object execNative(String functionName, Object[] objects) {
107
124
return null ;
108
125
}
109
126
110
- public String getInnerLibraryName () {
111
- return library ;
112
- }
113
-
114
- @ Override
115
- public String getName () {
116
- return library ;
117
- }
118
-
119
127
@ Override
120
128
public FileConfiguration getConfig () {
121
129
Object func = execNative ("getConfig" , new Object [] {});
@@ -289,10 +297,6 @@ public void saveResource(String resourcePath, boolean replace) {
289
297
}
290
298
}
291
299
292
- public PluginMeta getPluginMeta () {
293
- return this .pluginMeta ;
294
- }
295
-
296
300
@ Override
297
301
public String toString () {
298
302
Object func = execNative ("toString" , new Object [] {});
0 commit comments