Configuration Files

Default 2.0.0 XenoWorldReset configuration files.

This wiki page runs through the configuration files available in XWR.

Configuration files contain all settings that can be adjusted to server’s specifications. Although not all aspects of the plugin are customizable, a large portion is.

config.yml

This file contains all general settings for the plugin. These range from general teleport settings to external plugin hooks.

###############################################################################
#    _  _ ____ _  _ ____ _ _ _ ____ ____ _    ___  ____ ____ ____ ____ ___    #
#     \/  |___ |\ | |  | | | | |  | |__/ |    |  \ |__/ |___ [__  |___  |     #
#    _/\_ |___ | \| |__| |_|_| |__| |  \ |___ |__/ |  \ |___ ___] |___  |     #
#                                                                             #
#                   Premium Software | ZeroToil Development                   #
#                                                                             #
#               --> WIKI: https://mc.zerotoil.net/wiki/xwr <--                #
#               --> Discord: https://discord.gg/DC4Gqj3y5V <--                #
#                                                                             #
#      Thank you for your purchase of XWR Premium! We really appreciate       #
#       your support. We strive to produce quality plugins. If you run        #
#      into any issues or have any questions, feel free to reach out on       #
#              Discord or to Kihsomray on SpigotMC or Polymart.               #
#                                                                             #
###############################################################################

config:

  ##############################
  #                            #
  #    Command Confirmation    #
  #                            #
  ##############################

  # Command confirmation requires the command sender to confirm
  # the command before it can be executed. The command confirmation
  # will expire after the amount of seconds below.
  #
  # We encourage enabling reset confirmation and teleport
  # confirmation if the teleport cost is not free.
  confirmation:
    enabled: true
    seconds: 15

    # Enable the sub commands below that you would like players
    # or admins to confirm before execution.
    sub-commands:
      create: true
      reset: true
      save: false
      teleport: true
      edit: false

    # Enabling this will allow operators to bypass any type of
    # confirmation entirely.
    bypass-op: true


  ##############################
  #                            #
  #   Teleportation Settings   #
  #                            #
  ##############################

  # These settings are primarily used for standard and random
  # teleportation to an RTP world or resetting world.
  teleport:

    # Countdown requires the player to stand still for the amount
    # of seconds mentioned below. If they move or are damaged
    # within that time, their teleportation will be cancelled.
    countdown:
      enabled: true
      seconds: 5

    # Cooldown requires the player to wait a set amount of time
    # before they can teleport again. Type allows the timer to
    # be saved globally (for all worlds) or per world.
    #
    # Type options:
    # --> 'GLOBAL' - Global cooldown
    # --> 'WORLD' - Per world cooldown
    cooldown:
      enabled: true
      type: GLOBAL
      seconds: 300

    # TP blacklist blocks restricts the blocks a player can be
    # teleported onto. This includes both random and standard
    # teleportation to a world (not including world spawn).
    #
    # These must be block IDs as mentioned in the link below.
    # 1.19 Blocks: https://bit.ly/3BHvuEj
    tp-blacklist-blocks:
      - LAVA
      - WATER
      - CACTUS
      - MAGMA_BLOCK
      - FIRE
      - SOUL_FIRE

    # If the location is unsafe, should the chunk be searched
    # before deeming the location unsafe? This feature will also be
    # used with the fix for the incorrect world bug.
    search-chunk-for-safety: true

    ##############################
    #                            #
    #  Random Teleport Settings  #
    #                            #
    ##############################

    # These settings will only apply to world setups with random
    # teleport enabled. Please be considerate of your machine's
    # specifications and do not over-stress it. If you are unsure,
    # feel free to ask on our Discord (top of this file).
    #
    # If you are running on a Paper fork, RTP will function in
    # an asynchronous manner with minimal lag generated.
    rtp-settings:

      # How long should XWR search for safe random location and
      # load a chunk before teleporting the player there? The
      # search will time out after this amount of ticks.
      ticks: 2000

      # How many times should XWR try to find a location before
      # completely giving up the search attempt? The search will
      # time out after this amount of attempts.
      attempts: 15

      # What interval in ticks should there be between RTP search
      # attempts? Don't set this too high or too low.
      interval: 4

      # What height below the top block should the search begin
      # at in the overworld dimension?
      overworld-start-below: 8

      # RTP saved locations will attempt to locate a random
      # location in the background. When a player wants to teleport
      # and there is a saved location, it will utilize it.
      #
      # This feature reduces stress on your machine when a player
      # is being randomly teleported.
      saved-locations:
        enabled: true

        # The interval, in seconds, between searching for a location.
        interval: 120

        # The tolerance, in seconds, will 'randomize' the interval
        # so multiple worlds do not attempt to search simultaneously.
        tolerance: 60

        # The maximum number of locations that a world can save in
        # the background for instant teleportation.
        max-locations: 30


  ##############################
  #                            #
  #   Spawn Loading Settings   #
  #                            #
  ##############################

  # XenoWorldReset is unique in its ability to generate spawn
  # chunks when a world is being created. Although I cannot
  # change how a world is loaded, I can change how a world's
  # spawn chunks are loaded to reduce instantaneous stress.
  #
  # Below I have created a few preset spawn chunk loading
  # types. If you do not wish to tweak the individual settings,
  # using the best method will be most helpful to you.
  #
  # Best types for:
  # --> Bukkit/Spigot - NORMAL
  # --> Paper/Purpur/other - SMART
  #
  # Available loading types:
  #
  # --> 'STANDARD' - Typical Bukkit spawn chunk loading method.
  #                - NOT recommended: drops TPS & causes lag.
  #
  # --> 'SMART' - Loads chunks ASAP, taking TPS into account.
  #             - Recommended for Paper forks: async loading.
  #
  # --> 'NORMAL' - Loads chunks at an average speed.
  #              - Recommended for Bukkit/Spigot: sync loading.
  #
  # --> 'ULTRA-FAST' - Skips spawn chunk loading entirely.
  #                  - Recommended for rollback worlds.
  #
  # --> 'ULTRA-SAFE' - Loads chunks REALLY slowly.
  #                  - Recommended for microwaves & fridges.
  #
  # --> 'FAST' - Loads chunks fast, different from ULTRA-FAST.
  #            - Recommended for NASA machines.
  #
  # --> 'SAFE' - Loads chunks slow, similar to ULTRA-SAFE.
  #            - Recommended for 90's PCs and smart fridges.
  #
  loading-type: SMART

  # Radius of chunk loading if SMART, FAST, NORMAL, SAFE or
  # ULTRA-SAFE is enabled.
  #
  # Please DO NOT use for loading mass amounts of chunks! Your
  # machine WILL run out of memory, causing a crash! The chunks
  # have a ticket added to them, preventing unloading, until
  # all chunks have been loaded.
  loading-radius: 3

  # Loading override is tool used to override loading speed to
  # custom values. DO NOT mess with these settings if you do not
  # know what you are doing. It could even lead to a crash!
  #
  # Will override SMART, FAST, NORMAL, SAFE and ULTRA-SAFE.
  loading-override:
    enabled: false

    # interval between iteration of chunk loading. less = faster
    ticks-per-iteration: 3

    # how many chunks should load in every iteration? MAX: 25
    chunks-per-iteration: 3

    # initial chunk load time. less = faster
    initial-chunk-ticks: 200


  ##############################
  #                            #
  #       Other Settings       #
  #                            #
  ##############################

  # Recently, Paper introduced a new file within a world's folder
  # called 'paper-world.yml' which saves additional settings for
  # that specific world only. This option enabled the contents of
  # that file to be transferred over to the newly reset world.
  save-paper-world-yml: true

  # should the world be backed up before a reset is initialized?
  save-world-before-reset: false

  # Portal linking is used to relink portals from one world to
  # another. When a player enters through a portal, they will
  # be teleported to the corresponding world.
  #
  # Keep in mind: when a player enters a portal in the first world
  # they will be teleported to the second world, but not in reverse.
  # Be sure to include it the other way if you want it to be
  # linked both directions (as shown below).
  #
  # Directions are separated by a colon (:).
  #
  # Example linking both ways:
  # - 'world:world_nether'
  # - 'world_nether:world'
  portal-linking:
    nether-portal:
      - world_from:world_to

    end-portal:
      - world_from:world_to

  # Fixes issue where players are teleported to the same coords
  # in another world when they log back in after a reset.
  fix-incorrect-world-bug: true

  # Amount of time between copies/pastes of regions. Default is
  # highly recommended with FAWE. Value is in ticks.
  saving-region-stall:
    copy: 1
    paste: 12

  # Folders to place saved worlds & schematics into. The folder
  # will automatically be created as needed.
  folders:
    saved-worlds: 'saved_worlds'
    saved-schematics: 'saved_schematics'

  # Additional hook settings are displayed here.
  hooks:

    # Should CMI warps be saved after a world resets?
    save-cmi-warps: true

    # Should transferred regions be saved to file?
    save-copied-regions: true

  # Updates the config every time you update. Prior strings will
  # remain the same! NOTE: disabling this will leave new settings
  # as default and new lang string won't send.
  auto-update:
    config-yml: true
    lang-yml: true

  # Should console messages send with color? This option should
  # be disabled if XWR console messages contain weird chars.
  console-color: true

  # Debug shows a bunch of messages in chat and console. Used for
  # testing new features and fixing certain bugs.
  debug: false

# Do not touch unless asked by ZeroToil Staff!
version: 1.1

worlds.yml

Serving as one of the primary files, worlds.yml contains all data regarding world setups. Adjusting these settings ensures you get the perfect reset every time!

###############################################################################
#    _  _ ____ _  _ ____ _ _ _ ____ ____ _    ___  ____ ____ ____ ____ ___    #
#     \/  |___ |\ | |  | | | | |  | |__/ |    |  \ |__/ |___ [__  |___  |     #
#    _/\_ |___ | \| |__| |_|_| |__| |  \ |___ |__/ |  \ |___ ___] |___  |     #
#                                                                             #
#                   Premium Software | ZeroToil Development                   #
#                                                                             #
#               --> WIKI: https://mc.zerotoil.net/wiki/xwr <--                #
#               --> Discord: https://discord.gg/DC4Gqj3y5V <--                #
#                                                                             #
#      Thank you for your purchase of XWR Premium! We really appreciate       #
#       your support. We strive to produce quality plugins. If you run        #
#      into any issues or have any questions, feel free to reach out on       #
#              Discord or to Kihsomray on SpigotMC or Polymart.               #
#                                                                             #
###############################################################################

