| 
									
										
										
										
											2021-06-25 23:32:13 +02:00
										 |  |  | import typing | 
					
						
							| 
									
										
										
										
											2021-06-25 20:15:07 -05:00
										 |  |  | from Options import Choice, Option, Toggle, Range | 
					
						
							| 
									
										
										
										
											2021-06-25 23:32:13 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-25 20:15:07 -05:00
										 |  |  | class AdvancementGoal(Range): | 
					
						
							| 
									
										
										
										
											2021-08-22 19:30:30 -05:00
										 |  |  |     """Number of advancements required to spawn the Ender Dragon.""" | 
					
						
							|  |  |  |     displayname = "Advancement Goal" | 
					
						
							| 
									
										
										
										
											2021-06-25 20:15:07 -05:00
										 |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 87 | 
					
						
							|  |  |  |     default = 50 | 
					
						
							| 
									
										
										
										
											2021-06-25 23:32:13 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-22 19:43:29 -05:00
										 |  |  | class EggShardsRequired(Range): | 
					
						
							| 
									
										
										
										
											2021-08-22 19:30:30 -05:00
										 |  |  |     """Number of dragon egg shards to collect before the Ender Dragon will spawn.""" | 
					
						
							|  |  |  |     displayname = "Egg Shards Required" | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 30 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-22 19:43:29 -05:00
										 |  |  | class EggShardsAvailable(Range): | 
					
						
							| 
									
										
										
										
											2021-08-22 19:30:30 -05:00
										 |  |  |     """Number of dragon egg shards available to collect.""" | 
					
						
							|  |  |  |     displayname = "Egg Shards Available" | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 30 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ShuffleStructures(Toggle): | 
					
						
							|  |  |  |     """Enables shuffling of villages, outposts, fortresses, bastions, and end cities.""" | 
					
						
							|  |  |  |     displayname = "Shuffle Structures" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-22 19:43:29 -05:00
										 |  |  | class StructureCompasses(Toggle): | 
					
						
							| 
									
										
										
										
											2021-08-22 19:30:30 -05:00
										 |  |  |     """Adds structure compasses to the item pool, which point to the nearest indicated structure.""" | 
					
						
							|  |  |  |     displayname = "Structure Compasses" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class BeeTraps(Range):  | 
					
						
							|  |  |  |     """Replaces a percentage of junk items with bee traps, which spawn multiple angered bees around every player when received.""" | 
					
						
							|  |  |  |     displayname = "Bee Trap Percentage" | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 100 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-25 23:32:13 +02:00
										 |  |  | class CombatDifficulty(Choice): | 
					
						
							| 
									
										
										
										
											2021-08-22 19:30:30 -05:00
										 |  |  |     """Modifies the level of items logically required for exploring dangerous areas and fighting bosses.""" | 
					
						
							|  |  |  |     displayname = "Combat Difficulty" | 
					
						
							| 
									
										
										
										
											2021-06-25 23:32:13 +02:00
										 |  |  |     option_easy = 0 | 
					
						
							|  |  |  |     option_normal = 1 | 
					
						
							|  |  |  |     option_hard = 2 | 
					
						
							|  |  |  |     default = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-22 19:30:30 -05:00
										 |  |  | class HardAdvancements(Toggle): | 
					
						
							|  |  |  |     """Enables certain RNG-reliant or tedious advancements.""" | 
					
						
							|  |  |  |     displayname = "Include Hard Advancements" | 
					
						
							| 
									
										
										
										
											2021-08-04 16:12:33 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-22 19:30:30 -05:00
										 |  |  | class InsaneAdvancements(Toggle): | 
					
						
							|  |  |  |     """Enables the extremely difficult advancements "How Did We Get Here?" and "Adventuring Time.\"""" | 
					
						
							|  |  |  |     displayname = "Include Insane Advancements" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class PostgameAdvancements(Toggle): | 
					
						
							|  |  |  |     """Enables advancements that require spawning and defeating the Ender Dragon.""" | 
					
						
							|  |  |  |     displayname = "Include Postgame Advancements" | 
					
						
							| 
									
										
										
										
											2021-08-06 17:18:28 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-22 19:43:29 -05:00
										 |  |  | class SendDefeatedMobs(Toggle): | 
					
						
							|  |  |  |     """Send killed mobs to other Minecraft worlds which have this option enabled.""" | 
					
						
							|  |  |  |     displayname = "Send Defeated Mobs" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-25 23:32:13 +02:00
										 |  |  | minecraft_options: typing.Dict[str, type(Option)] = { | 
					
						
							| 
									
										
										
										
											2021-08-22 19:30:30 -05:00
										 |  |  |     "advancement_goal":                 AdvancementGoal, | 
					
						
							|  |  |  |     "egg_shards_required":              EggShardsRequired, | 
					
						
							|  |  |  |     "egg_shards_available":             EggShardsAvailable, | 
					
						
							|  |  |  |     "shuffle_structures":               ShuffleStructures, | 
					
						
							|  |  |  |     "structure_compasses":              StructureCompasses, | 
					
						
							|  |  |  |     "bee_traps":                        BeeTraps, | 
					
						
							|  |  |  |     "combat_difficulty":                CombatDifficulty, | 
					
						
							|  |  |  |     "include_hard_advancements":        HardAdvancements, | 
					
						
							|  |  |  |     "include_insane_advancements":      InsaneAdvancements, | 
					
						
							|  |  |  |     "include_postgame_advancements":    PostgameAdvancements, | 
					
						
							| 
									
										
										
										
											2021-08-22 19:43:29 -05:00
										 |  |  |     "send_defeated_mobs":               SendDefeatedMobs, | 
					
						
							|  |  |  | } |