Update coremods and spi, include mandatory license field in metadata. Added at top level of mods.toml file.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
This commit is contained in:
cpw 2020-07-27 20:09:45 -04:00
parent 532d153d33
commit 97dfcbc52b
No known key found for this signature in database
GPG Key ID: 8EB3DF749553B1B7
13 changed files with 32 additions and 13 deletions

View File

@ -448,8 +448,8 @@ project(':forge') {
installer 'cpw.mods:grossjava9hacks:1.3.+'
installer 'net.minecraftforge:accesstransformers:2.2.+:shadowed'
installer 'net.minecraftforge:eventbus:3.0.+:service'
installer 'net.minecraftforge:forgespi:3.0.+'
installer 'net.minecraftforge:coremods:2.0.+'
installer 'net.minecraftforge:forgespi:3.1.+'
installer 'net.minecraftforge:coremods:3.0.+'
installer 'net.minecraftforge:unsafe:0.2.+'
installer 'com.electronwill.night-config:core:3.6.2'
installer 'com.electronwill.night-config:toml:3.6.2'

View File

@ -7,6 +7,8 @@
modLoader="javafml" #mandatory
# A version range to match for said mod loader - for regular FML @Mod it will be the forge version
loaderVersion="[32,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions.
# The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties
license="CHOOSE YOUR LICENSE"
# A URL to refer people to when problems occur with this mod
issueTrackerURL="http://my.issue.tracker/" #optional
# A list of mods - how many allowed here is determined by the individual mod loader

View File

@ -51,16 +51,19 @@ public class ModFileInfo implements IModFileInfo, IConfigurable
private final boolean showAsResourcePack;
private final List<IModInfo> mods;
private final Map<String,Object> properties;
private final String license;
ModFileInfo(final ModFile modFile, final IConfigurable config)
{
this.modFile = modFile;
this.config = config;
this.modLoader = config.<String>getConfigElement("modLoader").
orElseThrow(()->new InvalidModFileException("Missing ModLoader in file", this));
this.modLoaderVersion = config.<String>getConfigElement("loaderVersion").
map(MavenVersionAdapter::createFromVersionSpec).
orElseThrow(()->new InvalidModFileException("Missing ModLoader version in file", this));
this.modLoader = config.<String>getConfigElement("modLoader")
.orElseThrow(()->new InvalidModFileException("Missing ModLoader in file", this));
this.modLoaderVersion = config.<String>getConfigElement("loaderVersion")
.map(MavenVersionAdapter::createFromVersionSpec)
.orElseThrow(()->new InvalidModFileException("Missing ModLoader version in file", this));
this.license = config.<String>getConfigElement("license")
.orElseThrow(()->new InvalidModFileException("Missing License, please supply a license.", this));
this.showAsResourcePack = config.<Boolean>getConfigElement("showAsResourcePack").orElse(false);
this.properties = config.<UnmodifiableConfig>getConfigElement("properties").
map(UnmodifiableConfig::valueMap).orElse(Collections.emptyMap());
@ -125,4 +128,9 @@ public class ModFileInfo implements IModFileInfo, IConfigurable
public List<? extends IConfigurable> getConfigList(final String... key) {
return this.config.getConfigList(key);
}
@Override
public String getLicense() {
return license;
}
}

View File

@ -1,5 +1,6 @@
modLoader="minecraft"
loaderVersion="1"
license="Mojang all rights reserved"
[[mods]]
modId="minecraft"
version="${global.mcVersion}"

View File

@ -22,12 +22,13 @@ package net.minecraftforge.client.event;
import net.minecraft.client.renderer.color.BlockColors;
import net.minecraft.client.renderer.color.ItemColors;
import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.fml.event.lifecycle.IModBusEvent;
/**
* Use these events to register block/item
* color handlers at the appropriate time.
*/
public abstract class ColorHandlerEvent extends Event
public abstract class ColorHandlerEvent extends Event implements IModBusEvent
{
public static class Block extends ColorHandlerEvent
{

View File

@ -27,13 +27,14 @@ import net.minecraft.client.renderer.model.ModelResourceLocation;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.fml.event.lifecycle.IModBusEvent;
/**
* Fired when the ModelManager is notified of the resource manager reloading.
* Called after model registry is setup, but before it's passed to BlockModelShapes.
*/
// TODO: try to merge with ICustomModelLoader
public class ModelBakeEvent extends Event
public class ModelBakeEvent extends Event implements IModBusEvent
{
private final ModelManager modelManager;
private final Map<ResourceLocation, IBakedModel> modelRegistry;

View File

@ -20,10 +20,11 @@
package net.minecraftforge.client.event;
import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.fml.event.lifecycle.IModBusEvent;
/**
* Fired when you should call {@link net.minecraft.client.particle.ParticleManager#registerFactory}.
* Note that your {@code ParticleType}s should still be registered during the usual registry events, this
* is only for the factories.
*/
public class ParticleFactoryRegisterEvent extends Event {}
public class ParticleFactoryRegisterEvent extends Event implements IModBusEvent {}

View File

@ -22,11 +22,12 @@ package net.minecraftforge.client.event;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.eventbus.api.Event;
import net.minecraft.client.renderer.texture.AtlasTexture;
import net.minecraftforge.fml.event.lifecycle.IModBusEvent;
import java.util.Set;
public class TextureStitchEvent extends Event
public class TextureStitchEvent extends Event implements IModBusEvent
{
private final AtlasTexture map;

View File

@ -20,12 +20,13 @@
package net.minecraftforge.client.event.sound;
import net.minecraft.client.audio.SoundEngine;
import net.minecraftforge.fml.event.lifecycle.IModBusEvent;
/**
* Raised by the SoundManager.loadSoundSettings, this would be a good place for
* adding your custom sounds to the SoundPool.
*/
public class SoundLoadEvent extends SoundEvent
public class SoundLoadEvent extends SoundEvent implements IModBusEvent
{
public SoundLoadEvent(SoundEngine manager)
{

View File

@ -457,7 +457,7 @@ public class ModListScreen extends Screen
if (vercheck.status == VersionChecker.Status.OUTDATED || vercheck.status == VersionChecker.Status.BETA_OUTDATED)
lines.add(ForgeI18n.parseMessage("fml.menu.mods.info.updateavailable", vercheck.url == null ? "" : vercheck.url));
lines.add(ForgeI18n.parseMessage("fml.menu.mods.info.license", selectedMod.getOwningFile().getLicense()));
lines.add(null);
lines.add(selectedMod.getDescription());

View File

@ -2,6 +2,7 @@ modLoader="javafml"
loaderVersion="[24,]"
issueTrackerURL="http://www.minecraftforge.net/"
logoFile="forge_logo.png"
license="LGPL v2.1"
[[mods]]
modId="forge"

View File

@ -13,6 +13,7 @@
"fml.menu.mods.info.credits":"Credits: {0}",
"fml.menu.mods.info.authors":"Authors: {0}",
"fml.menu.mods.info.displayurl":"Homepage: {0}",
"fml.menu.mods.info.license":"License: {0}",
"fml.menu.mods.info.nochildmods":"No child mods found",
"fml.menu.mods.info.childmods":"Child mods: {0}",
"fml.menu.mods.info.updateavailable":"Update available: {0}",

View File

@ -1,5 +1,6 @@
modLoader="javafml"
loaderVersion="[28,)"
license="LGPL v2.1"
[[mods]]
modId="containertypetest"