/* * Copyright (c) CovertJaguar, 2014 http://railcraft.info * * This code is the property of CovertJaguar * and may only be used with explicit written * permission unless otherwise specified on the * license page at http://railcraft.info/wiki/info:license. */ package mods.railcraft.common.items.firestone; import mods.railcraft.common.items.EntityItemFireproof; import mods.railcraft.common.items.ItemRailcraft; import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; import net.minecraft.world.World; /** * * @author CovertJaguar <http://www.railcraft.info/> */ public abstract class ItemFirestoneBase extends ItemRailcraft { /** * Determines if this Item has a special entity for when they are in the * world. Is called when a EntityItem is spawned in the world, if true and * Item#createCustomEntity returns non null, the EntityItem will be * destroyed and the new Entity will be added to the world. * * @param stack The current item stack * @return True of the item has a custom entity, If true, * Item#createCustomEntity will be called */ @Override public boolean hasCustomEntity(ItemStack stack) { return true; } /** * This function should return a new entity to replace the dropped item. * Returning null here will not kill the EntityItem and will leave it to * function normally. Called when the item it placed in a world. * * @param world The world object * @param location The EntityItem object, useful for getting the position of * the entity * @param stack The current item stack * @return A new Entity object to spawn or null */ @Override public Entity createEntity(World world, Entity location, ItemStack stack) { EntityItemFireproof entity = new EntityItemFireproof(world, location.posX, location.posY, location.posZ, stack); entity.motionX = location.motionX; entity.motionY = location.motionY; entity.motionZ = location.motionZ; entity.delayBeforeCanPickup = 10; return entity; } /** * Called by CraftingManager to determine if an item is reparable. * @return Always returns false for ItemFirestoneBase */ @Override public boolean isRepairable() { return false; } }