> For the complete documentation index, see [llms.txt](https://disguiseplus.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://disguiseplus.gitbook.io/docs/change-logs/changelog.md).

# Changelog

## v2.2.1

### Fixed

* Fixed the creation of statistic to be more safe

## v2.2.0

### Fixed

* The output logger now has a different outputting format.

## v2.1.9

### Implemented

* All features can now be reloaded by doing /dp reload. This should make it easier for new users to adapt to the configurations without having to restart their server every time.

## v2.1.8

### Implemented

* Configured TabIntegration to be reloadable by the "/dp reload" command

## v2.1.7

### Fixed

* Fix config.yml, and prepare it for a full recode.

## v2.1.6

### Implemented

* Added option for reloading the current plugin configuration by doing /dp reload. Note that this command may not be complete, as not all configurations will be refreshed when using this.

### Fixes

* Fixed the config.yml file throwing an error
* Fixed an error being thrown because the packet provider is loaded in the end instead at the start of the launch.

## v2.1.5

### Fixes

* Fixed config.yml header

## v2.1.4

### Fixes

* Fixed messages when loading skins from the cloud

## v2.1.3

### Implement

* Updated to the newest version of DisguiseAPI

## v2.1.2

### **Fixes**

* Fixed the version not being displayed when using /dp command

## v2.1.1

### Changed

* Changed the main /skin command to a different alias: Command /setskin will now be used instead.

## v2.1.0

### Fixed

* Fixed a GSON issue caused by Spigot, which resulted in skins not being saved for 1.8.8 versions.

## v2.0.9

### Implemented

* Added **Metrics** to the core.

## v2.0.8

### Implemented

* Added new placeholder: **%dp\_original\_name%** - which returns the original name of the player.&#x20;

## v2.0.7

### Removed

* Removed debug checks from TabIntegration

## v2.0.6

### Removed

* Removed unused messages from the messages.yml configuration file.

## v2.0.5

### **Implemented**

* Added TabIntegration for the [TAB ](https://github.com/NEZNAMY/TAB)plugin by NEZNAMY. This is used when you want to have different prefixes for different states of the user. For example, you have rank Owner by default in your server. But when you disguise, you want that rank to be set to one of the ranks from the [RankManager](#v2.0.4).&#x20;

&#x20;     To accomplish this, you should set the disguise-prefix value to: **%dp\_rank%.** Now when a player      gets disguised, it automatically sets the prefix to the %dp\_rank% value. Of course, it also gets reset when the player is undisguised.

&#x20;     With this integration, you don't need to use **%dp\_*****prefix%** and **%dp*****\_rank%** placeholders in the groups.yml of TAB. You should only set the custom tag and custom tab name to: %dp\_name%. Simple as that.

```yaml
# This property will enable the integration with TAB plugin written by NEZNAMY.
# Use this if you want to have different player prefixes depending on if the player is disguised
# or not.
tab-integration:
  # By default, false, to not cause unwanted behaviour.
  enabled: false

  # This will automatically set the prefix to whatever the value between the parentheses is
  # - For example you want to hide your owner rank when you are disguised, and only show MVP rank from rank manager above,
  # - you would set the placeholder to %dp_rank%.
  #
  # -- It supports both colors and placeholders.
  # When using placeholders make sure that the expansion of the placeholder is enabled.
  # If you want the prefix to be blank leave an empty string, otherwise set the enabled value to false.
  disguise-prefix: "%dp_rank%"
```

<div><figure><img src="/files/q2t00NceNiM0rmddIXAW" alt=""><figcaption></figcaption></figure> <figure><img src="/files/lAhYl2mmFBYuw8ZZne8r" alt=""><figcaption></figcaption></figure></div>

## v2.0.4

### Implemented

* Added a `RankManager` to the plugin. This feature will allow players to choose specific ranks upon doing the /d command. It will help players in further disguising.

&#x20;     This rank will be displayed upon using the <mark style="color:purple;">**%dp\_rank%**</mark> placeholder. Note that **DisguisePlus** itself won't include this rank. But you will have to use a TAB plugin, with the specified placeholder.

{% code overflow="wrap" %}

```yaml
# This is a new rank feature offered by DisguisePlus.
#
# - It offers the ability for players to select a rank which will be displayed when using the "%dp_rank%" placeholder
# -- The main permission inside 'ranks.permission' section is the essential permission player needs to have in order to
# -- have the ability to choose a rank
# --- If you want to disable this feature set the enabled value to false
#
#
# If you want a rank to not have any permission, you should set it to 'permission: ""'. This means that the string
# should be empty, and any player will have the ability to access this rank.
ranks:
  # Whether this feature is enabled
  enabled: true
  # This is the permission the players will need in order to have the choose ranks inventory opened
  permission: "permission.dp.ranks"

  # Below all ranks that you want created defined below this line
  rank:
    # The name of this rank will be mvp
    mvp:
      # The permission needed to access this rank is permission.dp.rank.mvp
      # You can change this permission to whatever
      permission: "permission.dp.rank.mvp"
      # The display name of the rank, with colors of course
      display: "&a[MVP]&r "
    # The name of this rank will be mvp+
    mvp+:
      # The permission needed to access this rank is permission.dp.rank.mvp+
      # You can change this permission to whatever
      permission: "permission.dp.rank.mvp+"
      # The display name of the rank, with colors of course
      display: "&a[MVP+]&r "
```

{% endcode %}

<figure><img src="/files/huhxXQ2ZWbdzN6W9e0Hw" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/7LfCpvNHlbmFZYa0jusd" alt=""><figcaption></figcaption></figure>

## v2.0.3

### Implemented

* Added a `PlayerPrefix` manager which is responsible for handling different types of placeholders. This is useful for handling ranks, where a user needs two different returns based on whether the user is disguised or not.

{% code overflow="wrap" lineNumbers="true" %}

```yaml
# This is a service responsible for different types of placeholders
# It is useful for handling ranks, for example, when a user wants their rank to hide on disguise
display:
  # The prefix is equivalent to what the %dp_prefix% value will show
  # -- Depending on whether the user is currently disguised or not,
  # -- the prefix will either be the value in disguised, or default, respectively
  # -----------------------------------------------------------------------------
  # Both of these values support colors using the '&' character.
  # -----------------------------------------------------------------------------
  prefix:
    # Value shown when the player is not disguised
    default: "%vault_rank%"

    # Value shown when the player is disguised
    disguised: ""
```

{% endcode %}

## v2.0.2

### Fixed

* Fixed wrongly configured /und permission

## v2.0.1

### Implemented

* Added compatibility for TAB plugins by using %dp\_name% placeholder

## v2.0.0

This update is the largest update I've ever written for a plugin. While taking into account that the most recent version of Disguise was written so poorly, I decided to write a method delicate version of it. I've now rewritten this plugin twice, and we're finally ready to release the first version of 2.0.0.

This version is written on top of DisguiseAPI, which is now a fully open-source library for changing player properties. You can also download it on my Spigot page.

{% hint style="info" %}
Try using the the **/dp** command
{% endhint %}

### Implemented

* Added a feature called **SkinPacks** where users can group their skins. By default, we have over 6500 different skins grouped together, with skin packs like **Naruto**, **Squid Game, Among Us.**
* **An API alongside the default API provided by the** [**DisguiseAPI** ](https://www.spigotmc.org/resources/disguiseapi-1-8-8-1-19-1.103942/)**library.**
* Feature for when you click a skin in the SkinPack GUI, you immediately obtain it.
* Option to not download the base skins from the database
* Changed command aliases and permissions (updated on the page)
* Added support to all newer minecraft versions

### Removed

Not a lot of features have been removed and some that have been removed will be again released in future versions.

* bStats Metrics
* Ability to fully customize random nicknames (why?)
* **Cross**-**server** support (will be re-added in 2.1 or 2.2)
* PlaceholderExpansion (will be re-added in 2.1.0)
* DisplayManager (might not get re-added)
* And some more

## [v1.3.9](https://www.spigotmc.org/resources/disguise.84079/update?update=372207)

### Bug Fixes

* Fixed a startup collision bug with FactionsUUID&#x20;

## [v1.3.8](https://www.spigotmc.org/resources/disguise.84079/update?update=370695)

### **Implemented**

* Added support for 1.16.4 version

## [v1.3.6](https://www.spigotmc.org/resources/%E2%9C%A8disguisepro-change-player-properties-within-a-second-1-7-1-16-20-off-for-until-1st-nov.84079/update?update=368534)

### Implemented

* A new way permissions are called. [`PERMISSION`](/docs/system/permissions.md)

## [v1.3.3](https://www.spigotmc.org/resources/%E2%9C%A8disguisepro-change-player-properties-within-a-second-1-7-1-16-20-off-for-24-hours.84079/update?update=367505)

### Bugs fixed

* Fixed an issue where the plugin wouldn't run on the 1.16.3 version

### Removed

* All permissions that were not being used have been deleted

### Implemented

* A new placeholder has been added: **`%disguise_prefix%`**

## [v1.3.1](https://www.spigotmc.org/resources/%E2%9C%A8disguisepro-change-player-properties-within-a-second-1-7-1-16-20-off-for-24-hours.84079/update?update=366284)

### Bugs fixed

* Fixed an issue where the plugin failed to run with 1.16.1 version.

## [v1.3](https://www.spigotmc.org/resources/%E2%9C%A8disguisepro-change-player-properties-within-a-second-1-7-1-16-20-off-for-24-hours.84079/update?update=366127)

### **I**mplemented

A way to change your skin by supplying a url of the skins.&#x20;

```aspnet
/skin url <imageUrl>
```

Example of correct use:

```aspnet
/skin url https://imgur.com/tvt3BvA.png
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://disguiseplus.gitbook.io/docs/change-logs/changelog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
