Skip to content

Commit

Permalink
Fix strider speed outside of lava
Browse files Browse the repository at this point in the history
  • Loading branch information
SamB440 committed Sep 5, 2024
1 parent d62755b commit 3890d12
Showing 1 changed file with 5 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import ac.grim.grimac.utils.data.packetentity.PacketEntityStrider;
import ac.grim.grimac.utils.nmsutil.BlockProperties;
import com.github.retrooper.packetevents.protocol.attribute.Attributes;
import com.github.retrooper.packetevents.protocol.player.ClientVersion;
import com.github.retrooper.packetevents.protocol.world.states.defaulttags.BlockTags;
import com.github.retrooper.packetevents.protocol.world.states.type.StateType;
import com.github.retrooper.packetevents.util.Vector3d;
Expand Down Expand Up @@ -34,8 +35,6 @@ public static boolean isAbove(GrimPlayer player) {
public void livingEntityAIStep() {
super.livingEntityAIStep();

((PacketEntityStrider) player.compensatedEntities.getSelf().getRiding()).isShaking = true;

StateType posMaterial = player.compensatedWorld.getStateTypeAt(player.x, player.y, player.z);
StateType belowMaterial = BlockProperties.getOnPos(player, player.mainSupportingBlockData, new Vector3d(player.x, player.y, player.z));

Expand All @@ -48,7 +47,10 @@ public void livingEntityAIStep() {
@Override
public float getSteeringSpeed() {
PacketEntityStrider strider = (PacketEntityStrider) player.compensatedEntities.getSelf().getRiding();
return (float) strider.getAttributeValue(Attributes.GENERIC_MOVEMENT_SPEED) * (strider.isShaking ? 0.23F : 0.55F);
// Unsure which version the speed changed in
final boolean newSpeed = player.getClientVersion().isNewerThanOrEquals(ClientVersion.V_1_20);
final float coldSpeed = newSpeed ? 0.35F : 0.23F;
return (float) strider.getAttributeValue(Attributes.GENERIC_MOVEMENT_SPEED) * (strider.isShaking ? coldSpeed : 0.55F);
}

@Override
Expand Down

0 comments on commit 3890d12

Please sign in to comment.