9
0
mirror of https://github.com/SparklyPower/SparklyPaper.git synced 2025-12-19 15:09:27 +00:00
Files
SparklyPaperMC/patches/server/0026-Cache-climbing-check-for-activation.patch
MrPowerGamerBR 7cb7c000c9 Rebuild patches
2021-05-18 11:11:31 -03:00

44 lines
2.0 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paul Sauve <paul@technove.co>
Date: Mon, 26 Apr 2021 10:52:56 -0500
Subject: [PATCH] Cache climbing check for activation
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
index 74f80b6af18c0b91d9613384ca6bafd9c89f23a4..003e1f6dc8efbabcb2e0f7a6b379196f02203903 100644
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
@@ -1745,6 +1745,19 @@ public abstract class EntityLiving extends Entity {
}
}
+ // Airplane start
+ private boolean cachedIsClimbing = false;
+ private BlockPosition lastClimbingPosition = null;
+
+ public boolean isClimbingCached() {
+ if (!this.getChunkCoordinates().equals(this.lastClimbingPosition)) {
+ this.cachedIsClimbing = this.isClimbing();
+ this.lastClimbingPosition = this.getChunkCoordinates();
+ }
+ return this.cachedIsClimbing;
+ }
+ // Airplane end
+
public IBlockData ds() {
return this.world.getType(this.getChunkCoordinates());
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 5c2eaca0bc63c7880ee928aba6a24761737aa649..eae6d46e1f894f6eca966ca3ad51aca61153fc3e 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -297,7 +297,7 @@ public class ActivationRange
if ( entity instanceof EntityLiving )
{
EntityLiving living = (EntityLiving) entity;
- if ( living.isClimbing() || living.jumping || living.hurtTicks > 0 || living.effects.size() > 0 ) // Paper
+ if ( living.isClimbingCached() || living.jumping || living.hurtTicks > 0 || living.effects.size() > 0 ) // Paper // Airplane - use cached climbing
{
return 1; // Paper
}