worlds:

  ##############################
  #                            #
  #     TP/RTP World Setup     #
  #                            #
  ##############################

  # A TP/RTP world is one that is not intended to be reset. It is only
  # used to TP/RTP into. A setup like this allows the default world,
  # which cannot be reset, to still have random teleport functionality.
  #
  # For this type of world setup, you only want to include the enabled
  # option and teleport section as shown in the example below.
  #
  # NOTE: The default world CANNOT be reset. This rule is enforced by
  # Bukkit, and there is no way to bypass it! Trust me, I tried!
  #
  # The name of the setup is the name of the world (case-sensitive)!
  tp_world_name:

    #################################
    #        Teleport Options       #
    #################################

    # Be sure to include the teleport section in both an TP world setup
    # and a world reset setup. The default values are shown below.
    teleport:

      # Can specify if the teleport module is enabled. By default, if
      # this setting is not mentioned, the module will be enabled.
      enabled: true

      # For a standard NON-RTP world setup, the spawn option will act
      # as a place where the player is teleported to. For an RTP world,
      # it will act as the middle point for the radius.
      #
      # Examples:
      # --> 'DEFAULT' - Teleports to world spawn point.
      # --> '0, 0' - Teleports to safe Y coordinate at the specified
      #            - X and Z coordinate.
      spawn: DEFAULT

      # How much should players be charged to teleport to this location?
      # A cost of 0 will not charge the player anything. Be sure to turn
      # on teleport confirmation in config.yml if there is a cost.
      cost: 0

      # The random teleport module allows players to be teleported
      # randomly in the world. A radius of 2000 with a spawn of 150, -25
      # will teleport the player randomly in the range X: -1850, 2150
      # Z -2025, 1975 to a safe location.
      random:
        enabled: true
        radius: 2000

      # This warning module is used to warn a player with a message when
      # they join the server or teleport to the world.
      warning:
        on-join: false
        on-teleport: false
        message:
          - '&cWarning: This world will reset in {timeUntilReset}'
          - '&cPlease do not build here!'

      # The teleport on leave option will teleport a player away to another
      # world as they leave the server.
      on-leave:
        enabled: false
        world: world
        location: 0, 64, 0


  ##############################
  #                            #
  #     World Reset Setup      #
  #                            #
  ##############################

  # A world reset setup includes all the options within a TP/RTP setup,
  # but also has the ability to reset with a ton of options.
  resetting_world_name:


    #################################
    #         Portal Linking        #
    #################################

    # Nether and end portal world options allow you to relink where
    # players will be routed when going through a portal in this world.
    nether-portal-world: world_nether
    end-portal-world: world_the_end


    #################################
    #        Teleport Options       #
    #################################

    # Be sure to include the teleport section in both an TP world setup
    # and a world reset setup. The default values are shown below.
    teleport:

      # Can specify if the teleport module is enabled. By default, if
      # this setting is not mentioned, the module will be enabled.
      enabled: true

      # For a standard NON-RTP world setup, the spawn option will act
      # as a place where the player is teleported to. For an RTP world,
      # it will act as the middle point for the radius.
      #
      # Examples:
      # --> 'DEFAULT' - Teleports to world spawn point.
      # --> '0, 64, 0' - Teleports to safe Y coordinate at the specified
      #                - X, Y (optional), and Z coordinate.
      spawn: DEFAULT

      # How much should players be charged to teleport to this location?
      # A cost of 0 will not charge the player anything. Be sure to turn
      # on teleport confirmation in config.yml if there is a cost.
      cost: 0

      # The random teleport module allows players to be teleported
      # randomly in the world. A radius of 2000 with a spawn of 150, -25
      # will teleport the player randomly in the range X: -1850, 2150
      # Z -2025, 1975 to a safe location.
      random:
        enabled: true
        radius: 2000

      # This warning module is used to warn a player with a message when
      # they join the server or teleport to the world.
      warning:
        on-join: false
        on-teleport: false
        message:
          - '&cWarning: This world will reset in {timeUntilReset}'
          - '&cPlease do not build here!'

      # The teleport on leave option will teleport a player away to another
      # world as they leave the server.
      on-leave:
        enabled: false
        world: world
        location: 0, 64, 0

    # In a resetting world, it is crucial to include the 'settings' section.
    # If it is not included, the setup will be read as a TP/RTP setup.
    reset:

      # You must specify that the reset operation can be completed by
      # enabling this world reset. Different from the teleport module.
      enabled: true

      #################################
      #         World Rollback        #
      #################################

      # When the world files have been deleted, this option will unzip
      # a world from within the 'saved_worlds' folder and load it to
      # the server. When enabled, using the FAST option is recommended.
      #
      # Be sure the world is saved before you initiate a reset, or it
      # will result in a failure!
      #
      # Enabling the random option will choose a random zipped file from
      # the 'saved_worlds/resetting_world_name' file to load in.
      rollback:
        enabled: false
        random: false

      #################################
      #        Reset Schedulers       #
      #################################

      # Schedulers are used to reset a world at a specific time. You can
      # add as many schedulers as you wish- they will communicate with each
      # other to not initialize multiple resets at the same time.
      #
      # The schedulers will initialize each time the server boots up. Any
      # scheduler with an interval will continue after a reboot even if
      # the date is in the past.
      #
      # In 2.0.0, schedulers have become a lot easier to use with a lot
      # less restrictions and more flexibility.
      #
      # Each timer can have as little as one and up to three unique
      # elements. These elements include a date, time, and interval.
      #
      # --> Intervals <--
      # Intervals specify the amount of time between resets. These include
      # prefixes with the amount and suffixes with the initial for the
      # interval type. For example: '2d' means '2 days'. These can be
      # stacked to include multiple intervals: '2d12h30m45s' would be
      # every 2 days, 12 hours, 30 minutes and 45 seconds. If no interval
      # is included, the timer will only run once.
      #
      # Acceptable interval suffixes include:
      # --> s - seconds
      # --> m - minutes
      # --> h - hours
      # --> d - days
      # --> w - weeks
      # --> M - months
      #
      # --> Dates <--
      # A date specifies when a world reset should first occur. If the
      # date is in the past and there is an interval, it will continue
      # at that interval without stopping. A date must include at least
      # month and day, but can also include year: '09-24' or '2022-09-24'.
      # The date must be shown using dashes (-) and not slashes (/). If
      # no date is specified, the current date will be used.
      #
      # Acceptable dates (MM = month number, dd = day, yyyy = year):
      # --> 'MM-dd' - month & day
      # --> 'yyyy-MM-dd' - year, month, & day
      #
      # --> Times <--
      # Similar to dates, a time specifies when a world reset will first
      # occur. If the time is in the past and there is an interval, it will
      # continue at that interval without stopping. A time must include a
      # colon (:) separating the hour and minute. An option AM or PM suffix
      # can be included (with no space between): '4:00AM' or '8:00PM'. If
      # no suffix is included, resort to using military time standards. If
      # no time is included, it will automatically parse 00:00 or 12:00AM.
      #
      # Acceptable times (hh = hour, mm = minute):
      # --> '18:00' - 6PM
      # --> '06:00' - 6AM
      # --> '2:00PM' - 2PM
      # --> '2:00AM' - 2AM
      #
      # Asterisks (*) can also be used in the data/time to specify the
      # time when the timer is initialized.
      #
      # Some example of the documentation is shown below.
      schedulers:
        - '15m' # every 15 minutes.
        - '2:00PM 2h30m' # every 2 hours, 30 minutes starting at 2PM.
        - '1:00PM' # every day at 13:00.
        - '13:00 3d' # every 3 days at 13:00.
        - '2022-08-15' # 15th of aug in 2022 at midnight.
        - '08-15 3d1h' # 15th of aug midnight and every 3 days, 1 hour after.
        - '08-12 13:00' # 15th of aug at 13:00 once.
        - '****-**-** 00:00' # stars can be used to represent current time/date.
        - '2021-08-20 17:00' # august 20, 2021, 5:00 pm, no repeats.
        - '2022-08-12 13:00 1d2h5m' # makes sense?


      #################################
      #         World Settings        #
      #################################

      # World settings are used to adjust values specific to this world
      # once a reset has occurred. Examples include seed, environment,
      # world generator, gamerules, and more.
      world-settings:

        # Setting a world seed could be crucial when resetting a world
        # multiple times. This setting allows you to do just that. If you
        # want to cycle through (randomly) a few different seeds, you could
        # include each of them as a list. DEFAULT will use the resetting
        # world's seed and RANDOM will generate a random seed.
        #
        # Seed will not be applied is rollback is enabled.
        #
        # Options:
        # --> 'DEFAULT' - previous world's seed
        # --> 'RANDOM' - randomly generated seed
        # --> '90235423423' - numerical seed
        # --> 'CWR_IS_AWESOME' - non-numerical seed
        seed:
          - 'RANDOM'
          - '17382169420'
          - '90009102199'
          - 'AWESOME_SEED'

        # Upon creating/loading the world, should structures generate?
        generate-stuctures: true

        # The environment of the world is very important when a world is
        # being created. Be sure it aligns with the rollback settings if
        # enabled, otherwise issue may arise.
        #
        # Options:
        # --> DEFAULT - previous world's environment
        # --> NORMAL - typical world dimension
        # --> NETHER - nether dimension
        # --> END - end dimension
        environment: DEFAULT

        # When using another plugin to generate a world, this option comes
        # in handy. Be sure to set it up properly.
        #
        # --> Instructions <--
        # Add it inside bukkit.yml and reboot before adding it here.
        # Set the generator here: typically the name of the plugin. Please
        # review the WIKI on their side. DEFAULT for the same generator.
        generator: DEFAULT

        # Gamerules could make a big difference. Be sure to set all your
        # gamerules you would like to be applied when the world resets.
        #
        # Format: 'gameRuleInCamelCase: value'
        # Options: https://minecraft.fandom.com/wiki/Game_rule
        gamerules:
          - 'announceAdvancements: false'
          - 'doEntityDrops: false'

        # Sets the vanilla world border when the world resets. If this
        # option is disabled, default world border will be used.
        world-border:
          enabled: false
          width: 15000
          center: 0, 0


      #################################
      #           Safe World          #
      #################################

      # Safe world will teleport players to a safe world before beginning
      # a reset. If this option is disabled, players will be KICKED.
      safe-world:
        enabled: false

        # Name of world to teleport players to. Cannot be same as the world
        # that is being reset (this world setup).
        world: 'world'

        # What location should players be teleported to within the safe
        # world before the reset occurs? If auto is selected, it will
        # use teleportation options for the safe world that are within
        # this config (worlds.yml). So if your safe world is set up as a
        # TP/RTP world, those options will be used when teleporting to the
        # safe world.
        #
        # Options:
        # 'AUTO' - detects/uses safe world's TP system
        # 'DEFAULT' - world spawn point
        # 'X, Y, Z' - custom teleport location
        location: AUTO

        # This option teleports players back from the safe world to the
        # resetting world once it has been full reset.
        tp-back:
          enabled: true

          # The location to teleport players back to after the reset.
          #
          # Options:
          # --> 'LAST-KNOWN' - location player was at before resetting
          # --> 'SPAWN' - world spawn point
          # --> 'RANDOM' - random (if enabled)
          # --> 'X, Y, Z' - custom teleport location
          location: LAST-KNOWN


      #################################
      #         Reset Warning         #
      #################################

      # A random world resetting can be frustrating for players. This
      # feature allows them to know when the reset will occur ahead of
      # time.
      warning:
        enabled: true

        # Number of seconds before a reset occurs to send a warning
        # to the players within the world.
        time: [ 1800, 600, 300, 60, 5 ]

        # Messages to send at the warning time.
        message:
          - '[global] [actionbar] &c{world} is resetting soon!'
          - '[world] [title] &cWarning<n>&7resetting the world {world} in {timeUntilReset}.'


      #################################
      #      Commands to Execute      #
      #################################

      # Executing commands before, during, and after a reset could be
      # beneficial to you. If another plugin acts weird before a reset,
      # you can reload it. If you want to use another RTP plugin, you
      # can execute it's command. These have a number of prefix options.
      # You can combine a prefix from each category, but not multiple
      # from the same category.
      #
      # Category 1 - Group prefixes:
      # --> [console] - executes as console (once)
      # --> [world] - executes for every player in the resetting world
      # --> [world:op] - executes for every player in the resetting world as op
      # --> [world:console] - executes as console for every player in the resetting world
      # --> [global] - executes for all online players
      # --> [global:op] - executes for all online players as op
      # --> [global:console] - executes as console for all online players
      #
      # Category 2 - Timing prefixes:
      # --> [before] - before the world resets
      # --> [before:5] - before the reset with a 5 tick delay
      # --> [during] - during the world reset
      # --> [during:10] - during the reset with a 10 tick delay
      # --> [after] - after the world resets
      # --> [after:20] - after the reset with a 20 tick delay
      #
      # Format: '[prefix-1] [prefix-2] command goes here'
      commands:
        - '[before] [world] tell {player} this is a test message before the reset!'
        - '[during] [global] tell {player} the world {world} is currently being loaded!'
        - '[after] [world] tell {player} the world {world} has been reset!'
        # placeholders: {player} {playerDisplayName} {playerUUID} {world}


      #################################
      #     Region Saving/Deleting    #
      #################################

      # This feature utilizes WorldEdit to copy regions before a reset and
      # paste them back in after a reset. This feature is still considered
      # to be BETA, so use with caution.
      #
      # FAWE is highly recommended! Standard WorldEdit WILL crash the server!
      regions:

        ##################################################
        #              --> World Guard <--               #
        #   https://dev.bukkit.org/projects/worldguard   #
        ##################################################
        world-guard:
          enabled: false

          # SAVE will copy the region over to the new world.
          # DELETE will delete all region data of the world.
          operation: SAVE

          # The filter option allows certain regions to be
          # completely ignored or vice versa.
          filter:
            enabled:

            # If true, the list will be considered a whitelist.
            # If false, the list will be considered a blacklist.
            whitelist: false

            # Whitelist or blacklist (based on option above).
            list:
              - 'MyBlacklistedRegion'

        ##################################################
        #               --> Residence <--                #
        #   https://www.spigotmc.org/resources/11480/    #
        ##################################################
        residence:
          enabled: false
          operation: SAVE
          filter:
            enabled: false
            whitelist: false
            list:
              - 'MyBlacklistedResidence'

        ##################################################
        #            --> Grief Prevention <--            #
        #    https://www.spigotmc.org/resources/1884/    #
        ##################################################
        grief-prevention:
          enabled: false
          operation: SAVE
          filter:
            enabled: false
            whitelist: false
            list:
              - 'MyBlacklistedRegion'

        ##################################################
        #             --> Grief Defender <--             #
        #   https://www.spigotmc.org/resources/68900/    #
        ##################################################
        grief-defender:
          enabled: false
          operation: SAVE
          filter:
            enabled: false
            whitelist: false
            list:
              - 'MyBlacklistedRegion'

        ##################################################
        #              --> Lands (BETA) <--              #
        #   https://www.spigotmc.org/resources/53313/    #
        ##################################################
        lands:
          enabled: false
          operation: SAVE
          filter:
            enabled: false
            whitelist: false
            list:
              - 'MyBlacklistedRegion'

      # Custom loading is an option if you are trying to customize the speed
      # of each world to better suit the needs/capability of your machine.
      #
      # Only uncomment and use this section if you know what you are doing.
      # These values will override the ones in config.yml.
      #loading-type: NORMAL
      #loading-radius: 3
      #loading-override:
      #  ticks-per-iteration: 3
      #  chunks-per-iteration: 3
      #  initial-chunk-ticks: 200


    #################################
    #        Automatic Backup       #
    #################################

    # Should the world be backed up at an interval? This section uses the
    # same schedulers as the schedulers for resetting a world. All backups
    # will be saved to the provided folder.
    backup:
      enabled: false
      folder: world_backups
      schedulers: []

lang.yml

Another important file is lang.yml. This document contains the majority of messages, time values, PlaceholderAPI formatting, and webhooks. Translations of this file may be found here (coming soon).

###################################################################################
#      _  _ ____ _  _ ____ _ _ _ ____ ____ _    ___  ____ ____ ____ ____ ___      #
#       \/  |___ |\ | |  | | | | |  | |__/ |    |  \ |__/ |___ [__  |___  |       #
#      _/\_ |___ | \| |__| |_|_| |__| |  \ |___ |__/ |  \ |___ ___] |___  |       #
#                                                                                 #
#                     Premium Software | ZeroToil Development                     #
#                                                                                 #
#                 --> WIKI: https://mc.zerotoil.net/wiki/xwr <--                  #
#                 --> Discord: https://discord.gg/DC4Gqj3y5V <--                  #
#                                                                                 #
#        Thank you for your purchase of XWR Premium! We really appreciate         #
#         your support. We strive to produce quality plugins. If you run          #
#        into any issues or have any questions, feel free to reach out on         #
#                Discord or to Kihsomray on SpigotMC or Polymart.                 #
#                                                                                 #
###################################################################################

messages:

  ##############################
  #                            #
  #          Messages          #
  #                            #
  ##############################

  # All messages can be formatted to send whatever you wish to send. Setting
  # message to be blank (no text), will result in the message not sending.
  #
  # Prefix options:
  # --> [global] - sends message globally
  # --> [actionbar] - sends an actionbar message
  # --> [title] - sends a title message (use <n> for subtitle)
  # --> [bossbar] - sends a bossbar message
  # --> [webhook] - sends a webhook message
  #
  # Available placeholders:
  # --> {p} - prefix
  # --> {world} - name of world
  # --> {worldUUID} - UUID of world
  # --> {player} - name of player
  # --> {playerDisplayName} - display name of player
  # --> {playerUUID} - UUID of player

  prefix: '<G:5542E9>XenoWorldReset</G:38CDEF> &8»&r'
  no-permission: '{p} &cYou don''t have permission to do that!'
  help-player:
    - '&8&m―――――&8<&b&l Xeno&f&lWorldReset &8>&8&m―――――'
    - '&8➼ &b/cwr about &fAbout the plugin.'
    - '&8➼ &b/cwr help &fSee the help menu.'
    - '&8&m―――――――――――――――――――――――――――――――――'
  help-admin:
    - '&8&m―――――&8<&b&l Xeno&f&lWorldReset &8>&8&m―――――'
    - '&8➼ &b/cwr about &fAbout the plugin.'
    - '&8➼ &b/cwr help &fSee the help menu.'
    - '&8➼ &b/cwr reload &fReload the plugin.'
    - '&8➼ &b/cwr confirm &fConfirm an action.'
    - '&8➼ &b/cwr reset [<world>] &fRegenerate a world.'
    - '&8➼ &b/cwr save [<world>] &fBackup a world.'
    - '&8➼ &b/cwr create [<world>] &fCreate a world setup.'
    - '&8➼ &b/cwr info [<world>] &fInfo about world setup.'
    - '&8&m―――――――――――――――――――――――――――――――――'
    - '&8➼ &b/cwr edit <world> <setting> <value> &fAdjust a setting.'
    - '&7Please visit the Spigot page for details on editing'
    - '&7a world setup or use TAB-complete!'
    - '&8&m―――――――――――――――――――――――――――――――――'
  reloading: '{p} &7Reloading...'
  reloaded: '{p} &aReloaded!'

  kick-reason: '&cThe world "{world}" is regenerating! Please join back momentarily.'
  still-regenerating: '{p} &cA world is in the process of being reset. Please join back momentarily.'
  player-not-online: '{p} &cThe player "{player}" is not online!'
  teleporting-safe-world: '{p} &7This world is resetting, teleporting you to the safe world...'
  teleported-safe-world: '{p} &aYou have been teleported to the safe world!'
  teleporting-back: '{p} &7Teleporting you back to world "{world}"...'
  teleported-back: '{p} &aYou have successfully been teleported back!'
  teleporting-player: '{p} &7Teleporting them to world "{world}".'
  teleporting-dont-move: '{p} &7Teleporting to "{world}" in {time} seconds. &cDo not move!'
  teleporting-already: '{p} &cYou are already teleporting to "{world}"!'
  teleporting: '{p} &7Teleporting you to world "{world}".'
  teleported: '{p} &aYou have successfully been teleported!'
  teleporting-failed: '{p} &cAn error has occurred trying to teleport you.'
  teleport-failed: '{p} &cYou moved! Teleportation has been canceled!'
  teleport-invalid: '{p} &cThis world is not set up for teleportation!'

  default-world-fail: '{p} &cThe world "{world}" is a default world (server.properties)! This world cannot be reset- only RTP may be used!'
  world-not-exist: '{p} &cThe world "{world}" does not exist!'
  same-world-fail: '{p} &cYou cannot set the safe world to be the same as the world you''re resetting ("{world}")!'
  unload-failed: '{p} &cThe world "{world}" failed to unload!'
  resetting-error: '{p} &cA world is being reset. This action cannot be completed.'
  safeworld-not-set: '{p} &cPlease set a safe world before enabling the safe world option (&7/cwr edit {world} set safeWorld <world>&c).'
  invalid-safeworld: '{p} &cThe world cannot be reset with the safe world "{safeWorld}"! Please adjust it (&7/cwr edit {world} set safeWorld <world>&c).'
  setup-created: '{p} &aThe world setup "{world}" has been created! Don''t forget to edit/enable it!'
  setup-already-exists: '{p} &cThe world setup "{world}" already exists! Edit it using &a/cwr edit <world> <operation> <setting> <value>&7 (https://mc.zerotoil.net/wiki/xwr-commands).'
  no-setups-found: '{p} &cNo world setups found. Create one with &7/cwr create [<world>]&c.'
  setup-doesnt-exist: '{p} &cThe world setup "{world}" does not exist!'
  saving-world: '{p} &7Attempting to save the world "{world}".'
  save-failed: '{p} &cThe world "{world}" failed to save!'
  save-success: '{p} &aThe world "{world}" has been saved!'
  regen-success:
    - '{p} &aThe world "{world}" has been successfully reset!'
    - '[webhook:webhook-1] The world {world} has been reset!'
  no-saves: '{p} &cThis world has not yet been saved. Save it using &7/cwr save [<world>]&c.'
  reset-not-enabled: '{p} &cOperation cannot be completed: This world reset has not yet been enabled. Enable it using &7/cwr edit {world} toggle resetEnabled true&c.'
  no-messages-found: '{p} &cNo messages found, please add one first.'
  invalid-index: '{p} &cThat is an invalid index, please use a number in the range {min} - {max}.'
  invalid-number: '{p} &cThat is not a number!'
  world-create-failed: '{p} &cThe world "{world}" failed to save to the file!'
  confirm-command: '{p} &7Please confirm that you would like to run this command with &a/cwr confirm {command} &7within &6{time} &7seconds.'
  confirm-teleport: '{p} &7Please confirm that you would like to run this command with &a/cwr confirm {command} &7within &6{time} &7seconds. You will be charged &a${cost}&7.'
  confirmation-required: '{p} &cYou have already run this command. &7Please use &6/cwr confirm {command} &7to proceed!'
  confirmation-completed: '{p} &aSuccessfully confirmed &7{command} &acommand! &7Running command now...'
  confirmation-expired: '{p} &cConfirmation for the command &7{command} &chas expired!'
  confirmation-not-required: '{p} &cYou have nothing to confirm.'
  # invalid-command: '{p} &cIncorrect use of arguments!'
  setting-set-failed: '{p} &cSomething went wrong adjusting this setting! &7Please check syntax!'
  setting-set-success: '{p} &aThe setting has been updated successfully.'
  custom-generator-warning: '{p} &6Please make sure to add this generator to bukkit.yml, otherwise chunks can get messy after a reboot.'
  rtp-failure: '{p} &cThis world cannot be teleported to.'
  cooldown-error: '{p} &cCannot teleport to "{world}" for another {time}&c!'
  locating-safe-rtp: '{p} &aFinding a safe spot to teleport to...'
  not-enough-money: '{p} &cYou don''t have enough money (${money}) to teleport here!'
  economy-charged: '{p} &7You have been charged &a${money} &7for teleporting here.'
  reset-pre-starting: 'Resetting [{world}]: &6Performing pre-reset operations...'
  reset-pre-finished: 'Resetting [{world}]: &aPre-reset operations completed successfully!'
  reset-deleting: 'Resetting [{world}]: &6Deleting world files...'
  reset-delete-failed: 'Resetting [{world}]: &cThe world "{world}" failed to delete!'
  reset-deleted: 'Resetting [{world}]: &aWorld files deleted successfully!'
  reset-rollback-starting: 'Resetting [{world}]: &6Rolling back world...'
  reset-rollback-failed: 'Resetting [{world}]: &cWorld rollback failed!'
  reset-rollback-finished: 'Resetting [{world}]: &aWorld rolled back successfully!'
  reset-creating: 'Resetting [{world}]: &6Creating world files...'
  reset-created: 'Resetting [{world}]: &aWorld created successfully!'
  reset-post-starting: 'Resetting [{world}]: &6Performing post-reset operations...'
  reset-post-finished: 'Resetting [{world}]: &aPost-reset operations completed successfully!'
  command-not-found: '{p} &cThe command "/{command} {subCommand}" was not found! &7Did you mean &6"/{command} {suggestedCommand}"&7?'
  command-lacking-arguments: '{p} &cNot enough command data! &7Required arguments: &6{requiredArguments}&7.'
  setup-nonexistent: '{p} &cThe world reset/rtp setup "{world}" does not exist! &7create it with &6/cwr create {world}&7.'
  setup-tp-only: '{p} &cThe setup for "{world}" is tp only! Please convert this setup to a world reset before running this command!'
  world-still-resetting: '{p} &cThe world "{world}" is currently resetting! &7Please try again later.'
  safeworld-still-resetting: '{p} &cThe safe world for "{world}" is currently resetting. &7Please try again later.'
  teleport-failure: '{p} &cThe world "{world}" is currently resetting! &7You cannot teleport there right now.'
  multiverse-disabled: '{p} &cMultiverse is disabled for auto world creation. &7Please install it or create the world in a world management plugin first.'
  invalid-environment: '{p} &cThe environment {environment} is not a valid option. &7Valid options include: NORMAL, NETHER, THE_END.'
  invalid-world: '{p} &cThe world {world} does not exist! &7If you would like to create one (must have MV installed), use /cwr create <world> <environment>.'
  conversion-folder-not-found: '{p} &cThe plugin folder ''{folder}'' cannot be found! Please make sure your old plugin folder exists!'
  conversion-not-found: '{p} &cNo valid conversion could be found!'
  conversion-invalid-option: '{p} &cThe version {version} is not a valid option! Please review the WIKI on proper conversion.'
  conversion-starting: '{p} &7Converting from {version}...'
  conversion-finished: '{p} &aConversion finished!'

  info:
    header: '&8&m―――――&8<&b&l {world} &8>&8&m―――――'
    section-item: '&b'
    list-item: '&8➼ &f'
    key-item: '&7'
    footer: '&8&m―――――――――――――――――――――――――'

  world-list:
    header: '&8&m―――――&8<&b&l Worlds &8>&8&m―――――'
    info: '&8➼ &b{world} &7- TP Enabled: &f{isTeleportEnabled}'
    footer: '&8&m―――――――――――――――――――――――――'

