#1429: Implement TrialSpawnerSpawnEvent

By: Doc <nachito94@msn.com>
This commit is contained in:
CraftBukkit/Spigot
2024-06-28 07:06:36 +10:00
parent 820bc6423d
commit 5f8cff3bb5
2 changed files with 23 additions and 2 deletions

View File

@@ -211,6 +211,7 @@ 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.TrialSpawnerSpawnEvent;
import org.bukkit.event.entity.VillagerCareerChangeEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.inventory.InventoryOpenEvent;
@@ -1568,6 +1569,21 @@ public class CraftEventFactory {
return event;
}
/**
* Trial Mob spawner event.
*/
public static TrialSpawnerSpawnEvent callTrialSpawnerSpawnEvent(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.TrialSpawner)) {
state = null;
}
TrialSpawnerSpawnEvent event = new TrialSpawnerSpawnEvent(entity, (org.bukkit.block.TrialSpawner) 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);