9
0
mirror of https://github.com/Samsuik/Sakura.git synced 2025-12-19 14:59:30 +00:00
This commit is contained in:
Samsuik
2025-06-23 11:04:37 +01:00
parent dc3793b1c6
commit 714e2ffefe
5 changed files with 37 additions and 37 deletions

View File

@@ -85,7 +85,7 @@ index cffd3f64b253dba53eacc60c8ae82dd297f98e5b..68e2b26835a2588a047e9ea175eb8e49
if (!(this instanceof ServerPlayer) && removalReason != RemovalReason.CHANGED_DIMENSION && !alreadyRemoved) { if (!(this instanceof ServerPlayer) && removalReason != RemovalReason.CHANGED_DIMENSION && !alreadyRemoved) {
// Players need to be special cased, because they are regularly removed from the world // Players need to be special cased, because they are regularly removed from the world
diff --git a/net/minecraft/world/entity/item/FallingBlockEntity.java b/net/minecraft/world/entity/item/FallingBlockEntity.java diff --git a/net/minecraft/world/entity/item/FallingBlockEntity.java b/net/minecraft/world/entity/item/FallingBlockEntity.java
index 45f08a65d8b423fbf69f66d695bb9d67cf0f2f23..6f0b77e77186dd394b5949977e3e1a66610bc354 100644 index 45f08a65d8b423fbf69f66d695bb9d67cf0f2f23..3af6e04bb4dcd91de2794bbc8d3eff16def9efa8 100644
--- a/net/minecraft/world/entity/item/FallingBlockEntity.java --- a/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -50,7 +50,7 @@ import net.minecraft.world.phys.HitResult; @@ -50,7 +50,7 @@ import net.minecraft.world.phys.HitResult;
@@ -131,7 +131,7 @@ index 45f08a65d8b423fbf69f66d695bb9d67cf0f2f23..6f0b77e77186dd394b5949977e3e1a66
+ +
+ // If you horizontal stack into a moving piston block this condition will be met. + // If you horizontal stack into a moving piston block this condition will be met.
+ if (!fallingBlock.isRemoved()) { + if (!fallingBlock.isRemoved()) {
+ this.mergeData.setCount(count + 1); + this.mergeData.count = count + 1;
+ fallingBlock.storeEntityState(); + fallingBlock.storeEntityState();
+ fallingBlock.entityState().apply(this); + fallingBlock.entityState().apply(this);
+ break; + break;
@@ -144,7 +144,7 @@ index 45f08a65d8b423fbf69f66d695bb9d67cf0f2f23..6f0b77e77186dd394b5949977e3e1a66
+ @Override + @Override
+ public @Nullable ItemEntity spawnAtLocation(ServerLevel level, net.minecraft.world.level.ItemLike item) { // may be overridden by plugins + public @Nullable ItemEntity spawnAtLocation(ServerLevel level, net.minecraft.world.level.ItemLike item) { // may be overridden by plugins
+ ItemEntity itemEntity = null; + ItemEntity itemEntity = null;
+ for (int i = 0; i < this.mergeData.getCount(); ++i) { + for (int i = 0; i < this.mergeData.count; ++i) {
+ itemEntity = super.spawnAtLocation(level, item); + itemEntity = super.spawnAtLocation(level, item);
+ } + }
+ return itemEntity; + return itemEntity;
@@ -157,7 +157,7 @@ index 45f08a65d8b423fbf69f66d695bb9d67cf0f2f23..6f0b77e77186dd394b5949977e3e1a66
this.heightParity = level.sakuraConfig().cannons.mechanics.fallingBlockParity; // Sakura - configure cannon mechanics this.heightParity = level.sakuraConfig().cannons.mechanics.fallingBlockParity; // Sakura - configure cannon mechanics
this.isFallingBlock = true; // Sakura - client visibility settings this.isFallingBlock = true; // Sakura - client visibility settings
this.loadChunks = level.sakuraConfig().cannons.loadChunks; // Sakura - load chunks on movement this.loadChunks = level.sakuraConfig().cannons.loadChunks; // Sakura - load chunks on movement
+ this.mergeData.setMergeLevel(level.sakuraConfig().cannons.mergeLevel); // Sakura - merge cannon entities + this.mergeData.mergeLevel = level.sakuraConfig().cannons.mergeLevel; // Sakura - merge cannon entities
} }
public FallingBlockEntity(Level level, double x, double y, double z, BlockState state) { public FallingBlockEntity(Level level, double x, double y, double z, BlockState state) {
@@ -165,7 +165,7 @@ index 45f08a65d8b423fbf69f66d695bb9d67cf0f2f23..6f0b77e77186dd394b5949977e3e1a66
return; return;
} }
// CraftBukkit end // CraftBukkit end
+ if (this.respawnEntity()) return; // Sakura - merge cannon entities + if (this.tryToRespawnEntity()) return; // Sakura - merge cannon entities
if (this.level().setBlock(blockPos, this.blockState, 3)) { if (this.level().setBlock(blockPos, this.blockState, 3)) {
((ServerLevel)this.level()) ((ServerLevel)this.level())
.getChunkSource() .getChunkSource()
@@ -173,7 +173,7 @@ index 45f08a65d8b423fbf69f66d695bb9d67cf0f2f23..6f0b77e77186dd394b5949977e3e1a66
compound.putBoolean("CancelDrop", this.cancelDrop); compound.putBoolean("CancelDrop", this.cancelDrop);
if (!this.autoExpire) compound.putBoolean("Paper.AutoExpire", false); // Paper - Expand FallingBlock API if (!this.autoExpire) compound.putBoolean("Paper.AutoExpire", false); // Paper - Expand FallingBlock API
+ compound.putInt("merge_count", this.mergeData.getCount()); // Sakura - merge cannon entities; save to nbt + compound.putInt("merge_count", this.mergeData.count); // Sakura - merge cannon entities; save to nbt
} }
@Override @Override
@@ -181,12 +181,12 @@ index 45f08a65d8b423fbf69f66d695bb9d67cf0f2f23..6f0b77e77186dd394b5949977e3e1a66
this.blockData = compound.getCompound("TileEntityData").map(blockData -> this.level().paperConfig().entities.spawning.filterBadTileEntityNbtFromFallingBlocks && this.blockState.getBlock() instanceof net.minecraft.world.level.block.GameMasterBlock ? null : blockData).map(CompoundTag::copy).orElse(null); // Paper - Filter bad block entity nbt data from falling blocks this.blockData = compound.getCompound("TileEntityData").map(blockData -> this.level().paperConfig().entities.spawning.filterBadTileEntityNbtFromFallingBlocks && this.blockState.getBlock() instanceof net.minecraft.world.level.block.GameMasterBlock ? null : blockData).map(CompoundTag::copy).orElse(null); // Paper - Filter bad block entity nbt data from falling blocks
this.cancelDrop = compound.getBooleanOr("CancelDrop", false); this.cancelDrop = compound.getBooleanOr("CancelDrop", false);
this.autoExpire = compound.getBooleanOr("Paper.AutoExpire", true); // Paper - Expand FallingBlock API this.autoExpire = compound.getBooleanOr("Paper.AutoExpire", true); // Paper - Expand FallingBlock API
+ this.mergeData.setCount(compound.getIntOr("merge_count", 1)); // Sakura - merge cannon entities; load from nbt + this.mergeData.count = compound.getIntOr("merge_count", 1); // Sakura - merge cannon entities; load from nbt
} }
public void setHurtsEntities(float fallDamagePerDistance, int fallDamageMax) { public void setHurtsEntities(float fallDamagePerDistance, int fallDamageMax) {
diff --git a/net/minecraft/world/entity/item/PrimedTnt.java b/net/minecraft/world/entity/item/PrimedTnt.java diff --git a/net/minecraft/world/entity/item/PrimedTnt.java b/net/minecraft/world/entity/item/PrimedTnt.java
index 0fbac85dd7b624899db3825149a5d2b167ecedaa..13fdcee0437695ae22180c6091b7aa72a1f1d087 100644 index 0fbac85dd7b624899db3825149a5d2b167ecedaa..a1cbeb8216edda93ac6043b113314d53e9347fd6 100644
--- a/net/minecraft/world/entity/item/PrimedTnt.java --- a/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/net/minecraft/world/entity/item/PrimedTnt.java +++ b/net/minecraft/world/entity/item/PrimedTnt.java
@@ -35,7 +35,7 @@ import org.bukkit.event.entity.EntityRemoveEvent; @@ -35,7 +35,7 @@ import org.bukkit.event.entity.EntityRemoveEvent;
@@ -243,7 +243,7 @@ index 0fbac85dd7b624899db3825149a5d2b167ecedaa..13fdcee0437695ae22180c6091b7aa72
this.blocksBuilding = true; this.blocksBuilding = true;
this.isPrimedTNT = true; // Sakura - client visibility settings this.isPrimedTNT = true; // Sakura - client visibility settings
this.loadChunks = level.sakuraConfig().cannons.loadChunks; // Sakura - load chunks on movement this.loadChunks = level.sakuraConfig().cannons.loadChunks; // Sakura - load chunks on movement
+ this.mergeData.setMergeLevel(level.sakuraConfig().cannons.mergeLevel); // Sakura - merge cannon entities + this.mergeData.mergeLevel = level.sakuraConfig().cannons.mergeLevel; // Sakura - merge cannon entities
} }
public PrimedTnt(Level level, double x, double y, double z, @Nullable LivingEntity owner) { public PrimedTnt(Level level, double x, double y, double z, @Nullable LivingEntity owner) {
@@ -251,7 +251,7 @@ index 0fbac85dd7b624899db3825149a5d2b167ecedaa..13fdcee0437695ae22180c6091b7aa72
if (i <= 0) { if (i <= 0) {
// CraftBukkit start - Need to reverse the order of the explosion and the entity death so we have a location for the event // CraftBukkit start - Need to reverse the order of the explosion and the entity death so we have a location for the event
//this.discard(); //this.discard();
+ this.respawnEntity(); // Sakura - merge cannon entities + this.tryToRespawnEntity(); // Sakura - merge cannon entities
if (!this.level().isClientSide) { if (!this.level().isClientSide) {
this.explode(); this.explode();
} }
@@ -259,7 +259,7 @@ index 0fbac85dd7b624899db3825149a5d2b167ecedaa..13fdcee0437695ae22180c6091b7aa72
if (this.explosionPower != 4.0F) { if (this.explosionPower != 4.0F) {
compound.putFloat("explosion_power", this.explosionPower); compound.putFloat("explosion_power", this.explosionPower);
} }
+ compound.putInt("merge_count", this.mergeData.getCount()); // Sakura - merge cannon entities; save to nbt + compound.putInt("merge_count", this.mergeData.count); // Sakura - merge cannon entities; save to nbt
} }
@Override @Override
@@ -267,7 +267,7 @@ index 0fbac85dd7b624899db3825149a5d2b167ecedaa..13fdcee0437695ae22180c6091b7aa72
this.setFuse(compound.getShortOr("fuse", (short)80)); this.setFuse(compound.getShortOr("fuse", (short)80));
this.setBlockState(compound.read("block_state", BlockState.CODEC, registryOps).orElse(DEFAULT_BLOCK_STATE)); this.setBlockState(compound.read("block_state", BlockState.CODEC, registryOps).orElse(DEFAULT_BLOCK_STATE));
this.explosionPower = Mth.clamp(compound.getFloatOr("explosion_power", 4.0F), 0.0F, 128.0F); this.explosionPower = Mth.clamp(compound.getFloatOr("explosion_power", 4.0F), 0.0F, 128.0F);
+ this.mergeData.setCount(compound.getIntOr("merge_count", 1)); // Sakura - merge cannon entities; load from nbt + this.mergeData.count = compound.getIntOr("merge_count", 1); // Sakura - merge cannon entities; load from nbt
} }
@Nullable @Nullable
@@ -310,7 +310,7 @@ index 42ee3f32fe44c1f0680c994a69201f7bd7792673..96c977df11c660ccb9a9b32e61c86508
protected abstract int getSignalForState(BlockState state); protected abstract int getSignalForState(BlockState state);
diff --git a/net/minecraft/world/level/block/WeightedPressurePlateBlock.java b/net/minecraft/world/level/block/WeightedPressurePlateBlock.java diff --git a/net/minecraft/world/level/block/WeightedPressurePlateBlock.java b/net/minecraft/world/level/block/WeightedPressurePlateBlock.java
index 5e095919828e89d12f2676b3c544842a81e047a1..94d699f1b8b1a85ea36341985666b21fcaaac761 100644 index 5e095919828e89d12f2676b3c544842a81e047a1..e47a5010baea87ebf472ccac9ae98ede7a490b50 100644
--- a/net/minecraft/world/level/block/WeightedPressurePlateBlock.java --- a/net/minecraft/world/level/block/WeightedPressurePlateBlock.java
+++ b/net/minecraft/world/level/block/WeightedPressurePlateBlock.java +++ b/net/minecraft/world/level/block/WeightedPressurePlateBlock.java
@@ -39,6 +39,11 @@ public class WeightedPressurePlateBlock extends BasePressurePlateBlock { @@ -39,6 +39,11 @@ public class WeightedPressurePlateBlock extends BasePressurePlateBlock {
@@ -330,7 +330,7 @@ index 5e095919828e89d12f2676b3c544842a81e047a1..94d699f1b8b1a85ea36341985666b21f
// We only want to block turning the plate on if all events are cancelled // We only want to block turning the plate on if all events are cancelled
if (!cancellable.isCancelled()) { if (!cancellable.isCancelled()) {
- min++; - min++;
+ min += !entityInside && entity instanceof me.samsuik.sakura.entity.merge.MergeableEntity mergeEntity ? mergeEntity.getMergeEntityData().getCount() : 1; // Sakura - merge cannon entities + min += !entityInside && entity instanceof me.samsuik.sakura.entity.merge.MergeableEntity mergeEntity ? mergeEntity.getMergeEntityData().count : 1; // Sakura - merge cannon entities
} }
} }
// CraftBukkit end // CraftBukkit end

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Specialised Explosions
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index ae0b6d506f0344249bdc238fff0f5a3306d05334..919793ba79ab19e86e42a8a97711563e504c0aed 100644 index fab973cb02218458f23e59665b4f2deb5d54da8d..b9806bdd4d49ed3fd8c17125143703b6a792b10e 100644
--- a/net/minecraft/server/level/ServerLevel.java --- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java
@@ -1891,7 +1891,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -1891,7 +1891,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -52,7 +52,7 @@ index ae0b6d506f0344249bdc238fff0f5a3306d05334..919793ba79ab19e86e42a8a97711563e
private Explosion.BlockInteraction getDestroyType(GameRules.Key<GameRules.BooleanValue> decayGameRule) { private Explosion.BlockInteraction getDestroyType(GameRules.Key<GameRules.BooleanValue> decayGameRule) {
diff --git a/net/minecraft/world/entity/item/PrimedTnt.java b/net/minecraft/world/entity/item/PrimedTnt.java diff --git a/net/minecraft/world/entity/item/PrimedTnt.java b/net/minecraft/world/entity/item/PrimedTnt.java
index 13fdcee0437695ae22180c6091b7aa72a1f1d087..57cfc90b3193fe8603cf10c444ae9be6dce8e584 100644 index a1cbeb8216edda93ac6043b113314d53e9347fd6..3511e852aebabed8d5f40611db4573f55ca21875 100644
--- a/net/minecraft/world/entity/item/PrimedTnt.java --- a/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/net/minecraft/world/entity/item/PrimedTnt.java +++ b/net/minecraft/world/entity/item/PrimedTnt.java
@@ -80,20 +80,7 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak @@ -80,20 +80,7 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak
@@ -73,7 +73,7 @@ index 13fdcee0437695ae22180c6091b7aa72a1f1d087..57cfc90b3193fe8603cf10c444ae9be6
- -
- this.tick(); - this.tick();
- } - }
+ this.mergeData.setCount(count); // Sakura - specialised explosions + this.mergeData.count = count; // Sakura - specialised explosions
} }
// Sakura end - merge cannon entities // Sakura end - merge cannon entities

