summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/ftbsc/bscv/Boscovicino.java4
-rw-r--r--src/main/java/ftbsc/bscv/api/IModule.java12
-rw-r--r--src/main/java/ftbsc/bscv/modules/AbstractModule.java30
-rw-r--r--src/main/java/ftbsc/bscv/modules/defense/Aura.java3
-rw-r--r--src/main/java/ftbsc/bscv/modules/hud/Highlighter.java3
-rw-r--r--src/main/java/ftbsc/bscv/modules/motion/VanillaFlight.java7
-rw-r--r--src/main/java/ftbsc/bscv/modules/self/Freecam.java6
-rw-r--r--src/main/java/ftbsc/bscv/modules/vision/Fullbright.java11
8 files changed, 44 insertions, 32 deletions
diff --git a/src/main/java/ftbsc/bscv/Boscovicino.java b/src/main/java/ftbsc/bscv/Boscovicino.java
index a3a3f29..d1f4531 100644
--- a/src/main/java/ftbsc/bscv/Boscovicino.java
+++ b/src/main/java/ftbsc/bscv/Boscovicino.java
@@ -77,7 +77,9 @@ public class Boscovicino implements ICommons {
LOGGER.info("Initializing modules");
for (IModule m : modManager.mods) {
- if (m.isEnabled()) m.enable();
+ if (m.isEnabled()) {
+ m.enable(); // re-run enable() to register on the event bus and run enabled callbacks
+ }
}
}
diff --git a/src/main/java/ftbsc/bscv/api/IModule.java b/src/main/java/ftbsc/bscv/api/IModule.java
index 2b0ea12..0219de3 100644
--- a/src/main/java/ftbsc/bscv/api/IModule.java
+++ b/src/main/java/ftbsc/bscv/api/IModule.java
@@ -8,10 +8,14 @@ public interface IModule extends ICommand {
ForgeConfigSpec.Builder getConfigBuilder();
+ boolean isEnabled();
+
default void toggle() {
- if (this.isEnabled())
+ if (this.isEnabled()) {
this.disable();
- else this.enable();
+ } else {
+ this.enable();
+ }
}
default void enable() {
@@ -19,8 +23,6 @@ public interface IModule extends ICommand {
}
default void disable() {
- MinecraftForge.EVENT_BUS.register(this);
+ MinecraftForge.EVENT_BUS.unregister(this);
}
-
- boolean isEnabled();
}
diff --git a/src/main/java/ftbsc/bscv/modules/AbstractModule.java b/src/main/java/ftbsc/bscv/modules/AbstractModule.java
index 384d593..3dbd82e 100644
--- a/src/main/java/ftbsc/bscv/modules/AbstractModule.java
+++ b/src/main/java/ftbsc/bscv/modules/AbstractModule.java
@@ -7,7 +7,6 @@ import ftbsc.bscv.api.IModule;
import net.minecraft.command.CommandSource;
import net.minecraft.command.Commands;
import net.minecraftforge.common.ForgeConfigSpec;
-import net.minecraftforge.common.MinecraftForge;
import static ftbsc.bscv.Boscovicino.log;
@@ -70,23 +69,22 @@ public abstract class AbstractModule implements IModule {
);
}
- protected void onEnabled() {}
- protected void onDisabled() {}
-
- public final void enable() {
- MinecraftForge.EVENT_BUS.register(this);
- this.enabled.set(true);
- this.enabled.save();
- this.onEnabled();
- log(String.format("%s ON", this.getName()));
+ public void enable() {
+ IModule.super.enable();
+ if (!this.enabled.get()) {
+ this.enabled.set(true);
+ this.enabled.save();
+ log(String.format("%s ON", this.getName()));
+ }
}
- public final void disable() {
- MinecraftForge.EVENT_BUS.unregister(this);
- this.enabled.set(false);
- this.enabled.save();
- this.onDisabled();
- log(String.format("%s OFF", this.getName()));
+ public void disable() {
+ IModule.super.disable();
+ if (this.enabled.get()) {
+ this.enabled.set(false);
+ this.enabled.save();
+ log(String.format("%s OFF", this.getName()));
+ }
}
@Override
diff --git a/src/main/java/ftbsc/bscv/modules/defense/Aura.java b/src/main/java/ftbsc/bscv/modules/defense/Aura.java
index 8c02656..290ab81 100644
--- a/src/main/java/ftbsc/bscv/modules/defense/Aura.java
+++ b/src/main/java/ftbsc/bscv/modules/defense/Aura.java
@@ -104,7 +104,8 @@ public class Aura extends QuickModule implements ICommons {
}
@Override
- protected void onEnabled() {
+ public void enable() {
+ super.enable();
this.autotool = (AutoTool) Boscovicino.modManager.get(AutoTool.class);
}
diff --git a/src/main/java/ftbsc/bscv/modules/hud/Highlighter.java b/src/main/java/ftbsc/bscv/modules/hud/Highlighter.java
index 25d5ac7..a5fa0e5 100644
--- a/src/main/java/ftbsc/bscv/modules/hud/Highlighter.java
+++ b/src/main/java/ftbsc/bscv/modules/hud/Highlighter.java
@@ -43,7 +43,8 @@ public class Highlighter extends AbstractModule {
}
@Override
- protected void onEnabled() {
+ public void enable() {
+ super.enable();
this.pattern = Pattern.compile(this.query.get());
}
diff --git a/src/main/java/ftbsc/bscv/modules/motion/VanillaFlight.java b/src/main/java/ftbsc/bscv/modules/motion/VanillaFlight.java
index 9853595..2b238a4 100644
--- a/src/main/java/ftbsc/bscv/modules/motion/VanillaFlight.java
+++ b/src/main/java/ftbsc/bscv/modules/motion/VanillaFlight.java
@@ -97,17 +97,18 @@ public class VanillaFlight extends QuickModule implements ICommons {
}
@Override
- protected void onEnabled() {
+ public void enable() {
+ super.enable();
this.tick = 0;
if (MC.player != null) {
this.couldFlyBefore = MC.player.abilities.mayfly;
this.flyingSpeedBefore = MC.player.abilities.getFlyingSpeed();
- Boscovicino.log(String.format("Flying speed before = %f", this.flyingSpeedBefore));
}
}
@Override
- protected void onDisabled() {
+ public void disable() {
+ super.disable();
ClientPlayerEntity player = MC.player;
if (player != null) {
player.abilities.mayfly = this.couldFlyBefore;
diff --git a/src/main/java/ftbsc/bscv/modules/self/Freecam.java b/src/main/java/ftbsc/bscv/modules/self/Freecam.java
index cd0c107..33c27ae 100644
--- a/src/main/java/ftbsc/bscv/modules/self/Freecam.java
+++ b/src/main/java/ftbsc/bscv/modules/self/Freecam.java
@@ -77,7 +77,8 @@ public class Freecam extends QuickModule implements ICommons {
}
@Override
- protected void onEnabled() {
+ public void enable() {
+ super.enable();
if (MC.player == null) {
Boscovicino.log("[!] Can only enable freecam while in-game");
this.disable();
@@ -102,7 +103,8 @@ public class Freecam extends QuickModule implements ICommons {
}
@Override
- protected void onDisabled() {
+ public void disable() {
+ super.disable();
if (MC.player == null) return;
MC.gameMode.setLocalMode(this.prev_gamemode);
MC.player.noCulling = false;
diff --git a/src/main/java/ftbsc/bscv/modules/vision/Fullbright.java b/src/main/java/ftbsc/bscv/modules/vision/Fullbright.java
index f84a9e4..9569d44 100644
--- a/src/main/java/ftbsc/bscv/modules/vision/Fullbright.java
+++ b/src/main/java/ftbsc/bscv/modules/vision/Fullbright.java
@@ -13,6 +13,10 @@ import java.awt.event.KeyEvent;
@AutoService(ILoadable.class)
public class Fullbright extends QuickModule implements ICommons {
+
+ private final static int NIGHT_VISION_ID = 16;
+ private final static int FOUR_MINUTES_TWENTY_SECONDS = 5204;
+
@Override
protected int getDefaultKey() {
return KeyEvent.VK_V;
@@ -22,11 +26,12 @@ public class Fullbright extends QuickModule implements ICommons {
public void onTick(TickEvent.ClientTickEvent event) {
if (MC == null) return;
if (MC.player == null) return;
- MC.player.addEffect(new EffectInstance(Effect.byId(16), 5204));
+ MC.player.addEffect(new EffectInstance(Effect.byId(NIGHT_VISION_ID), FOUR_MINUTES_TWENTY_SECONDS));
}
@Override
- protected void onDisabled() {
- MC.player.removeEffect(Effect.byId(16));
+ public void disable() {
+ super.disable();
+ MC.player.removeEffect(Effect.byId(NIGHT_VISION_ID));
}
}