A Fabric mod for Minecraft 1.21.11 that rescales mobs to closer real-world biological proportions.
| Category | Examples | Scale |
|---|---|---|
| Tiny insects | Silverfish, Endermite | 10 % |
| Small insects | Bee | 18 % |
| Small arthropods | Cave Spider, Spider | 22 – 25 % |
| Small aquatic | Pufferfish, Tadpole | 20 – 40 % |
| Amphibians | Frog | 35 % |
| Small animals | Rabbit, Parrot, Fox, Cat | 60 – 75 % |
| Medium animals | Pig, Sheep, Wolf, Cow | 90 – 95 % |
| Aquatic | Cod, Salmon, Turtle, Squid | 80 – 95 % |
| Slime / Magma Cube | Base size −30 % | 70 % |
| Large / Bosses | Iron Golem, Warden, Ender Dragon | 100 % (unchanged) |
| Monsters | Zombie, Skeleton, Creeper, Enderman… | 100 % (unchanged) |
- SCALE attribute — scales model, hitbox, eye-height and shadow in one shot using Minecraft's built-in attribute system (no render hacks).
- Speed boost for tiny mobs — Spider ×1.2, Bee ×1.15, Silverfish & Endermite ×1.3.
- Higher pitch sounds — Bee, Silverfish, Endermite play at elevated pitch.
- Persistent modifiers — stored in NBT so the modifier is only written once per entity, even across world reloads.
- JSON config — every scale is tuneable via
config/micromobs.json.
| Dependency | Version |
|---|---|
| Java (JDK) | 21+ (or any JDK — toolchain auto-provisions 21) |
| Minecraft | 1.21.11 |
| Fabric Loader | 0.18.4 |
| Fabric API | 0.141.3+1.21.11 |
| Gradle wrapper | 9.2.1 (auto-downloaded) |
| Fabric Loom | 1.15.5 |
From the project root, run:
cd "D:\\Slimeey Studios\\actual size"
Set-ExecutionPolicy -Scope Process Bypass -Force
.\\test-client.ps1 -PrepOnlyThis pre-downloads assets, prepares Loom launch files, and generates IDEA sync data. Then launch the dev client with:
.\\gradlew.bat runClientInstall Java 21 JDK and make sure JAVA_HOME points to it:
$env:JAVA_HOME = "C:\path\to\jdk-21"
java -version # should print 21.x.xThe Gradle wrapper is already included in the repository, so in most cases you can build immediately.
If you ever need to re-download or repair the wrapper locally, run:
cd "D:\\Slimeey Studios\\actual size"
.\setup.ps1.\gradlew.bat buildThe first build downloads Minecraft assets and yarn mappings (~500 MB). Subsequent builds are fast.
The compiled JAR will be at:
build\libs\micromobs-1.0.0.jar
- Install Fabric Loader 0.18.4+ for Minecraft 1.21.11.
- Install Fabric API for 1.21.11.
- Drop
micromobs-1.0.0.jarinto your.minecraft/mods/folder. - Launch Minecraft 1.21.11 with the Fabric profile.
On first launch the config file is written to:
.minecraft/config/micromobs.json
Edit config/micromobs.json while the game is closed:
{
"spiderScale": 0.25,
"caveSpiderScale": 0.22,
"beeScale": 0.18,
"silverfishScale": 0.10,
"endermiteScale": 0.10,
"frogScale": 0.35,
"tadpoleScale": 0.20,
"chickenScale": 0.75,
"rabbitScale": 0.60,
"foxScale": 0.70,
"catScale": 0.70,
"ocelotScale": 0.70,
"parrotScale": 0.65,
"pigScale": 0.90,
"sheepScale": 0.90,
"cowScale": 0.95,
"goatScale": 0.90,
"wolfScale": 0.90,
"pandaScale": 0.95,
"codScale": 0.80,
"salmonScale": 0.90,
"pufferfishScale": 0.40,
"tropicalFishScale": 0.70,
"squidScale": 0.80,
"glowSquidScale": 0.80,
"axolotlScale": 0.50,
"turtleScale": 0.80,
"dolphinScale": 0.95,
"slimeScale": 0.70,
"magmaCubeScale": 0.70,
"enableMovementAdjustments": true,
"enableSoundAdjustments": true
}Set enableMovementAdjustments to false to disable the speed boost for tiny
mobs. Set enableSoundAdjustments to false to keep vanilla sound pitch.
SCALE (added in Minecraft 1.20.5) is the official attribute for
proportional entity scaling. Setting it to 0.25 scales the entire entity —
hitbox, eye-height, shadow, renderer — in one attribute write. No per-tick
code, no render injection required.
addPersistentModifier() saves the modifier in the entity's NBT tag. The
ENTITY_LOAD listener checks whether the modifier is already present before
writing, so the scale is applied exactly once per entity — whether the mob
spawned naturally, from a spawner, via command, or by spawn egg.
These mobs scale their dimensions dynamically based on their "size" tag
(1, 2, 4). Applying SCALE = 0.70 uniformly reduces every size tier
by 30 %, so a large slime becomes 70 % of its vanilla large size, etc.
The mixin injects at the RETURN point of LivingEntity.getSoundPitch() and
multiplies the returned value. All ambient, hurt, and death sounds for the
entity route through this single method, so one injection covers everything.
The injection uses require = 0 — if the method signature ever changes in a
future Yarn build the mixin silently no-ops rather than crashing.
| Symptom | Fix |
|---|---|
Attribute SCALE not found |
Update to Minecraft 1.21.11; SCALE requires >= 1.20.5 |
EntityAttributeModifier.Operation.ADD_VALUE not found |
You are on a pre-1.20.5 mapping; use ADD instead |
| Wrapper JAR missing | Run ./setup.ps1 or regenerate the wrapper locally |
| Sound mixin fails silently | Normal behaviour — require = 0 means an incompatible method signature just disables the pitch injection |
| Mob still vanilla size after installing | The mod requires Fabric API on the mods list; double-check it is present |
.
├── build.gradle
├── gradle.properties
├── settings.gradle
├── gradlew.bat
├── LICENSE
├── README.md
├── gradle/wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── setup.ps1
├── test-client.ps1
└── src/main/
├── java/com/slimeey/micromobs/
│ ├── MicroMobs.java ← mod entrypoint
│ ├── MicroMobsConfig.java ← JSON config loader / saver
│ ├── MobScaleManager.java ← scale table + event registration
│ └── mixin/
│ └── LivingEntitySoundMixin.java ← pitch adjustment
└── resources/
├── fabric.mod.json
├── micromobs.mixins.json
└── pack.mcmeta