What's new
Model Engine—Ultimate Entity Model Manager [1.19.4 - 1.21.4]

Model Engine—Ultimate Entity Model Manager [1.19.4 - 1.21.4] R4.0.8

Bug Fix:
- Fixed hitboxes not applied on persistent models
- Fixed death animation not playing when no other animations are playing while dying
- Fixed OBB not working on 1.20.5+
- Fixed entity interaction range using BlockInteractionRange instead of EntityInteractionRange
- Fixed `interactmount` attribute of `mountmodel` mechanic not used
- Fixed models saving multiple times on disable, causing insanely long shutdown time
- Fixed plugin sending empty bundle packets
- Fixed client-side model jitter (as well as possible)
- Fixed plugin not loading on Java 17
- Fixed resource pack warnings on old versions
- Fixed incorrect leash position on 1.21+ (thanks Mojang)
- Fixed leash position lagging behind models
- Fixed potion effects on players not removed when expired
- Fixed players suddenly start jittering and teleporting around
- Fixed discontinuous frames not parsed correctly
- Fixed velocity changes not applied to disguised players
- Fixed model rotation not updated when no players are in range

Changes:
- Nametags are now Text Displays
- Model updaters now use a different system, allowing better load balancing and more stable ticking
- `model` mechanic defaults `step` to null, which uses the mobs' original step height
- Expanded `syncyaw` mechanic to sync between any yaw type (`yaw`, `body` and `head`)

New Features:
- 1.21.3 & 1.21.4 support
- Cubes no longer have angle limit. For <=1.21.3, additional bones would be spawned. >=1.21.4 will not add more entities
- Semi-legal cubes now auto fixes itself (such as 67.5 and 90 degree cubes)
- Support for MM ModelEngine bullet
- Added Multi-base-item generation
- AnimateModel Mechanic, allows controlling bone transform through skills
- Added position root motion, allows animating mob movement through model animations
- Added `child` attribute to `brightness`, `enchant`, `glow`, `partvis`, and `tint` mechanics
- Improved custom model parsing API
- Improved custom bone behavior parsing API
- Added `skipLastFrame` attribute to state mechanic
- Textures with names containing illegal characters would now fix itself by generating a UUID as the name
- Animation LOD system. Models will send less update to viewers further away from them
New Features:
- 1.20.5+ support
- Model mechanic now allows 0 render radius if the value is set to negative
- Segment & Tail bone
- [MM] Segment mechanic which allows finer control of the behavior of the segment/tail bone
- [MM] Updated slot system to 5.7
- Mounting on models will now accurately display health
- [MM] Placeholder for getting body rotation

Changes:
- Optimized culling hitbox generation

Bug Fixes:
- Fixed effects not being removed when undisguised
- Fixed OBB not detecting interactions inside OBB
- Fixed memory leak on entity data not being removed
- Fixed dummy detecting players when location is null
- Fixed plugin just breaks entirely when one model throws an error (now it still throws an error but meg will kindly ignore it and keep running)
- Fixed entity data being updated while animations are still being calculated
- [MM] Fixed Model.Id not lowercasing values
- Fixed playerQueue NPE
New Features:
- Load balancer on Culling and Animation calculations
- Added model glow support [Issue 92]
- Added model brightness support [Issue 91]
- Added `Create-MC-META` config [Details]
- Added primitive Step keyframe handling
- Scale 0 bones would no longer send packets [Issue 73]
- Added Priority Selector in animation menu for models using state-machine animation handler
- [MM] SyncYaw mechanic can now target to sync `yaw`, `body`, and `head`
- [MM] Allow using generic items and specifying data, color, and enchant on setItemModel mechanic [Issue 88]
- [MM] Added glow mechanic [Issue 92]
- [MM] Added brightness mechanic [Issue 91]

