Fix elytra rocket
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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(
|
||||
"<italic:false>Elytra ${
|
||||
MessageFormat.setSecondaryColor("(Fly around the lobby!)")
|
||||
}</italic>"
|
||||
)
|
||||
)
|
||||
)
|
||||
fireworkItem.setItemMeta(fireworkMeta)
|
||||
player.inventory.setItem(7, fireworkItem)
|
||||
player.setCooldown(fireworkItem.type, 20)
|
||||
}, 1)
|
||||
}
|
||||
}
|
||||
@@ -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("<italic:false>Elytra ${MessageFormat.setSecondaryColor("(Fly around the lobby!)")}</italic>")))
|
||||
fireworkItem.setItemMeta(fireworkMeta)
|
||||
player.inventory.setItem(7, fireworkItem)
|
||||
player.setCooldown(fireworkItem.type, 20)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user