mirror of
https://github.com/Sollace/Unicopia.git
synced 2024-11-27 15:17:59 +01:00
Improve the bat pony stealth checks
This commit is contained in:
parent
45c7f8655a
commit
e645423a14
2 changed files with 16 additions and 5 deletions
|
@ -180,7 +180,7 @@ public class PlayerPhysics extends EntityPhysics<PlayerEntity> implements Tickab
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private double getHorizontalMotion() {
|
public double getHorizontalMotion() {
|
||||||
return lastVel.horizontalLengthSquared();
|
return lastVel.horizontalLengthSquared();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -452,11 +452,22 @@ public class Pony extends Living<PlayerEntity> implements Copyable<Pony>, Update
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canBeSeenBy(Entity entity) {
|
public boolean canBeSeenBy(Entity entity) {
|
||||||
if (entity instanceof HostileEntity && getActualSpecies() == Race.BAT) {
|
if (entity instanceof HostileEntity hostile
|
||||||
float velocityScale = MathHelper.clamp((float)this.entity.getVelocity().horizontalLength(), 0, 5) / 5F;
|
&& getActualSpecies() == Race.BAT
|
||||||
float lightScale = asWorld().getLightLevel(getPhysics().getHeadPosition()) / 15F;
|
&& hostile.getTarget() != this.entity
|
||||||
|
&& hostile.getAttacker() != this.entity
|
||||||
|
&& entity.distanceTo(this.entity) > entity.getWidth()) {
|
||||||
|
if (entity.isSneaking() && entity.distanceTo(this.entity) > 4) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (((velocityScale + lightScale) / 2F) < 0.6F) {
|
float vel = (float)getPhysics().getHorizontalMotion();
|
||||||
|
float velocityScale = MathHelper.clamp(vel * 15, 0, 1);
|
||||||
|
int light = asWorld().getLightLevel(getPhysics().getHeadPosition());
|
||||||
|
float lightScale = light / 15F;
|
||||||
|
float approachFactor = ((velocityScale + lightScale) / 2F);
|
||||||
|
|
||||||
|
if (approachFactor < (entity.isSneaking() ? 0.8F : 0.6F)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue