Nick Bambridge
- nickbambridge
- nickbambridge
- Europe/London
- Yes
- No
Cannot fill glass bottles from water sourceCould not reproduce - please close
Eggs and snowballs fired from dispensers don't knock back mobsProjectiles fired from dispensers don't knock back mobs
The bug
Eggs
andsnowballs fired from dispensers don't knock back mobs, but they do when thrown by the player or a snow golem.Note
Arrows are not affected by this bug, as they knock back mobs when fired either from a bow or a dispenser.
Code analysis
Code analysis by Marcono1234 can be found in this comment.
The bug
Eggs, snowballs, and splash potions of harming fired from dispensers don't knock back mobs, but they do when thrown by the player or a snow golem.
Note
Arrows are not affected by this bug, as they knock back mobs when fired either from a bow or a dispenser.
Code analysis
Code analysis by Marcono1234 can be found in this comment.
The bug
Eggs, snowballs, and splash potions of harming fired from dispensers don't knock back mobs, but they do when thrown by the player or a mob such as a snow golem or witch.
Note
Arrows are not affected by this bug, as they knock back mobs when fired either from a bow or a dispenser.
Code analysis
Code analysis by Marcono1234 can be found in this comment.
In 1.8 and earlier, mobs in minecarts were slightly higher up than mobs standing on the ground. In 1.8.1 pre-release 1&2, this is no longer the case. Please see the side-by-side comparison image below.
@Nick Bambridge Arrows will set themselves as the attacker if no "owner" is present:
if (this.shootingEntity == null) { damagesource = DamageSource.causeArrowDamage(this, this); } else { damagesource = DamageSource.causeArrowDamage(this, this.shootingEntity); }
Theoretically the same could be done with the eggs and snowballs (example below is from eggs, with the commented code being an addition, though I have not actually tried this myself):
if (result.entityHit != null) { //if (this.getThrower() == null) //{ result.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this), 0.0F); //} //else //{ // result.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), 0.0F); //} }
Nick Bambridge: I asked to be the reporter because your ticket was outdated. I'll update it accordingly. BTW: Everyone can see that you are the original reporter of this ticket by clicking "History" or "Activity", so don't worry!





Understood, but inconsistent with other mob drops e.g. arrows.
Inventory wasn't full and I was holding only one bottle, but if it works for you I will try again.
OK, working now. May have been a lag issue. Thanks for checking anyway.
Works within 14 blocks of the nether ceiling, provided it's clear to the bedrock, and seems to only work in certain places.
Added in reference lines, just in case the difference wasn't clear.
Still present in 1.8.1-pre2
@Marcono1234
If knockback requires an entity as the damage source, why do arrows fired from dispensers work as expected?
Can we copy the knockback strength and direction from the arrows code, or is that too tied up with damage > 0 hearts or something?
Does the zoomed-in picture attached explain anything to do with this bug? Part of the snowman is visible below the minecart.
Actually, I am still around, and I do wish to be acknowledged as the discoverer of the bug.
@Kraif What changes did you feel need to be made?
@Torabi You've been changing the reporter to Kraif on quite a few bugs recently. Maybe he should be made a mod instead?
Confirmed for version 1.13.2
Confirmed for version 1.14.4
Still present in 19w36a
Still present in 19w37a.
Also attached screenshot of my test setup.
Still present in 1.16.1, including splash potions as noted by @Dobbi
Still present in 1.16.3
Would it be possible to change me back to the reporter of this bug, so I can keep the affected versions up to date and add info regarding splash potions?