Multiloader III

start loader-specific mod classes
This commit is contained in:
techno-sam
2026-04-05 21:28:29 +02:00
parent 581a236a6b
commit 7c20d34844
15 changed files with 220 additions and 32 deletions
@@ -0,0 +1,14 @@
package io.github.slimeistdev.crystalline_sky.fabric;
import io.github.slimeistdev.crystalline_sky.CrystallineSkyClient;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@Environment(EnvType.CLIENT)
public class CrystallineSkyClientImpl implements ClientModInitializer {
@Override
public void onInitializeClient() {
CrystallineSkyClient.init();
}
}
@@ -0,0 +1,12 @@
package io.github.slimeistdev.crystalline_sky.fabric;
import io.github.slimeistdev.crystalline_sky.CrystallineSky;
import net.fabricmc.api.ModInitializer;
public class CrystallineSkyImpl implements ModInitializer {
@Override
public void onInitialize() {
CrystallineSky.init();
}
}
@@ -0,0 +1,15 @@
package io.github.slimeistdev.crystalline_sky.multiloader.fabric;
import io.github.slimeistdev.crystalline_sky.annotation.multiloader.ImplClass;
import io.github.slimeistdev.crystalline_sky.multiloader.Env;
import net.fabricmc.api.EnvType;
import net.fabricmc.loader.api.FabricLoader;
import org.jetbrains.annotations.ApiStatus.Internal;
@ImplClass
public class EnvImpl {
@Internal
public static Env getCurrent() {
return FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT ? Env.CLIENT : Env.SERVER;
}
}
@@ -0,0 +1,19 @@
{
"required": true,
"minVersion": "0.8",
"mixinextras": {
"minVersion": "0.5.0"
},
"package": "io.github.slimeistdev.crystalline_sky.fabric.mixin",
"plugin": "io.github.slimeistdev.crystalline_sky.mixin.CrystallineSkyMixinPlugin",
"compatibilityLevel": "JAVA_21",
"mixins": [
],
"client": [
],
"server": [
],
"injectors": {
"defaultRequire": 1
}
}
+42
View File
@@ -0,0 +1,42 @@
{
"schemaVersion": 1,
"id": "${modId}",
"version": "${version}",
"name": "${modName}",
"description": "${modDescription}",
"authors": [
"${authors}"
],
"contributors": [
"${contributors}"
],
"contact": {
"homepage": "${homepage}",
"issues": "${issues}",
"sources": "${sources}"
},
"license": "${license}",
"icon": "assets/${modId}/icon.png",
"mixins": [
"${modId}.mixins.json",
"${modId}-common.mixins.json"
],
"depends": {
"minecraft": ">=${mc}",
"fabricloader": ">=${fl}",
"fabric-api": ">=${fapi}"
},
"suggests": {
},
"entrypoints": {
"main": [
"io.github.slimeistdev.crystalline_sky.fabric.CrystallineSkyImpl"
],
"client": [
"io.github.slimeistdev.crystalline_sky.fabric.CrystallineSkyClientImpl"
],
"fabric-datagen": [
"io.github.slimeistdev.crystalline_sky.datagen.CrystallineSkyDataGenerator"
]
}
}