Compare commits

...

6 Commits

Author SHA1 Message Date
Johannes Frohnmeyer 9bb5c4b87c
chore: update to 1.20.5
ci/woodpecker/push/jfmod Pipeline was successful Details
ci/woodpecker/tag/jfmod Pipeline was successful Details
2024-04-25 22:36:13 +02:00
Johannes Frohnmeyer c008ce3868
chore: update to 1.20.4
ci/woodpecker/push/jfmod Pipeline was successful Details
2023-12-07 20:54:13 +01:00
Johannes Frohnmeyer 2954301ea8
chore: update to 1.20.2
ci/woodpecker/push/jfmod Pipeline was successful Details
2023-09-22 21:20:53 +02:00
Johannes Frohnmeyer 3c4fab0afc
Bump to 1.20
ci/woodpecker/push/jfmod Pipeline was successful Details
ci/woodpecker/tag/jfmod Pipeline was successful Details
2023-06-09 17:33:21 +02:00
Johannes Frohnmeyer 291b2704fe
Bump to 1.19.4
ci/woodpecker/push/jfmod Pipeline failed Details
ci/woodpecker/tag/jfmod Pipeline was successful Details
2023-03-14 21:49:33 +01:00
Johannes Frohnmeyer 8251b26791
Use new config compiler
ci/woodpecker/push/jfmod Pipeline was successful Details
2022-12-29 16:05:35 +01:00
8 changed files with 63 additions and 63 deletions

View File

@ -1,17 +1,43 @@
import io.gitlab.jfronny.scripts.*
plugins {
id("jfmod") version "1.2-SNAPSHOT"
id("io.gitlab.jfronny.libjf.libjf-config-compiler-plugin")
id("jfmod") version "1.6-SNAPSHOT"
}
allprojects { group = "io.gitlab.jfronny" }
base.archivesName = "modsmod"
val commonsVersion = "1.7-SNAPSHOT"
jfMod {
minecraftVersion = "1.20.5"
yarn("build.1")
loaderVersion = "0.15.10"
libJfVersion = "3.15.5"
fabricApiVersion = "0.97.6+1.20.5"
modrinth {
projectId = "modsmod"
requiredDependencies.add("libjf")
optionalDependencies.add("modmenu")
}
curseforge {
projectId = "405095"
requiredDependencies.add("libjf")
optionalDependencies.add("modmenu")
}
}
dependencies {
modImplementation("io.gitlab.jfronny.libjf:libjf-config-core-v1:${prop("libjf_version")}")
modImplementation("io.gitlab.jfronny.libjf:libjf-unsafe-v0:${prop("libjf_version")}")
modImplementation("io.gitlab.jfronny.libjf:libjf-config-core-v2")
modImplementation("io.gitlab.jfronny.libjf:libjf-unsafe-v0")
compileOnly("io.gitlab.jfronny:commons-serialize-generator-annotations:$commonsVersion")
annotationProcessor("io.gitlab.jfronny:commons-serialize-generator:$commonsVersion")
// Dev env
modLocalRuntime("io.gitlab.jfronny.libjf:libjf-config-reflect-v1:${prop("libjf_version")}")
modLocalRuntime("io.gitlab.jfronny.libjf:libjf-config-ui-tiny-v1:${prop("libjf_version")}")
modLocalRuntime("io.gitlab.jfronny.libjf:libjf-devutil:${prop("libjf_version")}")
modLocalRuntime("com.terraformersmc:modmenu:5.0.0-alpha.4")
modLocalRuntime("io.gitlab.jfronny.libjf:libjf-config-ui-tiny")
modLocalRuntime("io.gitlab.jfronny.libjf:libjf-devutil")
modLocalRuntime("com.terraformersmc:modmenu:10.0.0-beta.1")
// for modmenu
modLocalRuntime("net.fabricmc.fabric-api:fabric-resource-loader-v0")
modLocalRuntime("net.fabricmc.fabric-api:fabric-screen-api-v1")
modLocalRuntime("net.fabricmc.fabric-api:fabric-key-binding-api-v1")
}

View File

@ -1,17 +0,0 @@
# https://fabricmc.net/develop/
minecraft_version=1.19.3
yarn_mappings=build.2
loader_version=0.14.11
maven_group=io.gitlab.jfronny
archives_base_name=modsmod
modrinth_id=modsmod
modrinth_required_dependencies=libjf
modrinth_optional_dependencies=modmenu
curseforge_id=405095
curseforge_required_dependencies=libjf
curseforge_optional_dependencies=modmenu
libjf_version=3.3.0
fabric_version=0.68.1+1.19.3

View File

@ -1,13 +1,9 @@
pluginManagement {
val libjf_version: String by settings
repositories {
maven("https://maven.fabricmc.net/") // FabricMC
maven("https://maven.frohnmeyer-wds.de/artifacts") // scripts
gradlePluginPortal()
}
plugins {
id("io.gitlab.jfronny.libjf.libjf-config-compiler-plugin") version libjf_version
}
}
rootProject.name = "modsmod"

View File

@ -1,15 +1,13 @@
package io.gitlab.jfronny.modsmod;
import io.gitlab.jfronny.gson.reflect.TypeToken;
import io.gitlab.jfronny.commons.serialize.databind.api.TypeToken;
import io.gitlab.jfronny.modsmod.util.IteratorCallbackList;
import net.fabricmc.loader.impl.FabricLoaderImpl;
import net.fabricmc.loader.impl.ModContainerImpl;
import net.fabricmc.loader.impl.discovery.ModCandidate;
import net.fabricmc.loader.impl.metadata.LoaderModMetadata;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.*;
import java.nio.file.Path;
import java.util.Collection;
import java.util.List;

View File

@ -1,36 +1,32 @@
package io.gitlab.jfronny.modsmod;
import io.gitlab.jfronny.commons.log.*;
import io.gitlab.jfronny.gson.Gson;
import io.gitlab.jfronny.libjf.config.api.v1.ConfigInstance;
import io.gitlab.jfronny.commons.logger.SystemLoggerPlus;
import io.gitlab.jfronny.libjf.config.api.v2.ConfigInstance;
import io.gitlab.jfronny.libjf.unsafe.UltraEarlyInit;
import io.gitlab.jfronny.modsmod.builder.JsonBuilder;
import io.gitlab.jfronny.modsmod.builder.ModMeta;
import io.gitlab.jfronny.modsmod.util.IOUtil;
import net.fabricmc.loader.api.*;
import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.impl.FabricLoaderImpl;
import net.fabricmc.loader.impl.metadata.*;
import net.fabricmc.loader.impl.util.FileSystemUtil;
import java.io.IOException;
import java.nio.file.FileSystem;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.HashSet;
public class ModsMod implements UltraEarlyInit {
static final HashSet<ModMeta> MODS = new HashSet<>();
static final FabricLoaderImpl LOADER = FabricLoaderImpl.INSTANCE;
public static final Gson GSON = new Gson();
public static final String MOD_ID = "modsmod";
public static final Logger LOGGER = Logger.forName(MOD_ID);
public static final SystemLoggerPlus LOGGER = SystemLoggerPlus.forName(MOD_ID);
private static final String CACHE_NAME = MOD_ID + "cache";
@Override
public void init() {
try {
JFC_ModsModConfig.ensureInitialized();
//Load config
Path modsmodCfgFile = ConfigInstance.get(MOD_ID).getFilePath().orElseThrow();
//make sure the modsmodcache dir is ok

View File

@ -1,11 +1,15 @@
package io.gitlab.jfronny.modsmod;
import io.gitlab.jfronny.libjf.config.api.v1.JfConfig;
import io.gitlab.jfronny.libjf.config.api.v1.Entry;
import io.gitlab.jfronny.libjf.config.api.v2.Entry;
import io.gitlab.jfronny.libjf.config.api.v2.JfConfig;
@JfConfig
public class ModsModConfig {
@Entry public static boolean parent = false;
@Entry public static boolean cache = true;
@Entry public static int modsCount = 26;
static {
JFC_ModsModConfig.ensureInitialized();
}
}

View File

@ -1,5 +1,8 @@
package io.gitlab.jfronny.modsmod.builder;
import io.gitlab.jfronny.commons.serialize.generator.annotations.GPrefer;
import io.gitlab.jfronny.commons.serialize.generator.annotations.GSerializable;
import io.gitlab.jfronny.libjf.LibJf;
import io.gitlab.jfronny.modsmod.ModsMod;
import java.io.BufferedWriter;
@ -12,27 +15,21 @@ import java.util.Map;
public class JsonBuilder {
public static void build(int number, Path outputPath, boolean parent) throws IOException {
try (BufferedWriter bw = Files.newBufferedWriter(outputPath)) {
ModsMod.GSON.toJson(new ModManifest(number, parent), bw);
GC_JsonBuilder.ModManifest.serialize(new ModManifest(number, parent), bw, LibJf.JSON_TRANSPORT);
}
}
@SuppressWarnings("unused")
private static class ModManifest {
public final int schemaVersion = 1;
public final String id;
public final String version = "1.0";
public final String name;
public final Map<String, ModMenuData> custom = new HashMap<>();
@GSerializable
public record ModManifest(int schemaVersion, String id, String version, String name, Map<String, ModMenuData> custom) {
@GPrefer
public ModManifest {
}
public ModManifest(int number, boolean parent) {
id = "modmod_" + number;
name = "ModsMod " + number;
if (parent)
custom.put("modmenu", new ModMenuData());
this(1, "modmod_" + number, "1.0", "ModsMod " + number, parent ? Map.of("modmenu", new ModMenuData("modsmod")) : Map.of());
}
public static class ModMenuData {
public final String parent = "modsmod";
}
@GSerializable
public record ModMenuData(String parent) { }
}
}

View File

@ -15,7 +15,7 @@
"icon": "assets/modsmod/icon.png",
"environment": "*",
"entrypoints": {
"libjf:config": ["io.gitlab.jfronny.modsmod.ModsModConfig"],
"libjf:config": ["io.gitlab.jfronny.modsmod.JFC_ModsModConfig"],
"libjf:early": ["io.gitlab.jfronny.modsmod.ModsMod"]
},
"depends": {