From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: violetc <58360096+s-yh-china@users.noreply.github.com> Date: Fri, 28 Jan 2022 18:34:29 +0800 Subject: [PATCH] Make snowball and egg can knockback player diff --git a/net/minecraft/world/entity/projectile/Snowball.java b/net/minecraft/world/entity/projectile/Snowball.java index cd36d3a988ae871fe93157c24c26f36308c71fbf..f8da22e77547916076056ea7202dd499fefd8f9f 100644 --- a/net/minecraft/world/entity/projectile/Snowball.java +++ b/net/minecraft/world/entity/projectile/Snowball.java @@ -55,6 +55,12 @@ public class Snowball extends ThrowableItemProjectile { Entity entity = result.getEntity(); int i = entity instanceof Blaze ? 3 : 0; entity.hurt(this.damageSources().thrown(this, this.getOwner()), i); + // Leaves start - make snowball can knockback player + if (org.leavesmc.leaves.LeavesConfig.modify.snowballAndEggCanKnockback && entity instanceof net.minecraft.server.level.ServerPlayer player) { + player.hurt(this.damageSources().thrown(this, this.getOwner()), 0.0000001F); + player.knockback(0.4000000059604645D, this.getX() - player.getX(), this.getZ() - player.getZ(), this, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.DAMAGE); + } + // Leaves end - make snowball can knockback player } @Override diff --git a/net/minecraft/world/entity/projectile/ThrownEgg.java b/net/minecraft/world/entity/projectile/ThrownEgg.java index bbb364be2af16a3c200d2197166bb3ad28e5e35d..34deb006b1a81e8c6f65150ac7ab80f037ffa0c7 100644 --- a/net/minecraft/world/entity/projectile/ThrownEgg.java +++ b/net/minecraft/world/entity/projectile/ThrownEgg.java @@ -56,6 +56,12 @@ public class ThrownEgg extends ThrowableItemProjectile { protected void onHitEntity(EntityHitResult result) { super.onHitEntity(result); result.getEntity().hurt(this.damageSources().thrown(this, this.getOwner()), 0.0F); + // Leaves start - make egg can knockback player + if (org.leavesmc.leaves.LeavesConfig.modify.snowballAndEggCanKnockback && result.getEntity() instanceof net.minecraft.server.level.ServerPlayer player) { + player.hurt(this.damageSources().thrown(this, this.getOwner()), 0.0000001F); + player.knockback(0.4000000059604645D, this.getX() - player.getX(), this.getZ() - player.getZ(), this, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.DAMAGE); + } + // Leaves end - make egg can knockback player } @Override