Pixel Dream StudiosWiki

Config and commands

Where the config files are, every field for bows, relic bows, loot and trinkets, and the commands.

⚙️ Configuration System

Starting in Too Many Bows 3.0.0, nearly every aspect of the mod is configurable via JSON files. Configs are split into three categories: bow configs, the loot config, and the accessories config.

📁 Config File Locations

All config files are generated automatically on first launch and can be edited freely.

Config TypePath
Bow Configsconfig/too_many_bows/bows/<bow_name>.json
Relic Bow Configconfig/too_many_bows/bows/forbidden_three.json
Loot Configconfig/too_many_bows.json
Accessories Configconfig/too_many_bows/accessories/

Missing config files are generated with defaults. Bow JSON loading falls back to defaults if parsing fails; it does not automatically rewrite every malformed file. Back up files before editing.

🏹 Bow Config Fields

Most configurable bows have their own JSON file inside the bows/ folder. Eventide, Worldeater and Godsplitter share forbidden_three.json. While every bow is unique, they share common categories of fields:

Field CategoryExamplesDescription
Damagedirect_hit_damage, direct_hit_damage_overrideControls base projectile damage. Set to -1.0 to leave unchanged.
Projectile Behaviormax_lifetime_ticks, allow_pickup, discard_after_entity_hitControls arrow lifetime, pickup rules, and hit behavior.
Spread & Multishotarrow_count, spread_angle_degrees, velocity_multiplierControls how many arrows fire and their spread pattern.
Ability Effectsburst_radius, target_levitation_duration_ticks, owner_slow_falling_enabledToggles and tunes each bow's unique ability.
Trail Particlestrail_particles_enabled, trail_particles_per_tick, trail_particle_offset_yControls the particle trail on arrows in flight.
Hit/Burst Particlesburst_particles_enabled, burst_particle_count, burst_particle_offset_xControls particles spawned on impact.
Soundsshoot_sound_enabled, burst_sound_volume, burst_sound_pitchControls volume and pitch of firing and impact sounds.
Armor Penetrationdefault_armor_penetration_factor, min/max_armor_penetration_factorControls how much armor is bypassed (e.g. Ancient Sage Bow).
Ricochetstarting_ricochet_count, max_ricochets, ricochet_velocity_multiplierControls bounce behavior (e.g. Astral Bound).

Not all fields apply to every bow — each bow's JSON only contains fields relevant to its mechanics.

Example snippet — aethers_call.json:

{
  "direct_hit_damage": 6.0,
  "burst_radius": 4.0,
  "target_levitation_enabled": true,
  "target_levitation_duration_ticks": 40,
  "trail_particles_enabled": true,
  "trail_particles_per_tick": 1
}

🌠 Relic Bow Configuration

The shared file is config/too_many_bows/bows/forbidden_three.json. In development, look under your launch's run/config/ folder. The values below are the current source defaults; existing configs can override them.

FieldDefaultPurpose
eventideDamage14.0Eventide arrow damage setting
lanceDamage8.0Eventide lance damage and constellation-link damage
finalMaxHealthFraction0.08Extra maximum-health fraction on the final lance, before Alignment bonuses; extra damage is capped at 100
worldeaterDamage18.0Worldeater arrow damage setting
dragonDiveDamage16.0Base dragon-dive damage
dragonfireDamage4.0Dragonfire damage per pulse
godsplitterDamage20.0Godsplitter arrow damage setting
headshotMultiplier3.0Godsplitter perfect-headshot multiplier
abilityCooldownTicks80Eventide and Worldeater special-shot cooldown
maxDominance10Charges required for an empowered Worldeater shot
starfallDelayTicks40Delay before Eventide's first lance; clamped to 10–100 ticks
dragonfireDurationTicks100Dragonfire-zone duration; clamped to 20–180 ticks
fragmentChance0.25Celestial component chance in its matching chest
bluntedEdgeChance0.18Additional Blunted Edge loot chance
affectPlayersfalseAllows relic targeting/effects against players
protectPetstrueExcludes tamed animals from relic targeting/effects

20 ticks = one second. Actual arrow damage also depends on flight speed, critical hits, enchantments and attributes.

For a stronger Eventide, these are suggested starting values rather than shipped defaults:

"eventideDamage": 24.0,
"lanceDamage": 12.0,
"finalMaxHealthFraction": 0.12

Edit those fields inside the existing JSON object. Use /tmb reload bows for combat-value changes. Restart the game/server after changing fragmentChance or bluntedEdgeChance, because their loot pools are built during initialization. Loot changes do not reroll chests whose contents have already generated.

🎁 Loot Config Fields

The loot config lives at config/too_many_bows.json and controls which bows and trinkets appear in world loot, at what rates, and in which chests.

FieldDefaultDescription
easyLootEnabledtrueEnables easy-tier loot injection
easyLootDropChance0.5Drop chance for easy loot (0.0–1.0)
mediumLootEnabledtrueEnables medium-tier loot injection
mediumLootDropChance0.4Drop chance for medium loot (0.0–1.0)
hardLootEnabledtrueEnables hard-tier loot injection
hardLootDropChance0.3Drop chance for hard loot (0.0–1.0)
endgameLootEnabledtrueEnables endgame-tier loot injection
endgameLootDropChance0.2Drop chance for endgame loot (0.0–1.0)
globalBowPullSpeed16.0Global multiplier for bow draw speed
easyLootTables[simple_dungeon, mineshaft]Chest loot tables to inject easy items into
easyLootItems(list of item IDs)Items that can appear in easy loot
mediumLootTables / mediumLootItems—Same as above for medium tier
hardLootTables / hardLootItems—Same as above for hard tier
endgameLootTables / endgameLootItems—Same as above for endgame tier

Default Loot Tiers

TierDefault Chest Sources
EasySimple Dungeon, Abandoned Mineshaft
MediumJungle Temple, Pillager Outpost, Mineshaft, Dungeon
HardStronghold Corridor, Nether Fortress, Bastion Treasure
EndgameEnd City, Nether Fortress, Bastion Treasure

Drop chances are clamped between 0.0 and 1.0. Invalid values are automatically corrected on load. A timestamped backup of your loot config (e.g. too_many_bows.json.bak-20250101-120000) is created automatically before any migration or correction is applied.

🧿 Accessories Config Fields

The accessories config controls the stat bonuses granted by each trinket.

FieldDefaultTrinket
deadEyesPendantCritBonus0.08Dead Eye's Pendant — critical hit chance bonus per stack
drawSpeedGloveBonus0.75Windwoven Gloves — bow draw speed bonus per stack
sharpshotRingBonus0.15Sharpshot Ring — bow damage bonus per stack
stormboundSignetBonus0.30Stormbound Signet — stronger bow damage bonus per stack

Stackable trinkets multiply their bonus by the number equipped. The Fletcher's Talisman reduces durability loss and has no numeric config value.

🖥️ Commands

All Too Many Bows commands require operator permission level 2 or higher.

CommandDescription
/tmb reloadReloads all configs (bows, loot, and accessories)
/tmb reload allAlias for the above — reloads everything
/tmb reload bowsReloads only bow JSON configs from disk
/tmb reload lootReloads only the loot config (too_many_bows.json)
/tmb reload accessoriesReloads only the accessories/trinket configs

Registered bow combat settings can be reloaded with /tmb reload bows, including forbidden_three.json. Relic chest-loot probabilities require a restart. Reloading does not reroll already generated chest contents.

On this page