Links
Tags
Creators
Details
1.2.0
Compatibility
Changes
BetterMob 1.2.0
Big feature update: mob phases, WorldGuard support, independent spawns, model effects and a sorted developer API with many new events, plus another round of Folia stability fixes.
β¨ New
Mob phases
- New
Phaseslist: swapDisplay,Model,Options,EquipmentandSkillsby health (<70%,<=30%,<40) ~onPhaseruns once when a phase starts; timers and move tasks restart with the active phase- Phase state survives chunk loads and
/bettermob reload /bettermob infoshows the phases,/bettermob validatechecks them
WorldGuard support (optional)
- Condition
region{r=spawn,arena} RegionsandNotRegionsin a mob'sSpawnblock- Region flag
bettermob-spawn:denystops natural spawn replacements and spawners in that region
Spawning
Spawn.Action: ADD: independent land spawns around survival and adventure players, withCooldownandMaxNearby- Debug chat shows the ADD spawn results, including skipped attempts
Model effects
- Mechanics:
tint,glowbone,partvis,meg:setitemmodel,lockmodel,modifystate,defaultstate animationas an alias ofstate@ModelPassengers,@mountedmodelandridingmodelalso find riders that the model plugin seated itself
More mechanics
- Movement:
teleportto,teleporty,pull,propel,dismount - Chat and players:
jsonmessage,speak,onchat,blackscreen,potionclear - Items:
setitemnbt,setlore,consumeslot - World and effects:
effect:firework,effect:blockmask,setchunkforceloaded,displaytransformation,raytraceto,settargetscore - Particles with data: block, item, dust and color particles take their data from the line
- MCPets skill lines are accepted and do nothing, with one info line in the console
Conditions and skills
- Combine conditions in brackets with
||and&&, also nested ?~conditiontests the trigger instead of the caster- New:
owner,mythicmobtype(mobtype),boundingboxesoverlap <placeholder>values work in condition parameters and targeter parameters- Call a skill by its name:
my_skill @target ~onTimer:100
Item triggers
~onSwing,~onPressF,~onPickup,~onDrop,~onEquip
Tools and config
/bettermob stats top [n]: slowest skills and mechanics- Update notice in the console and for players with
bettermob.admin(UpdateCheck: falseturns it off) BStats: falseturns bStats off for BetterMob
π©π» For developers
- Sorted API packages:
api.customandapi.event.mob,.skill,.item,.spawner,.system - Many new events for load, despawn, kill, combat, health, phase, signal, group alert, drop, triggrs and reloads (API events)
dev-SNAPSHOTon JitPack and the rollingdev-buildjar for testing against unreleased API changes
π Fixes
- ADD spawns no longer land on the Nether bedrock roof
- Boss bar
<mob.name>uses theDisplayof the active phase - Tab completion only suggests options that start with the typed text
/bettermob giveandeggare capped at 64 at once- Mob health is capped to the server's max health limit
- Unknown mechanics warn once per name instead of filling the console
onchatprompts no longer run on the async chat thread on Paper- Overlapping stuns keep the original AI and gravity state until the last one ends
- Event auras also fire on players and other non-BetterMob entities
~onEquipruns after the hotbar slot has switched<target.name>incommandno longer becomes the caster's name when there is no trigger- Spawners no longer load chunks synchronously when picking a spawn point
- Many smaller fixes from a full code audit (skills, mobs, spawners, validation)
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:Ub5HeGCV:cDSgz36O"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Ub5HeGCV:cDSgz36O"
}

