Merge pull request #279 from toolbox4minecraft/adjustments-for-new-minecraft-versions
Adjustments for new minecraft versionsmaster
commit
72a1c99a34
|
@ -23,7 +23,17 @@ public enum RecognisedVersion {
|
|||
// TODO: Remove these versions before V1_0?
|
||||
// TODO: stronghold reset on V1_9pre4?
|
||||
UNKNOWN,
|
||||
_1_9 ("1.9", "qwoomajzpb[Llp;mm[J[[Jmi"), // matches the launcher version id: 1.9 1.9-pre4 1.9-pre3
|
||||
_1_11 ("1.11", "rroumhkfph[Llw;mt[J[[Jmp"), // matches the launcher version id: 1.11 1.11-pre1
|
||||
_16w44a ("16w44a", "rqotmgkfpg[Llv;ms[J[[Jmo"), // matches the launcher version id: 16w44a
|
||||
_16w43a ("16w43a", "rpotmgkfpg[Llv;ms[J[[Jmo"), // matches the launcher version id: 16w43a 16w42a 16w41a 16w40a 16w39c
|
||||
_16w38a ("16w38a", "rlosmfkepf[Llu;mr[J[[Jmn"), // matches the launcher version id: 16w38a
|
||||
_16w36a ("16w36a", "rkosmfkepf[Llu;mr[J[[Jmn"), // matches the launcher version id: 16w36a
|
||||
_16w35a ("16w35a", "rjosmfkepf[Llu;mr[J[[Jmn"), // matches the launcher version id: 16w35a 16w33a 16w32b
|
||||
_1_10_2 ("1.10.2", "rboqmdkcpd[Lls;mp[J[[Jml"), // matches the launcher version id: 1.10.2 1.10.1 1.10
|
||||
_16w21b ("16w21b", "qzopmckbpc[Llr;mo[J[[Jmk"), // matches the launcher version id: 16w21b
|
||||
_16w20a ("16w20a", "qxopmckbpc[Llr;mo[J[[Jmk"), // matches the launcher version id: 16w20a
|
||||
_1_9_4 ("1.9.4", "qwoombkapb[Llq;mn[J[[Jmj"), // matches the launcher version id: 1.9.4 1.9.3
|
||||
_1_9_2 ("1.9.2", "qwoomajzpb[Llp;mm[J[[Jmi"), // matches the launcher version id: 1.9.2 1.9.1 1.9
|
||||
_1_9_pre2 ("1.9-pre2", "qvoomajzpb[Llp;mm[J[[Jmi"), // matches the launcher version id: 1.9-pre2 1.9-pre1 16w07b 16w06a 16w05b 16w04a 16w03a 16w02a
|
||||
_15w51b ("15w51b", "quonmajzpa[Llp;mm[J[[Jmi"), // matches the launcher version id: 15w51b
|
||||
_15w50a ("15w50a", "qtonmajzpa[Llp;mm[J[[Jmi"), // matches the launcher version id: 15w50a 15w49b 15w47c
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue