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 64b91d72fca05f2e74bcaf83bccf061a25a0c868..b0bb07c57e6219a21003bfce72b6909680ac78e5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1163,7 +1163,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