Implement SpawnerSpawnEvent

By: md_5 <git@md-5.net>
Also-by: Andy Shulman <andy.shulman@hotmail.com>
This commit is contained in:
CraftBukkit/Spigot
2023-06-10 07:22:51 +10:00
parent 82dccdf1a6
commit 5301642c90
2 changed files with 23 additions and 2 deletions

View File

@@ -195,6 +195,7 @@ import org.bukkit.event.entity.PlayerLeashEntityEvent;
import org.bukkit.event.entity.PotionSplashEvent;
import org.bukkit.event.entity.ProjectileHitEvent;
import org.bukkit.event.entity.ProjectileLaunchEvent;
import org.bukkit.event.entity.SpawnerSpawnEvent;
import org.bukkit.event.entity.StriderTemperatureChangeEvent;
import org.bukkit.event.entity.VillagerCareerChangeEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
@@ -1519,6 +1520,21 @@ public class CraftEventFactory {
return event;
}
/**
* Mob spawner event.
*/
public static SpawnerSpawnEvent callSpawnerSpawnEvent(Entity spawnee, BlockPosition pos) {
org.bukkit.craftbukkit.entity.CraftEntity entity = spawnee.getBukkitEntity();
BlockState state = CraftBlock.at(spawnee.level(), pos).getState();
if (!(state instanceof org.bukkit.block.CreatureSpawner)) {
state = null;
}
SpawnerSpawnEvent event = new SpawnerSpawnEvent(entity, (org.bukkit.block.CreatureSpawner) state);
entity.getServer().getPluginManager().callEvent(event);
return event;
}
public static EntityToggleGlideEvent callToggleGlideEvent(EntityLiving entity, boolean gliding) {
EntityToggleGlideEvent event = new EntityToggleGlideEvent((LivingEntity) entity.getBukkitEntity(), gliding);
entity.level().getCraftServer().getPluginManager().callEvent(event);