mirror of
https://github.com/5vl/Troll.git
synced 2025-05-24 02:17:03 +00:00
Made gui and added first item.
This commit is contained in:
parent
a4adf307d4
commit
ea485a0526
@ -1,9 +1,12 @@
|
||||
package me.fivevl.troll
|
||||
|
||||
import me.fivevl.troll.commands.TrollCommand
|
||||
import org.bukkit.plugin.java.JavaPlugin
|
||||
|
||||
class Main : JavaPlugin() {
|
||||
override fun onEnable() {
|
||||
|
||||
Utils.instance = this
|
||||
getCommand("troll")!!.setExecutor(TrollCommand())
|
||||
logger.info("Troll plugin enabled successfully!")
|
||||
}
|
||||
}
|
18
src/main/java/me/fivevl/troll/Utils.kt
Normal file
18
src/main/java/me/fivevl/troll/Utils.kt
Normal file
@ -0,0 +1,18 @@
|
||||
package me.fivevl.troll
|
||||
|
||||
import net.kyori.adventure.text.Component
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage
|
||||
|
||||
object Utils {
|
||||
lateinit var instance: Main
|
||||
fun color(s: String): Component {
|
||||
return MiniMessage.miniMessage().deserialize(s)
|
||||
}
|
||||
fun loreBuilder(vararg arr: String): ArrayList<Component> {
|
||||
val lore = ArrayList<Component>()
|
||||
for (s in arr) {
|
||||
lore.add(color("<color:#40fff9>$s</color>"))
|
||||
}
|
||||
return lore
|
||||
}
|
||||
}
|
30
src/main/java/me/fivevl/troll/commands/TrollCommand.kt
Normal file
30
src/main/java/me/fivevl/troll/commands/TrollCommand.kt
Normal file
@ -0,0 +1,30 @@
|
||||
package me.fivevl.troll.commands
|
||||
|
||||
import me.fivevl.troll.Utils
|
||||
import me.fivevl.troll.gui.TrollGui
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.command.Command
|
||||
import org.bukkit.command.CommandExecutor
|
||||
import org.bukkit.command.CommandSender
|
||||
import org.bukkit.entity.Player
|
||||
|
||||
class TrollCommand : CommandExecutor {
|
||||
override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<out String>?): Boolean {
|
||||
if (sender !is Player) {
|
||||
sender.sendMessage(Utils.color("<red>You must be a player to use this command!</red>"))
|
||||
return true
|
||||
}
|
||||
val p = sender.player!!
|
||||
if (args == null || args.size != 1) {
|
||||
p.sendMessage(Utils.color("<red>Usage: /troll <player></red>"))
|
||||
return true
|
||||
}
|
||||
val target = Bukkit.getPlayer(args[0])
|
||||
if (target == null) {
|
||||
p.sendMessage(Utils.color("<red>Player not found!</red>"))
|
||||
return true
|
||||
}
|
||||
p.openInventory(TrollGui.getGui(target))
|
||||
return true
|
||||
}
|
||||
}
|
25
src/main/java/me/fivevl/troll/gui/TrollGui.kt
Normal file
25
src/main/java/me/fivevl/troll/gui/TrollGui.kt
Normal file
@ -0,0 +1,25 @@
|
||||
package me.fivevl.troll.gui
|
||||
|
||||
import me.fivevl.troll.Utils
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.Material
|
||||
import org.bukkit.entity.Player
|
||||
import org.bukkit.inventory.Inventory
|
||||
import org.bukkit.inventory.ItemStack
|
||||
|
||||
object TrollGui {
|
||||
fun getGui(target: Player): Inventory {
|
||||
val gui = Bukkit.createInventory(null, 54, Utils.color("<color:#ff9e36>Troll Menu - ${target.name}</color>"))
|
||||
gui.setItem(0, getYeetItem())
|
||||
return gui
|
||||
}
|
||||
|
||||
private fun getYeetItem(): ItemStack {
|
||||
val item = ItemStack(Material.ELYTRA)
|
||||
val meta = item.itemMeta
|
||||
meta.displayName(Utils.color("<color:#ffd6cf>Yeet</color>"))
|
||||
meta.lore(Utils.loreBuilder("This will yeet the player", "in a random direction."))
|
||||
item.itemMeta = meta
|
||||
return item
|
||||
}
|
||||
}
|
@ -4,3 +4,6 @@ main: me.fivevl.troll.Main
|
||||
api-version: 1.18
|
||||
authors: [ 5vl ]
|
||||
description: This is a cool troll plugin!
|
||||
commands:
|
||||
troll:
|
||||
description: Troll a player!
|
Loading…
x
Reference in New Issue
Block a user