--- a/net/minecraft/world/level/block/BlockPumpkinCarved.java +++ b/net/minecraft/world/level/block/BlockPumpkinCarved.java @@ -24,6 +24,10 @@ import net.minecraft.world.level.block.state.predicate.BlockStatePredicate; import net.minecraft.world.level.block.state.properties.BlockStateDirection; +// CraftBukkit start +import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; +// CraftBukkit end + public class BlockPumpkinCarved extends BlockFacingHorizontal { public static final MapCodec CODEC = simpleCodec(BlockPumpkinCarved::new); @@ -86,9 +90,14 @@ } private static void spawnGolemInWorld(World world, ShapeDetector.ShapeDetectorCollection shapedetector_shapedetectorcollection, Entity entity, BlockPosition blockposition) { - clearPatternBlocks(world, shapedetector_shapedetectorcollection); + // clearPatternBlocks(world, shapedetector_shapedetectorcollection); // CraftBukkit - moved down entity.moveTo((double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.05D, (double) blockposition.getZ() + 0.5D, 0.0F, 0.0F); - world.addFreshEntity(entity); + // CraftBukkit start + if (!world.addFreshEntity(entity, SpawnReason.BUILD_IRONGOLEM)) { + return; + } + clearPatternBlocks(world, shapedetector_shapedetectorcollection); // CraftBukkit - from above + // CraftBukkit end Iterator iterator = world.getEntitiesOfClass(EntityPlayer.class, entity.getBoundingBox().inflate(5.0D)).iterator(); while (iterator.hasNext()) {