aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar modmuss <[email protected]>2023-06-07 16:15:03 +0100
committerLibravatar GitHub <[email protected]>2023-06-07 16:15:03 +0100
commit91133dbdc73ecfec6aa1d0bc61dc7e6797163621 (patch)
treee2812f889e651951e2c00c06b5c195833e31e3a7 /src
parentUpdate deps (diff)
Update to 1.20
Now uses split-sourceset's
Diffstat (limited to 'src')
-rw-r--r--src/client/java/com/example/ExampleModClient.java10
-rw-r--r--src/client/java/com/example/mixin/client/ExampleClientMixin.java15
-rw-r--r--src/client/resources/modid.client.mixins.json11
-rw-r--r--src/main/java/com/example/ExampleMod.java22
-rw-r--r--src/main/java/com/example/mixin/ExampleMixin.java (renamed from src/main/java/net/fabricmc/example/mixin/ExampleMixin.java)13
-rw-r--r--src/main/java/net/fabricmc/example/ExampleMod.java21
-rw-r--r--src/main/resources/fabric.mod.json77
-rw-r--r--src/main/resources/modid.mixins.json23
8 files changed, 114 insertions, 78 deletions
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/net/fabricmc/example/mixin/ExampleMixin.java b/src/main/java/com/example/mixin/ExampleMixin.java
index 356cb38..3c4212c 100644
--- a/src/main/java/net/fabricmc/example/mixin/ExampleMixin.java
+++ b/src/main/java/com/example/mixin/ExampleMixin.java
@@ -1,16 +1,15 @@
-package net.fabricmc.example.mixin;
+package com.example.mixin;
-import net.fabricmc.example.ExampleMod;
-import net.minecraft.client.gui.screen.TitleScreen;
+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(TitleScreen.class)
+@Mixin(MinecraftServer.class)
public class ExampleMixin {
- @Inject(at = @At("HEAD"), method = "init()V")
+ @Inject(at = @At("HEAD"), method = "loadWorld")
private void init(CallbackInfo info) {
- ExampleMod.LOGGER.info("This line is printed by an example mod mixin!");
+ // 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/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