XenoWorldReset

worlds.yml

Store world setups and their configuration.

worlds.yml
###############################################################################
#    _  _ ____ _  _ ____ _ _ _ ____ ____ _    ___  ____ ____ ____ ____ ___    #
#     \/  |___ |\ | |  | | | | |  | |__/ |    |  \ |__/ |___ [__  |___  |     #
#    _/\_ |___ | \| |__| |_|_| |__| |  \ |___ |__/ |  \ |___ ___] |___  |     #
#                                                                             #
#                   Premium Software | BitAspire.com                          #
#           ZeroToil LLC is the owning entity of BitAspire.com                #
#                                                                             #
#       --> WIKI: https://wiki.bitaspire.com/en/docs/xenoworldreset <--       #
#               --> 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: true'
          - 'doEntityDrops: true'

        # 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: false

            # 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: []

Last updated on