Skip to content

Commit 1eb210b

Browse files
committed
Refactor to use dynamic listener api and seal the listener classes
1 parent aef6955 commit 1eb210b

File tree

6 files changed

+20
-20
lines changed

6 files changed

+20
-20
lines changed

src/main/java/org/mvplugins/multiverse/signportals/MultiverseSignPortals.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public void onLoad() {
3333
public void onEnable() {
3434
initializeDependencyInjection(new MultiverseSignPortalsPluginBinder(this));
3535
Logging.setDebugLevel(serviceLocator.getActiveService(CoreConfig.class).getGlobalDebug());
36-
registerEvents(SignPortalsListener.class);
36+
registerDynamicListeners(SignPortalsListener.class);
3737

3838
Logging.config("Version %s (API v%s) Enabled - By %s",
3939
this.getDescription().getVersion(), getVersionAsNumber(), StringFormatter.joinAnd(this.getDescription().getAuthors()));

src/main/java/org/mvplugins/multiverse/signportals/listeners/MVSPBlockListener.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.bukkit.plugin.PluginManager;
1616
import org.mvplugins.multiverse.core.destination.DestinationInstance;
1717
import org.mvplugins.multiverse.core.destination.DestinationsProvider;
18+
import org.mvplugins.multiverse.core.dynamiclistener.annotations.EventMethod;
1819
import org.mvplugins.multiverse.core.teleportation.AsyncSafetyTeleporter;
1920
import org.mvplugins.multiverse.external.jakarta.inject.Inject;
2021
import org.mvplugins.multiverse.external.jetbrains.annotations.NotNull;
@@ -30,15 +31,14 @@
3031
import org.bukkit.block.Sign;
3132
import org.bukkit.entity.Entity;
3233
import org.bukkit.entity.Player;
33-
import org.bukkit.event.EventHandler;
3434
import org.bukkit.event.block.BlockBreakEvent;
3535
import org.bukkit.event.block.BlockRedstoneEvent;
3636
import org.bukkit.event.block.SignChangeEvent;
3737

3838
import static org.mvplugins.multiverse.core.permissions.PermissionUtils.hasPermission;
3939

4040
@Service
41-
public class MVSPBlockListener implements SignPortalsListener {
41+
final class MVSPBlockListener implements SignPortalsListener {
4242
private final String CREATE_PERM = "multiverse.signportal.create";
4343
private final MultiverseSignPortals plugin;
4444
private final PortalDetector pd;
@@ -58,7 +58,7 @@ public MVSPBlockListener(@NotNull MultiverseSignPortals plugin,
5858
pluginManager.addPermission(new Permission(CREATE_PERM, PermissionDefault.OP));
5959
}
6060

61-
@EventHandler
61+
@EventMethod
6262
public void onSignChange(SignChangeEvent event) {
6363
if (event.isCancelled()) {
6464
return;
@@ -71,7 +71,7 @@ public void onSignChange(SignChangeEvent event) {
7171
}
7272
}
7373

74-
@EventHandler
74+
@EventMethod
7575
public void redstonePower(BlockRedstoneEvent event) {
7676
if (event.getNewCurrent() <= 0) {
7777
return;
@@ -140,7 +140,7 @@ private Block getNearbySign(Block block, boolean torch) {
140140
return null;
141141
}
142142

143-
@EventHandler
143+
@EventMethod
144144
public void onBlockBreak(BlockBreakEvent event) {
145145
if (event.isCancelled()) {
146146
return;

src/main/java/org/mvplugins/multiverse/signportals/listeners/MVSPPlayerListener.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.bukkit.plugin.PluginManager;
1515
import org.mvplugins.multiverse.core.destination.DestinationInstance;
1616
import org.mvplugins.multiverse.core.destination.DestinationsProvider;
17+
import org.mvplugins.multiverse.core.dynamiclistener.annotations.EventMethod;
1718
import org.mvplugins.multiverse.core.teleportation.AsyncSafetyTeleporter;
1819
import org.mvplugins.multiverse.external.jakarta.inject.Inject;
1920
import org.mvplugins.multiverse.external.jetbrains.annotations.NotNull;
@@ -25,15 +26,14 @@
2526
import org.bukkit.ChatColor;
2627
import org.bukkit.block.Sign;
2728
import org.bukkit.entity.Player;
28-
import org.bukkit.event.EventHandler;
2929
import org.bukkit.event.block.Action;
3030
import org.bukkit.event.player.PlayerInteractEvent;
3131
import org.bukkit.event.player.PlayerPortalEvent;
3232

3333
import static org.mvplugins.multiverse.core.permissions.PermissionUtils.hasPermission;
3434

3535
@Service
36-
public class MVSPPlayerListener implements SignPortalsListener {
36+
final class MVSPPlayerListener implements SignPortalsListener {
3737

3838
private static final String USE_PERMISSION = "multiverse.signportal.use";
3939
private static final String VALIDATE_PERMISSION = "multiverse.signportal.validate";
@@ -57,7 +57,7 @@ public class MVSPPlayerListener implements SignPortalsListener {
5757
* Called when the portal is ready to take the player to the destination.
5858
* @param event The Portal event.
5959
*/
60-
@EventHandler
60+
@EventMethod
6161
public void playerPortal(PlayerPortalEvent event) {
6262
if (event.isCancelled()) {
6363
return;
@@ -94,7 +94,7 @@ public void playerPortal(PlayerPortalEvent event) {
9494
* Called when a player clicks on anything.
9595
* @param event The Interact event.
9696
*/
97-
@EventHandler
97+
@EventMethod
9898
public void playerInteract(PlayerInteractEvent event) {
9999
// The event must not be canceled...
100100
if (event.isCancelled()) {

src/main/java/org/mvplugins/multiverse/signportals/listeners/MVSPPluginListener.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77

88
package org.mvplugins.multiverse.signportals.listeners;
99

10+
import org.mvplugins.multiverse.core.dynamiclistener.annotations.EventMethod;
1011
import org.mvplugins.multiverse.external.jakarta.inject.Inject;
1112
import org.mvplugins.multiverse.external.jetbrains.annotations.NotNull;
1213
import org.jvnet.hk2.annotations.Service;
1314
import org.mvplugins.multiverse.signportals.MultiverseSignPortals;
14-
import org.bukkit.event.EventHandler;
1515
import org.bukkit.event.server.PluginEnableEvent;
1616

1717
@Service
18-
public class MVSPPluginListener implements SignPortalsListener {
18+
final class MVSPPluginListener implements SignPortalsListener {
1919

2020
private final MultiverseSignPortals plugin;
2121

@@ -28,7 +28,7 @@ public class MVSPPluginListener implements SignPortalsListener {
2828
* This method is fired when any plugin enables.
2929
* @param event The PluginEnable event.
3030
*/
31-
@EventHandler
31+
@EventMethod
3232
public void onPluginEnable(PluginEnableEvent event) {
3333
if (event.getPlugin().getDescription().getName().equals("Multiverse-Core")) {
3434
// this.plugin.setCore(((MultiverseCore) plugin.getServer().getPluginManager().getPlugin("Multiverse-Core")));

src/main/java/org/mvplugins/multiverse/signportals/listeners/MVSPVersionListener.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.bukkit.ChatColor;
1212
import org.mvplugins.multiverse.core.destination.DestinationInstance;
1313
import org.mvplugins.multiverse.core.destination.DestinationsProvider;
14+
import org.mvplugins.multiverse.core.dynamiclistener.annotations.EventMethod;
1415
import org.mvplugins.multiverse.core.event.MVDebugModeEvent;
1516
import org.mvplugins.multiverse.core.event.MVDumpsDebugInfoEvent;
1617
import org.mvplugins.multiverse.core.event.MVPlayerTouchedPortalEvent;
@@ -20,13 +21,12 @@
2021
import org.mvplugins.multiverse.signportals.MultiverseSignPortals;
2122
import org.bukkit.Location;
2223
import org.bukkit.entity.Player;
23-
import org.bukkit.event.EventHandler;
2424
import org.mvplugins.multiverse.signportals.exceptions.MoreThanOneSignFoundException;
2525
import org.mvplugins.multiverse.signportals.exceptions.NoMultiverseSignFoundException;
2626
import org.mvplugins.multiverse.signportals.utils.PortalDetector;
2727

2828
@Service
29-
public class MVSPVersionListener implements SignPortalsListener {
29+
final class MVSPVersionListener implements SignPortalsListener {
3030
private final MultiverseSignPortals plugin;
3131
private final PortalDetector detector;
3232
private final DestinationsProvider destinationsProvider;
@@ -44,7 +44,7 @@ public class MVSPVersionListener implements SignPortalsListener {
4444
* This method is called when Multiverse-Core wants to know what version we are.
4545
* @param event The Version event.
4646
*/
47-
@EventHandler
47+
@EventMethod
4848
public void versionEvent(MVDumpsDebugInfoEvent event) {
4949
event.appendDebugInfo(this.plugin.getVersionInfo());
5050
}
@@ -54,7 +54,7 @@ public void versionEvent(MVDumpsDebugInfoEvent event) {
5454
* It's used to handle the intriquite messiness of priority between MV plugins.
5555
* @param event The PTP event.
5656
*/
57-
@EventHandler
57+
@EventMethod
5858
public void portalTouchEvent(MVPlayerTouchedPortalEvent event) {
5959
Logging.finer("Found The TouchedPortal event.");
6060
Player p = event.getPlayer();
@@ -85,7 +85,7 @@ public void portalTouchEvent(MVPlayerTouchedPortalEvent event) {
8585
}
8686
}
8787

88-
@EventHandler
88+
@EventMethod
8989
public void debugModeChange(MVDebugModeEvent event) {
9090
Logging.setDebugLevel(event.getLevel());
9191
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package org.mvplugins.multiverse.signportals.listeners;
22

3-
import org.bukkit.event.Listener;
43
import org.jvnet.hk2.annotations.Contract;
4+
import org.mvplugins.multiverse.core.dynamiclistener.DynamicListener;
55

66
@Contract
7-
public interface SignPortalsListener extends Listener {
7+
public sealed interface SignPortalsListener extends DynamicListener permits MVSPBlockListener, MVSPPlayerListener, MVSPPluginListener, MVSPVersionListener {
88
}

0 commit comments

Comments
 (0)