Modulization of NMS versions for 1.18+
This commit is contained in:
29
plugin/src/main/resources/configs/combat.yml
Normal file
29
plugin/src/main/resources/configs/combat.yml
Normal 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
|
54
plugin/src/main/resources/configs/commands.yml
Normal file
54
plugin/src/main/resources/configs/commands.yml
Normal 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
|
72
plugin/src/main/resources/configs/disguises.yml
Normal file
72
plugin/src/main/resources/configs/disguises.yml
Normal 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
|
41
plugin/src/main/resources/configs/features.yml
Normal file
41
plugin/src/main/resources/configs/features.yml
Normal 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
|
30
plugin/src/main/resources/configs/libsdisguises.yml
Normal file
30
plugin/src/main/resources/configs/libsdisguises.yml
Normal 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
|
50
plugin/src/main/resources/configs/nametags.yml
Normal file
50
plugin/src/main/resources/configs/nametags.yml
Normal 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
|
47
plugin/src/main/resources/configs/players.yml
Normal file
47
plugin/src/main/resources/configs/players.yml
Normal 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
|
75
plugin/src/main/resources/configs/protocol.yml
Normal file
75
plugin/src/main/resources/configs/protocol.yml
Normal 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
|
41
plugin/src/main/resources/configs/sanity.yml
Normal file
41
plugin/src/main/resources/configs/sanity.yml
Normal 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
|
20
plugin/src/main/resources/configs/sounds.yml
Normal file
20
plugin/src/main/resources/configs/sounds.yml
Normal 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
|
14
plugin/src/main/resources/internal.yml
Normal file
14
plugin/src/main/resources/internal.yml
Normal 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%
|
206
plugin/src/main/resources/plugin.yml
Normal file
206
plugin/src/main/resources/plugin.yml
Normal 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
|
Reference in New Issue
Block a user