##############################
#                            #
#         Time Values        #
#                            #
##############################

# These are used in many places throughout the plugin. Here, you can
# change what each message will send.
time:
  days: '&a{time} Day(s)'
  hours: '&a{time} Hour(s)'
  minutes: '&a{time} Minute(s)'
  seconds: '&a{time} Second(s)'
  splitter: '&a, '


##############################
#                            #
#    PlaceholderAPI Values   #
#                            #
##############################

# These values are sent when a request comes in from PlaceholderAPI.
#
# Internal placeholders: {percent} {tps} {processNumber} {processTotal} {chunkLoaderETA}
placeholder-api:
  reset-status:
    countdown: '&aReset in: {timeUntilReset}'
    no-running-timers: '&cNo running schedulers'
    invalid-world: '&cInvalid world'
    resetting: '[{percent}%] &6Resetting...'
    initializing: '[{percent}%] &6Initializing...'
    backing-up: '[{percent}%] &eBacking up...'
    deleting: '[{percent}%] &cDeleting world...'
    rolling-back: '[{percent}%] &eRolling back...'
    creating: '[{percent}%] &aCreating world...'
    finalizing: '[{percent}%] &aFinalizing... ({chunkLoaderETA} - {processNumber}/{processTotal})'

##############################
#                            #
#          Webhooks          #
#                            #
##############################

webhooks:
  webhook-1:
    enabled: false
    url: 'https://discord.com/api/webhooks/000000000000000000/I5VrzXGjEudoezM3pTfFri6kS87Ryt3e6rZBzFdOUA4DGUBUJfF1Zv0qaaS4p7IH142v'
    content: ''
    username: 'XenoWorldReset'
    avatar-url: 'https://dev.zerotoil.net/images/cyberworldreset/premium_logo.png'
    tts: false
    embeds:
      embed-1:
        title: 'Come get some fresh resources!'
        description: ''
        url: ''
        footer:
          text: 'ZeroToil Development'
          icon-url: 'https://dev.zerotoil.net/images/ZeroToil_BLUE.PNG'
        thumbnail-url: ''
        image-url: ''
        author:
          name: 'World {message} has been reset'
          url: 'https://www.spigotmc.org/resources/99431/'
          icon-url: 'https://dev.zerotoil.net/images/cyberworldreset/premium_logo.png'
        fields: []

  #another-webhook: []

plugin-data.yml

This file contains data the plugin stores to disk. It contains important information, such as plugin versions and player logout locations, that should normally not be tampered with.

version:
  current: ${project.version}
  previous: ${project.version}
edition: premium
player-data: []

Using GUI Menu
Getting Started