Невесомый ентити

Версия Minecraft
1.16.2
API
Forge
1,404
43
300
Создал невесомый предмет, аналогичный тому что сделал на 1.12, но ловлю интересную реакцию:
1600196978005.png
ентитя продолжает падать с большой скоростью и через какой-то момент телепортируется на искомую точку, после чего опять падает.

Ну по коду все просто.
Спавню айтемом:
Java:
    public ActionResult<ItemStack> onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn) {
        ItemStack itemstack = playerIn.getHeldItem(handIn);
        if (!worldIn.isRemote) {
            ShieldEntity snowballentity = new ShieldEntity(worldIn, playerIn);
            snowballentity.setItem(itemstack);
            worldIn.addEntity(snowballentity);
        }
        playerIn.addStat(Stats.ITEM_USED.get(this));
        return ActionResult.func_233538_a_(itemstack, worldIn.isRemote());
    }
ентитя:
Java:
public class ShieldEntity extends ProjectileItemEntity {

    public ShieldEntity(EntityType<? extends ProjectileItemEntity> type, World worldIn) {
        super(type, worldIn);
    }

    public ShieldEntity(World worldIn, LivingEntity throwerIn) {
        super(EntityType.SNOWBALL, throwerIn, worldIn);
    }

    @Override
    protected void playStepSound(BlockPos pos, BlockState blockIn) {
        this.playSound(SoundEvents.ENTITY_PIG_STEP, 0.15F, 1.0F);
    }

    @Override
    public Entity getEntity() {
        return this;
    }

    @Override
    public void deserializeNBT(CompoundNBT nbt) {

    }

    @Override
    public CompoundNBT serializeNBT() {
        return null;
    }

    @Override
    public boolean shouldRiderSit() {
        return false;
    }

    @Override
    public ItemStack getPickedResult(RayTraceResult target) {
        return null;
    }

    @Override
    public boolean canRiderInteract() {
        return false;
    }

    @Override
    public boolean canBeRiddenInWater(Entity rider) {
        return false;
    }

    @Override
    public EntityClassification getClassification(boolean forSpawnCount) {
        return null;
    }

    @Override
    public <T> LazyOptional<T> getCapability(Capability<T> cap) {
        return null;
    }

    @Override
    protected Item getDefaultItem() {
        return null;
    }

    @Override
    protected float getGravityVelocity() {
        return 0.0F;
    }

    @Override
    public void tick() {
    }
}

Могу предположить, что на клиенте он до сих пор падает, но не вижу, где это собственно происходит
 
Решение
Вообще есть такой метод :
Java:
this.setNoGravity(true);
Вызови его из конструктора и будет все ок.
978
31
207
Вообще есть такой метод :
Java:
this.setNoGravity(true);
Вызови его из конструктора и будет все ок.
 
Последнее редактирование:
Решение
1,404
43
300
Вообще есть такой метод :
Зачем его ток добавили, если есть метод, который сетает числовую величину (в данном случае которая 0) :unsure:
Да, это помогло. Но свой тип энтити необязателен
 
Сверху