summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/EntitySmallFireball.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/minecraft/server/EntitySmallFireball.java')
-rw-r--r--src/main/java/net/minecraft/server/EntitySmallFireball.java36
1 files changed, 9 insertions, 27 deletions
diff --git a/src/main/java/net/minecraft/server/EntitySmallFireball.java b/src/main/java/net/minecraft/server/EntitySmallFireball.java
index 6f632700..6cd2008c 100644
--- a/src/main/java/net/minecraft/server/EntitySmallFireball.java
+++ b/src/main/java/net/minecraft/server/EntitySmallFireball.java
@@ -1,12 +1,6 @@
package net.minecraft.server;
-// CraftBukkit start
-import org.bukkit.Bukkit;
-import org.bukkit.entity.Projectile;
-import org.bukkit.event.entity.EntityCombustByEntityEvent;
-import org.bukkit.event.entity.ProjectileHitEvent;
-import org.bukkit.plugin.PluginManager;
-// CraftBukkit end
+import org.bukkit.event.entity.EntityCombustByEntityEvent; // CraftBukkit
public class EntitySmallFireball extends EntityFireball {
@@ -27,26 +21,14 @@ public class EntitySmallFireball extends EntityFireball {
protected void a(MovingObjectPosition movingobjectposition) {
if (!this.world.isStatic) {
- // CraftBukkit start - projectile hit event
- Projectile projectile = (Projectile) this.getBukkitEntity();
- ProjectileHitEvent phe = new ProjectileHitEvent(projectile);
- final PluginManager pluginManager = Bukkit.getPluginManager();
- pluginManager.callEvent(phe);
- // CraftBukkit end
- final Entity movingEntity = movingobjectposition.entity;
- if (movingEntity != null) {
- // CraftBukkit start - entity damage by entity event + combust event
- if (!movingEntity.isFireproof()) { // check if not fireproof
- org.bukkit.entity.Entity damagee = movingEntity.getBukkitEntity();
-
- if (org.bukkit.craftbukkit.event.CraftEventFactory.handleProjectileEvent(projectile, movingobjectposition.entity, DamageSource.projectile(this, this.shooter), 0)) {
- // if the fireball 'sticks', ignite the target
- EntityCombustByEntityEvent combustEvent = new EntityCombustByEntityEvent(projectile, damagee, 5);
- pluginManager.callEvent(combustEvent);
-
- if (!combustEvent.isCancelled()) {
- movingEntity.setOnFire(combustEvent.getDuration());
- }
+ if (movingobjectposition.entity != null) {
+ if (!movingobjectposition.entity.isFireproof() && movingobjectposition.entity.damageEntity(DamageSource.fireball(this, this.shooter), 5)) {
+ // CraftBukkit start - entity damage by entity event + combust event
+ EntityCombustByEntityEvent event = new EntityCombustByEntityEvent((org.bukkit.entity.Projectile) this.getBukkitEntity(), movingobjectposition.entity.getBukkitEntity(), 5);
+ movingobjectposition.entity.world.getServer().getPluginManager().callEvent(event);
+
+ if (!event.isCancelled()) {
+ movingobjectposition.entity.setOnFire(event.getDuration());
}
// CraftBukkit end
}