This commit is contained in:
JumperOnJava
2025-12-26 11:44:52 +02:00
parent 7281535fad
commit b629298438
7 changed files with 34 additions and 32 deletions

View File

@@ -30,10 +30,11 @@ repositories {
}
dependencies {
minecraft("com.mojang:minecraft:$minecraft")
mappings(loom.officialMojangMappings())
if (loader == "fabric") {
modImplementation("net.fabricmc:fabric-loader:${mod.dep("fabric_loader")}")
mappings("net.fabricmc:yarn:$minecraft+build.${mod.dep("yarn_build")}:v2")
// mappings("net.fabricmc:yarn:$minecraft+build.${mod.dep("yarn_build")}:v2")
modImplementation("com.terraformersmc:modmenu:${mod.dep("modmenu_version")}")
//some features (like automatic resource loading from non vanilla namespaces) work only with fabric API installed
@@ -44,7 +45,7 @@ dependencies {
}
if (loader == "forge") {
"forge"("net.minecraftforge:forge:${minecraft}-${mod.dep("forge_loader")}")
mappings("net.fabricmc:yarn:$minecraft+build.${mod.dep("yarn_build")}:v2")
// mappings("net.fabricmc:yarn:$minecraft+build.${mod.dep("yarn_build")}:v2")
"io.github.llamalad7:mixinextras-forge:${mod.dep("mixin_extras")}".let {
implementation(it)
@@ -53,12 +54,13 @@ dependencies {
}
if (loader == "neoforge") {
"neoForge"("net.neoforged:neoforge:${mod.dep("neoforge_loader")}")
mappings(loom.layered {
mappings("net.fabricmc:yarn:$minecraft+build.${mod.dep("yarn_build")}:v2")
mod.dep("neoforge_patch").takeUnless { it.startsWith('[') }?.let {
mappings("dev.architectury:yarn-mappings-patch-neoforge:$it")
}
})
// mappings(loom.layered {
// mappings("net.fabricmc:yarn:$minecraft+build.${mod.dep("yarn_build")}:v2")
// mod.dep("neoforge_patch").takeUnless { it.startsWith('[') }?.let {
// mappings("dev.architectury:yarn-mappings-patch-neoforge:$it")
// }
// })
}
}

View File

@@ -1,19 +1,20 @@
package com.example.template;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.text.Text;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.Component;
public class ConfigScreen extends Screen {
public ConfigScreen(Screen parent) {
super(Text.empty());
super(Component.empty());
}
@Override
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
super.render(context, mouseX, mouseY, delta);
context.drawCenteredTextWithShadow(client.textRenderer,
public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float delta) {
super.render(guiGraphics, mouseX, mouseY, delta);
guiGraphics.drawString(minecraft.font,
"Hello, world",
width / 2,
height / 2,

View File

@@ -1,7 +1,7 @@
package com.example.template.mixin;
import com.example.template.TempLateInit;
import net.minecraft.client.gui.screen.TitleScreen;
import net.minecraft.client.gui.screens.TitleScreen;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;

View File

@@ -1,5 +1,5 @@
//? if fabric {
package com.example.template.platforms.fabric;
/*package com.example.template.platforms.fabric;
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
import com.terraformersmc.modmenu.api.ModMenuApi;
@@ -10,4 +10,4 @@ public class ModMenuIntegration implements ModMenuApi {
return ConfigScreen::createConfigScreen;
}
}
//?}
*///?}

View File

@@ -1,5 +1,5 @@
//? if fabric {
package com.example.template.platforms.fabric;
/*package com.example.template.platforms.fabric;
import com.example.template.ModPlatform;
import net.fabricmc.api.ModInitializer;
@@ -24,4 +24,4 @@ public class TempLateFabric implements ModInitializer {
}
}
}
//?}
*///?}

View File

@@ -1,32 +1,31 @@
//? if neoforge {
/*package com.example.template.platforms.neoforge;
package com.example.template.platforms.neoforge;
import com.example.template.ConfigScreen;
import com.example.template.TempLateInit;
import com.example.template.ModPlatform;
import net.minecraft.client.gui.screen.Screen;
import net.neoforged.fml.ModList;
import net.neoforged.fml.ModLoadingContext;
import net.neoforged.fml.common.Mod;
//? if <1.21 {
import net.neoforged.neoforge.client.ConfigScreenHandler;
//?} else {
/^import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
^///?}
/*import net.neoforged.neoforge.client.ConfigScreenHandler;
*///?} else {
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
//?}
@Mod("template")
public class TempLateNeoForge {
public TempLateNeoForge() {
TempLateInit.entrypoint(new NeoForgePlatform());
ModLoadingContext.get().registerExtensionPoint(
//? if <1.21 {
ConfigScreenHandler.ConfigScreenFactory.class,
/*ConfigScreenHandler.ConfigScreenFactory.class,
() -> new ConfigScreenHandler.ConfigScreenFactory(
((client, parent) -> ConfigScreen.createConfigScreen(parent))
)
//?} else {
/^IConfigScreenFactory.class,
*///?} else {
IConfigScreenFactory.class,
() -> (client, parent) -> ConfigScreen.createConfigScreen(parent)
^///?}
//?}
);
}
public static class NeoForgePlatform implements ModPlatform {
@@ -41,4 +40,4 @@ public class TempLateNeoForge {
}
}
}
*///?}
//?}

View File

@@ -5,7 +5,7 @@ plugins {
id("com.gradleup.shadow") version "9.3.0" apply false
id("me.modmuss50.mod-publish-plugin") version "0.8.4" apply false
}
stonecutter active "1.20.1-fabric" /* [SC] DO NOT EDIT */
stonecutter active "1.21.9-neoforge" /* [SC] DO NOT EDIT */
stonecutter.automaticPlatformConstants = true
// Builds every version into `build/libs/{mod.version}/{loader}`