Fix more bugs

master
Tanner Collin 3 years ago
parent 4b97aaf739
commit d0bfed75dd
  1. 2
      game.py
  2. 16
      jobs.py
  3. 16
      protocol/types.py

@ -759,7 +759,7 @@ class Game:
try:
item = self.g.window.contents[slot]
except KeyError:
item = Slot(present=False, item_id=None, item_count=None, nbt=None)
item = Slot(present=False)
print(item)
self.click_window(slot, button, mode, item)
else:

@ -893,7 +893,6 @@ class CacheItemsStates:
self.g.look_at = self.area
self.state = self.open_chest
def select_chest(self):
if self.g.game.select_item([items.CHEST_ID]):
self.state = self.find_cache_spot
@ -1562,6 +1561,10 @@ class FillBlocksStates:
return
self.last_block = check
else: # for
self.state = self.cleanup
print('Aborting, no air left')
return
def select_item(self):
f = self.g.filling
@ -1901,12 +1904,13 @@ class JobStates:
self.sleep_with_bed_states.silent = True
f = self.g.filling
name = blocks.BLOCKS[f.block]
item = items.ITEMS['minecraft:'+name]['protocol_id']
if f:
name = blocks.BLOCKS[f.block]
item = items.ITEMS['minecraft:'+name]['protocol_id']
self.grab_supplies_states.supplies = {
tuple([item]): 0,
}
self.grab_supplies_states.supplies = {
tuple([item]): 0,
}
return machines
def loiter(self):

@ -103,7 +103,7 @@ class Nbt(Type):
class Slot(Type):
def __init__(self, present, item_id, item_count, nbt):
def __init__(self, present, item_id=None, item_count=None, nbt=None):
self.present = present
self.item_id = item_id
self.item_count = item_count
@ -112,8 +112,11 @@ class Slot(Type):
def __str__(self):
return str(self.__dict__)
def __repr__(self):
return 'Slot(present={}, item_id={}, item_count={}, nbt={}'.format(
self.present, self.item_id, self.item_count, self.nbt)
if self.present:
return 'Slot(present={}, item_id={}, item_count={}, nbt={}'.format(
self.present, self.item_id, self.item_count, self.nbt)
else:
return 'Slot(present={})'.format(self.present)
@staticmethod
def read(file_object):
@ -131,9 +134,10 @@ class Slot(Type):
@staticmethod
def send(value, socket):
Boolean.send(value.present, socket)
VarInt.send(value.item_id, socket)
Byte.send(value.item_count, socket)
Byte.send(0x00, socket)
if value.present:
VarInt.send(value.item_id, socket)
Byte.send(value.item_count, socket)
Byte.send(0x00, socket)
class Entry(Type):

Loading…
Cancel
Save