diff --git a/build.gradle b/build.gradle index ae72f6081c..5695cb9035 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:4.1.+' + classpath 'net.minecraftforge.gradle:ForgeGradle:5.1.+' } } @@ -16,16 +16,17 @@ import java.util.Date import java.util.LinkedHashMap import net.minecraftforge.forge.tasks.* import static net.minecraftforge.forge.tasks.Util.* -import net.minecraftforge.gradle.common.task.DownloadMavenArtifact -import net.minecraftforge.gradle.common.task.ExtractInheritance -import net.minecraftforge.gradle.common.task.SignJar -import net.minecraftforge.gradle.patcher.task.TaskReobfuscateJar +import net.minecraftforge.gradle.common.tasks.DownloadMavenArtifact +import net.minecraftforge.gradle.common.tasks.ExtractInheritance +import net.minecraftforge.gradle.common.tasks.SignJar +import net.minecraftforge.gradle.patcher.tasks.ReobfuscateJar import org.apache.tools.ant.filters.ReplaceTokens import org.gradle.plugins.ide.eclipse.model.SourceFolder plugins { - id 'org.cadixdev.licenser' version '0.5.0' + id 'org.cadixdev.licenser' version '0.6.1' id 'com.github.ben-manes.versions' version '0.36.0' + id 'net.minecraftforge.gradleutils' version '1.+' id 'eclipse' } @@ -55,7 +56,7 @@ project(':mcp') { mavenLocal() } mcp { - config = MC_VERSION + '-' + MCP_VERSION + config MC_VERSION + '-' + MCP_VERSION pipeline = 'joined' } } @@ -182,30 +183,30 @@ project(':forge') { } ext { - GIT_INFO = Util.gitInfo(rootProject.file('.')) + GIT_INFO = gradleutils.gitInfo SPEC_VERSION = GIT_INFO.tag // The new versioning sceme is -.. // ForgeMC is a unique identifier for every MC version we have supported. // Essentially, the same as the old, except dropping the first number, and the builds are no longer unique. - MCP_ARTIFACT = project(':mcp').mcp.config - SPECIAL_SOURCE = 'net.md-5:SpecialSource:1.9.0' + MCP_ARTIFACT = project(':mcp').mcp.config.get() + SPECIAL_SOURCE = 'net.md-5:SpecialSource:1.10.0' SPECIAL_SOURCE_MCP = 'net.md-5:SpecialSource:1.8.5' VERSION_JSON = project(':mcp').file('build/mcp/downloadJson/version.json') BINPATCH_TOOL = 'net.minecraftforge:binarypatcher:1.0.12:fatjar' - INSTALLER_TOOLS = 'net.minecraftforge:installertools:1.1.11' + INSTALLER_TOOLS = 'net.minecraftforge:installertools:1.2.6' } - version = Util.getVersion(GIT_INFO, MC_VERSION) + version = gradleutils.getMCTagOffsetBranchVersion(MC_VERSION) println('Forge Version: ' + version) patcher { - exc = file("$rootDir/src/main/resources/forge.exc") + excs.from file("$rootDir/src/main/resources/forge.exc") parent = project(':clean') patches = file("$rootDir/patches/minecraft") patchedSrc = file('src/main/java') srgPatches = true - accessTransformer = file("$rootDir/src/main/resources/META-INF/accesstransformer.cfg") - sideAnnotationStripper = file("$rootDir/src/main/resources/forge.sas") + accessTransformers.from file("$rootDir/src/main/resources/META-INF/accesstransformer.cfg") + sideAnnotationStrippers.from file("$rootDir/src/main/resources/forge.sas") runs { forge_client { @@ -217,7 +218,7 @@ project(':forge') { environment 'target', 'fmldevclient' environment 'assetIndex', '{asset_index}' environment 'assetDirectory', downloadAssets.output - environment 'nativesDirectory', extractNatives.output + environment 'nativesDirectory', extractNatives.output.get().asFile environment 'MC_VERSION', MC_VERSION environment 'MCP_VERSION', MCP_VERSION @@ -408,11 +409,11 @@ project(':forge') { fmllauncherImplementation.extendsFrom(installer, implementation) } dependencies { - installer 'org.ow2.asm:asm:9.0' - installer 'org.ow2.asm:asm-commons:9.0' - installer 'org.ow2.asm:asm-tree:9.0' - installer 'org.ow2.asm:asm-util:9.0' - installer 'org.ow2.asm:asm-analysis:9.0' + installer 'org.ow2.asm:asm:9.1' + installer 'org.ow2.asm:asm-commons:9.1' + installer 'org.ow2.asm:asm-tree:9.1' + installer 'org.ow2.asm:asm-util:9.1' + installer 'org.ow2.asm:asm-analysis:9.1' installer 'cpw.mods:modlauncher:8.0.9' installer 'cpw.mods:grossjava9hacks:1.3.3' installer 'net.minecraftforge:accesstransformers:3.0.1' @@ -455,7 +456,7 @@ project(':forge') { if (changelog.exists()) extraTxts += changelog - task crowdin(type: CrowdinTask) { + task crowdin(type: Crowdin) { key = project.hasProperty('crowdinKey') ? project.crowdinKey : null //TODO: Merge our english.json? } @@ -464,8 +465,8 @@ project(':forge') { ['Client', 'Server', 'Joined'].each { side -> def gen = tasks.getByName("gen${side}BinPatches") gen.tool = BINPATCH_TOOL - task "apply${side}BinPatches"(type: net.minecraftforge.gradle.common.task.ApplyBinPatches, dependsOn: gen) { - clean = { gen.cleanJar } + task "apply${side}BinPatches"(type: net.minecraftforge.gradle.common.tasks.ApplyBinPatches, dependsOn: gen) { + clean = gen.cleanJar patch = gen.output tool = BINPATCH_TOOL } @@ -475,21 +476,21 @@ project(':forge') { task "create${side}SRG"(type: net.minecraftforge.gradle.userdev.tasks.RenameJar, dependsOn: srgTask) { tool = SPECIAL_SOURCE_MCP + ':shaded' args = ['--stable', '--in-jar', '{input}', '--out-jar', '{output}', '--srg-in', '{mappings}'] - mappings = { srgTask.output } - input = { gen.cleanJar } + mappings = srgTask.output + input = gen.cleanJar output = file("build/create${name}SRG/output.jar") } } - task downloadLibraries(type: DownloadLibrariesTask, dependsOn: ':mcp:setupMCP') { + task downloadLibraries(type: DownloadLibraries, dependsOn: ':mcp:setupMCP') { input = VERSION_JSON output = rootProject.file('build/libraries/') } task extractInheritance(type: ExtractInheritance, dependsOn: [genJoinedBinPatches, downloadLibraries]) { tool = INSTALLER_TOOLS + ':fatjar' - input { genJoinedBinPatches.cleanJar } - doFirst { downloadLibraries.libraries.each{ addLibrary(it) } } + input = genJoinedBinPatches.cleanJar + libraries.addAll downloadLibraries.librariesOutput.map { rf -> Files.readAllLines(rf.asFile.toPath()).stream().map(File::new).collect(java.util.stream.Collectors.toList()) } } task findFieldInstanceChecks(type: FieldCompareFinder, dependsOn: ['createJoinedSRG']) { @@ -528,40 +529,42 @@ project(':forge') { } } - task checkATs(type: CheckATs, dependsOn: extractInheritance) { + task checkATs(type: CheckATs, dependsOn: [extractInheritance, createSrg2Mcp]) { inheritance = extractInheritance.output - ats = patcher.accessTransformers + ats.from patcher.accessTransformers + mappings = createSrg2Mcp.output } task checkSAS(type: CheckSAS, dependsOn: extractInheritance) { inheritance = extractInheritance.output - sass = patcher.sideAnnotationStrippers + sass.from patcher.sideAnnotationStrippers } task checkExcs(type: CheckExcs, dependsOn: jar) { - binary = jar.archivePath - excs = patcher.excs + binary = jar.archiveFile + excs.from patcher.excs } task checkAll(dependsOn: [checkATs, checkSAS, checkExcs, findFieldInstanceChecks]){} - task checkPatchesAndFix(type: CheckPatches) { + task checkPatchesAndFix(type: CheckPatches, dependsOn: genPatches) { patchDir = file("$rootDir/patches") autoFix = true } - task checkPatches(type: CheckPatches) { + task checkPatches(type: CheckPatches, dependsOn: genPatches) { patchDir = file("$rootDir/patches") autoFix = false } genPatches { finalizedBy checkPatches autoHeader true + lineEnding = '\n' } task launcherJson(dependsOn: ['signUniversalJar', 'signLauncherJar']) { - inputs.file universalJar.archivePath - inputs.file { launcherJar.archivePath } + inputs.file universalJar.archiveFile + inputs.file { launcherJar.archiveFile } ext { output = file('build/version.json') vanilla = project(':mcp').file('build/mcp/downloadJson/version.json') @@ -588,7 +591,18 @@ project(':forge') { inheritsFrom: MC_VERSION, logging: {}, arguments: [ - game: ['--launchTarget', 'fmlclient', '--fml.forgeVersion', "${project.version.substring(MC_VERSION.length() + 1)}", '--fml.mcVersion', "${MC_VERSION}", '--fml.forgeGroup', "${project.group}", '--fml.mcpVersion', "${MCP_VERSION}"] + game: ['--launchTarget', 'fmlclient', '--fml.forgeVersion', "${project.version.substring(MC_VERSION.length() + 1)}", '--fml.mcVersion', "${MC_VERSION}", '--fml.forgeGroup', "${project.group}", '--fml.mcpVersion', "${MCP_VERSION}"], + // Support running with Java 8 and up, including 16 + jvm: [ + // Allow these JVM args to not crash Java 8 + '-XX:+IgnoreUnrecognizedVMOptions', + // ModLauncher uses sun.security.util.ManifestEntryVerifier and needs access to it + '--add-exports=java.base/sun.security.util=ALL-UNNAMED', + // JDK bug, not fixed properly - https://bugs.openjdk.java.net/browse/JDK-8186019 + '--add-exports=jdk.naming.dns/com.sun.jndi.dns=java.naming', + // ModLauncher reflects field 'jv' in java.util.jar.JarVerifier + '--add-opens=java.base/java.util.jar=ALL-UNNAMED' + ] ], libraries: [ [ @@ -598,8 +612,8 @@ project(':forge') { 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: launcherJar.archivePath.sha1(), - size: launcherJar.archivePath.length() + sha1: launcherJar.archiveFile.get().asFile.sha1(), + size: launcherJar.archiveFile.get().asFile.length() ] ] ] @@ -618,7 +632,7 @@ project(':forge') { task installerJson(dependsOn: [launcherJson, genClientBinPatches, applyClientBinPatches, applyServerBinPatches/*, createClientSRG, createServerSRG*/]) { ext { output = file('build/install_profile.json') - JAR_SPLITTER = 'net.minecraftforge:jarsplitter:1.1.2' + JAR_SPLITTER = 'net.minecraftforge:jarsplitter:1.1.4' } doFirst { ext.BIN_PATCHER = BINPATCH_TOOL.substring(0, BINPATCH_TOOL.length() - 1 - BINPATCH_TOOL.split(':')[3].length()) @@ -640,8 +654,8 @@ project(':forge') { 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: universalJar.archivePath.sha1(), - size: universalJar.archivePath.length() + sha1: universalJar.archiveFile.get().asFile.sha1(), + size: universalJar.archiveFile.get().asFile.length() ] ] ] @@ -672,16 +686,16 @@ project(':forge') { server: "[net.minecraft:server:${MC_VERSION}-${MCP_VERSION}:slim]" ], MC_SLIM_SHA: [ - client: "'${tasks.getByName('downloadClientSlim').output.sha1()}'", - server: "'${tasks.getByName('downloadServerSlim').output.sha1()}'" + client: "'${tasks.getByName('downloadClientSlim').output.get().asFile.sha1()}'", + server: "'${tasks.getByName('downloadServerSlim').output.get().asFile.sha1()}'" ], MC_EXTRA: [ client: "[net.minecraft:client:${MC_VERSION}-${MCP_VERSION}:extra]", server: "[net.minecraft:server:${MC_VERSION}-${MCP_VERSION}:extra]" ], MC_EXTRA_SHA: [ - client: "'${tasks.getByName('downloadClientExtra').output.sha1()}'", - server: "'${tasks.getByName('downloadServerExtra').output.sha1()}'" + client: "'${tasks.getByName('downloadClientExtra').output.get().asFile.sha1()}'", + server: "'${tasks.getByName('downloadServerExtra').output.get().asFile.sha1()}'" ], MC_SRG: [ client: "[net.minecraft:client:${MC_VERSION}-${MCP_VERSION}:srg]", @@ -696,8 +710,8 @@ project(':forge') { server: "[${project.group}:${project.name}:${project.version}:server]" ], PATCHED_SHA: [ - client: "'${applyClientBinPatches.output.sha1()}'", - server: "'${applyServerBinPatches.output.sha1()}'" + client: "'${applyClientBinPatches.output.get().asFile.sha1()}'", + server: "'${applyServerBinPatches.output.get().asFile.sha1()}'" ], MCP_VERSION: [ client: "'${MCP_VERSION}'", @@ -776,7 +790,7 @@ project(':forge') { from extraTxts // add crowdin locales - from { crowdin.output.exists() ? zipTree(crowdin.output) : null} + from { crowdin.output.present && crowdin.output.get().asFile.exists() ? zipTree(crowdin.output) : null} dependsOn crowdin duplicatesStrategy = 'exclude' @@ -824,12 +838,12 @@ project(':forge') { } task downloadInstaller(type: DownloadMavenArtifact) { - artifact = 'net.minecraftforge:installer:2.0.+:shrunk' + artifact = 'net.minecraftforge:installer:2.1.+:shrunk' changing = true } task installerJar(type: Zip, dependsOn: [downloadInstaller, installerJson, launcherJson, genClientBinPatches, genServerBinPatches, 'signUniversalJar', 'signLauncherJar']) { - classifier = 'installer' + archiveClassifier = 'installer' archiveExtension = 'jar' //Needs to be Zip task to not override Manifest, so set extension destinationDirectory = file('build/libs') from(extraTxts) @@ -852,8 +866,10 @@ project(':forge') { } from(installerJson.output) from(launcherJson.output) - from(zipTree(downloadInstaller.output)) { - duplicatesStrategy = 'exclude' + if (downloadInstaller.output.present) { + from(zipTree(downloadInstaller.output)) { + duplicatesStrategy = 'exclude' + } } } @@ -867,8 +883,8 @@ project(':forge') { storePass = jarsigner.storepass keyPass = jarsigner.keypass keyStore = jarsigner.keystore - inputFile = t.archivePath - outputFile = t.archivePath + inputFile = t.archiveFile + outputFile = t.archiveFile doFirst { project.logger.lifecycle('Signing: ' + inputFile) } @@ -878,7 +894,7 @@ project(':forge') { task makeMdk(type: Zip) { archiveBaseName = project.name - classifier = 'mdk' + archiveClassifier = 'mdk' archiveVersion = project.version destinationDirectory = file('build/libs') @@ -911,13 +927,19 @@ project(':forge') { userdevConfig { def artifacts = getArtifacts(project, project.configurations.installer, true) artifacts.each { key, lib -> - addLibrary(lib.name) + libraries.add(lib.name) } - addLibrary("${project.group}:${project.name}:${project.version}:launcher") + libraries.add("${project.group}:${project.name}:${project.version}:launcher") runs { client { main 'net.minecraftforge.userdev.LaunchTesting' + // Support mod devs running on Java 8 and up, including 16 + jvmArgs '-XX:+IgnoreUnrecognizedVMOptions' + jvmArgs '--add-exports=java.base/sun.security.util=ALL-UNNAMED' + jvmArgs '--add-exports=jdk.naming.dns/com.sun.jndi.dns=java.naming' + jvmArgs '--add-opens=java.base/java.util.jar=ALL-UNNAMED' + environment 'target', 'fmluserdevclient' environment 'assetIndex', '{asset_index}' environment 'assetDirectory', '{assets_root}' @@ -934,6 +956,12 @@ project(':forge') { server { main 'net.minecraftforge.userdev.LaunchTesting' + // Support mod devs running on Java 8 and up, including 16 + jvmArgs '-XX:+IgnoreUnrecognizedVMOptions' + jvmArgs '--add-exports=java.base/sun.security.util=ALL-UNNAMED' + jvmArgs '--add-exports=jdk.naming.dns/com.sun.jndi.dns=java.naming' + jvmArgs '--add-opens=java.base/java.util.jar=ALL-UNNAMED' + environment 'target', 'fmluserdevserver' environment 'MC_VERSION', "${MC_VERSION}" @@ -947,6 +975,12 @@ project(':forge') { data { main 'net.minecraftforge.userdev.LaunchTesting' + // Support mod devs running on Java 8 and up, including 16 + jvmArgs '-XX:+IgnoreUnrecognizedVMOptions' + jvmArgs '--add-exports=java.base/sun.security.util=ALL-UNNAMED' + jvmArgs '--add-exports=jdk.naming.dns/com.sun.jndi.dns=java.naming' + jvmArgs '--add-opens=java.base/java.util.jar=ALL-UNNAMED' + environment 'target', 'fmluserdevdata' environment 'assetIndex', '{asset_index}' environment 'assetDirectory', '{assets_root}' @@ -979,10 +1013,10 @@ project(':forge') { tasks { main { - files = files("$rootDir/src/main/java") + files.from files("$rootDir/src/main/java") } test { - files = files("$rootDir/src/test/java") + files.from files("$rootDir/src/test/java") } } } @@ -997,16 +1031,16 @@ project(':forge') { tool = SPECIAL_SOURCE + ':shaded' } - task userdevExtrasReobf(type:TaskReobfuscateJar) { + task userdevExtrasReobf(type: ReobfuscateJar) { dependsOn userdevExtras, createMcp2Srg - input = tasks.userdevExtras.archivePath - classpath = project.configurations.compile + input = tasks.userdevExtras.archiveFile + classpath.from project.configurations.userdevCompileClasspath srg = tasks.createMcp2Srg.output tool = SPECIAL_SOURCE + ':shaded' } userdevJar { - dependsOn userdevExtrasReobf + dependsOn tasks.userdevExtrasReobf from (zipTree(tasks.userdevExtrasReobf.output)) { into '/inject/' } @@ -1016,22 +1050,22 @@ project(':forge') { } extractRangeMap { - addDependencies jar.archivePath - addSources sourceSets.userdev.java.srcDirs + dependencies.from jar.archiveFile + sources.from sourceSets.userdev.java.srcDirs } applyRangeMap { - setSources sourceSets.userdev.java.srcDirs + sources.from sourceSets.userdev.java.srcDirs } tasks.eclipse.dependsOn('genEclipseRuns') if (project.hasProperty('UPDATE_MAPPINGS')) { extractRangeMap { - sources sourceSets.test.java.srcDirs + sources.from sourceSets.test.java.srcDirs addDependencies compileTestJava.classpath } applyRangeMap { - sources sourceSets.test.java.srcDirs + sources.from sourceSets.test.java.srcDirs } sourceSets.test.java.srcDirs.each { extractMappedNew.addTarget it } } diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 62a0a5452f..b644cd621b 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -1,8 +1,9 @@ repositories { + maven { url = 'https://maven.minecraftforge.net/' } mavenCentral() } dependencies { - implementation 'org.ow2.asm:asm:9.0' - implementation 'org.ow2.asm:asm-tree:9.0' - implementation 'org.eclipse.jgit:org.eclipse.jgit:5.10.0.202012080955-r' + implementation 'org.ow2.asm:asm:9.1' + implementation 'org.ow2.asm:asm-tree:9.1' + implementation 'net.minecraftforge:srgutils:0.4.+' } \ No newline at end of file diff --git a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/BytecodeFinder.groovy b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/BytecodeFinder.groovy index a9d3ddde77..d8555f716b 100644 --- a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/BytecodeFinder.groovy +++ b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/BytecodeFinder.groovy @@ -1,15 +1,13 @@ package net.minecraftforge.forge.tasks import groovy.json.JsonBuilder - import org.gradle.api.DefaultTask +import org.gradle.api.file.RegularFileProperty import org.gradle.api.tasks.InputFile import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.TaskAction - import org.objectweb.asm.ClassReader import org.objectweb.asm.Opcodes -import org.objectweb.asm.Type import org.objectweb.asm.tree.ClassNode import org.objectweb.asm.tree.FieldNode import org.objectweb.asm.tree.MethodNode @@ -17,42 +15,47 @@ import org.objectweb.asm.tree.MethodNode import java.util.zip.ZipEntry import java.util.zip.ZipInputStream -public abstract class BytecodeFinder extends DefaultTask { - @InputFile File jar - @OutputFile output = project.file("build/${name}/output.json") - +abstract class BytecodeFinder extends DefaultTask { + @InputFile abstract RegularFileProperty getJar() + @OutputFile abstract RegularFileProperty getOutput() + + BytecodeFinder() { + output.convention(project.layout.buildDirectory.dir(name).map { it.file("output.json") }) + } + @TaskAction protected void exec() { Util.init() - - if (output.exists()) - output.delete() - + + def outputFile = output.get().asFile + if (outputFile.exists()) + outputFile.delete() + pre() - - jar.withInputStream { i -> + + jar.get().asFile.withInputStream { i -> new ZipInputStream(i).withCloseable { zin -> ZipEntry zein while ((zein = zin.nextEntry) != null) { if (zein.name.endsWith('.class')) { - def node = new ClassNode(Opcodes.ASM7) + def node = new ClassNode(Opcodes.ASM9) new ClassReader(zin).accept(node, 0) process(node) } } } } - + post() - output.text = new JsonBuilder(getData()).toPrettyString() + outputFile.text = new JsonBuilder(getData()).toPrettyString() } - - + + protected process(ClassNode node) { if (node.fields != null) node.fields.each { process(node, it) } if (node.methods != null) node.methods.each { process(node, it) } } - + protected pre() {} protected process(ClassNode parent, FieldNode node) {} protected process(ClassNode parent, MethodNode node) {} diff --git a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckATs.groovy b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckATs.groovy index 741b5ece14..74f5fc8d35 100644 --- a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckATs.groovy +++ b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckATs.groovy @@ -1,20 +1,23 @@ package net.minecraftforge.forge.tasks -import java.util.ArrayList -import java.util.TreeMap - +import net.minecraftforge.srgutils.IMappingFile import org.gradle.api.DefaultTask +import org.gradle.api.file.ConfigurableFileCollection +import org.gradle.api.file.RegularFileProperty import org.gradle.api.tasks.InputFile import org.gradle.api.tasks.InputFiles +import org.gradle.api.tasks.Optional import org.gradle.api.tasks.TaskAction import org.objectweb.asm.Opcodes -public class CheckATs extends DefaultTask { - @InputFile File inheritance - @InputFiles File[] ats +abstract class CheckATs extends DefaultTask { + @InputFile abstract RegularFileProperty getInheritance() + @InputFiles abstract ConfigurableFileCollection getAts() + @InputFile @Optional abstract RegularFileProperty getMappings() @TaskAction protected void exec() { + def mappings = mappings.map { IMappingFile.load(it.asFile) }.getOrNull() Util.init() def parse = { line -> def idx = line.indexOf('#') @@ -41,7 +44,7 @@ public class CheckATs extends DefaultTask { default: return -1 } } - def json = inheritance.json() + def json = inheritance.get().asFile.json() ats.each { f -> TreeMap lines = [:] @@ -51,12 +54,12 @@ public class CheckATs extends DefaultTask { if (line.startsWith('#group ')) { def (modifier, cls, desc, comment, key) = parse.call(line.substring(7)) - if (!desc.equals('*') && !desc.equals('*()') && !desc.equals('')) + if (desc != '*' && desc != '*()' && desc != '') throw new IllegalStateException('Invalid group: ' + line) group = [modifier: modifier, cls: cls, desc: desc, comment: comment, - 'existing': [] as Set, - 'children': [] as TreeSet, + existing: [] as Set, + children: [] as TreeSet, group: true ] if (lines.containsKey(key)) @@ -93,7 +96,7 @@ public class CheckATs extends DefaultTask { if (jcls == null) { lines.remove(key) println('Invalid Group: ' + key) - } else if ('*'.equals(entry['desc'])) { + } else if ('*' == entry['desc']) { if (!jcls.containsKey('fields')) { lines.remove(key) println('Invalid Group, Class has no fields: ' + key) @@ -114,13 +117,13 @@ public class CheckATs extends DefaultTask { } entry['existing'].stream().findAll{ !entry['children'].contains(it) }.each{ println('Removed: ' + it) } } - } else if ('*()'.equals(entry['desc'])) { + } else if ('*()' == entry['desc']) { if (!jcls.containsKey('methods')) { lines.remove(key) println('Invalid Group, Class has no methods: ' + key) } else { jcls['methods'].each{ mtd, value -> - if (mtd.startsWith('')) + if (mtd.startsWith('') || mtd.startsWith('lambda$')) return key = cls + ' ' + mtd.replace(' ', '') if (accessLevel.call(value['access']) < accessStr.call(entry['modifier'])) { @@ -137,7 +140,7 @@ public class CheckATs extends DefaultTask { } entry['existing'].stream().findAll{ !entry['children'].contains(it) }.each{ println('Removed: ' + it) } } - } else if (''.equals(entry['desc'])) { //Make all public non-abstract subclasses + } else if ('' == entry['desc']) { //Make all public non-abstract subclasses json.each{ tcls,value -> if (!value.containsKey('methods') || ((value['access'] & Opcodes.ACC_ABSTRACT) != 0)) return @@ -182,7 +185,7 @@ public class CheckATs extends DefaultTask { lines.remove(key) println('Invalid: ' + key) } else if (entry['desc'] == '') { - if (accessLevel.call(jcls['access']) >= accessStr.call(entry['modifier']) && (entry.comment == null || !entry.comment.startsWith('#force '))) { + if (accessLevel.call(jcls['access']) > accessStr.call(entry['modifier']) && (entry.comment == null || !entry.comment.startsWith('#force '))) { lines.remove(key) println('Invalid Narrowing: ' + key) } @@ -192,7 +195,7 @@ public class CheckATs extends DefaultTask { println('Invalid: ' + key) } else { def value = jcls['fields'][entry['desc']] - if (accessLevel.call(value['access']) >= accessStr.call(entry['modifier']) && (entry.comment == null || !entry.comment.startsWith('#force '))) { + if (accessLevel.call(value['access']) > accessStr.call(entry['modifier']) && (entry.comment == null || !entry.comment.startsWith('#force '))) { lines.remove(key) println('Invalid Narrowing: ' + key) println(entry.comment) @@ -205,7 +208,7 @@ public class CheckATs extends DefaultTask { println('Invalid: ' + key) } else { def value = jcls['methods'][jdesc] - if (accessLevel.call(value['access']) >= accessStr.call(entry['modifier']) && (entry.comment == null || !entry.comment.startsWith('#force '))) { + if (accessLevel.call(value['access']) > accessStr.call(entry['modifier']) && (entry.comment == null || !entry.comment.startsWith('#force '))) { lines.remove(key) println('Invalid Narrowing: ' + key) } @@ -216,12 +219,44 @@ public class CheckATs extends DefaultTask { def data = [] + def remapComment = { entry -> + if (!mappings || !entry || !entry.desc) return null + def comment = entry.comment?.substring(1)?.trim() + def jsonCls = json.get(entry.cls.replaceAll('\\.', '/')) + def mappingsClass = mappings?.getClass(jsonCls.name) + if (!mappingsClass) return entry.comment + def idx = entry.desc.indexOf('(') + def mappedName = idx == -1 + ? mappingsClass.remapField(entry.desc) + : mappingsClass.remapMethod(entry.desc.substring(0, idx), entry.desc.substring(idx)) + if (!mappedName) return entry.comment + if (mappedName == '') + mappedName = 'constructor' + + if (comment?.startsWith(mappedName)) + return '# ' + comment + if (comment && comment.indexOf(' ') != -1) { + def split = comment.split(" - ").toList() + if (split[0].indexOf(' ') != -1) + // The first string is more than one word, so append before it + return "# ${mappedName} - ${comment}" + split.remove(0) + return "# ${mappedName} - ${String.join(' - ', split)}" + } + return '# ' + mappedName + } lines.each { key,value -> if (!value.group) { - data.add(value.modifier + ' ' + key + (value.comment == null ? '' : ' ' + value.comment)) + def comment = remapComment.call(value) + data.add(value.modifier + ' ' + key + (comment ? ' ' + comment : '')) } else { data.add('#group ' + value.modifier + ' ' + key + (value.comment == null ? '' : ' ' + value.comment)) - value.children.each{ data.add(value.modifier + ' ' + it) } + value.children.each { + def line = value.modifier + ' ' + it + def (modifier, cls, desc, comment) = parse.call(line) + comment = remapComment.call([modifier: modifier, cls: cls, desc: desc, comment: comment]) + data.add(line + (comment ? ' ' + comment : '')) + } data.add('#endgroup') } } diff --git a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckExcs.groovy b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckExcs.groovy index e5b1480186..c9b7fd4bbc 100644 --- a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckExcs.groovy +++ b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckExcs.groovy @@ -1,33 +1,27 @@ package net.minecraftforge.forge.tasks -import java.util.ArrayList -import java.util.TreeMap - import org.gradle.api.DefaultTask +import org.gradle.api.file.ConfigurableFileCollection +import org.gradle.api.file.RegularFileProperty import org.gradle.api.tasks.InputFile import org.gradle.api.tasks.InputFiles import org.gradle.api.tasks.TaskAction - -import org.objectweb.asm.ClassReader -import org.objectweb.asm.ClassVisitor -import org.objectweb.asm.MethodVisitor -import org.objectweb.asm.Opcodes -import org.objectweb.asm.Type +import org.objectweb.asm.* import java.util.zip.ZipEntry import java.util.zip.ZipInputStream -public class CheckExcs extends DefaultTask { - @InputFile File binary - @InputFiles File[] excs +abstract class CheckExcs extends DefaultTask { + @InputFile abstract RegularFileProperty getBinary() + @InputFiles abstract ConfigurableFileCollection getExcs() @TaskAction protected void exec() { Util.init() def known = [] - binary.withInputStream { i -> + binary.get().asFile.withInputStream { i -> new ZipInputStream(i).withCloseable { zin -> - def visitor = new ClassVisitor(Opcodes.ASM7) { + def visitor = new ClassVisitor(Opcodes.ASM9) { private String cls @Override public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) { @@ -68,8 +62,7 @@ public class CheckExcs extends DefaultTask { def (key, value) = line.split('=', 2) if (!known.contains(key)) { - println(key) - println('Invalid: ' + line) + println('Unknown: ' + line) return } diff --git a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckPatches.groovy b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckPatches.groovy index 7a09941755..e6633cf074 100644 --- a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckPatches.groovy +++ b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckPatches.groovy @@ -1,6 +1,7 @@ package net.minecraftforge.forge.tasks import org.gradle.api.DefaultTask +import org.gradle.api.file.DirectoryProperty import org.gradle.api.tasks.Input import org.gradle.api.tasks.InputDirectory import org.gradle.api.tasks.TaskAction @@ -9,8 +10,8 @@ import java.nio.file.Files import java.nio.file.Paths import java.util.regex.Pattern -public class CheckPatches extends DefaultTask { - @InputDirectory File patchDir +abstract class CheckPatches extends DefaultTask { + @InputDirectory abstract DirectoryProperty getPatchDir() @Input boolean autoFix = false @TaskAction @@ -21,7 +22,7 @@ public class CheckPatches extends DefaultTask { ] def verified = true; - project.fileTree(patchDir).each { patch -> + patchDir.get().asFileTree.each { patch -> def patchPath = project.rootDir.toPath().relativize(patch.toPath()) verified &= verifyPatch(patch, autoFix, patchPath.toString(), hasS2SArtifact.contains(patchPath)) } @@ -31,7 +32,7 @@ public class CheckPatches extends DefaultTask { } def verifyPatch(patch, fix, patchPath, hasS2SArtifact) { - def hunk_start_pattern = Pattern.compile('^@@ -[0-9,]* \\+[0-9,]* @@$') + def hunk_start_pattern = Pattern.compile('^@@ -[0-9,]* \\+[0-9,_]* @@$') def white_space_pattern = Pattern.compile('^[+\\-]\\s*$') def import_pattern = Pattern.compile('^[+\\-]\\s*import.*') def field_pattern = Pattern.compile('^[+\\-][\\s]*((public|protected|private)[\\s]*)?(static[\\s]*)?(final)?([^=;]*)(=.*)?;\\s*$') diff --git a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckSAS.groovy b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckSAS.groovy index 3282ad5992..6dd6453e29 100644 --- a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckSAS.groovy +++ b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CheckSAS.groovy @@ -1,22 +1,20 @@ package net.minecraftforge.forge.tasks -import java.util.ArrayList -import java.util.TreeMap - import org.gradle.api.DefaultTask +import org.gradle.api.file.ConfigurableFileCollection +import org.gradle.api.file.RegularFileProperty import org.gradle.api.tasks.InputFile import org.gradle.api.tasks.InputFiles import org.gradle.api.tasks.TaskAction -import org.objectweb.asm.Opcodes -public class CheckSAS extends DefaultTask { - @InputFile File inheritance - @InputFiles File[] sass +abstract class CheckSAS extends DefaultTask { + @InputFile abstract RegularFileProperty getInheritance() + @InputFiles abstract ConfigurableFileCollection getSass() @TaskAction protected void exec() { Util.init() - def json = inheritance.json() + def json = inheritance.get().asFile.json() sass.each { f -> def lines = [] diff --git a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/ClosureHelper.groovy b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/ClosureHelper.groovy index 6c903ca6f2..c5da338c35 100644 --- a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/ClosureHelper.groovy +++ b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/ClosureHelper.groovy @@ -22,7 +22,7 @@ public class ClosureHelper { } } - static def apply(def obj, Closure cl) { + static T apply(T obj, Closure cl) { cl.delegate = obj cl.resolveStrategy = Closure.DELEGATE_FIRST cl() diff --git a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CrowdinTask.groovy b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/Crowdin.groovy similarity index 56% rename from buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CrowdinTask.groovy rename to buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/Crowdin.groovy index f5d7651f3f..5a7afc16f6 100644 --- a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/CrowdinTask.groovy +++ b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/Crowdin.groovy @@ -1,47 +1,55 @@ package net.minecraftforge.forge.tasks import org.gradle.api.DefaultTask +import org.gradle.api.file.RegularFileProperty +import org.gradle.api.provider.Property import org.gradle.api.tasks.Input -import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.Optional import org.gradle.api.tasks.OutputFile +import org.gradle.api.tasks.TaskAction import java.util.zip.ZipEntry import java.util.zip.ZipInputStream import java.util.zip.ZipOutputStream -import java.net.URL -public class CrowdinTask extends DefaultTask { - @Input String id = 'minecraft-forge' - @Input @Optional String key +abstract class Crowdin extends DefaultTask { + @Input abstract Property getId() + @Input @Optional abstract Property getKey() @Input boolean json = true - @OutputFile output = project.file("build/${name}/output.zip") - @OutputFile export = project.file("build/${name}/export.json") - - CrowdinTask() { + @OutputFile abstract RegularFileProperty getOutput() + @OutputFile abstract RegularFileProperty getExport() + + Crowdin() { outputs.upToDateWhen{ false } + id.convention('minecraft-forge') + output.convention(project.layout.buildDirectory.dir(name).map {it.file("output.zip") }) + export.convention(project.layout.buildDirectory.dir(name).map {it.file("export.json") }) } @TaskAction def run() { - if (output.exists()) - output.delete() + File outputFile = output.get().asFile + File exportFile = export.get().asFile + if (outputFile.exists()) + outputFile.delete() - if (key == null) + if (!key.isPresent()) return + String key = this.key.get() + String id = this.id.get() // Force an export - new URL("https://api.crowdin.com/api/project/${id}/export?key=${key}").withInputStream { i -> - export.withOutputStream { it << i } + new URL("https://api.crowdin.com/api/project/${id}/export?key=${key}").withInputStream { i -> + exportFile.withOutputStream { it << i } } - if (!export.text.contains('success')) { - throw new RuntimeException("Crowdin export failed, see ${export} for more info") + if (!exportFile.text.contains('success')) { + throw new RuntimeException("Crowdin export failed, see ${exportFile} for more info") } new URL("https://api.crowdin.com/api/project/${id}/download/all.zip?key=${key}").withInputStream { i -> new ZipInputStream(i).withCloseable { zin -> - output.withOutputStream { out -> + outputFile.withOutputStream { out -> new ZipOutputStream(out).withCloseable { zout -> ZipEntry zein while ((zein = zin.nextEntry) != null) { diff --git a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/DownloadLibraries.groovy b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/DownloadLibraries.groovy new file mode 100644 index 0000000000..342146a5f3 --- /dev/null +++ b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/DownloadLibraries.groovy @@ -0,0 +1,51 @@ +package net.minecraftforge.forge.tasks + +import org.gradle.api.DefaultTask +import org.gradle.api.file.DirectoryProperty +import org.gradle.api.file.RegularFileProperty +import org.gradle.api.tasks.InputFile +import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.tasks.OutputFile +import org.gradle.api.tasks.TaskAction + +import java.nio.file.Files + +abstract class DownloadLibraries extends DefaultTask { + @InputFile abstract RegularFileProperty getInput() + @OutputDirectory abstract DirectoryProperty getOutput() + @OutputFile abstract RegularFileProperty getLibrariesOutput() + + DownloadLibraries() { + output.convention(project.layout.buildDirectory.dir(name)) + librariesOutput.convention(project.layout.buildDirectory.dir(name).map(d -> d.file('libraries.txt'))) + } + + @TaskAction + def run() { + Util.init() + File outputDir = output.get().asFile + def libraries = new ArrayList() + + def json = input.get().asFile.json().libraries.each { lib -> + //TODO: Thread? + def artifacts = [lib.downloads.artifact] + lib.downloads.get('classifiers', [:]).values() + artifacts.each{ art -> + def target = new File(outputDir, art.path) + libraries.add(target.absolutePath) + if (!target.exists() || !art.sha1.equals(target.sha1())) { + project.logger.lifecycle("Downloading ${art.url}") + if (!target.parentFile.exists()) { + target.parentFile.mkdirs() + } + new URL(art.url).withInputStream { i -> + target.withOutputStream { it << i } + } + if (!art.sha1.equals(target.sha1())) { + throw new IllegalStateException("Failed to download ${art.url} to ${target.canonicalPath} SHA Mismatch") + } + } + } + } + Files.write(librariesOutput.get().asFile.toPath(), libraries) + } +} diff --git a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/DownloadLibrariesTask.groovy b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/DownloadLibrariesTask.groovy deleted file mode 100644 index e9c2d0af61..0000000000 --- a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/DownloadLibrariesTask.groovy +++ /dev/null @@ -1,43 +0,0 @@ -package net.minecraftforge.forge.tasks - -import org.gradle.api.DefaultTask -import org.gradle.api.tasks.InputFile -import org.gradle.api.tasks.TaskAction -import org.gradle.api.tasks.OutputDirectory - -import java.io.File -import java.util.HashSet -import java.util.Set -import java.net.URL - -public class DownloadLibrariesTask extends DefaultTask { - @InputFile File input - @OutputDirectory File output = project.file("build/${name}/") - Set libraries = new HashSet<>() - - @TaskAction - def run() { - Util.init() - - def json = input.json().libraries.each { lib -> - //TODO: Thread? - def artifacts = [lib.downloads.artifact] + lib.downloads.get('classifiers', [:]).values() - artifacts.each{ art -> - def target = new File(output, art.path) - libraries.add(target) - if (!target.exists() || !art.sha1.equals(target.sha1())) { - project.logger.lifecycle("Downloading ${art.url}") - if (!target.parentFile.exists()) { - target.parentFile.mkdirs() - } - new URL(art.url).withInputStream { i -> - target.withOutputStream { it << i } - } - if (!art.sha1.equals(target.sha1())) { - throw new IllegalStateException("Failed to download ${art.url} to ${target.canonicalPath} SHA Mismatch") - } - } - } - } - } -} diff --git a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/FieldCompareFinder.groovy b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/FieldCompareFinder.groovy index dfc515ab85..9134db369d 100644 --- a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/FieldCompareFinder.groovy +++ b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/FieldCompareFinder.groovy @@ -1,30 +1,21 @@ package net.minecraftforge.forge.tasks import groovy.transform.EqualsAndHashCode - -import java.util.ArrayList -import java.util.HashMap -import java.util.TreeMap -import java.util.TreeSet -import java.util.function.BiConsumer - -import org.gradle.api.DefaultTask import org.gradle.api.tasks.Input +import org.gradle.api.tasks.Internal import org.gradle.api.tasks.Nested import org.gradle.api.tasks.Optional - -import org.objectweb.asm.Opcodes -import org.objectweb.asm.Type import org.objectweb.asm.tree.ClassNode -import org.objectweb.asm.tree.FieldNode import org.objectweb.asm.tree.MethodNode import static org.objectweb.asm.Opcodes.* -public class FieldCompareFinder extends BytecodeFinder { +abstract class FieldCompareFinder extends BytecodeFinder { @Nested Map fields = [:] as HashMap + @Internal Map fieldsReverse = [:] as HashMap + @Internal Map> targets = [:] as TreeMap @Override @@ -53,6 +44,7 @@ public class FieldCompareFinder extends BytecodeFinder { } } + @Internal @Override protected Object getData() { def ret = [:] as HashMap diff --git a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/Util.groovy b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/Util.groovy index 9b469ff560..e3bd7f0129 100644 --- a/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/Util.groovy +++ b/buildSrc/src/main/groovy/net/minecraftforge/forge/tasks/Util.groovy @@ -2,14 +2,8 @@ package net.minecraftforge.forge.tasks import groovy.json.JsonSlurper -import java.io.File import java.security.MessageDigest import java.text.SimpleDateFormat -import java.util.Date - -import org.eclipse.jgit.api.Git -import org.eclipse.jgit.lib.AbbreviatedObjectId -import org.eclipse.jgit.lib.ObjectId public class Util { static void init() { @@ -131,42 +125,4 @@ public class Util { throw e } } - - public static def gitInfo(dir) { - init() - def git = null - try { - git = Git.open(dir) - } catch (org.eclipse.jgit.errors.RepositoryNotFoundException e) { - return [ - tag: '0.0', - offset: '0', - hash: '00000000', - branch: 'master', - commit: '0000000000000000000000', - abbreviatedId: '00000000' - ] - } - def desc = git.describe().setLong(true).setTags(true).call().rsplit('-', 2) - def head = git.repository.resolve('HEAD') - - def ret = [:] - ret.tag = desc[0] - ret.offset = desc[1] - ret.hash = desc[2] - ret.branch = git.repository.branch - ret.commit = ObjectId.toString(head) - ret.abbreviatedId = head.abbreviate(8).name() - - return ret - } - - public static String getVersion(info, mc_version) { - def branch = info.branch - if (branch != null && branch.startsWith('pulls/')) - branch = 'pr' + branch.rsplit('/', 1)[1] - if (branch in [null, 'master', 'HEAD', mc_version, mc_version + '.0', mc_version.rsplit('.', 1)[0] + '.x']) - return "${mc_version}-${info.tag}.${info.offset}".toString() - return "${mc_version}-${info.tag}.${info.offset}-${branch}".toString() - } } \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 549d84424d..05679dc3c1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/mdk/build.gradle b/mdk/build.gradle index 9a1cca7ffb..17e2f9ba27 100644 --- a/mdk/build.gradle +++ b/mdk/build.gradle @@ -4,7 +4,7 @@ buildscript { mavenCentral() } dependencies { - classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '4.1.+', changing: true + classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true } } apply plugin: 'net.minecraftforge.gradle' diff --git a/settings.gradle b/settings.gradle index cee62b8965..b2a6c189c0 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,10 @@ +pluginManagement { + repositories { + gradlePluginPortal() + maven { url = 'https://maven.minecraftforge.net/' } + } +} + rootProject.name = 'Forge' include ':mcp' diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/RuntimeDistCleaner.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/RuntimeDistCleaner.java index c29545d4e6..006231ab83 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/RuntimeDistCleaner.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/RuntimeDistCleaner.java @@ -196,7 +196,7 @@ public class RuntimeDistCleaner implements ILaunchPluginService private final List dynamicLambdaHandles = new ArrayList<>(); public LambdaGatherer() { - super(Opcodes.ASM7); + super(Opcodes.ASM9); } public void accept(MethodNode method) { diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModAnnotationVisitor.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModAnnotationVisitor.java index 771872fb2f..44fd88b468 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModAnnotationVisitor.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModAnnotationVisitor.java @@ -34,7 +34,7 @@ public class ModAnnotationVisitor extends AnnotationVisitor public ModAnnotationVisitor(LinkedList annotations, ModAnnotation annotation) { - super(Opcodes.ASM7); + super(Opcodes.ASM9); this.annotations = annotations; this.annotation = annotation; } diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModClassVisitor.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModClassVisitor.java index 14bebd5a15..66e0f55292 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModClassVisitor.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModClassVisitor.java @@ -42,7 +42,7 @@ public class ModClassVisitor extends ClassVisitor private final LinkedList annotations = new LinkedList<>(); public ModClassVisitor() { - super(Opcodes.ASM7); + super(Opcodes.ASM9); } diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModFieldVisitor.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModFieldVisitor.java index 5e9a905227..54eb8210fe 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModFieldVisitor.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModFieldVisitor.java @@ -34,7 +34,7 @@ public class ModFieldVisitor extends FieldVisitor public ModFieldVisitor(String name, final LinkedList annotations) { - super(Opcodes.ASM7); + super(Opcodes.ASM9); this.fieldName = name; this.annotations = annotations; } diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModMethodVisitor.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModMethodVisitor.java index 4f03e91510..b11ed88139 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModMethodVisitor.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModMethodVisitor.java @@ -35,7 +35,7 @@ public class ModMethodVisitor extends MethodVisitor { public ModMethodVisitor(String name, String desc, final LinkedList annotations) { - super(Opcodes.ASM7); + super(Opcodes.ASM9); this.methodName = name; this.methodDescriptor = desc; this.annotations = annotations; diff --git a/src/main/java/net/minecraftforge/common/data/SoundDefinition.java b/src/main/java/net/minecraftforge/common/data/SoundDefinition.java index b2e5acd36b..94c265482b 100644 --- a/src/main/java/net/minecraftforge/common/data/SoundDefinition.java +++ b/src/main/java/net/minecraftforge/common/data/SoundDefinition.java @@ -1,6 +1,6 @@ /* * Minecraft Forge - * Copyright (c) 2016-2020. + * Copyright (c) 2016-2021. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/src/main/java/net/minecraftforge/common/data/SoundDefinitionsProvider.java b/src/main/java/net/minecraftforge/common/data/SoundDefinitionsProvider.java index 60c4a7467d..b21758e845 100644 --- a/src/main/java/net/minecraftforge/common/data/SoundDefinitionsProvider.java +++ b/src/main/java/net/minecraftforge/common/data/SoundDefinitionsProvider.java @@ -1,6 +1,6 @@ /* * Minecraft Forge - * Copyright (c) 2016-2020. + * Copyright (c) 2016-2021. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/src/main/java/net/minecraftforge/common/data/package-info.java b/src/main/java/net/minecraftforge/common/data/package-info.java index 136da9bdf5..de844c255f 100644 --- a/src/main/java/net/minecraftforge/common/data/package-info.java +++ b/src/main/java/net/minecraftforge/common/data/package-info.java @@ -1,6 +1,6 @@ /* * Minecraft Forge - * Copyright (c) 2016-2020. + * Copyright (c) 2016-2021. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/src/main/java/net/minecraftforge/event/entity/living/EntityTeleportEvent.java b/src/main/java/net/minecraftforge/event/entity/living/EntityTeleportEvent.java index c3a1ce9d34..25c9c999c1 100644 --- a/src/main/java/net/minecraftforge/event/entity/living/EntityTeleportEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/living/EntityTeleportEvent.java @@ -1,3 +1,22 @@ +/* + * Minecraft Forge + * Copyright (c) 2016-2021. + * + * 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.event.entity.living; import net.minecraft.entity.Entity; diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index 7c48e85944..0e1b137e72 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -1,338 +1,338 @@ public net.minecraft.advancements.CriteriaTriggers func_192118_a(Lnet/minecraft/advancements/ICriterionTrigger;)Lnet/minecraft/advancements/ICriterionTrigger; # register #group public net.minecraft.block.Block -public net.minecraft.block.AbstractCoralPlantBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.AirBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.AttachedStemBlock (Lnet/minecraft/block/StemGrownBlock;Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.BarrierBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.BlastFurnaceBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.BreakableBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.BushBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.CactusBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.CakeBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.CarpetBlock (Lnet/minecraft/item/DyeColor;Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.CartographyTableBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.CarvedPumpkinBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.ChestBlock (Lnet/minecraft/block/AbstractBlock$Properties;Ljava/util/function/Supplier;)V -public net.minecraft.block.ChorusFlowerBlock (Lnet/minecraft/block/ChorusPlantBlock;Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.ChorusPlantBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.CoralFanBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.CoralFinBlock (Lnet/minecraft/block/Block;Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.CoralPlantBlock (Lnet/minecraft/block/Block;Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.CoralWallFanBlock (Lnet/minecraft/block/Block;Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.CraftingTableBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.CropsBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.DeadBushBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.DeadCoralPlantBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.DeadCoralWallFanBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.DispenserBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.DoorBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.EnchantingTableBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.EndGatewayBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.EndPortalBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.EndRodBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.EnderChestBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.FarmlandBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.FletchingTableBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.FlowingFluidBlock (Lnet/minecraft/fluid/FlowingFluid;Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.FourWayBlock (FFFFFLnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.FungusBlock (Lnet/minecraft/block/AbstractBlock$Properties;Ljava/util/function/Supplier;)V -public net.minecraft.block.FurnaceBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.GrassPathBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.GrindstoneBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.HorizontalFaceBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.JigsawBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.JukeboxBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.KelpBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.KelpTopBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.LadderBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.LecternBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.LeverBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.LilyPadBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.LoomBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.MelonBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.NetherRootsBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.NetherWartBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.NyliumBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.PaneBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.PoweredRailBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.PressurePlateBlock (Lnet/minecraft/block/PressurePlateBlock$Sensitivity;Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.PumpkinBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.RailBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.RedstoneTorchBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.RedstoneWallTorchBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.RepeaterBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SaplingBlock (Lnet/minecraft/block/trees/Tree;Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.ScaffoldingBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SeaGrassBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SeaPickleBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SixWayBlock (FLnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SkullBlock (Lnet/minecraft/block/SkullBlock$ISkullType;Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SkullPlayerBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SkullWallPlayerBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SmithingTableBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SmokerBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SnowBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SnowyDirtBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SpawnerBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SpongeBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.StairsBlock (Lnet/minecraft/block/BlockState;Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.StemBlock (Lnet/minecraft/block/StemGrownBlock;Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.StoneButtonBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.StructureBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.StructureVoidBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.SugarCaneBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.TallGrassBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.TorchBlock (Lnet/minecraft/block/AbstractBlock$Properties;Lnet/minecraft/particles/IParticleData;)V -public net.minecraft.block.TrapDoorBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.WallSkullBlock (Lnet/minecraft/block/SkullBlock$ISkullType;Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.WallTorchBlock (Lnet/minecraft/block/AbstractBlock$Properties;Lnet/minecraft/particles/IParticleData;)V -public net.minecraft.block.WeightedPressurePlateBlock (ILnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.WetSpongeBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.WitherSkeletonSkullBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.WitherSkeletonWallSkullBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V -public net.minecraft.block.WoodButtonBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V +public net.minecraft.block.AbstractCoralPlantBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.AirBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.AttachedStemBlock (Lnet/minecraft/block/StemGrownBlock;Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.BarrierBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.BlastFurnaceBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.BreakableBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.BushBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.CactusBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.CakeBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.CarpetBlock (Lnet/minecraft/item/DyeColor;Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.CartographyTableBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.CarvedPumpkinBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.ChestBlock (Lnet/minecraft/block/AbstractBlock$Properties;Ljava/util/function/Supplier;)V # constructor +public net.minecraft.block.ChorusFlowerBlock (Lnet/minecraft/block/ChorusPlantBlock;Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.ChorusPlantBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.CoralFanBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.CoralFinBlock (Lnet/minecraft/block/Block;Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.CoralPlantBlock (Lnet/minecraft/block/Block;Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.CoralWallFanBlock (Lnet/minecraft/block/Block;Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.CraftingTableBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.CropsBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.DeadBushBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.DeadCoralPlantBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.DeadCoralWallFanBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.DispenserBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.DoorBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.EnchantingTableBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.EndGatewayBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.EndPortalBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.EndRodBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.EnderChestBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.FarmlandBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.FletchingTableBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.FlowingFluidBlock (Lnet/minecraft/fluid/FlowingFluid;Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.FourWayBlock (FFFFFLnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.FungusBlock (Lnet/minecraft/block/AbstractBlock$Properties;Ljava/util/function/Supplier;)V # constructor +public net.minecraft.block.FurnaceBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.GrassPathBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.GrindstoneBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.HorizontalFaceBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.JigsawBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.JukeboxBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.KelpBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.KelpTopBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.LadderBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.LecternBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.LeverBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.LilyPadBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.LoomBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.MelonBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.NetherRootsBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.NetherWartBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.NyliumBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.PaneBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.PoweredRailBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.PressurePlateBlock (Lnet/minecraft/block/PressurePlateBlock$Sensitivity;Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.PumpkinBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.RailBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.RedstoneTorchBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.RedstoneWallTorchBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.RepeaterBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SaplingBlock (Lnet/minecraft/block/trees/Tree;Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.ScaffoldingBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SeaGrassBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SeaPickleBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SixWayBlock (FLnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SkullBlock (Lnet/minecraft/block/SkullBlock$ISkullType;Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SkullPlayerBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SkullWallPlayerBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SmithingTableBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SmokerBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SnowBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SnowyDirtBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SpawnerBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SpongeBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.StairsBlock (Lnet/minecraft/block/BlockState;Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.StemBlock (Lnet/minecraft/block/StemGrownBlock;Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.StoneButtonBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.StructureBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.StructureVoidBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.SugarCaneBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.TallGrassBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.TorchBlock (Lnet/minecraft/block/AbstractBlock$Properties;Lnet/minecraft/particles/IParticleData;)V # constructor +public net.minecraft.block.TrapDoorBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.WallSkullBlock (Lnet/minecraft/block/SkullBlock$ISkullType;Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.WallTorchBlock (Lnet/minecraft/block/AbstractBlock$Properties;Lnet/minecraft/particles/IParticleData;)V # constructor +public net.minecraft.block.WeightedPressurePlateBlock (ILnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.WetSpongeBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.WitherSkeletonSkullBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.WitherSkeletonWallSkullBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor +public net.minecraft.block.WoodButtonBlock (Lnet/minecraft/block/AbstractBlock$Properties;)V # constructor #endgroup -public net.minecraft.block.Block func_180637_b(Lnet/minecraft/world/server/ServerWorld;Lnet/minecraft/util/math/BlockPos;I)V # dropXpOnBlockBreak -public net.minecraft.block.FireBlock func_220274_q(Lnet/minecraft/block/BlockState;)I # func_220274_q -public net.minecraft.block.FireBlock func_220275_r(Lnet/minecraft/block/BlockState;)I # func_220275_r +public net.minecraft.block.Block func_180637_b(Lnet/minecraft/world/server/ServerWorld;Lnet/minecraft/util/math/BlockPos;I)V # popExperience +public net.minecraft.block.FireBlock func_220274_q(Lnet/minecraft/block/BlockState;)I # getBurnOdd +public net.minecraft.block.FireBlock func_220275_r(Lnet/minecraft/block/BlockState;)I # getFlameOdds public net.minecraft.block.WoodType func_227047_a_(Lnet/minecraft/block/WoodType;)Lnet/minecraft/block/WoodType; # register -public-f net.minecraft.client.GameSettings field_74324_K # keyBindings +public-f net.minecraft.client.GameSettings field_74324_K # keyMappings public net.minecraft.client.Minecraft field_71446_o # textureManager -public net.minecraft.client.Minecraft func_184119_a(Lnet/minecraft/item/ItemStack;Lnet/minecraft/tileentity/TileEntity;)Lnet/minecraft/item/ItemStack; # storeTEInStack -public net.minecraft.client.Minecraft func_193986_ar()V # populateSearchTreeManager -public net.minecraft.client.audio.SoundEngine field_148622_c #sndHandler +public net.minecraft.client.Minecraft func_184119_a(Lnet/minecraft/item/ItemStack;Lnet/minecraft/tileentity/TileEntity;)Lnet/minecraft/item/ItemStack; # addCustomNbtData +public net.minecraft.client.Minecraft func_193986_ar()V # createSearchTrees +public net.minecraft.client.audio.SoundEngine field_148622_c # soundManager #group protected net.minecraft.client.gui.IngameGui * -protected net.minecraft.client.gui.IngameGui field_110328_d -protected net.minecraft.client.gui.IngameGui field_110329_b -protected net.minecraft.client.gui.IngameGui field_110330_c -protected net.minecraft.client.gui.IngameGui field_175189_D -protected net.minecraft.client.gui.IngameGui field_175190_E -protected net.minecraft.client.gui.IngameGui field_175191_F -protected net.minecraft.client.gui.IngameGui field_175192_A -protected net.minecraft.client.gui.IngameGui field_175193_B -protected net.minecraft.client.gui.IngameGui field_175194_C -protected net.minecraft.client.gui.IngameGui field_175195_w -protected net.minecraft.client.gui.IngameGui field_175196_v -protected net.minecraft.client.gui.IngameGui field_175197_u -protected net.minecraft.client.gui.IngameGui field_175198_t -protected net.minecraft.client.gui.IngameGui field_175199_z -protected net.minecraft.client.gui.IngameGui field_175200_y -protected net.minecraft.client.gui.IngameGui field_175201_x -protected net.minecraft.client.gui.IngameGui field_184049_t -protected net.minecraft.client.gui.IngameGui field_184050_w -protected net.minecraft.client.gui.IngameGui field_191743_I -protected net.minecraft.client.gui.IngameGui field_194811_H -protected net.minecraft.client.gui.IngameGui field_194812_I -protected net.minecraft.client.gui.IngameGui field_243249_e -protected net.minecraft.client.gui.IngameGui field_73837_f -protected net.minecraft.client.gui.IngameGui field_73838_g -protected net.minecraft.client.gui.IngameGui field_73839_d -protected net.minecraft.client.gui.IngameGui field_73840_e -protected net.minecraft.client.gui.IngameGui field_73841_b -protected net.minecraft.client.gui.IngameGui field_73842_c -protected net.minecraft.client.gui.IngameGui field_73844_j -protected net.minecraft.client.gui.IngameGui field_73845_h -protected net.minecraft.client.gui.IngameGui field_92016_l -protected net.minecraft.client.gui.IngameGui field_92017_k +protected net.minecraft.client.gui.IngameGui field_110328_d # PUMPKIN_BLUR_LOCATION +protected net.minecraft.client.gui.IngameGui field_110329_b # VIGNETTE_LOCATION +protected net.minecraft.client.gui.IngameGui field_110330_c # WIDGETS_LOCATION +protected net.minecraft.client.gui.IngameGui field_175189_D # displayHealth +protected net.minecraft.client.gui.IngameGui field_175190_E # lastHealthTime +protected net.minecraft.client.gui.IngameGui field_175191_F # healthBlinkTime +protected net.minecraft.client.gui.IngameGui field_175192_A # titleStayTime +protected net.minecraft.client.gui.IngameGui field_175193_B # titleFadeOutTime +protected net.minecraft.client.gui.IngameGui field_175194_C # lastHealth +protected net.minecraft.client.gui.IngameGui field_175195_w # titleTime +protected net.minecraft.client.gui.IngameGui field_175196_v # tabList +protected net.minecraft.client.gui.IngameGui field_175197_u # spectatorGui +protected net.minecraft.client.gui.IngameGui field_175198_t # debugScreen +protected net.minecraft.client.gui.IngameGui field_175199_z # titleFadeInTime +protected net.minecraft.client.gui.IngameGui field_175200_y # subtitle +protected net.minecraft.client.gui.IngameGui field_175201_x # title +protected net.minecraft.client.gui.IngameGui field_184049_t # subtitleOverlay +protected net.minecraft.client.gui.IngameGui field_184050_w # bossOverlay +protected net.minecraft.client.gui.IngameGui field_191743_I # chatListeners +protected net.minecraft.client.gui.IngameGui field_194811_H # screenWidth +protected net.minecraft.client.gui.IngameGui field_194812_I # screenHeight +protected net.minecraft.client.gui.IngameGui field_243249_e # DEMO_EXPIRED_TEXT +protected net.minecraft.client.gui.IngameGui field_73837_f # tickCount +protected net.minecraft.client.gui.IngameGui field_73838_g # overlayMessageString +protected net.minecraft.client.gui.IngameGui field_73839_d # minecraft +protected net.minecraft.client.gui.IngameGui field_73840_e # chat +protected net.minecraft.client.gui.IngameGui field_73841_b # itemRenderer +protected net.minecraft.client.gui.IngameGui field_73842_c # random +protected net.minecraft.client.gui.IngameGui field_73844_j # animateOverlayMessageColor +protected net.minecraft.client.gui.IngameGui field_73845_h # overlayMessageTime +protected net.minecraft.client.gui.IngameGui field_92016_l # lastToolHighlight +protected net.minecraft.client.gui.IngameGui field_92017_k # toolHighlightTimer #endgroup -protected net.minecraft.client.gui.IngameGui func_194805_e(F)V -protected net.minecraft.client.gui.IngameGui func_194808_p()V -protected net.minecraft.client.gui.IngameGui func_212303_b(Lnet/minecraft/entity/Entity;)V -protected net.minecraft.client.gui.IngameGui func_238447_a_(Lcom/mojang/blaze3d/matrix/MatrixStack;Lnet/minecraft/scoreboard/ScoreObjective;)V -protected net.minecraft.client.gui.IngameGui func_238448_a_(Lcom/mojang/blaze3d/matrix/MatrixStack;Lnet/minecraft/client/gui/FontRenderer;III)V # renderTextBackground -protected net.minecraft.client.gui.IngameGui func_238456_d_(Lcom/mojang/blaze3d/matrix/MatrixStack;)V # renderAttackIndicator +protected net.minecraft.client.gui.IngameGui func_194805_e(F)V # renderPortalOverlay +protected net.minecraft.client.gui.IngameGui func_194808_p()V # renderPumpkin +protected net.minecraft.client.gui.IngameGui func_212303_b(Lnet/minecraft/entity/Entity;)V # renderVignette +protected net.minecraft.client.gui.IngameGui func_238447_a_(Lcom/mojang/blaze3d/matrix/MatrixStack;Lnet/minecraft/scoreboard/ScoreObjective;)V # displayScoreboardSidebar +protected net.minecraft.client.gui.IngameGui func_238448_a_(Lcom/mojang/blaze3d/matrix/MatrixStack;Lnet/minecraft/client/gui/FontRenderer;III)V # drawBackdrop +protected net.minecraft.client.gui.IngameGui func_238456_d_(Lcom/mojang/blaze3d/matrix/MatrixStack;)V # renderCrosshair public net.minecraft.client.gui.ScreenManager func_216911_a(Lnet/minecraft/inventory/container/ContainerType;Lnet/minecraft/client/gui/ScreenManager$IScreenFactory;)V # registerFactory public net.minecraft.client.gui.ScreenManager$IScreenFactory -protected net.minecraft.client.gui.overlay.DebugOverlayGui field_211537_g # rayTraceBlock -protected net.minecraft.client.gui.overlay.DebugOverlayGui field_211538_h # rayTraceFluid -public net.minecraft.client.gui.screen.WorldOptionsScreen func_239043_a_(Lnet/minecraft/world/gen/settings/DimensionGeneratorSettings;)V # func_239043_a_ +protected net.minecraft.client.gui.overlay.DebugOverlayGui field_211537_g # block +protected net.minecraft.client.gui.overlay.DebugOverlayGui field_211538_h # liquid +public net.minecraft.client.gui.screen.WorldOptionsScreen func_239043_a_(Lnet/minecraft/world/gen/settings/DimensionGeneratorSettings;)V # updateSettings protected net.minecraft.client.gui.widget.list.AbstractList$AbstractListEntry field_230666_a_ # list public net.minecraft.client.particle.ParticleManager func_199283_a(Lnet/minecraft/particles/ParticleType;Lnet/minecraft/client/particle/IParticleFactory;)V # registerFactory public net.minecraft.client.particle.ParticleManager func_215234_a(Lnet/minecraft/particles/ParticleType;Lnet/minecraft/client/particle/ParticleManager$IParticleMetaFactory;)V # registerFactory public net.minecraft.client.particle.ParticleManager$IParticleMetaFactory -public net.minecraft.client.renderer.GameRenderer func_175069_a(Lnet/minecraft/util/ResourceLocation;)V #loadShader -private net.minecraft.client.renderer.ItemModelMesher field_199313_a #force public -> private -public net.minecraft.client.renderer.ItemRenderer func_229112_a_(Lcom/mojang/blaze3d/matrix/MatrixStack;Lcom/mojang/blaze3d/vertex/IVertexBuilder;Ljava/util/List;Lnet/minecraft/item/ItemStack;II)V # renderQuads -public net.minecraft.client.renderer.ItemRenderer func_229114_a_(Lnet/minecraft/client/renderer/model/IBakedModel;Lnet/minecraft/item/ItemStack;IILcom/mojang/blaze3d/matrix/MatrixStack;Lcom/mojang/blaze3d/vertex/IVertexBuilder;)V # renderModel +public net.minecraft.client.renderer.GameRenderer func_175069_a(Lnet/minecraft/util/ResourceLocation;)V # loadEffect +private net.minecraft.client.renderer.ItemModelMesher field_199313_a # shapes - force public -> private +public net.minecraft.client.renderer.ItemRenderer func_229112_a_(Lcom/mojang/blaze3d/matrix/MatrixStack;Lcom/mojang/blaze3d/vertex/IVertexBuilder;Ljava/util/List;Lnet/minecraft/item/ItemStack;II)V # renderQuadList +public net.minecraft.client.renderer.ItemRenderer func_229114_a_(Lnet/minecraft/client/renderer/model/IBakedModel;Lnet/minecraft/item/ItemStack;IILcom/mojang/blaze3d/matrix/MatrixStack;Lcom/mojang/blaze3d/vertex/IVertexBuilder;)V # renderModelLists protected-f net.minecraft.client.renderer.RenderState field_228507_Q_ # setupState protected-f net.minecraft.client.renderer.RenderState$TextureState field_228603_R_ # blur protected-f net.minecraft.client.renderer.RenderState$TextureState field_228604_S_ # mipmap -public net.minecraft.client.renderer.entity.EntityRendererManager field_78729_o #renderers -public net.minecraft.client.renderer.entity.EntityRendererManager func_229087_a_(Lnet/minecraft/entity/EntityType;Lnet/minecraft/client/renderer/entity/EntityRenderer;)V # addRenderer -protected net.minecraft.client.renderer.entity.ItemRenderer func_177078_a(Lnet/minecraft/item/ItemStack;)I # getMiniItemCount +public net.minecraft.client.renderer.entity.EntityRendererManager field_78729_o # renderers +public net.minecraft.client.renderer.entity.EntityRendererManager func_229087_a_(Lnet/minecraft/entity/EntityType;Lnet/minecraft/client/renderer/entity/EntityRenderer;)V # register +protected net.minecraft.client.renderer.entity.ItemRenderer func_177078_a(Lnet/minecraft/item/ItemStack;)I # getRenderAmount public net.minecraft.client.renderer.entity.LivingRenderer func_177094_a(Lnet/minecraft/client/renderer/entity/layers/LayerRenderer;)Z # addLayer -public net.minecraft.client.renderer.model.BlockFaceUV$Deserializer ()V +public net.minecraft.client.renderer.model.BlockFaceUV$Deserializer ()V # constructor public net.minecraft.client.renderer.model.BlockModel field_178315_d # parent -public net.minecraft.client.renderer.model.BlockModel field_178318_c # textures -public net.minecraft.client.renderer.model.BlockModel field_178322_i # ambientOcclusion -public net.minecraft.client.renderer.model.BlockPart func_178236_a(Lnet/minecraft/util/Direction;)[F # getFaceUvs -public net.minecraft.client.renderer.model.BlockPart$Deserializer ()V -public net.minecraft.client.renderer.model.BlockPartFace$Deserializer ()V -public net.minecraft.client.renderer.model.ItemCameraTransforms$Deserializer ()V -public net.minecraft.client.renderer.model.ItemOverride$Deserializer ()V -protected net.minecraft.client.renderer.model.ItemOverrideList ()V -public net.minecraft.client.renderer.model.ItemTransformVec3f$Deserializer ()V -public net.minecraft.client.renderer.model.ItemTransformVec3f$Deserializer field_178360_b # TRANSLATION_DEFAULT -public net.minecraft.client.renderer.model.ItemTransformVec3f$Deserializer field_178361_c # SCALE_DEFAULT -public net.minecraft.client.renderer.model.ItemTransformVec3f$Deserializer field_178362_a # ROTATION_DEFAULT +public net.minecraft.client.renderer.model.BlockModel field_178318_c # textureMap +public net.minecraft.client.renderer.model.BlockModel field_178322_i # hasAmbientOcclusion +public net.minecraft.client.renderer.model.BlockPart func_178236_a(Lnet/minecraft/util/Direction;)[F # uvsByFace +public net.minecraft.client.renderer.model.BlockPart$Deserializer ()V # constructor +public net.minecraft.client.renderer.model.BlockPartFace$Deserializer ()V # constructor +public net.minecraft.client.renderer.model.ItemCameraTransforms$Deserializer ()V # constructor +public net.minecraft.client.renderer.model.ItemOverride$Deserializer ()V # constructor +protected net.minecraft.client.renderer.model.ItemOverrideList ()V # constructor +public net.minecraft.client.renderer.model.ItemTransformVec3f$Deserializer ()V # constructor +public net.minecraft.client.renderer.model.ItemTransformVec3f$Deserializer field_178360_b # DEFAULT_TRANSLATION +public net.minecraft.client.renderer.model.ItemTransformVec3f$Deserializer field_178361_c # DEFAULT_SCALE +public net.minecraft.client.renderer.model.ItemTransformVec3f$Deserializer field_178362_a # DEFAULT_ROTATION protected net.minecraft.client.renderer.model.ModelBakery field_177598_f # resourceManager -protected net.minecraft.client.renderer.model.ModelBakery field_177602_b # LOCATIONS_BUILTIN_TEXTURES -private-f net.minecraft.client.renderer.model.ModelBakery field_217853_J # field_217853_J - need to un-finalize so that we can delay initialization to after calling super() in ModelLoader -protected net.minecraft.client.renderer.model.ModelBakery func_177594_c(Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/renderer/model/BlockModel; # loadModel +protected net.minecraft.client.renderer.model.ModelBakery field_177602_b # UNREFERENCED_TEXTURES +private-f net.minecraft.client.renderer.model.ModelBakery field_217853_J # atlasPreparations - need to un-finalize so that we can delay initialization to after calling super() in ModelLoader +protected net.minecraft.client.renderer.model.ModelBakery func_177594_c(Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/renderer/model/BlockModel; # loadBlockModel private-f net.minecraft.client.renderer.tileentity.PistonTileEntityRenderer field_178462_c # blockRenderer - it's static so we need to un-finalize in case this class loads to early. public net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher field_147557_n # fontRenderer - needed for rendering text in TESR items before entering world -default net.minecraft.client.settings.KeyBinding field_74513_e # pressed +default net.minecraft.client.settings.KeyBinding field_74513_e # isDown public net.minecraft.command.arguments.EntityOptions func_202024_a(Ljava/lang/String;Lnet/minecraft/command/arguments/EntityOptions$IFilter;Ljava/util/function/Predicate;Lnet/minecraft/util/text/ITextComponent;)V # register -public net.minecraft.command.arguments.EntitySelectorParser func_197396_n()V # updateFilter -public net.minecraft.command.arguments.EntitySelectorParser func_197404_d()V # parseArguments +public net.minecraft.command.arguments.EntitySelectorParser func_197396_n()V # finalizePredicates +public net.minecraft.command.arguments.EntitySelectorParser func_197404_d()V # parseOptions protected net.minecraft.data.RecipeProvider field_200413_c # generator protected net.minecraft.data.RecipeProvider func_200403_a(Lnet/minecraft/util/IItemProvider;)Lnet/minecraft/advancements/criterion/InventoryChangeTrigger$Instance; # hasItem -protected net.minecraft.data.RecipeProvider func_200404_a(Ljava/util/function/Consumer;)V # registerRecipes -protected net.minecraft.data.RecipeProvider func_200405_a([Lnet/minecraft/advancements/criterion/ItemPredicate;)Lnet/minecraft/advancements/criterion/InventoryChangeTrigger$Instance; # hasItem -protected net.minecraft.data.RecipeProvider func_200407_a(Lnet/minecraft/block/Block;)Lnet/minecraft/advancements/criterion/EnterBlockTrigger$Instance; # enteredBlock +protected net.minecraft.data.RecipeProvider func_200404_a(Ljava/util/function/Consumer;)V # buildShapelessRecipes +protected net.minecraft.data.RecipeProvider func_200405_a([Lnet/minecraft/advancements/criterion/ItemPredicate;)Lnet/minecraft/advancements/criterion/InventoryChangeTrigger$Instance; # inventoryTrigger +protected net.minecraft.data.RecipeProvider func_200407_a(Lnet/minecraft/block/Block;)Lnet/minecraft/advancements/criterion/EnterBlockTrigger$Instance; # insideOf protected net.minecraft.data.RecipeProvider func_200409_a(Lnet/minecraft/tags/ITag;)Lnet/minecraft/advancements/criterion/InventoryChangeTrigger$Instance; # hasItem -protected net.minecraft.data.RecipeProvider func_208310_b(Lnet/minecraft/data/DirectoryCache;Lcom/google/gson/JsonObject;Ljava/nio/file/Path;)V # saveRecipeAdvancement +protected net.minecraft.data.RecipeProvider func_208310_b(Lnet/minecraft/data/DirectoryCache;Lcom/google/gson/JsonObject;Ljava/nio/file/Path;)V # saveAdvancement public net.minecraft.data.ShapedRecipeBuilder$Result -protected net.minecraft.data.TagsProvider field_200434_b # tagToBuilder -protected net.minecraft.data.loot.BlockLootTables func_218463_a(Lnet/minecraft/util/IItemProvider;Lnet/minecraft/loot/IRandomRange;)Lnet/minecraft/loot/LootTable$Builder; # droppingRandomly -protected net.minecraft.data.loot.BlockLootTables func_218475_b(Lnet/minecraft/block/Block;Lnet/minecraft/item/Item;)Lnet/minecraft/loot/LootTable$Builder; # droppingByAge -protected net.minecraft.data.loot.BlockLootTables func_218476_a(Lnet/minecraft/block/Block;Lnet/minecraft/item/Item;)Lnet/minecraft/loot/LootTable$Builder; # droppingItemWithFortune -protected net.minecraft.data.loot.BlockLootTables func_218481_e(Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder; # droppingWithName -protected net.minecraft.data.loot.BlockLootTables func_218486_d(Lnet/minecraft/util/IItemProvider;)Lnet/minecraft/loot/LootTable$Builder; # onlyWithShears -protected net.minecraft.data.loot.BlockLootTables func_218491_c(Lnet/minecraft/block/Block;Lnet/minecraft/util/IItemProvider;)Lnet/minecraft/loot/LootTable$Builder; # droppingItemRarely -protected net.minecraft.data.loot.BlockLootTables func_218494_a(Lnet/minecraft/block/Block;Lnet/minecraft/loot/conditions/ILootCondition$IBuilder;Lnet/minecraft/loot/LootEntry$Builder;)Lnet/minecraft/loot/LootTable$Builder; # dropping -protected net.minecraft.data.loot.BlockLootTables func_218507_a(Lnet/minecraft/block/Block;Lnet/minecraft/loot/LootTable$Builder;)V # registerLootTable -protected net.minecraft.data.loot.BlockLootTables func_218511_b(Lnet/minecraft/block/Block;Lnet/minecraft/loot/LootEntry$Builder;)Lnet/minecraft/loot/LootTable$Builder; # droppingWithShears -protected net.minecraft.data.loot.BlockLootTables func_218513_d(Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder; # droppingSlab -protected net.minecraft.data.loot.BlockLootTables func_218515_b(Lnet/minecraft/block/Block;Lnet/minecraft/util/IItemProvider;)Lnet/minecraft/loot/LootTable$Builder; # droppingWithSilkTouch -protected net.minecraft.data.loot.BlockLootTables func_218519_a(Lnet/minecraft/block/Block;Lnet/minecraft/loot/LootEntry$Builder;)Lnet/minecraft/loot/LootTable$Builder; # droppingWithSilkTouch -protected net.minecraft.data.loot.BlockLootTables func_218522_a(Lnet/minecraft/block/Block;Ljava/util/function/Function;)V # registerLootTable -protected net.minecraft.data.loot.BlockLootTables func_218523_c(Lnet/minecraft/util/IItemProvider;)Lnet/minecraft/loot/LootTable$Builder; # droppingAndFlowerPot -protected net.minecraft.data.loot.BlockLootTables func_218526_b(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;[F)Lnet/minecraft/loot/LootTable$Builder; # droppingWithChancesSticksAndApples -protected net.minecraft.data.loot.BlockLootTables func_218530_a(Lnet/minecraft/block/Block;Lnet/minecraft/util/IItemProvider;Lnet/minecraft/loot/IRandomRange;)Lnet/minecraft/loot/LootTable$Builder; # droppingWithSilkTouchOrRandomly -protected net.minecraft.data.loot.BlockLootTables func_218535_c(Lnet/minecraft/block/Block;Lnet/minecraft/loot/LootEntry$Builder;)Lnet/minecraft/loot/LootTable$Builder; # droppingWithSilkTouchOrShears -protected net.minecraft.data.loot.BlockLootTables func_218540_a(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;[F)Lnet/minecraft/loot/LootTable$Builder; # droppingWithChancesAndSticks -protected net.minecraft.data.loot.BlockLootTables func_218541_a(Lnet/minecraft/block/Block;Lnet/minecraft/item/Item;Lnet/minecraft/item/Item;Lnet/minecraft/loot/conditions/ILootCondition$IBuilder;)Lnet/minecraft/loot/LootTable$Builder; # droppingAndBonusWhen -protected net.minecraft.data.loot.BlockLootTables func_218544_f(Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder; # droppingWithContents -protected net.minecraft.data.loot.BlockLootTables func_218546_a(Lnet/minecraft/util/IItemProvider;)Lnet/minecraft/loot/LootTable$Builder; # dropping -protected net.minecraft.data.loot.BlockLootTables func_218552_a(Lnet/minecraft/util/IItemProvider;Lnet/minecraft/loot/ILootFunctionConsumer;)Ljava/lang/Object; # withExplosionDecay -protected net.minecraft.data.loot.BlockLootTables func_218559_g(Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder; # droppingWithPatterns -protected net.minecraft.data.loot.BlockLootTables func_218560_a(Lnet/minecraft/util/IItemProvider;Lnet/minecraft/loot/ILootConditionConsumer;)Ljava/lang/Object; # withSurvivesExplosion -protected net.minecraft.data.loot.BlockLootTables func_218561_b(Lnet/minecraft/util/IItemProvider;)Lnet/minecraft/loot/LootTable$Builder; # onlyWithSilkTouch -protected net.minecraft.data.loot.BlockLootTables func_218562_a(Lnet/minecraft/block/Block;Lnet/minecraft/state/Property;Ljava/lang/Comparable;)Lnet/minecraft/loot/LootTable$Builder; # droppingWhen -protected net.minecraft.data.loot.BlockLootTables func_218570_h(Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder; # droppingSeeds -protected net.minecraft.data.loot.EntityLootTables field_218586_a # ON_FIRE -protected net.minecraft.data.loot.EntityLootTables func_218582_a(Lnet/minecraft/entity/EntityType;Lnet/minecraft/loot/LootTable$Builder;)V # registerLootTable -protected net.minecraft.data.loot.EntityLootTables func_218585_a(Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/loot/LootTable$Builder;)V # -public net.minecraft.entity.Entity func_70022_Q()Ljava/lang/String; # getEntityString +protected net.minecraft.data.TagsProvider field_200434_b # builders +protected net.minecraft.data.loot.BlockLootTables func_218463_a(Lnet/minecraft/util/IItemProvider;Lnet/minecraft/loot/IRandomRange;)Lnet/minecraft/loot/LootTable$Builder; # createSingleItemTable +protected net.minecraft.data.loot.BlockLootTables func_218475_b(Lnet/minecraft/block/Block;Lnet/minecraft/item/Item;)Lnet/minecraft/loot/LootTable$Builder; # createStemDrops +protected net.minecraft.data.loot.BlockLootTables func_218476_a(Lnet/minecraft/block/Block;Lnet/minecraft/item/Item;)Lnet/minecraft/loot/LootTable$Builder; # createOreDrop +protected net.minecraft.data.loot.BlockLootTables func_218481_e(Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder; # createNameableBlockEntityTable +protected net.minecraft.data.loot.BlockLootTables func_218486_d(Lnet/minecraft/util/IItemProvider;)Lnet/minecraft/loot/LootTable$Builder; # createShearsOnlyDrop +protected net.minecraft.data.loot.BlockLootTables func_218491_c(Lnet/minecraft/block/Block;Lnet/minecraft/util/IItemProvider;)Lnet/minecraft/loot/LootTable$Builder; # createMushroomBlockDrop +protected net.minecraft.data.loot.BlockLootTables func_218494_a(Lnet/minecraft/block/Block;Lnet/minecraft/loot/conditions/ILootCondition$IBuilder;Lnet/minecraft/loot/LootEntry$Builder;)Lnet/minecraft/loot/LootTable$Builder; # createSelfDropDispatchTable +protected net.minecraft.data.loot.BlockLootTables func_218507_a(Lnet/minecraft/block/Block;Lnet/minecraft/loot/LootTable$Builder;)V # add +protected net.minecraft.data.loot.BlockLootTables func_218511_b(Lnet/minecraft/block/Block;Lnet/minecraft/loot/LootEntry$Builder;)Lnet/minecraft/loot/LootTable$Builder; # createShearsDispatchTable +protected net.minecraft.data.loot.BlockLootTables func_218513_d(Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder; # createSlabItemTable +protected net.minecraft.data.loot.BlockLootTables func_218515_b(Lnet/minecraft/block/Block;Lnet/minecraft/util/IItemProvider;)Lnet/minecraft/loot/LootTable$Builder; # createSingleItemTableWithSilkTouch +protected net.minecraft.data.loot.BlockLootTables func_218519_a(Lnet/minecraft/block/Block;Lnet/minecraft/loot/LootEntry$Builder;)Lnet/minecraft/loot/LootTable$Builder; # createSilkTouchDispatchTable +protected net.minecraft.data.loot.BlockLootTables func_218522_a(Lnet/minecraft/block/Block;Ljava/util/function/Function;)V # add +protected net.minecraft.data.loot.BlockLootTables func_218523_c(Lnet/minecraft/util/IItemProvider;)Lnet/minecraft/loot/LootTable$Builder; # createPotFlowerItemTable +protected net.minecraft.data.loot.BlockLootTables func_218526_b(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;[F)Lnet/minecraft/loot/LootTable$Builder; # createOakLeavesDrops +protected net.minecraft.data.loot.BlockLootTables func_218530_a(Lnet/minecraft/block/Block;Lnet/minecraft/util/IItemProvider;Lnet/minecraft/loot/IRandomRange;)Lnet/minecraft/loot/LootTable$Builder; # createSingleItemTableWithSilkTouch +protected net.minecraft.data.loot.BlockLootTables func_218535_c(Lnet/minecraft/block/Block;Lnet/minecraft/loot/LootEntry$Builder;)Lnet/minecraft/loot/LootTable$Builder; # createSilkTouchOrShearsDispatchTable +protected net.minecraft.data.loot.BlockLootTables func_218540_a(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;[F)Lnet/minecraft/loot/LootTable$Builder; # createLeavesDrops +protected net.minecraft.data.loot.BlockLootTables func_218541_a(Lnet/minecraft/block/Block;Lnet/minecraft/item/Item;Lnet/minecraft/item/Item;Lnet/minecraft/loot/conditions/ILootCondition$IBuilder;)Lnet/minecraft/loot/LootTable$Builder; # createCropDrops +protected net.minecraft.data.loot.BlockLootTables func_218544_f(Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder; # createShulkerBoxDrop +protected net.minecraft.data.loot.BlockLootTables func_218546_a(Lnet/minecraft/util/IItemProvider;)Lnet/minecraft/loot/LootTable$Builder; # createSingleItemTable +protected net.minecraft.data.loot.BlockLootTables func_218552_a(Lnet/minecraft/util/IItemProvider;Lnet/minecraft/loot/ILootFunctionConsumer;)Ljava/lang/Object; # applyExplosionDecay +protected net.minecraft.data.loot.BlockLootTables func_218559_g(Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder; # createBannerDrop +protected net.minecraft.data.loot.BlockLootTables func_218560_a(Lnet/minecraft/util/IItemProvider;Lnet/minecraft/loot/ILootConditionConsumer;)Ljava/lang/Object; # applyExplosionCondition +protected net.minecraft.data.loot.BlockLootTables func_218561_b(Lnet/minecraft/util/IItemProvider;)Lnet/minecraft/loot/LootTable$Builder; # createSilkTouchOnlyTable +protected net.minecraft.data.loot.BlockLootTables func_218562_a(Lnet/minecraft/block/Block;Lnet/minecraft/state/Property;Ljava/lang/Comparable;)Lnet/minecraft/loot/LootTable$Builder; # createSinglePropConditionTable +protected net.minecraft.data.loot.BlockLootTables func_218570_h(Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder; # createGrassDrops +protected net.minecraft.data.loot.EntityLootTables field_218586_a # ENTITY_ON_FIRE +protected net.minecraft.data.loot.EntityLootTables func_218582_a(Lnet/minecraft/entity/EntityType;Lnet/minecraft/loot/LootTable$Builder;)V # add +protected net.minecraft.data.loot.EntityLootTables func_218585_a(Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/loot/LootTable$Builder;)V # add +public net.minecraft.entity.Entity func_70022_Q()Ljava/lang/String; # getEncodeId public net.minecraft.entity.EntitySpawnPlacementRegistry func_209343_a(Lnet/minecraft/entity/EntityType;Lnet/minecraft/entity/EntitySpawnPlacementRegistry$PlacementType;Lnet/minecraft/world/gen/Heightmap$Type;Lnet/minecraft/entity/EntitySpawnPlacementRegistry$IPlacementPredicate;)V # register -public net.minecraft.entity.MobEntity field_70714_bg #tasks -public net.minecraft.entity.MobEntity field_70715_bh #targetTasks -public net.minecraft.entity.ai.brain.memory.MemoryModuleType (Ljava/util/Optional;)V -public net.minecraft.entity.ai.brain.schedule.Activity (Ljava/lang/String;)V -public net.minecraft.entity.ai.brain.sensor.SensorType (Ljava/util/function/Supplier;)V -public net.minecraft.entity.item.ExperienceOrbEntity field_70530_e # xpValue +public net.minecraft.entity.MobEntity field_70714_bg # goalSelector +public net.minecraft.entity.MobEntity field_70715_bh # targetSelector +public net.minecraft.entity.ai.brain.memory.MemoryModuleType (Ljava/util/Optional;)V # constructor +public net.minecraft.entity.ai.brain.schedule.Activity (Ljava/lang/String;)V # constructor +public net.minecraft.entity.ai.brain.sensor.SensorType (Ljava/util/function/Supplier;)V # constructor +public net.minecraft.entity.item.ExperienceOrbEntity field_70530_e # value protected net.minecraft.entity.item.TNTEntity func_70515_d()V # explode - make it easier to extend TNTEntity with custom explosion logic -public net.minecraft.entity.merchant.villager.VillagerProfession (Ljava/lang/String;Lnet/minecraft/village/PointOfInterestType;Lcom/google/common/collect/ImmutableSet;Lcom/google/common/collect/ImmutableSet;Lnet/minecraft/util/SoundEvent;)V +public net.minecraft.entity.merchant.villager.VillagerProfession (Ljava/lang/String;Lnet/minecraft/village/PointOfInterestType;Lcom/google/common/collect/ImmutableSet;Lcom/google/common/collect/ImmutableSet;Lnet/minecraft/util/SoundEvent;)V # constructor protected net.minecraft.entity.monster.AbstractSkeletonEntity func_190727_o()Lnet/minecraft/util/SoundEvent; # getStepSound - make AbstractSkeletonEntity implementable protected net.minecraft.entity.monster.SkeletonEntity func_190727_o()Lnet/minecraft/util/SoundEvent; # getStepSound - make AbstractSkeletonEntity implementable protected net.minecraft.entity.monster.StrayEntity func_190727_o()Lnet/minecraft/util/SoundEvent; # getStepSound - make AbstractSkeletonEntity implementable protected net.minecraft.entity.monster.WitherSkeletonEntity func_190727_o()Lnet/minecraft/util/SoundEvent; # getStepSound - make AbstractSkeletonEntity implementable -public net.minecraft.entity.player.PlayerEntity func_71053_j()V #closeScreen -public net.minecraft.entity.player.ServerPlayerEntity field_71139_cq -public net.minecraft.entity.player.ServerPlayerEntity func_71117_bO()V -public net.minecraft.inventory.container.ContainerType (Lnet/minecraft/inventory/container/ContainerType$IFactory;)V +public net.minecraft.entity.player.PlayerEntity func_71053_j()V # closeContainer +public net.minecraft.entity.player.ServerPlayerEntity field_71139_cq # containerCounter +public net.minecraft.entity.player.ServerPlayerEntity func_71117_bO()V # nextContainerCounter +public net.minecraft.inventory.container.ContainerType (Lnet/minecraft/inventory/container/ContainerType$IFactory;)V # constructor public net.minecraft.inventory.container.ContainerType$IFactory -public net.minecraft.inventory.container.RepairContainer field_82856_l #RepairContainer/stackSizeToBeUsedInRepair -public net.minecraft.item.BlockItemUseContext (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/item/ItemStack;Lnet/minecraft/util/math/BlockRayTraceResult;)V +public net.minecraft.inventory.container.RepairContainer field_82856_l # repairItemCountCost +public net.minecraft.item.BlockItemUseContext (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/item/ItemStack;Lnet/minecraft/util/math/BlockRayTraceResult;)V # constructor #group public net.minecraft.item.Item -public net.minecraft.item.AxeItem (Lnet/minecraft/item/IItemTier;FFLnet/minecraft/item/Item$Properties;)V -public net.minecraft.item.HoeItem (Lnet/minecraft/item/IItemTier;IFLnet/minecraft/item/Item$Properties;)V -public net.minecraft.item.MusicDiscItem (ILnet/minecraft/util/SoundEvent;Lnet/minecraft/item/Item$Properties;)V -public net.minecraft.item.PickaxeItem (Lnet/minecraft/item/IItemTier;IFLnet/minecraft/item/Item$Properties;)V -public net.minecraft.item.ToolItem (FFLnet/minecraft/item/IItemTier;Ljava/util/Set;Lnet/minecraft/item/Item$Properties;)V +public net.minecraft.item.AxeItem (Lnet/minecraft/item/IItemTier;FFLnet/minecraft/item/Item$Properties;)V # constructor +public net.minecraft.item.HoeItem (Lnet/minecraft/item/IItemTier;IFLnet/minecraft/item/Item$Properties;)V # constructor +public net.minecraft.item.MusicDiscItem (ILnet/minecraft/util/SoundEvent;Lnet/minecraft/item/Item$Properties;)V # constructor +public net.minecraft.item.PickaxeItem (Lnet/minecraft/item/IItemTier;IFLnet/minecraft/item/Item$Properties;)V # constructor +public net.minecraft.item.ToolItem (FFLnet/minecraft/item/IItemTier;Ljava/util/Set;Lnet/minecraft/item/Item$Properties;)V # constructor #endgroup -public-f net.minecraft.item.ItemGroup field_78032_a # group array -public net.minecraft.item.ItemModelsProperties func_239418_a_(Lnet/minecraft/item/Item;Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/item/IItemPropertyGetter;)V -public net.minecraft.item.ItemUseContext (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/item/ItemStack;Lnet/minecraft/util/math/BlockRayTraceResult;)V +public-f net.minecraft.item.ItemGroup field_78032_a # TABS - group array +public net.minecraft.item.ItemModelsProperties func_239418_a_(Lnet/minecraft/item/Item;Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/item/IItemPropertyGetter;)V # register +public net.minecraft.item.ItemUseContext (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/item/ItemStack;Lnet/minecraft/util/math/BlockRayTraceResult;)V # constructor public-f net.minecraft.item.crafting.Ingredient -protected net.minecraft.item.crafting.Ingredient (Ljava/util/stream/Stream;)V -public+f net.minecraft.item.crafting.Ingredient func_199564_a(Lnet/minecraft/network/PacketBuffer;)V -public net.minecraft.item.crafting.Ingredient func_199803_a(Lcom/google/gson/JsonObject;)Lnet/minecraft/item/crafting/Ingredient$IItemList; # deserializeItemList -public net.minecraft.item.crafting.Ingredient func_209357_a(Ljava/util/stream/Stream;)Lnet/minecraft/item/crafting/Ingredient; +protected net.minecraft.item.crafting.Ingredient (Ljava/util/stream/Stream;)V # constructor +public+f net.minecraft.item.crafting.Ingredient func_199564_a(Lnet/minecraft/network/PacketBuffer;)V # toNetwork +public net.minecraft.item.crafting.Ingredient func_199803_a(Lcom/google/gson/JsonObject;)Lnet/minecraft/item/crafting/Ingredient$IItemList; # valueFromJson +public net.minecraft.item.crafting.Ingredient func_209357_a(Ljava/util/stream/Stream;)Lnet/minecraft/item/crafting/Ingredient; # fromValues public net.minecraft.item.crafting.Ingredient$IItemList public net.minecraft.item.crafting.Ingredient$SingleItemList -public net.minecraft.item.crafting.Ingredient$SingleItemList (Lnet/minecraft/item/ItemStack;)V +public net.minecraft.item.crafting.Ingredient$SingleItemList (Lnet/minecraft/item/ItemStack;)V # constructor public net.minecraft.item.crafting.Ingredient$TagList -public net.minecraft.item.crafting.Ingredient$TagList (Lnet/minecraft/tags/ITag;)V +public net.minecraft.item.crafting.Ingredient$TagList (Lnet/minecraft/tags/ITag;)V # constructor private-f net.minecraft.loot.LootPool field_186455_c # rolls private-f net.minecraft.loot.LootPool field_186456_d # bonusRolls public net.minecraft.network.status.server.SServerInfoPacket field_149297_a # GSON -public net.minecraft.particles.BasicParticleType (Z)V -public net.minecraft.particles.ParticleType (ZLnet/minecraft/particles/IParticleData$IDeserializer;)V -public net.minecraft.resources.FallbackResourceManager field_199023_a # resourcePacks +public net.minecraft.particles.BasicParticleType (Z)V # constructor +public net.minecraft.particles.ParticleType (ZLnet/minecraft/particles/IParticleData$IDeserializer;)V # constructor +public net.minecraft.resources.FallbackResourceManager field_199023_a # fallbacks public net.minecraft.resources.ResourcePack field_195771_a # file -protected net.minecraft.server.MinecraftServer field_211151_aa # serverTime -public net.minecraft.server.dedicated.DedicatedServer field_71341_l # pendingCommandList -public net.minecraft.tags.BlockTags func_199894_a(Ljava/lang/String;)Lnet/minecraft/tags/ITag$INamedTag; # makeWrapperTag -public net.minecraft.tags.EntityTypeTags func_232896_a_(Ljava/lang/String;)Lnet/minecraft/tags/ITag$INamedTag; # makeWrapperTag -public net.minecraft.tags.FluidTags func_206956_a(Ljava/lang/String;)Lnet/minecraft/tags/ITag$INamedTag; # makeWrapperTag -public net.minecraft.tags.ItemTags func_199901_a(Ljava/lang/String;)Lnet/minecraft/tags/ITag$INamedTag; # makeWrapperTag +protected net.minecraft.server.MinecraftServer field_211151_aa # nextTickTime +public net.minecraft.server.dedicated.DedicatedServer field_71341_l # consoleInput +public net.minecraft.tags.BlockTags func_199894_a(Ljava/lang/String;)Lnet/minecraft/tags/ITag$INamedTag; # bind +public net.minecraft.tags.EntityTypeTags func_232896_a_(Ljava/lang/String;)Lnet/minecraft/tags/ITag$INamedTag; # bind +public net.minecraft.tags.FluidTags func_206956_a(Ljava/lang/String;)Lnet/minecraft/tags/ITag$INamedTag; # bind +public net.minecraft.tags.ItemTags func_199901_a(Ljava/lang/String;)Lnet/minecraft/tags/ITag$INamedTag; # bind protected-f net.minecraft.tags.NetworkTagManager field_199719_a # blocks protected-f net.minecraft.tags.NetworkTagManager field_199720_b # items protected-f net.minecraft.tags.NetworkTagManager field_205705_c # fluids protected-f net.minecraft.tags.NetworkTagManager field_215299_d # entityTypes protected net.minecraft.tags.TagRegistry$NamedTag field_232942_b_ # tagReference -public net.minecraft.tileentity.HopperTileEntity func_145896_c(I)V # setTransferCooldown -public net.minecraft.tileentity.HopperTileEntity func_174914_o()Z # mayTransfer +public net.minecraft.tileentity.HopperTileEntity func_145896_c(I)V # setCooldown +public net.minecraft.tileentity.HopperTileEntity func_174914_o()Z # isOnCustomCooldown #group public net.minecraft.util.DamageSource *() #All methods public, most are already -public net.minecraft.util.DamageSource (Ljava/lang/String;)V -public net.minecraft.util.DamageSource func_151518_m()Lnet/minecraft/util/DamageSource; -public net.minecraft.util.DamageSource func_76348_h()Lnet/minecraft/util/DamageSource; -public net.minecraft.util.DamageSource func_76359_i()Lnet/minecraft/util/DamageSource; -public net.minecraft.util.DamageSource func_76361_j()Lnet/minecraft/util/DamageSource; +public net.minecraft.util.DamageSource (Ljava/lang/String;)V # constructor +public net.minecraft.util.DamageSource func_151518_m()Lnet/minecraft/util/DamageSource; # bypassMagic +public net.minecraft.util.DamageSource func_76348_h()Lnet/minecraft/util/DamageSource; # bypassArmor +public net.minecraft.util.DamageSource func_76359_i()Lnet/minecraft/util/DamageSource; # bypassInvul +public net.minecraft.util.DamageSource func_76361_j()Lnet/minecraft/util/DamageSource; # setIsFire #endgroup -protected net.minecraft.util.ObjectIntIdentityMap field_148748_b # internal index list -protected net.minecraft.util.ObjectIntIdentityMap field_148749_a # internal map +protected net.minecraft.util.ObjectIntIdentityMap field_148748_b # idToT - internal index list +protected net.minecraft.util.ObjectIntIdentityMap field_148749_a # tToId - internal map protected net.minecraft.util.ObjectIntIdentityMap field_195868_a # nextId -public net.minecraft.util.WeightedRandom$Item field_76292_a #probability -public net.minecraft.util.concurrent.ThreadTaskExecutor func_213165_a(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture; # func_213165_a -public net.minecraft.village.PointOfInterestType (Ljava/lang/String;Ljava/util/Set;II)V -public net.minecraft.village.PointOfInterestType (Ljava/lang/String;Ljava/util/Set;ILjava/util/function/Predicate;I)V -public net.minecraft.village.PointOfInterestType func_221042_a(Lnet/minecraft/block/Block;)Ljava/util/Set; # getAllStates +public net.minecraft.util.WeightedRandom$Item field_76292_a # weight +public net.minecraft.util.concurrent.ThreadTaskExecutor func_213165_a(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture; # submitAsync +public net.minecraft.village.PointOfInterestType (Ljava/lang/String;Ljava/util/Set;II)V # constructor +public net.minecraft.village.PointOfInterestType (Ljava/lang/String;Ljava/util/Set;ILjava/util/function/Predicate;I)V # constructor +public net.minecraft.village.PointOfInterestType func_221042_a(Lnet/minecraft/block/Block;)Ljava/util/Set; # getBlockStates public net.minecraft.world.GameRules func_234903_a_(Ljava/lang/String;Lnet/minecraft/world/GameRules$Category;Lnet/minecraft/world/GameRules$RuleType;)Lnet/minecraft/world/GameRules$RuleKey; # register -protected net.minecraft.world.Teleporter field_85192_a # world -public net.minecraft.world.World field_73003_n #prevRainingStrength -public net.minecraft.world.World field_73004_o #rainingStrength -public net.minecraft.world.World field_73017_q #thunderingStrength -public net.minecraft.world.World field_73018_p #prevThunderingStrength +protected net.minecraft.world.Teleporter field_85192_a # level +public net.minecraft.world.World field_73003_n # oRainLevel +public net.minecraft.world.World field_73004_o # rainLevel +public net.minecraft.world.World field_73017_q # thunderLevel +public net.minecraft.world.World field_73018_p # oThunderLevel public net.minecraft.world.biome.Biome$Climate -public net.minecraft.world.biome.Biome$Climate (Lnet/minecraft/world/biome/Biome$RainType;FLnet/minecraft/world/biome/Biome$TemperatureModifier;F)V +public net.minecraft.world.biome.Biome$Climate (Lnet/minecraft/world/biome/Biome$RainType;FLnet/minecraft/world/biome/Biome$TemperatureModifier;F)V # constructor public net.minecraft.world.biome.Biome$Climate field_242460_b # precipitation public net.minecraft.world.biome.Biome$Climate field_242461_c # temperature public net.minecraft.world.biome.Biome$Climate field_242462_d # temperatureModifier public net.minecraft.world.biome.Biome$Climate field_242463_e # downfall -protected net.minecraft.world.biome.BiomeGenerationSettings$Builder field_242504_a -protected net.minecraft.world.biome.BiomeGenerationSettings$Builder field_242505_b -protected net.minecraft.world.biome.BiomeGenerationSettings$Builder field_242506_c -protected net.minecraft.world.biome.BiomeGenerationSettings$Builder field_242507_d -protected net.minecraft.world.biome.BiomeGenerationSettings$Builder func_242509_a(I)V # populateStageEntries -protected net.minecraft.world.biome.MobSpawnInfo$Builder field_242567_a -protected net.minecraft.world.biome.MobSpawnInfo$Builder field_242568_b -protected net.minecraft.world.biome.MobSpawnInfo$Builder field_242569_c -protected net.minecraft.world.biome.MobSpawnInfo$Builder field_242570_d -public net.minecraft.world.chunk.ChunkStatus (Ljava/lang/String;Lnet/minecraft/world/chunk/ChunkStatus;ILjava/util/EnumSet;Lnet/minecraft/world/chunk/ChunkStatus$Type;Lnet/minecraft/world/chunk/ChunkStatus$IGenerationWorker;Lnet/minecraft/world/chunk/ChunkStatus$ILoadingWorker;)V -private-f net.minecraft.world.gen.DebugChunkGenerator field_177462_b #GRID_WIDTH -private-f net.minecraft.world.gen.DebugChunkGenerator field_177464_a #ALL_VALID_STATES -private-f net.minecraft.world.gen.DebugChunkGenerator field_181039_c #GRID_HEIGHT +protected net.minecraft.world.biome.BiomeGenerationSettings$Builder field_242504_a # surfaceBuilder +protected net.minecraft.world.biome.BiomeGenerationSettings$Builder field_242505_b # carvers +protected net.minecraft.world.biome.BiomeGenerationSettings$Builder field_242506_c # features +protected net.minecraft.world.biome.BiomeGenerationSettings$Builder field_242507_d # structureStarts +protected net.minecraft.world.biome.BiomeGenerationSettings$Builder func_242509_a(I)V # addFeatureStepsUpTo +protected net.minecraft.world.biome.MobSpawnInfo$Builder field_242567_a # spawners +protected net.minecraft.world.biome.MobSpawnInfo$Builder field_242568_b # mobSpawnCosts +protected net.minecraft.world.biome.MobSpawnInfo$Builder field_242569_c # creatureGenerationProbability +protected net.minecraft.world.biome.MobSpawnInfo$Builder field_242570_d # playerCanSpawn +public net.minecraft.world.chunk.ChunkStatus (Ljava/lang/String;Lnet/minecraft/world/chunk/ChunkStatus;ILjava/util/EnumSet;Lnet/minecraft/world/chunk/ChunkStatus$Type;Lnet/minecraft/world/chunk/ChunkStatus$IGenerationWorker;Lnet/minecraft/world/chunk/ChunkStatus$ILoadingWorker;)V # constructor +private-f net.minecraft.world.gen.DebugChunkGenerator field_177462_b # GRID_WIDTH +private-f net.minecraft.world.gen.DebugChunkGenerator field_177464_a # ALL_BLOCKS +private-f net.minecraft.world.gen.DebugChunkGenerator field_181039_c # GRID_HEIGHT public net.minecraft.world.gen.DimensionSettings (Lnet/minecraft/world/gen/settings/DimensionStructuresSettings;Lnet/minecraft/world/gen/settings/NoiseSettings;Lnet/minecraft/block/BlockState;Lnet/minecraft/block/BlockState;IIIZ)V # constructor -public net.minecraft.world.gen.DimensionSettings func_236120_h_()Z # isMobGenerationDisabled +public net.minecraft.world.gen.DimensionSettings func_236120_h_()Z # disableMobGeneration public net.minecraft.world.gen.blockplacer.BlockPlacerType (Lcom/mojang/serialization/Codec;)V # constructor public net.minecraft.world.gen.blockstateprovider.BlockStateProviderType (Lcom/mojang/serialization/Codec;)V # constructor public net.minecraft.world.gen.foliageplacer.FoliagePlacerType (Lcom/mojang/serialization/Codec;)V # constructor -public net.minecraft.world.gen.layer.LayerUtil func_202829_a(JLnet/minecraft/world/gen/layer/traits/IAreaTransformer1;Lnet/minecraft/world/gen/area/IAreaFactory;ILjava/util/function/LongFunction;)Lnet/minecraft/world/gen/area/IAreaFactory; # repeat +public net.minecraft.world.gen.layer.LayerUtil func_202829_a(JLnet/minecraft/world/gen/layer/traits/IAreaTransformer1;Lnet/minecraft/world/gen/area/IAreaFactory;ILjava/util/function/LongFunction;)Lnet/minecraft/world/gen/area/IAreaFactory; # zoom public net.minecraft.world.gen.treedecorator.TreeDecoratorType (Lcom/mojang/serialization/Codec;)V # constructor private-f net.minecraft.world.raid.Raid$WaveMember field_221284_f # VALUES -public net.minecraft.world.server.ServerChunkProvider field_186029_c # chunkGenerator -public net.minecraft.world.server.ServerChunkProvider field_73251_h # worldObj +public net.minecraft.world.server.ServerChunkProvider field_186029_c # generator +public net.minecraft.world.server.ServerChunkProvider field_73251_h # level public net.minecraft.world.storage.FolderName (Ljava/lang/String;)V # constructor \ No newline at end of file diff --git a/src/test/java/net/minecraftforge/debug/block/CustomSignsTest.java b/src/test/java/net/minecraftforge/debug/block/CustomSignsTest.java index dfed33fca4..17ec9bace5 100644 --- a/src/test/java/net/minecraftforge/debug/block/CustomSignsTest.java +++ b/src/test/java/net/minecraftforge/debug/block/CustomSignsTest.java @@ -1,3 +1,22 @@ +/* + * Minecraft Forge + * Copyright (c) 2016-2021. + * + * 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.debug.block; import net.minecraft.block.*; diff --git a/src/test/java/net/minecraftforge/debug/client/rendering/LinearTextTextureFilteringTest.java b/src/test/java/net/minecraftforge/debug/client/rendering/LinearTextTextureFilteringTest.java index d77a54213b..fe41b3d5fd 100644 --- a/src/test/java/net/minecraftforge/debug/client/rendering/LinearTextTextureFilteringTest.java +++ b/src/test/java/net/minecraftforge/debug/client/rendering/LinearTextTextureFilteringTest.java @@ -1,6 +1,6 @@ /* * Minecraft Forge - * Copyright (c) 2016-2020. + * Copyright (c) 2016-2021. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/src/test/java/net/minecraftforge/debug/entity/EntityTeleportEventTest.java b/src/test/java/net/minecraftforge/debug/entity/EntityTeleportEventTest.java index e533d6da12..d713416d0f 100644 --- a/src/test/java/net/minecraftforge/debug/entity/EntityTeleportEventTest.java +++ b/src/test/java/net/minecraftforge/debug/entity/EntityTeleportEventTest.java @@ -1,3 +1,22 @@ +/* + * Minecraft Forge + * Copyright (c) 2016-2021. + * + * 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.debug.entity; import net.minecraftforge.common.MinecraftForge; diff --git a/src/test/java/net/minecraftforge/debug/entity/FishingBobberEventTest.java b/src/test/java/net/minecraftforge/debug/entity/FishingBobberEventTest.java index 411d91fada..c3525ef763 100644 --- a/src/test/java/net/minecraftforge/debug/entity/FishingBobberEventTest.java +++ b/src/test/java/net/minecraftforge/debug/entity/FishingBobberEventTest.java @@ -1,3 +1,22 @@ +/* + * Minecraft Forge + * Copyright (c) 2016-2021. + * + * 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.debug.entity; import net.minecraft.entity.Entity; diff --git a/src/test/java/net/minecraftforge/debug/entity/player/PlayerAttackKnockbackTest.java b/src/test/java/net/minecraftforge/debug/entity/player/PlayerAttackKnockbackTest.java index 6d19408ce9..85f6f41331 100644 --- a/src/test/java/net/minecraftforge/debug/entity/player/PlayerAttackKnockbackTest.java +++ b/src/test/java/net/minecraftforge/debug/entity/player/PlayerAttackKnockbackTest.java @@ -1,3 +1,22 @@ +/* + * Minecraft Forge + * Copyright (c) 2016-2021. + * + * 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.debug.entity.player; import com.google.common.collect.ArrayListMultimap; diff --git a/src/test/java/net/minecraftforge/debug/world/DimensionSettingsTest.java b/src/test/java/net/minecraftforge/debug/world/DimensionSettingsTest.java index 07751538b0..62836530a1 100644 --- a/src/test/java/net/minecraftforge/debug/world/DimensionSettingsTest.java +++ b/src/test/java/net/minecraftforge/debug/world/DimensionSettingsTest.java @@ -1,3 +1,22 @@ +/* + * Minecraft Forge + * Copyright (c) 2016-2021. + * + * 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.debug.world; import net.minecraft.util.ResourceLocation;