Proper mods metadata

This commit is contained in:
shedaniel
2020-11-08 00:35:50 +08:00
parent c14c78f6ee
commit cd595fc55a
5 changed files with 68 additions and 1 deletions

View File

@@ -23,7 +23,9 @@ import net.minecraftforge.fml.ExtensionPoint;
import net.minecraftforge.fml.ModContainer;
import net.minecraftforge.fml.ModList;
import net.minecraftforge.fml.loading.FMLEnvironment;
import net.minecraftforge.fml.loading.FMLLoader;
import net.minecraftforge.fml.loading.FMLPaths;
import net.minecraftforge.fml.loading.moddiscovery.ModInfo;
import net.minecraftforge.forgespi.language.IModInfo;
import javax.annotation.Nonnull;
@@ -31,6 +33,7 @@ import java.nio.file.Path;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
public class PlatformImpl implements Platform.Impl {
private final Map<String, Mod> mods = new HashMap<>();
@@ -73,6 +76,16 @@ public class PlatformImpl implements Platform.Impl {
return this.mods.values();
}
@Override
public Collection<String> getModIds() {
return ModList.get().getMods().stream().map(ModInfo::getModId).collect(Collectors.toList());
}
@Override
public boolean isDevelopmentEnvironment() {
return !FMLLoader.isProduction();
}
private static class ModImpl implements Mod {
private final ModContainer container;
private final IModInfo metadata;

View File

@@ -0,0 +1,14 @@
modLoader = "javafml"
loaderVersion = "[32,)"
issueTrackerURL = "https://github.com/shedaniel/architectury/issues"
license = "Apache-2.0"
[[mods]]
modId = "architectury"
version = "${version}"
displayName = "Architectury"
authors = "shedaniel"
description = '''
A intermediary api aimed to ease developing multiplatform mods.
'''
license = "Apache-2.0"