SPIGOT-5467: Don't play sound or increase honey level if bee leaving hive is cancelled

This commit is contained in:
BlackHole 2019-12-23 14:25:03 +01:00 committed by md_5
parent 7d677e7b13
commit 297ff4000e

View file

@ -1,15 +1,23 @@
--- a/net/minecraft/server/TileEntityBeehive.java
+++ b/net/minecraft/server/TileEntityBeehive.java
@@ -194,7 +194,7 @@
@@ -161,6 +161,7 @@
if (!entity.getEntityType().a(TagsEntity.BEEHIVE_INHABITORS)) {
return false;
} else {
+ if (!this.world.addEntity(entity, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BEEHIVE)) return false; // CraftBukkit - SpawnReason, moved from below
if (entity instanceof EntityBee) {
EntityBee entitybee = (EntityBee) entity;
@@ -194,7 +195,7 @@
BlockPosition blockposition2 = this.getPosition();
this.world.playSound((EntityHuman) null, (double) blockposition2.getX(), (double) blockposition2.getY(), (double) blockposition2.getZ(), SoundEffects.BLOCK_BEEHIVE_EXIT, SoundCategory.BLOCKS, 1.0F, 1.0F);
- return this.world.addEntity(entity);
+ return this.world.addEntity(entity, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BEEHIVE); // CraftBukkit
+ return true; // return this.world.addEntity(entity); // CraftBukkit - moved up
}
} else {
return false;
@@ -221,6 +221,11 @@
@@ -221,6 +222,11 @@
if (this.a(iblockdata, nbttagcompound, (List) null, tileentitybeehive_releasestatus)) {
iterator.remove();
}