Add the ability to clear entities from block storage (#5598)

This commit is contained in:
Owen1212055 2021-05-10 03:33:39 -04:00 committed by GitHub
parent f50171f3bb
commit b3cc88799f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 59 additions and 0 deletions

View file

@ -0,0 +1,22 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
Date: Mon, 5 Apr 2021 18:12:06 -0400
Subject: [PATCH] Add EntityBlockStorage#clearEntities()
diff --git a/src/main/java/org/bukkit/block/EntityBlockStorage.java b/src/main/java/org/bukkit/block/EntityBlockStorage.java
index f3f8d765d5d487aa14edf0b88c32608fb804c331..739911cda33b373f99df627a3a378b37d7d461aa 100644
--- a/src/main/java/org/bukkit/block/EntityBlockStorage.java
+++ b/src/main/java/org/bukkit/block/EntityBlockStorage.java
@@ -53,4 +53,11 @@ public interface EntityBlockStorage<T extends Entity> extends TileState {
* @param entity Entity to add to the block
*/
void addEntity(@NotNull T entity);
+
+ // Paper start - Add EntityBlockStorage clearEntities
+ /**
+ * Clear all currently stored entities in the block.
+ */
+ void clearEntities();
+ // Paper end
}

View file

@ -0,0 +1,37 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
Date: Mon, 5 Apr 2021 18:12:29 -0400
Subject: [PATCH] Add EntityBlockStorage#clearEntities()
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java
index 3cbcbb028b864f1d14e004628bbc0829f71ab476..80083a6666a28372946cf0e68ded44d075357f7d 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java
@@ -120,6 +120,11 @@ public class TileEntityBeehive extends TileEntity implements ITickable {
return this.bees.size();
}
+ // Paper start - Add EntityBlockStorage clearEntities
+ public void clearBees() {
+ this.bees.clear();
+ }
+ // Paper end
public static int a(IBlockData iblockdata) {
return (Integer) iblockdata.get(BlockBeehive.b);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java
index af691b28b38e388617d241008c2e9d403bc5c15d..9f4fb1ff9c945799d10d6905c8b73376e4133d23 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java
@@ -83,4 +83,10 @@ public class CraftBeehive extends CraftBlockEntityState<TileEntityBeehive> imple
getSnapshot().addBee(((CraftBee) entity).getHandle(), false);
}
+ // Paper start - Add EntityBlockStorage clearEntities
+ @Override
+ public void clearEntities() {
+ getSnapshot().clearBees();
+ }
+ // Paper end
}