-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathautocollect.py
More file actions
92 lines (78 loc) · 1.77 KB
/
autocollect.py
File metadata and controls
92 lines (78 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import maze
import cactus
import planter
import sunflower
import snake
import pumpkin
import polyculture
import misc
import weirdsubstance
def getMinInventoryItem():
checkItemSet = {
Items.Hay,
Items.Wood,
Items.Carrot,
Items.Pumpkin,
Items.Cactus,
Items.Bone,
Items.Weird_Substance,
Items.Gold,
Items.Power
}
plantableItemSet = {
Items.Hay,
Items.Wood,
Items.Carrot,
Items.Pumpkin,
Items.Cactus,
Items.Bone,
Items.Power
}
savedItem = None
for item in checkItemSet:
if item in plantableItemSet:
entity = misc.getItemEntity(item)
maxEntityCount = misc.getEntityMaxCount()
if not( planter.canAffordEntity(entity, maxEntityCount) ):
continue #skip, cannot afford to plant this
if(savedItem == None or num_items(item) < num_items( savedItem )):
savedItem = item
return savedItem
def fillInventory( harvestItem = None ):
polycultureSet = {
Items.Hay,
Items.Wood,
Items.Carrot
}
lastItem = None
while(True):
if( harvestItem == None ):
minItem = getMinInventoryItem()
else:
minItem = harvestItem
if( minItem == Items.Power ):
if( sunflower.autoFarm() == False):
break
elif(minItem == Items.Gold ):
if( maze.findTreasure() == False):
break
elif( minItem == Items.Bone ):
tillFirst = (minItem != lastItem)
if( snake.runGame(tillFirst) == False ):
break
elif( minItem == Items.Weird_Substance ):
if( weirdsubstance.autoFarm() == False ):
break
elif( minItem == Items.Pumpkin ):
if( pumpkin.autoFarm() == False ):
break
elif( minItem == Items.Cactus ):
if( cactus.autoFarm() == False ):
break
elif( minItem in polycultureSet ):
if( polyculture.autoFarmEntity(misc.getItemEntity(minItem)) == False ):
break
else:
break #error
lastItem = minItem
return False