EpicBoundaries - Create temporary instances of worlds


#1

EpicBoundaries Build Status Sonarcloud Status License

Introduction

EpicBoundaries is a Sponge Minecraft plugin that enables the use of world instances.
Use the included commands to replicate a world to use as an instance which will disappear once unused, or include this as a dependency to your own plugin to use the instances features.

Get started

The plugin is designed to work with Sponge API 7.0.0 (Minecraft 1.12).
To install it, just drag and drop the jar file into the mods folder on your server.

Commands

  • /apparate world x y z [player] : Teleport a player or the command executor to the given world to a given position.
    Permission : epicboundaries.command.apparate
  • /create-instance world-to-copy x y z [player] : Copy a given world to create an instance that will be removed when nobody use it.
    Specify the X, Y and Z coordinates to teleport the specified player or the command executor.
    Permission : epicboundaries.command.createinstance
  • /apparate-group world x y z [player] : same as apparate, except it works with external party plug-in (CrowdBinding or NT-RPG)
  • /create-instance-for-group world_to_copy x y z [player] : same as create-instance, except it works with external party plugins (CrowdBinding or NT-RPG)

Services

  • IInstanceService : Give access to the instance manipulation commands to a plugin
    • boolean apparate(String worldName, String playerName, Vector3d position) : Teleport a player to a world at a given position. Returns true if the player was teleported.
    • int apparate(String worldName, List playerNames, Vector3d position) : Teleport a group of players to a world at a given position. Returns the number of player successfully teleported.
    • Optional createInstance(String worldToCopy, String playerName, Vector3d position) : Create an temporary instance from a world and try to teleport the player to this instance at the specified position.

Download

The plugin is available on Github, using its release system. So, head to the release page and download the latest !

Additional notes

  • The world you want to replicate cannot be the default world, so you will have to create another world (just like a dimension) within the world folder.
  • If you wish to test the plugin without creating a world yourself, you can generate the nether/end world ingame, then enter “/create-instance DIM-1/DIM1 0 100 0” to generate a new instance ! (please be in creative mode) Check into the world folder and you will see that a new folder with an UUID has been created : this world will be deleted when nobody is within your world after some time.
  • The plugin was designed to replicate a MMORPG instance system, but can probably be used for other use cases.
  • The Onaple dev team now have a Tipeee, if you’d like to show more support. (We like comments too)

#2

I was looking for something just like this!
Can players join the same instance? or is it one player per?


#3

If you know the world name, you can use the “apparate” service (or command) to teleport a player or a list of player to the world you’ve created.
You were supposed to retrieve the new world name after calling the “createInstance” but it looks like I forgot to add it; also the createInstance service could take a list of player names instead of just one player name, should it evolve in the future.


#4

Love the plugin! I have waited hoping Sponge would get a plugin a like this! I see you are trying to replicate an MMORPG system in Minecraft, any chance of a party system so that a group of players can be teleported together to the same map? If it helps, I am using https://ore.spongepowered.org/Eufranio/XPParty for the party system currently.


#5

We were indeed trying to replicate a MMORPG system with Sponge, but the server project is in a bad state and we mostly develop the plugins for other persons now.
We have a project called “CrowdBinding” that aimed at creating player groups but the developer that worked on it left. I think we’re going to work on it again to make the group teleportation possible.


#6

Sweet! I’d love to do any testing you need on it. I’m working on a MMO server using sponge and parties is my most requested feature.


#7

I’ll be watching this heavily; probably try it out once i get my only development more stable.
I use NT-RPG’s party system… if there is a way you can import from that to get your player list; it would be EXTREMELY useful to me. (will happily donate for the feature :wink:)


#8

Do you happen to have a discord where we can follow progress and such?


#9

@hellbringer616 At the moment, we are integrating EpicBoundaries with our standalone group plugin CrowdBinding; we’re fine with integrating NT-RPG’s party system with EpicBoundaries too, I’ll see if there are interfaces we can use to communicate between the plugins.
@AzureZhen We have a discord, it is a french server for our own project but it also has an english channel where we can talk about contributions and plugin evolutions. Here is the link.


#10

We have released a new version of EpicBoundaries that can be used with our other party plugin CrowdBinding: this way you can create groups and teleport them into new or existing instances.
EpicBoundaries v0.3
CrowdBinding v0.4.2


#11

We now have a compatibility with NT-RPG party system! That means you can create instance and teleport all the players in a NT-RPG party if you have both plugins on your server.
EpicBoundaries v0.4

Tested with NT-RPG 2.0.0-SNAPSHOT-9 and NTCore 1.1.13-SNAPSHOT-10.