Secret Life icon

Secret Life -----

A fully customizable recreation of the Secret Life YouTube series by Grian!



This documentation is written for the latest version of the plugin.
Some things might be different if you're playing on older versions!

[​IMG]
The config file of this plugin is divided into managers (which are the sections), and settings (which are the sub-sections).

For example, take the "players_manager" section of the file.
Inside it, you will find the "settings", "locations", and "messages" sub-sections.
These sub-sections can appear in every "manager" section and behave the same. They all follow VERY SPECIFIC formats.

Here's how they work:
  • "settings" -
    contains lots of different values related to its parent "manager" section, usually either a boolean (true/false) or a number.
  • "locations" -
    each item here will always have:
    • "world" - indicates what dimension this location is in. The default names in Minecraft Java are: "world" (Overworld), "world_nether" (Nether), and "world_end" (End). If the world name isn't valid, the default world will be picked instead.
    • "x" - the X coordinate of the location. Type: "double".
    • "y" - the Y coordinate of the location. Type: "double".
    • "z" - the Z coordinate of the location. Type: "double".
  • "messages" -
    each item here is a simple String, containing the message.
  • "title_messages" -
    each item here will always have:
    • "title" - the title message to present to the player.
    • "sub" - the sub-title to present to the player (the second line in the title message).
    • "fadeIn" - the amount of time (in ticks) it should take the title message to fade in.
    • "stay" - the amount of time (in ticks) the title message should stay visible for.
    • "fadeOut" - the amount of time (in ticks) it should take the title message to fade out.
  • "visual_effects" -
    each item here will always have:
    • "type" - the type of the visual effect. This value has to be Spigot's Enum name - a list of all possible values can be found here.
    • "intensity" - the amount of particles to spawn every time the effect is played.
  • "sound_effects" -
    each item here will always have:
    • "type" - the name of the sound effect, according to Minecraft's ID.
    • "volume" - the volume in which this sound effect should be played.
    • "pitch" - the pitch in which this sound effect should be played.
  • "loot_tables" -
    (currently doesn't have a mechanic to give different drop rates for different items in the table. [TBD]!)
    each item here will always have:
    • "loot" - a list of strings, each one being the name of an item (Minecraft's item ID) you can get in this loot table. However, there are certain additional rules here:

    • If you've included "enchanted_book" in the "loot" list, you must ALSO have an "enchanted_book" list in the loot table, in which you have to detail all of the possible enchants.
    • If you've included a potion ("splash_potion", "potion"...) in the "loot" list, you must ALSO have a "potion" list in the loot table, in which you have to detail all of the possible effects. The effect type has to be Spigot's Enum name - a list of all possible values can be found here.

    • Sub-lists! You may add an item to your "loot" list with the "<sub>" indicator - for example, "<sub>armor_trim". If you do so, you must also have a list with the same name, containing all of the sub-list's items - for example, "armor_trim".

      This allows you to 'bundle up' different yet similar items so they don't take TOO much space in your normal loot table, affecting your drop rates severely (since everything has the same drop rate right now, if you have 20 different armor trims in the loot table you will just get a LOT of armor trims. However, with this mechanic, ALL of the different armor trims will only occupy ONE slot of the loot table, and if it is picked, you will get a random armor trim out of the sub list).
  • "special_items" -
    each item here will always have:
    • "type" - the item's type (Minecraft's item ID).
    • "name" - a custom name for the item.
    • "lore" - a list of strings, each one representing a line in the item's lore. If you don't want the item to have any lore, you may remove the list and instead give it the value "false".
  • "tasks" -
    this section should ALWAYS contain:
    • "settings"
      • "title_format" - the format for the task's item name.
        • "<value1>" is replaced with the name of the task owner.
      • "content_format" - the format for the task content.
        • "<value1>" is replaced with the difficulty of the task.
        • "<value2>" is replaced with the task itself.
      • "can_tasks_appear_more_than_once" - controls whether or not tasks can appear again after being given to a player once. This setting is available for every task type separately.
      • "can_player_get_repeat_tasks" - controls whether or not a specific player can get the same task more than once. This setting is available for every task type separately.
    • "normal" - a list of strings, each one being a possible NORMAL task.
      • "<value1>" is replaced with a random (online) player's name - a player DIFFERENT from the owner of the task (unless the owner is the only player online).
    • "hard" - a list of strings, each one being a possible HARD task.
      • "<value1>" is replaced with a random (online) player's name - a player DIFFERENT from the owner of the task (unless the owner is the only player online).
    • "has_yellows" - tasks you can get (in addition to the tasks you can usually get) when there's a YELLOW PLAYER online.
      Note: Yellow players themselves can NOT get these tasks.
    • "no_yellows" - tasks you can get (in addition to the tasks you can usually get) when there are NO yellow players online.

    • "has_reds" - tasks you can get (in addition to the tasks you can usually get) when there's a RED PLAYER online.
    • "no_reds" - tasks you can get (in addition to the tasks you can usually get) when there are NO red players online.

    • "red" - violent tasks, which ONLY red players can get.
This is an explanation of what each value does / what it is used for.
For how to change the values properly, you might also want to check out the "Structure and Formatting Rules" section of the page.
  • "basic_settings" - the very basic settings of the plugin.
    Contains:
    • "admin_name" - the name that appears as the author of the task books, as well as the name that appears when you gain/lose health from passing/failing a task.
    • "config_version" - the version of the current config file. Do not change this value manually if you don't know what you're doing! It is used by the plugin to check if the config file you have in your files matches the version of the plugin you have installed. If it doesn't match, your config file will be renamed "config_old", and a new file will be created instead.
  • "players_manager"
    • "settings"
      • "teleport_to_platform_on_first_join" - if set to "true", will teleport players to a specific location when they join the server for the very first time this 'season'. For more information on how to set this feature up properly, check out the "Starting Platform" sub-section of the "SETUP" section of the main page!
    • "locations"
      • "starting_platform" - the location of where players should spawn if the setting "teleport_to_platform_on_first_join" is set to "true". For more information on how to set this feature up properly, check out the "Starting Platform" sub-section of the "SETUP" section of the main page!
    • "messages"
      • "welcome" - a message that's sent to every player upon joining the server.
        • "<value1>" is replaced with the player's name.
  • "admin_commands_manager"
    • "messages"
      all of the messages here are sent privately to the player who executed the command.
      • "success" - sent if the command is successfully executed.
      • "generic_errors"
        these are messages you can receive on all of the commands, rather than a specific one:
        • "invalid_cmd_structure" - sent if the command "/sl" was used incorrectly (incorrect amount of parameters, for example).
        • "invalid_cmd" - sent if the command "/sl [command]" was executed with an unregistered command.
        • "no_player" - sent if the command "/sl [command] [player]" was executed with the name of a player that's currently not online.
          • "<value1>" is replaced with the selected player's name.
        • "no_player_selected" - sent if the chosen command requires a player to function (a per-player command), yet no player was addressed.
          • "<value1>" is replaced with the chosen command.
        • "not_op" - sent if a player tries to execute a command without permission. This can happen if the player had the interactive menu opened WHILE losing permissions.
      • "specific_errors"
        these are messages you can receive when executing a specific command that is currently unavailable for a certain reason.
        • "no_task_in_inv" - sent if the player you're trying to execute the command on has a registered task but doesn't currently have it in their inventory (and so, it can not be removed).
          • "<value1>" is replaced with the selected player's name.
        • "has_no_task" - sent if the player you're trying to execute the command on does not have a registered task.
          • "<value1>" is replaced with the selected player's name.
        • "has_incomplete_task" - sent if the player you're trying to execute the command on still has an unfinished task.
          • "<value1>" is replaced with the selected player's name.
        • "no_tasks_available" - sent if the player you're trying to execute the command on can't receive ANY TASK because the list of possible tasks for them is currently empty. This can happen if tasks aren't allowed to repeat, for example.
          • "<value1>" is replaced with the selected player's name.
        • "on_task_cooldown" - sent if you're trying to execute a command on a player that is still viewing the "task obtain" sequence that appears before receiving a task.
          • "<value1>" is replaced with the selected player's name.
  • "lives_manager"
    • "settings"
      • "start_amount" - the number of lives a player should have at the start of a season.
    • "messages"
      • "intro" - messages sent either when a player joins the server, or when their amount of lives changes.
        • "2" - message for 2 lives (yellow)
        • "1" - message for 1 life (red)
        • "0" - message for 0 lives (dead players)
  • "health_manager"
    • "settings"
      • "show_hearts_on_tab" - settings related to the hearts display on the tab list:
        • "enabled" - whether or not the heart count should be displayed.
        • "update_rate" - how often (in ticks) should the tab list be updated.
        • "format" - the format in which player names show in the tab list.
          • "<value1>" is replaced with the amount of hearts the player has.
          • "<value2>" is replaced with the player's name (with the proper color depending on the number of lives they have).
      • "reward_max" - the maximum amount of health a player can get to via task rewards.
      • "health_on_respawn" - the amount of health a player respawns with after death.
      • "overflow_max" - the maximum amount of health a player can get to by gaining "overflow hearts" (from murder or the /gift command).
    • "title_messages"
      • "given" - the title message that appears when you are given health by either another player or completing a task.
        • "<value1>" is replaced with the name of the entity giving you the health.
        • "<value2>" is replaced with the number of hearts you have been given.
      • "taken" - the title message that appears when you lose health by failing a task.
        • "<value1>" is replaced with the name of the entity who had taken the hearts from you.
        • "<value2>" is replaced with the number of hearts you have lost.
  • "interactions_manger"
    • "settings"
      • "block_type" - the type of block with which the players interact with the secret keeper.
    • "sound_effects"
      • The different sound effects for interacting with the pass/reroll/fail task block.
    • "locations"
      • The different locations in which the pass/reroll/fail task blocks are present.
    • "messages"
      these are private error messages you can receive when interacting with one of the pass/reroll/fail task blocks.
      • "no_task_in_inv" - sent if you have a task, but it is not currently in your inventory.
      • "has_no_task" - sent if you currently don't have an active task.
      • "already_has_hard" - sent if you try to reroll for a hard task while ALREADY having a hard task.
      • "red_cant_reroll" - sent if you try to reroll for a hard task as a red player while the "can_reds_get_hard_tasks" setting is off.
      • "no_tasks_available" - sent if you can't receive ANY TASK because the list of possible tasks for you is currently empty. This can happen if tasks aren't allowed to repeat, for example.
      • "on_task_cooldown" - sent if you're still viewing the "task obtain" sequence that appears before receiving a task.
  • "kill_manager"
    • "settings"
      • "can_non_reds_kill" - whether or not killing another player as a non-red player will give you the health reward.
      • "health_reward" - the amount of overflow health you gain for killing another player.
    • "title_messages"
      • "non_red_kills_disabled" - sent if you kill another player as a non-red player when the "can_non_reds_kill" setting is off.
  • "gift_command"
    • "settings"
      • "health_given" - the amount of health you send when executing the /gift command.
      • "can_go_above_max" - whether or not the gifted health can overflow beyond the "reward max".
    • "sound_effects"
      • "give" - the sound effect that plays for the player who's gifting the health.
      • "receive" - the sound effect that plays for the player receiving the gift.
    • "messages"
      these are private messages you receive when using the /gift command.
      • "success" - sent if the command is successfully executed.
      • "errors"
        • "must_be_player" - sent if the command was executed by a command block.
        • "invalid_cmd_structure" - sent if a player wasn't specified.
        • "unavailable" - sent if you've already given your gift for the session.
        • "no_player" - sent if the command was executed with the name of a player that's currently not online.
          • "<value1>" is replaced with the selected player's name.
        • "self" - sent if you're trying to give your gift to yourself.
        • "will_go_above_max" - sent if your gift will get the player above the maximum health. If "can_go_above_max" is on, this message will be sent only if the player is reaching the OVERFLOW max (rather than the reward max).
  • "tasks_manager"
    • "settings"
      • "can_penalty_kill" - whether or not failing a task (and losing hearts because of it) can kill you.
      • "can_reds_get_hard_tasks" - whether or not red players are allowed to reroll for harder tasks.
      • "constant_red_tasks" - whether or not red players should instantly receive another task when they pass/fail their current task.
        If this is set to "true", red players will be ignored when starting a session and will keep their task from the last session. They will also be ignored when ending a session.
      • "has_task_effect" - settings related to the visual effect that plays above a player's head if they have an active task:
        • "enabled" - whether or not should the feature be enabled.
        • "offset" - how high above the player's head should the effect be displayed (in blocks).
        • "delay" - how often should the effect be played (in ticks).
      • "amount_of_messages_on_obtain" - how many title messages should appear during the "obtain task" sequence (separate setting for normal and hard tasks).
      • "delay_between_obtain_messages" - how long should the delay be between each title message during the "obtain task" sequence (separate setting for normal and hard tasks).
      • "reward" - how many hearts should you receive for completing a task (separate setting for each task type).
      • "penalty" - how many hearts should you lose for failing a task (separate setting for each task type).
      • "loot" - settings related to the loot you gain from completing a task:
        • "loot_per_heath" - how many items should you receive for each Health Point you've been given above the "reward max" (separate setting for each task type).
        • "delay_between_items" - how long should be the delay between each item spawning in the loot area (in ticks).
      • "tasks_log" - settings related to the tasks log feature. For more information on how to set this feature up, please check out the "SETUP" section of the main page!
    • "locations"
      • "loot_spawn" - the location for the loot to spawn. A random location is chosen between the "start" and "end" locations for each item.
    • "visual_effects"
      • "has_task" - the visual effect that plays above a player's head if they have an active task (separate effect for normal and hard tasks).
    • "sound_effects"
      • "task_obtain" - the sound effects used for the "task obtain" sequence (separate effect for normal and hard tasks).
        • "start" - the sound that plays at the very start of the sequence and lasts throughout.
        • "tick" - the sound that plays each time the title message switches.
        • "obtained" - the sound that plays after the sequence ends.
      • "loot_spawn" - the sound that plays for every item that spawns as a reward for completing a task.
    • "title_messages"
      • "task_obtain" - the title messages for the "task obtain" sequence (separate messages for normal and hard tasks).
        • The keys here depend on the setting "amount_of_messages_on_obtain". The first message is keyed "1", the second "2", etc. If you change the "amount_of_messages_on_obtain", you need to add/remove messages from this section.
    • "messages"
      all of the messages here are sent publicly to the entire server.
      • "pass_task" - sent when a player passes their task.
        • "<value1>" is replaced with the name of the player.
        • "<value2>" is replaced with the task the player had.
      • "reroll_task" - sent when a player rerolls their task.
        • "<value1>" is replaced with the name of the player.
        • "<value2>" is replaced with the task the player had originally, before rerolling.
      • "fail_task" - sent when a player fails their task.
        • "<value1>" is replaced with the name of the player.
        • "<value2>" is replaced with the task the player had.
    • "tasks" - all of the available tasks. Please refer to the "Structure and Formatting Rules" section of the page for a detailed explanation!
    • "loot_tables" - the different loot tables (separate table for each task type). Please refer to the "Structure and Formatting Rules" section of the page for a detailed explanation!
  • "plugin_menu_manager"
    • "settings"
      • "menu_names"
        • "main" - the name of the main menu
        • "player_select" - the name of the player-select menu
        • "warning" - the name of the warning screen
      • "change_page_buttons_material" - the item used for the "change page" button in the player-select menu.
      • "current_page_prefix" - the text that appears before the number of the current page of the player-select menu.
      • "current_command_prefix" - the text that appears before the name of the currently chosen command.
      • "rows_count" -the amount of rows the menus should have. Do note that this number can only go up to 6, as currently supported by Minecraft.
    • "special_items"
      • "cancel" - the item used to cancel the current action and go back to the previous page / exit the menu.
      • "frame" - the item that appears around the menu.
      • "separator" - the item that appears in the middle of the main menu, separating the "server commands" from the "per-player commands".
      • "info" - the item used to indicate certain information.
      • "next_page" - the item used to switch to the next page of the player-select screen.
      • "prev_page" - the item used to switch to the previous page of the player-select screen.
      • "proceed" - the item used to confirm the current action in the warning screen.
      • "go_back" - the item used to cancel the current action in the warning screen.

      • "commands"
        This section features lists of commands you can execute from the menu.
        Each list is read dynamically, and each item in it is converted into an item in the main menu.
        If you want to have an empty space between 2 items, you can add a "fake" item that has a boolean value rather than actual data, like so:
        Code (Text):
        space1: false
        Note: For the item to actually execute a command when clicked, the last line of the item's lore must be the name of the command.
        • "server" - a list of all of the available "server commands".
        • "player" - a list of all of the available "per-player commands".

[​IMG]
This plugin operates using a "PlayerData.yml" file, which is created inside of the plugin's folder.

Normally, you shouldn't need to access this file or make any changes to it - unless you wish to set a predetermined task.
Regardless, here's an explanation of how the file functions and what everything does!
Every section in this file is dedicated to a "registered player".
The key is the player's Unique User ID (UUID).

Whenever an unregistered player (a player that doesn't have a dedicated section in the data file) logs in for the first time, the file is automatically updated with a new section for said player.

Every player's section can contain:
  • "name" - the name of the player. This isn't used by the plugin, it's just to make manual editing easier.
  • "predetermined_task" - here you can assign a predetermined task to the player. Next time the player rolls a task, it is guaranteed to be the text you wrote here, no matter what.
  • "lives" - the number of lives this player currently has.
  • "can_gift" - whether or not this player is currently able to use the /gift command. This gets set to "true" when a session starts, and "false" when the player uses /gift.
  • "current_task"
    • "item" - the name of the task item. This is used to identify the task item and remove it from the player's inventory when they pass/reroll/fail a task.
    • "difficulty" - the difficulty of the task the player currently has. This is used to determine the reward/penalty the player should get when they pass/fail the task.
    • "is_red" - whether or not the task the player currently has is a "red task". This is used to determine the reward/penalty the player should get when they pass/fail the task.
  • "is_on_task_cooldown" - this value gets set to "true" when the player is viewing the "task obtain" sequence, and "false" when the sequence ends and the player receives their task. This is used to prevent the player from being able to get another task while they're currently receiving one (and before they get the item).
  • "task_history" - a list of strings representing all of the tasks the player has had since the start of the season. This is used when the "can_player_get_repeat_tasks" or "can_tasks_appear_more_than_once" settings are turned on and it determines which tasks can not be given again.
Note that if the player has not yet participated in a session, some of these keys might not appear in the file at all!
They only appear once used.
Resource Information
Author:
----------
Total Downloads: 780
First Release: Dec 16, 2023
Last Update: Sep 10, 2024
Category: ---------------
All-Time Rating:
7 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings