@Override public void collide(Entity inEntity) { if (this.getRemoteEntity() == null) { super.collide(inEntity); return; } if (((RemoteBaseEntity) this.m_remoteEntity).onCollide(inEntity.getBukkitEntity())) super.collide(inEntity); }
@Override public void g(double x, double y, double z) { if (this.m_remoteEntity == null) { super.g(x, y, z); return; } Vector vector = ((RemoteBaseEntity) this.m_remoteEntity).onPush(x, y, z); if (vector != null) super.g(vector.getX(), vector.getY(), vector.getZ()); }
@Override public void e(float inXMotion, float inZMotion) { float[] motion = new float[] {inXMotion, inZMotion, (float) this.motY}; if (this.m_remoteEntity.getMind().hasBehaviour("Ride")) ((RideBehavior) this.m_remoteEntity.getMind().getBehaviour("Ride")).ride(motion); this.motY = (double) motion[2]; super.e(motion[0], motion[1]); }
@Override public void move(double d0, double d1, double d2) { if (this.m_remoteEntity != null && this.m_remoteEntity.isStationary()) return; super.move(d0, d1, d2); }
@Override public void h() { super.h(); if (this.getRemoteEntity() != null) this.getRemoteEntity().getMind().tick(); }
@Override public void die(DamageSource damagesource) { ((RemoteBaseEntity) this.m_remoteEntity).onDeath(); super.die(damagesource); }