Lib's Disguises [Premium]

MC Plugin Lib's Disguises [Premium] 11.0.18
A premium disguise plugin which I find to be better than the others..

This is a hotfix build to fix older versions of Minecraft not loading with the recent release 11.0.17.
A fair amount of changes crept into this one, I had hoped to get a larger rewrite of the plugin done before this, unfortunately the MineSkin issue & recent MC releases have transpired against me.

* Adds support for 26.1, 26.1.1, 26.1.2
* Bumped required PacketEvents
* Improved the ability to customize sounds, including replacing specific sounds - You way want to regenerate that config?
* Fixed MineSkin not working correctly
* LD will no longer send "Colorize" as a placeholder for scoreboard teams, but an empty string
* Adds some skin detection to better handle when a weird skin is being uploaded that may not behave as expected
* Fixed skin models not working as expected
* Some minor API changes for async, this doesn't introduce support, but better exposes if the event could have been async
* Improved some build logic
* Improved LD failing to startup, to be less spammy
Small update, fixes a few bugs.

* Added Illager Spells to parameters
* Added way to disable scoreboard handling
* Fixed packetevents not being installed on first start
* Fixed interact with self with custom hitboxes
Kia ora and welcome to another round of needed bugfixes and updates!

The coolest change of this has to be the addition of /disguiseselector, /disguisemodifyselector, /undisguiseselector and /disguiseanimationselector.
These should work exactly like you would expect a Minecraft selector to work. https://minecraft.fandom.com/wiki/Target_selectors

/disguiseselector @r[c=2] sheep - for example!

This however, is limited to premium.

Full changes are as follows:

* Registries are now optional and disabled by default, you'll want to re-enable this if you add new items / mob variants
* Disguises on entities are now saved when entering a portal
* Fixed incorrect permission defined in plugin.yml and some other missing permissions
* Added getDisguiseUUID() so you can always differnate a disguise via api
* Improved logic flow for disguise removal
* Fixed issue with metadata being cancelled when it should not
* Expanded custom name length to a more modern length
* Added underscores as valid for a MineSkin API - Thanks @Luq-dude!
* Added a way to disable fancy hidden tabs in protocol.yml
* Fixed armor attribute not being sent to the client
* Fixed clients being able to trick themselves into thinking they effected an allay with a bucket
* Fixed /dhelp not working properly with parameters containing a space
* Add /disguiseselector, /disguisemodifyselector, /undisguiseselector and /disguiseanimationselector for premium users
* Fixed voice chat support not working fully
* Expanded allowed Minecraft versions to allow "1.21.11 - CUSTOM" and so on, even though it's mostly going to break anyways.
* Cleaned up inconsistent uses of schedulers, and converted all disguises having their own schedulers, to one scheduler for all disguises
* Added wiki links for particles & bounding boxes as they're a bit tricky
* Fixed empty action bar still being sent when the translated string is empty
This marks the release of Lib's Disguises 11.0.14!

If you are running paper 1.21.11, please make sure you are running #54 or newer. Older versions of paper 1.12.11 will not work.

* Added 1.21.11 support
* Fixed error on 1.12 servers
* Added VoiceChat compatibility, voice chat now works with disguises
* Added fake bounding boxes feature (allows a bounding box on eg block display, it does not modify existing bounding boxes. Use '/dhelp InteractiveBox' for more)
* Bumped required PacketEvents to 2.11.1
* Fixed PacketEvents updater not resolving correctly
* Fixed 1.12 servers getting an error for equipment
* Added some error catching for packets when the bukkit player is not real
* Text display no longer uses vehicle/passenger, which was an odd design choice to begin with
* Changing name display type in config will now require a re-disguise or restart for the disguises to show the new display type.
* Fixed some incorrect comments in the configs
* Status packet is no longer cancelled as a conflicting packet, proper support needs to be introduced at a later date, but it's a minor issue
* Added compatibility with vulcan, velocity checks are no longer triggered when disguised
This is a hotfix build for outdated packetevents.
Please refer to the previous release notes.
  • Like
Reactions: chuotconcute
This is mostly a bugfix update for the skins issue.

* Fixed skins not downloading correctly in older versions of MC
* Arrows that are disguised, will have their movements smoother again for 1.21.5+ (Can be disabled in the config dangerous.yml)
* Some internal cleanup of code
This is an update for 1.21.10

Two things of note, other than the changelogs.

1. Maven and Jenkins has moved.

For quite a number of years Lib's Disguises has been hosted by md_5 on his own servers, which was very kind of him. This was both jenkins and the repository.
However it's time for the plugin to move to my own servers, which has happened in the last few weeks as you may have noticed.

