mirror of
https://github.com/Miasmusa/Shadow.git
synced 2025-04-22 01:03:26 -04:00
config
This commit is contained in:
parent
490ebc4683
commit
3102b0a1be
6 changed files with 74 additions and 2 deletions
src/main
|
@ -1,11 +1,15 @@
|
|||
package me.x150.sipprivate;
|
||||
|
||||
import me.x150.sipprivate.keybinding.KeybindingManager;
|
||||
import me.x150.sipprivate.util.ConfigManager;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import org.apache.logging.log4j.Level;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class SipoverPrivate implements ModInitializer {
|
||||
|
||||
public static final String MOD_ID = "sipoverprivate";
|
||||
|
@ -13,12 +17,24 @@ public class SipoverPrivate implements ModInitializer {
|
|||
public static Logger LOGGER = LogManager.getLogger();
|
||||
public static MinecraftClient client = MinecraftClient.getInstance();
|
||||
|
||||
public static File BASE = new File(MinecraftClient.getInstance().runDirectory, "sip");
|
||||
|
||||
public static void log(Level level, String message) {
|
||||
LOGGER.log(level, "[" + MOD_NAME + "] " + message);
|
||||
}
|
||||
|
||||
@Override public void onInitialize() {
|
||||
log(Level.INFO, "Initializing");
|
||||
Runtime.getRuntime().addShutdownHook(new Thread(ConfigManager::saveState));
|
||||
if (BASE.exists() && !BASE.isDirectory()) {
|
||||
BASE.delete();
|
||||
}
|
||||
if (!BASE.exists()) {
|
||||
BASE.mkdir();
|
||||
}
|
||||
KeybindingManager.init();
|
||||
ConfigManager.loadState();
|
||||
log(Level.INFO, "Done initializing");
|
||||
//TODO: Initializer
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
package me.x150.sipprivate.mixin;
|
||||
|
||||
import me.x150.sipprivate.util.ConfigManager;
|
||||
import net.minecraft.client.network.ClientPlayerEntity;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(ClientPlayerEntity.class)
|
||||
public class ClientPlayerEntityMixin {
|
||||
@Inject(method = "tick", at = @At("HEAD")) void tick(CallbackInfo ci) {
|
||||
if (!ConfigManager.enabled) {
|
||||
ConfigManager.enableModules();
|
||||
}
|
||||
}
|
||||
}
|
20
src/main/java/me/x150/sipprivate/mixin/KeyboardMixin.java
Normal file
20
src/main/java/me/x150/sipprivate/mixin/KeyboardMixin.java
Normal file
|
@ -0,0 +1,20 @@
|
|||
package me.x150.sipprivate.mixin;
|
||||
|
||||
import me.x150.sipprivate.keybinding.KeybindingManager;
|
||||
import net.minecraft.client.Keyboard;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(Keyboard.class)
|
||||
public class KeyboardMixin {
|
||||
@Inject(method = "onKey", at = @At("RETURN")) void atomic_postKeyPressed(long window, int key, int scancode, int action, int modifiers, CallbackInfo ci) {
|
||||
if (window == MinecraftClient.getInstance().getWindow()
|
||||
.getHandle() && MinecraftClient.getInstance().currentScreen == null) { // make sure we are in game and the screen has been there for at least 10 ms
|
||||
|
||||
KeybindingManager.updateSingle(key, action);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
package me.x150.sipprivate.mixin;
|
||||
|
||||
import me.x150.sipprivate.util.ConfigManager;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(MinecraftClient.class)
|
||||
public class MinecraftClientMixin {
|
||||
@Inject(method = "stop", at = @At("HEAD")) void real(CallbackInfo ci) {
|
||||
ConfigManager.saveState();
|
||||
}
|
||||
}
|
|
@ -31,7 +31,7 @@ public class ConfigManager {
|
|||
public static boolean enabled = false;
|
||||
|
||||
static {
|
||||
CONFIG_FILE = new File(SipoverPrivate.client.runDirectory, "config.sip");
|
||||
CONFIG_FILE = new File(SipoverPrivate.BASE, "config.sip");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -2,7 +2,11 @@
|
|||
"required": true,
|
||||
"package": "me.x150.sipprivate.mixin",
|
||||
"compatibilityLevel": "JAVA_8",
|
||||
"mixins": [],
|
||||
"mixins": [
|
||||
"ClientPlayerEntityMixin",
|
||||
"KeyboardMixin",
|
||||
"MinecraftClientMixin"
|
||||
],
|
||||
"client": [],
|
||||
"server": [],
|
||||
"injectors": {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue