DisplayEntityUtils by DonnyPZ

Handle Display Entity Models & Animations (BDEngine) and Interaction entities through Skript

Events

0

Expressions

0

Effects

0

Conditions

0

Types

0

Sections

0

Structures

0

Total

0

3.5.3 | BDEngine API Import & New Commands 2 days, 19 hours and 37 minutes ago

Release Highlights
- Many New Commands
- BDEngine API Project Import
- API Changes
- Bug Fixes

Changes and help for content regarding this release can be found on the Wiki

General
- Tags can no longer contain spaces in animations, groups, parts, etc.
- Dropped support for legacy BDEngine datapack conversion
- This applies to datapacks created before Dec. 8th 2024
- Added importing and conversion of BDEngine Projects directly from the website to your game
- ALL Animation Frames now have a default Frame Point, located at a group's origin

Command Changes
- New Command: /deu bdengine import
- Import and convert a BDEngine project's model and animations
- Permission: deu.bdengine.import
- New Command: /deu anim adddefaultparticle
- Add particles to an animation at a frame's default point (group origin)
- Permission: deu.anim.addparticle
- New Command: /deu anim adddefaultsound
- Add sounds to an animation at a frame's default point (group origin)
- Permission: deu.anim.addsound
- New Command: /deu anim showpoints
- Show the Frame Points of an animation frame
- Permission: deu.anim.info
- New Command: /deu group spawnat
- Spawn a group at a specified location
- Permission deu.group.spawn
- New Command: /deu group despawnat
- Despawn groups within a given range of a location
- Permission: deu.group.despawn
- Changed /deu group clone
- Added -here argument to spawn clone the group at the player's location

- Added an -all argument to all commands that accept frame-ids/frame-tag

- Removed Commands:
- /deu bdengine convertdpleg
- /deu group clonehere
- /deu anim editallframes

API Changes
New Version: 3.5.3

Additions/Changes
- Added DEUSound#fromCommand
- Get a DEUSound from a playsound command
- Updated #equals, #hashCode, and #clone for SpawnedDisplayAnimationFrame, DisplayTransformation and AnimationCamera
- Added BDEngineUtils#convertDatapack
- Converts a BDEngine datapack into group and animation formats for DEU
- Uses the new BDEDatapackConvertEvent to get converted resources
- Added BDEngineUtils#importProject
- Imports and converts a BDEngine Project by its export ID
- Uses the new BDEAPIConvertEvent to get converted resources
- Added SpawnedDisplayAnimationFrame#getDefaultFramePoint
- Gets the default FramePoint of an animation frame, located at the group's origin
- The default point's location and tag are immutable
- Added PacketDisplayEntityGroup#getNearbyGroups
- Get nearby PacketDisplayEntityGroups in a given range of a location
- Added #removeParticle and #removeAllParticles to FramePoint

Breaking Changes
- Removed BDEngineUtils#requestModel

Bug Fixes / QOL
- Updated version checking logic
- Improved logic for BDEngine datapack conversion
- Fixed issues where adding particles to an animation could fail
- Fixed an issue where loading an animation's particles could fail
- Changed the range and step of the delta and extra in Animation Particle creation dialogs, for more fine control
- Improved tab completion of optional command arguments
- Fixed a NullPointerException occuring when attempting to remove an invalid PartSelection
- Sounds and Particles can now be removed from Frame Points

What's Changed
* 3.5.3 by @PZDonny in https://github.com/PZDonny/DisplayEntityUtils/pull/72

Full Changelog: https://github.com/PZDonny/DisplayEntityUtils/compare/3.5.2...3.5.3

View Update

3.5.2 | New Commands, Animation Change, Many Bug Fixes 10 days, 21 hours and 22 minutes ago

Release Highlights
- New, Removed, & Changed Commands
- Updated Skript Syntax
- DisplayController Changes
- API Changes
- Many Bug Fixes

General
- Added support for Minecraft 26.1.2
- Added support for Skript 2.15.2

