- 1,417
- 44
- 594
Создал невесомый предмет, аналогичный тому что сделал на 1.12, но ловлю интересную реакцию:
ентитя продолжает падать с большой скоростью и через какой-то момент телепортируется на искомую точку, после чего опять падает.
Ну по коду все просто.
Спавню айтемом:
ентитя:
Могу предположить, что на клиенте он до сих пор падает, но не вижу, где это собственно происходит
ентитя продолжает падать с большой скоростью и через какой-то момент телепортируется на искомую точку, после чего опять падает.
Ну по коду все просто.
Спавню айтемом:
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() {
}
}
Могу предположить, что на клиенте он до сих пор падает, но не вижу, где это собственно происходит