From c2d643ae95203794dfc78cede1c33042203b752c Mon Sep 17 00:00:00 2001 From: PlexSheep Date: Sun, 16 Apr 2023 17:37:52 +0200 Subject: [PATCH] some changes i dont remember --- build.gradle | 4 ++ log4j-dev.xml | 11 +++++ .../java/de/cscherr/plextool/PlexTool.java | 6 ++- .../de/cscherr/plextool/PlexToolUiScreen.java | 43 ++++++++++++------- .../plextool/mixin/PlexToolPackets.java | 3 +- .../plextool/mixin/PlexToolUIMixin.java | 18 +++++--- src/main/resources/fabric.mod.json | 25 +++++++---- src/main/resources/slf4j.properties | 0 8 files changed, 78 insertions(+), 32 deletions(-) create mode 100644 log4j-dev.xml create mode 100644 src/main/resources/slf4j.properties diff --git a/build.gradle b/build.gradle index 5af2ddd..f45aed4 100644 --- a/build.gradle +++ b/build.gradle @@ -78,3 +78,7 @@ publishing { // retrieving dependencies. } } + +loom { + log4jConfigs.from(file("log4j-dev.xml")) +} \ No newline at end of file diff --git a/log4j-dev.xml b/log4j-dev.xml new file mode 100644 index 0000000..68305ff --- /dev/null +++ b/log4j-dev.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/de/cscherr/plextool/PlexTool.java b/src/main/java/de/cscherr/plextool/PlexTool.java index 46b44f3..cfd838a 100644 --- a/src/main/java/de/cscherr/plextool/PlexTool.java +++ b/src/main/java/de/cscherr/plextool/PlexTool.java @@ -3,13 +3,16 @@ package de.cscherr.plextool; import net.fabricmc.api.ModInitializer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.slf4j.LoggerFactoryFriend; +import org.slf4j.event.Level; +import org.slf4j.spi.LoggingEventBuilder; public class PlexTool implements ModInitializer { // This logger is used to write text to the console and the log file. // It is considered best practice to use your mod id as the logger's name. // That way, it's clear which mod wrote info, warnings, and errors. public static final String MOD_ID = "PlexTool"; - public static final String VERSION_NUMBER = "0.1.0"; + public static final String VERSION_NUMBER = "0.1.1"; public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); @Override @@ -18,6 +21,7 @@ public class PlexTool implements ModInitializer { // However, some things (like resources) may still be uninitialized. // Proceed with mild caution. + LOGGER.debug("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); LOGGER.info("Initializing PlexTool"); } } \ No newline at end of file diff --git a/src/main/java/de/cscherr/plextool/PlexToolUiScreen.java b/src/main/java/de/cscherr/plextool/PlexToolUiScreen.java index 311eef6..6d03c6e 100644 --- a/src/main/java/de/cscherr/plextool/PlexToolUiScreen.java +++ b/src/main/java/de/cscherr/plextool/PlexToolUiScreen.java @@ -9,35 +9,48 @@ import net.minecraft.screen.ScreenTexts; import net.minecraft.text.Text; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import net.minecraft.client.gui.widget.ButtonWidget; +import org.slf4j.event.Level; public class PlexToolUiScreen extends Screen { - private static final Logger LOGGER = LoggerFactory.getLogger(PlexToolUiScreen.class.getSimpleName()); + private static final Logger LOGGER = PlexTool.LOGGER; private static final Text INFO_TEXT = Text.literal("Hello world"); private final Screen parent; + private ButtonWidget doneButton; + private ButtonWidget dummyButton; - public PlexToolUiScreen(String name, Screen parent) { - super(Text.literal(name)); + public PlexToolUiScreen(Text name, Screen parent) { + super(name); + LOGGER.trace("Constructing the UI, call to super is done"); this.parent = parent; - LOGGER.info("Constructed the UI"); + LOGGER.info("Constructed the UI Screen"); + } + + public PlexToolUiScreen(Text name) { + super(name); + LOGGER.trace("Constructing the UI, call to super is done"); + this.parent = null; + LOGGER.info("Constructed the UI Screen without a parent"); } @Override protected void init() { - //assert this.client != null; - //Window window = this.client.getWindow(); - //Monitor monitor = window.getMonitor(); + LOGGER.trace(PlexToolUiScreen.class.getSimpleName() + " init started"); - this.addDrawable(ButtonWidget.builder(INFO_TEXT, button -> { - LOGGER.info("Pressed dummy button"); - }).dimensions(this.width / 2 - 100, this.height - 10, 200, 20).build()); - //this.addDrawableChild(ButtonWidget.builder(ScreenTexts.DONE, button -> { - // this.client.options.write(); - // this.apply(); - // this.client.setScreen(this.parent); - //}).dimensions(this.width / 2 - 100, this.height - 27, 200, 20).build()); + dummyButton = ButtonWidget.builder(Text.literal("Dummy"), b -> apply()).build(); + doneButton = ButtonWidget.builder(Text.literal("Done"), b -> apply()).build(); + + this.addDrawableChild(doneButton); + + LOGGER.info(PlexToolUiScreen.class.getSimpleName() + " init finished"); } private void apply() { + LOGGER.trace("applying PlexToolUI Options, not implemented"); + // return to the parent screen, should be OptionsScreen + assert client != null; + client.setScreen(parent); + this.close(); } } diff --git a/src/main/java/de/cscherr/plextool/mixin/PlexToolPackets.java b/src/main/java/de/cscherr/plextool/mixin/PlexToolPackets.java index ad8eb49..a48d767 100644 --- a/src/main/java/de/cscherr/plextool/mixin/PlexToolPackets.java +++ b/src/main/java/de/cscherr/plextool/mixin/PlexToolPackets.java @@ -1,5 +1,6 @@ package de.cscherr.plextool.mixin; +import de.cscherr.plextool.PlexTool; import net.minecraft.network.ClientConnection; import net.minecraft.network.PacketCallbacks; import net.minecraft.network.listener.PacketListener; @@ -42,7 +43,7 @@ public class PlexToolMixin { @Mixin(ClientConnection.class) public class PlexToolPackets { - private static final Logger LOGGER = LoggerFactory.getLogger("PlexToolMixin"); + private static final Logger LOGGER = PlexTool.LOGGER; private static boolean logSent = true; private static boolean logReceived = false; diff --git a/src/main/java/de/cscherr/plextool/mixin/PlexToolUIMixin.java b/src/main/java/de/cscherr/plextool/mixin/PlexToolUIMixin.java index b07db8c..23c01cb 100644 --- a/src/main/java/de/cscherr/plextool/mixin/PlexToolUIMixin.java +++ b/src/main/java/de/cscherr/plextool/mixin/PlexToolUIMixin.java @@ -1,23 +1,22 @@ package de.cscherr.plextool.mixin; +import de.cscherr.plextool.PlexTool; import de.cscherr.plextool.PlexToolUiScreen; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.option.OptionsScreen; import net.minecraft.client.gui.widget.ButtonWidget; -import net.minecraft.client.util.Monitor; -import net.minecraft.client.util.Window; import net.minecraft.text.Text; import org.slf4j.Logger; -import org.slf4j.LoggerFactory; 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(OptionsScreen.class) public abstract class PlexToolUIMixin extends Screen { private static final Text PLEXTOOL_TEXT = Text.literal("PlexTool"); - private static final Logger LOGGER = LoggerFactory.getLogger(PlexToolUIMixin.class.getSimpleName()); + private static final Logger LOGGER = PlexTool.LOGGER; protected PlexToolUIMixin(Text title) { super(title); @@ -25,9 +24,14 @@ public abstract class PlexToolUIMixin extends Screen { @Inject(method = "init", at = @At("RETURN")) private void init(CallbackInfo callback) { - addDrawable(ButtonWidget.builder(Text.literal("PT"), button -> { + ButtonWidget plexToolButton = ButtonWidget.builder(PLEXTOOL_TEXT, button -> { + LOGGER.info("Opening PlexToolUiScreen"); assert client != null; - client.setScreen(new PlexToolUiScreen(PLEXTOOL_TEXT.getString(), (OptionsScreen)(Object)this)); - }).position(this.width / 2 - 180, this.height / 6 + 120 - 6).size(20, 20).build()); + PlexToolUiScreen plexToolUiScreen = new PlexToolUiScreen(PLEXTOOL_TEXT, (OptionsScreen)(Object)this); + client.setScreen(plexToolUiScreen); + }).build(); + this.addDrawable(plexToolButton); + + LOGGER.info(PlexToolUIMixin.class.getSimpleName() + " init finished"); } } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index e615b8c..aef57e0 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,19 +1,28 @@ { "schemaVersion": 1, "id": "plextool", - "version": "0.1.0", + "version": "0.1.1", - "name": "PlexSheeps tool mod", - "description": "Some of these might be considered hacking tools.", + "name": "PlexSheep Utilities mod", + "description": "This mod contains some technical tools used by PlexSheep while playing Minecraft. Some of these might be considered hacking tools.", "authors": [ - "Plexsheep " + { + "name": "Christoph J. Scherr", + "contact": { + "email": "software@cscherr.de", + "homepage": "https://www.cscherr.de", + "issues": "https://github.com/PlexSheep/PlexTool/issues", + "sources": "https://hithub.com/PlexSheep/PlexTool" + } + } ], "contact": { - "homepage": "https://www.cscherr.de/", - "sources": "https://github.com/FabricMC/fabric-example-mod" + "email": "software@cscherr.de", + "homepage": "https://www.cscherr.de", + "issues": "https://github.com/PlexSheep/PlexTool/issues", + "sources": "https://hithub.com/PlexSheep/PlexTool" }, - - "license": "CC0-1.0", + "license": "MIT", "icon": "assets/modid/icon.png", "environment": "*", diff --git a/src/main/resources/slf4j.properties b/src/main/resources/slf4j.properties new file mode 100644 index 0000000..e69de29