blob: 8a4de140a7a4bb348d2c3ad26a0ed72abbfc3829 [file] [log] [blame] [raw]
package li.cil.oc.common.item
import li.cil.oc.api
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.item.EnumAction
import net.minecraft.item.EnumRarity
import net.minecraft.item.ItemStack
import net.minecraft.world.World
class Nanomachines(val parent: Delegator) extends traits.Delegate {
override def rarity(stack: ItemStack): EnumRarity = EnumRarity.uncommon
override def onItemRightClick(stack: ItemStack, world: World, player: EntityPlayer): ItemStack = {
player.setItemInUse(stack, getMaxItemUseDuration(stack))
stack
}
override def getItemUseAction(stack: ItemStack): EnumAction = EnumAction.eat
override def getMaxItemUseDuration(stack: ItemStack): Int = 32
override def onEaten(stack: ItemStack, world: World, player: EntityPlayer): ItemStack = {
if (!world.isRemote) {
// Re-install to get new address, make sure we're configured.
api.Nanomachines.uninstallController(player)
api.Nanomachines.installController(player).reconfigure()
}
stack.stackSize -= 1
if (stack.stackSize > 0) stack
else null
}
}