Implement 26.3 bed sleeping

This commit is contained in:
Tanner
2026-11-04 19:20:15 +00:00
parent 9fd565c3c9
commit 1ecec547ae
10 changed files with 404 additions and 75 deletions
+14 -1
View File
@@ -270,17 +270,26 @@ class JobStates(LegacyJobStates):
self.g = global_state
self.gather_crop_states = gather_crop.GatherCropStates(global_state)
self.cache_items_states = cache_items.CacheItemsStates(global_state)
self.sleep_with_bed_states = sleep_with_bed.SleepWithBedStates(
global_state)
self.state = self.idle
def farm_crop(self):
self.cache_items_states.silent = True
self.sleep_with_bed_states.silent = True
self.sleep_with_bed_states.force_new_bed = False
items.set_wanted({
items.CARROT_ID,
items.POTATO_ID,
items.WHEAT_SEEDS_ID,
items.BEETROOT_SEEDS_ID,
})
return [self.gather_crop_states, self.cache_items_states]
return [self.gather_crop_states, self.sleep_with_bed_states,
self.cache_items_states]
def sleep(self):
self.sleep_with_bed_states.silent = False
return [self.sleep_with_bed_states]
def stop(self):
if self.g.get('breaking'):
@@ -289,7 +298,11 @@ class JobStates(LegacyJobStates):
self.g.game.close_window()
self.g.path = []
self.g.look_at = None
if self.sleep_with_bed_states.state == self.sleep_with_bed_states.sleep_bed:
self.g.game.leave_bed()
self.gather_crop_states.state = self.gather_crop_states.idle
self.cache_items_states.state = self.cache_items_states.idle
self.sleep_with_bed_states.state = self.sleep_with_bed_states.idle
self.sleep_with_bed_states.force_new_bed = False
self.gather_crop_states.active_section_anchor = None
self.state = self.idle