improve build

- publish all modules
- add test mods to general runtime classpath

- fix issues with keybindings being registered before the game is initialized
This commit is contained in:
moehreag 2024-06-13 15:57:34 +02:00
parent ce633baa5d
commit b0b2555ebf
4 changed files with 23 additions and 5 deletions

View file

@ -19,6 +19,6 @@ jobs:
- name: Build
run: |
chmod +x ./gradlew
./gradlew :publishMavenJavaPublicationToFrogMCSnapshotsMavenRepository \
./gradlew publishMavenJavaPublicationToFrogMCSnapshotsMavenRepository \
-PFrogMCSnapshotsMavenUsername=${{ secrets.MAVEN_PUSH_USER }} \
-PFrogMCSnapshotsMavenPassword=${{ secrets.MAVEN_PUSH_TOKEN }} --stacktrace

View file

@ -96,6 +96,15 @@ evaluationDependsOnChildren()
// TODO: add testmods of libraries to general client runtime classpath
tasks.runClient {
classpath(sourceSets.test.get().runtimeClasspath)
project.subprojects.filter {
it.projectDir.resolve("src/main/resources/frog.mod.toml").exists()
}.forEach {
classpath(it.sourceSets.test.get().output)
}
}
dependencies {
project.subprojects.filter {
it.projectDir.resolve("src/main/resources/frog.mod.toml").exists()

View file

@ -1,7 +1,7 @@
[versions]
minecraft = "1.20.6"
minecraft = "1.20.1"
frogloader = "0.0.1-SNAPSHOT"
phytotelma = "0.0.1-alpha.4"
phytotelma = "0.0.1-alpha.6"
lombok = "8.6"

View file

@ -15,8 +15,17 @@ public class KeyMappingsImpl implements KeyMappings {
}
public void registerKey(KeyMapping mapping){
// TODO maybe synchronize?
Minecraft.getInstance().options.keyMappings = ArrayUtils.add(Minecraft.getInstance().options.keyMappings, mapping);
Runnable register = () -> {
synchronized (Minecraft.getInstance().options) {
Minecraft.getInstance().options.keyMappings = ArrayUtils.add(Minecraft.getInstance().options.keyMappings, mapping);
}
};
//noinspection ConstantValue (This inspection is just wrong)
if (Minecraft.getInstance() != null && Minecraft.getInstance().options != null) {
register.run();
} else {
Events.CLIENT_STARTUP.register((client, config) -> register.run());
}
}
@Override