Modulization of NMS versions for 1.18+

This commit is contained in:
Sage M
2021-12-06 21:35:30 -06:00
parent dbe9073f33
commit 0e0be185dc
291 changed files with 1119 additions and 162 deletions

View File

@@ -0,0 +1,29 @@
# This config file is for settings that effects combat!
# This prevents disguised players from being targeted by monsters.
# This doesn't prevent their targeting you if already targeting when disguised
# They will just ignore you unless provoked.
MonstersIgnoreDisguises: false
# Should PvP be disabled when disguised?
DisablePvP: false
# Should PvE be disabled when disguised? (Eg, fighting zombie)
DisablePvE: false
# This works only for players, disguised monsters and the like will not be undisguised
# Should the player's disguises be removed if they attacks something?
# Blown Disguise message can be changed in translations
# Message can be hidden with an empty translation
BlowDisguisesWhenAttacking: false
# Should the player's disguises be removed if they're attacked by something?
BlowDisguisesWhenAttacked: false
# This works with 'DisablePvP' that if attacked by another entity, they have 'PvPTimer' amount of time
# to attack back. Timer is reset with every successful attack
RetaliationCombat: false
# If pvp or pve is disabled, this takes effect.
# If RetaliationCombat is false, or it's true but they haven't fought back in PvPTimer seconds, then they can't fight back.
# This also controls it so they can't fight back PvPTimer seconds after applying a disguise
PvPTimer: 5

View File

@@ -0,0 +1,54 @@
# This config file is for settings that effect commands only!
# Don't like players able to set themselves invisible when using the disguise commands? Toggle this to true and no one can use setInvisible! Plugins can still use this however.
DisableInvisibility: false
# By the default the plugin saves the users of the /viewdisguisebar and /viewselfdisguises to a file
# So that it persists after restart
SaveUserPreferences: true
Permissions:
# By default "libsdisguises.disguise.cow" will allow all options for cow disguise unless another permission has
# defined otherwise.
# If given "libsdisguises.disguise.animals.setburning" then "libsdisguises.disguise.cow" they will still be able to
# use other options like "setbaby". This was provided for backwards compatibility.
# By turning this from 'false' to 'true' the plugin will no longer give them the options unless the player was
# explicitly granted it. Even if by wildcard. The above example means they can only use "setburning"
# To summarize, "libsdisguises.disguise.cow" will no longer let them do any options on the cow disguise unless it
# was added to their permissions
# You can read more about permissions here: https://www.spigotmc.org/wiki/lib-s-disguises-setting-up-permissions/
# The permission used to check OPs who may not have permissions defined, is "libsdisguises.*.*.*" which you can
# negate with your permissions plugin
ExplicitDisguises: false
# What should the default permissions be for seeing commands?
# This is a config option because I can't verify if they should be able to see commands normally due to my
# permissions system. My system is complex, but its a ton of control.
# This isn't an issue normally, but I recently received complaints from someone who doesn't believe in permissions...
# Some of you may also wish to hide these commands!
# The permissions for commands are a simple 'libsdisguises.seecmd.command' where 'command' can be
# 'disguise', 'undisguise' etc. A simple 'libsdisguises.seecmd' permission may also work for children
# If you change this while the server is running, players may need to rejoin for it to take effect
# Remember that command blocks need 'TRUE' or 'OP' to use the commands.
# TRUE = Everyone can see this, the default. Can be negated with permissions
# FALSE = No one can see this without permissions to allow it
# OP = Only operators can see this
# NOT_OP = Only non operators can see this
SeeCommands: TRUE
# Whats the max size allowed for command disguiseradius
DisguiseRadiusMax: 50
# Whats the max size allowed for command undisguiseradius
UndisguiseRadiusMax: 50
# A option to choose how many seconds a DisguiseEntity command is valid for people to right click a entity to disguise it before expiring
DisguiseEntityExpire: 10
# Another option to choose the same thing for DisguiseClone command
DisguiseCloneExpire: 10
# Max disguises to store at a time with the DisguiseClone command
DisguiseCloneSize: 3

View File

