9
0
mirror of https://github.com/Samsuik/Sakura.git synced 2026-01-03 22:16:38 +00:00

Fix falling blocks losing the blockstate when respawning

This commit is contained in:
Samsuik
2024-06-22 16:39:02 +01:00
parent b72e2a5169
commit dc22074191
8 changed files with 23 additions and 22 deletions

View File

@@ -374,10 +374,10 @@ index 519632b483c5b86c98067890c0628484fd1c8eb6..a0dc1fa70590d7fc0d88f83094a6ec2c
if (this.removalReason == null) {
this.removalReason = entity_removalreason;
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index 86e12495ce807ba06210535350caa7db5e15d139..a148befad883e5d524dcf643690f80a0bfd079e5 100644
index 86e12495ce807ba06210535350caa7db5e15d139..cdb903035dfe238ee336a76863c0ebfc78286a43 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -133,6 +133,59 @@ public class FallingBlockEntity extends Entity {
@@ -133,6 +133,60 @@ public class FallingBlockEntity extends Entity {
return !this.isRemoved();
}
@@ -404,6 +404,7 @@ index 86e12495ce807ba06210535350caa7db5e15d139..a148befad883e5d524dcf643690f80a0
+
+ // Try to stack the falling block
+ this.entityState().apply(fallingBlock);
+ fallingBlock.blockState = blockState;
+ fallingBlock.spawnReason = spawnReason;
+ fallingBlock.time = time - 1;
+ fallingBlock.tick();
@@ -437,7 +438,7 @@ index 86e12495ce807ba06210535350caa7db5e15d139..a148befad883e5d524dcf643690f80a0
@Override
protected double getDefaultGravity() {
return 0.04D;
@@ -202,6 +255,7 @@ public class FallingBlockEntity extends Entity {
@@ -202,6 +256,7 @@ public class FallingBlockEntity extends Entity {
return;
}
// CraftBukkit end

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Optimise Fast Movement
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 88964adf81cd03b26556b50b764caaddd49b59be..e689173f44a06ad320740dab2eceda5ff0e68fe2 100644
index a0dc1fa70590d7fc0d88f83094a6ec2c98e748e8..e14717a39b8adb4ea4aff66c35724cea67ef14ba 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1276,6 +1276,95 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -201,10 +201,10 @@ index 88964adf81cd03b26556b50b764caaddd49b59be..e689173f44a06ad320740dab2eceda5f
// Paper start - optimise collisions
final boolean xZero = movement.x == 0.0;
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index a148befad883e5d524dcf643690f80a0bfd079e5..eec86ec7088079f31a5348089f47f29e7a1adaa8 100644
index cdb903035dfe238ee336a76863c0ebfc78286a43..abe1f43f77a11e41c576bad8dad2ff62b5b087e6 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -200,7 +200,7 @@ public class FallingBlockEntity extends Entity {
@@ -201,7 +201,7 @@ public class FallingBlockEntity extends Entity {
++this.time;
this.applyGravity();

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cannon Mechanics
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index eec86ec7088079f31a5348089f47f29e7a1adaa8..755c620be47f3f93852ac5e916b14d3c94167f27 100644
index abe1f43f77a11e41c576bad8dad2ff62b5b087e6..2aa53ad83aaf3160609f895eb4212c1da96300f2 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -68,6 +68,7 @@ public class FallingBlockEntity extends Entity {
@@ -24,7 +24,7 @@ index eec86ec7088079f31a5348089f47f29e7a1adaa8..755c620be47f3f93852ac5e916b14d3c
}
public FallingBlockEntity(Level world, double x, double y, double z, BlockState block) {
@@ -185,6 +187,12 @@ public class FallingBlockEntity extends Entity {
@@ -186,6 +188,12 @@ public class FallingBlockEntity extends Entity {
return itemEntity;
}
// Sakura end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Despawn falling blocks inside moving pistons
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index fe21305f66cc60e2036d2023f5f49e4a23e014dc..b1193e2d8b43e66cc5a5a03bcc0e77577d98b863 100644
index 2aa53ad83aaf3160609f895eb4212c1da96300f2..3c939396493a5eed7f362e39e8c688f53946f3a6 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -234,7 +234,7 @@ public class FallingBlockEntity extends Entity {
@@ -235,7 +235,7 @@ public class FallingBlockEntity extends Entity {
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Falling Block Stacking Restrictions
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index b1193e2d8b43e66cc5a5a03bcc0e77577d98b863..d22c1357006d2785ff2a0e9465a214cf5a262cb1 100644
index 3c939396493a5eed7f362e39e8c688f53946f3a6..f682495067c1424bcf403e9e9b1f73e66f5e6c71 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -252,7 +252,7 @@ public class FallingBlockEntity extends Entity {
@@ -253,7 +253,7 @@ public class FallingBlockEntity extends Entity {
boolean flag3 = FallingBlock.isFree(this.level().getBlockState(blockposition.below())) && (!flag || !flag1);
boolean flag4 = this.blockState.canSurvive(this.level(), blockposition) && !flag3;

View File

@@ -255,7 +255,7 @@ index 50ae421b40681366523932a2cd445592ec067897..df083dd2f9af19c768b23727852194e6
if (this.level().hasChunksAt(blockposition, blockposition1)) {
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index 779a6686d491a8c4c95d5b8087fc55ee2f184f38..c01ed76846ad9ab893b0a7cdeadc077ccd829f1a 100644
index f682495067c1424bcf403e9e9b1f73e66f5e6c71..7500cd7647216d0101804d4442b1fd8b4c816aed 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -90,6 +90,8 @@ public class FallingBlockEntity extends Entity {
@@ -280,7 +280,7 @@ index 779a6686d491a8c4c95d5b8087fc55ee2f184f38..c01ed76846ad9ab893b0a7cdeadc077c
world.addFreshEntity(entityfallingblock, spawnReason); // CraftBukkit
return entityfallingblock;
}
@@ -190,13 +196,50 @@ public class FallingBlockEntity extends Entity {
@@ -191,13 +197,50 @@ public class FallingBlockEntity extends Entity {
// Sakura start
@Override
public final double getEyeY() {
@@ -333,7 +333,7 @@ index 779a6686d491a8c4c95d5b8087fc55ee2f184f38..c01ed76846ad9ab893b0a7cdeadc077c
}
@Override
@@ -206,6 +249,11 @@ public class FallingBlockEntity extends Entity {
@@ -207,6 +250,11 @@ public class FallingBlockEntity extends Entity {
} else {
Block block = this.blockState.getBlock();
@@ -345,7 +345,7 @@ index 779a6686d491a8c4c95d5b8087fc55ee2f184f38..c01ed76846ad9ab893b0a7cdeadc077c
++this.time;
this.applyGravity();
this.moveBasic(MoverType.SELF, this.getDeltaMovement()); // Sakura - optimise simple entity movement
@@ -219,8 +267,15 @@ public class FallingBlockEntity extends Entity {
@@ -220,8 +268,15 @@ public class FallingBlockEntity extends Entity {
return;
}
// Paper end - Configurable falling blocks height nerf
@@ -362,7 +362,7 @@ index 779a6686d491a8c4c95d5b8087fc55ee2f184f38..c01ed76846ad9ab893b0a7cdeadc077c
boolean flag = this.blockState.getBlock() instanceof ConcretePowderBlock;
boolean flag1 = flag && this.level().getFluidState(blockposition).is(FluidTags.WATER);
double d0 = this.getDeltaMovement().lengthSqr();
@@ -245,8 +300,11 @@ public class FallingBlockEntity extends Entity {
@@ -246,8 +301,11 @@ public class FallingBlockEntity extends Entity {
} else {
BlockState iblockdata = this.level().getBlockState(blockposition);
@@ -376,7 +376,7 @@ index 779a6686d491a8c4c95d5b8087fc55ee2f184f38..c01ed76846ad9ab893b0a7cdeadc077c
if (!this.cancelDrop) {
boolean flag2 = iblockdata.canBeReplaced((BlockPlaceContext) (new DirectionalPlaceContext(this.level(), blockposition, Direction.DOWN, ItemStack.EMPTY, Direction.UP)));
boolean flag3 = FallingBlock.isFree(this.level().getBlockState(blockposition.below())) && (!flag || !flag1);
@@ -313,7 +371,12 @@ public class FallingBlockEntity extends Entity {
@@ -314,7 +372,12 @@ public class FallingBlockEntity extends Entity {
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configure concrete solidifying in water
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index b0a6d829a9790744a030cd4b230b71a752e546d0..28ba55a756af15683a48c6badb90f0624bf68911 100644
index 7500cd7647216d0101804d4442b1fd8b4c816aed..84121119baf12d1c2a37dd5336efa655ffea1770 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -276,7 +276,7 @@ public class FallingBlockEntity extends Entity {
@@ -277,7 +277,7 @@ public class FallingBlockEntity extends Entity {
// However, it makes sense for legacy versions pre-1.17 before the world height change.
BlockPos blockposition = this.physics.before(1_17_0) ? this.patchedBlockPosition() : this.blockPosition();
// Sakura end - physics version api

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Fix doEntityDrops gamerule preventing falling blocks from
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index 28ba55a756af15683a48c6badb90f0624bf68911..adada6c0237e99a226cb24763902dc7bdbccf493 100644
index 84121119baf12d1c2a37dd5336efa655ffea1770..3121c5f4e7a9f3b35a95bc296a3db4f33810dfe9 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -351,10 +351,14 @@ public class FallingBlockEntity extends Entity {
@@ -352,10 +352,14 @@ public class FallingBlockEntity extends Entity {
tileentity.setChanged();
}
}