SPIGOT-6910: Add BlockDamageAbortEvent

By: FreeSoccerHDX <unconfigured@null.spigotmc.org>
This commit is contained in:
CraftBukkit/Spigot
2022-02-02 08:56:23 +11:00
parent df76a31fc1
commit e664c2bf5f
2 changed files with 40 additions and 18 deletions

View File

@@ -128,6 +128,7 @@ import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import org.bukkit.event.Event.Result;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockDamageAbortEvent;
import org.bukkit.event.block.BlockDamageEvent;
import org.bukkit.event.block.BlockDropItemEvent;
import org.bukkit.event.block.BlockFadeEvent;
@@ -574,6 +575,18 @@ public class CraftEventFactory {
return event;
}
public static BlockDamageAbortEvent callBlockDamageAbortEvent(EntityPlayer who, BlockPosition pos, ItemStack itemstack) {
Player player = who.getBukkitEntity();
CraftItemStack itemInHand = CraftItemStack.asCraftMirror(itemstack);
Block blockClicked = CraftBlock.at(who.getLevel(), pos);
BlockDamageAbortEvent event = new BlockDamageAbortEvent(player, blockClicked, itemInHand);
player.getServer().getPluginManager().callEvent(event);
return event;
}
public static boolean doEntityAddEventCalling(World world, Entity entity, SpawnReason spawnReason) {
if (entity == null) return false;