BetterModel | Modern BlockBench model engine | Folia supported icon

BetterModel | Modern BlockBench model engine | Folia supported -----

⚡ Custom 3D entity model on servers!




✨ Feats
  • feat: rewrite AnimationGenerator for parallel processing of animation import
  • feat: fully obfuscating resource pack
Fixes
  • fix: initial tick of animation
Chores
Full change log
----------, May 25, 2026

Notices
With the official release of Minecraft 26.1, BetterModel has decided to deploy a major version update to 3.0.0.
As with 2.0.0, there are several Breaking Changes, so please take note when using it.

✨ Feats
Minecraft 26.1.x Support
[​IMG]

From now on, BetterModel supports running on Minecraft 26.1.x Servers.

Mesh Element Support (Experiment)
[​IMG]

We now support client resource pack conversion for Mesh Elements from BlockBench.
It is available on Minecraft clients version 26.1 and above.

Others
  • Support meg-client-mod.
  • A priority property has been added to the AnimationModifier class, allowing you to adjust the application order of animations.
  • perf: minor optimization for some method
  • refactor: remove unused code
Breaking Changes
Java 25 Usage
BetterModel is now built in a Java 25 environment, and therefore the required Java version to run it on a server has also been increased to 25.

Deobfuscation Porting
As obfuscation has been removed from the Minecraft jar starting from 26.1, tooling for mod platforms—which are most affected by mappings—has been changed.

  • bettermodel-fabric: Starting from 3.0.0, this is separated from the mod platform's API, bettermodel-mod-api.
build.gradle.kts
// Use the following dependency when referencing only the API.
// There is no need to use a separate remap configuration such as modCompileOnly.
dependencies {
compileOnly("io.github.toxicity188:bettermodel-mod-api:3.0.0")
}

// Use this when importing all Fabric platform modules to automate test servers, etc.
// There is no need to use a separate remap configuration such as modApi.
dependencies {
api("io.github.toxicity188:bettermodel-fabric:3.0.0")
}

Deprecation of 1.21.3 Support
To keep the project lightweight, support for versions 1.21.3 and below will be discontinued. Therefore, operation is only guaranteed on servers and clients version 1.21.4 or higher.

