Minecraft mod (Fabric + NeoForge): pick up mobs, throw them with a trajectory preview, and catch them mid-air.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Minecraft Java 1.20.1, 1.21.1 and 26.3 · Fabric, NeoForge and Forge (1.20.1) · MIT · Beta
Install on both the client and the server. Optional mods are client only.
| Minecraft 1.20.1 | Minecraft 1.21.1 | Minecraft 26.3 | |
|---|---|---|---|
| Fabric, required | Fabric Loader 0.15.0+Fabric API 0.92.0+Forge Config API Port 8.0.0+ | Fabric Loader 0.16.0+Fabric API 0.109.0+Forge Config API Port 21.1.0+ | Fabric Loader 0.19.5+Fabric APIForge Config API Port 26.3.1+ |
| NeoForge, required | NeoForge 47.1+ (use the Forge jar) | NeoForge 21.1.197+ | NeoForge 26.3.0.95+ |
| Forge, required | Forge 47.1+ | — | — |
| Optional (every loader) | YACL 3.6.6+: the only settings screen on 1.20.1 | YACL 3.8.2+: a nicer settings screen | YACL 3.9.7+: a nicer settings screen |
| Optional (NeoForge) | — | Ragdollified 1.1.1+: thrown mobs go limp in the air | Ragdollified 1.1.1+ (its 26.3 build doesn't load yet) |
| Mod | Minecraft | Loader | Result |
|---|---|---|---|
| YACL 3.8.2 | 1.21.1 | Fabric, NeoForge | Works: the settings screen is YACL's |
| YACL 3.9.7 | 26.3 | Fabric, NeoForge | Works. On NeoForge, a warning about YACL's logoFile shows at startup; that's YACL's own metadata (fix pending), click Proceed |
| Carry On | 26.3 | Fabric | Both default to Left Shift + Right Click. Throwable Mobs no longer yields shared keys; compatibility needs retesting |
| Carry On 2.12.0 | 26.3 | NeoForge | Carry On itself doesn't load on NeoForge 26.3 (its own bug) |
| Ragdollified 1.1.1 | 1.21.1 | NeoForge | Works: thrown mobs ragdoll in the air (setting ragdoll_in_flight), and a mob killed by a throw keeps its ragdoll and the throw's momentum |
| Ragdollified 1.1.1 | 26.3 | NeoForge | Ragdollified itself doesn't load on NeoForge 26.3.0.95 (its own bug) |
Found a mod that doesn't work with it? Open an issue.
Design, physics model, behavior API and roadmap: THROWABLE_MOBS.md.
All rebindable under Controls → Throwable Mobs, or with /throwablemobs keybinds.
| Action | Default |
|---|---|
| Pick up / put down | Left Shift + Right Button |
| Throw (hold to charge, let go to throw) | Right Button while carrying |
| Cancel throw | Left Button while charging |
Shared bindings do not disable Throwable Mobs. If another mod also handles the same input, rebind either mod to give each its own controls. When Carry On is installed, a chat notice explains the shared defaults once per world join.
Picking up, carrying on foot and throwing add small hunger costs in survival. Server settings in [hunger] control
each exhaustion cost; set them to 0 to disable them. See server config.
| Command | Who | What |
|---|---|---|
/throwablemobs help | Everyone | Lists these commands |
/throwablemobs config | Everyone | Opens the settings screen |
/throwablemobs keybinds | Everyone | Opens Controls to rebind the keys |
/throwablemobs profile <mob> | Operators | Shows a mob's profile and where each value comes from |
config/throwablemobs-server.toml: gameplay, synced from the server (throw strength, bounciness, damage, behaviors,
what happens to carried mobs when players leave). Every setting:
Server config.config/throwablemobs-client.toml: personal (prompt, charge bar, carry info panel, trajectory style, flight pose),
editable in game./reload. Check a mob with /throwablemobs profile <mob>.Guide for pack devs and mod devs: safetimamovic.github.io/ThrowableMobs (source in docs/guide).
latest.log uploaded to mclo.gs.Requires JDK 25.
./gradlew build # jars in fabric/versions/<mc>/build/libs and neoforge/versions/<mc>/build/libs
./gradlew :physics:test # unit tests
./gradlew :fabric:26.3:runClient # dev client (Fabric)
./gradlew :neoforge:26.3:runClient # dev client (NeoForge); :neoforge:26.3:runClient2 for a second one
./gradlew :fabric:26.3:runServer # dedicated server
./gradlew :fabric:26.3:runClient --debug-jvm # wait for a debugger on port 5005
| Module | Contents |
|---|---|
physics/ | Pure-Java physics math (mass, launch, flight, bounces, impact). No Minecraft imports; unit tested. |
common/ | Almost all code. Compiles against vanilla only. Public API in api/. |
fabric/ | Fabric entrypoint and Fabric-specific glue. |
neoforge/ | NeoForge entrypoint and NeoForge-specific glue. |
build-logic/ | Shared Gradle conventions. |
Loader-specific calls from common go through platform/Services (Java ServiceLoader).
See CONTRIBUTING.md: short branches off master, atomic Conventional Commits, PRs against master.
Based on MultiLoader-Template.