Only try to sleep in one existing bed
This commit is contained in:
parent
ef68956e63
commit
daf152389a
13
jobs.py
13
jobs.py
|
@ -739,7 +739,13 @@ class SleepWithBedStates:
|
||||||
w = self.g.world
|
w = self.g.world
|
||||||
p = utils.pint(self.g.pos)
|
p = utils.pint(self.g.pos)
|
||||||
|
|
||||||
self.beds = w.find_blocks_indexed(p, blocks.BED_IDS)
|
result = w.find_blocks_indexed(p, blocks.BED_IDS)
|
||||||
|
|
||||||
|
self.beds = []
|
||||||
|
for bed in result:
|
||||||
|
if bed not in self.beds and bed not in self.bad_beds:
|
||||||
|
self.beds.append(bed)
|
||||||
|
|
||||||
print('Found:', self.beds)
|
print('Found:', self.beds)
|
||||||
self.state = self.choose_bed
|
self.state = self.choose_bed
|
||||||
|
|
||||||
|
@ -755,6 +761,7 @@ class SleepWithBedStates:
|
||||||
return
|
return
|
||||||
|
|
||||||
bed = self.beds[0]
|
bed = self.beds[0]
|
||||||
|
print('Chose:', bed)
|
||||||
|
|
||||||
tmp = c.get_block_at(*bed)
|
tmp = c.get_block_at(*bed)
|
||||||
c.set_block_at(*bed, blocks.AIR)
|
c.set_block_at(*bed, blocks.AIR)
|
||||||
|
@ -771,6 +778,9 @@ class SleepWithBedStates:
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
self.beds.pop(0)
|
self.beds.pop(0)
|
||||||
|
self.bad_beds.append(bed)
|
||||||
|
print('Cant get to bed, blacklisting')
|
||||||
|
self.state = self.select_bed
|
||||||
|
|
||||||
def going_to_bed(self):
|
def going_to_bed(self):
|
||||||
if utils.pint(self.g.pos) == self.opening:
|
if utils.pint(self.g.pos) == self.opening:
|
||||||
|
@ -884,6 +894,7 @@ class SleepWithBedStates:
|
||||||
|
|
||||||
self.my_bed = False
|
self.my_bed = False
|
||||||
self.beds = []
|
self.beds = []
|
||||||
|
self.bad_beds = []
|
||||||
self.area = None
|
self.area = None
|
||||||
self.opening = None
|
self.opening = None
|
||||||
self.bad_areas = []
|
self.bad_areas = []
|
||||||
|
|
Loading…
Reference in New Issue
Block a user