Merge pull request #2692 from pk910/v3.0

spigot 1.15 support
This commit is contained in:
mikeprimm 2019-12-14 22:12:19 -06:00 committed by GitHub
commit 2fc9301cfa
3 changed files with 80 additions and 69 deletions

View file

@ -47,6 +47,8 @@ public abstract class BukkitVersionHelperGeneric extends BukkitVersionHelper {
private Method cw_gethandle; private Method cw_gethandle;
/** BiomeBase related helpers */ /** BiomeBase related helpers */
protected Class<?> biomestorage;
protected Field biomestoragebase;
protected Class<?> biomebase; protected Class<?> biomebase;
protected Class<?> biomebasearray; protected Class<?> biomebasearray;
protected Field biomebaselist; protected Field biomebaselist;
@ -131,7 +133,12 @@ public abstract class BukkitVersionHelperGeneric extends BukkitVersionHelper {
/* CraftChunkSnapshot */ /* CraftChunkSnapshot */
craftchunksnapshot = getOBCClass("org.bukkit.craftbukkit.CraftChunkSnapshot"); craftchunksnapshot = getOBCClass("org.bukkit.craftbukkit.CraftChunkSnapshot");
biomebasearray = getNMSClass("[Lnet.minecraft.server.BiomeBase;"); biomebasearray = getNMSClass("[Lnet.minecraft.server.BiomeBase;");
ccss_biome = getPrivateField(craftchunksnapshot, new String[] { "biome" }, biomebasearray); ccss_biome = getPrivateFieldNoFail(craftchunksnapshot, new String[] { "biome" }, biomebasearray);
if(ccss_biome == null) {
biomestorage = getNMSClass("net.minecraft.server.BiomeStorage");
biomestoragebase = getPrivateField(biomestorage, new String[] { "f" }, biomebasearray);
ccss_biome = getPrivateField(craftchunksnapshot, new String[] { "biome" }, biomestorage);
}
/* CraftChunk */ /* CraftChunk */
craftchunk = getOBCClass("org.bukkit.craftbukkit.CraftChunk"); craftchunk = getOBCClass("org.bukkit.craftbukkit.CraftChunk");
cc_gethandle = getMethod(craftchunk, new String[] { "getHandle" }, new Class[0]); cc_gethandle = getMethod(craftchunk, new String[] { "getHandle" }, new Class[0]);
@ -321,7 +328,11 @@ public abstract class BukkitVersionHelperGeneric extends BukkitVersionHelper {
* Get list of defined biomebase objects * Get list of defined biomebase objects
*/ */
public Object[] getBiomeBaseList() { public Object[] getBiomeBaseList() {
return (Object[]) getFieldValue(biomebase, biomebaselist, new Object[0]); Object baselist = getFieldValue(biomebase, biomebaselist, new Object[0]);
if(biomestoragebase != null)
baselist = getFieldValue(baselist, biomestoragebase, new Object[0]);
return (Object[])baselist;
} }
/** Get temperature from biomebase */ /** Get temperature from biomebase */
public float getBiomeBaseTemperature(Object bb) { public float getBiomeBaseTemperature(Object bb) {

View file

@ -30,7 +30,7 @@ dependencies {
implementation(project(':bukkit-helper-114-1')) { implementation(project(':bukkit-helper-114-1')) {
transitive = false transitive = false
} }
implementation(project(':bukkit-helper-115')) { implementation(project(':bukkit-helper-115')) {
transitive = false transitive = false
} }
} }
@ -62,7 +62,7 @@ shadowJar {
include(dependency(':bukkit-helper-113-2')) include(dependency(':bukkit-helper-113-2'))
include(dependency(':bukkit-helper-114')) include(dependency(':bukkit-helper-114'))
include(dependency(':bukkit-helper-114-1')) include(dependency(':bukkit-helper-114-1'))
include(dependency(':bukkit-helper-115')) include(dependency(':bukkit-helper-115'))
} }
relocate('org.bstats', 'org.dynmap.bstats') relocate('org.bstats', 'org.dynmap.bstats')
destinationDir = file '../target' destinationDir = file '../target'

View file

@ -36,7 +36,7 @@ public class Helper {
Log.info("Loading Glowstone support"); Log.info("Loading Glowstone support");
BukkitVersionHelper.helper = new BukkitVersionHelperGlowstone(); BukkitVersionHelper.helper = new BukkitVersionHelperGlowstone();
} }
else if (v.contains("(MC: 1.15)")) { else if (v.contains("(MC: 1.15)")) {
BukkitVersionHelper.helper = new BukkitVersionHelperSpigot115(); BukkitVersionHelper.helper = new BukkitVersionHelperSpigot115();
} }
else if (v.contains("(MC: 1.14.1)") || v.contains("(MC: 1.14.2)") || else if (v.contains("(MC: 1.14.1)") || v.contains("(MC: 1.14.2)") ||