Command Changes
- New Command: /deu group ridedespawn
- Make a group ride an entity, but despawn the group if the entity dies/despawns/disconnects
- Permission: deu.group.ride
- New Command: /deu mannequin spawn
- Spawn a mannequin entity at your location, and optionally add it to your selected group
- Permission: deu.mannequin.spawn
- New Command /deu interaction spawn
- Spawn an interaction entity at your location, and optionally add it to your selected group
- Permission: deu.interaction.spawn

- Added -nodata option to /deu anim play to optionally disable texture changes for block/item displays and text display text changes
- Removed /deu anim toggletexturechanges
- Removed /deu interaction addtogroup
- Removed /deu interaction spawnhere

Display Controller
- Added group.allowAnimationDataChanges to determine an animation played on a group should be able to change non-transformation data
- Added animationDataChangesOverride boolean (true/false) to animation states, optionally overriding the group.allowAnimationDataChanges value. (Example: states.death.animationDataChanges: true)
- Updated MythicMobs Skill Mechanic:
- - deuanimate{id=controller-id;anim=animation-tag;t=animation-type;s=storage-location,datachanges=true}

Skript
- Display & Interaction entities can now be used in Skript syntax that previously only allowed parts.
- For getting/setting properties of the entity
- Removed Toggle Animation Texture Changes syntax
- Updated Create Display Animator
- set {animator} to a linear animator using {animation} without data changes

