mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
90 lines
2.2 KiB
Java
90 lines
2.2 KiB
Java
package com.hbm.entity.cart;
|
|
|
|
import com.hbm.items.tool.ItemModMinecart.EnumCartBase;
|
|
import com.hbm.render.entity.item.RenderNeoCart;
|
|
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.entity.item.EntityMinecart;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
import net.minecraft.util.AxisAlignedBB;
|
|
import net.minecraft.util.DamageSource;
|
|
import net.minecraft.world.World;
|
|
|
|
public abstract class EntityMinecartNTM extends EntityMinecart {
|
|
|
|
public static final int cart_base_id = 23;
|
|
|
|
public EntityMinecartNTM(World p_i1712_1_) {
|
|
super(p_i1712_1_);
|
|
}
|
|
|
|
public EntityMinecartNTM(World world, double x, double y, double z, EnumCartBase type) {
|
|
super(world, x, y, z);
|
|
this.setBase(type);
|
|
}
|
|
|
|
@Override
|
|
protected void entityInit() {
|
|
super.entityInit();
|
|
this.dataWatcher.addObject(cart_base_id, new Integer(0)); //EnumCartBase
|
|
}
|
|
|
|
public void setBase(EnumCartBase type) {
|
|
this.dataWatcher.updateObject(cart_base_id, type.ordinal());
|
|
}
|
|
|
|
public EnumCartBase getBase() {
|
|
return EnumCartBase.values()[this.dataWatcher.getWatchableObjectInt(cart_base_id)];
|
|
}
|
|
|
|
@Override
|
|
public int getMinecartType() {
|
|
return -1;
|
|
}
|
|
|
|
@Override
|
|
public boolean canBeCollidedWith() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public AxisAlignedBB getCollisionBox(Entity entity) {
|
|
return entity.boundingBox;
|
|
}
|
|
|
|
@Override
|
|
public AxisAlignedBB getBoundingBox() {
|
|
return this.boundingBox;
|
|
}
|
|
|
|
@Override
|
|
public void killMinecart(DamageSource p_94095_1_) {
|
|
this.setDead();
|
|
ItemStack itemstack = getCartItem();
|
|
|
|
if(this.func_95999_t() != null) {
|
|
itemstack.setStackDisplayName(this.func_95999_t());
|
|
}
|
|
|
|
this.entityDropItem(itemstack, 0.0F);
|
|
}
|
|
|
|
@Override
|
|
protected void writeEntityToNBT(NBTTagCompound nbt) {
|
|
super.writeEntityToNBT(nbt);
|
|
nbt.setInteger("base", this.dataWatcher.getWatchableObjectInt(cart_base_id));
|
|
}
|
|
|
|
@Override
|
|
protected void readEntityFromNBT(NBTTagCompound nbt) {
|
|
super.readEntityFromNBT(nbt);
|
|
this.dataWatcher.updateObject(23, nbt.getInteger("base"));
|
|
}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public void renderSpecialContent(RenderNeoCart renderer) { }
|
|
}
|