Source code for nbtparse.minecraft.item

"""Classes for items and XP orbs."""

from ..semantics import nbtobject, fields
from . import entity


[docs]class Item(nbtobject.NBTObject): """An inventory item. Not an entity; only stores item-related information. """ slot = fields.ByteField('Slot') id = fields.UnicodeField('id') damage = fields.ShortField('Damage') count = fields.ByteField('Count') # TODO: Implement tags def __repr__(self): return '<Item: id={!r}, damage={!r}, count={!r}>'.format(self.id, self.damage, self.count)
[docs]class ItemEntity(entity.Entity): """Superclass of dropped item and XP orbs.""" health = fields.ShortField('Health') age = fields.ShortField('Age') def __repr__(self): return ('<ItemEntity: id={!r}, pos={!r}, uuid={!r}, age={!r}, ' 'health={!r}>'.format(self.id, self.pos, self.uuid, self.age, self.health))
[docs]class DroppedItem(ItemEntity, id='Item'): """An item dropped on the ground.""" item = fields.NBTObjectField('Item', Item) def __repr__(self): return ('<DroppedItem: pos={!r}, uuid={!r}, age={!r}, health={!r}, ' 'item: {!r}>'.format(self.pos, self.uuid, self.age, self.health, self.item))
[docs]class XPOrb(ItemEntity, id='XPOrb'): """An experience orb.""" value = fields.ShortField('Value') def __repr__(self): return ('<XPOrb: value={!r}, age={!r}, health={!r}>' .format(self.value, self.age, self.health))