Initial commit (Forge 1291).
This commit is contained in:
77
patches/net/minecraft/entity/monster/EntityGhast.java.patch
Normal file
77
patches/net/minecraft/entity/monster/EntityGhast.java.patch
Normal file
@ -0,0 +1,77 @@
|
||||
--- ../src-base/minecraft/net/minecraft/entity/monster/EntityGhast.java
|
||||
+++ ../src-work/minecraft/net/minecraft/entity/monster/EntityGhast.java
|
||||
@@ -18,6 +18,11 @@
|
||||
import net.minecraft.world.EnumDifficulty;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
+// CraftBukkit start
|
||||
+import org.bukkit.craftbukkit.entity.CraftEntity;
|
||||
+import org.bukkit.event.entity.EntityTargetEvent;
|
||||
+// CraftBukkit end
|
||||
+
|
||||
public class EntityGhast extends EntityFlying implements IMob
|
||||
{
|
||||
public int courseChangeCooldown;
|
||||
@@ -117,13 +122,50 @@
|
||||
|
||||
if (this.targetedEntity != null && this.targetedEntity.isDead)
|
||||
{
|
||||
- this.targetedEntity = null;
|
||||
+ // CraftBukkit start
|
||||
+ EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), null, EntityTargetEvent.TargetReason.TARGET_DIED);
|
||||
+ this.worldObj.getServer().getPluginManager().callEvent(event);
|
||||
+
|
||||
+ if (!event.isCancelled())
|
||||
+ {
|
||||
+ if (event.getTarget() == null)
|
||||
+ {
|
||||
+ this.targetedEntity = null;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ this.targetedEntity = ((CraftEntity) event.getTarget()).getHandle();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // CraftBukkit end
|
||||
}
|
||||
|
||||
if (this.targetedEntity == null || this.aggroCooldown-- <= 0)
|
||||
{
|
||||
- this.targetedEntity = this.worldObj.getClosestVulnerablePlayerToEntity(this, 100.0D);
|
||||
+ // CraftBukkit start
|
||||
+ Entity target = this.worldObj.getClosestVulnerablePlayerToEntity(this, 100.0D);
|
||||
|
||||
+ if (target != null)
|
||||
+ {
|
||||
+ EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), target.getBukkitEntity(), EntityTargetEvent.TargetReason.CLOSEST_PLAYER);
|
||||
+ this.worldObj.getServer().getPluginManager().callEvent(event);
|
||||
+
|
||||
+ if (!event.isCancelled())
|
||||
+ {
|
||||
+ if (event.getTarget() == null)
|
||||
+ {
|
||||
+ this.targetedEntity = null;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ this.targetedEntity = ((CraftEntity) event.getTarget()).getHandle();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // CraftBukkit end
|
||||
+
|
||||
if (this.targetedEntity != null)
|
||||
{
|
||||
this.aggroCooldown = 20;
|
||||
@@ -152,7 +194,8 @@
|
||||
{
|
||||
this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1008, (int)this.posX, (int)this.posY, (int)this.posZ, 0);
|
||||
EntityLargeFireball entitylargefireball = new EntityLargeFireball(this.worldObj, this, d5, d6, d7);
|
||||
- entitylargefireball.field_92057_e = this.explosionStrength;
|
||||
+ // CraftBukkit - set bukkitYield when setting explosionpower
|
||||
+ entitylargefireball.bukkitYield = entitylargefireball.field_92057_e = this.explosionStrength;
|
||||
double d8 = 4.0D;
|
||||
Vec3 vec3 = this.getLook(1.0F);
|
||||
entitylargefireball.posX = this.posX + vec3.xCoord * d8;
|
Reference in New Issue
Block a user