Skip to content

Server config ​

Gameplay rules live in config/throwablemobs-server.toml. The server sends them to every player, so everyone plays by the same rules. To use different rules for one world, put a copy in that world's serverconfig/ folder (Fabric) or syncedconfig/ folder (NeoForge); it wins over the global file.

On 1.21.1 the file is per world: serverconfig/throwablemobs-server.toml in the world's folder, made on first load (from defaultconfigs/throwablemobs-server.toml if you put one there).

Each player's own settings (prompt, charge bar, trajectory style, flight pose) are in config/throwablemobs-client.toml and can be changed in game with /throwablemobs config. With YACL installed, that screen also shows this file's settings; they can be changed there in your own world (singleplayer or LAN host), and on 26.3 from the title screen too.

Per-mob numbers and behaviors don't belong here: set them with mob profiles and tags.

Units: masses in game-kg, distances in blocks, speeds in blocks per tick, times in ticks (20 ticks = 1 second) unless a name says otherwise.

Turning the mod off ([general]) ​

SettingDefaultWhat it does
enabledtrueOff: nobody can pick up, throw or catch mobs. Carried mobs are put down and thrown mobs fall, right away. Mob profiles and the other settings are kept.

Each player can also turn the mod off for themselves, with enabled in their own settings: their keys are plain Sneak and Use again, they see no prompt, don't catch thrown mobs, and anything they carry is put down.

When a carrier leaves the server ​

What happens to a carried mob when its carrier logs out, or when the server stops while they carry it.

toml
[carry]
on_carrier_logout = "PUT_DOWN"
carrier_logout_seconds = 60
on_carrier_logoutThe mob...If the carrier comes back
PUT_DOWN (default)is put down at the carrier's feet and is free right away.Nothing happens.
RESUMEis put down and free, like PUT_DOWN.Within carrier_logout_seconds, with the mob alive and within 16 blocks: it's back on their head.
KEEP_CARRYINGwaits at the carrier's feet, frozen (no AI, no gravity). No one else can pick it up.It's back on their head if it's within 16 blocks. After carrier_logout_seconds it's put down.
TAKE_ALONGleaves the world with the carrier, saved in their player data. Nothing is left behind.Any time later: it's back on their head, wherever they log in.

carrier_logout_seconds (default 60, 0 = forever) is how long RESUME remembers the carrier and how long KEEP_CARRYING waits for them. PUT_DOWN and TAKE_ALONG don't use it.

Good to know:

  • If the mob doesn't fit at the carrier's feet (a tall mob in a low tunnel), it's put down where it was carried and falls.
  • When the carrier dies, the mob is always put down at their feet, whatever the setting.
  • Server restarts: RESUME forgets who left what, so after a restart it works like PUT_DOWN. KEEP_CARRYING mobs keep waiting, and the time limit still counts. TAKE_ALONG mobs stay with their player.
  • TAKE_ALONG saves the mob in the player's data file. A player who never comes back takes the mob with them for good. Update Minecraft with care: a mob saved under an older version may not come back after an update.
  • Changing the setting later doesn't strand anyone. A returning carrier always gets back the mob they took along, left behind or kept waiting.

Pick up ([pick_up]) ​

Which mobs can never be carried is set with the tag #throwablemobs:unthrowable; pets only their owner can carry with #throwablemobs:owner_only. See Tags.

SettingDefaultWhat it does
require_empty_handtruePicking up needs an empty main hand.
max_mass1500.0Heaviest mob a player can lift. Mass is the hitbox volume times default_density: a cow is about 450, an iron golem about 2100.
default_density400.0Density used to get a mob's mass from its hitbox, game-kg per block³.
allow_villagerstrueVillagers and wandering traders can be picked up.
owner_only_for_tamedtrueTamed mobs can only be picked up by their owner.
pick_up_cooldown_ticks0Ticks after putting down or throwing a mob before the same player can pick one up again (20 = one second). 0 = none. Each player can set a longer one in their own settings ([cooldown], 6 ticks by default).

Carry ([carry]) ​

SettingDefaultWhat it does
slowdown_factor0.5How much a mob at max_mass slows its carrier. Slowdown = mass / max_mass × this, so 0.5 makes a cow about 15 % slower.
max_slowdown0.6Cap on the slowdown (0.6 = at most 60 % slower).
protect_from_suffocationtrueCarried mobs take no suffocation damage (their head is in the ceiling in 2-high tunnels).
protect_from_falltrueCarried mobs take no fall damage when their carrier falls.
protect_from_carriertrueCarried mobs can't be hurt by their carrier.
carried_facingCARRIERCARRIER: carried mobs face where the carrier looks. KEEP: the way they faced when picked up.
on_dimension_changeTRAVELTRAVEL: the mob comes along through portals and /tp, still carried. PUT_DOWN: it's put down where the carrier left.
on_carrier_logoutPUT_DOWNSee When a carrier leaves the server.
carrier_logout_seconds60See above. 0 = forever.

Put down ([put_down]) ​

SettingDefaultWhat it does
put_down_needs_groundtrueThe carrier must look at valid ground within reach, so mobs can't be dropped off a skyblock platform. Off: put down in front of the carrier, or at their feet.
ground_filterDENY_LISTWhich blocks count as ground (they also need something to stand on). DENY_LIST: any block except #throwablemobs:put_down_ground_denied. ALLOW_LIST: only #throwablemobs:put_down_ground_allowed.
put_down_cooldown_ticks0Ticks after picking up or catching a mob before it can be put down (20 = one second). 0 = none. Each player can set a longer one in their own settings ([cooldown], 6 ticks by default).

