package net.minecraft.entity.ai;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.entity.item.EntityMinecart;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.MobSpawnerBaseLogic;
import net.minecraft.world.World;
public class EntityMinecartMobSpawner extends EntityMinecart
{
/** Mob spawner logic for this spawner minecart. */
private final MobSpawnerBaseLogic mobSpawnerLogic = new EntityMinecartMobSpawnerLogic(this);
public EntityMinecartMobSpawner(World par1World)
{
super(par1World);
}
public EntityMinecartMobSpawner(World par1World, double par2, double par4, double par6)
{
super(par1World, par2, par4, par6);
}
public int getMinecartType()
{
return 4;
}
public Block getDefaultDisplayTile()
{
return Block.mobSpawner;
}
/**
* (abstract) Protected helper method to read subclass entity data from NBT.
*/
protected void readEntityFromNBT(NBTTagCompound par1NBTTagCompound)
{
super.readEntityFromNBT(par1NBTTagCompound);
this.mobSpawnerLogic.readFromNBT(par1NBTTagCompound);
}
/**
* (abstract) Protected helper method to write subclass entity data to NBT.
*/
protected void writeEntityToNBT(NBTTagCompound par1NBTTagCompound)
{
super.writeEntityToNBT(par1NBTTagCompound);
this.mobSpawnerLogic.writeToNBT(par1NBTTagCompound);
}
@SideOnly(Side.CLIENT)
public void handleHealthUpdate(byte par1)
{
this.mobSpawnerLogic.setDelayToMin(par1);
}
/**
* Called to update the entity's position/logic.
*/
public void onUpdate()
{
super.onUpdate();
this.mobSpawnerLogic.updateSpawner();
}
@SideOnly(Side.CLIENT)
public MobSpawnerBaseLogic func_98039_d()
{
return this.mobSpawnerLogic;
}
}