WorldSystem ● The one world per player solution ● GUI ● Highly Configurable ● [1.8 - 1.16] 2.4.12

The one world per player solution you have always dreamed of. Now in over 10 languages

  1. trainerlord
    Native Minecraft Version:
    1.14
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    • 1.16
    Source Code:
    https://github.com/Butzlabben/worldsystem
    Contributors:
    Jubeki, montlikadani, Butzlabben
    Languages Supported:
    Out of the box: German, English, French, Spanish, Dutch, Hungarian, Polish, Russian, Finnish, Chinese, Japanese. Configurable: all
    Worldsystemlogo_V24X.png
    Hello there,
    I'm sure you're asking what WorldSystem is.
    WorldSystem is a plugin where every player can get a world. There they can build, play and do anything they want without creating stress in a single world. The world owner can also add other players and manage their permissions on his world like is he allowed to build, teleport or changing his gamemode.

    When a player creates a new world you can also set a template which will then be cloned.

    Features:

    - Fully customizable messages
    - Event driven and easy to use API
    - Supports English, German, Hungarian, Spanish, Russion, Finnish, Chinese and Dutch
    - GUI (100% configurable)
    - Many Permissions
    - Removing worlds when they are empty
    - Low CPU/Ram usage
    - Lag detection
    - AutoUpdater
    - Create worlds async and incredibly fast (only 1.8 - 1.12.x)
    - PlaceholderAPI support
    - Permission system for the world owners
    - Customize the worldborder and all gamerules
    - Generator settings for also paid generators
    - Automatic deletion of worlds that have not been loaded for a long time

    [​IMG] [​IMG]


    Some screenshots:
    javaw_2018-04-22_14-48-56.png
    javaw_2018-05-08_21-18-00.png

    TODO:

    • Support more languages: You can send us translated messages and we will implement them
    • More and more worldoptions
    Still not convinced?
    • Over 7000 lines of code
    • 4.81 stars (18 5-star reviews)
    • Over 600 worlds managed by WorldSystem


    Here are the JavaDocs.
    Here are the stats of my plugin.

    !!! Warning !!!
    It is not recommended to use this plugin on version 1.13 or 1.14, as the performance of these versions are pretty bad, especially when it comes to world generation. Altough these versions are supported, it won't work very well. Consider using another version such as 1.12 or 1.15.



    Commands:

    /ws get - Gives you a world
    /ws home - Teleports you to your world
    /ws sethome - Sets a specific home
    /ws gui - Opens the GUI menu
    /ws tp <Player> - Teleports you to the specific world
    /ws addmember <Player> - Add a player to your world
    /ws delmember <Player> - Remove a player from your world
    /ws leave - Leave the world you are currently on
    /ws fire - Enables/Disables fire in your world
    /ws tnt - Enables/Disables tnt in your world
    /ws info - Show information about the world you are currently on
    /ws reset - Reset your world
    /ws togglegm <player> - Allows/Denys a player changing its gamemode
    /ws toggletp <player> - Allows/Denys a player teleporting
    /ws togglewe <player> - Allows/Denys a player using WorldEdit
    /ws togglebuild <player> - Allows/Denys a player building

    Just for admins:
    /ws delete <Player> - Delete the specific world
    /ws confirm - Confirm if necessary an autoupdate

    - Creating worlds async
    Just install FastAsyncWorldEdit and WorldEdit on your server - done.

    - How to set a template

    https://github.com/Butzlabben/worldsystem/wiki/How-to-set-a-template-World%3F

    - Will not all worlds consume a lot of memory?
    No, it will not. Every world gets unloaded and moved to a specific folder when they are empty. The RAM usage depends on how much chunks are loaded. So if you have one world with many chunks loaded against 5 worlds with not so much chunks loaded, the RAM usage will be equal.

    - Will not all worlds consume a lot of disk space?
    About 1000 worlds will consume ~38 GB of space. If you want you can enable auto-deleting for old worlds if their use was a long time ago.

    - Why should I use WorldSystem? I have PlotMe.
    WorldSystem gives the player a world where they can fully live out their creativity and they are not limited to a 20x20 plot. You can also enable the survival mode so players can't change their gamemode or teleport.

    Code (Text):
    - Forged in Fire (fifmc.com)
    - UnknownCity (unknowncity.de)
    - CorbaCraft (corbacraftmc.com)
    - MagmaCube (magmacube.cz)
    - MineCraft-Universe (mc-universe.de)
    - world4every1.servegame.com
    - AppleMC (AppleMC.pl)
    - Ertha Network (play.ertha.network)
    You can contact me and I will put your server on the list too.

    - ws.*: Gives access to all permissions from WorldSystem
    - ws.get: With this permission you can get a world via /ws get
    - ws.sethome: With this permission, you can seta specific home for your world
    - ws.tp.*: Gives access to all teleport permissions from WorldSystem
    - ws.build: You can build even without the permission of the world owner
    - ws.delete: You can delete worlds
    - ws.gamemode: You can change your gamemode without the permission of the world owner
    - ws.lag: You can see the lag notifications
    - ws.tp.world: You can teleport to a world without being a member of that world
    - ws.tp.other: You can teleport other players across worlds
    - ws.tp.toother: You can teleport to other players across worlds
    - ws.big: Gives you a bigger world if configured
    - ws.large: Gives you an even bigger world if configured
    - ws.confirm: You can confirm an auto update

    Code (Text):

    # Path where the worlds will be saved
    worldfolder: 'plugins/WorldSystem/Worlds'

    # Name of the template world
    worldsource: ''

    # If a confirm is needed before auto-update
    need_confirm: true

    # When nobody is on a world time until it get unloaded
    unloadingtime: 20

    # If true nobody can teleport or change their gamemode a WorldSystem world
    # Except for players with the permissions: ws.gamemode | ws.tp.*
    survival: false

    # If true players will teleport to the spawn on join
    spawn_teleportation: true

    # Time in seconds until a request expires
    request_expires: 20

    # Name of the languagefile in plugins/WorldSystem/messages/
    language: en

    # Prefix which will be shown before each message
    prefix: '&8[&3WorldSystem&8] &6'

    # Time in days after a not used world will be deleted
    # Set to -1 to disable
    delete_after: -1

    # Whether WorldSystem should contact the Mojang authserver
    # If not, some unknown playernames will not be displayed
    # eg. in the gui or in /ws info
    contact_authserver: true

    # Options for the LagSystem:
    # period_in_seconds - how often will be checked for entities in seconds
    # entities_per_world - maximal allowed entities per world
    # garbagecollector - how often will be unused ram be cleared
    lagsystem:
      period_in_seconds: 10
      entities_per_world: 350
      garbagecollector:
        use: false
        period_in_minutes: 5
     
    # Options for random world generation
    worldgeneration:
      # A seed for worldgeneration
      # Set it to 0 for no seed-useage
      seed: 0
      # Environment for the world
      # Valid inputs are 'NORMAL', 'NETHER' and 'THE_END'
      environment: NORMAL
      # Type of the world eg. flat, amplified, ...
      # Valid types are 'NORMAL', 'VERSION_1_1', 'FLAT', 'AMPLIFIED', 'CUSTOMIZED' or 'LARGE_BIOMES'
      type: NORMAL
      # Put in here the name of a generator
      # If you have one from one plugin
      generator: ''

    # Location where you will be teleported when you leave you world
    spawn:
      gamemode: 2
      spawnpoint:
        world: world
        x: 0
        y: 20
        z: 0
        yaw: 0
        pitch: 0

    # Location where you spawn when you join a world
    worldspawn:
      use: false
      spawnpoint:
        x: 0
        y: 20
        z: 0
        yaw: 0
        pitch: 0
     
    A "/ws reload" command will not be necessary, because the config will be automatically read.


    Before you are asking me with a problem, have a look at the docs.

    The class SystemWorld is for world loading, creating, ...
    Code (Java):
    // Retrieving a instance of a systemworld
    SystemWorld world = SystemWorld.getSystemWorld("worldname");

    // Load a SystemWorld
    if(!world.isLoaded()) {
      // Load a world, the player will be notified and teleporter when finished
      world.load(Player player);
    }

    // Unload a world
    // Is world loaded
    if(world.isLoaded()) {
      // Unloads a world with a wait timer
      // World w is the actual world object of the systemworld
      world.directUnload(World w);
      // Or unload it with the given time in the config
      world.unloadLater(World w);
    }

    // Teleport a player to the spawn of this world
    world.teleportToWorldSpawn(Player p);

    // Automatically checks if World w is a SystemWorld
    // If so unload its with the given delay in the config
    SystemWorld.tryUnloadLater(World w);
     
    You can also use the PlaceholderAPI to get some information. Have a look for this on the GitHub Wiki



    This work is licensed under a GPL-3.0 license

    Want to encourage and motivate me? Donate something and buy me with this donation a coffee.

    [​IMG]


    Convinced by my work and my support?
    Please leave an honest review down below or donate something. But if you post an issue in the review section it will be ignored instead go here.

