mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2024-09-27 06:42:57 +02:00
Update for 1.14.1
This commit is contained in:
parent
4d00e903f3
commit
c901bb0ebe
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<craftbukkit.version>1.14-R0.1-SNAPSHOT</craftbukkit.version>
|
<craftbukkit.version>1.14.1-R0.1-SNAPSHOT</craftbukkit.version>
|
||||||
<citizensapi.version>${project.version}</citizensapi.version>
|
<citizensapi.version>${project.version}</citizensapi.version>
|
||||||
<powermock.version>1.4.12</powermock.version>
|
<powermock.version>1.4.12</powermock.version>
|
||||||
<bstats.version>1.5</bstats.version>
|
<bstats.version>1.5</bstats.version>
|
||||||
@ -118,8 +118,8 @@
|
|||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.8.0</version>
|
<version>3.8.0</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>1.6</source>
|
<source>1.8</source>
|
||||||
<target>1.6</target>
|
<target>1.8</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
||||||
@ -164,7 +164,7 @@
|
|||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-javadoc-plugin</artifactId>
|
<artifactId>maven-javadoc-plugin</artifactId>
|
||||||
|
@ -49,8 +49,8 @@
|
|||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>2.3.2</version>
|
<version>2.3.2</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>1.6</source>
|
<source>1.8</source>
|
||||||
<target>1.6</target>
|
<target>1.8</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
||||||
|
@ -49,8 +49,8 @@
|
|||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>2.3.2</version>
|
<version>2.3.2</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>1.6</source>
|
<source>1.8</source>
|
||||||
<target>1.6</target>
|
<target>1.8</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
||||||
@ -72,7 +72,7 @@
|
|||||||
</goals>
|
</goals>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
</project>
|
</project>
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<craftbukkit.version>1.14-R0.1-SNAPSHOT</craftbukkit.version>
|
<craftbukkit.version>1.14.1-R0.1-SNAPSHOT</craftbukkit.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
|
@ -20,7 +20,7 @@ import net.citizensnpcs.util.Util;
|
|||||||
import net.minecraft.server.v1_14_R1.BlockPosition;
|
import net.minecraft.server.v1_14_R1.BlockPosition;
|
||||||
import net.minecraft.server.v1_14_R1.DamageSource;
|
import net.minecraft.server.v1_14_R1.DamageSource;
|
||||||
import net.minecraft.server.v1_14_R1.DataWatcherObject;
|
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.EntityTypes;
|
||||||
import net.minecraft.server.v1_14_R1.IBlockData;
|
import net.minecraft.server.v1_14_R1.IBlockData;
|
||||||
import net.minecraft.server.v1_14_R1.NBTTagCompound;
|
import net.minecraft.server.v1_14_R1.NBTTagCompound;
|
||||||
@ -44,16 +44,16 @@ public class TraderLlamaController extends MobEntityController {
|
|||||||
super.spawn(at, npc);
|
super.spawn(at, npc);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class EntityTraderLlamaNPC extends EntityLLamaTrader implements NPCHolder {
|
public static class EntityTraderLlamaNPC extends EntityLlamaTrader implements NPCHolder {
|
||||||
boolean calledNMSHeight = false;
|
boolean calledNMSHeight = false;
|
||||||
|
|
||||||
private final CitizensNPC npc;
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
public EntityTraderLlamaNPC(EntityTypes<? extends EntityLLamaTrader> types, World world) {
|
public EntityTraderLlamaNPC(EntityTypes<? extends EntityLlamaTrader> types, World world) {
|
||||||
this(types, world, null);
|
this(types, world, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public EntityTraderLlamaNPC(EntityTypes<? extends EntityLLamaTrader> types, World world, NPC npc) {
|
public EntityTraderLlamaNPC(EntityTypes<? extends EntityLlamaTrader> types, World world, NPC npc) {
|
||||||
super(types, world);
|
super(types, world);
|
||||||
this.npc = (CitizensNPC) npc;
|
this.npc = (CitizensNPC) npc;
|
||||||
if (npc != null) {
|
if (npc != null) {
|
||||||
@ -209,6 +209,7 @@ public class TraderLlamaController extends MobEntityController {
|
|||||||
if (npc == null) {
|
if (npc == null) {
|
||||||
super.mobTick();
|
super.mobTick();
|
||||||
} else {
|
} else {
|
||||||
|
v(10);
|
||||||
NMS.setStepHeight(getBukkitEntity(), 1);
|
NMS.setStepHeight(getBukkitEntity(), 1);
|
||||||
npc.update();
|
npc.update();
|
||||||
}
|
}
|
||||||
|
@ -122,12 +122,12 @@ public class VillagerController extends MobEntityController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean dX() {
|
public boolean dY() {
|
||||||
if (blockingATrade) {
|
if (blockingATrade) {
|
||||||
blockingATrade = false;
|
blockingATrade = false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return super.dX();
|
return super.dY();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -121,12 +121,12 @@ public class WanderingTraderController extends MobEntityController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean dX() {
|
public boolean dY() {
|
||||||
if (blockingATrade) {
|
if (blockingATrade) {
|
||||||
blockingATrade = false;
|
blockingATrade = false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return super.dX();
|
return super.dY();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -181,7 +181,7 @@ public class CustomEntityRegistry extends RegistryBlocks {
|
|||||||
minecraftClassMap.put(EntityTypes.SPIDER, EntitySpider.class);
|
minecraftClassMap.put(EntityTypes.SPIDER, EntitySpider.class);
|
||||||
minecraftClassMap.put(EntityTypes.SQUID, EntitySquid.class);
|
minecraftClassMap.put(EntityTypes.SQUID, EntitySquid.class);
|
||||||
minecraftClassMap.put(EntityTypes.STRAY, EntitySkeletonStray.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.TROPICAL_FISH, EntityTropicalFish.class);
|
||||||
minecraftClassMap.put(EntityTypes.TURTLE, EntityTurtle.class);
|
minecraftClassMap.put(EntityTypes.TURTLE, EntityTurtle.class);
|
||||||
minecraftClassMap.put(EntityTypes.EGG, EntityEgg.class);
|
minecraftClassMap.put(EntityTypes.EGG, EntityEgg.class);
|
||||||
|
@ -1610,7 +1610,7 @@ public class NMSImpl implements NMSBridge {
|
|||||||
public static void setSize(Entity entity, boolean justCreated) {
|
public static void setSize(Entity entity, boolean justCreated) {
|
||||||
try {
|
try {
|
||||||
EntitySize entitysize = (EntitySize) SIZE_FIELD_GETTER.invoke(entity);
|
EntitySize entitysize = (EntitySize) SIZE_FIELD_GETTER.invoke(entity);
|
||||||
EntityPose entitypose = entity.Z();
|
EntityPose entitypose = entity.getPose();
|
||||||
EntitySize entitysize1 = entity.a(entitypose);
|
EntitySize entitysize1 = entity.a(entitypose);
|
||||||
SIZE_FIELD_SETTER.invoke(entity, entitysize1);
|
SIZE_FIELD_SETTER.invoke(entity, entitysize1);
|
||||||
HEAD_HEIGHT.invoke(entity, HEAD_HEIGHT_METHOD.invoke(entity, entitypose, entitysize1));
|
HEAD_HEIGHT.invoke(entity, HEAD_HEIGHT_METHOD.invoke(entity, entitypose, entitysize1));
|
||||||
|
@ -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.EntityInsentient;
|
||||||
import net.minecraft.server.v1_14_R1.EntityTypes;
|
import net.minecraft.server.v1_14_R1.EntityTypes;
|
||||||
import net.minecraft.server.v1_14_R1.GenericAttributes;
|
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.IBlockData;
|
||||||
|
import net.minecraft.server.v1_14_R1.IWorldReader;
|
||||||
import net.minecraft.server.v1_14_R1.MathHelper;
|
import net.minecraft.server.v1_14_R1.MathHelper;
|
||||||
import net.minecraft.server.v1_14_R1.NavigationAbstract;
|
import net.minecraft.server.v1_14_R1.NavigationAbstract;
|
||||||
import net.minecraft.server.v1_14_R1.PathEntity;
|
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)) {
|
} else if (this.c != null && !this.c.b() && var0.equals(this.q)) {
|
||||||
return this.c;
|
return this.c;
|
||||||
} else {
|
} else {
|
||||||
this.q = var0;
|
this.q = var0.immutableCopy();
|
||||||
float var9 = this.i();
|
float var9 = this.i();
|
||||||
this.b.getMethodProfiler().enter("pathfind");
|
this.b.getMethodProfiler().enter("pathfind");
|
||||||
BlockPosition var10 = var8 ? (new BlockPosition(this.a)).up() : new BlockPosition(this.a);
|
BlockPosition var10 = var8 ? (new BlockPosition(this.a)).up() : new BlockPosition(this.a);
|
||||||
int var11 = (int) (var9 + var7);
|
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);
|
PathEntity var13 = this.r.a(var12, this.a, var1, var3, var5, var9);
|
||||||
this.b.getMethodProfiler().exit();
|
this.b.getMethodProfiler().exit();
|
||||||
return var13;
|
return var13;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void a(boolean var0) {
|
public void a(boolean var0) {
|
||||||
|
@ -8,7 +8,7 @@ import com.google.common.collect.Sets;
|
|||||||
|
|
||||||
import net.citizensnpcs.nms.v1_14_R1.entity.EntityHumanNPC;
|
import net.citizensnpcs.nms.v1_14_R1.entity.EntityHumanNPC;
|
||||||
import net.minecraft.server.v1_14_R1.EntityInsentient;
|
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.Path;
|
||||||
import net.minecraft.server.v1_14_R1.PathEntity;
|
import net.minecraft.server.v1_14_R1.PathEntity;
|
||||||
import net.minecraft.server.v1_14_R1.PathPoint;
|
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.a.a();
|
||||||
this.e.a(var0, var1);
|
this.e.a(var0, var1);
|
||||||
PathPoint var9 = this.e.b();
|
PathPoint var9 = this.e.b();
|
||||||
@ -39,7 +39,7 @@ public class PlayerPathfinder extends Pathfinder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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.a.a();
|
||||||
this.e.a(var0, var1);
|
this.e.a(var0, var1);
|
||||||
PathPoint var9 = this.e.b();
|
PathPoint var9 = this.e.b();
|
||||||
@ -50,7 +50,7 @@ public class PlayerPathfinder extends Pathfinder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private PathEntity a(PathPoint var0) {
|
private PathEntity a(PathPoint var0) {
|
||||||
List<PathPoint> var1 = Lists.newArrayList();
|
List var1 = Lists.newArrayList();
|
||||||
PathPoint var2 = var0;
|
PathPoint var2 = var0;
|
||||||
var1.add(0, var0);
|
var1.add(0, var0);
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ public class PlayerPathfinder extends Pathfinder {
|
|||||||
|
|
||||||
private PathEntity a(PathPoint var0, PathPoint var1, float var2) {
|
private PathEntity a(PathPoint var0, PathPoint var1, float var2) {
|
||||||
var0.e = 0.0F;
|
var0.e = 0.0F;
|
||||||
var0.f = var0.c(var1);
|
var0.f = var0.a(var1);
|
||||||
var0.g = var0.f;
|
var0.g = var0.f;
|
||||||
this.a.a();
|
this.a.a();
|
||||||
this.b.clear();
|
this.b.clear();
|
||||||
@ -79,44 +79,44 @@ public class PlayerPathfinder extends Pathfinder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
PathPoint var5 = this.a.c();
|
PathPoint var5 = this.a.c();
|
||||||
|
var5.i = true;
|
||||||
if (var5.equals(var1)) {
|
if (var5.equals(var1)) {
|
||||||
var3 = var1;
|
var3 = var1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var5.c(var1) < var3.c(var1)) {
|
if (var5.a(var1) < var3.a(var1)) {
|
||||||
var3 = var5;
|
var3 = var5;
|
||||||
}
|
}
|
||||||
|
|
||||||
var5.i = true;
|
if (var5.a(var1) < var2) {
|
||||||
int var6 = this.e.a(this.c, var5, var1, var2);
|
int var6 = this.e.a(this.c, var5);
|
||||||
|
|
||||||
for (int var7 = 0; var7 < var6; ++var7) {
|
for (int var7 = 0; var7 < var6; ++var7) {
|
||||||
PathPoint var8 = this.c[var7];
|
PathPoint var8 = this.c[var7];
|
||||||
float var9 = var5.c(var8);
|
float var9 = var5.a(var8);
|
||||||
var8.j = var5.j + var9;
|
var8.j = var5.j + var9;
|
||||||
var8.k = var9 + var8.l;
|
float var10 = var5.e + var9 + var8.k;
|
||||||
float var10 = var5.e + var8.k;
|
if (var8.j < var2 && (!var8.c() || var10 < var8.e)) {
|
||||||
if (var8.j < var2 && (!var8.c() || var10 < var8.e)) {
|
var8.h = var5;
|
||||||
var8.h = var5;
|
var8.e = var10;
|
||||||
var8.e = var10;
|
var8.f = var8.a(var1) * 1.5F + var8.k;
|
||||||
var8.f = var8.c(var1) + var8.l;
|
if (var8.c()) {
|
||||||
if (var8.c()) {
|
this.a.a(var8, var8.e + var8.f);
|
||||||
this.a.a(var8, var8.e + var8.f);
|
} else {
|
||||||
} else {
|
var8.g = var8.e + var8.f;
|
||||||
var8.g = var8.e + var8.f;
|
this.a.a(var8);
|
||||||
this.a.a(var8);
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var3 == var0) {
|
if (var3.equals(var0)) {
|
||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
PathEntity var5 = this.a(var3);
|
PathEntity var5 = this.a(var3);
|
||||||
return var5;
|
return var5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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.Fluid;
|
||||||
import net.minecraft.server.v1_14_R1.IBlockAccess;
|
import net.minecraft.server.v1_14_R1.IBlockAccess;
|
||||||
import net.minecraft.server.v1_14_R1.IBlockData;
|
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.Material;
|
||||||
import net.minecraft.server.v1_14_R1.MathHelper;
|
import net.minecraft.server.v1_14_R1.MathHelper;
|
||||||
import net.minecraft.server.v1_14_R1.PathMode;
|
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.TagsBlock;
|
||||||
import net.minecraft.server.v1_14_R1.TagsFluid;
|
import net.minecraft.server.v1_14_R1.TagsFluid;
|
||||||
import net.minecraft.server.v1_14_R1.VoxelShape;
|
import net.minecraft.server.v1_14_R1.VoxelShape;
|
||||||
|
import net.minecraft.server.v1_14_R1.World;
|
||||||
|
|
||||||
public class PlayerPathfinderNormal extends PlayerPathfinderAbstract {
|
public class PlayerPathfinderNormal extends PlayerPathfinderAbstract {
|
||||||
protected float j;
|
protected float j;
|
||||||
@ -42,16 +44,16 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PathPoint a(double var1, double var3, double var5) {
|
public PathPoint a(double var0, double var2, double var4) {
|
||||||
return this.a(MathHelper.floor(var1), MathHelper.floor(var3), MathHelper.floor(var5));
|
return this.a(MathHelper.floor(var0), MathHelper.floor(var2), MathHelper.floor(var4));
|
||||||
}
|
}
|
||||||
|
|
||||||
private PathType a(EntityHumanNPC var1, BlockPosition var2) {
|
private PathType a(EntityHumanNPC var0, BlockPosition var1) {
|
||||||
return this.a(var1, var2.getX(), var2.getY(), var2.getZ());
|
return this.a(var0, var1.getX(), var1.getY(), var1.getZ());
|
||||||
}
|
}
|
||||||
|
|
||||||
private PathType a(EntityHumanNPC var1, int var2, int var3, int var4) {
|
private PathType a(EntityHumanNPC var0, int var1, int var2, int var3) {
|
||||||
return this.a(this.a, var2, var3, var4, var1, this.d, this.e, this.f, this.d(), this.c());
|
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) {
|
private PathType a(EntityInsentient var0, BlockPosition var1) {
|
||||||
@ -83,12 +85,6 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract {
|
|||||||
return var4;
|
return var4;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void a(IBlockAccess var1, EntityHumanNPC var2) {
|
|
||||||
super.a(var1, var2);
|
|
||||||
this.j = var2.a(PathType.WATER);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PathType a(IBlockAccess var0, int var1, int var2, int var3) {
|
public PathType a(IBlockAccess var0, int var1, int var2, int var3) {
|
||||||
PathType var4 = this.b(var0, var1, var2, var3);
|
PathType var4 = this.b(var0, var1, var2, var3);
|
||||||
@ -126,16 +122,16 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract {
|
|||||||
return PathType.FENCE;
|
return PathType.FENCE;
|
||||||
} else {
|
} else {
|
||||||
PathType var15 = PathType.BLOCKED;
|
PathType var15 = PathType.BLOCKED;
|
||||||
Iterator var17 = var10.iterator();
|
Iterator var16 = var10.iterator();
|
||||||
|
|
||||||
while (var17.hasNext()) {
|
while (var16.hasNext()) {
|
||||||
PathType var18 = (PathType) var17.next();
|
PathType var17 = (PathType) var16.next();
|
||||||
if (var4.a(var18) < 0.0F) {
|
if (var4.a(var17) < 0.0F) {
|
||||||
return var18;
|
return var17;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var4.a(var18) >= var4.a(var15)) {
|
if (var4.a(var17) >= var4.a(var15)) {
|
||||||
var15 = var18;
|
var15 = var17;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -159,16 +155,16 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract {
|
|||||||
return PathType.FENCE;
|
return PathType.FENCE;
|
||||||
} else {
|
} else {
|
||||||
PathType var15 = PathType.BLOCKED;
|
PathType var15 = PathType.BLOCKED;
|
||||||
Iterator var17 = var10.iterator();
|
Iterator var16 = var10.iterator();
|
||||||
|
|
||||||
while (var17.hasNext()) {
|
while (var16.hasNext()) {
|
||||||
PathType var18 = (PathType) var17.next();
|
PathType var17 = (PathType) var16.next();
|
||||||
if (var4.a(var18) < 0.0F) {
|
if (var4.a(var17) < 0.0F) {
|
||||||
return var18;
|
return var17;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var4.a(var18) >= var4.a(var15)) {
|
if (var4.a(var17) >= var4.a(var15)) {
|
||||||
var15 = var18;
|
var15 = var17;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -205,7 +201,7 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract {
|
|||||||
public PathType a(IBlockAccess var0, int var1, int var2, int var3, PathType var4) {
|
public PathType a(IBlockAccess var0, int var1, int var2, int var3, PathType var4) {
|
||||||
if (var4 == PathType.WALKABLE) {
|
if (var4 == PathType.WALKABLE) {
|
||||||
PooledBlockPosition var5 = PooledBlockPosition.r();
|
PooledBlockPosition var5 = PooledBlockPosition.r();
|
||||||
Throwable vart = null;
|
Throwable var6 = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
for (int var7 = -1; var7 <= 1; ++var7) {
|
for (int var7 = -1; var7 <= 1; ++var7) {
|
||||||
@ -223,15 +219,15 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Throwable var18) {
|
} catch (Throwable var18) {
|
||||||
vart = var18;
|
var6 = var18;
|
||||||
throw var18;
|
throw var18;
|
||||||
} finally {
|
} finally {
|
||||||
if (var5 != null) {
|
if (var5 != null) {
|
||||||
if (vart != null) {
|
if (var6 != null) {
|
||||||
try {
|
try {
|
||||||
var5.close();
|
var5.close();
|
||||||
} catch (Throwable var17) {
|
} catch (Throwable var17) {
|
||||||
vart.addSuppressed(var17);
|
var6.addSuppressed(var17);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
var5.close();
|
var5.close();
|
||||||
@ -256,23 +252,26 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract {
|
|||||||
double var13 = this.b.getWidth() / 2.0D;
|
double var13 = this.b.getWidth() / 2.0D;
|
||||||
if (var12 >= 0.0F) {
|
if (var12 >= 0.0F) {
|
||||||
var7 = this.a(var0, var1, var2);
|
var7 = this.a(var0, var1, var2);
|
||||||
var7.m = var11;
|
var7.l = var11;
|
||||||
var7.l = Math.max(var7.l, var12);
|
var7.k = Math.max(var7.k, var12);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var11 == PathType.WALKABLE) {
|
if (var11 == PathType.WALKABLE) {
|
||||||
return var7;
|
return var7;
|
||||||
} else {
|
} 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);
|
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) {
|
&& this.b.getWidth() < 1.0F) {
|
||||||
double var15 = var0 - var6.getAdjacentX() + 0.5D;
|
double var15 = var0 - var6.getAdjacentX() + 0.5D;
|
||||||
double var17 = var2 - var6.getAdjacentZ() + 0.5D;
|
double var17 = var2 - var6.getAdjacentZ() + 0.5D;
|
||||||
AxisAlignedBB var19 = new AxisAlignedBB(var15 - var13,
|
AxisAlignedBB var19 = new AxisAlignedBB(var15 - var13,
|
||||||
a(this.a, new BlockPosition(var15, var1 + 1, var17)) + 0.001D, var17 - 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);
|
var15 + var13,
|
||||||
if (!this.b.world.getCubes(this.b, var19)) {
|
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;
|
var7 = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -291,15 +290,15 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var7 = this.a(var0, var1, var2);
|
var7 = this.a(var0, var1, var2);
|
||||||
var7.m = var11;
|
var7.l = var11;
|
||||||
var7.l = Math.max(var7.l, this.b.a(var11));
|
var7.k = Math.max(var7.k, this.b.a(var11));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var11 == PathType.OPEN) {
|
if (var11 == PathType.OPEN) {
|
||||||
AxisAlignedBB var15 = new AxisAlignedBB(var0 - var13 + 0.5D, var1 + 0.001D, var2 - var13 + 0.5D,
|
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);
|
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;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -307,31 +306,45 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract {
|
|||||||
PathType var16 = this.a(this.b, var0, var1 - 1, var2);
|
PathType var16 = this.a(this.b, var0, var1 - 1, var2);
|
||||||
if (var16 == PathType.BLOCKED) {
|
if (var16 == PathType.BLOCKED) {
|
||||||
var7 = this.a(var0, var1, var2);
|
var7 = this.a(var0, var1, var2);
|
||||||
var7.m = PathType.WALKABLE;
|
var7.l = PathType.WALKABLE;
|
||||||
var7.l = Math.max(var7.l, var12);
|
var7.k = Math.max(var7.k, var12);
|
||||||
return var7;
|
return var7;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int var22 = 0;
|
int var16 = 0;
|
||||||
|
int var17 = var1;
|
||||||
|
|
||||||
while (var1 > 0 && var11 == PathType.OPEN) {
|
while (var11 == PathType.OPEN) {
|
||||||
--var1;
|
--var1;
|
||||||
if (var22++ >= this.b.bu()) {
|
PathPoint var18;
|
||||||
return null;
|
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);
|
var11 = this.a(this.b, var0, var1, var2);
|
||||||
var12 = this.b.a(var11);
|
var12 = this.b.a(var11);
|
||||||
if (var11 != PathType.OPEN && var12 >= 0.0F) {
|
if (var11 != PathType.OPEN && var12 >= 0.0F) {
|
||||||
var7 = this.a(var0, var1, var2);
|
var7 = var18;
|
||||||
var7.m = var11;
|
var18.l = var11;
|
||||||
var7.l = Math.max(var7.l, var12);
|
var18.k = Math.max(var18.k, var12);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var12 < 0.0F) {
|
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
|
@Override
|
||||||
public int a(PathPoint[] var0, PathPoint var1, PathPoint var2, float var3) {
|
public void a(IWorldReader var0, EntityInsentient var1) {
|
||||||
int var4 = 0;
|
super.a(var0, var1);
|
||||||
int var5 = 0;
|
this.j = var1.a(PathType.WATER);
|
||||||
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));
|
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));
|
double var5 = 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 var7 = this.a(var1.a, var1.b, var1.c + 1, var3, var5, EnumDirection.SOUTH);
|
||||||
PathPoint var10 = this.a(var1.a - 1, var1.b, var1.c, var5, var7, EnumDirection.WEST);
|
if (var7 != null && !var7.i && var7.k >= 0.0F) {
|
||||||
PathPoint var11 = this.a(var1.a + 1, var1.b, var1.c, var5, var7, EnumDirection.EAST);
|
var0[var2++] = var7;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var10 != null && !var10.i && var10.a(var2) < var3) {
|
PathPoint var8 = this.a(var1.a - 1, var1.b, var1.c, var3, var5, EnumDirection.WEST);
|
||||||
var0[var4++] = var10;
|
if (var8 != null && !var8.i && var8.k >= 0.0F) {
|
||||||
|
var0[var2++] = var8;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var11 != null && !var11.i && var11.a(var2) < var3) {
|
PathPoint var9 = this.a(var1.a + 1, var1.b, var1.c, var3, var5, EnumDirection.EAST);
|
||||||
var0[var4++] = var11;
|
if (var9 != null && !var9.i && var9.k >= 0.0F) {
|
||||||
|
var0[var2++] = var9;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var12 != null && !var12.i && var12.a(var2) < var3) {
|
PathPoint var10 = this.a(var1.a, var1.b, var1.c - 1, var3, var5, EnumDirection.NORTH);
|
||||||
var0[var4++] = var12;
|
if (var10 != null && !var10.i && var10.k >= 0.0F) {
|
||||||
|
var0[var2++] = var10;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean var13 = var12 == null || var12.m == PathType.OPEN || var12.l != 0.0F;
|
PathPoint var11 = this.a(var1.a - 1, var1.b, var1.c - 1, var3, var5, EnumDirection.NORTH);
|
||||||
boolean var14 = var9 == null || var9.m == PathType.OPEN || var9.l != 0.0F;
|
if (this.a(var1, var8, var10, var11)) {
|
||||||
boolean var15 = var11 == null || var11.m == PathType.OPEN || var11.l != 0.0F;
|
var0[var2++] = var11;
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var13 && var15) {
|
PathPoint var12 = this.a(var1.a + 1, var1.b, var1.c - 1, var3, var5, EnumDirection.NORTH);
|
||||||
var17 = this.a(var1.a + 1, var1.b, var1.c - 1, var5, var7, EnumDirection.NORTH);
|
if (this.a(var1, var9, var10, var12)) {
|
||||||
if (var17 != null && !var17.i && var17.a(var2) < var3) {
|
var0[var2++] = var12;
|
||||||
var0[var4++] = var17;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var14 && var16) {
|
PathPoint var13 = this.a(var1.a - 1, var1.b, var1.c + 1, var3, var5, EnumDirection.SOUTH);
|
||||||
var17 = this.a(var1.a - 1, var1.b, var1.c + 1, var5, var7, EnumDirection.SOUTH);
|
if (this.a(var1, var8, var7, var13)) {
|
||||||
if (var17 != null && !var17.i && var17.a(var2) < var3) {
|
var0[var2++] = var13;
|
||||||
var0[var4++] = var17;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var14 && var15) {
|
PathPoint var14 = this.a(var1.a + 1, var1.b, var1.c + 1, var3, var5, EnumDirection.SOUTH);
|
||||||
var17 = this.a(var1.a + 1, var1.b, var1.c + 1, var5, var7, EnumDirection.SOUTH);
|
if (this.a(var1, var9, var7, var14)) {
|
||||||
if (var17 != null && !var17.i && var17.a(var2) < var3) {
|
var0[var2++] = var14;
|
||||||
var0[var4++] = var17;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return var4;
|
return var2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -412,14 +423,13 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract {
|
|||||||
int var0;
|
int var0;
|
||||||
BlockPosition var1;
|
BlockPosition var1;
|
||||||
if (this.e() && this.b.isInWater()) {
|
if (this.e() && this.b.isInWater()) {
|
||||||
var0 = (int) this.b.getBoundingBox().minY;
|
var0 = MathHelper.floor(this.b.getBoundingBox().minY);
|
||||||
MutableBlockPosition var4 = new MutableBlockPosition(MathHelper.floor(this.b.locX), var0,
|
var1 = new MutableBlockPosition(this.b.locX, var0, this.b.locZ);
|
||||||
MathHelper.floor(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()) {
|
.getBlock()) {
|
||||||
++var0;
|
++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;
|
--var0;
|
||||||
@ -429,7 +439,6 @@ public class PlayerPathfinderNormal extends PlayerPathfinderAbstract {
|
|||||||
for (var1 = new BlockPosition(
|
for (var1 = new BlockPosition(
|
||||||
this.b); (this.a.getType(var1).isAir() || this.a.getType(var1).a(this.a, var1, PathMode.LAND))
|
this.b); (this.a.getType(var1).isAir() || this.a.getType(var1).a(this.a, var1, PathMode.LAND))
|
||||||
&& var1.getY() > 0; var1 = var1.down()) {
|
&& var1.getY() > 0; var1 = var1.down()) {
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var0 = var1.up().getY();
|
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().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().minZ));
|
||||||
var3.add(new BlockPosition(this.b.getBoundingBox().maxX, var0, this.b.getBoundingBox().maxZ));
|
var3.add(new BlockPosition(this.b.getBoundingBox().maxX, var0, this.b.getBoundingBox().maxZ));
|
||||||
Iterator var5 = var3.iterator();
|
Iterator var4 = var3.iterator();
|
||||||
|
|
||||||
while (var5.hasNext()) {
|
while (var4.hasNext()) {
|
||||||
BlockPosition var9 = (BlockPosition) var5.next();
|
BlockPosition var5 = (BlockPosition) var4.next();
|
||||||
PathType var6 = this.a(this.b, var9);
|
PathType var6 = this.a(this.b, var5);
|
||||||
if (this.b.a(var6) >= 0.0F) {
|
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;
|
return PathType.DAMAGE_CACTUS;
|
||||||
} else if (var6 == Blocks.SWEET_BERRY_BUSH) {
|
} else if (var6 == Blocks.SWEET_BERRY_BUSH) {
|
||||||
return PathType.DAMAGE_OTHER;
|
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;
|
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;
|
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;
|
return PathType.DOOR_OPEN;
|
||||||
} else if (var6 instanceof BlockMinecartTrackAbstract) {
|
} else if (var6 instanceof BlockMinecartTrackAbstract) {
|
||||||
return PathType.RAIL;
|
return PathType.RAIL;
|
||||||
} else if (var6 instanceof BlockLeaves) {
|
} else if (var6 instanceof BlockLeaves) {
|
||||||
return PathType.LEAVES;
|
return PathType.LEAVES;
|
||||||
} else if (!var6.a(TagsBlock.FENCES) && !var6.a(TagsBlock.WALLS)
|
} 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);
|
Fluid var8 = var0.getFluid(var4);
|
||||||
if (var8.a(TagsFluid.WATER)) {
|
if (var8.a(TagsFluid.WATER)) {
|
||||||
return PathType.WATER;
|
return PathType.WATER;
|
||||||
|
@ -34,18 +34,18 @@ public class PlayerlistTracker extends PlayerChunkMap.EntityTracker {
|
|||||||
this(map, getTracker(entry), getI(entry), getD(entry), getE(entry));
|
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 {
|
try {
|
||||||
return (int) A.invoke(map2);
|
return (int) B.invoke(chunkcoordintpair, entityplayer, b);
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getb(ChunkCoordIntPair chunkcoordintpair, EntityPlayer entityplayer, boolean b) {
|
private int getViewDistance(PlayerChunkMap map2) {
|
||||||
try {
|
try {
|
||||||
return (int) B.invoke(chunkcoordintpair, entityplayer, b);
|
return (int) VIEW_DISTANCE.invoke(map2);
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -67,7 +67,7 @@ public class PlayerlistTracker extends PlayerChunkMap.EntityTracker {
|
|||||||
return; // prevent updates to NPC "viewers"
|
return; // prevent updates to NPC "viewers"
|
||||||
Entity tracker = getTracker(this);
|
Entity tracker = getTracker(this);
|
||||||
final Vec3D vec3d = new Vec3D(entityplayer.locX, entityplayer.locY, entityplayer.locZ).d(this.trackerEntry.b());
|
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
|
final boolean flag = vec3d.x >= -i && vec3d.x <= i && vec3d.z >= -i && vec3d.z <= i
|
||||||
&& this.tracker.a(entityplayer);
|
&& this.tracker.a(entityplayer);
|
||||||
if (entityplayer != tracker && flag && tracker instanceof SkinnableEntity) {
|
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);
|
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(this.tracker.chunkX, this.tracker.chunkZ);
|
||||||
PlayerChunk playerchunk = getVisibleChunk(chunkcoordintpair.pair());
|
PlayerChunk playerchunk = getVisibleChunk(chunkcoordintpair.pair());
|
||||||
if (playerchunk.getChunk() != null) {
|
if (playerchunk.getChunk() != null) {
|
||||||
flag1 = getb(chunkcoordintpair, entityplayer, false) <= getA(map);
|
flag1 = getb(chunkcoordintpair, entityplayer, false) <= getViewDistance(map);
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
if (!this.trackedPlayers.contains(entityplayer)) {
|
if (!this.trackedPlayers.contains(entityplayer)) {
|
||||||
@ -137,7 +137,6 @@ public class PlayerlistTracker extends PlayerChunkMap.EntityTracker {
|
|||||||
return null;
|
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,
|
private static final MethodHandle B = NMS.getMethodHandle(PlayerChunkMap.class, "b", true, ChunkCoordIntPair.class,
|
||||||
EntityPlayer.class, boolean.class);
|
EntityPlayer.class, boolean.class);
|
||||||
private static final MethodHandle D = NMS.getGetter(EntityTrackerEntry.class, "d");
|
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 I = NMS.getGetter(EntityTracker.class, "trackingDistance");
|
||||||
private static final MethodHandle TRACKER = NMS.getGetter(EntityTracker.class, "tracker");
|
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 TRACKER_ENTRY = NMS.getGetter(EntityTracker.class, "trackerEntry");
|
||||||
|
private static final MethodHandle VIEW_DISTANCE = NMS.getGetter(PlayerChunkMap.class, "viewDistance");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user