From 440649bb9593caf5718228f747277353e43ede7e Mon Sep 17 00:00:00 2001 From: LexManos Date: Mon, 31 Dec 2018 16:48:23 -0800 Subject: [PATCH] Fix new launcher jar packaging. Run license checker over new code. --- CREDITS.txt | 2 +- build.gradle | 250 ++++++++---------- .../fml/language/ILifecycleEvent.java | 19 ++ .../fml/loading/JarVersionLookupHandler.java | 19 ++ .../fml/loading/LauncherVersion.java | 19 ++ .../fml/loading/LibraryFinder.java | 19 ++ .../fml/loading/LogMarkers.java | 19 ++ .../fml/loading/MavenCoordinateResolver.java | 19 ++ .../moddiscovery/AbstractJarFileLocator.java | 19 ++ .../moddiscovery/MavenDirectoryLocator.java | 19 ++ .../client/extensions/IForgeBakedModel.java | 19 ++ .../client/extensions/IForgeRenderChunk.java | 19 ++ .../extensions/IForgeTextureAtlasSprite.java | 19 ++ .../extensions/IForgeEntityMinecart.java | 1 + .../common/extensions/IForgeWorldType.java | 19 ++ .../fml/ResourceLocationUtils.java | 19 ++ .../minecraftforge/test/TestProgressBar.java | 19 ++ 17 files changed, 381 insertions(+), 138 deletions(-) diff --git a/CREDITS.txt b/CREDITS.txt index 589f482efd..a70c53d5a9 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -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. 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 loading system that allows us to modify Minecraft's code as elegently as possible. diff --git a/build.gradle b/build.gradle index 5c50d32f81..13f1958cd3 100644 --- a/build.gradle +++ b/build.gradle @@ -190,6 +190,41 @@ project(':forge') { } 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 { canonicalizeAccess 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. } api.extendsFrom(installer) + fmllauncherImplementation.extendsFrom(installer) } dependencies { api 'net.minecraft:client:1.13:extra' @@ -220,19 +256,6 @@ project(':forge') { installer 'java3d:vecmath:1.5.2' installer 'org.apache.logging.log4j:log4j-api: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.code.gson:gson:2.8.0' } @@ -249,21 +272,9 @@ project(':forge') { } //jvmArgs = ['-verbose:class'] classpath sourceSets.main.runtimeClasspath - main 'net.minecraftforge.fml.LaunchTesting' - systemProperties = [ - "org.lwjgl.util.Debug": "true", - "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 - ] + main patcher.clientRun.main + systemProperties = patcher.clientRun.properties + environment += patcher.clientRun.environment workingDir 'runclient' } @@ -278,16 +289,10 @@ project(':forge') { } } classpath sourceSets.main.runtimeClasspath - main 'net.minecraftforge.fml.LaunchTesting' + main patcher.serverRun.main args 'nogui' - systemProperties = [ - "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:'fmldevserver' + systemProperties = patcher.serverRun.properties + environment += patcher.serverRun.environment workingDir 'runserver' standardInput = System.in } @@ -405,7 +410,7 @@ project(':forge') { } } - task launcherJson(dependsOn: 'signUniversal') { + task launcherJson(dependsOn: ['signUniversalJar', 'signLauncherJar']) { inputs.file universalJar.archivePath ext { output = file('build/version.json') @@ -431,28 +436,31 @@ project(':forge') { type: 'release', mainClass: 'cpw.mods.modlauncher.Launcher', inheritsFrom: MC_VERSION, - logging: [ client: [ + logging: [ + client: [ argument: '-Dlog4j.configurationFile=${path}', file: [ - id:'client-1.12.xml', - sha1:'ef4f57b922df243d0cef096efe808c72db042149', - size:877, - url:'https://launcher.mojang.com/v1/objects/ef4f57b922df243d0cef096efe808c72db042149/client-1.12.xml' + id:'client-1.12.xml', + sha1:'ef4f57b922df243d0cef096efe808c72db042149', + size:877, + url:'https://launcher.mojang.com/v1/objects/ef4f57b922df243d0cef096efe808c72db042149/client-1.12.xml' ], type: 'log4j2-xml' - ]], + ] + ], arguments: [ game: ['--launchTarget', 'fmlclient'] ], 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}", downloads: [ artifact: [ 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 - sha1: sha1(universalJar.archivePath), - size: universalJar.archivePath.length() + sha1: sha1(launcherJar.archivePath), + size: launcherJar.archivePath.length() ] ] ] @@ -483,7 +491,19 @@ project(':forge') { inputs.file launcherJson.output outputs.file output 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 = [ _comment_: launcherJson.comment, spec: 0, @@ -636,6 +656,20 @@ project(':forge') { from { !crowdin.state.skipped ? zipTree(crowdin.archivePath) : null} 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 { def classpath = new StringBuilder() 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}-extra.jar" - - manifest.attributes([ - '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() - ] as LinkedHashMap) - 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/') - // 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/') + MANIFESTS.each{ pkg, values -> + if (pkg == '/') { + manifest.attributes(values += [ + 'Main-Class': 'net.minecraftforge.server.ServerMain', + 'Class-Path': classpath.toString() + ]) + } else { + manifest.attributes(values, pkg) + } + } } } - - 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) { artifact = 'net.minecraftforge:installer:2.0.+:shrunk' 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' extension = 'jar' //Needs to be Zip task to not override Manifest, so set extension destinationDir = file('build/libs') @@ -743,6 +714,9 @@ project(':forge') { } from(universalJar) { 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" } } from(installerJson.output) @@ -751,23 +725,25 @@ project(':forge') { duplicatesStrategy = 'exclude' } } - task signInstaller(type: SignJar, dependsOn: installerJar) { - onlyIf { - JAR_SIGNER != null && installerJar.state.failure == null - } - - def jarsigner = JAR_SIGNER == null ? [:] : JAR_SIGNER - alias = 'forge' - storePass = jarsigner.storepass - keyPass = jarsigner.keypass - keyStore = jarsigner.keystore - inputFile = installerJar.archivePath - outputFile = installerJar.archivePath - doFirst { - project.logger.lifecycle('Signing: ' + inputFile) + + [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 + alias = 'forge' + storePass = jarsigner.storepass + keyPass = jarsigner.keypass + keyStore = jarsigner.keystore + inputFile = t.archivePath + outputFile = t.archivePath + doFirst { + project.logger.lifecycle('Signing: ' + inputFile) + } } + t.finalizedBy(tasks.getByName("sign${t.name.capitalize()}")) } - installerJar.finalizedBy(signInstaller) task makeMdk(type: Zip) { baseName = project.name @@ -867,7 +843,7 @@ project(':forge') { artifact makeMdk artifact userdevJar artifact sourcesJar - artifact fmllauncherJar + artifact launcherJar pom { name = 'forge' diff --git a/src/fmllauncher/java/net/minecraftforge/fml/language/ILifecycleEvent.java b/src/fmllauncher/java/net/minecraftforge/fml/language/ILifecycleEvent.java index 6525987a2d..975a1bbdd3 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/language/ILifecycleEvent.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/language/ILifecycleEvent.java @@ -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; public interface ILifecycleEvent> { diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/JarVersionLookupHandler.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/JarVersionLookupHandler.java index 053ac03394..edc6deaf30 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/JarVersionLookupHandler.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/JarVersionLookupHandler.java @@ -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; import java.util.Optional; diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/LauncherVersion.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/LauncherVersion.java index 7c0954bbb1..7f7d072084 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/LauncherVersion.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/LauncherVersion.java @@ -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; import org.apache.logging.log4j.LogManager; diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/LibraryFinder.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/LibraryFinder.java index 973617849d..bcd9d20a07 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/LibraryFinder.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/LibraryFinder.java @@ -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; import com.google.common.collect.ObjectArrays; diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/LogMarkers.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/LogMarkers.java index a70bb6c866..435154e95f 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/LogMarkers.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/LogMarkers.java @@ -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; import org.apache.logging.log4j.Marker; diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/MavenCoordinateResolver.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/MavenCoordinateResolver.java index 7ed0af42c7..3db254545f 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/MavenCoordinateResolver.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/MavenCoordinateResolver.java @@ -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; import java.nio.file.Path; diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/AbstractJarFileLocator.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/AbstractJarFileLocator.java index 4a6b82051d..70dfddd77c 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/AbstractJarFileLocator.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/AbstractJarFileLocator.java @@ -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; import org.apache.logging.log4j.LogManager; diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/MavenDirectoryLocator.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/MavenDirectoryLocator.java index e7a1fb9475..b9923eaee1 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/MavenDirectoryLocator.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/MavenDirectoryLocator.java @@ -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; import net.minecraftforge.fml.loading.FMLPaths; diff --git a/src/main/java/net/minecraftforge/client/extensions/IForgeBakedModel.java b/src/main/java/net/minecraftforge/client/extensions/IForgeBakedModel.java index 02e0343380..a2f4b927d9 100644 --- a/src/main/java/net/minecraftforge/client/extensions/IForgeBakedModel.java +++ b/src/main/java/net/minecraftforge/client/extensions/IForgeBakedModel.java @@ -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; import net.minecraft.block.state.IBlockState; diff --git a/src/main/java/net/minecraftforge/client/extensions/IForgeRenderChunk.java b/src/main/java/net/minecraftforge/client/extensions/IForgeRenderChunk.java index 8c86904703..a07fac4d3d 100644 --- a/src/main/java/net/minecraftforge/client/extensions/IForgeRenderChunk.java +++ b/src/main/java/net/minecraftforge/client/extensions/IForgeRenderChunk.java @@ -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; import net.minecraft.util.math.BlockPos; diff --git a/src/main/java/net/minecraftforge/client/extensions/IForgeTextureAtlasSprite.java b/src/main/java/net/minecraftforge/client/extensions/IForgeTextureAtlasSprite.java index b1a3f83391..79746f3cef 100644 --- a/src/main/java/net/minecraftforge/client/extensions/IForgeTextureAtlasSprite.java +++ b/src/main/java/net/minecraftforge/client/extensions/IForgeTextureAtlasSprite.java @@ -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; import java.util.Collection; diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeEntityMinecart.java b/src/main/java/net/minecraftforge/common/extensions/IForgeEntityMinecart.java index 9fdbba8b66..4c48731802 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeEntityMinecart.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeEntityMinecart.java @@ -16,6 +16,7 @@ * 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; import net.minecraft.block.BlockRailBase; diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeWorldType.java b/src/main/java/net/minecraftforge/common/extensions/IForgeWorldType.java index 0fbdb5ecee..0bdcd6f640 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeWorldType.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeWorldType.java @@ -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; import java.util.function.LongFunction; diff --git a/src/main/java/net/minecraftforge/fml/ResourceLocationUtils.java b/src/main/java/net/minecraftforge/fml/ResourceLocationUtils.java index 9033460c8d..aa204b07c5 100644 --- a/src/main/java/net/minecraftforge/fml/ResourceLocationUtils.java +++ b/src/main/java/net/minecraftforge/fml/ResourceLocationUtils.java @@ -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; import com.google.common.base.Joiner; diff --git a/src/test/java/net/minecraftforge/test/TestProgressBar.java b/src/test/java/net/minecraftforge/test/TestProgressBar.java index b58feb3bc6..00837d845e 100644 --- a/src/test/java/net/minecraftforge/test/TestProgressBar.java +++ b/src/test/java/net/minecraftforge/test/TestProgressBar.java @@ -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; import net.minecraftforge.fml.common.progress.IProgressBarTracker;