Skip to content

Commit b941dfc

Browse files
shartteRidanisaurusrlnt
authored
initial port to 1.21 (#29)
Co-authored-by: Ridanis <[email protected]> Co-authored-by: rlnt <[email protected]>
1 parent d3d2718 commit b941dfc

File tree

63 files changed

+514
-398
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+514
-398
lines changed

.github/workflows/build.yml

+6-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
workflow_dispatch:
55
push:
66
branches:
7-
- "1.20.4"
7+
- "1.21"
88
tags-ignore:
99
- "**"
1010
paths:
@@ -15,7 +15,7 @@ on:
1515
- "**/build.yml"
1616
pull_request:
1717
branches:
18-
- "1.20.4"
18+
- "1.21"
1919
paths:
2020
- "gradle/**"
2121
- "**.java"
@@ -29,4 +29,7 @@ concurrency:
2929

3030
jobs:
3131
redirect:
32-
uses: AlmostReliable/.github/.github/workflows/build-java17.yml@main
32+
uses: AlmostReliable/.github/.github/workflows/build.yml@main
33+
with:
34+
java-distribution: "microsoft"
35+
java-version: "21"

.github/workflows/release.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,11 @@ on:
3434

3535
jobs:
3636
redirect:
37-
uses: AlmostReliable/.github/.github/workflows/release-java17-nf.yml@main
37+
uses: AlmostReliable/.github/.github/workflows/release-nf.yml@main
3838
secrets: inherit
3939
with:
40+
java-distribution: "microsoft"
41+
java-version: "21"
4042
mod_name: "MERequester"
4143
curseforge_id: "688367"
4244
modrinth_id: "E6BFl96N"

.idea/inspectionProfiles/Project_Default.xml

+2-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build.gradle.kts

+51-58
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@file:Suppress("UnstableApiUsage")
22

33
val license: String by project
4-
val logLevel: String by project
4+
val loggingLevel: String by project
55
val mixinDebugExport: String by project
66
val recipeViewer: String by project
77
val mcVersion: String by project
@@ -21,7 +21,7 @@ val githubUser: String by project
2121
val githubRepo: String by project
2222

2323
plugins {
24-
id("net.neoforged.gradle.userdev") version "7.0.97"
24+
id("net.neoforged.moddev") version "2.0.+"
2525
id("com.github.gmazzo.buildconfig") version "4.0.4"
2626
java
2727
}
@@ -32,35 +32,48 @@ base {
3232
archivesName.set("$modId-neoforge")
3333
}
3434

35-
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
36-
37-
val commonSystemProperties = mapOf(
38-
"forge.logging.console.level" to logLevel,
39-
"mixin.debug.export" to mixinDebugExport,
40-
"guideDev.ae2guide.sources" to file("guidebook").absolutePath,
41-
"guideDev.ae2guide.sourcesNamespace" to modId
42-
)
43-
44-
runs {
45-
configureEach {
46-
workingDirectory = project.file("run")
47-
systemProperties = commonSystemProperties
48-
modSource(sourceSets.main.get())
49-
jvmArguments("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AllowEnhancedClassRedefinition")
35+
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
36+
37+
neoForge {
38+
version = neoVersion
39+
40+
mods {
41+
create("merequester") {
42+
modSourceSets.add(sourceSets.main)
43+
}
5044
}
5145

52-
create("client") {
53-
programArguments("--quickPlaySingleplayer", "New World")
46+
runs {
47+
configureEach {
48+
gameDirectory = project.file("run")
49+
systemProperties = mapOf(
50+
"forge.logging.console.level" to loggingLevel,
51+
"mixin.debug.export" to mixinDebugExport,
52+
"guideDev.ae2guide.sources" to file("guidebook").absolutePath,
53+
"guideDev.ae2guide.sourcesNamespace" to modId
54+
)
55+
jvmArguments.addAll("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AllowEnhancedClassRedefinition")
56+
}
57+
create("client") {
58+
client()
59+
programArguments.addAll("--quickPlaySingleplayer", "New World")
60+
}
61+
create("guide") {
62+
client()
63+
systemProperty("guideDev.ae2guide.startupPage", "$modId:$modId.md")
64+
}
65+
create("server") {
66+
server()
67+
}
5468
}
55-
create("guide") {
56-
configure("client")
57-
systemProperty("guideDev.ae2guide.startupPage", "$modId:$modId.md")
69+
70+
parchment {
71+
minecraftVersion = mcVersion
72+
mappingsVersion = parchmentVersion
5873
}
59-
create("server")
6074
}
6175

6276
repositories {
63-
maven("https://maven.neoforged.net/releases") // NeoForge
6477
maven("https://modmaven.dev") // Applied Energistics 2
6578
maven("https://maven.blamejared.com") // JEI
6679
maven("https://maven.shedaniel.me") // REI
@@ -69,42 +82,32 @@ repositories {
6982
}
7083

7184
dependencies {
72-
// NeoForge
73-
implementation("net.neoforged:neoforge:$neoVersion")
85+
implementation("appeng:appliedenergistics2:$aeVersion")
7486

75-
// Compile
76-
compileOnly("appeng:appliedenergistics2-neoforge:$aeVersion")
77-
78-
// Runtime
79-
runtimeOnly("appeng:appliedenergistics2-neoforge:$aeVersion")
8087
when (recipeViewer) {
8188
"jei" -> runtimeOnly("mezz.jei:jei-$mcVersion-neoforge:$jeiVersion") { isTransitive = false }
82-
"rei" -> {
83-
runtimeOnly("me.shedaniel:RoughlyEnoughItems-neoforge:$reiVersion")
84-
runtimeOnly("dev.architectury:architectury-neoforge:11.1.17") // TODO: Remove on new REI version
85-
}
86-
89+
"rei" -> runtimeOnly("me.shedaniel:RoughlyEnoughItems-neoforge:$reiVersion")
8790
"emi" -> runtimeOnly("dev.emi:emi-neoforge:$emiVersion+$mcVersion")
8891
else -> throw GradleException("Invalid recipeViewer value: $recipeViewer")
8992
}
9093
}
9194

9295
tasks {
9396
processResources {
94-
val resourceTargets = listOf("META-INF/mods.toml", "pack.mcmeta")
97+
val resourceTargets = listOf("META-INF/neoforge.mods.toml", "pack.mcmeta")
9598

9699
val replaceProperties = mapOf(
97-
"license" to license,
98-
"mcVersion" to mcVersion,
99-
"version" to project.version as String,
100-
"modId" to modId,
101-
"modName" to modName,
102-
"modAuthor" to modAuthor,
103-
"modDescription" to modDescription,
104-
"neoVersion" to neoVersion,
105-
"aeVersion" to aeVersion,
106-
"githubUser" to githubUser,
107-
"githubRepo" to githubRepo
100+
"license" to license,
101+
"mcVersion" to mcVersion,
102+
"version" to project.version as String,
103+
"modId" to modId,
104+
"modName" to modName,
105+
"modAuthor" to modAuthor,
106+
"modDescription" to modDescription,
107+
"neoVersion" to neoVersion,
108+
"aeVersion" to aeVersion,
109+
"githubUser" to githubUser,
110+
"githubRepo" to githubRepo
108111
)
109112

110113
println("[Process Resources] Replacing properties in resources: ")
@@ -118,23 +121,13 @@ tasks {
118121

119122
withType<JavaCompile> {
120123
options.encoding = "UTF-8"
121-
options.release.set(17)
122124
}
123125

124126
withType<Jar> {
125127
from("guidebook") {
126128
into("assets/$modId/ae2guide")
127129
}
128130
}
129-
130-
withType<GenerateModuleMetadata> {
131-
enabled = false
132-
}
133-
}
134-
135-
subsystems.parchment {
136-
minecraftVersion(mcVersion)
137-
mappingsVersion(parchmentVersion)
138131
}
139132

140133
buildConfig {

gradle.properties

+8-12
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ license = GNU Lesser General Public License v3.0
33
loom.platform = neoforge
44

55
# Settings
6-
logLevel = debug
6+
loggingLevel = debug
77
mixinDebugExport = false
88
recipeViewer = emi
99

1010
# Minecraft
11-
mcVersion = 1.20.4
11+
mcVersion = 1.21
1212

1313
# Mod
1414
modVersion = 1.1.6
@@ -19,19 +19,15 @@ modAuthor = Almost Reliable
1919
modDescription = Keep items and fluids in your ME-System in stock.
2020

2121
# Project Dependencies
22-
neoVersion = 20.4.196
23-
parchmentVersion = 2024.02.25
22+
neoVersion = 21.0.143
23+
parchmentVersion = 2024.07.28
2424

2525
# Mod Dependencies
26-
aeVersion = 17.12.1-beta
27-
jeiVersion = 17.3.0.49
28-
reiVersion = 14.0.688
29-
emiVersion = 1.1.2
26+
aeVersion = 19.0.18-beta
27+
jeiVersion = 19.5.2.66
28+
reiVersion = 16.0.744
29+
emiVersion = 1.1.10
3030

3131
# Github
3232
githubUser = AlmostReliable
3333
githubRepo = merequester
34-
35-
# Gradle
36-
org.gradle.jvmargs = -Xmx3G
37-
org.gradle.daemon = false
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase = GRADLE_USER_HOME
22
distributionPath = wrapper/dists
3-
distributionUrl = https\://services.gradle.org/distributions/gradle-8.5-bin.zip
3+
distributionUrl = https\://services.gradle.org/distributions/gradle-8.8-bin.zip
44
zipStoreBase = GRADLE_USER_HOME
55
zipStorePath = wrapper/dists

guidebook/assets/gui.png

8.89 KB
Loading

settings.gradle.kts

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
pluginManagement {
2-
repositories {
3-
maven("https://maven.neoforged.net/releases")
4-
gradlePluginPortal()
5-
}
1+
plugins {
2+
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
63
}
74

85
val modName = extra.get("modName").toString().replace(" ", "-")
96
val mcVersion: String by extra
107
rootProject.name = "$modName-$mcVersion-NeoForge"
8+
9+
enableFeaturePreview("STABLE_CONFIGURATION_CACHE")
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
package com.almostreliable.merequester;
22

3-
import appeng.api.util.AEColor;
4-
import appeng.client.render.StaticItemColor;
5-
import appeng.init.client.InitScreens;
6-
import com.almostreliable.merequester.client.RequesterScreen;
7-
import com.almostreliable.merequester.client.RequesterTerminalScreen;
3+
import com.almostreliable.merequester.data.MERequesterData;
84
import com.almostreliable.merequester.network.PacketHandler;
95
import com.almostreliable.merequester.requester.RequesterMenu;
106
import com.almostreliable.merequester.terminal.RequesterTerminalMenu;
117
import com.mojang.logging.LogUtils;
128
import net.neoforged.bus.api.IEventBus;
9+
import net.neoforged.fml.ModContainer;
1310
import net.neoforged.fml.ModLoadingContext;
1411
import net.neoforged.fml.common.Mod;
1512
import net.neoforged.fml.config.ModConfig;
@@ -25,33 +22,16 @@ public final class MERequester {
2522
public static final String REQUESTER_ID = "requester";
2623
public static final String TERMINAL_ID = "requester_terminal";
2724

28-
public MERequester(IEventBus modEventBus) {
25+
public MERequester(IEventBus modEventBus, ModContainer modContainer) {
26+
Registration.BLOCKS.register(modEventBus);
27+
Registration.ITEMS.register(modEventBus);
28+
Registration.BLOCK_ENTITY_TYPES.register(modEventBus);
2929
modEventBus.addListener(Registration::registerContents);
3030
modEventBus.addListener(Registration::registerCapabilities);
3131
modEventBus.addListener(Registration.Tab::initContents);
3232
modEventBus.addListener(PacketHandler::onPacketRegistration);
33-
if (FMLEnvironment.dist.isClient()) {
34-
modEventBus.addListener(MERequesterClient::registerScreens);
35-
modEventBus.addListener(MERequesterClient::registerColors);
36-
}
33+
MERequesterData.DR.register(modEventBus);
3734

38-
ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, Config.COMMON_SPEC);
39-
}
40-
41-
private static class MERequesterClient {
42-
43-
@SuppressWarnings("RedundantTypeArguments")
44-
private static void registerScreens(RegisterMenuScreensEvent event) {
45-
InitScreens.register(RequesterMenu.TYPE, RequesterScreen::new, String.format("/screens/%s.json", REQUESTER_ID));
46-
InitScreens.<RequesterTerminalMenu, RequesterTerminalScreen<RequesterTerminalMenu>> register(
47-
RequesterTerminalMenu.TYPE,
48-
RequesterTerminalScreen::new,
49-
String.format("/screens/%s.json", TERMINAL_ID)
50-
);
51-
}
52-
53-
private static void registerColors(RegisterColorHandlersEvent.Item event) {
54-
event.register(new StaticItemColor(AEColor.TRANSPARENT), Registration.REQUESTER_TERMINAL);
55-
}
35+
modContainer.registerConfig(ModConfig.Type.COMMON, Config.COMMON_SPEC);
5636
}
5737
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.almostreliable.merequester;
2+
3+
import appeng.api.util.AEColor;
4+
import appeng.client.render.StaticItemColor;
5+
import appeng.init.client.InitScreens;
6+
import com.almostreliable.merequester.client.RequesterScreen;
7+
import com.almostreliable.merequester.client.RequesterTerminalScreen;
8+
import com.almostreliable.merequester.requester.RequesterMenu;
9+
import com.almostreliable.merequester.terminal.RequesterTerminalMenu;
10+
import net.neoforged.api.distmarker.Dist;
11+
import net.neoforged.bus.api.IEventBus;
12+
import net.neoforged.fml.common.Mod;
13+
import net.neoforged.neoforge.client.event.RegisterColorHandlersEvent;
14+
import net.neoforged.neoforge.client.event.RegisterMenuScreensEvent;
15+
16+
@Mod(value = BuildConfig.MOD_ID, dist = Dist.CLIENT)
17+
public final class MERequesterClient {
18+
19+
public MERequesterClient(IEventBus modEventBus) {
20+
modEventBus.addListener(this::registerScreens);
21+
modEventBus.addListener(this::registerColors);
22+
}
23+
24+
@SuppressWarnings("RedundantTypeArguments")
25+
private void registerScreens(RegisterMenuScreensEvent event) {
26+
InitScreens.register(event, RequesterMenu.TYPE, RequesterScreen::new, String.format("/screens/%s.json", MERequester.REQUESTER_ID));
27+
InitScreens.<RequesterTerminalMenu, RequesterTerminalScreen<RequesterTerminalMenu>> register(
28+
event,
29+
RequesterTerminalMenu.TYPE,
30+
RequesterTerminalScreen::new,
31+
String.format("/screens/%s.json", MERequester.TERMINAL_ID)
32+
);
33+
}
34+
35+
private void registerColors(RegisterColorHandlersEvent.Item event) {
36+
event.register(new StaticItemColor(AEColor.TRANSPARENT), Registration.REQUESTER_TERMINAL);
37+
}
38+
}

0 commit comments

Comments
 (0)