refactorings
parent
b7b9eca94f
commit
a54fb33c9d
|
@ -44,10 +44,10 @@ public enum DefaultClassTranslator {
|
|||
.thenDeclareRequired(SymbolicNames.CLASS_GEN_LAYER)
|
||||
// one if the initializeAllBiomeGenerators-methods is required!
|
||||
.optionalMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_1, "a").real("long").end()
|
||||
.optionalMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_2, "a").real("long").symbolic("WorldType").end()
|
||||
.optionalMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_3, "a").real("long").symbolic("WorldType").real("String").end()
|
||||
.optionalMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_3A,"a").real("long").symbolic("WorldType").symbolic("ChunkProviderSettings").end()
|
||||
.requiredMethod(SymbolicNames.METHOD_GEN_LAYER_GET_INTS, "a").real("int") .real("int") .real("int") .real("int").end()
|
||||
.optionalMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_2, "a").real("long").symbolic(SymbolicNames.CLASS_WORLD_TYPE).end()
|
||||
.optionalMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_3, "a").real("long").symbolic(SymbolicNames.CLASS_WORLD_TYPE).real("String").end()
|
||||
.optionalMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_4, "a").real("long").symbolic(SymbolicNames.CLASS_WORLD_TYPE).symbolic(SymbolicNames.CLASS_GEN_OPTIONS).end()
|
||||
.requiredMethod(SymbolicNames.METHOD_GEN_LAYER_GET_INTS, "a").real("int") .real("int") .real("int") .real("int").end()
|
||||
.next()
|
||||
.ifDetect(c ->
|
||||
c.getNumberOfConstructors() == 0
|
||||
|
@ -62,14 +62,14 @@ public enum DefaultClassTranslator {
|
|||
.requiredMethod(SymbolicNames.METHOD_BLOCK_INIT_INITIALIZE, "c").end()
|
||||
.next()
|
||||
.ifDetect(c ->
|
||||
//some leeway in case Mojang adds or removes fields in the future
|
||||
// some leeway in case Mojang adds or removes fields in the future
|
||||
c.getNumberOfFields() > 70 && c.getNumberOfFields() < 100
|
||||
&& c.getNumberOfMethods() == 0
|
||||
)
|
||||
.thenDeclareOptional(SymbolicNames.CLASS_GEN_OPTIONS)
|
||||
.next()
|
||||
.ifDetect(c ->
|
||||
//same as above
|
||||
// some leeway in case Mojang adds or removes fields in the future
|
||||
c.getNumberOfFields() > 70 && c.getNumberOfFields() < 100
|
||||
&& c.getField(0).hasFlags(AccessFlags.STATIC | AccessFlags.FINAL)
|
||||
&& c.getField(1).hasFlags(AccessFlags.PUBLIC)
|
||||
|
|
|
@ -101,14 +101,10 @@ public class LocalMinecraftInterface implements MinecraftInterface {
|
|||
throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
|
||||
if (worldTypeClass == null) {
|
||||
return (Object[]) genLayerClass.callStaticMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_1, seed);
|
||||
|
||||
} else if (genLayerClass.hasMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_3A)) {
|
||||
SymbolicObject options = getGeneratorOptions(generatorOptions);
|
||||
return (Object[]) genLayerClass.callStaticMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_3A, seed, getWorldType(worldType).getObject(), options.getObject());
|
||||
|
||||
} else if (genLayerClass.hasMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_4)) {
|
||||
return (Object[]) genLayerClass.callStaticMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_4, seed, getWorldType(worldType).getObject(), getGeneratorOptions(generatorOptions).getObject());
|
||||
} else if (genLayerClass.hasMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_3)) {
|
||||
return (Object[]) genLayerClass.callStaticMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_3, seed, getWorldType(worldType).getObject(), generatorOptions);
|
||||
|
||||
} else {
|
||||
return (Object[]) genLayerClass.callStaticMethod(SymbolicNames.METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_2, seed, getWorldType(worldType).getObject());
|
||||
}
|
||||
|
@ -116,7 +112,6 @@ public class LocalMinecraftInterface implements MinecraftInterface {
|
|||
|
||||
private SymbolicObject getGeneratorOptions(String generatorOptions)
|
||||
throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
|
||||
|
||||
SymbolicObject factory = (SymbolicObject) genOptionsFactoryClass.callStaticMethod(SymbolicNames.METHOD_GEN_OPTIONS_FACTORY_JSON_TO_FACTORY, generatorOptions);
|
||||
return (SymbolicObject) factory.callMethod(SymbolicNames.METHOD_GEN_OPTIONS_FACTORY_BUILD);
|
||||
}
|
||||
|
|
|
@ -20,14 +20,15 @@ public enum SymbolicNames {
|
|||
public static final String METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_1 = "initializeAllBiomeGenerators1";
|
||||
public static final String METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_2 = "initializeAllBiomeGenerators2";
|
||||
public static final String METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_3 = "initializeAllBiomeGenerators3";
|
||||
public static final String METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_3A = "initializeAllBiomeGenerators3a";
|
||||
public static final String METHOD_GEN_LAYER_INITIALIZE_ALL_BIOME_GENERATORS_4 = "initializeAllBiomeGenerators4";
|
||||
public static final String METHOD_GEN_LAYER_GET_INTS = "getInts";
|
||||
|
||||
public static final String CLASS_BLOCK_INIT = "BlockInit";
|
||||
public static final String METHOD_BLOCK_INIT_INITIALIZE = "initialize";
|
||||
|
||||
|
||||
public static final String CLASS_GEN_OPTIONS = "ChunkProviderSettings";
|
||||
public static final String CLASS_GEN_OPTIONS_FACTORY = CLASS_GEN_OPTIONS + ".Factory";
|
||||
|
||||
public static final String CLASS_GEN_OPTIONS_FACTORY = "ChunkProviderSettingsFactory";
|
||||
public static final String METHOD_GEN_OPTIONS_FACTORY_JSON_TO_FACTORY = "jsonToFactory";
|
||||
public static final String METHOD_GEN_OPTIONS_FACTORY_BUILD = "build";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue