Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-15 02:50:09 +01:00
8d040fad9b
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 465c4964 PR-843: Add damage methods to FallingBlock 46ba7c9f SPIGOT-7335: Fix typo in TextDisplay#TextAlignment enum name CraftBukkit Changes: 818582f40 PR-1169: Add damage methods to FallingBlock 15a3eac66 SPIGOT-7335: Fix typo in TextDisplay#TextAlignment enum name f01fb4979 SPIGOT-7336: Fix typo in internal method name
69 Zeilen
3.5 KiB
Diff
69 Zeilen
3.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
|
Date: Sun, 5 Dec 2021 14:58:17 -0500
|
|
Subject: [PATCH] FallingBlock auto expire setting
|
|
|
|
|
|
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 02ea0298c6dc6ed3d4350e562c255e748ca141ae..536856300da929c101f50da5827677bada5feb50 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
|
@@ -64,6 +64,7 @@ public class FallingBlockEntity extends Entity {
|
|
@Nullable
|
|
public CompoundTag blockData;
|
|
protected static final EntityDataAccessor<BlockPos> DATA_START_POS = SynchedEntityData.defineId(FallingBlockEntity.class, EntityDataSerializers.BLOCK_POS);
|
|
+ public boolean autoExpire = true; // Paper - Auto expire setting
|
|
|
|
public FallingBlockEntity(EntityType<? extends FallingBlockEntity> type, Level world) {
|
|
super(type, world);
|
|
@@ -178,7 +179,7 @@ public class FallingBlockEntity extends Entity {
|
|
}
|
|
|
|
if (!this.onGround && !flag1) {
|
|
- if (!this.level.isClientSide && (this.time > 100 && (blockposition.getY() <= this.level.getMinBuildHeight() || blockposition.getY() > this.level.getMaxBuildHeight()) || this.time > 600)) {
|
|
+ if (!this.level.isClientSide && ((this.time > 100 && autoExpire) && (blockposition.getY() <= this.level.getMinBuildHeight() || blockposition.getY() > this.level.getMaxBuildHeight()) || (this.time > 600 && autoExpire))) { // Paper - Auto expire setting
|
|
if (this.dropItem && this.level.getGameRules().getBoolean(GameRules.RULE_DOENTITYDROPS)) {
|
|
this.spawnAtLocation((ItemLike) block);
|
|
}
|
|
@@ -324,6 +325,7 @@ public class FallingBlockEntity extends Entity {
|
|
if (this.blockData != null) {
|
|
nbt.put("TileEntityData", this.blockData);
|
|
}
|
|
+ if (!autoExpire) {nbt.putBoolean("Paper.AutoExpire", false);} // Paper - AutoExpire setting
|
|
|
|
}
|
|
|
|
@@ -358,6 +360,10 @@ public class FallingBlockEntity extends Entity {
|
|
int srcZ = nbt.getInt("SourceLoc_z");
|
|
this.setOrigin(new org.bukkit.Location(level.getWorld(), srcX, srcY, srcZ));
|
|
}
|
|
+
|
|
+ if (nbt.contains("Paper.AutoExpire")) {
|
|
+ this.autoExpire = nbt.getBoolean("Paper.AutoExpire");
|
|
+ }
|
|
// Paper end
|
|
}
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java
|
|
index 4a4fe85abb4ddd62e04f348e5be8b98ca4d4fbdc..05778023c3b2809c52c148efdfc8677dcc087a7b 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java
|
|
@@ -59,6 +59,17 @@ public class CraftFallingBlock extends CraftEntity implements FallingBlock {
|
|
public void setHurtEntities(boolean hurtEntities) {
|
|
this.getHandle().hurtEntities = hurtEntities;
|
|
}
|
|
+ // Paper Start - Auto expire setting
|
|
+ @Override
|
|
+ public boolean doesAutoExpire() {
|
|
+ return this.getHandle().autoExpire;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void shouldAutoExpire(boolean autoExpires) {
|
|
+ this.getHandle().autoExpire = autoExpires;
|
|
+ }
|
|
+ // Paper End - Auto expire setting
|
|
|
|
@Override
|
|
public void setTicksLived(int value) {
|