Fix new launcher jar packaging.
Run license checker over new code.
This commit is contained in:
parent
48846bc0ba
commit
440649bb95
17 changed files with 381 additions and 138 deletions
|
@ -10,7 +10,7 @@ alpha. Eloraam of RedPower, and SpaceToad of Buildcraft, without their acceptian
|
||||||
of me taking over the project, who knows what Minecraft modding would be today.
|
of me taking over the project, who knows what Minecraft modding would be today.
|
||||||
|
|
||||||
Secondly, someone who has worked with me, and developed some of the core features
|
Secondly, someone who has worked with me, and developed some of the core features
|
||||||
that allow modding to he as functional, and as simple as it is, cpw. For developing
|
that allow modding to be as functional, and as simple as it is, cpw. For developing
|
||||||
FML, which stabelized the client and server modding ecosystem. As well as the base
|
FML, which stabelized the client and server modding ecosystem. As well as the base
|
||||||
loading system that allows us to modify Minecraft's code as elegently as possible.
|
loading system that allows us to modify Minecraft's code as elegently as possible.
|
||||||
|
|
||||||
|
|
218
build.gradle
218
build.gradle
|
@ -190,6 +190,41 @@ project(':forge') {
|
||||||
}
|
}
|
||||||
|
|
||||||
version = getVersion()
|
version = getVersion()
|
||||||
|
|
||||||
|
ext {
|
||||||
|
MANIFESTS = [
|
||||||
|
'/': [
|
||||||
|
'Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
|
||||||
|
'GitCommit': grgit.head().getAbbreviatedId(8),
|
||||||
|
'Git-Branch': grgit.branch.current().getName()
|
||||||
|
] as LinkedHashMap,
|
||||||
|
'net/minecraftforge/versions/forge/': [
|
||||||
|
'Specification-Title': 'Forge',
|
||||||
|
'Specification-Vendor': 'Forge Development LLC',
|
||||||
|
'Specification-Version': SPEC_VERSION,
|
||||||
|
'Implementation-Title': project.group,
|
||||||
|
'Implementation-Version': project.version.substring(MC_VERSION.length() + 1),
|
||||||
|
'Implementation-Vendor': 'Forge Development LLC'
|
||||||
|
] as LinkedHashMap,
|
||||||
|
'net/minecraftforge/versions/mcp/': [
|
||||||
|
'Specification-Title': 'Minecraft',
|
||||||
|
'Specification-Vendor': 'Mojang',
|
||||||
|
'Specification-Version': MC_VERSION,
|
||||||
|
'Implementation-Title': 'MCP',
|
||||||
|
'Implementation-Version': MCP_VERSION,
|
||||||
|
'Implementation-Vendor': 'Forge'
|
||||||
|
] as LinkedHashMap,
|
||||||
|
'net/minecraftforge/fml/javafmlmod/': [
|
||||||
|
'Specification-Title': 'Mod Language Provider',
|
||||||
|
'Specification-Vendor': 'Forge Development LLC',
|
||||||
|
'Specification-Version': '1',
|
||||||
|
'Implementation-Title': 'FML Java Mod',
|
||||||
|
'Implementation-Version': SPEC_VERSION,
|
||||||
|
'Implementation-Vendor': 'Forge'
|
||||||
|
] as LinkedHashMap
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
applyPatches {
|
applyPatches {
|
||||||
canonicalizeAccess true
|
canonicalizeAccess true
|
||||||
canonicalizeWhitespace true
|
canonicalizeWhitespace true
|
||||||
|
@ -200,6 +235,7 @@ project(':forge') {
|
||||||
transitive = false //Don't pull all libraries, if we're missing something, add it to the installer list so the installer knows to download it.
|
transitive = false //Don't pull all libraries, if we're missing something, add it to the installer list so the installer knows to download it.
|
||||||
}
|
}
|
||||||
api.extendsFrom(installer)
|
api.extendsFrom(installer)
|
||||||
|
fmllauncherImplementation.extendsFrom(installer)
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
api 'net.minecraft:client:1.13:extra'
|
api 'net.minecraft:client:1.13:extra'
|
||||||
|
@ -220,19 +256,6 @@ project(':forge') {
|
||||||
installer 'java3d:vecmath:1.5.2'
|
installer 'java3d:vecmath:1.5.2'
|
||||||
installer 'org.apache.logging.log4j:log4j-api:2.11.1'
|
installer 'org.apache.logging.log4j:log4j-api:2.11.1'
|
||||||
installer 'org.apache.logging.log4j:log4j-core:2.11.1'
|
installer 'org.apache.logging.log4j:log4j-core:2.11.1'
|
||||||
fmllauncherImplementation 'org.ow2.asm:asm:6.2'
|
|
||||||
fmllauncherImplementation 'org.ow2.asm:asm-commons:6.2'
|
|
||||||
fmllauncherImplementation 'org.ow2.asm:asm-tree:6.2'
|
|
||||||
fmllauncherImplementation 'cpw.mods:modlauncher:0.1.0'
|
|
||||||
fmllauncherImplementation 'net.minecraftforge:accesstransformers:0.10+:shadowed'
|
|
||||||
fmllauncherImplementation 'net.minecraftforge:eventbus:0.1+:service'
|
|
||||||
fmllauncherImplementation 'net.minecraftforge:forgespi:0.1+'
|
|
||||||
fmllauncherImplementation 'net.minecraftforge:coremods:0.1+'
|
|
||||||
fmllauncherImplementation 'com.electronwill.night-config:core:3.4.0'
|
|
||||||
fmllauncherImplementation 'com.electronwill.night-config:toml:3.4.0'
|
|
||||||
fmllauncherImplementation 'org.apache.maven:maven-artifact:3.5.3'
|
|
||||||
fmllauncherImplementation 'org.apache.logging.log4j:log4j-api:2.11.1'
|
|
||||||
fmllauncherImplementation 'org.apache.logging.log4j:log4j-core:2.11.1'
|
|
||||||
fmllauncherImplementation 'com.google.guava:guava:21.0'
|
fmllauncherImplementation 'com.google.guava:guava:21.0'
|
||||||
fmllauncherImplementation 'com.google.code.gson:gson:2.8.0'
|
fmllauncherImplementation 'com.google.code.gson:gson:2.8.0'
|
||||||
}
|
}
|
||||||
|
@ -249,21 +272,9 @@ project(':forge') {
|
||||||
}
|
}
|
||||||
//jvmArgs = ['-verbose:class']
|
//jvmArgs = ['-verbose:class']
|
||||||
classpath sourceSets.main.runtimeClasspath
|
classpath sourceSets.main.runtimeClasspath
|
||||||
main 'net.minecraftforge.fml.LaunchTesting'
|
main patcher.clientRun.main
|
||||||
systemProperties = [
|
systemProperties = patcher.clientRun.properties
|
||||||
"org.lwjgl.util.Debug": "true",
|
environment += patcher.clientRun.environment
|
||||||
"org.lwjgl.util.DebugLoader": "true",
|
|
||||||
"mc.version": "${MC_VERSION}",
|
|
||||||
"mcp.version": "${MCP_VERSION}",
|
|
||||||
"forge.version": "${project.version.substring(MC_VERSION.length() + 1)}",
|
|
||||||
"forge.spec":"${SPEC_VERSION}",
|
|
||||||
"forge.group": project.group
|
|
||||||
]
|
|
||||||
environment += [
|
|
||||||
target:'fmldevclient',
|
|
||||||
assetDirectory: downloadAssets.output,
|
|
||||||
nativesDirectory: extractNatives.output
|
|
||||||
]
|
|
||||||
workingDir 'runclient'
|
workingDir 'runclient'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -278,16 +289,10 @@ project(':forge') {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
classpath sourceSets.main.runtimeClasspath
|
classpath sourceSets.main.runtimeClasspath
|
||||||
main 'net.minecraftforge.fml.LaunchTesting'
|
main patcher.serverRun.main
|
||||||
args 'nogui'
|
args 'nogui'
|
||||||
systemProperties = [
|
systemProperties = patcher.serverRun.properties
|
||||||
"mc.version": "${MC_VERSION}",
|
environment += patcher.serverRun.environment
|
||||||
"mcp.version": "${MCP_VERSION}",
|
|
||||||
"forge.version": "${project.version.substring(MC_VERSION.length() + 1)}",
|
|
||||||
"forge.spec":"${SPEC_VERSION}",
|
|
||||||
"forge.group": project.group
|
|
||||||
]
|
|
||||||
environment target:'fmldevserver'
|
|
||||||
workingDir 'runserver'
|
workingDir 'runserver'
|
||||||
standardInput = System.in
|
standardInput = System.in
|
||||||
}
|
}
|
||||||
|
@ -405,7 +410,7 @@ project(':forge') {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task launcherJson(dependsOn: 'signUniversal') {
|
task launcherJson(dependsOn: ['signUniversalJar', 'signLauncherJar']) {
|
||||||
inputs.file universalJar.archivePath
|
inputs.file universalJar.archivePath
|
||||||
ext {
|
ext {
|
||||||
output = file('build/version.json')
|
output = file('build/version.json')
|
||||||
|
@ -431,7 +436,8 @@ project(':forge') {
|
||||||
type: 'release',
|
type: 'release',
|
||||||
mainClass: 'cpw.mods.modlauncher.Launcher',
|
mainClass: 'cpw.mods.modlauncher.Launcher',
|
||||||
inheritsFrom: MC_VERSION,
|
inheritsFrom: MC_VERSION,
|
||||||
logging: [ client: [
|
logging: [
|
||||||
|
client: [
|
||||||
argument: '-Dlog4j.configurationFile=${path}',
|
argument: '-Dlog4j.configurationFile=${path}',
|
||||||
file: [
|
file: [
|
||||||
id:'client-1.12.xml',
|
id:'client-1.12.xml',
|
||||||
|
@ -440,19 +446,21 @@ project(':forge') {
|
||||||
url:'https://launcher.mojang.com/v1/objects/ef4f57b922df243d0cef096efe808c72db042149/client-1.12.xml'
|
url:'https://launcher.mojang.com/v1/objects/ef4f57b922df243d0cef096efe808c72db042149/client-1.12.xml'
|
||||||
],
|
],
|
||||||
type: 'log4j2-xml'
|
type: 'log4j2-xml'
|
||||||
]],
|
]
|
||||||
|
],
|
||||||
arguments: [
|
arguments: [
|
||||||
game: ['--launchTarget', 'fmlclient']
|
game: ['--launchTarget', 'fmlclient']
|
||||||
],
|
],
|
||||||
libraries: [
|
libraries: [
|
||||||
[
|
[
|
||||||
|
//Package our launcher jar as the 'main' jar Mojang's launcher loads. It will in turn load Forge's regular jars itself.
|
||||||
name: "${project.group}:${project.name}:${project.version}",
|
name: "${project.group}:${project.name}:${project.version}",
|
||||||
downloads: [
|
downloads: [
|
||||||
artifact: [
|
artifact: [
|
||||||
path: "${project.group.replace('.', '/')}/${project.name}/${project.version}/${project.name}-${project.version}.jar",
|
path: "${project.group.replace('.', '/')}/${project.name}/${project.version}/${project.name}-${project.version}.jar",
|
||||||
url: "", //Do not include the URL so that the installer/launcher won't grab it. This is also why we don't have the universal classifier
|
url: "", //Do not include the URL so that the installer/launcher won't grab it. This is also why we don't have the universal classifier
|
||||||
sha1: sha1(universalJar.archivePath),
|
sha1: sha1(launcherJar.archivePath),
|
||||||
size: universalJar.archivePath.length()
|
size: launcherJar.archivePath.length()
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -483,7 +491,19 @@ project(':forge') {
|
||||||
inputs.file launcherJson.output
|
inputs.file launcherJson.output
|
||||||
outputs.file output
|
outputs.file output
|
||||||
doLast {
|
doLast {
|
||||||
def libs = [:]
|
def libs = [
|
||||||
|
"${project.group}:${project.name}:${project.version}:universal": [
|
||||||
|
name: "${project.group}:${project.name}:${project.version}:universal",
|
||||||
|
downloads: [
|
||||||
|
artifact: [
|
||||||
|
path: "${project.group.replace('.', '/')}/${project.name}/${project.version}/${project.name}-${project.version}-universal.jar",
|
||||||
|
url: "", //Do not include the URL so that the installer/launcher won't grab it. This is also why we don't have the universal classifier
|
||||||
|
sha1: sha1(universalJar.archivePath),
|
||||||
|
size: universalJar.archivePath.length()
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
def json = [
|
def json = [
|
||||||
_comment_: launcherJson.comment,
|
_comment_: launcherJson.comment,
|
||||||
spec: 0,
|
spec: 0,
|
||||||
|
@ -636,6 +656,20 @@ project(':forge') {
|
||||||
from { !crowdin.state.skipped ? zipTree(crowdin.archivePath) : null}
|
from { !crowdin.state.skipped ? zipTree(crowdin.archivePath) : null}
|
||||||
dependsOn crowdin
|
dependsOn crowdin
|
||||||
|
|
||||||
|
doFirst {
|
||||||
|
MANIFESTS.each{ pkg, values ->
|
||||||
|
if (pkg == '/') {
|
||||||
|
manifest.attributes(values)
|
||||||
|
} else {
|
||||||
|
manifest.attributes(values, pkg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
task launcherJar(type: Jar) {
|
||||||
|
classifier 'launcher'
|
||||||
|
from sourceSets.fmllauncher.output
|
||||||
doFirst {
|
doFirst {
|
||||||
def classpath = new StringBuilder()
|
def classpath = new StringBuilder()
|
||||||
def artifacts = getArtifacts(project, project.configurations.installer, false)
|
def artifacts = getArtifacts(project, project.configurations.installer, false)
|
||||||
|
@ -645,88 +679,25 @@ project(':forge') {
|
||||||
classpath += "libraries/net/minecraft/server/${MC_VERSION}/server-${MC_VERSION}-data.jar "
|
classpath += "libraries/net/minecraft/server/${MC_VERSION}/server-${MC_VERSION}-data.jar "
|
||||||
classpath += "libraries/net/minecraft/server/${MC_VERSION}/server-${MC_VERSION}-extra.jar"
|
classpath += "libraries/net/minecraft/server/${MC_VERSION}/server-${MC_VERSION}-extra.jar"
|
||||||
|
|
||||||
|
MANIFESTS.each{ pkg, values ->
|
||||||
manifest.attributes([
|
if (pkg == '/') {
|
||||||
|
manifest.attributes(values += [
|
||||||
'Main-Class': 'net.minecraftforge.server.ServerMain',
|
'Main-Class': 'net.minecraftforge.server.ServerMain',
|
||||||
'Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
|
|
||||||
'GitCommit': grgit.head().getAbbreviatedId(8),
|
|
||||||
'Git-Branch': grgit.branch.current().getName(),
|
|
||||||
'Class-Path': classpath.toString()
|
'Class-Path': classpath.toString()
|
||||||
] as LinkedHashMap)
|
])
|
||||||
manifest.attributes([
|
} else {
|
||||||
'Specification-Title': 'Forge',
|
manifest.attributes(values, pkg)
|
||||||
'Specification-Vendor': 'Forge Development LLC',
|
|
||||||
'Specification-Version': SPEC_VERSION,
|
|
||||||
'Implementation-Title': project.group,
|
|
||||||
'Implementation-Version': project.version.substring(MC_VERSION.length() + 1),
|
|
||||||
'Implementation-Vendor': 'Forge Development LLC'
|
|
||||||
] as LinkedHashMap, 'net/minecraftforge/versions/forge/')
|
|
||||||
manifest.attributes([
|
|
||||||
'Specification-Title': 'Minecraft',
|
|
||||||
'Specification-Vendor': 'Mojang',
|
|
||||||
'Specification-Version': MC_VERSION,
|
|
||||||
'Implementation-Title': 'MCP',
|
|
||||||
'Implementation-Version': MCP_VERSION,
|
|
||||||
'Implementation-Vendor': 'Forge'
|
|
||||||
] as LinkedHashMap, 'net/minecraftforge/versions/mcp/')
|
|
||||||
// manifest entry for FML @Mod
|
|
||||||
manifest.attributes([
|
|
||||||
'Specification-Title': 'Mod Language Provider',
|
|
||||||
'Specification-Vendor': 'Forge Development LLC',
|
|
||||||
'Specification-Version': '1',
|
|
||||||
'Implementation-Title': 'FML Java Mod',
|
|
||||||
'Implementation-Version': SPEC_VERSION,
|
|
||||||
'Implementation-Vendor': 'Forge'
|
|
||||||
] as LinkedHashMap, 'net/minecraftforge/fml/javafmlmod/')
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task fmllauncherJar(type: Jar) {
|
|
||||||
from sourceSets.fmllauncher.output
|
|
||||||
doFirst {
|
|
||||||
manifest.attributes([
|
|
||||||
'Specification-Title' : 'Forge',
|
|
||||||
'Specification-Vendor' : 'Forge Development LLC',
|
|
||||||
'Specification-Version' : SPEC_VERSION,
|
|
||||||
'Implementation-Title' : project.group,
|
|
||||||
'Implementation-Version': project.version.substring(MC_VERSION.length() + 1),
|
|
||||||
'Implementation-Vendor' : 'Forge Development LLC'
|
|
||||||
] as LinkedHashMap, 'net/minecraftforge/versions/forge/')
|
|
||||||
manifest.attributes([
|
|
||||||
'Specification-Title' : 'Minecraft',
|
|
||||||
'Specification-Vendor' : 'Mojang',
|
|
||||||
'Specification-Version' : MC_VERSION,
|
|
||||||
'Implementation-Title' : 'MCP',
|
|
||||||
'Implementation-Version': MCP_VERSION,
|
|
||||||
'Implementation-Vendor' : 'Forge'
|
|
||||||
] as LinkedHashMap, 'net/minecraftforge/versions/mcp/')
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task signUniversal(type: SignJar, dependsOn: universalJar) {
|
|
||||||
onlyIf {
|
|
||||||
JAR_SIGNER != null && universalJar.state.failure == null
|
|
||||||
}
|
|
||||||
|
|
||||||
def jarsigner = JAR_SIGNER == null ? [:] : JAR_SIGNER
|
|
||||||
alias = 'forge'
|
|
||||||
storePass = jarsigner.storepass
|
|
||||||
keyPass = jarsigner.keypass
|
|
||||||
keyStore = jarsigner.keystore
|
|
||||||
inputFile = universalJar.archivePath
|
|
||||||
outputFile = universalJar.archivePath
|
|
||||||
doFirst {
|
|
||||||
project.logger.lifecycle('Signing: ' + inputFile)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
universalJar.finalizedBy(signUniversal)
|
|
||||||
|
|
||||||
task downloadInstaller(type: DownloadMavenArtifact) {
|
task downloadInstaller(type: DownloadMavenArtifact) {
|
||||||
artifact = 'net.minecraftforge:installer:2.0.+:shrunk'
|
artifact = 'net.minecraftforge:installer:2.0.+:shrunk'
|
||||||
changing = true
|
changing = true
|
||||||
}
|
}
|
||||||
|
|
||||||
task installerJar(type: Zip, dependsOn: [downloadInstaller, signUniversal, installerJson, launcherJson, genClientBinPatches, genServerBinPatches]) {
|
task installerJar(type: Zip, dependsOn: [downloadInstaller, installerJson, launcherJson, genClientBinPatches, genServerBinPatches, 'signUniversalJar', 'signLauncherJar']) {
|
||||||
classifier = 'installer'
|
classifier = 'installer'
|
||||||
extension = 'jar' //Needs to be Zip task to not override Manifest, so set extension
|
extension = 'jar' //Needs to be Zip task to not override Manifest, so set extension
|
||||||
destinationDir = file('build/libs')
|
destinationDir = file('build/libs')
|
||||||
|
@ -743,6 +714,9 @@ project(':forge') {
|
||||||
}
|
}
|
||||||
from(universalJar) {
|
from(universalJar) {
|
||||||
into "/maven/${project.group.replace('.', '/')}/${project.name}/${project.version}/"
|
into "/maven/${project.group.replace('.', '/')}/${project.name}/${project.version}/"
|
||||||
|
}
|
||||||
|
from(launcherJar) {
|
||||||
|
into "/maven/${project.group.replace('.', '/')}/${project.name}/${project.version}/"
|
||||||
rename { "${project.name}-${project.version}.jar" }
|
rename { "${project.name}-${project.version}.jar" }
|
||||||
}
|
}
|
||||||
from(installerJson.output)
|
from(installerJson.output)
|
||||||
|
@ -751,23 +725,25 @@ project(':forge') {
|
||||||
duplicatesStrategy = 'exclude'
|
duplicatesStrategy = 'exclude'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
task signInstaller(type: SignJar, dependsOn: installerJar) {
|
|
||||||
onlyIf {
|
|
||||||
JAR_SIGNER != null && installerJar.state.failure == null
|
|
||||||
}
|
|
||||||
|
|
||||||
|
[universalJar, launcherJar, installerJar].each { t ->
|
||||||
|
task "sign${t.name.capitalize()}"(type: SignJar, dependsOn: t) {
|
||||||
|
onlyIf {
|
||||||
|
JAR_SIGNER != null && t.state.failure == null
|
||||||
|
}
|
||||||
def jarsigner = JAR_SIGNER == null ? [:] : JAR_SIGNER
|
def jarsigner = JAR_SIGNER == null ? [:] : JAR_SIGNER
|
||||||
alias = 'forge'
|
alias = 'forge'
|
||||||
storePass = jarsigner.storepass
|
storePass = jarsigner.storepass
|
||||||
keyPass = jarsigner.keypass
|
keyPass = jarsigner.keypass
|
||||||
keyStore = jarsigner.keystore
|
keyStore = jarsigner.keystore
|
||||||
inputFile = installerJar.archivePath
|
inputFile = t.archivePath
|
||||||
outputFile = installerJar.archivePath
|
outputFile = t.archivePath
|
||||||
doFirst {
|
doFirst {
|
||||||
project.logger.lifecycle('Signing: ' + inputFile)
|
project.logger.lifecycle('Signing: ' + inputFile)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
installerJar.finalizedBy(signInstaller)
|
t.finalizedBy(tasks.getByName("sign${t.name.capitalize()}"))
|
||||||
|
}
|
||||||
|
|
||||||
task makeMdk(type: Zip) {
|
task makeMdk(type: Zip) {
|
||||||
baseName = project.name
|
baseName = project.name
|
||||||
|
@ -867,7 +843,7 @@ project(':forge') {
|
||||||
artifact makeMdk
|
artifact makeMdk
|
||||||
artifact userdevJar
|
artifact userdevJar
|
||||||
artifact sourcesJar
|
artifact sourcesJar
|
||||||
artifact fmllauncherJar
|
artifact launcherJar
|
||||||
|
|
||||||
pom {
|
pom {
|
||||||
name = 'forge'
|
name = 'forge'
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.fml.language;
|
package net.minecraftforge.fml.language;
|
||||||
|
|
||||||
public interface ILifecycleEvent<R extends ILifecycleEvent<?>> {
|
public interface ILifecycleEvent<R extends ILifecycleEvent<?>> {
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.fml.loading;
|
package net.minecraftforge.fml.loading;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.fml.loading;
|
package net.minecraftforge.fml.loading;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.fml.loading;
|
package net.minecraftforge.fml.loading;
|
||||||
|
|
||||||
import com.google.common.collect.ObjectArrays;
|
import com.google.common.collect.ObjectArrays;
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.fml.loading;
|
package net.minecraftforge.fml.loading;
|
||||||
|
|
||||||
import org.apache.logging.log4j.Marker;
|
import org.apache.logging.log4j.Marker;
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.fml.loading;
|
package net.minecraftforge.fml.loading;
|
||||||
|
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.fml.loading.moddiscovery;
|
package net.minecraftforge.fml.loading.moddiscovery;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.fml.loading.moddiscovery;
|
package net.minecraftforge.fml.loading.moddiscovery;
|
||||||
|
|
||||||
import net.minecraftforge.fml.loading.FMLPaths;
|
import net.minecraftforge.fml.loading.FMLPaths;
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.client.extensions;
|
package net.minecraftforge.client.extensions;
|
||||||
|
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.client.extensions;
|
package net.minecraftforge.client.extensions;
|
||||||
|
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.client.extensions;
|
package net.minecraftforge.client.extensions;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
* License along with this library; if not, write to the Free Software
|
* License along with this library; if not, write to the Free Software
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.common.extensions;
|
package net.minecraftforge.common.extensions;
|
||||||
|
|
||||||
import net.minecraft.block.BlockRailBase;
|
import net.minecraft.block.BlockRailBase;
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.common.extensions;
|
package net.minecraftforge.common.extensions;
|
||||||
|
|
||||||
import java.util.function.LongFunction;
|
import java.util.function.LongFunction;
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.fml;
|
package net.minecraftforge.fml;
|
||||||
|
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Minecraft Forge
|
||||||
|
* Copyright (c) 2016-2018.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
package net.minecraftforge.test;
|
package net.minecraftforge.test;
|
||||||
|
|
||||||
import net.minecraftforge.fml.common.progress.IProgressBarTracker;
|
import net.minecraftforge.fml.common.progress.IProgressBarTracker;
|
||||||
|
|
Loading…
Reference in a new issue