![SkriptHubViewTheDocs](http://skripthub.net/docs/?addon=DisplayEntityUtils)

Bug Fixes / QOL
- Fixed an issue causing DisplayController animation states to not work correctly
- Fixed an issue causing rideOffset for DisplayControllers to not work correctly
- Included a group's Ride Offset in auto culling calculations
- Packet-based group passengers are correctly unregistered when the group should despawn after the vehicle becomes invalid
- Fixed vehicle / group passenger(s) desync when changing worlds
- Fixed an issue causing players to be unable to teleport when they have a group passenger
- Internally changed how group parts are registered, reducing inconsistencies in some cases
- Fixed an issue where non-packet based parts were not being registered correctly
- Duplicate items no longer appear across pages in /deu listgroups, /deu listanims, /deu group list, or /deu anim list commands
- Invulnerable mannequins in groups no longer take damage from players in creative mode
- Fixed BDEngine Datapack conversion sometimes not working in theend or the[/i]nether

API Changes
- Added #setBlockReplacement and #setItemReplacement to GroupSpawnSettings to replace blocks/items of a given type when spawning a group
- Added new constructors to DisplayAnimator with a Boolean parameter allowDataChanges to determine if a block/item textures and text display text should changed based on animation frame data.
- Removed SpawnedDisplayAnimation#allowTextureChanges methods

What's Changed
* 3.5.2 by @PZDonny in https://github.com/PZDonny/DisplayEntityUtils/pull/71

Full Changelog: https://github.com/PZDonny/DisplayEntityUtils/compare/3.5.1...3.5.2

View Update

3.5.2-PRE-4 26 days, 22 hours and 48 minutes ago

❗ Previous pre-releases on Discord
Release Highlights
- Command Changes
- Updated Skript Syntax
- API Changes
- Bug Fixes

General
- Added support for Minecraft 26.1.2
- Added support for Skript 2.15.2

Command Changes
- New Command: /deu group ridedespawn
- Make a group ride an entity, but despawn the group if the entity dies/despawns/disconnects
- Permission: deu.group.ride
- Added -nodata option to /deu anim play to optionally disable texture changes for block/item displays and text display text changes
- Removed /deu anim toggletexturechanges

Display Controller
- Added group.allowAnimationDataChanges to determine an animation played on a group should be able to change non-transformation data
- Added animationDataChangesOverride boolean (true/false) to animation states, optionally overriding the group.allowAnimationDataChanges value. (Example: states.death.animationDataChanges: true)
- Updated MythicMobs Skill Mechanic:
- - deuanimate{id=controller-id;anim=animation-tag;t=animation-type;s=storage-location,datachanges=true}

Skript
- Display & Interaction entities can now be used in Skript syntax that previously only allowed parts.
- For getting/setting properties of the entity
- Removed Toggle Animation Texture Changes syntax
- Updated Create Display Animator
- set {animator} to a linear animator using {animation} without data changes

Bug Fixes
- Fixed an issue causing DisplayController animation states to not work correctly
- Fixed an issue causing rideOffset for DisplayControllers to not work correctly
- Included a group's Ride Offset in auto culling calculations
- Packet-based group passengers are correctly unregistered when the group should despawn after vehicle invalidity
- Fixed vehicle/passenger desync when changing worlds
- Fixed an issue causing players to be unable to teleport when they have a group passenger
- Internally changed how group parts are registered, reducing inconsistencies in some cases
- Fixed an issue where non-packet based parts were not being registered correctly

API Changes
- Added #setBlockReplacement and #setItemReplacement to GroupSpawnSettings to replace blocks/items of a given type when spawning a group
- Added new constructors to DisplayAnimator with a Boolean parameter allowDataChanges to determine if a block/item textures and text display text should changed based on animation frame data.
- Removed SpawnedDisplayAnimation#allowTextureChanges methods

Full Changelog: https://github.com/PZDonny/DisplayEntityUtils/compare/3.3.8...3.5.2-PRE-4

View Update

3.5.0 | Major Skript Recode & New Wiki 72 days and 12 minutes ago

Release Highlights
- New Wiki
- New Command
- Reworked & Recoded Skript Syntax
- API Changes

A new Wiki has been released improving clarity in many areas and a better visual look

Commands
New Command
- Added /deu parts deselect
- Deselect your currently selected part
- Permission: deu.parts.select

Skript Changes
- Updated to Skript v2.14.3
- Reworked many of the syntaxes, avoiding conflicts, reducing redundancy, and overall improving syntax
![SkriptHubViewTheDocs](http://skripthub.net/docs/?addon=DisplayEntityUtils)

API Changes
New Version: 3.5.0
Breaking Changes
- Removed playSpawnAnimation parameter from DisplayEntityGroup#createPacketGroup methods
- DisplayGroupManager#getOrCreateNearbySpawnedGroups now returns a set of SpawnedDisplayEntityGroups instead of GroupResults

Additions / Changes
- Added ActivePart#getItemDisplayTransform
- Added ActivePart#getInterpolationDelay and ActivePart#getInterpolationDuration
- Added methods to ActivePart
- #getItemDisplayTransform
- #getInterpolationDuration
- #getInterpolationDelay
- #getBillboard
- Added GroupSpawnSettings#playSpawnAnimation
- DisplayUtils#getFixedModelLocation now accepts an ActivePart rather than just a PacketDisplayEntityPart

QOL
- Fixed incorrect messages when using commands or clicking clickable points

What's Changed
* 3.5.0 by @PZDonny in https://github.com/PZDonny/DisplayEntityUtils/pull/68

Full Changelog: https://github.com/PZDonny/DisplayEntityUtils/compare/3.4.3...3.5.0

View Update

3.4.3 | Optimizations & New Skript Syntax 81 days, 16 hours and 1 minute ago

Release Highlights
- New Skript Syntax
- API Changes
- Bug Fixes

Skript Changes
- Updated to Skript v2.14.0
- Added Player's Selected Active Part to get the selected active part of a player

set {_activepart} to player's selected part


- Added Rotate Active Group/Part to update the axis rotation of an active group/part, in degrees.
deu rotate y of {_activegroup} by 45
deu rotate z of {_activepart} by 20
deu rotate world y of {_activepart} by 90


![SkriptHubViewTheDocs](http://skripthub.net/docs/?addon=DisplayEntityUtils)

API Changes
DisplayGroupManager Changes
[!IMPORTANT]
Many changes have been made regarding how a group is retrieved from an entity, a location, chunk, or world

Group From Location
- #getSpawnedGroups() - get all spawned groups registered in the current play session
- #getSpawnedGroups(World) - get all spawned groups registered in a world
- #getSpawnedGroups(Chunk) - get all spawned groups registered in a chunk
- #getSpawnedGroupsByCreationTime(Chunk) - get all spawned groups registered in a chunk, keyed in a map by group creation time
- #getNearbySpawnedGroups(Location, double) - get all nearby registered spawned groups in a radius
- #getOrCreateNearestSpawnedGroup(Location, radius) - get and/or create many registered spawned groups in a radius
- #getNearestSpawnedGroup(Location) - get the nearest registered spawned group in a radius
- #getOrCreateNearestSpawnedGroup(Location, radius) - get and/or create the nearest registered spawned group in a radius


Group From Entity
- #getSpawnedGroup(Display) - get a registered spawned group that a given Display is part of
- #getOrCreateSpawnedGroup(Display) - get and/or create a registered spawned group that a given Display is part of
- #getSpawnedGroup(Entity, radius) - get a registered spawned group that an eligible part entity is part of ( Interaction, Mannequin)

Bug Fixes / QOL
- Improved speed of group detection when a chunk loads for the first time
- Fixed per-player animations not working
- Fixed logic of AcitvePart#rotateDisplay
- Fixed non-display parts ( Interaction, Mannequin) becoming ungrouped after their chunk unloads and loads again
- Fixed a memory leak related to group detection during chunk loads

What's Changed
* 3.4.3 by @PZDonny in https://github.com/PZDonny/DisplayEntityUtils/pull/67

Full Changelog: https://github.com/PZDonny/DisplayEntityUtils/compare/3.4.2...3.4.3

View Update

3.4.2 | Skript Syntax and Bug Fixes 131 days, 1 hour and 28 minutes ago

Release Highlights
- Command Change
- New Skript Syntax
- API Changes
- Bug Fixes

Command Change
- duration and delay arguments are now optional for /deu interaction scale command

Skript Changes
- Added Active Group Player Scale Multiplier to apply a scale multiplier to a player's view of an ActiveGroup, on top of the group's current scale multiplier

set extra scale multiplier of {activegroup} to 1.75 for {player}

set extra scale multiplier of {activegroup} to 2 for {player} and ignore interaction entities

#Reset
set extra scale multiplier of {activegroup} to 1 for {player}


API Changes
New Version: 3.4.2
- Added ActiveGroup#getId to the unique ID of a group
- Added ActiveGroup#setPlayerScaleMultiplier to set the scale multiplier of a player's view of an ActiveGroup, on top of the group's current scale multiplier.

Bug Fixes / QOL
- Fixed a NPE that could occur when placing a placaeble group
- Fixed Interaction Click Types (iClickType) not being recognized in Skript syntax
- Added missing tab completion to /deu parts move
- PlaceholderAPI placeholders can now be used in Interaction commands

What's Changed
* 3.4.2 by @PZDonny in https://github.com/PZDonny/DisplayEntityUtils/pull/66


Full Changelog: https://github.com/PZDonny/DisplayEntityUtils/compare/3.4.1...3.4.2

View Update

3.3.6 | JSON Format & Animation Camera 174 days, 18 hours and 18 minutes ago

NEW UPDATE (3.3.6)

- JSON File Format
- Animation Camera
- Added and Changed Commands
- New Skript Syntax and Change
- New API Additions & Breaking Changes
- Bug Fixes


More info here

View Update

3.3.5 | Folia Support, New Animation Particle, Bug Fixes 214 days, 13 hours and 49 minutes ago

- Folia Support
- New Animation Particle & Fixes
- Updated Skript Syntax
- API Changes
- Bug Fixes

More info here

View Update

3.3.4 | Edit Packet-Based Groups, Command & Skript Changes 225 days, 14 hours and 20 minutes ago

NEW UPDATE (3.3.4)

- Config Changes ⚙
- Changes to commands
- Packet-Based groups through commands
- New and Changed Skript Syntax
- API Changes
- Many Bug Fixes

More info here

View Update

3.3.3 | Performance Fixes and New Skript Syntax 241 days, 15 hours and 11 minutes ago

NEW UPDATE (3.3.3)

  • Major Performance Fixes
  • Config Changes
  • Command Fix
  • Bug Fixes

More info here

View Update

3.3.2 | Skript Rework 252 days, 12 hours and 48 minutes ago

NEW UPDATE (3.3.2)
- Reworked Skript Syntax, (thanks to @Jake for contributing to most of the rework and fixes)

More info here

View Update

3.3.1 | Command Changes & Skript Syntax Changes 268 days, 14 hours and 30 minutes ago

NEW UPDATE (3.3.1)


More info here

View Update

3.3.0 | New Commands, New Syntax, Bug Fixes 287 days, 16 hours and 8 minutes ago

NEW UPDATE (3.3.0)

  • Added and Changed Commands
  • New Skript Syntax and Changes
  • New API Dependency and Additions
  • Bug Fixes

More info here

View Update

3.2.4 | Improved Culling and Conflicting Skript Bug Fix 293 days, 12 hours and 2 minutes ago

NEW UPDATE (3.2.4)

• 2 New commands and 1 Removed
• Auto Culling Rework
• Config Changes
• API Changes
• A Skript Syntax Fix
• A Bug Fix

More info here

View Update

3.2.3 | WorldEdit Selection to Group and Many Bug Fixes 295 days, 10 hours and 40 minutes ago

NEW UPDATE (3.2.3)

• Convert WorldEdit Selection to a group
• API Changes
• Many Bug Fixes

More info here

View Update

3.2.2 | Fixes for MySQL, DisplayControllers, and Skript 296 days, 21 hours and 29 minutes ago

NEW UPDATE (3.2.2)
PassengerAPI is no longer required for this plugin

• Command Changes
• Display Controller Fixes
• MySQL Fixes
• Skript Syntax and Example Fixes
• Bug Fixes

More info here

View Update

3.2.1 | Updates and Fixes for DisplayControllers and Skript 299 days, 18 hours and 45 minutes ago

NEW UPDATE (3.2.1)
PassengerAPI is no longer required for this plugin

• Added/Changed Commands
• New Skript Syntax and Fixes
• Updated Display Controller Config
• API Changes and Additions
• Bug Fixes
• Cleaned up wiki and added new pages for DisplayControllers and Skript Syntax

More info here

View Update

3.2.0 | Chunk Stored Packet Groups, New Display Controller Setting 304 days, 1 hour and 41 minutes ago

NEW UPDATE (3.2.0)
PassengerAPI is no longer required for this plugin

• Added/Changed Commands
• Packet Groups saved in world chunks
• New Skript Syntax and Fixes
• Updated Display Controller Config
• API Changes and Additions
• Bug Fixes


More info here

View Update

3.1.2 | New Skript Syntax and Bug Fixes 313 days, 17 hours and 40 minutes ago

NEW UPDATE (3.1.2)
New Skript Syntax
API Changes and Additions
Bug Fixes
More info here

View Update

3.1.1 | Single Entity Selection, Critical Bug Fixes 316 days, 18 hours and 49 minutes ago

NEW UPDATE (3.1.1) | RECOMMENDED UPDATE
• Selection of ungrouped Display/Interaction entities
• 6 New Part Commands
• API Changes and Additions
• Major Bug Fixes
More info here

View Update

3.1.0 | Display Controller Improvements, Dialog Menus 319 days and 38 minutes ago

NEW UPDATE (3.1.0)
• A new command and a rework to an existing one
• Dialog Menus
• Slight Rework to Display Controllers Config
• API Changes and Additions
• Bug Fixes

More info here

View Update

3.0.0 | Packet Based Display Entities and Animations 325 days, 18 hours and 32 minutes ago

NEW UPDATE (3.0.0) | RECOMMENDED UPDATE
• Packet Based DIsplay Entities and Animations
• 2 New Required Plugin Dependencies
• New commands
• Reworks to Skript Syntax
• Breaking API Changes and Additions
• Bug Fixes

More info here

View Update

2.7.7 | Updated Skript Syntax and Minor API Changes 340 days, 19 hours and 4 minutes ago

NEW UPDATE (2.7.7)
• Updates and fixes to Skript Syntax
• Updated Skript Documentation
• Minor API Additions/Changes

View Update

2.7.6 | Skript Expression Fixes 357 days, 21 hours and 39 minutes ago

NEW UPDATE (2.7.6)
• Fixed Skript Expressions that return <none> instead of an expected list

View Update

2.7.5 | Experimental Frame Point Commands 366 days, 15 hours and 34 minutes ago

NEW UPDATE (2.7.5)
• New experimental commands
• Updated Skript Documentation
• API Changes/Additions
• New Config Option ⚙
• Bug Fixes/QOL

View Update

2.7.4 | Skript Syntax Bug Fix and bStats 434 days, 13 hours and 33 minutes ago

NEW UPDATE (2.7.4)
• Fixed a Skript syntax conflict when attempting make a group ride a player or vice versa
• Added bStats

View Update

2.7.3 | Config Additions, New Skript Syntax, Bug Fixes/QOL 446 days, 18 hours and 49 minutes ago

NEW UPDATE (2.7.3)
• 2 New Config Options
• 2 New MythicMobs Mechanics
• New DisplayController Group Visibility Option
• New Skript Syntax
• New command to move frame points
• New Wiki
• Bug Fixes & QOL Changes

More info here

View Update

2.7.2 | Help Command Change and Skript Fixes 449 days, 21 hours and 39 minutes ago

NEW UPDATE (2.7.2)

• Help Command Permission Fixes

• More Skript Syntax Fixes

More information here

View Update

2.7.1 | Skript Syntax Bug Fix 452 days, 22 hours and 4 minutes ago

NEW UPDATE (2.7.1)
Fixed a bug causing the Spawned Group Mount/Ride Entity effect to not work properly

More info here

View Update

2.7.0 | Animation Frame Points 457 days, 2 hours and 22 minutes ago

NEW UPDATE (2.7.0)
• Animation Frame Points
• New Commands
• Bug Fixes

More info here

View Update

2.6.4 Hotfix 464 days, 10 hours and 54 minutes ago

NEW UPDATE (2.6.4) | HOTFIX UPDATE

• Bug fix for display pivoting when making a group respect an entity's looking direction

• QOL API Addition

More details here

View Update

2.6.3 | Display Controller Pivoting, New Commands and Syntax 467 days, 11 hours and 7 minutes ago

NEW UPDATE (2.6.3) | RECOMMENDED
- New commands
- Config Changes
- Display Controller Config Updates
- Additional Skript Syntax
- Minor Breaking API Changes
- Bug Fixes
- Updated Wiki

More Details here

View Update

DisplayEntityUtils | Syntax Reworked 481 days, 10 hours and 4 minutes ago

DisplayEntityUtils

Join the Discord Here!

GitHub: Source Code

NEW WIKI | SkriptHub Docs




DisplayEntityUtils is a plugin/addon that supports BDEngine, a modeling/animation engine designed for display entities without the need for resource packs or mods. DEU allows you to interact with your models and animations through Skript.

DEU also has some features that may make using Display/Interaction entities easier


Dependencies:
PacketEvents

Supports BDEngine:
  • BDEngine is a modeling and animation engine designed for display entities, without the need for resource packs or mods
  • The created models and animations can be transferred into your game world and reused with DisplayEntityUtils.

DISCLAIMER: I DO NOT OWN BDENGINE! ALL ISSUES AND SUGGESTIONS RELATED TO THAT PROJECT SHOULD BE BROUGHT TO THE OWNER, ILLYSTRAY, IN THE BDENGINE DISCORD FOUND HERE


What can DisplayEntityUtils do?
- Manipulate Display/Interaction entities
- Save/Load BDEngine Models and Animations
- Convert Datapack Animations from BDEngine
- Manipulate Groups (BDEngine Models)
- Manipulate entities in a group/model
- Interaction entity click commands
- Intergration with MythicMobs
- Create Animation State Machines
- Save groups and animations to Local Storage, MySQL, or MongoDB
- And so much more!

View Update

© Copyright 2014-2026 skUnity

All rights reserved.