summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/ftbsc/bscv/modules/Module.java17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/main/java/ftbsc/bscv/modules/Module.java b/src/main/java/ftbsc/bscv/modules/Module.java
index 57a5a00..6ac71b3 100644
--- a/src/main/java/ftbsc/bscv/modules/Module.java
+++ b/src/main/java/ftbsc/bscv/modules/Module.java
@@ -1,9 +1,8 @@
package ftbsc.bscv.modules;
import com.mojang.brigadier.CommandDispatcher;
-import com.mojang.brigadier.arguments.ArgumentType;
+import com.mojang.brigadier.arguments.BoolArgumentType;
-import ftbsc.bscv.BoSCoVicino;
import net.minecraft.command.CommandSource;
import net.minecraft.command.Commands;
import net.minecraftforge.common.ForgeConfigSpec;
@@ -34,17 +33,29 @@ public abstract class Module {
.comment(String.format("Enables %s", this.name))
.define("enabled", false);
+ // TODO: can this be made an util or moved somewhere else?
dispatcher.register(
Commands.literal(this.name.toLowerCase())
.then(
Commands.literal("toggle")
+ .then(
+ Commands.argument("state", BoolArgumentType.bool())
+ .executes( ctx -> {
+ boolean value = ctx.getArgument("state", Boolean.class);
+ if (this.enabled.get() ^ value) { // must change
+ if (value) { this.enable(); }
+ else { this.disable(); }
+ }
+ return 1;
+ })
+ )
.executes(ctx -> {
this.toggle();
return 1;
})
)
.executes(ctx -> {
- log(String.format("=[ %s ]%s", this.name, this.enabled.get() ? "+" : ""));
+ log(String.format("%s [%s]", this.name, this.enabled.get() ? "ON" : "OFF"));
// TODO: print all mod options!
return 1;
})