Re-write checkATs function and automate making Items/Blocks public.
This commit is contained in:
parent
99e7fad655
commit
ab29145328
249
build.gradle
249
build.gradle
|
@ -43,6 +43,7 @@ import org.apache.tools.ant.filters.ReplaceTokens
|
||||||
import de.undercouch.gradle.tasks.download.Download
|
import de.undercouch.gradle.tasks.download.Download
|
||||||
import org.gradle.plugins.ide.eclipse.model.SourceFolder
|
import org.gradle.plugins.ide.eclipse.model.SourceFolder
|
||||||
import org.objectweb.asm.ClassReader
|
import org.objectweb.asm.ClassReader
|
||||||
|
import org.objectweb.asm.Opcodes
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id 'net.minecrell.licenser' version '0.4'
|
id 'net.minecrell.licenser' version '0.4'
|
||||||
|
@ -52,7 +53,7 @@ plugins {
|
||||||
}
|
}
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version'))
|
println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
|
||||||
|
|
||||||
ext {
|
ext {
|
||||||
JAR_SIGNER = null
|
JAR_SIGNER = null
|
||||||
|
@ -217,6 +218,7 @@ project(':forge') {
|
||||||
SPECIAL_SOURCE = 'net.md-5:SpecialSource:1.8.5'
|
SPECIAL_SOURCE = 'net.md-5:SpecialSource:1.8.5'
|
||||||
VERSION_JSON = project(':mcp').file('build/mcp/downloadJson/version.json')
|
VERSION_JSON = project(':mcp').file('build/mcp/downloadJson/version.json')
|
||||||
BINPATCH_TOOL = 'net.minecraftforge:binarypatcher:1.0.12:fatjar'
|
BINPATCH_TOOL = 'net.minecraftforge:binarypatcher:1.0.12:fatjar'
|
||||||
|
INSTALLER_TOOLS = 'net.minecraftforge:installertools:1.1.11'
|
||||||
}
|
}
|
||||||
|
|
||||||
def getVersion = {
|
def getVersion = {
|
||||||
|
@ -621,6 +623,7 @@ project(':forge') {
|
||||||
}
|
}
|
||||||
|
|
||||||
task extractInheritance(type: ExtractInheritance, dependsOn: [genJoinedBinPatches, downloadLibraries]) {
|
task extractInheritance(type: ExtractInheritance, dependsOn: [genJoinedBinPatches, downloadLibraries]) {
|
||||||
|
tool = INSTALLER_TOOLS + ':fatjar'
|
||||||
input { genJoinedBinPatches.cleanJar }
|
input { genJoinedBinPatches.cleanJar }
|
||||||
doFirst {
|
doFirst {
|
||||||
def json = new JsonSlurper().parseText(VERSION_JSON.text)
|
def json = new JsonSlurper().parseText(VERSION_JSON.text)
|
||||||
|
@ -634,51 +637,220 @@ project(':forge') {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
task checkATs(dependsOn: genJoinedBinPatches) {
|
task checkATs(dependsOn: extractInheritance) {
|
||||||
inputs.file { genJoinedBinPatches.cleanJar }
|
inputs.file { extractInheritance.output }
|
||||||
inputs.files patcher.accessTransformers
|
inputs.files patcher.accessTransformers
|
||||||
doLast {
|
doLast {
|
||||||
def vanilla = [:]
|
def parse = { line ->
|
||||||
def zip = new java.util.zip.ZipFile(genJoinedBinPatches.cleanJar)
|
def idx = line.indexOf('#')
|
||||||
zip.entries().findAll { !it.directory && it.name.endsWith('.class') }.each { entry ->
|
def comment = idx == -1 ? null : line.substring(idx)
|
||||||
new ClassReader(zip.getInputStream(entry)).accept(new org.objectweb.asm.ClassVisitor(org.objectweb.asm.Opcodes.ASM7) {
|
if (idx != -1) line = line.substring(0, idx - 1)
|
||||||
String name
|
def (modifier, cls, desc) = (line.trim() + ' ').split(' ', -1)
|
||||||
void visit(int version, int access, String name, String sig, String superName, String[] interfaces) {
|
def key = cls + (desc.isEmpty() ? '' : ' ' + desc)
|
||||||
this.name = name
|
return [modifier, cls, desc, comment, key]
|
||||||
vanilla[name] = access
|
|
||||||
}
|
|
||||||
org.objectweb.asm.FieldVisitor visitField(int access, String name, String desc, String sig, Object value) {
|
|
||||||
vanilla[this.name + ' ' + name] = access
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
org.objectweb.asm.MethodVisitor visitMethod(int access, String name, String desc, String sig, String[] excs) {
|
|
||||||
vanilla[this.name + ' ' + name + desc] = access
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
}, ClassReader.SKIP_CODE | ClassReader.SKIP_DEBUG | ClassReader.SKIP_FRAMES)
|
|
||||||
}
|
}
|
||||||
|
def accessLevel = { access ->
|
||||||
|
if ((access & Opcodes.ACC_PUBLIC) != 0) return 3
|
||||||
|
if ((access & Opcodes.ACC_PROTECTED) != 0) return 2
|
||||||
|
if ((access & Opcodes.ACC_PRIVATE) != 0) return 0
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
def accessStr = { access ->
|
||||||
|
if (access.endsWith('-f') || access.endsWith('+f'))
|
||||||
|
return 4
|
||||||
|
switch (access.toLowerCase()) {
|
||||||
|
case 'public': return 3
|
||||||
|
case 'protected': return 2
|
||||||
|
case 'default': return 1
|
||||||
|
case 'private': return 0
|
||||||
|
default: return -1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
def json = new JsonSlurper().parseText(extractInheritance.output.text)
|
||||||
|
|
||||||
patcher.accessTransformers.each { f ->
|
patcher.accessTransformers.each { f ->
|
||||||
TreeMap lines = [:]
|
TreeMap lines = [:]
|
||||||
f.eachLine { line ->
|
def group = null
|
||||||
def idx = line.indexOf('#')
|
for (def line : f.readLines()) {
|
||||||
if (idx == 0 || line.isEmpty()) return
|
if (line.isEmpty()) continue
|
||||||
def comment = idx == -1 ? null : line.substring(idx)
|
if (line.startsWith('#group ')) {
|
||||||
if (idx != -1) line = line.substring(0, idx - 1)
|
def (modifier, cls, desc, comment, key) = parse.call(line.substring(7))
|
||||||
def (modifier, cls, desc) = (line.trim() + ' ').split(' ', -1)
|
|
||||||
def key = cls + (desc.isEmpty() ? '' : ' ' + desc)
|
if (!desc.equals('*') && !desc.equals('*()') && !desc.equals('<init>'))
|
||||||
def access = vanilla[key.replace('.', '/')]
|
throw new IllegalStateException('Invalid group: ' + line)
|
||||||
if (access == null) {
|
|
||||||
if ((desc.equals('*') || desc.equals('*()')) && vanilla[cls.replace('.', '/')] != null)
|
group = [modifier: modifier, cls: cls, desc: desc, comment: comment,
|
||||||
println('Warning: ' + line)
|
'existing': [] as Set,
|
||||||
else {
|
'children': [] as TreeSet,
|
||||||
println('Invalid: ' + line)
|
group: true
|
||||||
return
|
]
|
||||||
|
if (lines.containsKey(key))
|
||||||
|
throw new IllegalStateException('Duplicate group: ' + line)
|
||||||
|
|
||||||
|
lines[key] = group
|
||||||
|
} else if (group != null) {
|
||||||
|
if (line.startsWith('#endgroup')) {
|
||||||
|
group = null
|
||||||
|
} else {
|
||||||
|
def (modifier, cls, desc, comment, key) = parse.call(line)
|
||||||
|
group['existing'].add(key)
|
||||||
|
}
|
||||||
|
} else if (line.startsWith('#endgroup')) {
|
||||||
|
throw new IllegalStateException('Invalid group ending: ' + line)
|
||||||
|
} else if (line.startsWith('#')) {
|
||||||
|
//Nom
|
||||||
|
} else {
|
||||||
|
def (modifier, cls, desc, comment, key) = parse.call(line)
|
||||||
|
if (lines.containsKey(key)) {
|
||||||
|
println('Duplicate: ' + line)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
lines[key] = [modifier: modifier, cls: cls, desc: desc, comment: comment, group: false]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Process Groups, this will remove any entries outside the group that is covered by the group
|
||||||
|
for (def key : new ArrayList<>(lines.keySet())) {
|
||||||
|
def entry = lines.get(key)
|
||||||
|
if (entry != null && entry['group']) {
|
||||||
|
def cls = entry['cls']
|
||||||
|
def jcls = json.get(cls.replaceAll('\\.', '/'))
|
||||||
|
if (jcls == null) {
|
||||||
|
lines.remove(key)
|
||||||
|
println('Invalid Group: ' + key)
|
||||||
|
} else if ('*'.equals(entry['desc'])) {
|
||||||
|
if (!jcls.containsKey('fields')) {
|
||||||
|
lines.remove(key)
|
||||||
|
println('Invalid Group, Class has no fields: ' + key)
|
||||||
|
} else {
|
||||||
|
jcls['fields'].each { field, value ->
|
||||||
|
def fkey = cls + ' ' + field
|
||||||
|
if (accessLevel.call(value['access']) < accessStr.call(entry['modifier'])) {
|
||||||
|
if (lines.containsKey(fkey)) {
|
||||||
|
lines.remove(fkey)
|
||||||
|
} else if (!entry['existing'].contains(fkey)) {
|
||||||
|
println('Added: ' + fkey)
|
||||||
|
}
|
||||||
|
entry['children'].add(fkey)
|
||||||
|
} else if (lines.containsKey(fkey)) {
|
||||||
|
lines.remove(fkey)
|
||||||
|
println('Removed: ' + fkey)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
entry['existing'].stream().findAll{ !entry['children'].contains(it) }.each{ println('Removed: ' + it) }
|
||||||
|
}
|
||||||
|
} else if ('*()'.equals(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('<clinit>'))
|
||||||
|
return
|
||||||
|
key = cls + ' ' + mtd.replace(' ', '')
|
||||||
|
if (accessLevel.call(value['access']) < accessStr.call(entry['modifier'])) {
|
||||||
|
if (lines.containsKey(key)) {
|
||||||
|
lines.remove(key)
|
||||||
|
} else if (!entry['existing'].contains(key)) {
|
||||||
|
println('Added: ' + key)
|
||||||
|
}
|
||||||
|
entry['children'].add(key)
|
||||||
|
} else if (lines.containsKey(key)) {
|
||||||
|
lines.remove(key)
|
||||||
|
println('Removed: ' + key)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
entry['existing'].stream().findAll{ !entry['children'].contains(it) }.each{ println('Removed: ' + it) }
|
||||||
|
}
|
||||||
|
} else if ('<init>'.equals(entry['desc'])) { //Make all public non-abstract subclasses
|
||||||
|
json.each{ tcls,value ->
|
||||||
|
if (!value.containsKey('methods') || ((value['access'] & Opcodes.ACC_ABSTRACT) != 0))
|
||||||
|
return
|
||||||
|
def parents = [] as Set
|
||||||
|
def parent = tcls
|
||||||
|
while (parent != null && json.containsKey(parent)) {
|
||||||
|
parents.add(parent)
|
||||||
|
def p = json[parent]
|
||||||
|
parent = p == null ? null : p['superName']
|
||||||
|
}
|
||||||
|
if (parents.contains(cls.replaceAll('\\.', '/'))) {
|
||||||
|
value['methods'].each{ mtd, v ->
|
||||||
|
if (mtd.startsWith('<init>')) {
|
||||||
|
def child = tcls.replaceAll('/', '\\.') + ' ' + mtd.replace(' ', '')
|
||||||
|
if (accessLevel.call(v['access']) < 3) {
|
||||||
|
if (lines.containsKey(child)) {
|
||||||
|
lines.remove(child)
|
||||||
|
} else if (!entry['existing'].contains(child)) {
|
||||||
|
println('Added: ' + child)
|
||||||
|
}
|
||||||
|
entry['children'].add(child)
|
||||||
|
} else if (lines.containsKey(child)) {
|
||||||
|
lines.remove(child)
|
||||||
|
println('Removed: ' + child)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
entry['existing'].stream().findAll{ !entry['children'].contains(it) }.each{ println('Removed: ' + it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//TODO: Check access actually changes, and expand inheretence?
|
|
||||||
lines[key] = [modifier: modifier, comment: comment]
|
|
||||||
}
|
}
|
||||||
f.text = lines.collect{ it.value.modifier + ' ' + it.key + (it.value.comment == null ? '' : ' ' + it.value.comment) }.join('\n')
|
|
||||||
|
// Process normal lines, remove invalid and remove narrowing
|
||||||
|
for (def key : new ArrayList<>(lines.keySet())) {
|
||||||
|
def entry = lines.get(key)
|
||||||
|
if (entry != null && !entry['group']) {
|
||||||
|
def cls = entry['cls']
|
||||||
|
def jcls = json.get(cls.replaceAll('\\.', '/'))
|
||||||
|
if (jcls == null) {
|
||||||
|
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 '))) {
|
||||||
|
lines.remove(key)
|
||||||
|
println('Invalid Narrowing: ' + key)
|
||||||
|
}
|
||||||
|
} else if (!entry['desc'].contains('(')) {
|
||||||
|
if (!jcls.containsKey('fields') || !jcls['fields'].containsKey(entry['desc'])) {
|
||||||
|
lines.remove(key)
|
||||||
|
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 '))) {
|
||||||
|
lines.remove(key)
|
||||||
|
println('Invalid Narrowing: ' + key)
|
||||||
|
println(entry.comment)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
def jdesc = entry['desc'].replace('(', ' (')
|
||||||
|
if (!jcls.containsKey('methods') || !jcls['methods'].containsKey(jdesc)) {
|
||||||
|
lines.remove(key)
|
||||||
|
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 '))) {
|
||||||
|
lines.remove(key)
|
||||||
|
println('Invalid Narrowing: ' + key)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def data = []
|
||||||
|
lines.each { key,value ->
|
||||||
|
if (!value.group) {
|
||||||
|
data.add(value.modifier + ' ' + key + (value.comment == null ? '' : ' ' + value.comment))
|
||||||
|
} else {
|
||||||
|
data.add('#group ' + value.modifier + ' ' + key + (value.comment == null ? '' : ' ' + value.comment))
|
||||||
|
value.children.each{ data.add(value.modifier + ' ' + it) }
|
||||||
|
data.add('#endgroup')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
f.text = data.join('\n')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -779,7 +951,6 @@ project(':forge') {
|
||||||
task installerJson(dependsOn: [launcherJson, genClientBinPatches, applyClientBinPatches, applyServerBinPatches/*, createClientSRG, createServerSRG*/]) {
|
task installerJson(dependsOn: [launcherJson, genClientBinPatches, applyClientBinPatches, applyServerBinPatches/*, createClientSRG, createServerSRG*/]) {
|
||||||
ext {
|
ext {
|
||||||
output = file('build/install_profile.json')
|
output = file('build/install_profile.json')
|
||||||
INSTALLER_TOOLS = 'net.minecraftforge:installertools:1.1.4'
|
|
||||||
JAR_SPLITTER = 'net.minecraftforge:jarsplitter:1.1.2'
|
JAR_SPLITTER = 'net.minecraftforge:jarsplitter:1.1.2'
|
||||||
}
|
}
|
||||||
doFirst {
|
doFirst {
|
||||||
|
|
|
@ -19,6 +19,7 @@ archivesBaseName = 'modid'
|
||||||
|
|
||||||
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
|
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
|
||||||
|
|
||||||
|
println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
|
||||||
minecraft {
|
minecraft {
|
||||||
// The mappings can be changed at any time, and must be in the following format.
|
// The mappings can be changed at any time, and must be in the following format.
|
||||||
// snapshot_YYYYMMDD Snapshot are built nightly.
|
// snapshot_YYYYMMDD Snapshot are built nightly.
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
-public class BushBlock extends Block {
|
-public class BushBlock extends Block {
|
||||||
+public class BushBlock extends Block implements net.minecraftforge.common.IPlantable {
|
+public class BushBlock extends Block implements net.minecraftforge.common.IPlantable {
|
||||||
protected BushBlock(AbstractBlock.Properties p_i48437_1_) {
|
public BushBlock(AbstractBlock.Properties p_i48437_1_) {
|
||||||
super(p_i48437_1_);
|
super(p_i48437_1_);
|
||||||
}
|
}
|
||||||
@@ -22,6 +22,8 @@
|
@@ -22,6 +22,8 @@
|
||||||
|
|
|
@ -8,4 +8,4 @@
|
||||||
+public class DeadBushBlock extends BushBlock implements net.minecraftforge.common.IForgeShearable {
|
+public class DeadBushBlock extends BushBlock implements net.minecraftforge.common.IForgeShearable {
|
||||||
protected static final VoxelShape field_196397_a = Block.func_208617_a(2.0D, 0.0D, 2.0D, 14.0D, 13.0D, 14.0D);
|
protected static final VoxelShape field_196397_a = Block.func_208617_a(2.0D, 0.0D, 2.0D, 14.0D, 13.0D, 14.0D);
|
||||||
|
|
||||||
protected DeadBushBlock(AbstractBlock.Properties p_i48418_1_) {
|
public DeadBushBlock(AbstractBlock.Properties p_i48418_1_) {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
public static final VoxelShape field_235510_c_ = Block.func_208617_a(0.0D, 0.0D, 0.0D, 16.0D, 8.0D, 16.0D);
|
public static final VoxelShape field_235510_c_ = Block.func_208617_a(0.0D, 0.0D, 0.0D, 16.0D, 8.0D, 16.0D);
|
||||||
|
|
||||||
+ @Deprecated // Forge: Use the constructor that takes a supplier
|
+ @Deprecated // Forge: Use the constructor that takes a supplier
|
||||||
protected FlowingFluidBlock(FlowingFluid p_i49014_1_, AbstractBlock.Properties p_i49014_2_) {
|
public FlowingFluidBlock(FlowingFluid p_i49014_1_, AbstractBlock.Properties p_i49014_2_) {
|
||||||
super(p_i49014_2_);
|
super(p_i49014_2_);
|
||||||
this.field_204517_c = p_i49014_1_;
|
this.field_204517_c = p_i49014_1_;
|
||||||
@@ -47,8 +48,21 @@
|
@@ -47,8 +48,21 @@
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
public static final BooleanProperty field_176569_M = BlockStateProperties.field_208194_u;
|
public static final BooleanProperty field_176569_M = BlockStateProperties.field_208194_u;
|
||||||
+ private final boolean isActivator; // TRUE for an Activator Rail, FALSE for Powered Rail
|
+ private final boolean isActivator; // TRUE for an Activator Rail, FALSE for Powered Rail
|
||||||
|
|
||||||
protected PoweredRailBlock(AbstractBlock.Properties p_i48349_1_) {
|
public PoweredRailBlock(AbstractBlock.Properties p_i48349_1_) {
|
||||||
- super(true, p_i48349_1_);
|
- super(true, p_i48349_1_);
|
||||||
+ this(p_i48349_1_, false);
|
+ this(p_i48349_1_, false);
|
||||||
+ }
|
+ }
|
||||||
|
|
|
@ -8,4 +8,4 @@
|
||||||
+public class SeaGrassBlock extends BushBlock implements IGrowable, ILiquidContainer, net.minecraftforge.common.IForgeShearable {
|
+public class SeaGrassBlock extends BushBlock implements IGrowable, ILiquidContainer, net.minecraftforge.common.IForgeShearable {
|
||||||
protected static final VoxelShape field_207798_a = Block.func_208617_a(2.0D, 0.0D, 2.0D, 14.0D, 12.0D, 14.0D);
|
protected static final VoxelShape field_207798_a = Block.func_208617_a(2.0D, 0.0D, 2.0D, 14.0D, 12.0D, 14.0D);
|
||||||
|
|
||||||
protected SeaGrassBlock(AbstractBlock.Properties p_i48780_1_) {
|
public SeaGrassBlock(AbstractBlock.Properties p_i48780_1_) {
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
+ @Deprecated // Forge: Use the other constructor that takes a Supplier
|
+ @Deprecated // Forge: Use the other constructor that takes a Supplier
|
||||||
protected StairsBlock(BlockState p_i48321_1_, AbstractBlock.Properties p_i48321_2_) {
|
public StairsBlock(BlockState p_i48321_1_, AbstractBlock.Properties p_i48321_2_) {
|
||||||
super(p_i48321_2_);
|
super(p_i48321_2_);
|
||||||
this.func_180632_j(this.field_176227_L.func_177621_b().func_206870_a(field_176309_a, Direction.NORTH).func_206870_a(field_176308_b, Half.BOTTOM).func_206870_a(field_176310_M, StairsShape.STRAIGHT).func_206870_a(field_204513_t, Boolean.valueOf(false)));
|
this.func_180632_j(this.field_176227_L.func_177621_b().func_206870_a(field_176309_a, Direction.NORTH).func_206870_a(field_176308_b, Half.BOTTOM).func_206870_a(field_176310_M, StairsShape.STRAIGHT).func_206870_a(field_204513_t, Boolean.valueOf(false)));
|
||||||
this.field_150149_b = p_i48321_1_.func_177230_c();
|
this.field_150149_b = p_i48321_1_.func_177230_c();
|
||||||
|
|
|
@ -8,4 +8,4 @@
|
||||||
+public class TallGrassBlock extends BushBlock implements IGrowable, net.minecraftforge.common.IForgeShearable {
|
+public class TallGrassBlock extends BushBlock implements IGrowable, net.minecraftforge.common.IForgeShearable {
|
||||||
protected static final VoxelShape field_196389_a = Block.func_208617_a(2.0D, 0.0D, 2.0D, 14.0D, 13.0D, 14.0D);
|
protected static final VoxelShape field_196389_a = Block.func_208617_a(2.0D, 0.0D, 2.0D, 14.0D, 13.0D, 14.0D);
|
||||||
|
|
||||||
protected TallGrassBlock(AbstractBlock.Properties p_i48310_1_) {
|
public TallGrassBlock(AbstractBlock.Properties p_i48310_1_) {
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
+ private final java.util.function.Supplier<SoundEvent> soundSupplier;
|
+ private final java.util.function.Supplier<SoundEvent> soundSupplier;
|
||||||
|
|
||||||
+ @Deprecated // Forge: Use the constructor that takes a supplier instead
|
+ @Deprecated // Forge: Use the constructor that takes a supplier instead
|
||||||
protected MusicDiscItem(int p_i48475_1_, SoundEvent p_i48475_2_, Item.Properties p_i48475_3_) {
|
public MusicDiscItem(int p_i48475_1_, SoundEvent p_i48475_2_, Item.Properties p_i48475_3_) {
|
||||||
super(p_i48475_3_);
|
super(p_i48475_3_);
|
||||||
this.field_195977_c = p_i48475_1_;
|
this.field_195977_c = p_i48475_1_;
|
||||||
this.field_185076_b = p_i48475_2_;
|
this.field_185076_b = p_i48475_2_;
|
||||||
|
|
|
@ -1,9 +1,97 @@
|
||||||
public net.minecraft.advancements.CriteriaTriggers func_192118_a(Lnet/minecraft/advancements/ICriterionTrigger;)Lnet/minecraft/advancements/ICriterionTrigger; # register
|
public net.minecraft.advancements.CriteriaTriggers func_192118_a(Lnet/minecraft/advancements/ICriterionTrigger;)Lnet/minecraft/advancements/ICriterionTrigger; # register
|
||||||
public net.minecraft.block.AbstractBlock$Properties func_200943_b(F)Lnet/minecraft/block/AbstractBlock$Properties; # hardnessAndResistance
|
#group public net.minecraft.block.Block <init>
|
||||||
public net.minecraft.block.AbstractBlock$Properties func_200944_c()Lnet/minecraft/block/AbstractBlock$Properties; # needsRandomTick
|
public net.minecraft.block.AbstractCoralPlantBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
public net.minecraft.block.AbstractBlock$Properties func_200947_a(Lnet/minecraft/block/SoundType;)Lnet/minecraft/block/AbstractBlock$Properties; # sound
|
public net.minecraft.block.AirBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
public net.minecraft.block.AbstractBlock$Properties func_208770_d()Lnet/minecraft/block/AbstractBlock$Properties; # variableOpacity
|
public net.minecraft.block.AttachedStemBlock <init>(Lnet/minecraft/block/StemGrownBlock;Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
public net.minecraft.block.AbstractBlock$Properties func_222380_e()Lnet/minecraft/block/AbstractBlock$Properties; # noDrops
|
public net.minecraft.block.BarrierBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.BlastFurnaceBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.BreakableBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.BushBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.CactusBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.CakeBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.CarpetBlock <init>(Lnet/minecraft/item/DyeColor;Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.CartographyTableBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.CarvedPumpkinBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.ChestBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;Ljava/util/function/Supplier;)V
|
||||||
|
public net.minecraft.block.ChorusFlowerBlock <init>(Lnet/minecraft/block/ChorusPlantBlock;Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.ChorusPlantBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.CoralFanBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.CoralFinBlock <init>(Lnet/minecraft/block/Block;Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.CoralPlantBlock <init>(Lnet/minecraft/block/Block;Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.CoralWallFanBlock <init>(Lnet/minecraft/block/Block;Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.CraftingTableBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.CropsBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.DeadBushBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.DeadCoralPlantBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.DeadCoralWallFanBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.DispenserBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.DoorBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.EnchantingTableBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.EndGatewayBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.EndPortalBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.EndRodBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.EnderChestBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.FarmlandBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.FletchingTableBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.FlowingFluidBlock <init>(Lnet/minecraft/fluid/FlowingFluid;Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.FourWayBlock <init>(FFFFFLnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.FungusBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;Ljava/util/function/Supplier;)V
|
||||||
|
public net.minecraft.block.FurnaceBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.GrassPathBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.GrindstoneBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.HorizontalFaceBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.JigsawBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.JukeboxBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.KelpBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.KelpTopBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.LadderBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.LecternBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.LeverBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.LilyPadBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.LoomBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.MelonBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.NetherRootsBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.NetherWartBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.NyliumBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.PaneBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.PoweredRailBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.PressurePlateBlock <init>(Lnet/minecraft/block/PressurePlateBlock$Sensitivity;Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.PumpkinBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.RailBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.RedstoneTorchBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.RedstoneWallTorchBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.RepeaterBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SaplingBlock <init>(Lnet/minecraft/block/trees/Tree;Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.ScaffoldingBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SeaGrassBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SeaPickleBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SixWayBlock <init>(FLnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SkullBlock <init>(Lnet/minecraft/block/SkullBlock$ISkullType;Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SkullPlayerBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SkullWallPlayerBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SmithingTableBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SmokerBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SnowBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SnowyDirtBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SpawnerBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SpongeBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.StairsBlock <init>(Lnet/minecraft/block/BlockState;Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.StemBlock <init>(Lnet/minecraft/block/StemGrownBlock;Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.StoneButtonBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.StructureBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.StructureVoidBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.SugarCaneBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.TallGrassBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.TorchBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;Lnet/minecraft/particles/IParticleData;)V
|
||||||
|
public net.minecraft.block.TrapDoorBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.WallSkullBlock <init>(Lnet/minecraft/block/SkullBlock$ISkullType;Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.WallTorchBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;Lnet/minecraft/particles/IParticleData;)V
|
||||||
|
public net.minecraft.block.WeightedPressurePlateBlock <init>(ILnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.WetSpongeBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.WitherSkeletonSkullBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.WitherSkeletonWallSkullBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
public net.minecraft.block.WoodButtonBlock <init>(Lnet/minecraft/block/AbstractBlock$Properties;)V
|
||||||
|
#endgroup
|
||||||
public net.minecraft.block.Block func_180637_b(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;I)V # dropXpOnBlockBreak
|
public net.minecraft.block.Block func_180637_b(Lnet/minecraft/world/World;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_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.FireBlock func_220275_r(Lnet/minecraft/block/BlockState;)I # func_220275_r
|
||||||
|
@ -12,7 +100,39 @@ 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_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.Minecraft func_193986_ar()V # populateSearchTreeManager
|
||||||
public net.minecraft.client.audio.SoundEngine field_148622_c #sndHandler
|
public net.minecraft.client.audio.SoundEngine field_148622_c #sndHandler
|
||||||
protected net.minecraft.client.gui.IngameGui *
|
#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_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
|
||||||
|
#endgroup
|
||||||
protected net.minecraft.client.gui.IngameGui func_194805_e(F)V
|
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_194808_p()V
|
||||||
protected net.minecraft.client.gui.IngameGui func_212303_b(Lnet/minecraft/entity/Entity;)V
|
protected net.minecraft.client.gui.IngameGui func_212303_b(Lnet/minecraft/entity/Entity;)V
|
||||||
|
@ -28,7 +148,7 @@ public net.minecraft.client.particle.ParticleManager func_199283_a(Lnet/minecraf
|
||||||
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 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.particle.ParticleManager$IParticleMetaFactory
|
||||||
public net.minecraft.client.renderer.GameRenderer func_175069_a(Lnet/minecraft/util/ResourceLocation;)V #loadShader
|
public net.minecraft.client.renderer.GameRenderer func_175069_a(Lnet/minecraft/util/ResourceLocation;)V #loadShader
|
||||||
private net.minecraft.client.renderer.ItemModelMesher field_199313_a
|
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_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.entity.EntityRendererManager field_78729_o #renderers
|
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
|
public net.minecraft.client.renderer.entity.EntityRendererManager func_229087_a_(Lnet/minecraft/entity/EntityType;Lnet/minecraft/client/renderer/entity/EntityRenderer;)V # addRenderer
|
||||||
|
@ -38,7 +158,6 @@ public net.minecraft.client.renderer.model.BlockFaceUV$Deserializer <init>()V
|
||||||
public net.minecraft.client.renderer.model.BlockModel field_178315_d # parent
|
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_178318_c # textures
|
||||||
public net.minecraft.client.renderer.model.BlockModel field_178322_i # ambientOcclusion
|
public net.minecraft.client.renderer.model.BlockModel field_178322_i # ambientOcclusion
|
||||||
public net.minecraft.client.renderer.model.BlockModel func_187966_f()Ljava/util/List; # getOverrides
|
|
||||||
public net.minecraft.client.renderer.model.BlockPart func_178236_a(Lnet/minecraft/util/Direction;)[F # getFaceUvs
|
public net.minecraft.client.renderer.model.BlockPart func_178236_a(Lnet/minecraft/util/Direction;)[F # getFaceUvs
|
||||||
public net.minecraft.client.renderer.model.BlockPart$Deserializer <init>()V
|
public net.minecraft.client.renderer.model.BlockPart$Deserializer <init>()V
|
||||||
public net.minecraft.client.renderer.model.BlockPartFace$Deserializer <init>()V
|
public net.minecraft.client.renderer.model.BlockPartFace$Deserializer <init>()V
|
||||||
|
@ -51,9 +170,6 @@ public net.minecraft.client.renderer.model.ItemTransformVec3f$Deserializer field
|
||||||
public net.minecraft.client.renderer.model.ItemTransformVec3f$Deserializer field_178362_a # ROTATION_DEFAULT
|
public net.minecraft.client.renderer.model.ItemTransformVec3f$Deserializer field_178362_a # ROTATION_DEFAULT
|
||||||
protected net.minecraft.client.renderer.model.ModelBakery field_177598_f # resourceManager
|
protected net.minecraft.client.renderer.model.ModelBakery field_177598_f # resourceManager
|
||||||
protected net.minecraft.client.renderer.model.ModelBakery field_177602_b # LOCATIONS_BUILTIN_TEXTURES
|
protected net.minecraft.client.renderer.model.ModelBakery field_177602_b # LOCATIONS_BUILTIN_TEXTURES
|
||||||
public net.minecraft.client.renderer.model.ModelBakery field_177604_a # MODEL_MISSING
|
|
||||||
protected net.minecraft.client.renderer.model.ModelBakery field_177606_o # MODEL_GENERATED
|
|
||||||
protected net.minecraft.client.renderer.model.ModelBakery field_177616_r # MODEL_ENTITY
|
|
||||||
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
|
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 func_177594_c(Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/renderer/model/BlockModel; # loadModel
|
||||||
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.
|
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.
|
||||||
|
@ -120,10 +236,15 @@ public net.minecraft.entity.player.ServerPlayerEntity func_71117_bO()V
|
||||||
public net.minecraft.inventory.container.ContainerType <init>(Lnet/minecraft/inventory/container/ContainerType$IFactory;)V
|
public net.minecraft.inventory.container.ContainerType <init>(Lnet/minecraft/inventory/container/ContainerType$IFactory;)V
|
||||||
public net.minecraft.inventory.container.ContainerType$IFactory
|
public net.minecraft.inventory.container.ContainerType$IFactory
|
||||||
public net.minecraft.inventory.container.RepairContainer field_82856_l #RepairContainer/stackSizeToBeUsedInRepair
|
public net.minecraft.inventory.container.RepairContainer field_82856_l #RepairContainer/stackSizeToBeUsedInRepair
|
||||||
|
#group public net.minecraft.item.Item <init>
|
||||||
public net.minecraft.item.AxeItem <init>(Lnet/minecraft/item/IItemTier;FFLnet/minecraft/item/Item$Properties;)V
|
public net.minecraft.item.AxeItem <init>(Lnet/minecraft/item/IItemTier;FFLnet/minecraft/item/Item$Properties;)V
|
||||||
|
public net.minecraft.item.HoeItem <init>(Lnet/minecraft/item/IItemTier;IFLnet/minecraft/item/Item$Properties;)V
|
||||||
|
public net.minecraft.item.MusicDiscItem <init>(ILnet/minecraft/util/SoundEvent;Lnet/minecraft/item/Item$Properties;)V
|
||||||
|
public net.minecraft.item.PickaxeItem <init>(Lnet/minecraft/item/IItemTier;IFLnet/minecraft/item/Item$Properties;)V
|
||||||
|
public net.minecraft.item.ToolItem <init>(FFLnet/minecraft/item/IItemTier;Ljava/util/Set;Lnet/minecraft/item/Item$Properties;)V
|
||||||
|
#endgroup
|
||||||
public-f net.minecraft.item.ItemGroup field_78032_a # group array
|
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.ItemModelsProperties func_239418_a_(Lnet/minecraft/item/Item;Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/item/IItemPropertyGetter;)V
|
||||||
public net.minecraft.item.PickaxeItem <init>(Lnet/minecraft/item/IItemTier;IFLnet/minecraft/item/Item$Properties;)V
|
|
||||||
public-f net.minecraft.item.crafting.Ingredient
|
public-f net.minecraft.item.crafting.Ingredient
|
||||||
protected net.minecraft.item.crafting.Ingredient <init>(Ljava/util/stream/Stream;)V
|
protected net.minecraft.item.crafting.Ingredient <init>(Ljava/util/stream/Stream;)V
|
||||||
public+f net.minecraft.item.crafting.Ingredient func_199564_a(Lnet/minecraft/network/PacketBuffer;)V
|
public+f net.minecraft.item.crafting.Ingredient func_199564_a(Lnet/minecraft/network/PacketBuffer;)V
|
||||||
|
@ -134,10 +255,8 @@ public net.minecraft.item.crafting.Ingredient$SingleItemList
|
||||||
public net.minecraft.item.crafting.Ingredient$SingleItemList <init>(Lnet/minecraft/item/ItemStack;)V
|
public net.minecraft.item.crafting.Ingredient$SingleItemList <init>(Lnet/minecraft/item/ItemStack;)V
|
||||||
public net.minecraft.item.crafting.Ingredient$TagList
|
public net.minecraft.item.crafting.Ingredient$TagList
|
||||||
public net.minecraft.item.crafting.Ingredient$TagList <init>(Lnet/minecraft/tags/ITag;)V
|
public net.minecraft.item.crafting.Ingredient$TagList <init>(Lnet/minecraft/tags/ITag;)V
|
||||||
public net.minecraft.item.crafting.TippedArrowRecipe
|
|
||||||
private-f net.minecraft.loot.LootPool field_186455_c # rolls
|
private-f net.minecraft.loot.LootPool field_186455_c # rolls
|
||||||
private-f net.minecraft.loot.LootPool field_186456_d # bonusRolls
|
private-f net.minecraft.loot.LootPool field_186456_d # bonusRolls
|
||||||
public net.minecraft.nbt.NumberNBT
|
|
||||||
public net.minecraft.network.status.server.SServerInfoPacket field_149297_a # GSON
|
public net.minecraft.network.status.server.SServerInfoPacket field_149297_a # GSON
|
||||||
public net.minecraft.particles.BasicParticleType <init>(Z)V
|
public net.minecraft.particles.BasicParticleType <init>(Z)V
|
||||||
public net.minecraft.particles.ParticleType <init>(ZLnet/minecraft/particles/IParticleData$IDeserializer;)V
|
public net.minecraft.particles.ParticleType <init>(ZLnet/minecraft/particles/IParticleData$IDeserializer;)V
|
||||||
|
@ -149,9 +268,19 @@ public net.minecraft.tags.BlockTags func_199894_a(Ljava/lang/String;)Lnet/minecr
|
||||||
public net.minecraft.tags.EntityTypeTags func_232896_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.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
|
public net.minecraft.tags.ItemTags func_199901_a(Ljava/lang/String;)Lnet/minecraft/tags/ITag$INamedTag; # makeWrapperTag
|
||||||
|
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
|
||||||
public net.minecraft.tileentity.HopperTileEntity func_145896_c(I)V # setTransferCooldown
|
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_174914_o()Z # mayTransfer
|
||||||
public net.minecraft.util.DamageSource *() #All methods public, most are already
|
#group public net.minecraft.util.DamageSource *() #All methods public, most are already
|
||||||
|
public net.minecraft.util.DamageSource <init>(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;
|
||||||
|
#endgroup
|
||||||
protected net.minecraft.util.ObjectIntIdentityMap field_148748_b # internal index list
|
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_148749_a # internal map
|
||||||
protected net.minecraft.util.ObjectIntIdentityMap field_195868_a # nextId
|
protected net.minecraft.util.ObjectIntIdentityMap field_195868_a # nextId
|
||||||
|
@ -167,8 +296,6 @@ public net.minecraft.world.World field_73003_n #prevRainingStrength
|
||||||
public net.minecraft.world.World field_73004_o #rainingStrength
|
public net.minecraft.world.World field_73004_o #rainingStrength
|
||||||
public net.minecraft.world.World field_73017_q #thunderingStrength
|
public net.minecraft.world.World field_73017_q #thunderingStrength
|
||||||
public net.minecraft.world.World field_73018_p #prevThunderingStrength
|
public net.minecraft.world.World field_73018_p #prevThunderingStrength
|
||||||
public net.minecraft.world.World func_175701_a(Lnet/minecraft/util/math/BlockPos;)Z # isValid
|
|
||||||
public net.minecraft.world.World func_189509_E(Lnet/minecraft/util/math/BlockPos;)Z # isOutsideBuildHeight
|
|
||||||
public net.minecraft.world.biome.Biome func_180626_a(Lnet/minecraft/util/math/BlockPos;)F # getTemperature
|
public net.minecraft.world.biome.Biome func_180626_a(Lnet/minecraft/util/math/BlockPos;)F # getTemperature
|
||||||
public net.minecraft.world.biome.DeepFrozenOceanBiome func_180626_a(Lnet/minecraft/util/math/BlockPos;)F # getTemperature
|
public net.minecraft.world.biome.DeepFrozenOceanBiome func_180626_a(Lnet/minecraft/util/math/BlockPos;)F # getTemperature
|
||||||
public net.minecraft.world.biome.FrozenOceanBiome func_180626_a(Lnet/minecraft/util/math/BlockPos;)F # getTemperature
|
public net.minecraft.world.biome.FrozenOceanBiome func_180626_a(Lnet/minecraft/util/math/BlockPos;)F # getTemperature
|
||||||
|
@ -178,8 +305,4 @@ public net.minecraft.world.gen.layer.LayerUtil func_202829_a(JLnet/minecraft/wor
|
||||||
private-f net.minecraft.world.server.ChunkHolder field_219320_o # block update location
|
private-f net.minecraft.world.server.ChunkHolder field_219320_o # block update location
|
||||||
public net.minecraft.world.server.ServerChunkProvider field_186029_c # chunkGenerator
|
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_73251_h # worldObj
|
||||||
public net.minecraft.world.storage.FolderName <init>(Ljava/lang/String;)V # constructor
|
public net.minecraft.world.storage.FolderName <init>(Ljava/lang/String;)V # constructor
|
||||||
protected-f net.minecraft.tags.NetworkTagManager field_215299_d # entityTypes
|
|
||||||
protected-f net.minecraft.tags.NetworkTagManager field_205705_c # fluids
|
|
||||||
protected-f net.minecraft.tags.NetworkTagManager field_199720_b # items
|
|
||||||
protected-f net.minecraft.tags.NetworkTagManager field_199719_a # blocks
|
|
Loading…
Reference in New Issue