Hey, i'm starting to create mods, for training I made an item that shoots a chicken when used, the behavior is ok, but the moment the chicken spawns it is frozen for a small noticeable fraction of time before being launched, the same behavior does not happen with an arrow, is it possible to avoid this?
@Override
public InteractionResultHolder<ItemStack> use(
Level pLevel,
Player pPlayer,
InteractionHand pUsedHand
) {
if(!pLevel.isClientSide()) {
double ACCELERATION = 2;
double[] sines = getSines(pPlayer.getYRot());
double[] xzAccelerations = {sines[0] * ACCELERATION, sines[1] * ACCELERATION};
double[] xzSpawn = {sines[0] * 0.75 + pPlayer.getX(), sines[1] * 0.75 + pPlayer.getZ()};
Chicken chicken = new Chicken(EntityType.CHICKEN, pLevel);
chicken.setPos(xzSpawn[0], pPlayer.getY() + 1, xzSpawn[1]);
chicken.setDeltaMovement(xzAccelerations[0], 1, xzAccelerations[1]);
pLevel.addFreshEntity(chicken);
}
return super.use(pLevel, pPlayer, pUsedHand);
}