diff --git a/src/main/kotlin/xyz/lncvrt/chaosmclobby/ChaosMCLobbyPlugin.kt b/src/main/kotlin/xyz/lncvrt/chaosmclobby/ChaosMCLobbyPlugin.kt index 84b6b92..dfc7a8b 100644 --- a/src/main/kotlin/xyz/lncvrt/chaosmclobby/ChaosMCLobbyPlugin.kt +++ b/src/main/kotlin/xyz/lncvrt/chaosmclobby/ChaosMCLobbyPlugin.kt @@ -32,6 +32,7 @@ class ChaosMCLobbyPlugin : JavaPlugin() { val pluginManager = server.pluginManager pluginManager.registerEvents(InventoryClickListener(), this) pluginManager.registerEvents(PlayerAdvancementCriterionGrantListener(), this) + pluginManager.registerEvents(PlayerElytraBoostListener(this), this) pluginManager.registerEvents(PlayerGameModeChangeListener(), this) pluginManager.registerEvents(PlayerInteractListener(this), this) pluginManager.registerEvents(PlayerItemDamageListener(), this) @@ -40,7 +41,6 @@ class ChaosMCLobbyPlugin : JavaPlugin() { pluginManager.registerEvents(PlayerMoveListener(this), this) pluginManager.registerEvents(PlayerSwapHandItemsListener(), this) pluginManager.registerEvents(PlayerToggleFlightListener(), this) - pluginManager.registerEvents(ProjectileLaunchListener(), this) } internal fun resetPlayer(player: Player, teleport: Boolean, setGamemode: Boolean) { diff --git a/src/main/kotlin/xyz/lncvrt/chaosmclobby/event/PlayerElytraBoostListener.kt b/src/main/kotlin/xyz/lncvrt/chaosmclobby/event/PlayerElytraBoostListener.kt new file mode 100644 index 0000000..6f54d35 --- /dev/null +++ b/src/main/kotlin/xyz/lncvrt/chaosmclobby/event/PlayerElytraBoostListener.kt @@ -0,0 +1,34 @@ +package xyz.lncvrt.chaosmclobby.event + +import com.destroystokyo.paper.event.player.PlayerElytraBoostEvent +import net.kyori.adventure.text.minimessage.MiniMessage +import org.bukkit.Material +import org.bukkit.event.EventHandler +import org.bukkit.event.Listener +import org.bukkit.inventory.ItemStack +import org.sayandev.stickynote.bukkit.plugin +import xyz.lncvrt.chaosmcapi.utils.MessageFormat +import xyz.lncvrt.chaosmclobby.ChaosMCLobbyPlugin + +class PlayerElytraBoostListener(plugin: ChaosMCLobbyPlugin) : Listener { + @EventHandler + fun onPlayerElytraBoostEvent(event: PlayerElytraBoostEvent) { + plugin.server.scheduler.runTaskLater(plugin, Runnable { + val player = event.player + val fireworkItem = ItemStack(Material.FIREWORK_ROCKET) + val fireworkMeta = fireworkItem.itemMeta + fireworkMeta.displayName( + MiniMessage.miniMessage().deserialize( + MessageFormat.setPrimaryColor( + "Elytra ${ + MessageFormat.setSecondaryColor("(Fly around the lobby!)") + }" + ) + ) + ) + fireworkItem.setItemMeta(fireworkMeta) + player.inventory.setItem(7, fireworkItem) + player.setCooldown(fireworkItem.type, 20) + }, 1) + } +} \ No newline at end of file diff --git a/src/main/kotlin/xyz/lncvrt/chaosmclobby/event/ProjectileLaunchListener.kt b/src/main/kotlin/xyz/lncvrt/chaosmclobby/event/ProjectileLaunchListener.kt deleted file mode 100644 index c1259df..0000000 --- a/src/main/kotlin/xyz/lncvrt/chaosmclobby/event/ProjectileLaunchListener.kt +++ /dev/null @@ -1,29 +0,0 @@ -package xyz.lncvrt.chaosmclobby.event - -import net.kyori.adventure.text.minimessage.MiniMessage -import org.bukkit.Material -import org.bukkit.entity.Firework -import org.bukkit.entity.Player -import org.bukkit.event.EventHandler -import org.bukkit.event.Listener -import org.bukkit.event.entity.ProjectileLaunchEvent -import org.bukkit.inventory.ItemStack -import xyz.lncvrt.chaosmcapi.utils.MessageFormat - -class ProjectileLaunchListener() : Listener { - @EventHandler - fun onProjectileLaunchEvent(event: ProjectileLaunchEvent) { - val firework = event.getEntity() - val player = firework.shooter - if (firework is Firework) { - if (player is Player) { - val fireworkItem = ItemStack(Material.FIREWORK_ROCKET) - val fireworkMeta = fireworkItem.itemMeta - fireworkMeta.displayName(MiniMessage.miniMessage().deserialize(MessageFormat.setPrimaryColor("Elytra ${MessageFormat.setSecondaryColor("(Fly around the lobby!)")}"))) - fireworkItem.setItemMeta(fireworkMeta) - player.inventory.setItem(7, fireworkItem) - player.setCooldown(fireworkItem.type, 20) - } - } - } -} \ No newline at end of file