4af62f6d1d
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: 2d009e64 Update SnakeYAML javadoc link b4fd213c Switch Player#updateInventory deprecation for internal API annotation CraftBukkit Changes: f3b2b2210 SPIGOT-7376: Exception with getBlockData when hasBlockData is false 725545630 SPIGOT-7375: Fix crash breeding certain entities b9873b0d4 Update Brigadier version with fix 68b320562 SPIGOT-7266: Found typo in CraftBukkit package 98b4d2ff8 SPIGOT-7372, SPIGOT-7373: Signs can't be edited, issues with SignChangeEvent 5f7bd4d78 SPIGOT-7371: Sign does not open edit text on placement b4cf99d24 SPIGOT-7371: Fix editing signs with API a2b6c2744 PR-1200: Implement open sign by side a345bb940 SPIGOT-7368: Downgrade SpecialSource version Spigot Changes: 723951c3 Rebuild patches b655c57d Drop old collision API deprecated since 1.9.4 55b0fed4 Rebuild patches
68 Zeilen
3.5 KiB
Diff
68 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 4a44109df0aece6661567dac5ebf6355de5d58c7..eff81e846f696349b3bd3d26c02442f157b169f0 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);
|
|
}
|
|
@@ -326,6 +327,7 @@ public class FallingBlockEntity extends Entity {
|
|
}
|
|
|
|
nbt.putBoolean("CancelDrop", this.cancelDrop);
|
|
+ if (!autoExpire) {nbt.putBoolean("Paper.AutoExpire", false);} // Paper - AutoExpire setting
|
|
}
|
|
|
|
@Override
|
|
@@ -361,6 +363,11 @@ public class FallingBlockEntity extends Entity {
|
|
this.setOrigin(new org.bukkit.Location(this.level().getWorld(), srcX, srcY, srcZ));
|
|
}
|
|
// Paper end
|
|
+ // Paper start
|
|
+ if (nbt.contains("Paper.AutoExpire")) {
|
|
+ this.autoExpire = nbt.getBoolean("Paper.AutoExpire");
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
|
|
public void setHurtsEntities(float fallHurtAmount, int fallHurtMax) {
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java
|
|
index 4a4fe85abb4ddd62e04f348e5be8b98ca4d4fbdc..e99314b905a7ed54ceeb156ed92ff1a5793df99a 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java
|
|
@@ -97,4 +97,15 @@ public class CraftFallingBlock extends CraftEntity implements FallingBlock {
|
|
this.setHurtEntities(true);
|
|
}
|
|
}
|
|
+ // 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
|
|
}
|