Port loiter and harden 26.3 bed updates
This commit is contained in:
+8
-3
@@ -13,6 +13,7 @@ from mosfet.info import mobs
|
||||
class World:
|
||||
def __init__(self, global_state):
|
||||
self.g = global_state
|
||||
self._bed_occupancy_states = {}
|
||||
|
||||
def block_at(self, x, y, z):
|
||||
return self.g.chunks.get_block_at(x, y, z)
|
||||
@@ -316,11 +317,15 @@ class World:
|
||||
return result
|
||||
|
||||
def check_bed_occupied(self, bed):
|
||||
"""Return whether a loaded bed block currently has occupied=true."""
|
||||
"""Return occupancy, logging only the first observation or a change."""
|
||||
bed = tuple(bed)
|
||||
bid = self.g.chunks.get_block_at(*bed)
|
||||
occupied = blocks.PROPS.get(bid, {}).get('occupied') == 'true'
|
||||
print('Checking bed occupancy:', bed, '->',
|
||||
'occupied' if occupied else 'free')
|
||||
previous = self._bed_occupancy_states.get(bed)
|
||||
if previous is None or previous != occupied:
|
||||
print('Checking bed occupancy:', bed, '->',
|
||||
'occupied' if occupied else 'free')
|
||||
self._bed_occupancy_states[bed] = occupied
|
||||
return occupied
|
||||
|
||||
def find_cache_openings(self, area):
|
||||
|
||||
Reference in New Issue
Block a user