Update to 1.16

This commit is contained in:
libraryaddict
2020-06-25 15:33:28 +12:00
parent cd64d17a01
commit 1f847e5ad6
19 changed files with 398 additions and 73 deletions

View File

@@ -7,7 +7,8 @@ public enum NmsVersion {
v1_12,
v1_13,
v1_14,
v1_15;
v1_15,
v1_16;
/**
* If this nms version isn't newer than the running version

View File

@@ -100,10 +100,15 @@ public class ReflectionManager {
pingField = getNmsField("EntityPlayer", "ping");
if (NmsVersion.v1_14.isSupported()) {
chunkProviderField = getNmsField("World", "chunkProvider");
chunkMapField = getNmsField("ChunkProviderServer", "playerChunkMap");
trackedEntitiesField = getNmsField("PlayerChunkMap", "trackedEntities");
entityTrackerField = getNmsField("PlayerChunkMap$EntityTracker", "trackerEntry");
if (NmsVersion.v1_16.isSupported()) {
chunkProviderField = getNmsField("WorldServer", "chunkProvider");
} else {
chunkProviderField = getNmsField("World", "chunkProvider");
}
} else {
trackerField = getNmsField("WorldServer", "tracker");
entitiesField = getNmsField("EntityTracker", "trackedEntities");
@@ -1348,8 +1353,14 @@ public class ReflectionManager {
Constructor c = getNmsClass("EntityTypes").getConstructors()[0];
Object entityType;
// UGLY :D
Object entityType = c.newInstance(null, null, false, false, false, false, null);
if (NmsVersion.v1_16.isSupported()) {
entityType = c.newInstance(null, null, false, false, false, false, null, null, 0, 0);
} else {
entityType = c.newInstance(null, null, false, false, false, false, null);
}
for (Field f : entityType.getClass().getDeclaredFields()) {
if (f.getType() != String.class) {
@@ -1564,6 +1575,7 @@ public class ReflectionManager {
case PIG_ZOMBIE:
case HUSK:
case DROWNED:
case ZOMBIFIED_PIGLIN:
watcherClass = ZombieWatcher.class;
break;
case MAGMA_CUBE:
@@ -1735,6 +1747,9 @@ public class ReflectionManager {
case TRADER_LLAMA:
nmsEntityName = "LLamaTrader"; // Interesting capitalization
break;
case ZOMBIFIED_PIGLIN:
nmsEntityName = "PigZombie";
break;
default:
break;
}