mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
clean up stored bee api
This commit is contained in:
@@ -5,28 +5,31 @@ Subject: [PATCH] Stored Bee API
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||||
index 7b82842b97ce795745cf6ee6399f618c55acbbf3..5344393f62af19c3591f54a6ebc40b2e4c3b6226 100644
|
index 7b82842b97ce795745cf6ee6399f618c55acbbf3..82bdd430f1640e44d25af54354bba27b190fa1ba 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||||
@@ -130,6 +130,36 @@ public class BeehiveBlockEntity extends BlockEntity {
|
@@ -117,10 +117,15 @@ public class BeehiveBlockEntity extends BlockEntity {
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Entity> releaseBees(BlockState iblockdata, BeehiveBlockEntity.BeeReleaseStatus tileentitybeehive_releasestatus, boolean force) {
|
||||||
|
+ // Purpur start
|
||||||
|
+ return this.releaseBees(iblockdata, this.level, tileentitybeehive_releasestatus, force);
|
||||||
|
+ }
|
||||||
|
+ public List<Entity> releaseBees(BlockState iblockdata, Level level, BeehiveBlockEntity.BeeReleaseStatus tileentitybeehive_releasestatus, boolean force) {
|
||||||
|
+ // Purpur end
|
||||||
|
List<Entity> list = Lists.newArrayList();
|
||||||
|
|
||||||
|
this.stored.removeIf((tileentitybeehive_hivebee) -> {
|
||||||
|
- return BeehiveBlockEntity.releaseBee(this.level, this.worldPosition, iblockdata, tileentitybeehive_hivebee, list, tileentitybeehive_releasestatus, this.savedFlowerPos, force);
|
||||||
|
+ return BeehiveBlockEntity.releaseBee(level, this.worldPosition, iblockdata, tileentitybeehive_hivebee, list, tileentitybeehive_releasestatus, this.savedFlowerPos, force); // Purpur
|
||||||
|
// CraftBukkit end
|
||||||
|
});
|
||||||
|
if (!list.isEmpty()) {
|
||||||
|
@@ -130,6 +135,22 @@ public class BeehiveBlockEntity extends BlockEntity {
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ public List<Entity> releaseBees(BlockState iblockdata, Level level, BeehiveBlockEntity.BeeReleaseStatus tileentitybeehive_releasestatus, boolean force) {
|
|
||||||
+ List<Entity> list = Lists.newArrayList();
|
|
||||||
+
|
|
||||||
+ this.stored.removeIf((tileentitybeehive_hivebee) -> {
|
|
||||||
+ return BeehiveBlockEntity.releaseBee(level, this.worldPosition, iblockdata, tileentitybeehive_hivebee, list, tileentitybeehive_releasestatus, this.savedFlowerPos, force);
|
|
||||||
+ });
|
|
||||||
+
|
|
||||||
+ if (!list.isEmpty()) {
|
|
||||||
+ super.setChanged();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return list;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public List<Entity> releaseBee(BlockState iblockdata, Level level, BeeData data, BeehiveBlockEntity.BeeReleaseStatus tileentitybeehive_releasestatus, boolean force) {
|
+ public List<Entity> releaseBee(BlockState iblockdata, Level level, BeeData data, BeehiveBlockEntity.BeeReleaseStatus tileentitybeehive_releasestatus, boolean force) {
|
||||||
+ List<Entity> list = Lists.newArrayList();
|
+ List<Entity> list = Lists.newArrayList();
|
||||||
+
|
+
|
||||||
@@ -45,7 +48,7 @@ index 7b82842b97ce795745cf6ee6399f618c55acbbf3..5344393f62af19c3591f54a6ebc40b2e
|
|||||||
public void addOccupant(Entity entity, boolean hasNectar) {
|
public void addOccupant(Entity entity, boolean hasNectar) {
|
||||||
this.addOccupantWithPresetTicks(entity, hasNectar, 0);
|
this.addOccupantWithPresetTicks(entity, hasNectar, 0);
|
||||||
}
|
}
|
||||||
@@ -139,6 +169,12 @@ public class BeehiveBlockEntity extends BlockEntity {
|
@@ -139,6 +160,12 @@ public class BeehiveBlockEntity extends BlockEntity {
|
||||||
return this.stored.size();
|
return this.stored.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,7 +61,7 @@ index 7b82842b97ce795745cf6ee6399f618c55acbbf3..5344393f62af19c3591f54a6ebc40b2e
|
|||||||
// Paper start - Add EntityBlockStorage clearEntities
|
// Paper start - Add EntityBlockStorage clearEntities
|
||||||
public void clearBees() {
|
public void clearBees() {
|
||||||
this.stored.clear();
|
this.stored.clear();
|
||||||
@@ -425,9 +461,9 @@ public class BeehiveBlockEntity extends BlockEntity {
|
@@ -425,9 +452,9 @@ public class BeehiveBlockEntity extends BlockEntity {
|
||||||
private BeeReleaseStatus() {}
|
private BeeReleaseStatus() {}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,7 +74,7 @@ index 7b82842b97ce795745cf6ee6399f618c55acbbf3..5344393f62af19c3591f54a6ebc40b2e
|
|||||||
int exitTickCounter; // Paper - separate counter for checking if bee should exit to reduce exit attempts
|
int exitTickCounter; // Paper - separate counter for checking if bee should exit to reduce exit attempts
|
||||||
final int minOccupationTicks;
|
final int minOccupationTicks;
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java
|
||||||
index 380897c010521f368848a3e6986d307cf47ff319..3c5eae31dc229b8c5f15215be9462410bcb41f07 100644
|
index 380897c010521f368848a3e6986d307cf47ff319..eed465160220f0e080ff3f9fa26be790a1cb65bb 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java
|
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java
|
||||||
@@ -16,8 +16,15 @@ import org.bukkit.entity.Bee;
|
@@ -16,8 +16,15 @@ import org.bukkit.entity.Bee;
|
||||||
@@ -98,8 +101,8 @@ index 380897c010521f368848a3e6986d307cf47ff319..3c5eae31dc229b8c5f15215be9462410
|
|||||||
- for (Entity bee : beehive.releaseBees(this.getHandle(), BeeReleaseStatus.BEE_RELEASED, true)) {
|
- for (Entity bee : beehive.releaseBees(this.getHandle(), BeeReleaseStatus.BEE_RELEASED, true)) {
|
||||||
+ // Purpur start - change which releaseBees method is called, and use beehive snapshot
|
+ // Purpur start - change which releaseBees method is called, and use beehive snapshot
|
||||||
+ BeehiveBlockEntity beehive = ((BeehiveBlockEntity) this.getSnapshot());
|
+ BeehiveBlockEntity beehive = ((BeehiveBlockEntity) this.getSnapshot());
|
||||||
+ for (Entity bee : beehive.releaseBees(this.getHandle(), getWorldHandle().getMinecraftWorld(), BeeReleaseStatus.BEE_RELEASED, true)) {
|
+ for (Entity bee : beehive.releaseBees(this.getHandle(), world.getHandle(), BeeReleaseStatus.BEE_RELEASED, true)) {
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
bees.add((Bee) bee.getBukkitEntity());
|
bees.add((Bee) bee.getBukkitEntity());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user