diff --git a/modules/basics-suicide/README.md b/modules/basics-suicide/README.md new file mode 100644 index 00000000..ba6e2f8d --- /dev/null +++ b/modules/basics-suicide/README.md @@ -0,0 +1,3 @@ +| Command | Permission | +|------------|----------------| +| `/suicide` | basics.suicide | diff --git a/modules/basics-suicide/build.gradle.kts b/modules/basics-suicide/build.gradle.kts new file mode 100644 index 00000000..c1fb740e --- /dev/null +++ b/modules/basics-suicide/build.gradle.kts @@ -0,0 +1,3 @@ +plugins { + id("basics.module") +} diff --git a/modules/basics-suicide/src/main/kotlin/com/github/spigotbasics/modules/basicssuicide/BasicsSuicideModule.kt b/modules/basics-suicide/src/main/kotlin/com/github/spigotbasics/modules/basicssuicide/BasicsSuicideModule.kt new file mode 100644 index 00000000..9a6dfb94 --- /dev/null +++ b/modules/basics-suicide/src/main/kotlin/com/github/spigotbasics/modules/basicssuicide/BasicsSuicideModule.kt @@ -0,0 +1,39 @@ +package com.github.spigotbasics.modules.basicssuicide + +import com.github.spigotbasics.core.command.parsed.CommandContextExecutor +import com.github.spigotbasics.core.command.parsed.context.MapContext +import com.github.spigotbasics.core.module.AbstractBasicsModule +import com.github.spigotbasics.core.module.loader.ModuleInstantiationContext +import org.bukkit.command.CommandSender +import org.bukkit.entity.Player + +class BasicsSuicideModule(context: ModuleInstantiationContext) : AbstractBasicsModule(context) { + private val permission = + permissionManager.createSimplePermission( + "basics.suicide", + "Allows the player to kill themself", + ) + + private fun msgSuicide(player: Player) = messages.getMessage("suicide").concerns(player) + + override fun onEnable() { + commandFactory.parsedCommandBuilder("suicide", permission).mapContext { + description("Kills yourself") + + path { + playerOnly() + } + }.executor( + object : CommandContextExecutor { + override fun execute( + sender: CommandSender, + context: MapContext, + ) { + val player = sender as Player + player.health = 0.0 + msgSuicide(player).sendToAllPlayers() + } + }, + ).register() + } +} diff --git a/modules/basics-suicide/src/main/resources/basics-module.yml b/modules/basics-suicide/src/main/resources/basics-module.yml new file mode 100644 index 00000000..e2090485 --- /dev/null +++ b/modules/basics-suicide/src/main/resources/basics-module.yml @@ -0,0 +1,3 @@ +main-class: com.github.spigotbasics.modules.basicssuicide.BasicsSuicideModule +name: basics-suicide +version: ${moduleVersion} diff --git a/modules/basics-suicide/src/main/resources/messages.yml b/modules/basics-suicide/src/main/resources/messages.yml new file mode 100644 index 00000000..17f718c3 --- /dev/null +++ b/modules/basics-suicide/src/main/resources/messages.yml @@ -0,0 +1 @@ +suicide: " took their own life."