I have custom content which spawns arrows with bespoke settings, namely pickup statuses to prevent players from picking certain arrows up, and the crossbow ricochet skill basically breaks this because none of these settings are carried over to the newly spawned arrow when a ricochet occurs.
I have custom content which spawns arrows with bespoke settings, namely pickup statuses to prevent players from picking certain arrows up, and the crossbow ricochet skill basically breaks this because none of these settings are carried over to the newly spawned arrow when a ricochet occurs.
CrossbowManager::spawnReflectedArrow
, or perhapsProjectileUtils::copyArrowMetadata
, should add the following logic (pseudo-code) to maintain as much plugin compatibility as possible:newProjectile.setShooter(arrowToCopy.getShooter())
newProjectile.setCritical(arrowToCopy.isCritical())
newProjectile.setPierceLevel(arrowToCopy.getPierceLevel())
newProjectile.setPickupStatus(arrowToCopy.getPickupStatus())
newProjectile.setKnockbackStrength(arrowToCopy.getKnockbackStrength())