From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: nostalgic853 Date: Sat, 22 Oct 2022 09:58:38 +0800 Subject: [PATCH] Fast speed check Original code by NFT-Worlds, licensed under GNU General Public License v3.0 You can find the original code on https://github.com/NFT-Worlds/Server This patch was took from Mirai. (https://github.com/etil2jz/Mirai) etil2jz's note: NFT-Worlds is related to Stellar devs, known for countless paid forks mostly taking open source patches, doing questionable/buggy ones, and claiming breathtaking performance improvements. Never ever pay for any of those Spigot forks! diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java index dd13fc7cbf82948b1474ea33411e64b465608672..d0b001ec4265dda8d130122c2e946ea07f9aa3ac 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1196,7 +1196,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.tryCheckInsideBlocks(); - float f2 = this.getBlockSpeedFactor(); + // KeYi start - Fast speed check + float f2; + if (this.getDeltaMovement().x == 0 && this.getDeltaMovement().z == 0) { + f2 = 1; + } else { + f2 = this.getBlockSpeedFactor(); + } + // KeYi end this.setDeltaMovement(this.getDeltaMovement().multiply((double) f2, 1.0D, (double) f2)); // Paper start - remove expensive streams from here