Fixes
  • fix: swap unsupported char to hashcode
  • fix: unnecessary decimal value (#299)
  • fix: global rot (#325)
  • fix: close limb when reloading
Chores
  • chore: update cloud
  • chore: update Purpur api
  • chore: com.vdurmont:semver4j -> org.semver4j:semver4j
  • fix(deps): update dependency com.nexomc:nexo to v1.21.0
  • chore(deps): update gradle to v9.4.1
  • fix(deps): update dependency com.gradleup.shadow:com.gradleup.shadow.gradle.plugin to v9.4.1
  • fix(deps): update dependency org.jetbrains.dokka:dokka-gradle-plugin to v2.2.0
  • fix(deps): update kotlin monorepo to v2.3.20
  • fix(deps): update dependency net.fabricmc:fabric-language-kotlin to v1.13.10+kotlin.2.3.20
  • fix(deps): update dependency net.fabricmc:fabric-loader to v0.19.1
  • fix(deps): update dependency com.modrinth.minotaur:com.modrinth.minotaur.gradle.plugin to v2.9.0
  • fix(deps): update dependency org.projectlombok:lombok to v1.18.44
  • fix(deps): update dependency net.skinsrestorer:skinsrestorer-api to v15.12.0
  • chore: update net.citizensnpcs:citizens-main to 2.0.42-SNAPSHOT
  • chore: update polymer-resource-pack to 0.16.2+26.1.1
  • fix(deps): update dependency com.google.guava:guava to v33.6.0-jre
  • fix(deps): update dependency net.kyori:adventure-platform-fabric to v6.9.0
Full change log
----------, Apr 15, 2026

✨ Feats
  • optimize most of runtime calculation
  • improved body rotator
  • API Tracker#listenHitBox for handle each tracker's hitbox individually
  • new example model: blue_wizard.bbmodel
  • glow_ tag for enable light emission both of group and cube (#284)
Code (Java):
tracker. listenHitBox (HitBoxInteractEvent. class, event -> {
   HitBox hitBox = event. getHitBox ( ) ;
    // Do something with hitbox
} ) ;
Fixes
  • ik rig
  • non hide player filtering
Chores
  • fix(deps): update dependency org.bstats:bstats-bukkit to v3.2.1
Full change log
----------, Feb 26, 2026

Fixes
  • player animation in NPC
  • Fabric event bus
Chores
  • chore: update kotlin to v2.3.10
  • chore: update fabric api to v0.141.3+1.21.11
  • chore: update MythicMobs to v5.11.2
  • chore: update fabric-language-kotlin to v1.13.9+kotlin.2.3.10
  • chore: update polymer-resource-pack to v0.15.2+1.21.11
Full change log
----------, Feb 11, 2026

Notices
Starting with this version, BetterModel is officially designated as v2.0.0.
Please be aware that this update introduces several Breaking Changes.

✨ Feats
Fabric platform port
BetterModel now supports the Fabric platform as a server-side mod.

  • Supported: Dedicated Server, Integrated Server (Singleplayer)
  • Unsupported: Hybrid servers (e.g., Arclight, Mohist)
Keyframe optimization
AnimationMovement has been deprecated and replaced by the highly optimized AnimationKeyframe.
This change introduces a more efficient data access structure, significantly improving animation processing performance.

ModelAssetsEvent
The new ModelAssetsEvent allows you to inject BlockBench models from external resources directly into the BetterModel reload pipeline.
This enables seamless integration of custom assets within the engine's internal build process.

Others
  • feat: optimize IK solver
Breaking Changes
Publishing & Dependencies
The legacy io.github.toxicity188:bettermodel package is no longer published.

Starting with v2.0.0, the project is split into the following modules:

  • bettermodel-api: Common API module.
  • bettermodel-core: Internal core module (Internal use only).
  • bettermodel-bukkit-api: API for Bukkit-based environments (Spigot, Paper, etc.).
  • bettermodel-fabric: Server-side mod implementation for Fabric.
Please refer to README.md for detailed build script instructions.

Gradle (Kotlin)
Release
repositories {
mavenCentral()
maven(" https://maven.blamejared.com/") // For transitive dependency in bettermodel-fabric
maven(" https://maven.nucleoid.xyz/") // For transitive dependency in bettermodel-fabric
}

dependencies {
compileOnly("io.github.toxicity188:bettermodel-bukkit-api:VERSION") // bukkit(spigot, paper, etc) api
//modApi("io.github.toxicity188:bettermodel-fabric:VERSION") // mod(fabric)
}

Snapshot
repositories {
maven(" https://maven.pkg.github.com/toxicity188/BetterModel") {
credentials {
username = YOUR_GITHUB_USERNAME
password = YOUR_GITHUB_TOKEN
}
}
maven(" https://maven.blamejared.com/") // For transitive dependency in bettermodel-fabric
maven(" https://maven.nucleoid.xyz/") // For transitive dependency in bettermodel-fabric
}

dependencies {
compileOnly("io.github.toxicity188:bettermodel-bukkit-api:VERSION-SNAPSHOT") // bukkit(spigot, paper, etc) api
//modApi("io.github.toxicity188:bettermodel-fabric:VERSION-SNAPSHOT") // mod(fabric)
}

API & Event System
  • Platform Adapters: You must now use the appropriate adapter for your platform (e.g., BukkitAdapter, FabricAdapter).
  • Event Bus: BetterModelEventBus (accessible via BetterModel#eventBus) has been introduced.
  • New Entrypoints: Dedicated entrypoints for each platform have been introduced to provide platform-specific functionalities:
    • BetterModelBukkit: Use BetterModelBukkit#platform() to access Bukkit-specific APIs.
    • BetterModelFabric: Use BetterModelFabric#platform() to access Fabric-specific APIs.
Adapter API Usage (Bukkit)
EntityTracker tracker = BetterModel.model("demon_knight")
.map(r -> r.create(BukkitAdapter.adapt(entity), TrackerModifier.DEFAULT, t -> t.update(TrackerUpdateAction.tint(0x0026FF))))
.orElse(null);

Event API Usage (Bukkit)
import org.bukkit.plugin.java.JavaPlugin;
import kr.toxicity.model.api.bukkit.BetterModelBukkit;
import kr.toxicity.model.api.data.ModelAsset;
import kr.toxicity.model.api.data.renderer.ModelRenderer;
import kr.toxicity.model.api.event.ModelAssetsEvent;

import java.util.*;

public class YourPlugin extends JavaPlugin {
@Override
public void onEnable() {
BetterModelBukkit.platform().eventBus().subscribe(this, ModelAssetsEvent.class, event -> {
if (event.type() == ModelRenderer.Type.PLAYER) event.addAsset(ModelAsset.of(
"knight",
() -> Objects.requireNonNull(getResource("knight.bbmodel"))
));
});
}
}

Bukkit-specific Event Support
While the core Event API is now platform-agnostic, you can still utilize Bukkit's Event API via BetterModelBukkitEvent.
This ensures seamless integration with the existing Bukkit event lifecycle, which is particularly useful for tools like Skript or other plugins that rely on Bukkit-native events.

Event handling with Bukkit (Skript)
import:
kr.toxicity.model.api.bukkit.event.BetterModelBukkitEvent
kr.toxicity.model.api.event.CreateEntityTrackerEvent

on BetterModelBukkitEvent:
set {_original} to event.as(CreateEntityTrackerEvent.class)
{_original} is set

broadcast {_original}.tracker().name()

Bukkit Compatibility
To optimize the project, support for the following versions (which showed low usage) has been removed:

  • 1.20.5 ~ 1.20.6
  • 1.21.2 ~ 1.21.3
Chores
  • chore(deps): update gradle to v9.3.1
  • fix(deps): update dependency com.nexomc:nexo to v1.18.0
  • chore(deps): update plugin com.vanniktech.maven.publish to v0.36.0
  • chore: update dependency io.github.toxicity188:armormodel to v1.0.2
Full change log
----------, Jan 31, 2026

Feat
  • feat: add frame time and frame interpolate in texture
Fix
  • fix: skin cache expiration
  • fix: disable EntitiesLoadEvent listener (#239)
  • fix: equality check with v6 authlib (#238)
  • fix: optimize memory allocation
  • fix: invalid type inference of compiler (#245)
  • fix: empty data save
⚡ Refactor
  • refactor: simplify and rename some code
  • refactor: clear unnecessary hitbox code
Chores
  • chore: update license to 2026
  • fix(deps): update dependency net.skinsrestorer:skinsrestorer-api to v15.9.2
  • fix(deps): update dependency com.nexomc:nexo to v1.17.0
  • fix(deps): update dependency com.gradleup.shadow:com.gradleup.shadow.gradle.plugin to v9.3.1
Full change log
----------, Jan 7, 2026

Feat
  • feat: per-player animation in MythicMobs state mechanic
  • feat: TrackerUpdateAction#perBone
  • feat: optimize memory usage
Fix
  • fix: model disappearance when plugin is reloaded
  • fix: mount controller strafing
  • fix: Kotlin 2.3.0 compatibility
⚡ Refactor
  • refactor: ModelManagerImpl.kt
Chores
  • chore: update Kotlin to 2.3.0
  • chore: update citizens-main to 2.0.41-SNAPSHOT
  • chore: update cloud-paper to 2.0.0-beta.14
  • fix(deps): update dependency net.kyori:adventure-api to v4.26.1
  • fix(deps): update dependency com.nexomc:nexo to v1.16.1
Full change log
----------, Dec 26, 2025

Notice
Due to Mojang’s new version numbering system (e.g., 1.21.x → 26.x), the next BetterModel feature release will begin at 2.0.0 to avoid confusion with Minecraft versions.
This also marks the completion of the BetterModel 1.x series, as its core APIs and features have now reached a stable, finalized state.

Several technical questions are expected to emerge in the near future, and they may influence the evolution of BetterModel 2.0.0:

Feat
[​IMG]

Code (Java):
// ModelProfile#of
// Can be offline player, uuid
BetterModel. model ( "model" ). ifPresent (model -> model. create (location, ModelProfile. of (player ) ) ) ;
  • CommandAPI is no longer used. Now cloud is used to implement commands.
  • parallel json build
  • optimized IK
  • optimized texture load
  • BonePredicate builder
Code (Java):
//Or chain
BonePredicate. name ( "hitbox" )
   . or (BonePredicate. tag (BoneTags. HITBOX ) )
   . or (b -> b. getGroup ( ). getMountController ( ). canMount ( ) )
   . notSet ( ) ;

//Apply with children
BonePredicate. tag (BoneTags. HEAD_WITH_CHILDREN ). withChildren ( ) ;
  • added 'loop_type' to '/bm limb' command
  • added 'scaling' to 'bm disguise' command
⚡ Refactor
  • ModelChildren -> ModelOutliner
  • BaseEntity
  • Float3 and Float4
  • ModelBlueprint
Fix
  • Tracker#hide on init
  • resource pack load error
  • Citizens trait
  • UV issue regarding right forearm
Chores
  • fix(deps): update dependency io.lumine:mythic-dist to v5.11.1
  • fix(deps): update dependency com.gradleup.shadow:com.gradleup.shadow.gradle.plugin to v9.3.0
Full change log
----------, Dec 24, 2025

Feat
  • more accurate ik rig
  • support client skin customisation for player limb (cape)
Fix
  • RenderedBone#worldPosition ('ModelPart' MythicMobs targeter)
  • 'camera' element type
  • 'bm test' command in Spigot platform
  • step interpolation
  • bezier interpolation
Full change log
----------, Nov 17, 2025

Feat
IK rig (experimental)
[​IMG]
[​IMG]

Now BetterModel supports IK rig. (locator, null object)

Rotation in global space
[​IMG]

Now animator option 'rotation in global space' is available.

Other features
  • 'brightness' script
  • namespace in MythicMobs script (bm)
Fix
  • default leather armor color
  • animation placeholder
  • exception handling in missing textures
  • stability with SkinsRestorer
Full change log
----------, Nov 10, 2025

⚡ BetterModel 1.14.0
Notice
This update introduces significant API changes to the entity adapter.
Please verify the compatibility of all plugins that depend on BetterModel.

Feat
Armor in player model (experimental)
[​IMG]

The player model now supports vanilla armor.
Armor textures can be customized in the BetterModel/armors directory.

Global texture (global_)
[​IMG]

Any texture prefixed with global_ is recognized as a global texture.
These textures have no namespace and can be shared between multiple models, avoiding duplicate texture creation.

Other features
  • remove image process
  • 'loop_mode' argument in /npc animate
Fix
  • move duration
  • parsing bone tag
  • NoSuchElementException in ModelAnimation
Chores
  • deps: update dependency com.github.ben-manes.caffeine:caffeine to v3.2.3
  • deps: update dependency io.github.toxicity188:dynamicuv to v1.1.0
  • deps: update gradle to v9.2.0
Full change log
----------, Nov 2, 2025

BetterModel 1.13.4
Feat
  • cape support in player limb (bone tag 'cape_')
  • 'enable-strict-loading' config
  • Kotlin 2.2.21
Fix
  • UV size
  • 'shadow' bone tag
  • exception in animation script
  • position convert in BlockBench 5.0
  • 'false' texture loading error
  • filter dummy data in model file
  • animation sync of each model part
Full change log
----------, Oct 25, 2025

BetterModel 1.13.3
Notice
This is a version for avoid confusion with BlockBench 5

Feat
  • initial BlockBench 5 support
  • remove blueprint reference from renderer for gc
  • reuse IO buffer
Fix
  • Tracker#show
  • animation replacement (MythicMobs mechanic 'defaultstate')
Full change log
----------, Oct 13, 2025

BetterModel 1.13.2
Notice
  • This is a hotfix of 1.13.1
Feat
  • support obfuscation in player limb
Fix
  • properly supporting minecraft 1.21.10
  • plugin loading issue with some legacy Paper version
  • some model's loading issue
  • invalid hitbox bounding box
Full change log
----------, Oct 8, 2025

BetterModel 1.13.1
Feat
  • official 1.21.10 support
  • use paper-plugin.yml in Paper platform
  • make CommandAPI as runtime
  • 'pairmodel' mechanics (experimental)
  • 'use-obfuscation' config option
[​IMG]

Fix
  • ignore group name's case
  • add minimum keyframe time
Full change log
----------, Oct 7, 2025

BetterModel 1.13.0
Add
  • 1.21.9 support
  • component logging
Change
  • optimize state handler
Fix
  • animation script
  • 'hold on last' animation type
  • model resolution
  • step interpolation
  • exception handling on tick
Full change log
----------, Oct 1, 2025

BetterModel 1.12.1
Notice
This is a simple bug fix version for preparing 1.21.9 update.

Add
  • More comfortable help command (/bm)
  • API update related to 1.21.9
Fix
  • Citizens trait
  • NPE in animation script
  • Boot issue with some version like 1.21.3
Full change log
----------, Sep 17, 2025

BetterModel 1.12.0
Add
  • billboard MythicMobs mechanic
  • 5 of animation script
  • TrackerUpdateAction#composite
  • ModelEngine blueprints migration
changepart
partvis
enchant
remap
tint

Change
  • Kotlin 2.2.20
Fix
  • SkinsRestorer compatibility
  • mount hitbox cache
  • hitbox exception
  • minor keyframe optimization
Full change log
----------, Sep 12, 2025

BetterModel 1.11.4
Add
  • refresh plugin jar
  • use caffeine
  • add hide argument in /bm play (#134)
  • lerp-frame-time 5 -> 3
  • zip hash
  • Auto-merge with Nexo
Fix
  • animation interpolation
  • plugin lifecycle
Full change log
----------, Sep 4, 2025

BetterModel 1.11.3
Notice
  • It will be helpful to check 'template texture' docs to ignore resource pack generation.
  • There are some deprecated API in ModelManager and PlayerManager.
Add
  • allow textures in BetterModel/players with template texture
  • add player/monster nametag (ptag_, mtag_)
  • ModelRenderer API
  • more BetterModel API
  • improved reload speed
Code (Text):
BetterModel.modelOrNull("name"); //Gets nullable model renderer
BetterModel.model("name"); //Gets optional model renderer
Fix
  • avoid classloader conflict of Adventure in Paper
  • tracker remove refreshment
  • minor optimized memory cost
  • animation script
Full change log
----------, Aug 30, 2025

BetterModel 1.11.2
Add
  • Improved reload performance
  • Reload indicator bar
Change
  • Kotlin 2.2.10
  • player's left/right item bone tag (pli, pri) -> entity's left/right item bone tag (li, ri)
  • ModelRenderer#create(Location, Player) -> ModelRenderer#create(Location, OfflinePlayer)
Fix
  • MythicMobs mechanics
  • Keyframe generation
  • Interpolation duration
  • Hiding player's armor when disguised
Full change log
----------, Aug 19, 2025

BetterModel 1.11.1
Notice
Now API repository is moved.

Release
Code (Kotlin):
repositories {
   mavenCentral ( )
}

dependencies {
   compileOnly ( "io.github.toxicity188:bettermodel:VERSION" )
}
Snapshot
Code (Kotlin):
repositories {
   maven ( "https://maven.pkg.github.com/toxicity188/BetterModel" )
}

dependencies {
   compileOnly ( "io.github.toxicity188:bettermodel:VERSION-SNAPSHOT" )
}
Add
Fix
  • math animation interpolation
  • ModelRenderer#create(Entity, GameProfile, boolean)
  • player nametag
Full change log
----------, Aug 12, 2025

BetterModel 1.11.0
Add
Fix
Full change log

[​IMG]
----------, Aug 6, 2025

BetterModel 1.11.0
Add
Fix
Full change log
[​IMG]
----------, Aug 6, 2025

BetterModel 1.10.3
Add
  • initial molang support
  • expose id and uuid of item-display
Fix
  • equipment in the left hand
  • animation signal
  • packet bundler
Full change log
----------, Aug 3, 2025

BetterModel 1.10.2
Fix
  • optimize animation interpolation and keyframe
  • an attribute packet about hitbox
  • Folia compatibility
  • death animation
Full change log
----------, Jul 30, 2025

BetterModel 1.10.1
Notice
Now support about 1.20.4 is dropped.

Add
  • passengers API in EntityTrackerRegistry
Fix
  • entity body and head rotation
  • MythicMobs mechanics
  • hitbox rendering
  • inventory handling
Full change log
----------, Jul 24, 2025

BetterModel 1.10.0
Add
  • new entity rotation API
  • 'bodyrotation' MythicMobs mechanic
Fix
  • handle equipment change of player
  • entity invisibility
  • traffic optimization
  • animation accuracy
  • parallel animation packet bundling
Full change log
----------, Jul 20, 2025

BetterModel 1.9.3
Add
  • 1.21.8 server support
  • New API for updating tracker (Tracker#update)
Fix
  • entity yaw/pitch sync
  • data packet synchronization
  • improved animation accuracy
Full change log
----------, Jul 18, 2025

BetterModel 1.9.2
Notice
It may be simple but huge update for optimization and animation quality.

Fix
  • registry creation when spawning
  • model spawn issue with teleport
  • entity tracker registry optimization
  • large traffic optimization
  • implements more accurate animation
Full change log
----------, Jul 16, 2025

BetterModel 1.9.1
Notice
This is a hotfix about version 1.9.0.

Add
  • API Tracker#billboard
Fix
  • item model usage in 1.21.2-1.21.3
  • unnecessary condition check
  • entity data serialization
  • hide option resetting
  • equipment hiding
  • entity spawning issue when quit and rejoin
----------, Jul 13, 2025

BetterModel 1.9.0
Add
  • API BetterModelConfig
  • API EntityHideOption
  • new pack API and more detailed resource pack generation
Code (YAML):
pack:
  generate-modern-model
: true
  generate-legacy-model
: true
Fix
  • minor packet optimization
  • entity despawn handling
  • animation script
  • equipment packet
Full change log
----------, Jul 11, 2025

BetterModel 1.8.1
Notice
This is a simple hotfix for optimization and compatibility.

Fix
  • huge packet traffic optimization
  • optimize packet handler with my external plugin (BetterHealthBar, BetterDamage)
  • compatibility with Folia
  • 'lockmodel' mechanic
----------, Jul 5, 2025

BetterModel 1.8.0
Add
  • Minecraft 1.21.7 server support
  • Write more Javadocs
  • Thread lifecycle based on viewed player
  • Entity id tracking
  • More accurate spawn handling
  • Refactor and optimize some API
  • Head rotation delay
Fix
  • 'smooth interpolation' with low keyframe animation
  • Unnecessary tick thread task allocation
  • Animation with only a single keyframe.
  • MythicMobs mechanic
  • Packet handling issue with 1.20.4
Full change log
----------, Jul 2, 2025

BetterModel 1.7.0
Notice
  • This update has HUGE API change and refactor, You should check all of your system related to BetterModel.
Add
  • 1.21.6 server support
  • HUGE API refactor, change and update.
  • entity model data serialization
  • bezier, step interpolation
  • optimize bone item build
  • tint for player animation
  • offline-mode skin loading
  • support multiple models per one entity
  • minor optimization
  • prevent sending an empty packet
  • new player animation example (roll)
Full change log
----------, Jun 23, 2025

BetterModel 1.6.1
Fix
  • Optimized vector calculation
  • Head rotation tag (h, hi)
  • Hitbox size and position
  • Entity scale attribute
  • Player animation model size
  • Animation frame quality
Change
  • Simplify resource pack generation
  • MythicMobs 5.9.0 compatibility (bindhitbox)
Add
  • Skin event API
Full change log
----------, Jun 1, 2025

BetterModel 1.6.0
Feat
  • Tracker#hide and Tracker#show API
  • TrackerModifier#hideOption
  • Now player animation is compatible with Shaderspack (requires 1.21.4 or upper client and server)
Fix
  • Fix hit-box collision and interaction with 1.21.5
  • Tinted item cache
Full change log

[​IMG]
----------, May 18, 2025

BetterModel 1.5.5
Notice
  • Support about 1.20.2 is dropped.
Fix
  • tracker view filter
  • legacy version support of player animation
  • improved animation key frame
  • hit-box despawn
  • call PlayerInteractAtEntityEvent of base entity
  • optimize resource pack
  • improved command
  • improved resource pack speed, size, and logging
  • legacy version test
Add
  • HMCCosmetics backpack support (bone tag: hmc_bp)
  • Default model for test and learn (demon_knight.bbmodel)
Full change log
----------, May 12, 2025

BetterModel 1.5.4
Notice
this is a hotfix of 1.5.3.

Fix
  • optimize packet listener and packet data update
  • checking entity dead
  • fix, clean and optimize animation logic
Full change log
----------, May 7, 2025

BetterModel 1.5.3
Fix
  • Bukkit hitbox event
  • update checker
  • optimize packet listener
Add
  • multi tag support
  • new player limb tag and API
Code (Text):
head (ph)
right arm (pra)
right forearm (prfa)
left arm (pla)
left forearm (plfa)
hip (phip)
waist (pw)
chest (pc)
right leg (prl)
right foreleg (prfl)
left leg (pll)
left foreleg (plfl)
left item (pli)
right item (pri)
Full change log
----------, May 5, 2025

BetterModel 1.5.2
Add
  • 'bindhitbox' mechanic
  • 'mountmodel' mechanic
  • 'dismountmodel' mechanic
  • 'dismountallmodel' mechanic
  • use interaction entity
  • 'override' property in animation
  • 'loop mode' property in animation
  • 'smooth' interpolation
Fix
  • make hitbox listener entity to bukkit entity.
  • optimize animation update
Full change log
----------, Apr 27, 2025

BetterModel 1.5.1
Notice
  • This version is a hotfix of BetterModel 1.5.
Add
  • config 'version-check'
Fix
  • Spigot support
  • loading issue with legacy server
  • incorrect world handling
Change
  • The default pack builder is now 'zip'
Full change log
----------, Apr 19, 2025

BetterModel 1.5
Add
  • 'glow' and 'enchant' mechanic
  • update checker
  • more API
Fix
  • entity scale sync
  • entity shadow
  • some compatibility issues with MythicMobs
  • some platform support
Full change log
----------, Apr 17, 2025

BetterModel 1.4.3
Add
  • 1.21.5 client, server support
  • Support Purpur AFK
  • World position API
  • More optimization
Fix
  • More smooth animation
  • Fake player like Citizens
  • Hit box
  • Animated texture
  • World change
Full change log
----------, Apr 7, 2025

BetterModel 1.4.2
Fix
  • Fix interpolation
  • Fix tick frame
  • Fix entity scale attribute
  • Fix hitbox logic to match Minecraft vanilla
  • Implement more accurate movement and animation
  • Hide player head in first person camera
Add
  • Add 'module' config
  • Support 'smooth' interpolation
  • Add 'damage-effect(de)' parameter in model mechanic(boolean)
[​IMG]
[​IMG]
----------, Mar 17, 2025

BetterModel 1.4.1
Fix
  • Improve sight trace
  • Improve command
  • Improve walk speed calculation
  • Force resources name to lower case
  • Fix Minecraft <=1.21.3 resource
  • Fix entity remove/hide
Add
  • Add animation script
  • Add .mcmeta animation
  • Add 'follow-mob-invisibility' option
----------, Feb 7, 2025

BetterModel 1.4
Add
  • Add texture path validator
  • Add @ModelPart targeter (MythicMobs)
  • Add changepart mechanic (MythicMobs)
  • Add debug config
  • Free cube rotation (>=1.21.4)
  • Kotlin 2.1.10
  • Sync invisibility and glowing to tracker entity
[​IMG]
[​IMG]
----------, Jan 31, 2025

BetterModel 1.3.3
Fix
  • Fix texture rendering issue.
  • Fix hitbox removing.
  • Adds help command description.
----------, Jan 20, 2025

BetterModel 1.3.2
Fix
  • Fix scale calculation
  • Fix player limb
  • Expand sight degree
Add
  • Add 'disable-generating-legacy-models' config
  • Add more API
----------, Jan 9, 2025

  • Fix channel handling.
  • Fix spawn position.
----------, Jan 3, 2025

  • Code refactoring
  • Citizens support (/npc model) (experimental)
  • Bug fix
  • Add configuration
Code (YAML):
namespace : bettermodel
pack-type
: folder #folder, zip
build-folder-location
: BetterModel/build
----------, Dec 29, 2024

  • Bug fix
  • Support 1.19.4~1.21.4
  • 4~5x faster reload
----------, Dec 28, 2024

Resource Information
Author:
----------
Total Downloads: 5,508
First Release: Dec 28, 2024
Last Update: May 25, 2026
Category: ---------------
All-Time Rating:
29 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings