Fix jobstate bugs

This commit is contained in:
2020-09-16 19:12:01 -06:00
parent c30ac5aefc
commit 58458a561f
4 changed files with 78 additions and 39 deletions
+21 -25
View File
@@ -55,10 +55,10 @@ class LumberjackStates:
self.state = self.cleanup
return
path = w.path_to_place(p, self.openings[0])
navpath = w.path_to_place(p, self.openings[0])
if path:
self.g.path = path
if navpath:
self.g.path = navpath
self.state = self.going_to_tree
else:
self.openings.pop(0)
@@ -71,10 +71,10 @@ class LumberjackStates:
def clear_leaves(self):
if not self.g.breaking:
p = utils.pint(self.g.pos)
diff = psub(self.tree, p)
diff = utils.psub(self.tree, p)
for x in diffrange(diff[0]):
for z in diffrange(diff[2]):
for x in utils.diffrange(diff[0]):
for z in utils.diffrange(diff[2]):
for y in range(2):
check = utils.padd(p, (x, y, z))
if check == self.tree:
@@ -100,10 +100,10 @@ class LumberjackStates:
else:
w = self.g.world
p = utils.pint(self.g.pos)
path = w.path_to_place(p, self.tree)
navpath = w.path_to_place(p, self.tree)
if path:
self.g.path = path
if navpath:
self.g.path = navpath
self.state = self.going_to_trunk_base
else:
self.openings.pop(0)
@@ -134,7 +134,7 @@ class LumberjackStates:
def wait(self):
# wait for the last log to fall
if self.wait_time > 0:
self.wait_time -= TICK
self.wait_time -= utils.TICK
else:
self.state = self.cleanup
@@ -149,7 +149,6 @@ class LumberjackStates:
def __init__(self, global_state):
self.g = global_state
self.l = self.g.local_state
self.state = self.idle
self.tree = None
@@ -193,11 +192,11 @@ class GatherSandStates:
p = utils.pint(self.g.pos)
w.chunks.set_block_at(*self.sand, 0)
path = w.path_to_place(p, self.sand)
navpath = w.path_to_place(p, self.sand)
w.chunks.set_block_at(*self.sand, 66)
if path:
self.g.path = path[:-1]
if navpath:
self.g.path = navpath[:-1]
self.state = self.going_to_sand
else:
self.bad_sand.append(self.sand)
@@ -219,10 +218,10 @@ class GatherSandStates:
def get_sand(self):
w = self.g.world
p = utils.pint(self.g.pos)
path = w.path_to_place(p, self.sand)
navpath = w.path_to_place(p, self.sand)
if path:
self.g.path = path
if navpath:
self.g.path = navpath
self.state = self.going_to_item
else:
self.bad_sand.append(self.sand)
@@ -244,7 +243,6 @@ class GatherSandStates:
def __init__(self, global_state):
self.g = global_state
self.l = self.g.local_state
self.state = self.idle
self.origin = utils.pint(self.g.pos)
@@ -289,16 +287,16 @@ class SleepWithBedStates:
openings = w.find_bed_openings(self.area)
for o in openings:
path = w.path_to_place(p, o)
navpath = w.path_to_place(p, o)
self.opening = o
if path: break
if navpath: break
else: # for
print('Unable to get to bed area', self.area)
self.bad_areas.append(self.area)
self.state = self.cleanup
return
self.g.path = path
self.g.path = navpath
self.state = self.going_to_area
self.last_area = self.area
@@ -348,7 +346,7 @@ class SleepWithBedStates:
def wait(self):
# wait to pick up bed
if self.wait_time > 0:
self.wait_time -= TICK
self.wait_time -= utils.TICK
else:
self.state = self.cleanup
@@ -362,7 +360,6 @@ class SleepWithBedStates:
def __init__(self, global_state):
self.g = global_state
self.l = self.g.local_state
self.state = self.idle
self.area = None
@@ -432,7 +429,6 @@ class JobStates:
def __init__(self, global_state):
self.g = global_state
self.l = self.g.local_state
self.state = self.idle
self.prev_state = None
@@ -441,5 +437,5 @@ class JobStates:
self.sleep_with_bed_states = SleepWithBedStates(self.g)
self.survive = False
def run(self):
def tick(self):
self.state()