Made the player be yeeted.

This commit is contained in:
5vl 2022-05-30 01:24:23 +02:00
parent ea485a0526
commit 4851d25071
No known key found for this signature in database
GPG Key ID: DA8938F22548E4D5
5 changed files with 55 additions and 3 deletions

View File

@ -1,12 +1,26 @@
package me.fivevl.troll package me.fivevl.troll
import me.fivevl.troll.commands.TrollCommand import me.fivevl.troll.commands.TrollCommand
import me.fivevl.troll.listeners.InvClickListener
import me.fivevl.troll.listeners.InvCloseListener
import org.bukkit.Bukkit
import org.bukkit.plugin.java.JavaPlugin import org.bukkit.plugin.java.JavaPlugin
class Main : JavaPlugin() { class Main : JavaPlugin() {
override fun onEnable() { override fun onEnable() {
Utils.instance = this Utils.instance = this
getCommand("troll")!!.setExecutor(TrollCommand()) registerCommands()
registerListeners()
logger.info("Troll plugin enabled successfully!") logger.info("Troll plugin enabled successfully!")
} }
private fun registerCommands() {
getCommand("troll")!!.setExecutor(TrollCommand())
}
private fun registerListeners() {
val plm = Bukkit.getPluginManager()
plm.registerEvents(InvClickListener(), this)
plm.registerEvents(InvCloseListener(), this)
}
} }

View File

@ -24,7 +24,7 @@ class TrollCommand : CommandExecutor {
p.sendMessage(Utils.color("<red>Player not found!</red>")) p.sendMessage(Utils.color("<red>Player not found!</red>"))
return true return true
} }
p.openInventory(TrollGui.getGui(target)) p.openInventory(TrollGui.getGui(target, p))
return true return true
} }
} }

View File

@ -8,9 +8,11 @@ import org.bukkit.inventory.Inventory
import org.bukkit.inventory.ItemStack import org.bukkit.inventory.ItemStack
object TrollGui { object TrollGui {
fun getGui(target: Player): Inventory { val inTrollGui = HashMap<Player, Player>()
fun getGui(target: Player, from: Player): Inventory {
val gui = Bukkit.createInventory(null, 54, Utils.color("<color:#ff9e36>Troll Menu - ${target.name}</color>")) val gui = Bukkit.createInventory(null, 54, Utils.color("<color:#ff9e36>Troll Menu - ${target.name}</color>"))
gui.setItem(0, getYeetItem()) gui.setItem(0, getYeetItem())
inTrollGui[from] = target
return gui return gui
} }

View File

@ -0,0 +1,23 @@
package me.fivevl.troll.listeners
import me.fivevl.troll.gui.TrollGui
import org.bukkit.entity.Player
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
import org.bukkit.event.inventory.InventoryClickEvent
class InvClickListener : Listener {
@EventHandler
fun onInvClick(e: InventoryClickEvent) {
val p = e.whoClicked as Player
if (TrollGui.inTrollGui.containsKey(p)) {
e.isCancelled = true
val ps = TrollGui.inTrollGui[p]!!
if (e.rawSlot == 0) {
ps.velocity = ps.location.toVector().multiply(6)
TrollGui.inTrollGui.remove(p)
p.closeInventory()
}
}
}
}

View File

@ -0,0 +1,13 @@
package me.fivevl.troll.listeners
import me.fivevl.troll.gui.TrollGui
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
import org.bukkit.event.inventory.InventoryCloseEvent
class InvCloseListener : Listener {
@EventHandler
fun onInvClose(e: InventoryCloseEvent) {
TrollGui.inTrollGui.remove(e.player)
}
}