diff options
author | SoniEx2 <endermoneymod@gmail.com> | 2021-08-27 15:53:46 -0300 |
---|---|---|
committer | SoniEx2 <endermoneymod@gmail.com> | 2021-08-27 15:53:46 -0300 |
commit | dd26b5f3aa8108c3026080c734878e541c4cd05c (patch) | |
tree | dc16b2c4d3927cb44245a66e8a41ed7d005aeae4 /src/main/kotlin/space/autistic/uwumode |
[Project] UwU Mode HEAD fabric-1.17.x default
A client-side mod for Minecraft that adds uwu~ to chat messages, and can be enabled/disabled with commands.
Diffstat (limited to 'src/main/kotlin/space/autistic/uwumode')
-rw-r--r-- | src/main/kotlin/space/autistic/uwumode/UwuMode.kt | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/main/kotlin/space/autistic/uwumode/UwuMode.kt b/src/main/kotlin/space/autistic/uwumode/UwuMode.kt new file mode 100644 index 0000000..3e98364 --- /dev/null +++ b/src/main/kotlin/space/autistic/uwumode/UwuMode.kt @@ -0,0 +1,65 @@ +package space.autistic.uwumode + +import com.mojang.brigadier.arguments.BoolArgumentType; +import com.mojang.brigadier.arguments.IntegerArgumentType; +import com.mojang.brigadier.context.CommandContext; + +import net.fabricmc.fabric.api.client.command.v1.ClientCommandManager; +import net.fabricmc.fabric.api.client.command.v1.FabricClientCommandSource; +import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; + +// For support join https://discord.gg/v6v4pMv + +var enabled = false +var timer = 0 + +fun uwutimer(c: CommandContext<FabricClientCommandSource>): Int { + val time = IntegerArgumentType.getInteger(c, "seconds"); + if (timer != time) { + timer = time*20; + enabled = true; + return 1 + } + return 0 +} + +fun uwumode(c: CommandContext<FabricClientCommandSource>): Int { + val enable = BoolArgumentType.getBool(c, "enable"); + if (timer > 0 || enabled != enable) { + timer = 0; + enabled = enable; + return 1 + } + return 0 +} + +@Suppress("unused") +fun init() { + // This mod is client-only, so this is the client init. + + ClientCommandManager.DISPATCHER.register( + ClientCommandManager.literal("uwu") + .then( + ClientCommandManager.argument( + "seconds", + IntegerArgumentType.integer(0, 0x7FFFFFFF/20) + ).executes(::uwutimer) + ) + .then( + ClientCommandManager.argument( + "enable", + BoolArgumentType.bool() + ).executes(::uwumode) + ) + ); + + ClientTickEvents.START_CLIENT_TICK.register { + if (timer > 0) { + --timer; + if (timer == 0) { + enabled = false; + } + } + }; +} + |