Plugin idea - round world illusion

Discussion in 'Spigot Plugin Development' started by takatalvi, Oct 20, 2016.

  1. Hi, I got an idea for a plugin and as I have never been into programming, I thought I'd just put it up here and maybe someone more java-skilled will be interested. It wouldn't be a complex system, hear me out:

    I was thinking about creating a custom world/map, that would (like many fantasy lands) consist of large continents/islands, surrounded by water. This way we wouldn't have any intrusive ends of maps, wouldn't have to encircle the whole world by tall mountains and so on. The only problem comes up when out of curiosity a player takes a boat and rows to the world border. Now, it can either be a wall or a drop to the void - both ruin the world experience a bit, so I came up with a system, I just don't have the knowledge to develop it.

    Let's say the world is limited to a square/rectangle. When the player touches the border on the west (looking west), it would teleport them to the other end of the map, directly across to the east (looking west). It would create the illusion that they went around the whole world, as if it was a round planet. Now, there could be several options in the behaviour of the border - whether the X and Z coordinates should be reversed and how, to be able to have a cylindrical or a spherical world. It could even be just an extension to WorldGuard, or WorldBorder.

    Any thoughts?
     
    #1 takatalvi, Oct 20, 2016
    Last edited: Oct 20, 2016
    • Creative Creative x 2
  2. Should be possible. Only thing that would take a bit is the world generator.
     
  3. Hmm I think it is possible since it is just teleporting them once they reach the end, you could make it like how skyrim fast travel works where a screen would say something like 'world loading' or 'travelling across the globe' then you tp to the opposite side creating the illusion the world was spherical.
     
  4. The real challenge would be making it such that if you have a square world, and two players on opposite borders, that they can see and interact with each other ;)
     
    • Agree Agree x 1
  5. [​IMG]
    That's a feature from WorldBorder, not sure if that's exactly what you're looking for but that exists;)
     
    • Winner Winner x 1
  6. Oh, it seems you found an existing solution to this, I will try it out, thanks!

    This is even better, if someone could do that, it would be beautiful. I'm thinking how it would be possible. Maybe making a moving clone of a player when he comes near..
     
  7. This would actually be specifically designed for pre-made maps, so the generator is not in play. I can't think of any kind of world other than water-surrounded land. The water would provide seamless transition from one end to the other, the player wouldn't notice anything, unless they watch their coordinates.
     
  8. I think the loading wouldn't even have to be there. Think how fast a simple /warp command works when you're warping to an unloaded area. It's a matter of a split-second before the server loads just another piece of plain ocean. However, the traveling screen is not at all a bad idea. It would be a better teleport experience for rpg servers that don't have teleports available by commands. I'm thinking a horse carriage station in a town with buttons, that would allow fast travel. You would be able to do that using vanilla commands - teleport a player to the interior of a carriage, while displaying "traveling across the globe" and the destination name for a few seconds, then teleporting you to the destination town's carriage station. Oh boy, I can see it already!
     
    • Like Like x 1
  9. The thing with interacting: I would agree by making it like this:
    Teleport the player let's say 10 blocks away from the border. Behind these 10 blocks is a NPC which moves exactly like others on the other side... I can already imagine how the code would be :D For mine the best, but you're right. This part with the npcs is the hardest but still not sooo hard.
     
  10. If you can imagine the code, definitely try writing it! I can only imagine the behaviour, so I could only reply to this thread :D
     
  11. It sure is possible. But it'd take a while. I like the idea, and if I had enough free time / will to write this I would :p