Skip to content

Commit

Permalink
Better InputHandler compat and checks
Browse files Browse the repository at this point in the history
  • Loading branch information
Mars committed Apr 23, 2023
1 parent 054f893 commit 27ff127
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/me/mars/Bridges.java
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ public class Bridges extends Mod {
private static int scroll = 0;

private static float time;
private static Seq<Runnable> queue = new Seq<>();
private static Seq<Runnable> queue2 = new Seq<>();
static Seq<Runnable> queue = new Seq<>();
static Seq<Runnable> queue2 = new Seq<>();
public static IntIntMap lastConfigs = new IntIntMap();

public Bridges() {
Expand Down
15 changes: 14 additions & 1 deletion src/me/mars/ConfigHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,11 @@
import arc.input.KeyCode;
import arc.math.geom.Vec2;
import arc.struct.ObjectSet;
import arc.util.Log;
import arc.util.Reflect;
import arc.util.Timer;
import mindustry.Vars;
import mindustry.game.EventType;
import mindustry.game.EventType.Trigger;
import mindustry.gen.Building;
import mindustry.graphics.Layer;
Expand All @@ -21,6 +24,8 @@
import mindustry.world.blocks.liquid.LiquidBridge.LiquidBridgeBuild;
import mindustry.world.blocks.payloads.PayloadMassDriver.PayloadDriverBuild;

import static mindustry.Vars.control;

public class ConfigHandler {
// static ObjectMap<Class<? extends Building>, Func2<Building, Building, Boolean>> checkers = new ObjectMap<>();
static ObjectSet<Class<? extends Building>> validBuilds = ObjectSet.with(
Expand All @@ -32,8 +37,16 @@ public class ConfigHandler {
public static void init() {
// Jank time
configFragment = new ModifiedConfigFragment();
Events.on(EventType.ClientLoadEvent.class, clientLoadEvent -> {
Bridges.queue.add(() -> Reflect.set(InputHandler.class, control.input, "config", configFragment));
Timer.schedule(() -> {
if (control.input.config != configFragment) {
Log.warn("ConfigFragment was not set. Some mod replacing something perhaps?");
Log.info("Current InputHandler: @\n ConfigFragment: @", control.input, control.input.config);
}
}, 10f);
});

Reflect.set(InputHandler.class, Vars.control.input, "config", configFragment);

Events.run(Trigger.uiDrawBegin, () -> {
if (configClicked != null) {
Expand Down

0 comments on commit 27ff127

Please sign in to comment.