Fix elytra rocket
This commit is contained in:
@@ -32,6 +32,7 @@ class ChaosMCLobbyPlugin : JavaPlugin() {
|
|||||||
val pluginManager = server.pluginManager
|
val pluginManager = server.pluginManager
|
||||||
pluginManager.registerEvents(InventoryClickListener(), this)
|
pluginManager.registerEvents(InventoryClickListener(), this)
|
||||||
pluginManager.registerEvents(PlayerAdvancementCriterionGrantListener(), this)
|
pluginManager.registerEvents(PlayerAdvancementCriterionGrantListener(), this)
|
||||||
|
pluginManager.registerEvents(PlayerElytraBoostListener(this), this)
|
||||||
pluginManager.registerEvents(PlayerGameModeChangeListener(), this)
|
pluginManager.registerEvents(PlayerGameModeChangeListener(), this)
|
||||||
pluginManager.registerEvents(PlayerInteractListener(this), this)
|
pluginManager.registerEvents(PlayerInteractListener(this), this)
|
||||||
pluginManager.registerEvents(PlayerItemDamageListener(), this)
|
pluginManager.registerEvents(PlayerItemDamageListener(), this)
|
||||||
@@ -40,7 +41,6 @@ class ChaosMCLobbyPlugin : JavaPlugin() {
|
|||||||
pluginManager.registerEvents(PlayerMoveListener(this), this)
|
pluginManager.registerEvents(PlayerMoveListener(this), this)
|
||||||
pluginManager.registerEvents(PlayerSwapHandItemsListener(), this)
|
pluginManager.registerEvents(PlayerSwapHandItemsListener(), this)
|
||||||
pluginManager.registerEvents(PlayerToggleFlightListener(), this)
|
pluginManager.registerEvents(PlayerToggleFlightListener(), this)
|
||||||
pluginManager.registerEvents(ProjectileLaunchListener(), this)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun resetPlayer(player: Player, teleport: Boolean, setGamemode: Boolean) {
|
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