From d23825b05ec9cba95429c6ef693f469e99e37b36 Mon Sep 17 00:00:00 2001 From: plutorocks <> Date: Tue, 24 Feb 2026 17:15:29 -0500 Subject: Initial commit --- src/main/java/dev/plutorocks/MinecraftIRC.java | 24 ++++++++++++++++ .../java/dev/plutorocks/mixin/ExampleMixin.java | 15 ++++++++++ src/main/resources/assets/minecraftirc/icon.png | Bin 0 -> 62171 bytes src/main/resources/fabric.mod.json | 31 +++++++++++++++++++++ src/main/resources/minecraftirc.mixins.json | 14 ++++++++++ 5 files changed, 84 insertions(+) create mode 100644 src/main/java/dev/plutorocks/MinecraftIRC.java create mode 100644 src/main/java/dev/plutorocks/mixin/ExampleMixin.java create mode 100644 src/main/resources/assets/minecraftirc/icon.png create mode 100644 src/main/resources/fabric.mod.json create mode 100644 src/main/resources/minecraftirc.mixins.json (limited to 'src/main') 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 Binary files /dev/null and b/src/main/resources/assets/minecraftirc/icon.png 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 -- cgit v1.2.3