diff --git a/shaded/src/main/resources/configs/commands.yml b/shaded/src/main/resources/configs/commands.yml index f970f3e5..3a8a5d59 100644 --- a/shaded/src/main/resources/configs/commands.yml +++ b/shaded/src/main/resources/configs/commands.yml @@ -25,7 +25,7 @@ Permissions: # 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. + # permissions system. My system is complex, but it's 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 diff --git a/shaded/src/main/resources/configs/dangerous.yml b/shaded/src/main/resources/configs/dangerous.yml new file mode 100644 index 00000000..a21c9d2d --- /dev/null +++ b/shaded/src/main/resources/configs/dangerous.yml @@ -0,0 +1,49 @@ +# 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 + +# 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: ARMORSTANDS + +# 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 + +# What disguise types are default to OP only, because they are prone to abuse. +# By default, this contains TEXT_DISPLAY, ITEM_DISPLAY, BLOCK_DISPLAY and INTERACTION +DisabledDisguises: + - TEXT_DISPLAY + - ITEM_DISPLAY + - BLOCK_DISPLAY + - INTERACTION + +# These disguise methods are also limited to OP only, because they're open to abuse +# setInvisible has overlap with the config option for disabled invsibility, if either is used, it will be disabled. +# Thankfully, only trusted people are OP. So this doesn't need further configuration. +# Command users who has the permission return true for "libsdisguises.*.*.*" will also have access. +DisabledMethods: + - setYModifier + - setNameYModifier + - setInvisible \ No newline at end of file diff --git a/shaded/src/main/resources/configs/nametags.yml b/shaded/src/main/resources/configs/displays.yml similarity index 73% rename from shaded/src/main/resources/configs/nametags.yml rename to shaded/src/main/resources/configs/displays.yml index 4698346e..e03a0276 100644 --- a/shaded/src/main/resources/configs/nametags.yml +++ b/shaded/src/main/resources/configs/displays.yml @@ -19,17 +19,6 @@ NameAboveHeadAlwaysVisible: true # %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: ARMORSTANDS - # 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. @@ -47,4 +36,21 @@ Scoreboard: 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 \ No newline at end of file + CopyPlayerTeamInfo: true + +# 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 + +# 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 \ No newline at end of file diff --git a/shaded/src/main/resources/configs/combat.yml b/shaded/src/main/resources/configs/events.yml similarity index 70% rename from shaded/src/main/resources/configs/combat.yml rename to shaded/src/main/resources/configs/events.yml index 26dbc684..80161a7f 100644 --- a/shaded/src/main/resources/configs/combat.yml +++ b/shaded/src/main/resources/configs/events.yml @@ -1,4 +1,15 @@ -# This config file is for settings that effects combat! +#Stop shulker disguises from moving, they're weird. +# This will only stop players that were disguised as a shulker from moving, any other entity will not be affected. +StopShulkerDisguisesFromMoving: true + +# Turn this to true to have players undisguised when switching worlds +UndisguiseOnWorldChange: false + +# Should the disguise be removed if the disguised player places a block? +UndisguiseOnBlockPlace: false + +# Should the disguise be removed if the disguised player breaks a block? +UndisguiseOnBlockBreak: false # This prevents disguised players from being targeted by monsters. # This doesn't prevent their targeting you if already targeting when disguised @@ -26,4 +37,4 @@ 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 +PvPTimer: 5 \ No newline at end of file diff --git a/shaded/src/main/resources/configs/features.yml b/shaded/src/main/resources/configs/features.yml deleted file mode 100644 index 9fdda868..00000000 --- a/shaded/src/main/resources/configs/features.yml +++ /dev/null @@ -1,64 +0,0 @@ -# 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 - -# Should the disguise be removed if the disguised player places a block? -UndisguiseOnBlockPlace: false - -# Should the disguise be removed if the disguised player breaks a block? -UndisguiseOnBlockBreak: 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 - -# What disguise types are default to OP only, because they are prone to abuse. -# By default, this contains TEXT_DISPLAY, ITEM_DISPLAY, BLOCK_DISPLAY and INTERACTION -DisabledDisguises: - - TEXT_DISPLAY - - ITEM_DISPLAY - - BLOCK_DISPLAY - - INTERACTION - -# These disguise methods are also limited to OP only, because they're open to abuse -# setInvisible has overlap with the config option for disabled invsibility, if either is used, it will be disabled. -# Thankfully, only trusted people are OP. So this doesn't need further configuration. -# Command users who has the permission return true for "libsdisguises.*.*.*" will also have access. -DisabledMethods: - - setYModifier - - setNameYModifier - - setInvisible \ No newline at end of file diff --git a/shaded/src/main/resources/configs/libsdisguises.yml b/shaded/src/main/resources/configs/libsdisguises.yml index 107b4b15..8b674921 100644 --- a/shaded/src/main/resources/configs/libsdisguises.yml +++ b/shaded/src/main/resources/configs/libsdisguises.yml @@ -1,11 +1,11 @@ -# This config is for options that are about Libs Disguises itself, not the 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' # 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 @@ -27,4 +27,32 @@ 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 \ No newline at end of file +UpdateConfig: true + +# You shouldn't need to touch this, but if you do; This was added so scoreboard stuff that affects a certain UUID, will still continue to affect that UUID +# This doesn't affect player disguises as those would be severely impacted +# If you are getting issues using this, please do not report them. You disable this at your own risk. +RandomUUIDs: true + +# Player disguises by default generate a unique UUID per disguise, this will disable it if 'false' and may create issues +UniquePlayerUUID: true + +# When you for some strange reason don't want PacketEvents to update, enable this! +# Disclaimer: If you enable this, you are responsible for ensuring PacketEvents is up to date. +NeverUpdatePacketEvents: false + +# 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 + +# 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 \ No newline at end of file diff --git a/shaded/src/main/resources/configs/premium.yml b/shaded/src/main/resources/configs/premium.yml new file mode 100644 index 00000000..f477812f --- /dev/null +++ b/shaded/src/main/resources/configs/premium.yml @@ -0,0 +1,19 @@ +# THESE ARE PREMIUM ONLY FEATURES. TO USE THEM, 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 + +# Should the plugin use translations? Note that a player must see the message before it will appear in translations.yml +Translations: false \ No newline at end of file diff --git a/shaded/src/main/resources/configs/protocol.yml b/shaded/src/main/resources/configs/protocol.yml index 1da408a7..8605052d 100644 --- a/shaded/src/main/resources/configs/protocol.yml +++ b/shaded/src/main/resources/configs/protocol.yml @@ -1,5 +1,9 @@ # This config is for options that should only be touched if you're having compatibility issues with other plugins +# Shall I disguise the sounds? +# This turns your damage sound into a MOOOO +DisguiseSounds: true + # 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 @@ -9,14 +13,6 @@ PlayerHideArmor: true # 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. @@ -73,3 +69,18 @@ PacketsEnabled: # 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 + +# 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 \ No newline at end of file diff --git a/shaded/src/main/resources/configs/sanity.yml b/shaded/src/main/resources/configs/sanity.yml deleted file mode 100644 index 60e6cad3..00000000 --- a/shaded/src/main/resources/configs/sanity.yml +++ /dev/null @@ -1,53 +0,0 @@ -# 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 - -# You shouldn't need to touch this, but if you do; This was added so scoreboard stuff that affects a certain UUID, will still continue to affect that UUID -# This doesn't affect player disguises as those would be severely impacted -# If you are getting issues using this, please do not report them. You disable this at your own risk. -RandomUUIDs: true - -# Player disguises by default generate a unique UUID per disguise, this will disable it if 'false' and may create issues -UniquePlayerUUID: true - -# When you for some strange reason don't want PacketEvents to update, enable this! -# Disclaimer: If you enable this, you are responsible for ensuring PacketEvents is up to date. -NeverUpdatePacketEvents: false \ No newline at end of file diff --git a/shaded/src/main/resources/configs/players.yml b/shaded/src/main/resources/configs/self_disguise.yml similarity index 61% rename from shaded/src/main/resources/configs/players.yml rename to shaded/src/main/resources/configs/self_disguise.yml index 19c6c9e3..2657b8aa 100644 --- a/shaded/src/main/resources/configs/players.yml +++ b/shaded/src/main/resources/configs/self_disguise.yml @@ -1,9 +1,10 @@ -# 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' +# 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 # Shall the players view their disguises? # Best used when viewing yourself in 3rd person @@ -42,20 +43,4 @@ TallSelfDisguises: false # If a player looks down, they'll see a mini figure of the previously large disguise # This setting only works if the disguise wouldn't be shown as it's too tall, aka the above setting is false # This will only work on living disguises! -TallSelfDisguisesScaling: true - -# 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 \ No newline at end of file +TallSelfDisguisesScaling: true \ No newline at end of file diff --git a/shaded/src/main/resources/configs/sounds.yml b/shaded/src/main/resources/configs/sounds.yml index a0f698e2..019ff3f9 100644 --- a/shaded/src/main/resources/configs/sounds.yml +++ b/shaded/src/main/resources/configs/sounds.yml @@ -4,6 +4,7 @@ # 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