sahur upgraddee :3

This commit is contained in:
rattatwinko
2025-05-01 15:56:19 +02:00
parent d2c6430af7
commit 95c58157c2
2 changed files with 55 additions and 2 deletions

View File

@@ -19,6 +19,7 @@ class Sahur : JavaPlugin(), Listener {
logger.info("Sahur is enabled!")
server.pluginManager.registerEvents(this, this)
getCommand("sahur")?.setExecutor(SahurCommand())
getCommand("destroysahur")?.setExecutor(DestroySahurCommand())
}
override fun onDisable() {
@@ -26,7 +27,12 @@ class Sahur : JavaPlugin(), Listener {
}
inner class SahurCommand : CommandExecutor {
override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<out String>): Boolean {
override fun onCommand(
sender: CommandSender,
command: Command,
label: String,
args: Array<out String>
): Boolean {
if (sender !is Player) {
sender.sendMessage("${ChatColor.RED}Player-only command!")
return true
@@ -62,6 +68,7 @@ class Sahur : JavaPlugin(), Listener {
stick.addUnsafeEnchantment(Enchantment.KNOCKBACK, 255)
stick.addUnsafeEnchantment(Enchantment.FIRE_ASPECT, 10)
stick.addUnsafeEnchantment(Enchantment.SHARPNESS, 10)
stick.addUnsafeEnchantment(Enchantment.SWEEPING_EDGE, 10)
return stick
@@ -87,7 +94,7 @@ class Sahur : JavaPlugin(), Listener {
if (player.hasMetadata("no_fall_sahur")) {
player.removeMetadata("no_fall_sahur", this)
}
}, 60L) // 60 ticks = 3 seconds
}, 90L) // 60 ticks = 3 seconds
}
}
}
@@ -101,4 +108,40 @@ class Sahur : JavaPlugin(), Listener {
}
}
}
inner class DestroySahurCommand : CommandExecutor {
override fun onCommand(
sender: CommandSender,
command: Command,
label: String,
args: Array<out String>
): Boolean {
if (sender !is Player) {
sender.sendMessage("${ChatColor.RED}Player-only command!")
return true
}
val player = sender
if (!player.isOp) {
player.sendMessage("${ChatColor.RED}You don't have permission to use this command!")
return true
}
val inv = player.inventory
val removed = inv.contents.filterNotNull().filter {
it.type == Material.STICK &&
it.itemMeta?.displayName?.contains("SAHUR", ignoreCase = true) == true
}
if (removed.isEmpty()) {
player.sendMessage("${ChatColor.YELLOW}No Sahur Stick found in your inventory.")
} else {
removed.forEach { inv.remove(it) }
player.sendMessage("${ChatColor.RED}All Sahur Sticks have been destroyed!")
player.playSound(player.location, Sound.ENTITY_ITEM_BREAK, 1f, 1f)
}
return true
}
}
}

View File

@@ -8,3 +8,13 @@ commands:
usage: /sahur
permission: sahur.use
permission-message: You don't have permission to use this command.
destroysahur:
description: Removes Sahur sticks from your inventory
usage: /destroysahur
permission: sahur.destroy
permission-message: You don't have permission to use this command.
permissions:
sahur.use:
default: op
sahur.destroy:
default: op