Skip to content

Commit e21e15e

Browse files
committed
More mdg-related stuff (broken ATM)
1 parent 4320b7b commit e21e15e

File tree

6 files changed

+88
-67
lines changed

6 files changed

+88
-67
lines changed

build.gradle

+75-60
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55
id 'eclipse'
66
id 'idea'
77
id 'maven-publish'
8-
id 'net.neoforged.gradle.userdev' version '7.0.165'
8+
id 'net.neoforged.moddev' version '2.0.47-beta'
99
id "me.modmuss50.mod-publish-plugin" version "0.5.1"
1010
}
1111

@@ -14,15 +14,10 @@ ext.isAlpha = ext.releaseTag.contains("alpha")
1414
ext.isBeta = ext.releaseTag.contains("beta")
1515
def relType = ext.isAlpha ? "alpha" : (ext.isBeta ? "beta" : "release")
1616

17-
// All jar files from this folder will be added automatically as runtime-only mod dependencies
18-
def extraModsDir = "extra-mods-${minecraft_version}"
17+
version = mod_version
1918

2019
repositories {
2120
mavenLocal()
22-
flatDir {
23-
name "extra-mods"
24-
dir file(extraModsDir)
25-
}
2621
maven {
2722
name "K-4u Mod maven"
2823
url "https://modmaven.dev/"
@@ -54,11 +49,7 @@ repositories {
5449
}
5550

5651
sourceSets {
57-
test {
58-
runs {
59-
modIdentifier 'modularrouterstest'
60-
}
61-
}
52+
test
6253
}
6354

6455
group = project.mod_group_id
@@ -77,62 +68,86 @@ java {
7768
}
7869
}
7970

80-
minecraft {
81-
accessTransformers.file(project.file('src/main/resources/META-INF/accesstransformer.cfg'))
82-
}
71+
neoForge {
72+
version = "${neo_version}"
8373

84-
runs {
85-
// applies to all the run configs below
86-
configureEach {
87-
// Recommended logging data for a userdev environment
88-
// The markers can be added/remove as needed separated by commas.
89-
// "SCAN": For mods scan.
90-
// "REGISTRIES": For firing of registry events.
91-
// "REGISTRYDUMP": For getting the contents of all registries.
92-
systemProperty 'forge.logging.markers', 'REGISTRIES'
93-
94-
// Recommended logging level for the console
95-
// You can set various levels here.
96-
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
97-
systemProperty 'forge.logging.console.level', 'debug'
98-
99-
jvmArguments.addAll '-Xmx4G'
100-
101-
modSource project.sourceSets.test
102-
modSource project.sourceSets.main
74+
parchment {
75+
mappingsVersion = project.parchment_mappings_version
76+
minecraftVersion = project.parchment_minecraft_version
10377
}
10478

105-
client {
106-
systemProperty 'neoforge.enableGameTest', 'true'
107-
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
108-
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
109-
}
79+
addModdingDependenciesTo(sourceSets.test)
11080

111-
server {
112-
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
113-
argument '--nogui'
114-
}
81+
validateAccessTransformers = true
82+
83+
runs {
84+
// applies to all the run configs below
85+
configureEach {
86+
// Recommended logging data for a userdev environment
87+
// The markers can be added/remove as needed separated by commas.
88+
// "SCAN": For mods scan.
89+
// "REGISTRIES": For firing of registry events.
90+
// "REGISTRYDUMP": For getting the contents of all registries.
91+
systemProperty 'forge.logging.markers', 'REGISTRIES'
92+
93+
// Recommended logging level for the console
94+
// You can set various levels here.
95+
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
96+
systemProperty 'forge.logging.console.level', 'debug'
97+
98+
jvmArguments.addAll '-Xmx4G'
99+
}
100+
101+
client {
102+
client()
103+
systemProperty 'neoforge.enableGameTest', 'true'
104+
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
105+
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
106+
loadedMods = [mods.modularrouters, mods.modularrouterstest]
107+
}
108+
109+
server {
110+
server()
111+
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
112+
programArgument '--nogui'
113+
}
115114

116-
// This run config launches GameTestServer and runs all registered gametests, then exits.
117-
// By default, the server will crash when no gametests are provided.
118-
// The gametest system is also enabled by default for other run configs under the /test command.
119-
gameTestServer {
120-
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
115+
// This run config launches GameTestServer and runs all registered gametests, then exits.
116+
// By default, the server will crash when no gametests are provided.
117+
// The gametest system is also enabled by default for other run configs under the /test command.
118+
gameTestServer {
119+
type = "gameTestServer"
120+
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
121+
}
122+
123+
data {
124+
data()
125+
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
126+
programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
127+
}
121128
}
122129

123-
data {
124-
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
125-
arguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
130+
mods {
131+
"${mod_id}" {
132+
sourceSet sourceSets.main
133+
sourceSet sourceSets.test
134+
}
126135
}
127136
}
128137

129138
// Include resources generated by data generators.
130139
sourceSets.main.resources { srcDir 'src/generated/resources' }
131140

141+
configurations {
142+
runtimeClasspath.extendsFrom localRuntime
143+
}
144+
132145
dependencies {
133-
implementation "net.neoforged:neoforge:${neo_version}"
146+
// implementation "net.neoforged:neoforge:${neo_version}"
134147
localRuntime(testImplementation("net.neoforged:testframework:${neo_version}"))
135148

149+
// implementation sourceSets.test.output
150+
136151
compileOnly("mcjty.theoneprobe:theoneprobe:${top_version}") {
137152
transitive = false
138153
}
@@ -150,14 +165,14 @@ dependencies {
150165
// runtimeOnly "mezz.jei:jei-${minecraft_version}-neoforge:${jei_version}"
151166

152167
// Locally sourced extra mods for runtime (i.e. testing) - thanks AE2 for this idea
153-
for (extraModJar in fileTree(dir: extraModsDir, include: '*.jar')) {
154-
def basename = extraModJar.name.substring(0, extraModJar.name.length() - ".jar".length())
155-
def versionSep = basename.lastIndexOf('-')
156-
assert versionSep != -1
157-
def artifactId = basename.substring(0, versionSep)
158-
def version = basename.substring(versionSep + 1)
159-
runtimeOnly "extra-mods:$artifactId:$version"
160-
}
168+
// for (extraModJar in fileTree(dir: extraModsDir, include: '*.jar')) {
169+
// def basename = extraModJar.name.substring(0, extraModJar.name.length() - ".jar".length())
170+
// def versionSep = basename.lastIndexOf('-')
171+
// assert versionSep != -1
172+
// def artifactId = basename.substring(0, versionSep)
173+
// def version = basename.substring(versionSep + 1)
174+
// runtimeOnly "extra-mods:$artifactId:$version"
175+
// }
161176
}
162177

163178
tasks.withType(ProcessResources).configureEach {

gradle.properties

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ curse_project_id=250294
1818
# Minecraft/Forge
1919
minecraft_version=1.21.3
2020
minecraft_version_range=[1.21.3,)
21-
neo_version=21.3.34-beta
21+
neo_version=21.3.40-beta
2222
neo_version_range=[21.3.0,)
2323
loader_version_range=[4,)
2424
pack_format_number=18
25-
neogradle.subsystems.parchment.minecraftVersion=1.21
26-
neogradle.subsystems.parchment.mappingsVersion=2024.07.28
25+
parchment_minecraft_version=1.21.1
26+
parchment_mappings_version=2024.11.17
2727

2828
# Dependencies
2929
top_version=1.21_neo-12.0.3-5

settings.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ pluginManagement {
1010
}
1111

1212
plugins {
13-
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.5.0'
13+
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0'
1414
}
1515

1616
rootProject.name = 'modular-routers'

src/main/java/me/desht/modularrouters/item/module/adapter/IItemAdapter.java

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import net.minecraft.server.level.ServerPlayer;
55
import net.minecraft.world.InteractionHand;
66
import net.minecraft.world.InteractionResult;
7-
import net.minecraft.world.InteractionResultHolder;
87
import net.minecraft.world.entity.player.Player;
98
import net.minecraft.world.item.ItemStack;
109
import net.minecraft.world.item.context.UseOnContext;

src/test/java/me/desht/modularrouters/test/ModularRoutersTest.java

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import net.neoforged.testframework.conf.ClientConfiguration;
99
import net.neoforged.testframework.conf.Feature;
1010
import net.neoforged.testframework.conf.FrameworkConfiguration;
11-
import net.neoforged.testframework.conf.MissingDescriptionAction;
1211
import net.neoforged.testframework.impl.MutableTestFramework;
1312
import net.neoforged.testframework.summary.GitHubActionsStepSummaryDumper;
1413
import org.lwjgl.glfw.GLFW;

src/test/java/me/desht/modularrouters/test/RouterTest.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
import me.desht.modularrouters.core.ModItems;
77
import me.desht.modularrouters.item.module.ModuleItem;
88
import me.desht.modularrouters.logic.compiled.CompiledModule;
9+
import net.minecraft.core.registries.Registries;
910
import net.minecraft.gametest.framework.GameTest;
11+
import net.minecraft.resources.ResourceKey;
12+
import net.minecraft.resources.ResourceLocation;
13+
import net.minecraft.world.item.Item;
1014
import net.minecraft.world.item.ItemStack;
1115
import net.neoforged.neoforge.attachment.AttachmentType;
1216
import net.neoforged.neoforge.registries.NeoForgeRegistries;
@@ -17,6 +21,10 @@
1721
import org.jetbrains.annotations.NotNull;
1822

1923
public class RouterTest {
24+
private static final ResourceKey<Item> TEST_ID = ResourceKey.create(Registries.ITEM, ResourceLocation.parse("modularrouterstest:testmodule"));
25+
26+
private static final Item.Properties TEST_PROPS = new Item.Properties().setId(TEST_ID);
27+
2028
@GameTest
2129
@TestHolder
2230
@EmptyTemplate
@@ -25,7 +33,7 @@ static void testRouterSpeed(DynamicTest test, RegistrationHelper reg) {
2533
.register("counter", () -> AttachmentType.builder(() -> 0)
2634
.serialize(Codec.INT).build());
2735

28-
var module = reg.items().register("test_module", () -> new ModuleItem(ModItems.moduleProps(), (r, s) -> new CompiledModule(r, s) {
36+
var module = reg.items().register("test_module", () -> new ModuleItem(TEST_PROPS, (r, s) -> new CompiledModule(r, s) {
2937
@Override
3038
public boolean execute(@NotNull ModularRouterBlockEntity router) {
3139
router.setData(counter, router.getData(counter.get()) + 1);

0 commit comments

Comments
 (0)