forked from ACGaming/Spackenmobs
96 lines
No EOL
2.1 KiB
Java
96 lines
No EOL
2.1 KiB
Java
package mod.acgaming.spackenmobs.entities;
|
|
|
|
import net.minecraft.entity.EntityAgeable;
|
|
import net.minecraft.entity.EntityLivingBase;
|
|
import net.minecraft.entity.monster.EntityCreeper;
|
|
import net.minecraft.entity.monster.EntityGhast;
|
|
import net.minecraft.entity.passive.AbstractHorse;
|
|
import net.minecraft.entity.passive.EntityAnimal;
|
|
import net.minecraft.entity.passive.EntityWolf;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.world.World;
|
|
|
|
import java.util.UUID;
|
|
|
|
public class EntityWolfMZTE extends EntityWolf
|
|
{
|
|
public EntityWolfMZTE(World worldIn)
|
|
{
|
|
super(worldIn);
|
|
this.setSize(0.6F, 0.85F);
|
|
this.setTamed(false);
|
|
}
|
|
|
|
@Override
|
|
public EntityWolfMZTE createChild(EntityAgeable ageable)
|
|
{
|
|
EntityWolfMZTE entitywolfmzte = new EntityWolfMZTE(this.world);
|
|
UUID uuid = this.getOwnerId();
|
|
|
|
if (uuid != null)
|
|
{
|
|
entitywolfmzte.setOwnerId(uuid);
|
|
entitywolfmzte.setTamed(true);
|
|
}
|
|
|
|
return entitywolfmzte;
|
|
}
|
|
|
|
@Override
|
|
public boolean canMateWith(EntityAnimal otherAnimal)
|
|
{
|
|
if (otherAnimal == this)
|
|
{
|
|
return false;
|
|
} else if (!this.isTamed())
|
|
{
|
|
return false;
|
|
} else if (!(otherAnimal instanceof EntityWolfMZTE))
|
|
{
|
|
return false;
|
|
} else
|
|
{
|
|
EntityWolfMZTE entitywolfmzte = (EntityWolfMZTE) otherAnimal;
|
|
|
|
if (!entitywolfmzte.isTamed())
|
|
{
|
|
return false;
|
|
} else if (entitywolfmzte.isSitting())
|
|
{
|
|
return false;
|
|
} else
|
|
{
|
|
return this.isInLove() && entitywolfmzte.isInLove();
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public boolean shouldAttackEntity(EntityLivingBase target, EntityLivingBase owner)
|
|
{
|
|
if (!(target instanceof EntityCreeper) && !(target instanceof EntityGhast))
|
|
{
|
|
if (target instanceof EntityWolfMZTE)
|
|
{
|
|
EntityWolfMZTE entitywolfmzte = (EntityWolfMZTE) target;
|
|
|
|
if (entitywolfmzte.isTamed() && entitywolfmzte.getOwner() == owner)
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
if (target instanceof EntityPlayer && owner instanceof EntityPlayer
|
|
&& !((EntityPlayer) owner).canAttackPlayer((EntityPlayer) target))
|
|
{
|
|
return false;
|
|
} else
|
|
{
|
|
return !(target instanceof AbstractHorse) || !((AbstractHorse) target).isTame();
|
|
}
|
|
} else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
} |