@@ -0,0 +1,72 @@
# This config file is for saving disguises so that you can reuse them without typing the entire disguise out.
# The best way to use this is with /savedisguise or /saveskin
# /saveskin MyCustomSkin <SkinName> - Where <SkinName> can be an url, file in LibsDisguises/skins or player name
# Then use /disguise player MyCustomSkin - To test it
# You can also use /savedisguise MyCustomDisguise player KingKiller setskin <SkinName> - With the same 3 types of skin
# as above
# It is strongly recommended you use /savedisguise instead of editing this file!
# You can use that command in console or ingame! This helps eliminate user error!
# Here you can create your own disguises and disguise into them using the normal disguise commands
# To create them is super simple, you're using it just like you would in a command. The only tricky thing is that it must be valid yaml. TIP: Enclose the strings in '
# Please note that this is parsed exactly like a command, no spaces in your playername. Bypass by quoting with "!
# You can use /grabskin <Target> <Optional Name> - To get the skin data from a file, another player or website.
# /savedisguise ingame will save a custom disguise in this config, including skin data.
# You can also provide a file or url for 'setSkin'! Just as you would for /grabskin.
# The setSkin argument will be automatically done for all /savedisguise usages, this way the skin never changes.
# /copydisguise <Optional Target Name/UUID> will give you the disguise in a usable string
# You can also use placeholders in the disguises to create disguises that have the command users skin
# %name% - Replaces %name% with the command user's name.
# %skin% - Replaces %skin% with the command user's skin for use with player disguises.
# %displayname% - Replaces %displayname% with the command users displayname
# %target-name% - Finds first viable name from: Player name, entity custom nametag, then entity type (Pig, Horse, Cow)
# %target-skin% - If target is a player, replaces %target-skin% with their skin for use with player disguises
# %target-displayname% - Similar as above
# If target is not a player, will silently fail
# %held-item% - The currently held item in the main item slot
# %offhand-item% - The offhand item
# %armor% - The armor in <Item>,<Item>,<Item>,<Item> format
# %helmet% %chestplate% %leggings% %boots% - Obvious.
# These are best used in armor slots, or in settings that accept items. Can also be used alongside /copydisguise
# to get the string format of an item. By /disguise zombie setiteminmainhand %held-item% - Then /copydisguise.
# But the plugin will attempt to parse to the "simplest" format. So best used with an item that has more custom data
# than just the amount.
# These can be used again for the 'target' by prepending 'target-' to the above. So %target-armor% %target-held-item%
# Finally, you can use %libraryaddict-name% to do all this, but fetch it from the ONLINE player libraryaddict! Case sensitive.
# The below disguise would give a disguised sheep the nametag; Me: libraryaddict, Them: Sheep
# Example: 'cow setCustomName "Me: %user-name%, Them: %target-name%"'
#
# This would give the disguised target a player disguise of their own name, but using the skin of the command user
# Example2: 'player %target-name% setSkin %user-skin%'
# The following disguises will work if you remove the '#' at the beginning of the line, this creates a disguise which you can use by /disguise libraryaddict
Disguises:
libraryaddict: 'player libraryaddict setArmor GOLDEN_BOOTS,GOLDEN_LEGGINGS,GOLDEN_CHESTPLATE,GOLDEN_HELMET setItemInMainHand WRITTEN_BOOK setGlowing setSkin {"id":"a149f81bf7844f8987c554afdd4db533","name":"libraryaddict","properties":[{"signature":"afoGOO45t3iGvTyQ732AlugPOvj13/RNjM0/utYlD4PZ4ab4Jopbzr8Px75+ALdkyegoKNcfaH4aXzylMvL6mIwaRdL0af7pfGibMMCMJ8F1RAMl2WqRslKBKXHGS1OXxMweoXW+RRatGgZsUC1BjxHMwd4RuXxrV9ZZ7x1r4xouUXmMzn19wqNO9EeG2q8AgF/hZdrnJPdTTrqJs04r4vCQiFiQsTWiY/B5CBOTh6fw4NpOHeeiJwHOLvN+6xKnAm77nKawaKCSciDwt54EeZoE/Q5ReQUEFgj++jdyHb5PJbhGytr//mazpTVzvlDnO06CZqigbiueV2/ush2gKSXQeimCXeNZzcj/CFgqAmMSEZQW3qHp+DgoqqtBNabJa0FBzpbQQ/jQWzoHfmUC/hTf0A0+hgOe4NqDc+xXYf4A9M/6/0JHz0voWhQJi8QriM699DeeUa31bVdTdKjcyK6Zw6/HIOJt++eFnkf++/zKt0fMiqfdRamSqR/K3w+Kk7cs2D345BNubl5L83YWmLbebUcAPKaza5gi17lUW+h/FitzfKAJZ+xsfSdj27nQLa24xYsyB3Fi5DcFLI2oQt5BYAvViT37sabGOXbDBsrijS4t3++mIbC+pCDiKi0hwZzvy0TPRTle2RMhJ6D66DmpykwqBOxzD73fEsieWX4=","name":"textures","value":"eyJ0aW1lc3RhbXAiOjE0ODA1MjA3NjAxNTksInByb2ZpbGVJZCI6ImExNDlmODFiZjc4NDRmODk4N2M1NTRhZmRkNGRiNTMzIiwicHJvZmlsZU5hbWUiOiJsaWJyYXJ5YWRkaWN0Iiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS84ZTQ5NDVkMzZjZjVhNjI1OGZjOGY4ZTM5NmZlZWYzMzY1ZjM2MjgyYjE2MjY0OWI2M2NmZWQzNzNmNzY1OSJ9LCJDQVBFIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWZkNjFjM2M0YWM4OGYxYTM0NjhmYmRlZWY0NWNlYzg5ZTVhZmI4N2I5N2ExYTg0NWJmYjNjNjRmZDBiODgzIn19fQ=="}]}'
# Warrior: 'zombie setArmor DIAMOND_BOOTS,DIAMOND_LEGGINGS,DIAMOND_CHESTPLATE,DIAMOND_HELMET setItemInMainHand DIAMOND_SWORD setItemInOffHand SHIELD'
# Topsy: 'player Dinnerbone setSkin %target-skin%'
# This is not recommended for use! It's mainly useful if you want custom entities and the client has a mod installed!
# If an option is missing, then it means Lib's Disguises will not do sanity checks for that.
# No mod = Everyone gets sent it, otherwise only those with the mod will get the disguise.
# You MUST restart the server after adding anything!
# To repeat, this is for forge mod entities!
Custom-Entities:
# Librarian:
# Name: libaddict:librarian # Must be a minecraft:sheep type of name, if invalid will not load
# Register: true # This means Lib's Disguises should register the EntityType in nms, not another plugin
# Type: LIVING # MISC, LIVING - What type of disguise type, doesn't support custom packets
# Mod: LibAttacks # The mod they need installed
# If exists, will prevent anyone without the mod from joining with this error
# Required: 'Install LibAttacks! Download it from our site!'
# Channels: librarian:channel|1 # Sometimes a mod needs a channel enabled.. Seperate each channel with a comma.
# The channels also want a protocol version, which is normally 1 or 1.0

View File

@@ -0,0 +1,41 @@
# This config file is for features that are something the server might want to customize!
# THIS IS A PREMIUM ONLY FEATURE. TO USE IT, PURCHASE THE PLUGIN.
# Saves disguises so that they persist after server shutdown, chunks unload, player logouts and so on.
# As such, this completely replaces the KeepDisguises aspect which has been removed except for the player death.
# Players - Are player disguises saved
# Entities - Are entities disguises saved (This is everything that's not a player)
# If you are using the dev builds, place your premium version of Lib's Disguises.jar inside the LibsDisguises folder
# This will enable premium only features for the dev builds.
# The saved disguises are saved in a json file format inside the plugin folder, there will be no other formats
SaveDisguises:
Players: false
Entities: false
# Does the player keep their disguise after they die?
KeepDisguises:
PlayerDeath: false
# Shall I disguise the sounds?
# This turns your damage sound into a MOOOO
DisguiseSounds: true
# Turn this to true to have players undisguised when switching worlds
UndisguiseOnWorldChange: false
# Disguises have a 'setExpires' option which removes the disguise after a set amount of time
# By default, this is set to false which means it expires 9 minutes afterwards, even if they logged off.
# If true, it means they will experience the full 9 minutes, even if they log on for just a minute per day
# Expired message can be hidden with an empty translation message
DynamicExpiry: false
# When disguised, should a message be displayed to the player? If so, where?
# The message can be customized in translations
# BOSS_BAR is not supported in 1.12!
# NONE, BOSS_BAR, ACTION_BAR
NotifyBar: ACTION_BAR
# If using boss bar, these two options come into play
# https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/boss/BarColor.html
BossBarColor: GREEN
# https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/boss/BarStyle.html
BossBarStyle: SOLID

View File

@@ -0,0 +1,30 @@
# This config is for options that are about Libs Disguises itself, not the disguises.
# Contact Mojang's servers? Disabling this option will disable player disguises if there's no skin to use!
ContactMojangServers: true
# Should the plugin use translations? Note that a player must see the message before it will appear in translations.yml
Translations: false
# Shall I notify those with the correct permission when there's a LibsDisguises update?
# Disabling this will also disable notifications when the plugin updated
NotifyUpdate: true
# Should the plugin automatically update?
AutoUpdate: true
# Where should the plugin check for updates?
# SAME_BUILDS - Will check snapshots if you're not using a release build
# RELEASES - Only check for actual releases
# SNAPSHOTS - Only check for new snapshots
UpdatesBranch: SAME_BUILDS
# You can also get this information through /libsdisguises config
# Should the plugin output missing config options instead of just counting them
VerboseConfig: false
# Should the plugin output changed config options? Will also list unknown extra options
ChangedConfig: false
# Should the config automatically update itself each time there's a config entry missing?
# The old config will have any custom comments or invalid config entries wiped.
UpdateConfig: true

View File

@@ -0,0 +1,50 @@
# This config file is about the names that appear over heads! A fair bit of player disguise stuff is in players.yml however
# This is only called into action when the disguise is constructed using the commands.
# And when the disguise supports that. This will not be used at all for plugins constructing the disguises for instance.
# Such as prophunt. Its also false because its kind of a retarded feature.
# This is pretty simple. It shows the players displayname (Name as it appears in chat) above their head.
# This also overrides any custom name they have set in their disguise options.
# This does not take effect on player disguises
# Permission to disable is libsdisguises.disablename
ShowNamesAboveDisguises: false
# This supports the above option.
# If this is true, then the name shown above the head appears regardless of if you are looking at the disguise directly or not.
NameAboveHeadAlwaysVisible: true
# What should the name be shown as?
# Two placeholders can be used.
# %simple% = The very basic name, 'libraryaddict'
# %complex% = Name will be grabbed from scoreboard or display name if scoreboard fails.
NameAboveDisguise: '%complex%'
# There are four options you can use
# VANILLA - Names are limited to 16 chars but can't be changed without resending disguise
# TEAMS - Names are limited to 32 chars but can be changed willy nilly
# EXTENDED - Names are limited to 48 chars but can't be changed without resending disguise
# ARMORSTANDS - Names are limited to 256 chars, uses a mix of armorstands and teams to do this. Slightly hacky.
# Downside of armorstand names is that there's a chance of it becoming desynced from the player disguise
# And names will always display even if the entity is invisible using potion effects
# With ArmorStands & the Premium version, you can also use multiple lines in the nametag, use \n as a seperator.
# Read the next option for more information.
PlayerNames: TEAMS
# If doing ARMORSTANDS in the above option, should CustomNames for non-player disguises be overridden to use armorstands too?
# This allows multiline names if you have purchased the plugin
# Use \n for a new line, though if you're doing it in a config you may need to use \\n as " and ' are treated differently.
OverrideCustomNames: true
# More options in case you want to disable a specific setting of the scoreboard
# You can customize self disguises scoreboard in players.yml
Scoreboard:
# Should it modify the scoreboard to turn collisions off?
Collisions: true
# Should it modify the scoreboard teams to disable seeing friendly invisibles?
DisableFriendlyInvisibles: true
# Should the scoreboard warn you if it detects a potential conflict?
# If self disguises are disabled, or the scoreboard is using IGNORE_SCOREBOARD then this does nothing.
WarnConflict: true
# When disguising as a player, should the prefix/suffix of the player disguise name copy the team info?
# Only takes effect if using PlayerNames TEAMS or ARMORSTANDS
CopyPlayerTeamInfo: true

View File

@@ -0,0 +1,47 @@
# This config file is for settings that are about the players themselves, and the player disguises!
# MineSkin will at a later date give you less delay for skin requests, if you fill this in with a valid API you too can take advantage of this!
# This requires you to have a Minecraft account registered with MineSkin, that account must be owned by you and will have its skin changed constantly.
# https://mineskin.org/apikey
MineSkinAPIKey: 'N/A'
# Shall the players view their disguises?
# Best used when viewing yourself in 3rd person
ViewSelfDisguises: true
# Are self disguises enabled by default
# Default is true
ViewSelfDisguisesDefault: true
# Shall the disguised hear their disguise sounds or their damage sounds.
# I disable this as it can be a little confusing when not used with self disguises
HearSelfDisguise: true
# Some disguises are rather big and tall and block your vision
# By default those disguises are enabled despite misgivings, such as zombies, players, etc.
# The baby versions however, should be short enough that it's a non-issue
TallSelfDisguises: true
# How should the plugin handle self disguises scoreboards? It disables pushing in whichever team they're assigned.
# If you want them to be able to push again when they undisguise, set this to CREATE_SCOREBOARD
# I have to disable pushing or you will be pushed around by your own self disguise
# MODIFY_SCOREBOARD - Modifies the player's current team if possible, otherwise assigns them to a new scoreboard team.
# IGNORE_SCOREBOARD - Doesn't touch scoreboards at all, effectively means that if you didn't disable pushing in their scoreboard team; They will still be pushed around
# CREATE_SCOREBOARD - Creates a new team which copies the attributes of their previous scoreboard team which they are then assigned to. This means they keep nametag color and other options.
SelfDisguisesScoreboard: MODIFY_SCOREBOARD
# Hide players in tab when disguised? This means a disguised player cannot be seen when you press tab! This can be toggled on/off per disguise
HideDisguisedPlayersFromTab: false
# Always show player disguises in tab? The names will continue to appear in tab until the disguise is removed.
ShowPlayerDisguisesInTab: false
# On player disguise, a fake player is added to tablist so the skin can load properly.
# This option is ignored if 'ShowPlayerDisguisesInTab' is enabled.
# How many ticks before tab packet is sent to remove from tablist. This shouldn't need to be touched
TablistRemoveDelay: 3
# To prevent skins from defaulting to alex/steve, there is a timer that only expires after X ticks or when the player moves
# You shouldn't actually touch this, but eh. Your server.
# Default is 5 seconds
PlayerDisguisesTablistExpiresMove: 100

