PluginHooker
PluginHooker is a Bukkit plugin that aims to provide an ultimately simple and better method to hook Bukkit events.
Localization
Features
- Hook events for every player.
- Bukkit events included.
- ProtocolLib events/packets included.
Tested Versions
Usage
Add the following repository to your pom.xml:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
...
</repositories>
Then add the following dependency
<dependencies>
<dependency>
<groupId>com.github.Diona-testserver</groupId>
<artifactId>PluginHooker</artifactId>
<version>0.6.0</version>
</dependency>
...
</dependencies>
Add/remove plugins that need to be hooked
public void hookPlugin() {
DionaPluginHooker.getPluginManager().addPlugin(pluginToHook);
}
public void unHookPlugin() {
DionaPluginHooker.getPluginManager().removePlugin(pluginToHook);
}
Enable/disable the specified plugin for the player
public void enablePluginForPlayer(Player player) {
DionaPlayer dionaPlayer = DionaPluginHooker.getPlayerManager().getDionaPlayer(player);
if (dionaPlayer == null) {
return;
}
dionaPlayer.enablePlugin(pluginToHook);
}
public void disablePluginForPlayer(Player player) {
DionaPlayer dionaPlayer = DionaPluginHooker.getPlayerManager().getDionaPlayer(player);
if (dionaPlayer == null) {
return;
}
dionaPlayer.disablePlugin(pluginToHook);
}
To intercept or perform a custom action when an event is executed, add an event listener
public class ExampleListener implements Listener {
@EventHandler
public void onBukkitEvent(DionaBukkitListenerEvent event) {
// do something
}
@EventHandler
public void onProtocolLibEvent(DionaProtocolLibPacketEvent event) {
// do something
}
}
Special Thanks
- Poke for his help with event hook and event list.