Skip to content

Commit

Permalink
Merge pull request #143 from Y2Kwastaken/module/extinguish
Browse files Browse the repository at this point in the history
Add Extinguish Module
  • Loading branch information
mfnalex authored Feb 17, 2024
2 parents c3e3789 + e326821 commit eb25ec5
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 0 deletions.
3 changes: 3 additions & 0 deletions modules/basics-extinguish/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id("basics.module")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.github.spigotbasics.modules.basicsextinguish

import com.github.spigotbasics.core.command.common.BasicsCommandExecutor
import com.github.spigotbasics.core.command.common.CommandResult
import com.github.spigotbasics.core.command.raw.RawCommandContext
import com.github.spigotbasics.core.module.AbstractBasicsModule
import com.github.spigotbasics.core.module.loader.ModuleInstantiationContext

class BasicsExtinguishModule(context: ModuleInstantiationContext) : AbstractBasicsModule(context) {
val permExtinguish =
permissionManager.createSimplePermission(
"basics.extinguish",
"Allows the player to extinguish themself",
)
val permExtinguishOthers =
permissionManager.createSimplePermission(
"basics.extinguish.others",
"Allows the player to extinguish others",
)
val messageExtinguished = messages.getMessage("extinguished")
val messageExtinguishedOther = messages.getMessage("extinguished-others")

override fun onEnable() {
commandFactory.rawCommandBuilder("extinguish", permExtinguish)
.description("Extinguishes Players")
.usage("[player]")
.aliases(listOf("ext"))
.executor(ExtinguishExecutor(this))
.register()
}

private inner class ExtinguishExecutor(private val module: BasicsExtinguishModule) : BasicsCommandExecutor(module) {
override fun execute(context: RawCommandContext): CommandResult {
val player =
if (context.args.size == 1) {
requirePermission(context.sender, module.permExtinguishOthers)
requirePlayer(context.args[0])
} else {
requirePlayer(context.sender)
}

player.fireTicks = 0
val message =
if (context.sender == player) {
module.messageExtinguished
} else {
module.messageExtinguishedOther
}

message.concerns(player).sendToSender(context.sender)
return CommandResult.SUCCESS
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
main-class: com.github.spigotbasics.modules.basicsextinguish.BasicsExtinguishModule
name: basics-extinguish
version: ${moduleVersion}
2 changes: 2 additions & 0 deletions modules/basics-extinguish/src/main/resources/messages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
extinguished: "<def_text>You have extinguished <lite_text>yourself</lite_text>!</def_text>"
extinguished-others: "<def_text>You have extinguished <player-dm>!</def_text>"

0 comments on commit eb25ec5

Please sign in to comment.