diff options
| author | plutorocks <> | 2026-02-24 17:15:29 -0500 |
|---|---|---|
| committer | plutorocks <> | 2026-02-24 17:15:29 -0500 |
| commit | d23825b05ec9cba95429c6ef693f469e99e37b36 (patch) | |
| tree | dffe3ed7d3ddd5590591df381f84c33f6d329abb /src | |
Initial commit
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/dev/plutorocks/MinecraftIRC.java | 24 | ||||
| -rw-r--r-- | src/main/java/dev/plutorocks/mixin/ExampleMixin.java | 15 | ||||
| -rw-r--r-- | src/main/resources/assets/minecraftirc/icon.png | bin | 0 -> 62171 bytes | |||
| -rw-r--r-- | src/main/resources/fabric.mod.json | 31 | ||||
| -rw-r--r-- | src/main/resources/minecraftirc.mixins.json | 14 |
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 Binary files differnew file mode 100644 index 0000000..0de3188 --- /dev/null +++ b/src/main/resources/assets/minecraftirc/icon.png 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 |
