From a60d913c6013fa37612e83347e3cdc67941c2c88 Mon Sep 17 00:00:00 2001 From: Tanner Date: Fri, 6 Nov 2026 00:04:37 +0000 Subject: [PATCH] Fix missing sapling report in tree planting --- mosfet/jobs/plant_tree.py | 2 +- tests/test_plant_tree.py | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 tests/test_plant_tree.py diff --git a/mosfet/jobs/plant_tree.py b/mosfet/jobs/plant_tree.py index 757f882..199eb69 100644 --- a/mosfet/jobs/plant_tree.py +++ b/mosfet/jobs/plant_tree.py @@ -45,8 +45,8 @@ class PlantTreeStates: self.state = self.cleanup return + sapling_type = items.get_name(sapling_item) if self.g.game.select_item([sapling_item]): - sapling_type = items.get_name(sapling_item) self.g.look_at = utils.padd(p, path.BLOCK_BELOW) self.state = self.wait_select self.wait_time = 1 diff --git a/tests/test_plant_tree.py b/tests/test_plant_tree.py new file mode 100644 index 0000000..59450f1 --- /dev/null +++ b/tests/test_plant_tree.py @@ -0,0 +1,21 @@ +import unittest +from munch import Munch + +from mosfet.jobs.plant_tree import PlantTreeStates + + +class PlantTreeTests(unittest.TestCase): + def test_missing_inventory_sapling_aborts_without_crashing(self): + class FakeGame: + @staticmethod + def select_item(_item_ids): + return False + + state = PlantTreeStates(Munch( + pos=(0, 64, 0), chopped_tree='oak', game=FakeGame())) + state.select_sapling() + self.assertIs(state.state.__func__, state.cleanup.__func__) + + +if __name__ == '__main__': + unittest.main()