Jenkins: https://ci.lib.co.nz/
Repository: https://mvn.lib.co.nz/

If you are a developer, you should change the repository url from
Code:
https://repo.md-5.net/content/repositories/public/
to
Code:
https://mvn.lib.co.nz/public
The old repository will remain available for the foreseeable future, but it will not receive any new updates. Old builds are available on the repository.

2. Deprecation of old minor versions

I hope to, in the future, remove support for 1.18 to 1.18.1, 1.19 to 1.19.3, 1.20 to 1.20.2 as those versions are older without any reason to stay on them.
This is not a removal of support for 1.18.2, 1.19.4, 1.20.4
I do want to remove support for 1.21 to 1.21.3 but that will be quite a while away.

There are quite a few notable changes in this, in the interest of being brief

* 1.21.10 update, and better support for older versions
* Lots of bugfixes
* A few tiny performance boosts
* Sounds can now have their category controlled

The longer changelog is

* Update for 1.21.10
* A fix for metadata issues, took me long enough to come up with a decent solution!
* Sound categories can now be controlled for volume sliders in clients, default category is what the disguise type would be (eg, zombie = hostile)
* Fixed 1.12 not working properly
* Fixed cache being rebuilt too often on older versions
* Disguise animation cache is now built on start, not later
* Added warning that'll take effect in a month for plugins that should be using DisguiseAPI.disguiseNextEntity, basically helps prevent a "flicker" of the real mob for newly spawned mobs
* Cleaned up some comments in a config file or two that were confusing
* Added ability to have placeholders in the name above heads, using PlaceholderAPI
* Fixed a check for 'disguise already in use' not being right
* Tried to fix an extremely rare and I'm not sure they'd be able to reproduce it, bug with sound packet
* Cleaned up skin resolution handling for player skins
* Updated grab head command, now works reliably across multiple versions
* Cleaned up some stuff for slight performance boosts, such as file checks and entity.isValid
* Fixed some messages being logged as an error when it should be a warning
* Fixed some parameters not being converted back to short form, eg, entity variants. Instead it was doing long json form for no gain
* Saved disguises will no longer require permissions for their arguments, arguments in a saved disguise are skipped.
* Relocated from md_5's jenkins and repo to my own
* Remove saved disguises folder if its unused and unneeded
* Bumped required packetevents
* Added method to Undisguise event to see if it can be cancelled by another plugin
* Separated 1.18 nms enum into two enums, 1.18.0-1 and 1.18.2. This is for consistency.
* Updated some messages for warning about old versions of Minecraft
This is a hotfix build

* Fixed plugin breaking if packetevents isn't installed
* Fixed plugin breaking on 1.20.1 to 1.20.4
* Bumped packetevents version

And a small correction for the previous release changelog, packetevents in the previous version was not bumped, it was a change to allow resource packs with entity extensions to work properly by loading it into packetevents.
More changes creeped in than I thought, a release was long overdue!

The most notable change is some disguises now play animations when previously they did not, such as iron golem's arm swing.
As part of this, the /disguiseanimation, /disguiseplayeranimation, etc, premium commands were added.

Also fixed the plugin not working on 1.12 and 1.13. People born in the same year as 1.12 are now turning 8, just saying.

* New permission "libsdisguises.selfdisguises", default of true, control if a player can see a self disguise or not. Needs premium.
* Bumped required packetevents
* Minor change to packet handling in inventories
* Minor config relocation and config loading issues fix
* Fixed terrible grammer in 4 to 5 messages, mostly about "disguise on right click"
* Added /disguiseanimation and other commands, which adds animations for some disguises such as attacks or particles
* Added automatic animation plays where it is relevant, such as iron golem arm swings
* Fixed mappings being loaded when the plugin is being unloaded
* Fixed rabbit hops being fired when there's no real movement from the disguised entity
* Improved error message sent to players when a method is disabled in config, saves server admins the stress of figuring out why it is not working
* Improved disguise parsing, only impacts plugins that used Libs Disguises as an API. Largely MythicMinotaurs or whatever its called. Now skips permission checks when the api was called without providing a commandsender. Which is most DisguiseParser usage.
* Scoreboard teams are no longer set on disguises when team color is white, not a player disguise, and collisions are turned off. This addresses this very niche issue https://bugs.mojang.com/browse/MC/issues/MC-56533
* Fixed player disguises in clients not being properly destroyed
* Admins disguising will no longer trigger an update reminder
* Fixed the plugin not working on 1.12 and 1.13
Top Bottom