mirror of
https://github.com/barkeser2002/CatServer.git
synced 2026-09-25 08:39:58 +03:00
28 lines
1.3 KiB
Diff
28 lines
1.3 KiB
Diff
--- ../src-base/minecraft/net/minecraft/entity/projectile/EntityLargeFireball.java
|
|
+++ ../src-work/minecraft/net/minecraft/entity/projectile/EntityLargeFireball.java
|
|
@@ -1,5 +1,7 @@
|
|
package net.minecraft.entity.projectile;
|
|
|
|
+import org.bukkit.event.entity.ExplosionPrimeEvent;
|
|
+
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.entity.EntityLivingBase;
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
@@ -41,7 +43,15 @@
|
|
}
|
|
|
|
boolean flag = this.worldObj.getGameRules().getBoolean("mobGriefing");
|
|
- this.worldObj.newExplosion((Entity)null, this.posX, this.posY, this.posZ, (float)this.explosionPower, flag, flag);
|
|
+ // CraftBukkit start - fire ExplosionPrimeEvent
|
|
+ ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) org.bukkit.craftbukkit.entity.CraftEntity.getEntity(this.worldObj.getServer(), this));
|
|
+ this.worldObj.getServer().getPluginManager().callEvent(event);
|
|
+
|
|
+ if (!event.isCancelled()) {
|
|
+ // give 'this' instead of (Entity) null so we know what causes the damage
|
|
+ this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, event.getRadius(), event.getFire(), flag);
|
|
+ }
|
|
+ // CraftBukkit end
|
|
this.setDead();
|
|
}
|
|
}
|