diff --git a/main/pom.xml b/main/pom.xml index a0b52691d..55b130d12 100644 --- a/main/pom.xml +++ b/main/pom.xml @@ -13,7 +13,7 @@ UTF-8 - 1.14-R0.1-SNAPSHOT + 1.14.1-R0.1-SNAPSHOT ${project.version} 1.4.12 1.5 @@ -118,8 +118,8 @@ maven-compiler-plugin 3.8.0 - 1.6 - 1.6 + 1.8 + 1.8 @@ -164,7 +164,7 @@ - + org.apache.maven.plugins maven-javadoc-plugin diff --git a/v1_10_R1/pom.xml b/v1_10_R1/pom.xml index e62e35603..15c96b3e6 100644 --- a/v1_10_R1/pom.xml +++ b/v1_10_R1/pom.xml @@ -49,8 +49,8 @@ maven-compiler-plugin 2.3.2 - 1.6 - 1.6 + 1.8 + 1.8 diff --git a/v1_11_R1/pom.xml b/v1_11_R1/pom.xml index 81d0a5412..bc4810fa2 100644 --- a/v1_11_R1/pom.xml +++ b/v1_11_R1/pom.xml @@ -49,8 +49,8 @@ maven-compiler-plugin 2.3.2 - 1.6 - 1.6 + 1.8 + 1.8 @@ -72,7 +72,7 @@ - + diff --git a/v1_14_R1/pom.xml b/v1_14_R1/pom.xml index adff1520a..9c265faf9 100644 --- a/v1_14_R1/pom.xml +++ b/v1_14_R1/pom.xml @@ -12,7 +12,7 @@ UTF-8 - 1.14-R0.1-SNAPSHOT + 1.14.1-R0.1-SNAPSHOT diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/TraderLlamaController.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/TraderLlamaController.java index a3d174757..7586c2891 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/TraderLlamaController.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/TraderLlamaController.java @@ -20,7 +20,7 @@ import net.citizensnpcs.util.Util; import net.minecraft.server.v1_14_R1.BlockPosition; import net.minecraft.server.v1_14_R1.DamageSource; import net.minecraft.server.v1_14_R1.DataWatcherObject; -import net.minecraft.server.v1_14_R1.EntityLLamaTrader; +import net.minecraft.server.v1_14_R1.EntityLlamaTrader; import net.minecraft.server.v1_14_R1.EntityTypes; import net.minecraft.server.v1_14_R1.IBlockData; import net.minecraft.server.v1_14_R1.NBTTagCompound; @@ -44,16 +44,16 @@ public class TraderLlamaController extends MobEntityController { super.spawn(at, npc); } - public static class EntityTraderLlamaNPC extends EntityLLamaTrader implements NPCHolder { + public static class EntityTraderLlamaNPC extends EntityLlamaTrader implements NPCHolder { boolean calledNMSHeight = false; private final CitizensNPC npc; - public EntityTraderLlamaNPC(EntityTypes types, World world) { + public EntityTraderLlamaNPC(EntityTypes types, World world) { this(types, world, null); } - public EntityTraderLlamaNPC(EntityTypes types, World world, NPC npc) { + public EntityTraderLlamaNPC(EntityTypes types, World world, NPC npc) { super(types, world); this.npc = (CitizensNPC) npc; if (npc != null) { @@ -209,6 +209,7 @@ public class TraderLlamaController extends MobEntityController { if (npc == null) { super.mobTick(); } else { + v(10); NMS.setStepHeight(getBukkitEntity(), 1); npc.update(); } diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/VillagerController.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/VillagerController.java index c43626814..0b2d9a536 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/VillagerController.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/VillagerController.java @@ -122,12 +122,12 @@ public class VillagerController extends MobEntityController { } @Override - public boolean dX() { + public boolean dY() { if (blockingATrade) { blockingATrade = false; return true; } - return super.dX(); + return super.dY(); } @Override diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/WanderingTraderController.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/WanderingTraderController.java index dc6e2b206..71142e428 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/WanderingTraderController.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/WanderingTraderController.java @@ -121,12 +121,12 @@ public class WanderingTraderController extends MobEntityController { } @Override - public boolean dX() { + public boolean dY() { if (blockingATrade) { blockingATrade = false; return true; } - return super.dX(); + return super.dY(); } @Override diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/CustomEntityRegistry.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/CustomEntityRegistry.java index 862ad330c..3be6621df 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/CustomEntityRegistry.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/CustomEntityRegistry.java @@ -181,7 +181,7 @@ public class CustomEntityRegistry extends RegistryBlocks { minecraftClassMap.put(EntityTypes.SPIDER, EntitySpider.class); minecraftClassMap.put(EntityTypes.SQUID, EntitySquid.class); minecraftClassMap.put(EntityTypes.STRAY, EntitySkeletonStray.class); - minecraftClassMap.put(EntityTypes.TRADER_LLAMA, EntityLLamaTrader.class); + minecraftClassMap.put(EntityTypes.TRADER_LLAMA, EntityLlamaTrader.class); minecraftClassMap.put(EntityTypes.TROPICAL_FISH, EntityTropicalFish.class); minecraftClassMap.put(EntityTypes.TURTLE, EntityTurtle.class); minecraftClassMap.put(EntityTypes.EGG, EntityEgg.class); diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java index 9a68d5534..3ce4114c7 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/NMSImpl.java @@ -1610,7 +1610,7 @@ public class NMSImpl implements NMSBridge { public static void setSize(Entity entity, boolean justCreated) { try { EntitySize entitysize = (EntitySize) SIZE_FIELD_GETTER.invoke(entity); - EntityPose entitypose = entity.Z(); + EntityPose entitypose = entity.getPose(); EntitySize entitysize1 = entity.a(entitypose); SIZE_FIELD_SETTER.invoke(entity, entitysize1); HEAD_HEIGHT.invoke(entity, HEAD_HEIGHT_METHOD.invoke(entity, entitypose, entitysize1)); diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerNavigation.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerNavigation.java index 653a17c60..aac177351 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerNavigation.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerNavigation.java @@ -12,8 +12,8 @@ import net.minecraft.server.v1_14_R1.Entity; import net.minecraft.server.v1_14_R1.EntityInsentient; import net.minecraft.server.v1_14_R1.EntityTypes; import net.minecraft.server.v1_14_R1.GenericAttributes; -import net.minecraft.server.v1_14_R1.IBlockAccess; import net.minecraft.server.v1_14_R1.IBlockData; +import net.minecraft.server.v1_14_R1.IWorldReader; import net.minecraft.server.v1_14_R1.MathHelper; import net.minecraft.server.v1_14_R1.NavigationAbstract; import net.minecraft.server.v1_14_R1.PathEntity; @@ -81,16 +81,17 @@ public class PlayerNavigation extends NavigationAbstract { } else if (this.c != null && !this.c.b() && var0.equals(this.q)) { return this.c; } else { - this.q = var0; + this.q = var0.immutableCopy(); float var9 = this.i(); this.b.getMethodProfiler().enter("pathfind"); BlockPosition var10 = var8 ? (new BlockPosition(this.a)).up() : new BlockPosition(this.a); int var11 = (int) (var9 + var7); - IBlockAccess var12 = new ChunkCache(this.b, var10.b(-var11, -var11, -var11), var10.b(var11, var11, var11)); + IWorldReader var12 = new ChunkCache(this.b, var10.b(-var11, -var11, -var11), var10.b(var11, var11, var11)); PathEntity var13 = this.r.a(var12, this.a, var1, var3, var5, var9); this.b.getMethodProfiler().exit(); return var13; } + } public void a(boolean var0) { diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerPathfinder.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerPathfinder.java index 8d0a12324..08f1b1b76 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerPathfinder.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerPathfinder.java @@ -8,7 +8,7 @@ import com.google.common.collect.Sets; import net.citizensnpcs.nms.v1_14_R1.entity.EntityHumanNPC; import net.minecraft.server.v1_14_R1.EntityInsentient; -import net.minecraft.server.v1_14_R1.IBlockAccess; +import net.minecraft.server.v1_14_R1.IWorldReader; import net.minecraft.server.v1_14_R1.Path; import net.minecraft.server.v1_14_R1.PathEntity; import net.minecraft.server.v1_14_R1.PathPoint; @@ -28,7 +28,7 @@ public class PlayerPathfinder extends Pathfinder { } - public PathEntity a(IBlockAccess var0, EntityHumanNPC var1, double var2, double var4, double var6, float var8) { + public PathEntity a(IWorldReader var0, EntityHumanNPC var1, double var2, double var4, double var6, float var8) { this.a.a(); this.e.a(var0, var1); PathPoint var9 = this.e.b(); @@ -39,7 +39,7 @@ public class PlayerPathfinder extends Pathfinder { } @Override - public PathEntity a(IBlockAccess var0, EntityInsentient var1, double var2, double var4, double var6, float var8) { + public PathEntity a(IWorldReader var0, EntityInsentient var1, double var2, double var4, double var6, float var8) { this.a.a(); this.e.a(var0, var1); PathPoint var9 = this.e.b(); @@ -50,7 +50,7 @@ public class PlayerPathfinder extends Pathfinder { } private PathEntity a(PathPoint var0) { - List var1 = Lists.newArrayList(); + List var1 = Lists.newArrayList(); PathPoint var2 = var0; var1.add(0, var0); @@ -64,7 +64,7 @@ public class PlayerPathfinder extends Pathfinder { private PathEntity a(PathPoint var0, PathPoint var1, float var2) { var0.e = 0.0F; - var0.f = var0.c(var1); + var0.f = var0.a(var1); var0.g = var0.f; this.a.a(); this.b.clear(); @@ -79,44 +79,44 @@ public class PlayerPathfinder extends Pathfinder { } PathPoint var5 = this.a.c(); + var5.i = true; if (var5.equals(var1)) { var3 = var1; break; } - if (var5.c(var1) < var3.c(var1)) { + if (var5.a(var1) < var3.a(var1)) { var3 = var5; } - var5.i = true; - int var6 = this.e.a(this.c, var5, var1, var2); + if (var5.a(var1) < var2) { + int var6 = this.e.a(this.c, var5); - for (int var7 = 0; var7 < var6; ++var7) { - PathPoint var8 = this.c[var7]; - float var9 = var5.c(var8); - var8.j = var5.j + var9; - var8.k = var9 + var8.l; - float var10 = var5.e + var8.k; - if (var8.j < var2 && (!var8.c() || var10 < var8.e)) { - var8.h = var5; - var8.e = var10; - var8.f = var8.c(var1) + var8.l; - if (var8.c()) { - this.a.a(var8, var8.e + var8.f); - } else { - var8.g = var8.e + var8.f; - this.a.a(var8); + for (int var7 = 0; var7 < var6; ++var7) { + PathPoint var8 = this.c[var7]; + float var9 = var5.a(var8); + var8.j = var5.j + var9; + float var10 = var5.e + var9 + var8.k; + if (var8.j < var2 && (!var8.c() || var10 < var8.e)) { + var8.h = var5; + var8.e = var10; + var8.f = var8.a(var1) * 1.5F + var8.k; + if (var8.c()) { + this.a.a(var8, var8.e + var8.f); + } else { + var8.g = var8.e + var8.f; + this.a.a(var8); + } } } } } - if (var3 == var0) { + if (var3.equals(var0)) { return null; } else { PathEntity var5 = this.a(var3); return var5; } } - } diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerPathfinderNormal.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerPathfinderNormal.java index ab12bad45..4e0f08365 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerPathfinderNormal.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerPathfinderNormal.java @@ -23,6 +23,7 @@ import net.minecraft.server.v1_14_R1.EnumDirection.EnumAxis; import net.minecraft.server.v1_14_R1.Fluid; import net.minecraft.server.v1_14_R1.IBlockAccess; import net.minecraft.server.v1_14_R1.IBlockData; +import net.minecraft.server.v1_14_R1.IWorldReader; import net.minecraft.server.v1_14_R1.Material; import net.minecraft.server.v1_14_R1.MathHelper; import net.minecraft.server.v1_14_R1.PathMode; @@ -31,6 +32,7 @@ import net.minecraft.server.v1_14_R1.PathType; import net.minecraft.server.v1_14_R1.TagsBlock; import net.minecraft.server.v1_14_R1.TagsFluid; import net.minecraft.server.v1_14_R1.VoxelShape; +import net.minecraft.server.v1_14_R1.World; public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { protected float j; @@ -42,16 +44,16 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { } @Override - public PathPoint a(double var1, double var3, double var5) { - return this.a(MathHelper.floor(var1), MathHelper.floor(var3), MathHelper.floor(var5)); + public PathPoint a(double var0, double var2, double var4) { + return this.a(MathHelper.floor(var0), MathHelper.floor(var2), MathHelper.floor(var4)); } - private PathType a(EntityHumanNPC var1, BlockPosition var2) { - return this.a(var1, var2.getX(), var2.getY(), var2.getZ()); + private PathType a(EntityHumanNPC var0, BlockPosition var1) { + return this.a(var0, var1.getX(), var1.getY(), var1.getZ()); } - private PathType a(EntityHumanNPC var1, int var2, int var3, int var4) { - return this.a(this.a, var2, var3, var4, var1, this.d, this.e, this.f, this.d(), this.c()); + private PathType a(EntityHumanNPC var0, int var1, int var2, int var3) { + return this.a(this.a, var1, var2, var3, var0, this.d, this.e, this.f, this.d(), this.c()); } private PathType a(EntityInsentient var0, BlockPosition var1) { @@ -83,12 +85,6 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { return var4; } - @Override - public void a(IBlockAccess var1, EntityHumanNPC var2) { - super.a(var1, var2); - this.j = var2.a(PathType.WATER); - } - @Override public PathType a(IBlockAccess var0, int var1, int var2, int var3) { PathType var4 = this.b(var0, var1, var2, var3); @@ -126,16 +122,16 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { return PathType.FENCE; } else { PathType var15 = PathType.BLOCKED; - Iterator var17 = var10.iterator(); + Iterator var16 = var10.iterator(); - while (var17.hasNext()) { - PathType var18 = (PathType) var17.next(); - if (var4.a(var18) < 0.0F) { - return var18; + while (var16.hasNext()) { + PathType var17 = (PathType) var16.next(); + if (var4.a(var17) < 0.0F) { + return var17; } - if (var4.a(var18) >= var4.a(var15)) { - var15 = var18; + if (var4.a(var17) >= var4.a(var15)) { + var15 = var17; } } @@ -159,16 +155,16 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { return PathType.FENCE; } else { PathType var15 = PathType.BLOCKED; - Iterator var17 = var10.iterator(); + Iterator var16 = var10.iterator(); - while (var17.hasNext()) { - PathType var18 = (PathType) var17.next(); - if (var4.a(var18) < 0.0F) { - return var18; + while (var16.hasNext()) { + PathType var17 = (PathType) var16.next(); + if (var4.a(var17) < 0.0F) { + return var17; } - if (var4.a(var18) >= var4.a(var15)) { - var15 = var18; + if (var4.a(var17) >= var4.a(var15)) { + var15 = var17; } } @@ -205,7 +201,7 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { public PathType a(IBlockAccess var0, int var1, int var2, int var3, PathType var4) { if (var4 == PathType.WALKABLE) { PooledBlockPosition var5 = PooledBlockPosition.r(); - Throwable vart = null; + Throwable var6 = null; try { for (int var7 = -1; var7 <= 1; ++var7) { @@ -223,15 +219,15 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { } } } catch (Throwable var18) { - vart = var18; + var6 = var18; throw var18; } finally { if (var5 != null) { - if (vart != null) { + if (var6 != null) { try { var5.close(); } catch (Throwable var17) { - vart.addSuppressed(var17); + var6.addSuppressed(var17); } } else { var5.close(); @@ -256,23 +252,26 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { double var13 = this.b.getWidth() / 2.0D; if (var12 >= 0.0F) { var7 = this.a(var0, var1, var2); - var7.m = var11; - var7.l = Math.max(var7.l, var12); + var7.l = var11; + var7.k = Math.max(var7.k, var12); } if (var11 == PathType.WALKABLE) { return var7; } else { - if (var7 == null && var3 > 0 && var11 != PathType.FENCE && var11 != PathType.TRAPDOOR) { + if ((var7 == null || var7.k < 0.0F) && var3 > 0 && var11 != PathType.FENCE + && var11 != PathType.TRAPDOOR) { var7 = this.a(var0, var1 + 1, var2, var3 - 1, var4, var6); - if (var7 != null && (var7.m == PathType.OPEN || var7.m == PathType.WALKABLE) + if (var7 != null && (var7.l == PathType.OPEN || var7.l == PathType.WALKABLE) && this.b.getWidth() < 1.0F) { double var15 = var0 - var6.getAdjacentX() + 0.5D; double var17 = var2 - var6.getAdjacentZ() + 0.5D; AxisAlignedBB var19 = new AxisAlignedBB(var15 - var13, - a(this.a, new BlockPosition(var15, var1 + 1, var17)) + 0.001D, var17 - var13, - var15 + var13, this.b.getHeight() + a(this.a, var8.up()) - 0.002D, var17 + var13); - if (!this.b.world.getCubes(this.b, var19)) { + a(this.a, (new BlockPosition(var15, var1 + 1, var17))) + 0.001D, var17 - var13, + var15 + var13, + this.b.getHeight() + a(this.a, (new BlockPosition(var7.a, var7.b, var7.c))) - 0.002D, + var17 + var13); + if (!((World) this.a).getCubes(this.b, var19)) { var7 = null; } } @@ -291,15 +290,15 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { } var7 = this.a(var0, var1, var2); - var7.m = var11; - var7.l = Math.max(var7.l, this.b.a(var11)); + var7.l = var11; + var7.k = Math.max(var7.k, this.b.a(var11)); } } if (var11 == PathType.OPEN) { AxisAlignedBB var15 = new AxisAlignedBB(var0 - var13 + 0.5D, var1 + 0.001D, var2 - var13 + 0.5D, var0 + var13 + 0.5D, var1 + this.b.getHeight(), var2 + var13 + 0.5D); - if (!this.b.world.getCubes(this.b, var15)) { + if (!((World) this.a).getCubes(this.b, var15)) { return null; } @@ -307,31 +306,45 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { PathType var16 = this.a(this.b, var0, var1 - 1, var2); if (var16 == PathType.BLOCKED) { var7 = this.a(var0, var1, var2); - var7.m = PathType.WALKABLE; - var7.l = Math.max(var7.l, var12); + var7.l = PathType.WALKABLE; + var7.k = Math.max(var7.k, var12); return var7; } } - int var22 = 0; + int var16 = 0; + int var17 = var1; - while (var1 > 0 && var11 == PathType.OPEN) { + while (var11 == PathType.OPEN) { --var1; - if (var22++ >= this.b.bu()) { - return null; + PathPoint var18; + if (var1 < 0) { + var18 = this.a(var0, var17, var2); + var18.l = PathType.BLOCKED; + var18.k = -1.0F; + return var18; + } + + var18 = this.a(var0, var1, var2); + if (var16++ >= this.b.bu()) { + var18.l = PathType.BLOCKED; + var18.k = -1.0F; + return var18; } var11 = this.a(this.b, var0, var1, var2); var12 = this.b.a(var11); if (var11 != PathType.OPEN && var12 >= 0.0F) { - var7 = this.a(var0, var1, var2); - var7.m = var11; - var7.l = Math.max(var7.l, var12); + var7 = var18; + var18.l = var11; + var18.k = Math.max(var18.k, var12); break; } if (var12 < 0.0F) { - return null; + var18.l = PathType.BLOCKED; + var18.k = -1.0F; + return var18; } } } @@ -342,69 +355,67 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { } @Override - public int a(PathPoint[] var0, PathPoint var1, PathPoint var2, float var3) { - int var4 = 0; - int var5 = 0; - PathType var6 = this.a(this.b, var1.a, var1.b + 1, var1.c); - if (this.b.a(var6) >= 0.0F) { - var5 = MathHelper.d(Math.max(1.0F, this.b.K)); + public void a(IWorldReader var0, EntityInsentient var1) { + super.a(var0, var1); + this.j = var1.a(PathType.WATER); + } + + private boolean a(PathPoint var0, PathPoint var1, PathPoint var2, PathPoint var3) { + return var3 != null && !var3.i && var2 != null && var2.k >= 0.0F && var2.b <= var0.b && var1 != null + && var1.k >= 0.0F && var1.b <= var0.b; + } + + @Override + public int a(PathPoint[] var0, PathPoint var1) { + int var2 = 0; + int var3 = 0; + PathType var4 = this.a(this.b, var1.a, var1.b + 1, var1.c); + if (this.b.a(var4) >= 0.0F) { + var3 = MathHelper.d(Math.max(1.0F, this.b.K)); } - double var7 = a(this.a, new BlockPosition(var1.a, var1.b, var1.c)); - PathPoint var9 = this.a(var1.a, var1.b, var1.c + 1, var5, var7, EnumDirection.SOUTH); - PathPoint var10 = this.a(var1.a - 1, var1.b, var1.c, var5, var7, EnumDirection.WEST); - PathPoint var11 = this.a(var1.a + 1, var1.b, var1.c, var5, var7, EnumDirection.EAST); - PathPoint var12 = this.a(var1.a, var1.b, var1.c - 1, var5, var7, EnumDirection.NORTH); - if (var9 != null && !var9.i && var9.a(var2) < var3) { - var0[var4++] = var9; + double var5 = a(this.a, (new BlockPosition(var1.a, var1.b, var1.c))); + PathPoint var7 = this.a(var1.a, var1.b, var1.c + 1, var3, var5, EnumDirection.SOUTH); + if (var7 != null && !var7.i && var7.k >= 0.0F) { + var0[var2++] = var7; } - if (var10 != null && !var10.i && var10.a(var2) < var3) { - var0[var4++] = var10; + PathPoint var8 = this.a(var1.a - 1, var1.b, var1.c, var3, var5, EnumDirection.WEST); + if (var8 != null && !var8.i && var8.k >= 0.0F) { + var0[var2++] = var8; } - if (var11 != null && !var11.i && var11.a(var2) < var3) { - var0[var4++] = var11; + PathPoint var9 = this.a(var1.a + 1, var1.b, var1.c, var3, var5, EnumDirection.EAST); + if (var9 != null && !var9.i && var9.k >= 0.0F) { + var0[var2++] = var9; } - if (var12 != null && !var12.i && var12.a(var2) < var3) { - var0[var4++] = var12; + PathPoint var10 = this.a(var1.a, var1.b, var1.c - 1, var3, var5, EnumDirection.NORTH); + if (var10 != null && !var10.i && var10.k >= 0.0F) { + var0[var2++] = var10; } - boolean var13 = var12 == null || var12.m == PathType.OPEN || var12.l != 0.0F; - boolean var14 = var9 == null || var9.m == PathType.OPEN || var9.l != 0.0F; - boolean var15 = var11 == null || var11.m == PathType.OPEN || var11.l != 0.0F; - boolean var16 = var10 == null || var10.m == PathType.OPEN || var10.l != 0.0F; - PathPoint var17; - if (var13 && var16) { - var17 = this.a(var1.a - 1, var1.b, var1.c - 1, var5, var7, EnumDirection.NORTH); - if (var17 != null && !var17.i && var17.a(var2) < var3) { - var0[var4++] = var17; - } + PathPoint var11 = this.a(var1.a - 1, var1.b, var1.c - 1, var3, var5, EnumDirection.NORTH); + if (this.a(var1, var8, var10, var11)) { + var0[var2++] = var11; } - if (var13 && var15) { - var17 = this.a(var1.a + 1, var1.b, var1.c - 1, var5, var7, EnumDirection.NORTH); - if (var17 != null && !var17.i && var17.a(var2) < var3) { - var0[var4++] = var17; - } + PathPoint var12 = this.a(var1.a + 1, var1.b, var1.c - 1, var3, var5, EnumDirection.NORTH); + if (this.a(var1, var9, var10, var12)) { + var0[var2++] = var12; } - if (var14 && var16) { - var17 = this.a(var1.a - 1, var1.b, var1.c + 1, var5, var7, EnumDirection.SOUTH); - if (var17 != null && !var17.i && var17.a(var2) < var3) { - var0[var4++] = var17; - } + PathPoint var13 = this.a(var1.a - 1, var1.b, var1.c + 1, var3, var5, EnumDirection.SOUTH); + if (this.a(var1, var8, var7, var13)) { + var0[var2++] = var13; } - if (var14 && var15) { - var17 = this.a(var1.a + 1, var1.b, var1.c + 1, var5, var7, EnumDirection.SOUTH); - if (var17 != null && !var17.i && var17.a(var2) < var3) { - var0[var4++] = var17; - } + PathPoint var14 = this.a(var1.a + 1, var1.b, var1.c + 1, var3, var5, EnumDirection.SOUTH); + if (this.a(var1, var9, var7, var14)) { + var0[var2++] = var14; } - return var4; + return var2; } @Override @@ -412,14 +423,13 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { int var0; BlockPosition var1; if (this.e() && this.b.isInWater()) { - var0 = (int) this.b.getBoundingBox().minY; - MutableBlockPosition var4 = new MutableBlockPosition(MathHelper.floor(this.b.locX), var0, - MathHelper.floor(this.b.locZ)); + var0 = MathHelper.floor(this.b.getBoundingBox().minY); + var1 = new MutableBlockPosition(this.b.locX, var0, this.b.locZ); - for (Block var2 = this.a.getType(var4).getBlock(); var2 == Blocks.WATER; var2 = this.a.getType(var4) + for (Block var2 = this.a.getType(var1).getBlock(); var2 == Blocks.WATER; var2 = this.a.getType(var1) .getBlock()) { ++var0; - var4.d(MathHelper.floor(this.b.locX), var0, MathHelper.floor(this.b.locZ)); + ((MutableBlockPosition) var1).c(this.b.locX, var0, this.b.locZ); } --var0; @@ -429,7 +439,6 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { for (var1 = new BlockPosition( this.b); (this.a.getType(var1).isAir() || this.a.getType(var1).a(this.a, var1, PathMode.LAND)) && var1.getY() > 0; var1 = var1.down()) { - ; } var0 = var1.up().getY(); @@ -443,13 +452,13 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { var3.add(new BlockPosition(this.b.getBoundingBox().minX, var0, this.b.getBoundingBox().maxZ)); var3.add(new BlockPosition(this.b.getBoundingBox().maxX, var0, this.b.getBoundingBox().minZ)); var3.add(new BlockPosition(this.b.getBoundingBox().maxX, var0, this.b.getBoundingBox().maxZ)); - Iterator var5 = var3.iterator(); + Iterator var4 = var3.iterator(); - while (var5.hasNext()) { - BlockPosition var9 = (BlockPosition) var5.next(); - PathType var6 = this.a(this.b, var9); + while (var4.hasNext()) { + BlockPosition var5 = (BlockPosition) var4.next(); + PathType var6 = this.a(this.b, var5); if (this.b.a(var6) >= 0.0F) { - return this.a(var9.getX(), var9.getY(), var9.getZ()); + return this.a(var5.getX(), var5.getY(), var5.getZ()); } } } @@ -471,18 +480,18 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract { return PathType.DAMAGE_CACTUS; } else if (var6 == Blocks.SWEET_BERRY_BUSH) { return PathType.DAMAGE_OTHER; - } else if (var6 instanceof BlockDoor && var7 == Material.WOOD && !var5.get(BlockDoor.OPEN).booleanValue()) { + } else if (var6 instanceof BlockDoor && var7 == Material.WOOD && !(Boolean) var5.get(BlockDoor.OPEN)) { return PathType.DOOR_WOOD_CLOSED; - } else if (var6 instanceof BlockDoor && var7 == Material.ORE && !var5.get(BlockDoor.OPEN).booleanValue()) { + } else if (var6 instanceof BlockDoor && var7 == Material.ORE && !(Boolean) var5.get(BlockDoor.OPEN)) { return PathType.DOOR_IRON_CLOSED; - } else if (var6 instanceof BlockDoor && var5.get(BlockDoor.OPEN).booleanValue()) { + } else if (var6 instanceof BlockDoor && var5.get(BlockDoor.OPEN)) { return PathType.DOOR_OPEN; } else if (var6 instanceof BlockMinecartTrackAbstract) { return PathType.RAIL; } else if (var6 instanceof BlockLeaves) { return PathType.LEAVES; } else if (!var6.a(TagsBlock.FENCES) && !var6.a(TagsBlock.WALLS) - && (!(var6 instanceof BlockFenceGate) || var5.get(BlockFenceGate.OPEN).booleanValue())) { + && (!(var6 instanceof BlockFenceGate) || var5.get(BlockFenceGate.OPEN))) { Fluid var8 = var0.getFluid(var4); if (var8.a(TagsFluid.WATER)) { return PathType.WATER; diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerlistTracker.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerlistTracker.java index 9688687eb..0c33f0bd1 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerlistTracker.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/util/PlayerlistTracker.java @@ -34,18 +34,18 @@ public class PlayerlistTracker extends PlayerChunkMap.EntityTracker { this(map, getTracker(entry), getI(entry), getD(entry), getE(entry)); } - private int getA(PlayerChunkMap map2) { + private int getb(ChunkCoordIntPair chunkcoordintpair, EntityPlayer entityplayer, boolean b) { try { - return (int) A.invoke(map2); + return (int) B.invoke(chunkcoordintpair, entityplayer, b); } catch (Throwable e) { e.printStackTrace(); } return 0; } - private int getb(ChunkCoordIntPair chunkcoordintpair, EntityPlayer entityplayer, boolean b) { + private int getViewDistance(PlayerChunkMap map2) { try { - return (int) B.invoke(chunkcoordintpair, entityplayer, b); + return (int) VIEW_DISTANCE.invoke(map2); } catch (Throwable e) { e.printStackTrace(); } @@ -67,7 +67,7 @@ public class PlayerlistTracker extends PlayerChunkMap.EntityTracker { return; // prevent updates to NPC "viewers" Entity tracker = getTracker(this); final Vec3D vec3d = new Vec3D(entityplayer.locX, entityplayer.locY, entityplayer.locZ).d(this.trackerEntry.b()); - final int i = Math.min(this.trackingDistance, (getA(map) - 1) * 16); + final int i = Math.min(this.trackingDistance, (getViewDistance(map) - 1) * 16); final boolean flag = vec3d.x >= -i && vec3d.x <= i && vec3d.z >= -i && vec3d.z <= i && this.tracker.a(entityplayer); if (entityplayer != tracker && flag && tracker instanceof SkinnableEntity) { @@ -76,7 +76,7 @@ public class PlayerlistTracker extends PlayerChunkMap.EntityTracker { ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(this.tracker.chunkX, this.tracker.chunkZ); PlayerChunk playerchunk = getVisibleChunk(chunkcoordintpair.pair()); if (playerchunk.getChunk() != null) { - flag1 = getb(chunkcoordintpair, entityplayer, false) <= getA(map); + flag1 = getb(chunkcoordintpair, entityplayer, false) <= getViewDistance(map); } }*/ if (!this.trackedPlayers.contains(entityplayer)) { @@ -137,7 +137,6 @@ public class PlayerlistTracker extends PlayerChunkMap.EntityTracker { return null; } - private static final MethodHandle A = NMS.getGetter(PlayerChunkMap.class, "A"); private static final MethodHandle B = NMS.getMethodHandle(PlayerChunkMap.class, "b", true, ChunkCoordIntPair.class, EntityPlayer.class, boolean.class); private static final MethodHandle D = NMS.getGetter(EntityTrackerEntry.class, "d"); @@ -147,4 +146,5 @@ public class PlayerlistTracker extends PlayerChunkMap.EntityTracker { private static final MethodHandle I = NMS.getGetter(EntityTracker.class, "trackingDistance"); private static final MethodHandle TRACKER = NMS.getGetter(EntityTracker.class, "tracker"); private static final MethodHandle TRACKER_ENTRY = NMS.getGetter(EntityTracker.class, "trackerEntry"); + private static final MethodHandle VIEW_DISTANCE = NMS.getGetter(PlayerChunkMap.class, "viewDistance"); }