#Orb of Origins settings.
#Controls XP cost behaviour when a player uses an Orb of Origin.
[orb_of_origins]
	#Whether the XP cost scales with the number of prior orb uses.
	#true  (default): Cost = levels_per_use * previous orb uses (first use free, then ramps).
	#false: flat cost. Every use (including the first) costs exactly levels_per_use levels.
	scale_cost = true
	#XP levels charged per orb use.
	#When scale_cost=true:  Cost = this value * number of previous orb uses (first use free).
	#When scale_cost=false: Cost = this value, flat, on every use.
	#Set to 0 to disable XP cost entirely.
	# Default: 5
	# Range: 0 ~ 1000
	levels_per_use = 5
	#Flat XP levels charged per Orb of Class use.
	#The Orb of Class only resets the class layer (keeping the main origin),
	#so it is intentionally cheaper than the full Orb of Origin reset.
	#Set to 0 to disable its XP cost entirely.
	# Default: 2
	# Range: 0 ~ 1000
	class_levels_per_use = 2

#Auto-human mode.
#When enabled, new players are automatically assigned neoorigins:human
#on the origin layer and skip straight to the class selection screen.
#Useful for servers that want to bypass origin selection entirely.
[auto_human]
	#Automatically assign human origin and open class selection only.
	enabled = false

#Skip the initial origin/class selection entirely.
#When enabled, new players spawn with NO origin and the selection
#screen never opens on first join. They play as an origin-less
#player until granted one later (e.g. via an Orb of Origin).
#Unlike auto-human mode this assigns nothing, and unlike disabling
#every class it does not leave the player stuck invulnerable.
#Takes priority over auto-human and random-assignment modes.
[skip_initial_selection]
	#Spawn new players with no origin and no selection screen.
	enabled = false

#Random origin assignment mode.
#DISABLED: players choose their origin normally.
#FIRST_JOIN: origins are randomly assigned on first join (no selection screen).
#EVERY_DEATH: origins are randomly re-assigned on each respawn.
[random_assignment]
	#When to randomly assign origins.
	#Allowed Values: DISABLED, FIRST_JOIN, EVERY_DEATH
	mode = "DISABLED"
	#Number of times a player may reroll after random assignment.
	#0 = no rerolls (stuck with what you get).
	#-1 = unlimited rerolls via Orb of Origin.
	# Default: 0
	# Range: -1 ~ 100
	rerolls = 0

#Essence Evolution system. Origins evolve through 3 tiers
#(Evolved → Ascended → Apex) by accumulating mob kills.
#An Orb of Origin resets the player to base tier.
[evolution]
	#Enable the evolution system. When false, kills are not tracked
	#and evolution prompts never appear.
	enabled = true
	#Mob kills required to reach Evolved (tier 1).
	# Default: 1000
	# Range: 1 ~ 1000000
	tier_1_kills = 1000
	#Mob kills required to reach Ascended (tier 2).
	# Default: 2500
	# Range: 1 ~ 1000000
	tier_2_kills = 2500
	#Mob kills required to reach Apex (tier 3).
	# Default: 5000
	# Range: 1 ~ 1000000
	tier_3_kills = 5000
	#Chat milestone message interval (every N kills).
	# Default: 100
	# Range: 10 ~ 10000
	message_interval = 100

#Origin spawn location behaviour.
#Origins may declare a spawn_location (e.g. ocean origins, Nether origins)
#that teleports the player there when the origin is first picked.
[spawn_location]
	#Master toggle for ALL origin spawn_location teleports.
	#When false, no origin relocates the player on origin pick.
	#Built-in, datapack and compat origins all spawn at the world's
	#normal spawn point. Overrides ocean_origins.spawn_in_ocean.
	teleports_enabled = true

#Per-feature toggles for built-in ocean origins (abyssal, kraken, merling, siren).
[ocean_origins]
	#Teleport ocean origins to a random ocean biome on first origin pick.
	#Turn off to let them spawn at the world's normal spawn point.
	spawn_in_ocean = true
	#Ocean origins slowly lose air while out of water (Minecraft-fish style).
	#Turn off to disable the on-land suffocation entirely.
	dries_out = true
	#Ticks per single air point lost while out of water.
	#Default 1 matches vanilla cod and salmon exactly: air starts at 300,
	#so 300 ticks (15 seconds) on land before drown damage begins.
	#Larger values mean a slower drain: the total land time in seconds is
	#roughly (300 * this value) / 20, so 2 gives 30s and 4 gives 1 minute.
	#Replaces the per-power drain_rate field in built-in dries_out JSONs.
	# Default: 1
	# Range: 1 ~ 1200
	drain_rate_ticks = 1
	#Damage applied per second once a dried-out aquatic player's virtual air
	#is exhausted. Mirrors WaterAnimal.handleAirSupply cadence (vanilla cod / salmon).
	#Default 2.0 (= 1 heart per second). Set to 0 to make dry-out non-lethal.
	# Default: 2.0
	# Range: 0.0 ~ 100.0
	drown_damage_per_second = 2.0
	#Pescivore restriction: when true, ocean origins (Abyssal, Kraken, Merling,
	#Siren) can only eat items in the neoorigins:fish_foods tag; non-fish food
	#is silently cancelled. Set to false to let them eat anything (powered by
	#the aquatic_fish_diet power's runtime check on this flag).
	#Default true: matches the long-standing pescivore design.
	fish_diet_required = true
	#Extra items ocean origins (Abyssal, Kraken, Merling, Siren) may ALSO eat
	#on top of the neoorigins:fish_foods tag. Additive: an item counts as fish
	#food if it is in that tag OR listed here. Use this to whitelist modded fish
	#(Aquaculture, Hybrid Aquatic, etc.) without editing a datapack.
	#Format: item ids (e.g. "aquaculture:tuna") or tags (e.g. "#aquaculture:fishes").
	#Referenced from JSON via the food_item_in_config_list condition with
	#key "ocean_origins.extra_fish_foods".
	extra_fish_foods = []

#Tuning for the helmet absorption rule on sun-damage origins
#(Abyssal, Caveborn, Vampire, Phantom, Warden, etc.). When the
#player is in direct sun and wearing a damageable helmet, the
#helmet absorbs the burn at the cost of its own durability.
[sun_damage]
	#When true (default), wearing any helmet cancels sun burn for
	#sun-damage origins. This is the current, vanilla-like behaviour.
	#When false, sun-damage origins burn in daylight even with a
	#helmet equipped, and the helmet takes no durability damage
	#since it is no longer protecting the player.
	helmet_protection = true
	#Per-evaluation chance (0.0 – 1.0) that a damageable helmet takes
	#1 durability while the player is in direct sun. The condition is
	#evaluated once per condition_passive interval (~1 second), so a
	#value of 0.07 averages 1 durability per ~14 seconds, about 40
	#minutes of continuous sun for a 165-durability iron helmet.
	#Unbreaking still stacks via vanilla hurtAndBreak. Set to 0 so
	#helmets never lose durability from sun protection; set to 1 to
	#match vanilla zombie/skeleton wear rate (very fast).
	#To make players burn even while wearing a helmet, set
	#helmet_protection = false above.
	# Default: 0.07
	# Range: 0.0 ~ 1.0
	helmet_dura_damage_chance = 0.07

#Mount power settings. Controls how player-to-player mounting
#consent works. ALWAYS: mount any player without consent.
#PROMPT: target must click [ACCEPT] or run /neoorigins mount accept.
#TEAM: auto-allow if both players share a team (FTB Teams or
#Open Parties and Claims); falls back to ALWAYS if no team mod is loaded.
[mount]
	#Consent mode for mounting other players.
	#Allowed Values: ALWAYS, PROMPT, TEAM
	consent_mode = "ALWAYS"
	#Seconds before a mount request expires (only used in PROMPT mode).
	# Default: 30
	# Range: 5 ~ 300
	request_timeout_seconds = 30

#Friendly-fire filter for origin area-of-effect actions (poison sting,
#fire burst, ink shot, etc.). When a toggle is true, that category of
#mob is excluded from the AOE target list and will not take effects
#or damage from the player's own abilities.
[friendly_fire]
	#Protect TamableAnimals owned by the casting player (wolves, cats, etc.).
	protect_owned_pets = true
	#Protect mobs tracked as minions of the casting player
	#(necromancer skeletons, beastmaster summons, etc.).
	protect_minions = true
	#Protect ALL passive animals (sheep, cow, pig, horse, fox, ...).
	#Default false: an active combat AOE should hit livestock; otherwise
	#abilities like Hiveling Sting silently no-op against passive mobs.
	#Turn on if your pack treats farm animals as untouchable allies.
	protect_animals = false
	#Protect villagers and wandering traders from origin AOEs.
	#Default true: avoids accidentally aggroing or killing your trade hub.
	protect_villagers = true
	#Protect iron golems from origin AOEs.
	#Default true: village-built golems represent player investment and
	#their protection is consistent with vanilla golem AI rules.
	protect_iron_golems = true

#Armor class definitions. Items listed here are ADDED to the
#neoorigins:heavy_armor / neoorigins:light_armor item tags.
#Use this to add modded armor to the correct class without a datapack.
#Format: item IDs (e.g. "modid:my_helmet") or tags (e.g. "#modid:my_armor_tag").
[armor_classes]
	#Additional items/tags to treat as heavy armor.
	#Default heavy armor (iron, gold, diamond, netherite) is defined in the
	#neoorigins:heavy_armor item tag and does not need to be listed here.
	heavy_armor = []
	#Additional items/tags to treat as light armor.
	#Default light armor (leather + chainmail) is defined in the
	#neoorigins:light_armor item tag and does not need to be listed here.
	light_armor = []

#Active-ability cooldown behaviour.
[cooldowns]
	#When true, players in Creative mode ignore active-ability cooldowns
	#entirely: every keybind / on-hit / on-kill power can fire without
	#waiting. Cooldowns still apply normally in Survival/Adventure, so a
	#creative-mode player switching back to survival resumes any in-flight
	#cooldown. Useful for testing powers without spam-waiting.
	creative_no_cooldown = true
