mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-02 04:56:50 +01:00
d60497ebf2
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: ff64962b SPIGOT-7124: MapPalette.getColor(0) returns the wrong color CraftBukkit Changes: 8f3647242 SPIGOT-7127: /say doesn't work from console
38 lines
1.7 KiB
Diff
38 lines
1.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Nassim Jahnke <nassim@njahnke.dev>
|
|
Date: Thu, 25 Nov 2021 10:25:09 +0100
|
|
Subject: [PATCH] Prevent excessive velocity through repeated crits
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
|
index bc01742e3e762fbb5b7eb712a9211e4a8d411e03..4091253c84b5a722a75fa6dc8f5f0002b29ebf8e 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
|
@@ -2626,14 +2626,27 @@ public abstract class LivingEntity extends Entity {
|
|
return this.hasEffect(MobEffects.JUMP) ? (double) (0.1F * (float) (this.getEffect(MobEffects.JUMP).getAmplifier() + 1)) : 0.0D;
|
|
}
|
|
|
|
+ protected long lastJumpTime = 0L; // Paper
|
|
protected void jumpFromGround() {
|
|
double d0 = (double) this.getJumpPower() + this.getJumpBoostPower();
|
|
Vec3 vec3d = this.getDeltaMovement();
|
|
+ // Paper start
|
|
+ long time = System.nanoTime();
|
|
+ boolean canCrit = true;
|
|
+ if (this instanceof net.minecraft.world.entity.player.Player) {
|
|
+ canCrit = false;
|
|
+ if (time - this.lastJumpTime > (long)(0.250e9)) {
|
|
+ this.lastJumpTime = time;
|
|
+ canCrit = true;
|
|
+ }
|
|
+ }
|
|
+ // Paper end
|
|
|
|
this.setDeltaMovement(vec3d.x, d0, vec3d.z);
|
|
if (this.isSprinting()) {
|
|
float f = this.getYRot() * 0.017453292F;
|
|
|
|
+ if (canCrit) // Paper
|
|
this.setDeltaMovement(this.getDeltaMovement().add((double) (-Mth.sin(f) * 0.2F), 0.0D, (double) (Mth.cos(f) * 0.2F)));
|
|
}
|
|
|