SPIGOT-519: Add TNTPrimeEvent

Thanks to Pokechu22 for an earlier implementation

By: Jishuna <joshl5324@gmail.com>
This commit is contained in:
CraftBukkit/Spigot
2023-05-03 20:46:43 +10:00
parent d58f895450
commit ba817be945
5 changed files with 93 additions and 9 deletions

View File

@@ -408,7 +408,7 @@
itemstack.shrink(1);
if (itemstack.isEmpty()) {
return new ItemStack(item);
@@ -463,14 +742,42 @@
@@ -463,16 +742,44 @@
protected ItemStack execute(ISourceBlock isourceblock, ItemStack itemstack) {
WorldServer worldserver = isourceblock.getLevel();
@@ -451,8 +451,11 @@
+ }
+ // CraftBukkit end
} else if (!BlockCampfire.canLight(iblockdata) && !CandleBlock.canLight(iblockdata) && !CandleCakeBlock.canLight(iblockdata)) {
if (iblockdata.getBlock() instanceof BlockTNT) {
- if (iblockdata.getBlock() instanceof BlockTNT) {
+ if (iblockdata.getBlock() instanceof BlockTNT && org.bukkit.craftbukkit.event.CraftEventFactory.callTNTPrimeEvent(worldserver, blockposition, org.bukkit.event.block.TNTPrimeEvent.PrimeCause.DISPENSER, null, isourceblock.getPos())) { // CraftBukkit - TNTPrimeEvent
BlockTNT.explode(worldserver, blockposition);
worldserver.removeBlock(blockposition, false);
} else {
@@ -496,12 +803,62 @@
this.setSuccess(true);
WorldServer worldserver = isourceblock.getLevel();