diff --git a/src/main/java/fr/xephi/authme/AuthMe.java b/src/main/java/fr/xephi/authme/AuthMe.java index a534a8cf..2d914028 100644 --- a/src/main/java/fr/xephi/authme/AuthMe.java +++ b/src/main/java/fr/xephi/authme/AuthMe.java @@ -24,6 +24,7 @@ import fr.xephi.authme.listener.PlayerListener19; import fr.xephi.authme.listener.PlayerListener19Spigot; import fr.xephi.authme.listener.DoubleLoginFixListener; import fr.xephi.authme.listener.GuiCaptchaHandler; +import fr.xephi.authme.listener.PlayerListenerHigherThan18; import fr.xephi.authme.listener.ServerListener; import fr.xephi.authme.mail.EmailService; import fr.xephi.authme.output.ConsoleLoggerFactory; @@ -74,7 +75,7 @@ public class AuthMe extends JavaPlugin { // Version and build number values private static String pluginVersion = "5.6.0-Fork"; private static final String pluginBuild = "b"; - private static String pluginBuildNumber = "23"; + private static String pluginBuildNumber = "24"; protected final Boolean SHAEnabled = false; // Private instances private EmailService emailService; @@ -321,6 +322,11 @@ public class AuthMe extends JavaPlugin { pluginManager.registerEvents(injector.getSingleton(EntityListener.class), this); pluginManager.registerEvents(injector.getSingleton(ServerListener.class), this); + // Try to register 1.8+ player listeners + if (isClassLoaded("org.bukkit.event.entity.EntityPickupItemEvent") && isClassLoaded("org.bukkit.event.player.PlayerSwapHandItemsEvent")){ + pluginManager.registerEvents(injector.getSingleton(PlayerListenerHigherThan18.class), this); + } + // Try to register 1.9 player listeners if (isClassLoaded("org.bukkit.event.player.PlayerSwapHandItemsEvent")) { pluginManager.registerEvents(injector.getSingleton(PlayerListener19.class), this); diff --git a/src/main/java/fr/xephi/authme/listener/PlayerListener.java b/src/main/java/fr/xephi/authme/listener/PlayerListener.java index 0fd26ba9..db95dd36 100644 --- a/src/main/java/fr/xephi/authme/listener/PlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/PlayerListener.java @@ -32,7 +32,7 @@ import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.SignChangeEvent; import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.EntityPickupItemEvent; +//import org.bukkit.event.entity.EntityPickupItemEvent; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryOpenEvent; import org.bukkit.event.player.AsyncPlayerChatEvent; @@ -54,7 +54,7 @@ import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerRespawnEvent; import org.bukkit.event.player.PlayerShearEntityEvent; -import org.bukkit.event.player.PlayerSwapHandItemsEvent; +//import org.bukkit.event.player.PlayerSwapHandItemsEvent; import org.bukkit.inventory.InventoryView; import static org.bukkit.Bukkit.getServer; @@ -480,12 +480,12 @@ public class PlayerListener implements Listener{ * Inventory interactions */ - @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) - public void onPlayerPickupItem(EntityPickupItemEvent event) { - if (listenerService.shouldCancelEvent(event)) { - event.setCancelled(true); - } - } +// @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) +// public void onPlayerPickupItem(EntityPickupItemEvent event) { +// if (listenerService.shouldCancelEvent(event)) { +// event.setCancelled(true); +// } +// } @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onPlayerDropItem(PlayerDropItemEvent event) { @@ -540,12 +540,12 @@ public class PlayerListener implements Listener{ event.setCancelled(true); } } - @EventHandler(priority = EventPriority.LOWEST) - public void onSwitchHand(PlayerSwapHandItemsEvent event) { - Player player = event.getPlayer(); - if (!player.isSneaking() || !player.hasPermission("keybindings.use")) - return; - event.setCancelled(true); - Bukkit.dispatchCommand(event.getPlayer(), "help"); - } +// @EventHandler(priority = EventPriority.LOWEST) +// public void onSwitchHand(PlayerSwapHandItemsEvent event) { +// Player player = event.getPlayer(); +// if (!player.isSneaking() || !player.hasPermission("keybindings.use")) +// return; +// event.setCancelled(true); +// Bukkit.dispatchCommand(event.getPlayer(), "help"); +// } } diff --git a/src/main/java/fr/xephi/authme/listener/PlayerListenerHigherThan18.java b/src/main/java/fr/xephi/authme/listener/PlayerListenerHigherThan18.java new file mode 100644 index 00000000..999c1520 --- /dev/null +++ b/src/main/java/fr/xephi/authme/listener/PlayerListenerHigherThan18.java @@ -0,0 +1,43 @@ +package fr.xephi.authme.listener; + +import fr.xephi.authme.data.QuickCommandsProtectionManager; +import fr.xephi.authme.datasource.DataSource; +import fr.xephi.authme.message.Messages; +import fr.xephi.authme.permission.PermissionsManager; +import fr.xephi.authme.process.Management; +import fr.xephi.authme.service.AntiBotService; +import fr.xephi.authme.service.BukkitService; +import fr.xephi.authme.service.JoinMessageService; +import fr.xephi.authme.service.TeleportationService; +import fr.xephi.authme.service.ValidationService; +import fr.xephi.authme.settings.Settings; +import fr.xephi.authme.settings.SpawnLoader; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityPickupItemEvent; +import org.bukkit.event.player.PlayerSwapHandItemsEvent; + +import javax.inject.Inject; + +public class PlayerListenerHigherThan18 implements Listener { + @Inject + private ListenerService listenerService; + + @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) + public void onPlayerPickupItem(EntityPickupItemEvent event) { + if (listenerService.shouldCancelEvent(event)) { + event.setCancelled(true); + } + } + @EventHandler(priority = EventPriority.LOWEST) + public void onSwitchHand(PlayerSwapHandItemsEvent event) { + Player player = event.getPlayer(); + if (!player.isSneaking() || !player.hasPermission("keybindings.use")) + return; + event.setCancelled(true); + Bukkit.dispatchCommand(event.getPlayer(), "help"); + } +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 5d85690e..988c2089 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -3,7 +3,7 @@ authors: [${pluginDescription.authors}] website: http://github.com/HaHaWTH/AuthMeReReloaded/ description: A fork of AuthMeReloaded that contains bug fixes main: ${pluginDescription.main} -version: 5.6.0-FORK-b23 +version: 5.6.0-FORK-b24 api-version: 1.13 softdepend: - Vault