Bug Fixes:
- Fixed multiple infinity position errors
- Fixed multiple concurrent modification errors
- Updated mount mechanic to use the latest MM API version
- Fixed state machine not removing animations when they are lerping out
- Fixed animations sometimes not stopped
- Fixed animations chugging due to culling lag
- Fixed model invisible if removed and added immediately
- Fixed player model shader
- Fixed animation not imported as lowercase
- Fixed error when .data folder is missing while the server is already running
- Fixed animation interpolated incorrectly
- Fixed animation not playing correctly if rapidly added and removed (affects disguises more)
- Fixed super hyper SSR 6* rare case of entity being invalid when first spawned [Issue 44]
- Fixed Citizens saving
- Fixed player being invisible when rejoining server after disguise in the same server session (server has not restarted) [Issue 103]
- Fixed potion effects not applied to disguised players [Issue 104]
- Fixed compatibility enabling when the depended plugin has disabled itself
- Fixed whitespaces in model saved data would cause loading error
- Fixed WorldGuard `getName()` NPE (because WorldGuard just can't be bothered to fix it, and IT'S NOT MY FAULT THEY USED NULLABLE METHODS WITHOUT NULL CHECKS)
- [MM] Fixed ModelPart targeter using the wrong scale to scale the location
- [MM] Fixed MM mechanics not recognized if using namespace and mechanic alias (e.g. meg:ModelSkin)
Bug Fixes:
- Fixed mount bone position not always initialized (cause teleport to 0 0 0)
- Fixed memory leak with subhitbox not unregistering
- Fixed citizens command not working on entities until modified by /meg menu
- Fixed VFX NPE when not initialized
- Fixed models ignore culling on initial spawn
- Fixed Paper method name changing `isOpaque` to `canOcclude`
- Fixed 1.20+ model not loading
- Fixed subthitbox silverfish error spam
- Possibly fixed meg menu locking players from typing until server restart
New Features:
- Citizens support
- Model configuration menu (/meg menu)
- Dynamic render/hitbox scaling
- Extra summon and disguise command arguments
- Import models directly from Mythic packs
- MEG 3 data converter. Works on entities and citizens
- [MM] `syncbody` attribute on `model` and `vfx` mechanic. Used to set the body rotation to the yaw of the entity. `true` by default [Issue 56]
- [MM] `scale` mechanic
- 1.20.4 support

Bug Fixes:
- Fixed Blockbench format v4.9 not loading textures correctly
- Fixed mount and hitbox bones not despawning all entities [Issue 43]
- Fixed crash related to threads [Issue 51]
- Fixed models getting stuck when added after the first tick [Issue 59]
- Fixed models persisting when the modeled entity is set to not saved
- Fixed visibility not updating when bones are not moving
- Fixed cache file not read on /meg reload [Issue 63]
Bug fixes:
- Removed debug messages when right clicking with diamond
- Fixed model being invisible because render radius default to 0
- [MM] Fixed mount controller being case sensitive
- Fixed bones drifting for some behaviors (nametag, leash etc)
- [API] Fixed FINISHED phase not called
- Fixed models floating a bit on 1.20.2
- Possible fix for server crashing (Issue - 16)
- [API] Fixed driver cannot dismount when mounted model is not main model
- Fixed client disconnect when interacting with model where base entity is not interactable (such as arrow)
- [MM] Fixed ModelPart targeter hard requiring model ID

Changes:
- Resource pack now use MEG4 icon

New features:
- Config option for generating shader files
- Allow mounting to driver bones of different models
- Hitbox and Shadow visibility
- [API] Auto main mount manager assignment
- [MM] Meta Controllers, check MountModel to see how to use it
- [MM] Movement controller mechanics
- [MM] PartVisibility can now specify to affect all child bones
- [MM] Added save attribute to model mechanic
- [MM] State mechanic now has options to force loop mode or override
- [MM] Added ModState mechanic to change attributes of a state (leprin, lerpout, speed, force loop mode, force override)
- [Experimental] Packet batching. Off by default. Turn it on in config (set Network-Optimization.Bundle-Everything to true)
- [API] BaseEntityInteractEvent
  • Like
Reactions: VommisUWU
(This is a merged update with R4.0.1)

Bug Fixes:
- Fixed MEG4 reading model data from MEG3 (Issue #7)
- Fixed UnsupportedOperationError (Issue #9)
- Fixed drifty mounting (Issue #11)
- Fixed model loading as leather horse armor
- Fixed model floating in 1.20.2
- Fixed leftover "test" message when right-clicking with diamond (lol)
- [API] Fixed model render distance set to 0 when applied in consumer

New API:
- Methods for creating PriorityHandler and StateMachineHandler
- Exposed forceStopAllAnimation to AnimationHandler
- API for getting in-world locations of bones
- TrackedEntity predicate
  • Like
Reactions: PixelModels
Top