9
0
mirror of https://github.com/Samsuik/Sakura.git synced 2025-12-27 18:59:06 +00:00

Copy spawnreason to respawning falling block entities

This commit is contained in:
Samsuik
2024-01-28 20:24:37 +00:00
parent 64f1500ac5
commit c21196e257
7 changed files with 23 additions and 22 deletions

View File

@@ -334,10 +334,10 @@ index 1bd5db8e0919d126d18e250bb1cb35cb96d63f5c..bc7a65dc8c8718f2e02249ff251764a4
this.removalReason = reason;
}
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 aa88218a06366ade96797d370ef08baafb9dfa61..2113c330d309819c4b24b5ab63574ae481e2f77d 100644
index aa88218a06366ade96797d370ef08baafb9dfa61..d6912627a7fad376c5a24a07b2b4c46ceab139f3 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -130,6 +130,58 @@ public class FallingBlockEntity extends Entity {
@@ -130,6 +130,59 @@ public class FallingBlockEntity extends Entity {
return !this.isRemoved();
}
@@ -364,6 +364,7 @@ index aa88218a06366ade96797d370ef08baafb9dfa61..2113c330d309819c4b24b5ab63574ae4
+
+ // Try to stack the falling block
+ this.entityState().apply(fallingBlock);
+ fallingBlock.spawnReason = spawnReason;
+ fallingBlock.time = time - 1;
+ fallingBlock.tick();
+
@@ -396,7 +397,7 @@ index aa88218a06366ade96797d370ef08baafb9dfa61..2113c330d309819c4b24b5ab63574ae4
@Override
public void tick() {
// Paper start - fix sand duping
@@ -209,6 +261,7 @@ public class FallingBlockEntity extends Entity {
@@ -209,6 +262,7 @@ public class FallingBlockEntity extends Entity {
return;
}
// CraftBukkit end

View File

@@ -198,10 +198,10 @@ index bc7a65dc8c8718f2e02249ff251764a4fb13f9a7..8d7b525c17178e33776e7547cffb2022
// Paper start - optimise collisions
// This is a copy of vanilla's except that it uses strictly AABB math
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 2113c330d309819c4b24b5ab63574ae481e2f77d..bc1aeb4a7601027ca5c537d4f22ddf68e6558b27 100644
index d6912627a7fad376c5a24a07b2b4c46ceab139f3..276453621ef03489ea01ea816bea201e913a820b 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -199,7 +199,7 @@ public class FallingBlockEntity extends Entity {
@@ -200,7 +200,7 @@ public class FallingBlockEntity extends Entity {
this.addDeltaMovement(0.0D, -0.04D, 0.0D); // Sakura - reduce movement allocations
}

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 bc1aeb4a7601027ca5c537d4f22ddf68e6558b27..5d386a3cb040854e724474ebf20119ed7661171e 100644
index 276453621ef03489ea01ea816bea201e913a820b..ad5dfaf41c5ed9ddf7c3bc87395b7fd07ed0b3e6 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -65,6 +65,7 @@ public class FallingBlockEntity extends Entity {
@@ -24,7 +24,7 @@ index bc1aeb4a7601027ca5c537d4f22ddf68e6558b27..5d386a3cb040854e724474ebf20119ed
}
public FallingBlockEntity(Level world, double x, double y, double z, BlockState block) {
@@ -181,6 +183,12 @@ public class FallingBlockEntity extends Entity {
@@ -182,6 +184,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 5d386a3cb040854e724474ebf20119ed7661171e..c09f5ab720dbf67b4464d75727728caba24fc621 100644
index ad5dfaf41c5ed9ddf7c3bc87395b7fd07ed0b3e6..2a311de57a178160f5f15dd77467240d089e5fba 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -240,7 +240,7 @@ public class FallingBlockEntity extends Entity {
@@ -241,7 +241,7 @@ public class FallingBlockEntity extends Entity {
}
}

View File

@@ -20,10 +20,10 @@ index 46599109e55da0e4ce91c9b0c137d286a8cca78c..2aa7dbad27dfd5dc37b36a1f05e4d3e2
}
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 c09f5ab720dbf67b4464d75727728caba24fc621..254833aa760910e12123c795354ce531b7cb5567 100644
index 2a311de57a178160f5f15dd77467240d089e5fba..1ed64e59d83191fdd81450ccc3e0573a5af5adb5 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -258,7 +258,7 @@ public class FallingBlockEntity extends Entity {
@@ -259,7 +259,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

@@ -35,7 +35,7 @@ index 04305ed8e75c5e83d08392c0f7f431cb77ac272e..9132adee72a2ae9c1c069a4f385c2b8d
if (xSmaller && z != 0.0) {
z = performCollisionsZ(axisalignedbb, z, potentialCollisions);
diff --git a/src/main/java/me/samsuik/sakura/explosion/SakuraExplosion.java b/src/main/java/me/samsuik/sakura/explosion/SakuraExplosion.java
index 31eec14e78612e4cd6941c09f8b9093f324dce7e..45759424f389fb8a930688592a86332069d7f9fe 100644
index 93c7be878632296683a794235455013c33bec9e7..c201c7e558205e3ca27db9b1f1486125996aee4f 100644
--- a/src/main/java/me/samsuik/sakura/explosion/SakuraExplosion.java
+++ b/src/main/java/me/samsuik/sakura/explosion/SakuraExplosion.java
@@ -141,7 +141,7 @@ public class SakuraExplosion extends Explosion {
@@ -86,7 +86,7 @@ index 31eec14e78612e4cd6941c09f8b9093f324dce7e..45759424f389fb8a930688592a863320
x /= distance;
y /= distance;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index a7c380e4b1be65c1c252dd7644d92a3c85ca6529..888801fc3468970bffe63fbefbae63e1d851f403 100644
index 4c0be56d4dba46c4a28ab7149f9280c85a9cbe6e..b682bf36bdde2b5162be7c2b2e1164e8e65b9d51 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -363,7 +363,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -216,7 +216,7 @@ index a7c380e4b1be65c1c252dd7644d92a3c85ca6529..888801fc3468970bffe63fbefbae63e1
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 254833aa760910e12123c795354ce531b7cb5567..855f6797611846dad7b2cab3bde816d898cfcc0b 100644
index 1ed64e59d83191fdd81450ccc3e0573a5af5adb5..2b3b17028cbea60a32ecba09df4f39565eb39190 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -87,6 +87,8 @@ public class FallingBlockEntity extends Entity {
@@ -241,7 +241,7 @@ index 254833aa760910e12123c795354ce531b7cb5567..855f6797611846dad7b2cab3bde816d8
world.addFreshEntity(entityfallingblock, spawnReason); // CraftBukkit
return entityfallingblock;
}
@@ -186,7 +192,44 @@ public class FallingBlockEntity extends Entity {
@@ -187,7 +193,44 @@ public class FallingBlockEntity extends Entity {
// Sakura start
@Override
public final double getEyeY() {
@@ -287,7 +287,7 @@ index 254833aa760910e12123c795354ce531b7cb5567..855f6797611846dad7b2cab3bde816d8
}
// Sakura end
@@ -202,9 +245,16 @@ public class FallingBlockEntity extends Entity {
@@ -203,9 +246,16 @@ public class FallingBlockEntity extends Entity {
} else {
Block block = this.blockState.getBlock();
@@ -305,7 +305,7 @@ index 254833aa760910e12123c795354ce531b7cb5567..855f6797611846dad7b2cab3bde816d8
}
this.moveBasic(MoverType.SELF, this.getDeltaMovement()); // Sakura
@@ -225,8 +275,16 @@ public class FallingBlockEntity extends Entity {
@@ -226,8 +276,16 @@ public class FallingBlockEntity extends Entity {
return;
}
// Paper end
@@ -323,7 +323,7 @@ index 254833aa760910e12123c795354ce531b7cb5567..855f6797611846dad7b2cab3bde816d8
boolean flag = this.blockState.getBlock() instanceof ConcretePowderBlock;
boolean flag1 = flag && this.level.getFluidState(blockposition).is(FluidTags.WATER);
double d0 = this.getDeltaMovement().lengthSqr();
@@ -251,8 +309,11 @@ public class FallingBlockEntity extends Entity {
@@ -252,8 +310,11 @@ public class FallingBlockEntity extends Entity {
} else {
BlockState iblockdata = this.level.getBlockState(blockposition);
@@ -337,7 +337,7 @@ index 254833aa760910e12123c795354ce531b7cb5567..855f6797611846dad7b2cab3bde816d8
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);
@@ -319,7 +380,12 @@ public class FallingBlockEntity extends Entity {
@@ -320,7 +381,12 @@ public class FallingBlockEntity extends Entity {
}
}
@@ -445,7 +445,7 @@ index aa65887b72a96d87f0cad98047deffd01d60ec3f..c3c053884101b818274400f0ebcd6690
// Paper end
}
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index 81efe2985e3379b1dac2af797ae5ad6708e8bdcd..1e2d598a3ee53a21d6c6da5c90c9051d6d05bd19 100644
index 5455f99e88672c2163502616f9e820af46657062..e0ea2117efa3bb87e398b970a168840c31a30b51 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -68,6 +68,7 @@ public class Explosion {

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 855f6797611846dad7b2cab3bde816d898cfcc0b..f82095eaa4d1d276e69024ecf1e22418409e815c 100644
index 2b3b17028cbea60a32ecba09df4f39565eb39190..d6e357389d5f415ada4eed9f3119c4538145ddf2 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -285,7 +285,7 @@ public class FallingBlockEntity extends Entity {
@@ -286,7 +286,7 @@ public class FallingBlockEntity extends Entity {
BlockPos blockposition = this.physics.before(1_17_0) ? this.patchedBlockPosition() : this.blockPosition();
// Sakura end