Skip to content

Instantly share code, notes, and snippets.

@xepherys
Last active February 6, 2026 20:23
Show Gist options
  • Select an option

  • Save xepherys/97b2721f23b8580405643441f67948f5 to your computer and use it in GitHub Desktop.

Select an option

Save xepherys/97b2721f23b8580405643441f67948f5 to your computer and use it in GitHub Desktop.
TheFarmerWasReplaced_UNLOCKS_DATA.py
# UNLOCKS_DATA is valid currently as of February 2026, but is subject to change as the game progresses
# UNLOCKS_DATA is a static dictionary where the key is the Unlocks type and the value is a collection of requirements
# for each level.
# The commented columns exist to help folk who are learning, or just for visualizing data at a quick glance. The 'Index'
# is the index value of the requirements list, e.g. UNLOCKS_DATA[Unlocks.Cactus][2] is the second (2nd) index, which is
# the requirements that need to be met to unlock the third (3rd) 'Level' of Unlocks.Cactus.
#
# The 'ResIdx' the index value of the resource for that given level. NOTE: When a level unlock requires more than
# one resource, you can't index it because it's a dictionary - this is for visualization only. You'll need to iterate
# over each using something like: 'for key in dict:'
#
# 'Already' is True if the Leaderboard.Fastest_Reset comes with this already unlocked.
#
# 'Required' is an unlock that is absolutely required to complete Leaderboard.Fastest_Reset (usually only the first level
# of any given unlock set). Will be marked with a hyphen for already unlocked items.
# Index
# Unlock Requirements (Level) ResIdx Already Required Purpose
# ------ ------------ ------- ------ ------- -------- -------
UNLOCKS_DATA = {Unlocks.Auto_Unlock: [{Items.Pumpkin: 5000}], # 0(1) 0 True - UNLOCK: unlock()
Unlocks.Cactus: [{Items.Pumpkin: 5000}, # 0(1) 0 False True UNLOCK: Entities.Cactus
{Items.Pumpkin: 20000}, # 1(2) 0 False False CACTUS: 100% -> 200%
{Items.Pumpkin: 120000}, # 2(3) 0 False False CACTUS: 200% -> 400%
{Items.Pumpkin: 720000}, # 3(4) 0 False False CACTUS: 400% -> 800%
{Items.Pumpkin: 4320000}, # 4(5) 0 False False CACTUS: 800% -> 1600%
{Items.Pumpkin: 25900000}], # 5(6) 0 False False CACTUS: 1600% -> 3200%
Unlocks.Carrots: [{Items.Wood: 50}, # 0(1) 0 False True UNLOCK: Entities.Carrot
{Items.Wood: 250}, # 1(2) 0 False False CARROT: 100% -> 200%
{Items.Wood: 1250}, # 2(3) 0 False False CARROT: 200% -> 400%
{Items.Wood: 6250}, # 3(4) 0 False False CARROT: 400% -> 800%
{Items.Wood: 31200}, # 4(5) 0 False False CARROT: 800% -> 1600%
{Items.Wood: 156000}, # 5(6) 0 False False CARROT: 1600% -> 3200%
{Items.Wood: 781000}, # 6(7) 0 False False CARROT: 3200% -> 6400%
{Items.Wood: 3910000}, # 7(8) 0 False False CARROT: 6400% -> 12800%
{Items.Wood: 19500000}, # 8(9) 0 False False CARROT: 12800% -> 25600%
{Items.Wood: 97700000}], # 9(10) 0 False False CARROT: 25600% -> 51200%
Unlocks.Costs: [{Items.Pumpkin: 2500}], # 0(1) 0 True - UNLOCK: get_cost()
Unlocks.Debug: [{Items.Hay: 50, # 0(1) 0 True - UNLOCK: print(), quick_print()
Items.Wood: 50}], # "(") 1
Unlocks.Debug_2: [{Items.Gold: 500}], # 0(1) 0 True - UNLOCK: set_execution_speed(), set_world_size()
Unlocks.Dictionaries: [{Items.Pumpkin: 2500}], # 0(1) 0 True - UNLOCK: dict = {:}
Unlocks.Dinosaurs: [{Items.Cactus: 2000}, # 0(1) 0 False True UNLOCK: Hats.Dinosaur_Hat, Entities.Apple, Items.Bone
{Items.Cactus: 12000}, # 1(2) 0 False False BONE: 100% -> 200%
{Items.Cactus: 72000}, # 2(3) 0 False False BONE: 200% -> 400%
{Items.Cactus: 432000}, # 3(4) 0 False False BONE: 400% -> 800%
{Items.Cactus: 2590000}, # 4(5) 0 False False BONE: 800% -> 1600%
{Items.Cactus: 15600000}], # 5(6) 0 False False BONE: 1600% -> 3200%
Unlocks.Expand: [{Items.Hay: 30}, # 0(1) 0 False True GRID: 1x1 -> 1x3
{Items.Wood: 20}, # 1(2) 0 False False GRID: 1x3 -> 3x3
{Items.Wood: 30, # 2(3) 0 False False GRID: 3x3 -> 4x4
Items.Carrot: 20}, # "(") 1
{Items.Wood: 100, # 3(4) 0 False False GRID: 4x4 -> 6x6
Items.Carrot: 50}, # "(") 1
{Items.Pumpkin: 1000}, # 4(5) 0 False False GRID: 6x6 -> 8x8
{Items.Pumpkin: 8000}, # 5(6) 0 False False GRID: 8x8 -> 12x12
{Items.Pumpkin: 64000}, # 6(7) 0 False False GRID: 12x12 -> 16x16
{Items.Pumpkin: 512000}, # 7(8) 0 False False GRID: 16x16 -> 22x22
{Items.Pumpkin: 4100000}], # 8(9) 0 False False GRID: 22x22 -> 32x32
Unlocks.Fertilizer: [{Items.Wood: 500}, # 0(1) 0 False True UNLOCK: Items.Fertilizer (0.1/s)
{Items.Wood: 1500}, # 1(2) 0 False False FERTILIZER: 0.1/s -> 0.2/s
{Items.Wood: 9000}, # 2(3) 0 False False FERTILIZER: 0.2/s -> 0.4/s
{Items.Wood: 54000}], # 3(4) 0 False False FERTILIZER: 0.4/s -> 0.8/s
Unlocks.Functions: [{Items.Carrot: 40}], # 0(1) 0 True - UNLOCK: func()
Unlocks.Grass: [{Items.Hay: 100}, # 0(1) 0 True - UNLOCK: Entities.Grass
{Items.Hay: 300}, # 1(2) 0 False True GRASS: 100% -> 200%
{Items.Wood: 500}, # 2(3) 0 False False GRASS: 200% -> 400%
{Items.Wood: 2500}, # 3(4) 0 False False GRASS: 400% -> 800%
{Items.Wood: 12500}, # 4(5) 0 False False GRASS: 800% -> 1600%
{Items.Wood: 62500}, # 5(6) 0 False False GRASS: 1600% -> 3200%
{Items.Wood: 312000}, # 6(7) 0 False False GRASS: 3200% -> 6400%
{Items.Wood: 1560000}, # 7(8) 0 False False GRASS: 6400% -> 12800%
{Items.Wood: 7810000}, # 8(9) 0 False False GRASS: 12800% -> 25600%
{Items.Wood: 39100000}], # 9(10) 0 False False GRASS: 25600% -> 51200%
Unlocks.Hats: [{Items.Hay: 50}], # 0(1) 0 False True UNLOCK: Hats
Unlocks.Import: [{Items.Carrot: 80}], # 0(1) 0 True - UNLOCK: import
Unlocks.Leaderboard: [{Items.Bone: 2000000, # 0(1) 0 False True UNLOCK: Leaderboards
Items.Gold: 1000000}], # "(") 1
Unlocks.Lists: [{Items.Carrot: 500}], # 0(1) 0 True - UNLOCK: list = []
Unlocks.Loops: [{Items.Hay: 5}], # 0(1) 0 True - UNLOCK: while()
Unlocks.Mazes: [{Items.Weird_Substance: 1000}, # 0(1) 0 False True UNLOCK: Mazes
{Items.Cactus: 12000}, # 1(2) 0 False False GOLD: 100% -> 200%
{Items.Cactus: 72000}, # 2(3) 0 False False GOLD: 200% -> 400%
{Items.Cactus: 432000}, # 3(4) 0 False False GOLD: 400% -> 800%
{Items.Cactus: 2590000}, # 4(5) 0 False False GOLD: 800% -> 1600%
{Items.Cactus: 15600000}], # 5(6) 0 False False GOLD: 1600% -> 3200%
Unlocks.Megafarm: [{Items.Gold: 2000}, # 0(1) 0 False False DRONES: 1 -> 2
{Items.Gold: 8000}, # 1(2) 0 False False DRONES: 2 -> 4
{Items.Gold: 32000}, # 2(3) 0 False False DRONES: 4 -> 8
{Items.Gold: 128000}, # 3(4) 0 False False DRONES: 8 -> 16
{Items.Gold: 512000}], # 4(5) 0 False False DRONES: 16 -> 32
Unlocks.Operators: [{Items.Hay: 150, # 0(1) 0 True - UNLOCK: Arithmetic, comparison, and boolean operators
Items.Wood: 10}], # "(") 1
Unlocks.Plant: [{Items.Hay: 50}], # 0(1) 0 False True UNLOCK: Entities.Bush
Unlocks.Polyculture: [{Items.Pumpkin: 3000}, # 0(1) 0 False False UNLOCK: Polyculture
{Items.Bone: 10000}, # 1(2) 0 False False YIELD: 1000% -> 2000%
{Items.Bone: 50000}, # 2(3) 0 False False YIELD: 2000% -> 4000%
{Items.Bone: 250000}, # 3(4) 0 False False YIELD: 4000% -> 8000%
{Items.Bone: 1250000}], # 4(5) 0 False False YIELD: 8000% -> 16000%
Unlocks.Pumpkins: [{Items.Wood: 500, # 0(1) 0 False True UNLOCK: Entities.Pumpkin
Items.Carrot: 200}, # "(") 1 False False
{Items.Carrot: 1000}, # 1(2) 0 False False PUMPKIN: 100% -> 200%
{Items.Carrot: 4000}, # 2(3) 0 False False PUMPKIN: 200% -> 400%
{Items.Carrot: 16000}, # 3(4) 0 False False PUMPKIN: 400% -> 800%
{Items.Carrot: 64000}, # 4(5) 0 False False PUMPKIN: 800% -> 1600%
{Items.Carrot: 256000}, # 5(6) 0 False False PUMPKIN: 1600% -> 3200%
{Items.Carrot: 1020000}, # 6(7) 0 False False PUMPKIN: 3200% -> 6400%
{Items.Carrot: 4100000}, # 7(8) 0 False False PUMPKIN: 6400% -> 12800%
{Items.Carrot: 16400000}, # 8(9) 0 False False PUMPKIN: 12800% -> 25600%
{Items.Carrot: 65500000}], # 9(10) 0 False False PUMPKIN: 25600% -> 51200%
Unlocks.Senses: [{Items.Hay: 100}], # 0(1) 0 True - UNLOCK: get_pos*(), get_*_type(), num_items(), None
Unlocks.Simulation: [{Items.Gold: 5000}], # 0(1) 0 True - UNLOCK: simulate()
Unlocks.Speed: [{Items.Hay: 20}, # 0(1) 0 False True SPEED: 100% -> 150%
{Items.Wood: 20}, # 1(2) 0 False False SPEED: 150% -> 225%
{Items.Wood: 50, # 2(3) 0 False False SPEED: 225% -> 337.5%
Items.Carrot: 50}, # "(") 1
{Items.Carrot: 500}, # 3(4) 0 False False SPEED: 337.5% -> 506.25%
{Items.Carrot: 1000}], # 4(5) 0 False False SPEED: 506.25% -> 759.375%
Unlocks.Sunflowers: [{Items.Carrot: 500}], # 0(1) 0 False False UNLOCK: Entities.Sunflower, Items.Power
Unlocks.The_Farmers_Remains:
[{Items.Bone: 100000000}], # 0(1) 0 False False UNLOCK: Hats.The_Farmers_Remains
Unlocks.Timing: [{Items.Pumpkin: 1000}], # 0(1) 0 True - UNLOCK: get_time(), get_tick_count()
Unlocks.Top_Hat: [{Items.Hay: 1000000000, # 0(1) 0 False False UNLOCK: Hats.Top_Hat
Items.Wood: 10000000000, # "(") 1
Items.Carrot: 1000000000, # "(") 2
Items.Cactus: 1000000000, # "(") 3
Items.Gold: 100000000}], # "(") 4
Unlocks.Trees: [{Items.Wood: 50, # 0(1) 0 False True UNLOCK: Entities.Trees
Items.Carrot: 70}, # "(") 1
{Items.Hay: 300}, # 1(2) 0 False False WOOD: 100% -> 200%
{Items.Hay: 1200}, # 2(3) 0 False False WOOD: 200% -> 400%
{Items.Hay: 4800}, # 3(4) 0 False False WOOD: 400% -> 800%
{Items.Hay: 19200}, # 4(5) 0 False False WOOD: 800% -> 1600%
{Items.Hay: 76800}, # 5(6) 0 False False WOOD: 1600% -> 3200%
{Items.Hay: 307000}, # 6(7) 0 False False WOOD: 3200% -> 6400%
{Items.Hay: 1230000}, # 7(8) 0 False False WOOD: 6400% -> 12800%
{Items.Hay: 4920000}, # 8(9) 0 False False WOOD: 12800% -> 25600%
{Items.Hay: 19700000}], # 9(10) 0 False False WOOD: 25600% -> 51200%
Unlocks.Utilities: [{Items.Pumpkin: 1000}], # 0(1) 0 True - UNLOCK: min(), max(), abs(), random()
Unlocks.Variables: [{Items.Carrot: 35}], # 0(1) 0 True - UNLOCK: variables
Unlocks.Watering: [{Items.Wood: 50}, # 0(1) 0 False True UNLOCK: Items.Water (0.1/s)
{Items.Wood: 200}, # 1(2) 0 False False WATER: 0.1/s -> 0.2/s
{Items.Wood: 800}, # 2(3) 0 False False WATER: 0.2/s -> 0.4/s
{Items.Wood: 3200}, # 3(4) 0 False False WATER: 0.4/s -> 0.8/s
{Items.Wood: 12800}, # 4(5) 0 False False WATER: 0.8/s -> 1.6/s
{Items.Wood: 51200}, # 5(6) 0 False False WATER: 1.6/s -> 3.2/s
{Items.Wood: 205000}, # 6(7) 0 False False WATER: 3.2/s -> 6.4/s
{Items.Wood: 819000}, # 7(8) 0 False False WATER: 6.4/s -> 12.8/s
{Items.Wood: 3280000}]} # 8(9) 0 False False WATER: 12.8/s -> 25.6/s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment