Skip to content

Commit 4b97b93

Browse files
committed
- Made untag command also executeable via console
- Added untagall command to untag all tagged players at once. useful in cases when you want to do something related to events.
1 parent aaa2349 commit 4b97b93

2 files changed

Lines changed: 25 additions & 1 deletion

File tree

eternalcombat-plugin/src/main/java/com/eternalcode/combat/config/implementation/MessagesSettings.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,13 @@ public static class AdminMessages extends OkaeriConfig {
128128
public Notice adminUntagPlayer = Notice.chat(
129129
"<gradient:#00ff88:#00b300>✌ <gray>Removed</gray> <white>{PLAYER}</white> <gray>from combat</gray></gradient>");
130130

131+
@Comment({
132+
"# Message displayed to an admin when they remove a player from combat.",
133+
"# The {PLAYER} placeholder is replaced with the player's name."
134+
})
135+
public Notice adminUntagAll = Notice.chat(
136+
"<gradient:#00ff88:#00b300>✌ <gray>Removed</gray> <white>{COUNT}</white> <gray> players from combat</gray></gradient>");
137+
131138
@Comment({
132139
"# Message displayed when an admin attempts to untag a player who is not in combat.",
133140
"# This message informs the admin that the player is not currently in combat."

eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/FightTagCommand.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ void tagMultiple(@Context CommandSender sender, @Arg Player firstTarget, @Arg Pl
124124

125125
@Execute(name = "untag")
126126
@Permission("eternalcombat.untag")
127-
void untag(@Context Player sender, @Arg Player target) {
127+
void untag(@Context CommandSender sender, @Arg Player target) {
128128
UUID targetUniqueId = target.getUniqueId();
129129

130130
if (!this.fightManager.isInCombat(targetUniqueId)) {
@@ -149,6 +149,23 @@ void untag(@Context Player sender, @Arg Player target) {
149149
.send();
150150
}
151151

152+
@Execute(name = "untagall")
153+
@Permission("eternalcombat.untagall")
154+
void untagAll(@Context CommandSender sender) {
155+
int combatPlayersSize = this.fightManager.getFights().size();
156+
this.fightManager.untagAll();
157+
158+
for (FightTag fight : fightManager.getFights()) {
159+
this.fightManager.untag(fight.getTaggedPlayer(), CauseOfUnTag.COMMAND);
160+
}
161+
162+
this.noticeService.create()
163+
.notice(this.config.messagesSettings.admin.adminUntagAll)
164+
.placeholder("{COUNT}", String.valueOf(combatPlayersSize))
165+
.viewer(sender)
166+
.send();
167+
}
168+
152169
private void tagoutReasonHandler(CommandSender sender, CancelTagReason cancelReason, MessagesSettings messagesSettings) {
153170
if (cancelReason == CancelTagReason.TAGOUT) {
154171
this.noticeService.create()

0 commit comments

Comments
 (0)