Recent Reviews

  1. jacobvd
    jacobvd
    4/5,
    Version: 2.4.12
    Great plugin but is there a way to get working dimensions as I am tryintg to make something for private SMPs.
    Thanks.
  2. Puebl0
    Puebl0
    5/5,
    Version: 2.4.12
    Really Nice Plugin. I got a problem at the start, but this was my fault. I get really fast help over Discord.
  3. ajgeiss0702
    ajgeiss0702
    3/5,
    Version: 2.4.12
    Plugin seems like a nice concept, but has terrible support. Command system is confusing, which by itself I could get past, but I found a game-breaking bug and the ticket for it github has been open for 5 months with not even a comment.
  4. Oathkeeper
    Oathkeeper
    5/5,
    Version: 2.4.10
    Quality plugin adding a nice atmospheric realm feature to my RPG themed server. Thanks!
  5. SimplixSoftworks
    SimplixSoftworks
    5/5,
    Version: 2.4.8.2
    I really like how you updated your plugin to the 1.15. It is still a pretty awesome plugin. Also the author responds very fast using Discord.
  6. buccimichele5
    buccimichele5
    4/5,
    Version: 2.4.8.1
    I like the plugin, also the creator helps very quickly. A good plugin I suggest you.
  7. weekenzieYT
    weekenzieYT
    5/5,
    Version: 2.4.8.1
    Great Plugin!
    1 Suggestion if a player does /ws home and doesn't have a world it creates them it as well :)
  8. SimplixSoftworks
    SimplixSoftworks
    5/5,
    Version: 2.4.7.3
    Really nice plugin. I think there is no such excellent plugin out there. Really appreciate your work
  9. VanillaMinecraft
    VanillaMinecraft
    5/5,
    Version: 2.4.7.3
    Pretty pretty good plugin.
    And react fast in his discord !
    Keep going dude ! Awesome work !
  10. buccimichele5
    buccimichele5
    5/5,
    Version: 2.4.7.1
    Very good plugin! Keep up the good work! I'm using it in my public server to use as an alternative to the boring creative plots. Also good for survival servers because if combined with perworldinventory you can allow the player to have a private world.
    1. trainerlord
      Author's Response
      Thank you for this kind review