Throw ([throw]) ​

Hold the Throw key to charge, let go to throw.

SettingDefaultWhat it does
throw_impulse150.0Strength of a full-charge throw. Launch speed = impulse × charge / mass, so light mobs fly fast and heavy ones barely leave your hands (150 throws a cow at about 0.33 blocks/tick).
strength_effect_bonus0.25Extra impulse per level of Strength: 0.25 makes Strength II throw 50 % harder. 0 = no help.
max_throw_speed1.0Launch speed cap, so light mobs don't fly forever (a full-charge arrow is about 3; 1.0 throws a chicken about 19 blocks).
max_charge_ticks20Ticks to reach full charge, same as a bow.
min_charge_ticks3Letting go sooner than this cancels the throw.
inherit_velocity1.0Share of the thrower's own movement added to the throw: 1 = all of it (sprint-throws go further), 0 = none, 2 = double.
thrower_grace_ticks5Ticks after the throw before the mob can hit its thrower.
allow_trajectorytruePlayers may see the trajectory preview (each one can still hide it). false turns it off for everyone.

Flight ([flight]) ​

SettingDefaultWhat it does
gravity0.05Downward acceleration in blocks/tick² (arrows use 0.05).
drag0.99Share of the speed kept each tick (arrows use 0.99; lower = more air drag).
max_flight_ticks200Flights end after this many ticks; the mob then falls normally.
ai_in_flightfalseThrown mobs get their AI back at launch instead of when they land (chickens flap). Their own movement can then bend the flight a little.
block_restitution0.0Bounciness off blocks: 0 = the flight ends at the first block, 1 = keeps all its speed. Mob profiles can override it.
max_bounces3Bounces off blocks before the flight ends. Mob profiles can override it.
min_bounce_speed0.15A bounce slower than this ends the flight, so mobs stop instead of skipping along forever.
bounce_impactsEVERYWhether bounces after the first impact deal damage too: EVERY or FIRST_ONLY. Mob profiles can override it.

Impact ([impact]) ​

Damage comes from the collision energy, ½ × reduced mass × speed², in game-kg × (blocks/tick)².

SettingDefaultWhat it does
damage_per_energy0.1Damage per unit of collision energy above min_impact_energy.
min_impact_energy10.0Collisions below this energy do no damage.
max_impact_damage20.0Damage cap for one impact, before it's split between the two bodies (the lighter one takes more).
restitution0.3Bounciness between bodies: 0 = they stick together, 1 = perfectly elastic. Sets the knockback.
vanilla_fall_damagefalseThrown mobs also take vanilla fall damage when they land, on top of impact damage. Off: impact damage replaces it during the flight.
self_damageRESPECT_TAGWhether thrown mobs take damage from their own impacts: ALL, NONE, or RESPECT_TAG (all but #throwablemobs:no_self_damage, by default mobs immune to fall damage).
pvptrueThrown mobs can hurt and knock back players. Off: they can't, and players can still catch them. Teams without friendly fire are always safe from their teammates' throws.

Catch ([catch]) ​

Catching needs an empty main hand, not carrying anything, looking at the mob, and being allowed to pick it up.

SettingDefaultWhat it does
catching_enabledtrueOff: thrown mobs can't be caught and hit players as usual.
catch_radius1.5How close the mob's path must pass the catcher's eyes, in blocks.
catch_cone_degrees60.0The catcher must look within this many degrees of the mob.
self_catchAFTER_BOUNCEWhen the thrower can catch their own mob: NEVER, AFTER_BOUNCE (it bounced off a block), AFTER_DELAY, or AFTER_BOUNCE_OR_DELAY.
self_catch_delay_ticks10Ticks before the thrower can catch their own mob, with AFTER_DELAY or AFTER_BOUNCE_OR_DELAY.
latency_compensation1.0Players with ping see the mob late, so the radius grows by speed × ping in ticks × this. 0 = off.
max_latency_ticks6Ping above this many ticks counts as this much.
catch_recoil0.002Knockback on the catcher per unit of the mob's momentum (mass × speed).
catch_damagefalseHard catches hurt the catcher.
catch_absorb_momentum200.0Momentum a catcher takes without damage.
catch_damage_factor0.02Damage per unit of momentum above catch_absorb_momentum.

Effects ([effects]) ​

Sounds and particles on throws, bounces, impacts and catches, for everyone nearby. The flight trail is a player setting.

SettingDefaultWhat it does
soundstruePlay our sounds. Resource packs can replace them one by one (sound events).
particlestrueA puff on throws and catches, block dust on impacts.
effect_min_energy2.0Bounces and impacts below this collision energy are silent, so a mob rolling along doesn't keep thudding.
effect_full_energy40.0Collision energy for full volume and the most particles. A hard creeper throw reaches about 46.

Behaviors ([behaviors]) ​

What mobs do when picked up, thrown and when they hit something. Set per mob with mob profiles; see Behaviors for every action.

SettingDefaultWhat it does
behaviors_enabledtrueOff: no mob behaviors run. Mob profile physics (mass, gravity, bounces) still applies.
auto_detect_behaviorstrueGuess behaviors for modded mobs from what they are (see Modded mobs). A mob profile overrides the guess.
disabled_behaviors[]Behavior types that never run, e.g. ["throwablemobs:explode"].
egg_chance0.25Chance a thrown chicken lays an egg when it lands. 0 = never, 1 = every throw. Rolled once per throw.

Released under the MIT License.