View File

@@ -150,7 +150,7 @@ index 68e2b26835a2588a047e9ea175eb8e4912041976..98107921d7251e1b7fc621103a31afdf
protected Vec3 collide(Vec3 movement) { protected Vec3 collide(Vec3 movement) {
final boolean xZero = movement.x == 0.0; final boolean xZero = movement.x == 0.0;
diff --git a/net/minecraft/world/entity/item/FallingBlockEntity.java b/net/minecraft/world/entity/item/FallingBlockEntity.java diff --git a/net/minecraft/world/entity/item/FallingBlockEntity.java b/net/minecraft/world/entity/item/FallingBlockEntity.java
index 6f0b77e77186dd394b5949977e3e1a66610bc354..0dc8c7a74df21e10d3eec66682d5efc61b335e61 100644 index 3af6e04bb4dcd91de2794bbc8d3eff16def9efa8..e0cee4cda2fb2d55e1da0cedc71cdc0c445108d0 100644
--- a/net/minecraft/world/entity/item/FallingBlockEntity.java --- a/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -121,6 +121,12 @@ public class FallingBlockEntity extends Entity implements me.samsuik.sakura.enti @@ -121,6 +121,12 @@ public class FallingBlockEntity extends Entity implements me.samsuik.sakura.enti
@@ -167,11 +167,11 @@ index 6f0b77e77186dd394b5949977e3e1a66610bc354..0dc8c7a74df21e10d3eec66682d5efc6
public FallingBlockEntity(EntityType<? extends FallingBlockEntity> entityType, Level level) { public FallingBlockEntity(EntityType<? extends FallingBlockEntity> entityType, Level level) {
super(entityType, level); super(entityType, level);
diff --git a/net/minecraft/world/entity/item/PrimedTnt.java b/net/minecraft/world/entity/item/PrimedTnt.java diff --git a/net/minecraft/world/entity/item/PrimedTnt.java b/net/minecraft/world/entity/item/PrimedTnt.java
index 57cfc90b3193fe8603cf10c444ae9be6dce8e584..a5fdbd843ad49a862508574c1b07a2503c019f96 100644 index 3511e852aebabed8d5f40611db4573f55ca21875..d523cc4e7089e04d577248d26d7d4e911cd87434 100644
--- a/net/minecraft/world/entity/item/PrimedTnt.java --- a/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/net/minecraft/world/entity/item/PrimedTnt.java +++ b/net/minecraft/world/entity/item/PrimedTnt.java
@@ -83,6 +83,12 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak @@ -83,6 +83,12 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak
this.mergeData.setCount(count); // Sakura - specialised explosions this.mergeData.count = count; // Sakura - specialised explosions
} }
// Sakura end - merge cannon entities // Sakura end - merge cannon entities
+ // Sakura start - optimise cannon entity movement + // Sakura start - optimise cannon entity movement

View File

@@ -179,7 +179,7 @@ index 98107921d7251e1b7fc621103a31afdfd3bb5af7..162062200a4ffa7bc669093779377f0d
if (this.isAlive()) { if (this.isAlive()) {
BlockState blockState = this.level().getBlockState(pos); BlockState blockState = this.level().getBlockState(pos);
diff --git a/net/minecraft/world/entity/item/FallingBlockEntity.java b/net/minecraft/world/entity/item/FallingBlockEntity.java diff --git a/net/minecraft/world/entity/item/FallingBlockEntity.java b/net/minecraft/world/entity/item/FallingBlockEntity.java
index 0dc8c7a74df21e10d3eec66682d5efc61b335e61..16c22f243fcb6b5ae1b43ea112251a9b731f91c8 100644 index e0cee4cda2fb2d55e1da0cedc71cdc0c445108d0..3b83c101fd5583f45fdd6fa20e92bc17318fad6b 100644
--- a/net/minecraft/world/entity/item/FallingBlockEntity.java --- a/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -127,6 +127,43 @@ public class FallingBlockEntity extends Entity implements me.samsuik.sakura.enti @@ -127,6 +127,43 @@ public class FallingBlockEntity extends Entity implements me.samsuik.sakura.enti
@@ -318,7 +318,7 @@ index 0dc8c7a74df21e10d3eec66682d5efc61b335e61..16c22f243fcb6b5ae1b43ea112251a9b
} }
diff --git a/net/minecraft/world/entity/item/PrimedTnt.java b/net/minecraft/world/entity/item/PrimedTnt.java diff --git a/net/minecraft/world/entity/item/PrimedTnt.java b/net/minecraft/world/entity/item/PrimedTnt.java
index a5fdbd843ad49a862508574c1b07a2503c019f96..6153f82d85b73a927c5a4cf6b916c69d06edd744 100644 index d523cc4e7089e04d577248d26d7d4e911cd87434..e37c07ca244ccf02e474632a072b583675dab608 100644
--- a/net/minecraft/world/entity/item/PrimedTnt.java --- a/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/net/minecraft/world/entity/item/PrimedTnt.java +++ b/net/minecraft/world/entity/item/PrimedTnt.java
@@ -89,6 +89,22 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak @@ -89,6 +89,22 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak
@@ -389,7 +389,7 @@ index a5fdbd843ad49a862508574c1b07a2503c019f96..6153f82d85b73a927c5a4cf6b916c69d
+ if (physics.before(1_9_0) ? (i < 0) : (i <= 0)) { // Sakura - configure cannon physics + if (physics.before(1_9_0) ? (i < 0) : (i <= 0)) { // Sakura - configure cannon physics
// CraftBukkit start - Need to reverse the order of the explosion and the entity death so we have a location for the event // CraftBukkit start - Need to reverse the order of the explosion and the entity death so we have a location for the event
//this.discard(); //this.discard();
this.respawnEntity(); // Sakura - merge cannon entities this.tryToRespawnEntity(); // Sakura - merge cannon entities
@@ -226,13 +254,14 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak @@ -226,13 +254,14 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak
return; return;
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Merge Cannon Entities
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java
index e77b06c3ef9b534a8f4f160d077cf4339ee7622d..f0efb5feea71a69ac52f4dd81266f3a48020f926 100644 index e77b06c3ef9b534a8f4f160d077cf4339ee7622d..a33e91a5b35109415b8140721469217c336dfc00 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java
@@ -25,6 +25,27 @@ public class CraftFallingBlock extends CraftEntity implements FallingBlock { @@ -25,6 +25,27 @@ public class CraftFallingBlock extends CraftEntity implements FallingBlock {
@@ -14,30 +14,30 @@ index e77b06c3ef9b534a8f4f160d077cf4339ee7622d..f0efb5feea71a69ac52f4dd81266f3a4
// Sakura end - falling block height parity api // Sakura end - falling block height parity api
+ // Sakura start - merge cannon entities + // Sakura start - merge cannon entities
+ @Override + @Override
+ public final @org.jetbrains.annotations.NotNull me.samsuik.sakura.entity.merge.MergeLevel getMergeLevel() { + public final me.samsuik.sakura.entity.merge.MergeLevel getMergeLevel() {
+ return this.getHandle().getMergeEntityData().getMergeLevel(); + return this.getHandle().getMergeEntityData().mergeLevel;
+ } + }
+ +
+ @Override + @Override
+ public final void setMergeLevel(@org.jetbrains.annotations.NotNull me.samsuik.sakura.entity.merge.MergeLevel level) { + public final void setMergeLevel(me.samsuik.sakura.entity.merge.MergeLevel level) {
+ this.getHandle().getMergeEntityData().setMergeLevel(level); + this.getHandle().getMergeEntityData().mergeLevel = level;
+ } + }
+ +
+ @Override + @Override
+ public final int getStacked() { + public final int getStacked() {
+ return this.getHandle().getMergeEntityData().getCount(); + return this.getHandle().getMergeEntityData().count;
+ } + }
+ +
+ @Override + @Override
+ public final void setStacked(int stacked) { + public final void setStacked(int stacked) {
+ this.getHandle().getMergeEntityData().setCount(stacked); + this.getHandle().getMergeEntityData().count = stacked;
+ } + }
+ // Sakura end - merge cannon entities + // Sakura end - merge cannon entities
@Override @Override
public FallingBlockEntity getHandle() { public FallingBlockEntity getHandle() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftTNTPrimed.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftTNTPrimed.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftTNTPrimed.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftTNTPrimed.java
index eea78db7f12f5976077663a9ff0c0e188ffa8849..3fcee720ec174255ebd71428d8449a444d2a22ad 100644 index eea78db7f12f5976077663a9ff0c0e188ffa8849..2e7803bd1f3411e75d8a51e03276b00469496f3b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTNTPrimed.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTNTPrimed.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTNTPrimed.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTNTPrimed.java
@@ -12,6 +12,28 @@ public class CraftTNTPrimed extends CraftEntity implements TNTPrimed { @@ -12,6 +12,28 @@ public class CraftTNTPrimed extends CraftEntity implements TNTPrimed {
@@ -46,23 +46,23 @@ index eea78db7f12f5976077663a9ff0c0e188ffa8849..3fcee720ec174255ebd71428d8449a44
+ // Sakura start - merge cannon entities + // Sakura start - merge cannon entities
+ @Override + @Override
+ public final @org.jetbrains.annotations.NotNull me.samsuik.sakura.entity.merge.MergeLevel getMergeLevel() { + public final me.samsuik.sakura.entity.merge.MergeLevel getMergeLevel() {
+ return this.getHandle().getMergeEntityData().getMergeLevel(); + return this.getHandle().getMergeEntityData().mergeLevel;
+ } + }
+ +
+ @Override + @Override
+ public final void setMergeLevel(@org.jetbrains.annotations.NotNull me.samsuik.sakura.entity.merge.MergeLevel level) { + public final void setMergeLevel(me.samsuik.sakura.entity.merge.MergeLevel level) {
+ this.getHandle().getMergeEntityData().setMergeLevel(level); + this.getHandle().getMergeEntityData().mergeLevel = level;
+ } + }
+ +
+ @Override + @Override
+ public final int getStacked() { + public final int getStacked() {
+ return this.getHandle().getMergeEntityData().getCount(); + return this.getHandle().getMergeEntityData().count;
+ } + }
+ +
+ @Override + @Override
+ public final void setStacked(int stacked) { + public final void setStacked(int stacked) {
+ this.getHandle().getMergeEntityData().setCount(stacked); + this.getHandle().getMergeEntityData().count = stacked;
+ } + }
+ // Sakura end - merge cannon entities + // Sakura end - merge cannon entities
+ +