View File

@@ -0,0 +1,75 @@
# This config is for options that should only be touched if you're having compatibility issues with other plugins
# Some players have issues with conflicting plugins where disguised entities will show the wrong armor
# This should be left alone unless you're trying to solve this issue. Such as MM and stone blocks.
# When true, the plugin will hide player disguises armor to prevent a minor visual bug for half a second
PlayerHideArmor: true
# Some disguises have randomized options on disguise, such as a fox type or a villager breed.
# This may be problematic for some server owners, so you can disable it below
RandomDisguiseOptions: true
# For self disguises, they need to have the armor and the held item removed
# Else they see floating armor, floating held items.
# This turns the items invisible in the disguised players inventory. It does not actually remove them!
RemoveArmor: true
RemoveHeldItem: false
# An exception for creative mode as this can actually delete the item from the inventory due to creative being weird
RemoveCreativeEquipment: false
# If you set a disguise to burning, it will no longer be able to be shown as sneaking or invisible.
# Set this to true if you want the disguise to get the animations of the disguised entity. Such as invisible, on fire, sprinting, sneaking, blocking
# This is only valid if you set a animation on the disguise itself. Because the entity's animations are applied otherwise.
AddEntityAnimations: true
# This controls if a entity's max health is determined by the entity, or by the disguise.
# Wither is 200, a player is 20. With this enabled, a player disguised as a wither will have the boss bar health accurate to the players health.
# Else it will be 1/20 of the boss bar when they are full health.
# Setting this in LivingWatcher overrides both values.
MaxHealthDeterminedByEntity: true
# This here is a option to turn off misc disguises.
# This means you can not have a living entity disguise as a non-living entity.
# This disables the Attributes packet, Non-living entities can still disguise as other non-living
# This means that the above option will not work as it uses the attribute packet.
MiscDisguisesForLiving: true
# Shall I send the velocity packets? I REALLY recommend you don't disable.
# This is the only thing allowing the mobs to fly without glitching out.
SendVelocity: true
# This will help performance, especially with CPU
# Due to safety reasons, self disguises can never have their packets disabled.
PacketsEnabled:
# This disables the animation packet. If a disguised entity sends a animation packet and they are using a non-living disguise. People will crash.
# Disabling this also means that if a player disguised as a non-player leaves a bug. People will crash
Animation: true
# This disguises the collect packet. If a living entity disguised as a non-living entity picks up a item. People will crash. This fixes it
# This also fixes people crashing if a item disguised as a sleeping player is picked up - Only true if Bed is enabled as well
Collect: true
# This disables a fix for when a disguised entity wearing armor dies, if the disguise can wear armor. It drops unpickupable items to anyone watching.
EntityStatus: true
# Entity equipment is the packets that are sent to ensure that a disguise has or doesn't have armor, and their held item.
# Disabling this means that any disguises which can wear armor or hold items will show the armor/held item that the disguised is wearing.
Equipment: true
# This doesn't actually disable the packet. It would introduce problems. Instead it does the next best thing and caches the data.
# This means that entity metadata will not change, and will only be sent in the spawn packet.
# This is good if performance is extremely in need.
# This is bad to disable unless you are ONLY going to use the disguises for decorations.
# To be honest. This is basically "Disable entity animations". That option is called 'AddEntityAnimations' in the config but unlike that, this is always in effect.
# Animations set by use of the api or through the disguise command are still in effect.
Metadata: true
# Movement packets are the biggest cpu hit. These are majorly used to ensure that the disguises facing direction isn't bugged up.
# If you are using the Item_Frame disguise, when a packet is sent (Roughly every 2min) the disguise will bug up until they move.
Movement: true
# Disable this if you don't mind crashing everytime you see someone riding something disguised as a non-living entity
Riding: true
# When disguised as a wither skull, it sends a look packet every tick so that the wither skull is facing the right way.
WitherSkull: true
# This is only used when using a modded disguises thingy, check disguises.yml for more info
# This is used as a hack to bypass bungeecord issues
LoginPayload: true
# Added to support a Chinese Minecraft Server which uses their own skin server unless the UUID is not version 4.
# Changing this from 4 to say, 3. Means their server will fetch skins from Mojang instead.
UUIDVersion: 4

