summaryrefslogtreecommitdiffstats
path: root/src/main/kotlin/space/autistic/uwumode/UwuMode.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/space/autistic/uwumode/UwuMode.kt')
-rw-r--r--src/main/kotlin/space/autistic/uwumode/UwuMode.kt65
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;
+ }
+ }
+ };
+}
+