From 91133dbdc73ecfec6aa1d0bc61dc7e6797163621 Mon Sep 17 00:00:00 2001 From: modmuss Date: Wed, 7 Jun 2023 16:15:03 +0100 Subject: Update to 1.20 Now uses split-sourceset's --- src/client/java/com/example/ExampleModClient.java | 10 +++ .../example/mixin/client/ExampleClientMixin.java | 15 +++++ src/client/resources/modid.client.mixins.json | 11 ++++ src/main/java/com/example/ExampleMod.java | 22 +++++++ src/main/java/com/example/mixin/ExampleMixin.java | 15 +++++ src/main/java/net/fabricmc/example/ExampleMod.java | 21 ------ .../net/fabricmc/example/mixin/ExampleMixin.java | 16 ----- src/main/resources/fabric.mod.json | 77 +++++++++++----------- src/main/resources/modid.mixins.json | 23 +++---- 9 files changed, 123 insertions(+), 87 deletions(-) create mode 100644 src/client/java/com/example/ExampleModClient.java create mode 100644 src/client/java/com/example/mixin/client/ExampleClientMixin.java create mode 100644 src/client/resources/modid.client.mixins.json create mode 100644 src/main/java/com/example/ExampleMod.java create mode 100644 src/main/java/com/example/mixin/ExampleMixin.java delete mode 100644 src/main/java/net/fabricmc/example/ExampleMod.java delete mode 100644 src/main/java/net/fabricmc/example/mixin/ExampleMixin.java (limited to 'src') diff --git a/src/client/java/com/example/ExampleModClient.java b/src/client/java/com/example/ExampleModClient.java new file mode 100644 index 0000000..12c3502 --- /dev/null +++ b/src/client/java/com/example/ExampleModClient.java @@ -0,0 +1,10 @@ +package com.example; + +import net.fabricmc.api.ClientModInitializer; + +public class ExampleModClient implements ClientModInitializer { + @Override + public void onInitializeClient() { + // This entrypoint is suitable for setting up client-specific logic, such as rendering. + } +} \ No newline at end of file diff --git a/src/client/java/com/example/mixin/client/ExampleClientMixin.java b/src/client/java/com/example/mixin/client/ExampleClientMixin.java new file mode 100644 index 0000000..061b0ef --- /dev/null +++ b/src/client/java/com/example/mixin/client/ExampleClientMixin.java @@ -0,0 +1,15 @@ +package com.example.mixin.client; + +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 ExampleClientMixin { + @Inject(at = @At("HEAD"), method = "run") + private void run(CallbackInfo info) { + // This code is injected into the start of MinecraftClient.run()V + } +} \ No newline at end of file diff --git a/src/client/resources/modid.client.mixins.json b/src/client/resources/modid.client.mixins.json new file mode 100644 index 0000000..21b0fc1 --- /dev/null +++ b/src/client/resources/modid.client.mixins.json @@ -0,0 +1,11 @@ +{ + "required": true, + "package": "com.example.mixin.client", + "compatibilityLevel": "JAVA_17", + "client": [ + "ExampleClientMixin" + ], + "injectors": { + "defaultRequire": 1 + } +} \ No newline at end of file diff --git a/src/main/java/com/example/ExampleMod.java b/src/main/java/com/example/ExampleMod.java new file mode 100644 index 0000000..4cbb0cb --- /dev/null +++ b/src/main/java/com/example/ExampleMod.java @@ -0,0 +1,22 @@ +package com.example; + +import net.fabricmc.api.ModInitializer; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class ExampleMod 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 Logger LOGGER = LoggerFactory.getLogger("modid"); + + @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/com/example/mixin/ExampleMixin.java b/src/main/java/com/example/mixin/ExampleMixin.java new file mode 100644 index 0000000..3c4212c --- /dev/null +++ b/src/main/java/com/example/mixin/ExampleMixin.java @@ -0,0 +1,15 @@ +package com.example.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/java/net/fabricmc/example/ExampleMod.java b/src/main/java/net/fabricmc/example/ExampleMod.java deleted file mode 100644 index a964189..0000000 --- a/src/main/java/net/fabricmc/example/ExampleMod.java +++ /dev/null @@ -1,21 +0,0 @@ -package net.fabricmc.example; - -import net.fabricmc.api.ModInitializer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class ExampleMod 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 Logger LOGGER = LoggerFactory.getLogger("modid"); - - @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!"); - } -} diff --git a/src/main/java/net/fabricmc/example/mixin/ExampleMixin.java b/src/main/java/net/fabricmc/example/mixin/ExampleMixin.java deleted file mode 100644 index 356cb38..0000000 --- a/src/main/java/net/fabricmc/example/mixin/ExampleMixin.java +++ /dev/null @@ -1,16 +0,0 @@ -package net.fabricmc.example.mixin; - -import net.fabricmc.example.ExampleMod; -import net.minecraft.client.gui.screen.TitleScreen; -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(TitleScreen.class) -public class ExampleMixin { - @Inject(at = @At("HEAD"), method = "init()V") - private void init(CallbackInfo info) { - ExampleMod.LOGGER.info("This line is printed by an example mod mixin!"); - } -} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index e2176c7..8b5ac34 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,38 +1,41 @@ { - "schemaVersion": 1, - "id": "modid", - "version": "${version}", - - "name": "Example Mod", - "description": "This is an example description! Tell everyone what your mod is about!", - "authors": [ - "Me!" - ], - "contact": { - "homepage": "https://fabricmc.net/", - "sources": "https://github.com/FabricMC/fabric-example-mod" - }, - - "license": "CC0-1.0", - "icon": "assets/modid/icon.png", - - "environment": "*", - "entrypoints": { - "main": [ - "net.fabricmc.example.ExampleMod" - ] - }, - "mixins": [ - "modid.mixins.json" - ], - - "depends": { - "fabricloader": ">=0.14.19", - "fabric-api": "*", - "minecraft": "~1.19.4", - "java": ">=17" - }, - "suggests": { - "another-mod": "*" - } -} + "schemaVersion": 1, + "id": "modid", + "version": "${version}", + "name": "Example mod", + "description": "This is an example description! Tell everyone what your mod is about!", + "authors": [ + "Me!" + ], + "contact": { + "homepage": "https://fabricmc.net/", + "sources": "https://github.com/FabricMC/fabric-example-mod" + }, + "license": "CC0-1.0", + "icon": "assets/modid/icon.png", + "environment": "*", + "entrypoints": { + "main": [ + "com.example.ExampleMod" + ], + "client": [ + "com.example.ExampleModClient" + ] + }, + "mixins": [ + "modid.mixins.json", + { + "config": "modid.client.mixins.json", + "environment": "client" + } + ], + "depends": { + "fabricloader": ">=0.14.21", + "minecraft": "~1.20", + "java": ">=17", + "fabric-api": "*" + }, + "suggests": { + "another-mod": "*" + } +} \ No newline at end of file diff --git a/src/main/resources/modid.mixins.json b/src/main/resources/modid.mixins.json index 7c42cb4..166e787 100644 --- a/src/main/resources/modid.mixins.json +++ b/src/main/resources/modid.mixins.json @@ -1,14 +1,11 @@ { - "required": true, - "minVersion": "0.8", - "package": "net.fabricmc.example.mixin", - "compatibilityLevel": "JAVA_17", - "mixins": [ - ], - "client": [ - "ExampleMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} + "required": true, + "package": "com.example.mixin", + "compatibilityLevel": "JAVA_17", + "mixins": [ + "ExampleMixin" + ], + "injectors": { + "defaultRequire": 1 + } +} \ No newline at end of file -- cgit v1.2.3-70-g09d2