View File

@@ -0,0 +1,41 @@
# This config is called sanity, because you shouldn't need to change the stuff in here
#Stop shulker disguises from moving, they're weird. This option only effects PLAYERS that are disguised, other entities disguised as shulkers will NOT be effected!
StopShulkerDisguisesFromMoving: true
# This means that the plugin doesn't need to constantly call Mojang just to find a skin for an offline player
# However some people may prefer to disable this.
# Even if you disable this, if there was disguises in the cache already then it will use them
SaveGameProfiles: true
# This option is useless if you don't enable SaveGameProfiles!
# If a player has been disguised before and their skin saved into the cache
# When they join the server will automatically update the cache in case they changed their skin
UpdateGameProfiles: true
# This modifies the bounding box, This is stuff like can a arrow hit them.
# If you turn this to true, arrows will act like they hit the disguise in the right place!
# Clients will not see any difference in the hitboxes they are attacking, this is a server-sided calculation!
# So someone disguised as a enderdragon will easily get shot down by arrows!
# This WILL conflict with NoCheatPlus. Other plugins may also get problems.
# This shouldn't really be enabled for players as it also interferes with their movement because the server thinks
# the player is larger than they really are.
# That makes the player unable to approach this building because the server thinks they are trying to glitch inside
# blocks.
# This feature is highly experimental and is guaranteed to cause problems for players who are disguised
ModifyBoundingBox: false
# When a sheep or wolf is right clicked with dye. The client automatically assumes it was successful and displays the sheep's wool or the wolfs collar as dyed.
# This is a option that either prevents that happening, or it changes their color officially in the plugin so that everyone sees it changed.
# Its currently set to false which means that the color is not changed and will refresh itself to the player.
# Please note that this will not remove the dye from their hands. This also does not check if the disguised entity is actually a sheep/wolf and wants a say in its color.
DyeableSheep: false
DyeableWolf: false
DyeableCat: false
# Can a player interact with a llama with carpet to set or change their carpet color?
CarpetableLlama: false
# Can a player interact with a non-saddled horse of any type, to give it a saddle?
# This does not change what you can ride or control!
SaddleableHorse: false

View File

@@ -0,0 +1,20 @@
# Sometimes you just want to have a disguise play different sounds than what it should do
# Like a cow making skeleton noises instead. Or you want to use a resource pack, or do your own special noises instead
# You can set the sounds to play in config with 'setSoundGroup' and below you can make your own sound groups!
# The default disguises already have their sound groups and you cannot use their names.
# This means no 'PLAYER' 'COW' etc
# This is an example group, 'GroupName' will never be loaded.
GroupName:
# If you don't set one of these options, or it is empty. Then no sound will be played for that sound type
# So if hurt is missing, it won't play a hurt noise
# Alternatively, you could use "COW" which refers to the "COW" soundgroup, and loads the category from that!
# Idle:
# - COW
Idle:
- minecraft:some.idle.sound
Hurt:
- minecraft:some.hurt.sound
Death:
- minecraft:some.death.scream.sound
Step:
- minecraft:some.step.sound

View File

@@ -0,0 +1,14 @@
# If you're using BisectHosting, this will tell the server to enable premium for free!
# However if you're not using BisectHosting, this is false so the server won't waste time
# Coupon 'libraryaddict' for 25% off your first invoice on any of their gaming server
# Be sure to visit through this link! https://bisecthosting.com/libraryaddict
Bisect-Hosted: %data%
Server-IP: %data%
# Should the plugin be doing release or dev builds updating?
ReleaseBuild: %data%
# Make sure the plugin aint spamming update requests
LastUpdateCheck: %data%
HittingRateLimit: %data%
LastGithubETag: %data%
LastPluginVersion: %data%
Data: %data%

View File

