mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 17:47:32 +00:00
101 lines
3.0 KiB
Java
101 lines
3.0 KiB
Java
package noppes.npcs.entity;
|
|||
|
|
|
||
|
|
import net.minecraft.block.Block;
|
||
|
|
import net.minecraft.block.material.Material;
|
||
|
|
import net.minecraft.block.state.IBlockState;
|
||
|
|
import net.minecraft.init.Blocks;
|
||
|
|
import net.minecraft.util.MathHelper;
|
||
|
|
import net.minecraft.util.math.BlockPos;
|
||
|
|
import net.minecraft.world.World;
|
||
|
|
import net.minecraft.world.chunk.Chunk;
|
||
|
|
import net.minecraft.world.chunk.IChunkProvider;
|
||
|
|
|
||
|
|
public abstract class EntityNPCFlying extends EntityNPCInterface {
|
||
|
|
|
||
|
|
public EntityNPCFlying(World world) {
|
||
|
|
super(world);
|
||
|
|
}
|
||
|
|
|
||
|
|
// FLY CHANGE [WIP]
|
||
|
|
|
||
|
|
// @Override
|
||
|
|
// public boolean canFly(){
|
||
|
|
// return ai.movementType == 1;
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// @Override
|
||
|
|
// public void fall(float distance) {
|
||
|
|
// if(!canFly())
|
||
|
|
// super.fall(distance);
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// @Override
|
||
|
|
// protected void updateFallState(double p_180433_1_, boolean p_180433_3_) {
|
||
|
|
// if(!canFly())
|
||
|
|
// super.updateFallState(p_180433_1_, p_180433_3_);
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// @Override
|
||
|
|
// public void moveEntityWithHeading(float p_70612_1_, float p_70612_2_){
|
||
|
|
// if(!canFly()){
|
||
|
|
// super.moveEntityWithHeading(p_70612_1_, p_70612_2_);
|
||
|
|
// return;
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// if (this.isInWater()){
|
||
|
|
// this.moveFlying(p_70612_1_, p_70612_2_, 0.02F);
|
||
|
|
// this.moveEntity(this.motionX, this.motionY, this.motionZ);
|
||
|
|
// this.motionX *= 0.800000011920929D;
|
||
|
|
// this.motionY *= 0.800000011920929D;
|
||
|
|
// this.motionZ *= 0.800000011920929D;
|
||
|
|
// }
|
||
|
|
// else if (this.isInsideOfMaterial(Material.lava)){
|
||
|
|
// this.moveFlying(p_70612_1_, p_70612_2_, 0.02F);
|
||
|
|
// this.moveEntity(this.motionX, this.motionY, this.motionZ);
|
||
|
|
// this.motionX *= 0.5D;
|
||
|
|
// this.motionY *= 0.5D;
|
||
|
|
// this.motionZ *= 0.5D;
|
||
|
|
// }
|
||
|
|
// else{
|
||
|
|
// float f2 = 0.91F;
|
||
|
|
//
|
||
|
|
// if (this.onGround){
|
||
|
|
// f2 = this.worldObj.getBlock((int)this.posX, (int)this.boundingBox.minY - 1, (int)this.posZ).slipperiness * 0.91F;
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// float f3 = 0.16277136F / (f2 * f2 * f2);
|
||
|
|
// this.moveFlying(p_70612_1_, p_70612_2_, this.onGround ? 0.1F * f3 : 0.02F);
|
||
|
|
// f2 = 0.91F;
|
||
|
|
//
|
||
|
|
// if (this.onGround){
|
||
|
|
// f2 = this.worldObj.getBlock((int)this.posX, (int)this.boundingBox.minY - 1, (int)this.posZ).slipperiness * 0.91F;
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// this.moveEntity(this.motionX, this.motionY, this.motionZ);
|
||
|
|
// this.motionX *= (double)f2;
|
||
|
|
// this.motionY *= (double)f2;
|
||
|
|
// this.motionZ *= (double)f2;
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// this.prevLimbSwingAmount = this.limbSwingAmount;
|
||
|
|
// double d1 = this.posX - this.prevPosX;
|
||
|
|
// double d0 = this.posZ - this.prevPosZ;
|
||
|
|
// float f4 = MathHelper.sqrt_double(d1 * d1 + d0 * d0) * 4.0F;
|
||
|
|
//
|
||
|
|
// if (f4 > 1.0F){
|
||
|
|
// f4 = 1.0F;
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// this.limbSwingAmount += (f4 - this.limbSwingAmount) * 0.4F;
|
||
|
|
// this.limbSwing += this.limbSwingAmount;
|
||
|
|
// }
|
||
|
|
//
|
||
|
|
// @Override
|
||
|
|
// public boolean isOnLadder(){
|
||
|
|
// return false;
|
||
|
|
// }
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
}
|