summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorplutorocks <>2026-02-24 17:15:29 -0500
committerplutorocks <>2026-02-24 17:15:29 -0500
commitd23825b05ec9cba95429c6ef693f469e99e37b36 (patch)
treedffe3ed7d3ddd5590591df381f84c33f6d329abb /src
Initial commit
Diffstat (limited to 'src')
-rw-r--r--src/main/java/dev/plutorocks/MinecraftIRC.java24
-rw-r--r--src/main/java/dev/plutorocks/mixin/ExampleMixin.java15
-rw-r--r--src/main/resources/assets/minecraftirc/icon.pngbin0 -> 62171 bytes
-rw-r--r--src/main/resources/fabric.mod.json31
-rw-r--r--src/main/resources/minecraftirc.mixins.json14
5 files changed, 84 insertions, 0 deletions
diff --git a/src/main/java/dev/plutorocks/MinecraftIRC.java b/src/main/java/dev/plutorocks/MinecraftIRC.java
new file mode 100644
index 0000000..a8aeed9
--- /dev/null
+++ b/src/main/java/dev/plutorocks/MinecraftIRC.java
@@ -0,0 +1,24 @@
+package dev.plutorocks;
+
+import net.fabricmc.api.ModInitializer;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class MinecraftIRC implements ModInitializer {
+ public static final String MOD_ID = "minecraftirc";
+
+ // 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 Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
+
+ @Override
+ public void onInitialize() {
+ // This code runs as soon as Minecraft is in a mod-load-ready state.
+ // However, some things (like resources) may still be uninitialized.
+ // Proceed with mild caution.
+
+ LOGGER.info("Hello Fabric world!");
+ }
+} \ No newline at end of file
diff --git a/src/main/java/dev/plutorocks/mixin/ExampleMixin.java b/src/main/java/dev/plutorocks/mixin/ExampleMixin.java
new file mode 100644
index 0000000..da1eff9
--- /dev/null
+++ b/src/main/java/dev/plutorocks/mixin/ExampleMixin.java
@@ -0,0 +1,15 @@
+package dev.plutorocks.mixin;
+
+import net.minecraft.server.MinecraftServer;
+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(MinecraftServer.class)
+public class ExampleMixin {
+ @Inject(at = @At("HEAD"), method = "loadWorld")
+ private void init(CallbackInfo info) {
+ // This code is injected into the start of MinecraftServer.loadWorld()V
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/minecraftirc/icon.png b/src/main/resources/assets/minecraftirc/icon.png
new file mode 100644
index 0000000..0de3188
--- /dev/null
+++ b/src/main/resources/assets/minecraftirc/icon.png
Binary files differ
diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json
new file mode 100644
index 0000000..3bc9b56
--- /dev/null
+++ b/src/main/resources/fabric.mod.json
@@ -0,0 +1,31 @@
+{
+ "schemaVersion": 1,
+ "id": "minecraftirc",
+ "version": "${version}",
+ "name": "MinecraftIRC",
+ "description": "Bare-bones Fabric mod that can interact with IRC servers in-game",
+ "authors": [
+ "plutorocks"
+ ],
+ "contact": {
+ "homepage": "https://plutorocks.dev/",
+ "sources": "https://github.com/FabricMC/fabric-example-mod"
+ },
+ "license": "GPL-3.0-only",
+ "icon": "assets/minecraftirc/icon.png",
+ "environment": "*",
+ "entrypoints": {
+ "main": [
+ "dev.plutorocks.MinecraftIRC"
+ ]
+ },
+ "mixins": [
+ "minecraftirc.mixins.json"
+ ],
+ "depends": {
+ "fabricloader": ">=0.18.4",
+ "minecraft": "~1.21.4",
+ "java": ">=21",
+ "fabric-api": "*"
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/minecraftirc.mixins.json b/src/main/resources/minecraftirc.mixins.json
new file mode 100644
index 0000000..da52128
--- /dev/null
+++ b/src/main/resources/minecraftirc.mixins.json
@@ -0,0 +1,14 @@
+{
+ "required": true,
+ "package": "dev.plutorocks.mixin",
+ "compatibilityLevel": "JAVA_21",
+ "mixins": [
+ "ExampleMixin"
+ ],
+ "injectors": {
+ "defaultRequire": 1
+ },
+ "overwrites": {
+ "requireAnnotations": true
+ }
+} \ No newline at end of file