86 lines
2.8 KiB
Python
86 lines
2.8 KiB
Python
import typing
|
|
from Options import Choice, Option, Toggle, Range
|
|
|
|
|
|
class AdvancementGoal(Range):
|
|
"""Number of advancements required to spawn the Ender Dragon."""
|
|
displayname = "Advancement Goal"
|
|
range_start = 0
|
|
range_end = 87
|
|
default = 50
|
|
|
|
|
|
class EggShardsRequired(Range):
|
|
"""Number of dragon egg shards to collect before the Ender Dragon will spawn."""
|
|
displayname = "Egg Shards Required"
|
|
range_start = 0
|
|
range_end = 30
|
|
|
|
|
|
class EggShardsAvailable(Range):
|
|
"""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"
|
|
|
|
|
|
class StructureCompasses(Toggle):
|
|
"""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
|
|
|
|
|
|
class CombatDifficulty(Choice):
|
|
"""Modifies the level of items logically required for exploring dangerous areas and fighting bosses."""
|
|
displayname = "Combat Difficulty"
|
|
option_easy = 0
|
|
option_normal = 1
|
|
option_hard = 2
|
|
default = 1
|
|
|
|
|
|
class HardAdvancements(Toggle):
|
|
"""Enables certain RNG-reliant or tedious advancements."""
|
|
displayname = "Include Hard Advancements"
|
|
|
|
|
|
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"
|
|
|
|
|
|
class SendDefeatedMobs(Toggle):
|
|
"""Send killed mobs to other Minecraft worlds which have this option enabled."""
|
|
displayname = "Send Defeated Mobs"
|
|
|
|
|
|
minecraft_options: typing.Dict[str, type(Option)] = {
|
|
"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,
|
|
"send_defeated_mobs": SendDefeatedMobs,
|
|
}
|