From d2b0b5fb95666b5c6ef3033b9d53071aea0beff2 Mon Sep 17 00:00:00 2001 From: Naz Date: Mon, 20 May 2024 09:07:43 +0800 Subject: [PATCH] Fix #8 and add a reset command --- .../nicknamer/client/NicknamerClient.kt | 6 ++++ .../pronouns/PronounsRefreshCommand.kt | 2 ++ .../commands/pronouns/PronounsResetCommand.kt | 36 +++++++++++++++++++ .../commands/pronouns/PronounsSetCommand.kt | 2 ++ .../pronouns/color/PronounsColorSetCommand.kt | 1 + .../profile/PronounsProfileCreateCommand.kt | 1 - .../profile/PronounsProfileDeleteCommand.kt | 2 ++ .../profile/PronounsProfileSetCommand.kt | 1 - 8 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/PronounsResetCommand.kt diff --git a/src/main/kotlin/xyz/bluspring/nicknamer/client/NicknamerClient.kt b/src/main/kotlin/xyz/bluspring/nicknamer/client/NicknamerClient.kt index 1a44d9b..44a0044 100644 --- a/src/main/kotlin/xyz/bluspring/nicknamer/client/NicknamerClient.kt +++ b/src/main/kotlin/xyz/bluspring/nicknamer/client/NicknamerClient.kt @@ -10,6 +10,7 @@ import net.minecraft.command.argument.TextArgumentType import xyz.bluspring.nicknamer.commands.nick.* import xyz.bluspring.nicknamer.commands.pronouns.PronounsGetCommand import xyz.bluspring.nicknamer.commands.pronouns.PronounsRefreshCommand +import xyz.bluspring.nicknamer.commands.pronouns.PronounsResetCommand import xyz.bluspring.nicknamer.commands.pronouns.PronounsSetCommand import xyz.bluspring.nicknamer.commands.pronouns.color.PronounsColorComplimentCommand import xyz.bluspring.nicknamer.commands.pronouns.color.PronounsColorGetCommand @@ -168,6 +169,11 @@ class NicknamerClient : ClientModInitializer { .literal("get") .executes(PronounsGetCommand()) ) + .then( + ClientCommandManager + .literal("reset") + .executes(PronounsResetCommand()) + ) .then( ClientCommandManager .literal("set") diff --git a/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/PronounsRefreshCommand.kt b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/PronounsRefreshCommand.kt index 909592a..dd46464 100644 --- a/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/PronounsRefreshCommand.kt +++ b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/PronounsRefreshCommand.kt @@ -29,6 +29,8 @@ class PronounsRefreshCommand : Command { profiles.profiles[profiles.currentProfile] = PronounManager.pronouns[playerUUID]!! } + PronounManager.save() + context.source.sendFeedback( Text.literal("Successfully set $playerName's pronouns from PronounDB to ") .append(PronounManager.getPronounsText(playerUUID)) diff --git a/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/PronounsResetCommand.kt b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/PronounsResetCommand.kt new file mode 100644 index 0000000..8268771 --- /dev/null +++ b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/PronounsResetCommand.kt @@ -0,0 +1,36 @@ +package xyz.bluspring.nicknamer.commands.pronouns + +import com.mojang.brigadier.Command +import com.mojang.brigadier.arguments.StringArgumentType +import com.mojang.brigadier.context.CommandContext +import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource +import net.minecraft.text.Text +import xyz.bluspring.nicknamer.Nicknamer +import xyz.bluspring.nicknamer.config.pronouns.PronounManager + +class PronounsResetCommand : Command { + override fun run(context: CommandContext): Int { + val playerName = StringArgumentType.getString(context, "player") + val playerUUID = Nicknamer.getPlayerUUID(playerName) + + if (playerUUID == null) { + context.source.sendError(Text.literal("Could not find player $playerName!")) + + return 0 + } + + PronounManager.pronouns.remove(playerUUID) + + val profiles = PronounManager.pronounProfiles[playerUUID] + profiles?.profiles?.remove(profiles.currentProfile) + + PronounManager.save() + + context.source.sendFeedback( + Text.literal("Successfully set $playerName's pronouns to ") + .append(PronounManager.getPronounsText(playerUUID)) + ) + + return 1 + } +} \ No newline at end of file diff --git a/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/PronounsSetCommand.kt b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/PronounsSetCommand.kt index 5b6a16d..c4e7c45 100644 --- a/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/PronounsSetCommand.kt +++ b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/PronounsSetCommand.kt @@ -27,6 +27,8 @@ class PronounsSetCommand : Command { profiles.profiles[profiles.currentProfile] = PronounManager.pronouns[playerUUID]!! } + PronounManager.save() + context.source.sendFeedback( Text.literal("Successfully set $playerName's pronouns to ") .append(PronounManager.getPronounsText(playerUUID)) diff --git a/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/color/PronounsColorSetCommand.kt b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/color/PronounsColorSetCommand.kt index 7a1f96b..f923453 100644 --- a/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/color/PronounsColorSetCommand.kt +++ b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/color/PronounsColorSetCommand.kt @@ -24,6 +24,7 @@ class PronounsColorSetCommand : Command { } PronounManager.pronounColors[pronoun] = textColor + PronounManager.save() context.source.sendFeedback( Text.literal("Set pronoun color to ") .append( diff --git a/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/profile/PronounsProfileCreateCommand.kt b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/profile/PronounsProfileCreateCommand.kt index 766e4b5..98e62dd 100644 --- a/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/profile/PronounsProfileCreateCommand.kt +++ b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/profile/PronounsProfileCreateCommand.kt @@ -27,7 +27,6 @@ class PronounsProfileCreateCommand : Command { profiles.currentProfile = profileName PronounManager.pronounProfiles[playerUUID] = profiles - PronounManager.save() context.source.sendFeedback( diff --git a/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/profile/PronounsProfileDeleteCommand.kt b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/profile/PronounsProfileDeleteCommand.kt index 6776717..3eb2771 100644 --- a/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/profile/PronounsProfileDeleteCommand.kt +++ b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/profile/PronounsProfileDeleteCommand.kt @@ -30,6 +30,8 @@ class PronounsProfileDeleteCommand : Command { PronounManager.pronounProfiles[playerUUID]!!.profiles.remove(profileName) context.source.sendFeedback(Text.literal("Pronouns profile $profileName successfully deleted!")) + PronounManager.save() + return 1 } } \ No newline at end of file diff --git a/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/profile/PronounsProfileSetCommand.kt b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/profile/PronounsProfileSetCommand.kt index 414bb11..50d28e8 100644 --- a/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/profile/PronounsProfileSetCommand.kt +++ b/src/main/kotlin/xyz/bluspring/nicknamer/commands/pronouns/profile/PronounsProfileSetCommand.kt @@ -39,7 +39,6 @@ class PronounsProfileSetCommand : Command { profiles.currentProfile = profileName PronounManager.pronouns[playerUUID] = profile - PronounManager.save() context.source.sendFeedback(