9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-19 14:59:32 +00:00
This commit is contained in:
violetc
2024-02-21 14:57:07 +08:00
parent 55b133a058
commit ec5a1fc5da
2 changed files with 8 additions and 7 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Make snowball and egg can knockback player
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
index 718e120c9768cf716b32d3d652f53f1dda925168..21f5c59e7e01ffefdb077d1aa9853935a8fa6b0f 100644
index 718e120c9768cf716b32d3d652f53f1dda925168..ab0e9a3ef72bf8380114c77c3cea9d4d2c4228ba 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
@@ -3,6 +3,7 @@ package net.minecraft.world.entity.projectile;
@@ -23,14 +23,14 @@ index 718e120c9768cf716b32d3d652f53f1dda925168..21f5c59e7e01ffefdb077d1aa9853935
+ // Leaves start - make snowball can knockback player
+ if (top.leavesmc.leaves.LeavesConfig.snowballAndEggCanKnockback && entity instanceof ServerPlayer) {
+ entity.hurt(this.damageSources().thrown(this, this.getOwner()), 0.0000001F);
+ ((ServerPlayer) entity).knockback(0.4000000059604645D, this.getX() - entity.getX(), this.getZ() - entity.getZ(), this);
+ ((ServerPlayer) entity).knockback(0.4000000059604645D, this.getX() - entity.getX(), this.getZ() - entity.getZ(), this, org.bukkit.event.entity.EntityKnockbackEvent.KnockbackCause.DAMAGE);
+ }
+ // Leaves end - make snowball can knockback player
}
@Override
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
index b64ecadae45c2126b92963ac8d118dde76126ddd..04ef5989f108c164b6fafeaa40822471a2d25480 100644
index 785196e6f4677074890ca965e9add85ccfd0e6e3..773937c931cfb458e8d7148abff6bc72e0f3a152 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
@@ -45,7 +45,14 @@ public class ThrownEgg extends ThrowableItemProjectile {
@@ -42,7 +42,7 @@ index b64ecadae45c2126b92963ac8d118dde76126ddd..04ef5989f108c164b6fafeaa40822471
+ // Leaves start - make egg can knockback player
+ if (top.leavesmc.leaves.LeavesConfig.snowballAndEggCanKnockback && entity instanceof ServerPlayer) {
+ entity.hurt(this.damageSources().thrown(this, this.getOwner()), 0.0000001F);
+ ((ServerPlayer) entity).knockback(0.4000000059604645D, this.getX() - entity.getX(), this.getZ() - entity.getZ(), this);
+ ((ServerPlayer) entity).knockback(0.4000000059604645D, this.getX() - entity.getX(), this.getZ() - entity.getZ(), this, org.bukkit.event.entity.EntityKnockbackEvent.KnockbackCause.DAMAGE);
+ }
+ // Leaves end - make egg can knockback player
}

View File

@@ -1218,10 +1218,10 @@ index 0000000000000000000000000000000000000000..daaece30b2a3983f1cc9ee9a851e8f37
+}
diff --git a/src/main/java/top/leavesmc/leaves/bot/ServerBot.java b/src/main/java/top/leavesmc/leaves/bot/ServerBot.java
new file mode 100644
index 0000000000000000000000000000000000000000..7f5af75066e1a5e64ddf2e910857a2b407064214
index 0000000000000000000000000000000000000000..c95adbad75fb1dca94a53990b5ad522795783748
--- /dev/null
+++ b/src/main/java/top/leavesmc/leaves/bot/ServerBot.java
@@ -0,0 +1,734 @@
@@ -0,0 +1,735 @@
+package top.leavesmc.leaves.bot;
+
+import com.google.common.collect.Lists;
@@ -1274,6 +1274,7 @@ index 0000000000000000000000000000000000000000..7f5af75066e1a5e64ddf2e910857a2b4
+import org.bukkit.craftbukkit.CraftWorld;
+import org.bukkit.craftbukkit.scheduler.CraftScheduler;
+import org.bukkit.event.entity.CreatureSpawnEvent;
+import org.bukkit.event.entity.EntityKnockbackEvent;
+import org.bukkit.util.Vector;
+import org.jetbrains.annotations.NotNull;
+import top.leavesmc.leaves.LeavesConfig;
@@ -1686,7 +1687,7 @@ index 0000000000000000000000000000000000000000..7f5af75066e1a5e64ddf2e910857a2b4
+ }
+
+ @Override
+ public void knockback(double strength, double x, double z, @NotNull Entity knockingBackEntity) {
+ public void knockback(double strength, double x, double z, @NotNull Entity knockingBackEntity, EntityKnockbackEvent.KnockbackCause cause) {
+ strength *= 1.0D - this.getAttributeValue(Attributes.KNOCKBACK_RESISTANCE);
+ if (strength > 0.0D) {
+ this.hasImpulse = true;