bta-proxy/bta_proxy/itemstack.py

25 lines
781 B
Python

from bta_proxy.datainputstream import AsyncDataInputStream, SyncDataInputStream
class ItemStack:
__slots__ = ("item_id", "count", "data")
def __init__(self, item_id: int, count: int, data: int):
self.item_id = item_id
self.count = count
self.data = data
@classmethod
async def read_from(cls, stream: AsyncDataInputStream) -> 'ItemStack':
item_id = await stream.read_short()
count = await stream.read()
data = await stream.read_ushort()
return cls(item_id, count, data)
@classmethod
def read_from_sync(cls, stream: SyncDataInputStream) -> 'ItemStack':
item_id = stream.read_short()
count = stream.read()
data = stream.read_ushort()
return cls(item_id, count, data)