
_____________________________________________________________________________________________________________________________





*** VIEW THE FAQ ON HOW TO GET CUSTOM MASK SKINS ***

✔ Comes with premade 20+ masks for use
✔ Give players masks, good for crates, voting, etc.
✔ PlaceholderAPI support!
✔ Auto-updating Placeholder's in mask lore when being worn!
✔ Give the entire server masks
✔ Beautiful & easy to read console logger
✔ Create as many custom masks as you'd like
✔ Individual & organized mask files
✔ Fun for all types of servers
✔ Disable mask dropping on death, per mask!
✔ Very easy and simple to use
✔ Simple & effective menu gui for viewing & grabbing masks
✔ Multi-version support: 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, & 1.14
✔ Apply masks quickly by shift + right clicking
✔ Disable masks in certain worlds
✔ Disable masks for certain players
✔ Disable specific masks for certain players
✔ Detailed & tweakable settings
✔ Anti-dupe proof
✔ LibsDisguises support! Disguise a player when wearing a mask!
✔ Run commands after certain seconds of wearing a mask
✔ Customizable messages
✔ Disable anvil renaming
✔ Run commands when putting on a mask
✔ Display a message when putting on a mask
✔ Give effects when entering PvP combat
✔ Display particles on dropped masks
✔ Disable interaction with blocks when holding a mask
✔ Easy mask creation for server owners AND plugin developers
✔ Universal material, sound, and particle support for multiple versions
✔ No performance impacts
✔ Lightweight
✔ Run commands when removing a mask
✔ Friendly & Efficient Developer API for creating masks with more features
✔ Event Listening for developers
✔ Constantly updated & kept up-to-date with latest MC version(s)
CONFIGURATION
Code (YAML):
settings:
drop-if-inventory-full: true
allow-interaction: false
shift-click-wear: true
disabled-worlds:
- example
- example2
- example3
on-ground-effects:
show-particle: true
show-displayName: true
particleType: 'SPELL_INSTANT'
xOffset: 0.298
yOffset: 0.2
zOffset: 0.298
amount: 1
mask-put-on:
enabled: true
message: '&aYou have put on %mask_displayname%&a.'
PLACEHOLDER API (FOR MASK LORE):
- %masks_wearing%
- %masks_mask_name%
- %masks_mask_displayname%
- ** SUPPORTS ALL PAPI PLACEHOLDERS IN MASK LORE **

Code (YAML):
itemName: '&eBaby Mask'
lore:
- '&7A mask!'
potionType:
- WEAKNESS;2
- SPEED;5
on-wear-commands:
- 'give %player% diamond 1'
on-remove-commands:
- 'give %player% diamond 2'
timed-commands:
10:
- 'example command %player%'
- 'example command2 %player%'
15:
- 'example command3 %player%'
keep-on-death: true
effects-on-pvp:
- 'INCREASE_DAMAGE;3;5'
mask-disguise:
entity-type: CREEPER
custom-name: '&a&lCreeper'
texture:
value: eyJ0aW1lc3RhbXAiOjE1NTU0NTM1MDg3OTksInByb2ZpbGVJZCI6ImU3NmYwZDlhZjc4MjQyYzM5NDY2ZDY3MjE3MzBmNDUzIiwicHJvZmlsZU5hbWUiOiJLbGxscmFoIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS83OTY0YzY2NGQ3M2ZmOTFmMjgzZjVhZTg1OGFjYTEzNGZjYmE3MzM5YmYyMmFmYWZlNWZlNDk4ODA4Mzc2NTFiIn19fQ==
This is an example of the Baby Mask. Here's the breakdown of the configuration:
- itemName - Name to be displayed on the mask item
- potionType - The potion types to be applied when worn. The format is <POTION_TYPE>;<AMPLIFIER>
- on-wear-commands - The commands to run when the mask is put on
- timed-commands - The commands to run after the mask has been worn for the specified seconds
- keep-on-death - If the mask should remain worn even during death
- effects-on-pvp - Effects to be applied when a player enter PVP comb.at The format is <POTION_TYPE>;<AMPLIFIER>;<SECONDS>
- mask-disguise This requires LibsDisguises. It will disguise a player during the duration of them wearing a mask.
- texture.value - The value representing the mask's skin. Continue reading to find on how to get this value
You can find potion types here: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/potion/PotionEffectType.html NOTE: ALL POTION TYPES ARE AVAILABLE FOR EVERY SERVER VERSION
To get the skin value of a custom skin you want:
- Grab any skin file
- Head over to https://mineskin.org/
- Click 'Select File'
- Upload your skin file
- Scroll down
- Hit 'Generate'
- Copy the 'Texture Data' part and paste that into the 'value' in the mask's configuration file

ALIASES: /pmask | /playermask
- /masks give <player> <mask> <amount> - Gives a player a mask
- Use '*' for the player if you want to target all online players
- /masks menu - Displays menu with all masks on disk
- /masks reload - Reloads the configuration & masks

- masks.command - allows for /masks give ...
- masks.disable - disables the usage of all masks
- masks.disable.<mask> - disables usage of a specific mask
- <mask> is determined by the name of the mask file
- If I had a mask file named spiderman.yml, and I wanted to restrict the use of spiderman, I would give the player masks.disable.spiderman
- <mask> is determined by the name of the mask file

API Usage:

To get the MasksApi instance, you will need to access it through Bukkit's Services Manager. If you've used Vault before, this will look very familiar.
Code (Java):
RegisteredServiceProvider<MasksApi> registeredServiceProvider = Bukkit.getServicesManager().getRegistration(MasksApi.class);
if (registeredServiceProvider == null) {
//not installed
return;
}
MasksApi masksApi= registeredServiceProvider.getProvider();
if (masksApi == null) {
//not installed
return;
}
// use masksApi
Events:
- MaskActionEvent (called when a mask's effects are applied. This happens every tick)
- MaskWornEvent (called when a mask is put on)
- MaskRemovedEvent (called when a mask is removed)

- Why are my effects showing up as Speed when I put a different potion effect? Your server version is either incompatible with the effect you specified OR the name for the potion effect is incorrect.
- Why isn't my mask recognized? Make sure it follows the same format as the default masks & there are no errors in the console about your configuration format
- Why isn't my particle working & there's an error? You have either specified a particle type that's incompatible with your server version OR the name of the particle type is incorrect.
- How many masks can I add? Infinite! Ok.. maybe not... but quite enough to satisfy your needs.
- How do I get the skin value?
- Grab any skin file
- Head over to https://mineskin.org/
- Click 'Select File'
- Upload your skin file
- Scroll down
- Hit 'Generate'
- Copy the 'Texture Data' part and paste that into the 'value' in the mask's configuration file