fix(paper): Unregister plugin channels on plugin disable

This commit is contained in:
4drian3d 2022-07-12 16:10:57 +00:00
parent 57fe83c2e8
commit cc3803307e

View File

@ -12,19 +12,28 @@ import org.jetbrains.annotations.NotNull;
public class AuthMeVelocityPlugin extends JavaPlugin { public class AuthMeVelocityPlugin extends JavaPlugin {
private static final String CHANNEL = "authmevelocity:main"; private static final String CHANNEL = "authmevelocity:main";
@Override @Override
public void onEnable() { public void onEnable() {
this.getServer().getMessenger().registerOutgoingPluginChannel(this, CHANNEL); this.getServer().getMessenger().registerOutgoingPluginChannel(this, CHANNEL);
this.getServer().getMessenger().registerIncomingPluginChannel(this, CHANNEL, new MessageListener()); this.getServer().getMessenger().registerIncomingPluginChannel(this, CHANNEL, new MessageListener());
this.getServer().getPluginManager().registerEvents(new AuthMeListener(this), this); this.getServer().getPluginManager().registerEvents(new AuthMeListener(this), this);
if(this.getServer().getPluginManager().isPluginEnabled("MiniPlaceholders")){ if (this.getServer().getPluginManager().isPluginEnabled("MiniPlaceholders")) {
AuthmePlaceholders.getExpansion().register(); AuthmePlaceholders.getExpansion().register();
} }
this.getSLF4JLogger().info("AuthMeVelocity enabled"); this.getSLF4JLogger().info("AuthMeVelocity enabled");
} }
@Override
public void onDisable() {
this.getServer().getMessenger().unregisterOutgoingPluginChannel(this, CHANNEL);
this.getServer().getMessenger().unregisterIncomingPluginChannel(this, CHANNEL);
this.getSLF4JLogger().info("AuthmeVelocity disabled");
}
public void sendMessageToProxy(final Player player, @NotNull MessageType type, @NotNull String playername) { public void sendMessageToProxy(final Player player, @NotNull MessageType type, @NotNull String playername) {
ByteArrayDataOutput out = ByteStreams.newDataOutput(); ByteArrayDataOutput out = ByteStreams.newDataOutput();
out.writeUTF(type.toString()); out.writeUTF(type.toString());