@@ -0,0 +1,206 @@
name: LibsDisguises
main: me.libraryaddict.disguise.LibsDisguises
description: A disguise plugin with various disguises.
version: ${project.version}
build-date: ${timestamp}
build-number: ${build.number}
author: libraryaddict
authors: [Byteflux, Navid K.]
softdepend: [ProtocolLib, LibsDisguisesVersioning]
api-version: '1.13'
commands:
libsdisguises:
aliases: [libsdisg, ld]
description: Main command for libsdisguises.
disguise:
aliases: [d, dis, disg]
permission: libsdisguises.seecmd.disguise
description: Disguise yourself as an entity.
disguiseentity:
aliases: [dentity, disentity, disgentity]
permission: libsdisguises.seecmd.disguiseentity
description: Disguise an entity as another entity.
disguisehelp:
aliases: [dhelp, dishelp, disghelp]
permission: libsdisguises.seecmd.disguisehelp
description: Help command for LibsDisguises.
disguiseplayer:
aliases: [dplayer, displayer, disgplayer, disguiseuuid, disguuid, duuid]
permission: libsdisguises.seecmd.disguiseplayer
description: Disguise another player as an entity.
disguiseradius:
aliases: [disradius, dradius, disgradius]
permission: libsdisguises.seecmd.disguiseradius
description: Disguise all entities within a radius as an entity.
undisguise:
aliases: [und, undis, undisg]
permission: libsdisguises.seecmd.undisguise
description: Undisguise yourself.
undisguiseentity:
aliases: [undisentity, undentity, undisgentity]
permission: libsdisguises.seecmd.undisguiseentity
description: Undisguise an entity.
undisguiseplayer:
aliases: [undisplayer, undplayer, undisgplayer, undisguiseuuid, unduuid, undisguuid]
permission: libsdisguises.seecmd.undisguiseplayer
description: Undisguise a player.
undisguiseradius:
aliases: [undisradius, undradius, undisgradius]
permission: libsdisguises.seecmd.undisguiseradius
description: Undisguise all entities within a radius.
disguiseclone:
aliases: [disguisec, disc, disclone, dclone, clonedisguise, clonedis, cdisguise, cdis, clonedisg, disgclone]
permission: libsdisguises.seecmd.disguiseclone
description: Copy a disguise (or entity) and use it later.
disguiseviewself:
aliases: [dviewself, dvs, disguisevs, disvs, vsd, viewselfdisguise, viewselfd, selfdisguise, selfdisg, selfd]
permission: libsdisguises.seecmd.viewself
description: Toggle seeing your own disguise on or off.
disguiseviewbar:
aliases: [dviewbar, dvb, disguisevb, disvb, viewdisguisebar, viewbardisguise, bardisguise, bardisg, bard,
notifybar, viewnotifybar, disguisenotifybar, disgnotifybar, dnotifybar]
permission: libsdisguises.seecmd.viewself
description: Toggle seeing your own disguise on or off.
disguisemodify:
aliases: [dmodify, dmod, disgmodify, modifydisguise, moddisguise, mdisguise]
permission: libsdisguises.seecmd.disguisemodify
description: Modify your own disguise
disguisemodifyplayer:
aliases: [dmodifyplayer, dmodplayer, disgmodifyplayer, dismodplayer, disgmodplayer, modifydisguiseplayer,
moddisguiseplayer, mdisguiseplayer, mdisgplayer, dmodifyuuid, dmoduuid, disgmodifyuuid, dismoduuid, disgmoduuid, modifydisguiseuuid,
moddisguiseuuid, mdisguiseuuid, mdisguuid]
permission: libsdisguises.seecmd.disguisemodifyplayer
description: Modify the disguise of a player
disguisemodifyradius:
aliases: [dmodifyradius, dmodradius, disgmodradius, dismodradius, modifydisguiseradius, modifydisgradius,
moddisguiseradius, mdisguiseradius, moddisgradius]
permission: libsdisguises.seecmd.disguisemodifyradius
description: Modify disguises in a radius
disguisemodifyentity:
aliases: [dmodifyentity, dmodentity, disgmodentity, dismodentity, modifydisguiseentity, modifydisgentity,
modifydentity, moddisguiseentity, moddisgentity, mdisguiseentity, mdisgentity]
permission: libsdisguises.seecmd.disguisemodifyentity
description: Modify a disguise by right clicking them
copydisguise:
aliases: [disguisecopy, disgcopy, dcopy, copydisg, copyd, parsedisguise, disguiseparse]
permission: libsdisguises.seecmd.copydisguise
description: Output a disguise to a usable string
grabskin:
aliases: [uploadskin, skin, saveskin, cacheskin, downloadskin, skincache]
permission: libsdisguises.seecmd.grabskin
description: Grab a skin from file, url or player name/uuid
savedisguise:
aliases: [customdisguise, savedisg, customdisg, createdisguise, createdisg]
permission: libsdisguises.seecmd.savedisguise
description: Save a custom disguise to disguises.yml
grabhead:
aliases: [grabskull, playerhead, savehead, gethead]
permission: libsdisguises.seecmd.grabhead
description: Grab the head item of a skin, url or player
permissions:
libsdisguises.reload:
description: Allows the user to reload LibsDisguises.
libsdisguises.update:
description: Allows the user to update Libs Disguises
libsdisguises.count:
description: Allows the user to see how many disguises are active
libsdisguises.mods:
description: Allows the user to see mods in use.
libsdisguises.seethrough:
description: Allows player to see through disguises.
default: false
libsdisguises.hidename:
description: Allows player to ignore name being forced above disguise
default: false
libsdisguises.pve:
description: Allows player to ignore pve restrictions.
default: false
libsdisguises.pvp:
description: Allows player to ignore pvp restrictions.
default: false
libsdisguises.permtest:
description: Allows player to test permissions
libsdisguises.metainfo:
description: Allows player to get meta info
libsdisguises.json:
description: Allows player to parse held item to json
libsdisguises.scoreboardtest:
description: Test if the scoreboard is valid, this is a simple test.
libsdisguises.config:
description: Allows player to check Lib's Disguises config for values
libsdisguises.debug:
description: Allows a server admin to test a player disguise for scoreboard issues
libsdisguises.noactionbar:
description: Hides the action bar even if enabled in config
default: false
libsdisguises.multiname:
description: Allows the command user to set names on different heights
libsdisguises.grabhead:
description: Allows the command user to use /grabhead
libsdisguises.ratelimitbypass:
description: Allows a living player to bypass the 500ms rate limit on disguise commands, used to prevent crashes
libsdisguises.seecmd:
description: See all commands in tab-completion
default: true
children:
libsdisguises.seecmd.disguise: true
libsdisguises.seecmd.disguiseentity: true
libsdisguises.seecmd.disguisehelp: true
libsdisguises.seecmd.disguiseplayer: true
libsdisguises.seecmd.disguiseradius: true
libsdisguises.seecmd.undisguise: true
libsdisguises.seecmd.undisguiseentity: true
libsdisguises.seecmd.undisguiseplayer: true
libsdisguises.seecmd.undisguiseradius: true
libsdisguises.seecmd.disguiseclone: true
libsdisguises.seecmd.disguiseviewself: true
libsdisguises.seecmd.disguiseviewbar: true
libsdisguises.seecmd.disguisemodify: true
libsdisguises.seecmd.disguisemodifyplayer: true
libsdisguises.seecmd.disguisemodifyradius: true
libsdisguises.seecmd.disguisemodifyentity: true
libsdisguises.seecmd.copydisguise: true
libsdisguises.seecmd.grabskin: true
libsdisguises.seecmd.savedisguise: true
libsdisguises.seecmd.grabhead: true
libsdisguises.seecmd.disguiseviewself:
description: See the /disguiseviewself command in tab-completion
libsdisguises.seecmd.disguiseviewbar:
description: See the /disguiseviewbar command in tab-completion
libsdisguises.seecmd.disguise:
description: See the /disguise command in tab-completion
libsdisguises.seecmd.disguiseentity:
description: See the /disguiseentity command in tab-completion
libsdisguises.seecmd.disguisehelp:
description: See the /disguisehelp command in tab-completion
libsdisguises.seecmd.disguiseplayer:
description: See the /disguiseplayer command in tab-completion
libsdisguises.seecmd.disguiseradius:
description: See the /disguiseradius command in tab-completion
libsdisguises.seecmd.undisguise:
description: See the /undisguise command in tab-completion
libsdisguises.seecmd.undisguiseentity:
description: See the /undisguiseentity command in tab-completion
libsdisguises.seecmd.undisguiseplayer:
description: See the /undisguiseplayer command in tab-completion
libsdisguises.seecmd.undisguiseradius:
description: See the /undisguiseradius command in tab-completion
libsdisguises.seecmd.disguiseclone:
description: See the /disguiseclone command in tab-completion
libsdisguises.seecmd.disguisemodify:
description: See the /disguisemodify command in tab-completion
libsdisguises.seecmd.disguisemodifyplayer:
description: See the /disguisemodifyplayer command in tab-completion
libsdisguises.seecmd.disguisemodifyradius:
description: See the /disguisemodifyradius command in tab-completion
libsdisguises.seecmd.disguisemodifyentity:
description: See the /disguisemodifyentity command in tab-completion
libsdisguises.seecmd.copydisguise:
description: See the /copydisguise command in tab-completion
libsdisguises.seecmd.grabskin:
description: See the /grabskin command in tab-completion
libsdisguises.seecmd.savedisguise:
description: See the /savedisguise command in tab-completion
libsdisguises.seecmd.grabhead:
description: See the /grabhead command in tab-completion