Backport fix for MC-296337 (Fixes #12617) (#12619)

This commit is contained in:
Shane Freeder
2025-06-06 19:05:30 +01:00
committed by GitHub
parent 2ba1675c75
commit 4eda045b15
4 changed files with 31 additions and 19 deletions

View File

@ -135,7 +135,7 @@
@Nullable
private BlockState inBlockState = null;
private final List<List<Entity.Movement>> movementThisTick = new ObjectArrayList<>();
@@ -259,6 +_,41 @@
@@ -259,6 +_,45 @@
private final LongSet visitedBlocks = new LongOpenHashSet();
private final InsideBlockEffectApplier.StepBasedCollector insideEffectCollector = new InsideBlockEffectApplier.StepBasedCollector();
private CustomData customData = CustomData.EMPTY;
@ -173,6 +173,10 @@
+ public final AABB getBoundingBoxAt(double x, double y, double z) {
+ return this.dimensions.makeBoundingBox(x, y, z);
+ }
+ // MC-296337
+ protected void clearMovementsThisTick() {
+ this.movementThisTick.clear();
+ }
+ // Paper end
public Entity(EntityType<?> entityType, Level level) {

View File

@ -96,6 +96,14 @@
}
}
@@ -386,6 +_,7 @@
public void applyEffectsFromBlocks() {
if (!useExperimentalMovement(this.level())) {
this.applyEffectsFromBlocks(this.position(), this.position());
+ this.clearMovementsThisTick(); // Paper - MC-296337
} else {
super.applyEffectsFromBlocks();
}
@@ -457,6 +_,15 @@
this.setDisplayOffset(compound.getIntOr("DisplayOffset", this.getDefaultDisplayOffset()));
this.flipped = compound.getBooleanOr("FlippedRotation", false);