Hot Summer Deals are Here!
Celebrate with up to 99% off on 17,300 resources
03
Days
01
Hours
11
Mins
36
Secs

Requesting 1.17 Per-Player World Plugin

Landon

wow!
Supreme
Feedback score
111
Posts
1,590
Reactions
2,040
Resources
7
Hello,

I am in need of a custom Spigot plugin that enables users to have “per-player” worlds.

There are some options already out there, but none support 1.17, and this is urgent.

Here’s a run down of how the plugin should operate:

Upon running the command “/is get” if a player does not already have a world, a world is generated (async). Worlds should be a copy of a world file I already have— so every world will be identical. They should be named the trimmed version of the player’s UUID. If a player owns a world, or is a member, "/is get" should tell them they already have an island.

World owners can invite up to 10 players to their islands using “/is invite <player>” If the player doesn’t have a world, it will tell them “You need to create an island before being able to invite players.” If they do have an island, they can invite members who will get access to that world to build, break, etc. If the limit of 10 is reached: “You have reached the maximum number of co-op players.”

Users can join islands if they are invited using “/is join <player>“. If the user attempting to join already has an island, it will tell them “You already have an island. Delete your island before joining someone else.” Otherwise, the user will be added as a member.

Players can delete their worlds using “/is delete”. They will then have 15 seconds to type “/is delete confirm.” Only the world owner can delete the world. Any players in that world should be teleported to spawn (configurable world&x,y,z) and then the world should be unloaded and deleted off the server. If a user deletes their world, they can create a new one. Also, "/is delete <player>" should be runnable by players with "ppw.admin" to force-delete a player's island.

The command "/is home" should take the player to their last location in their world.

config.yml sample:
Code:
worlds:
    37e14826f9c14dbd82d43f27fec85875:
        owner:
            uuid: 37e14826-f9c1-4dbd-82d4-3f27fec85875
            lastlocation:
                x: -2917
                y: 57
                z: 3100
        members:
            0482e0a6-117e-41bd-8bb8-fbeadd65e91c:
                lastlocation:
                    x: -2917
                    y: 57
                    z: 3100
            40b4f355-4fc8-4ce8-ad70-1c77c741878b:
                lastlocation:
                    x: -2917
                    y: 57
                    z: 3100
            31db28c5-a340-44fe-a814-8ff9af88ed1b:
                lastlocation:
                    x: -2917
                    y: 57
                    z: 3100
            19f7c31e-b1d4-4032-a93d-18d3e47ae784:
                lastlocation:
                    x: -2917
                    y: 57
                    z: 3100

Some additional things the plugin would require:
Performance-optimized. I do not want all worlds loaded at the same time. Worlds should only be loaded if the world owner or member is online. The plugin should check if a world has had no members online for ten minutes and if so, it should unload the world. When a world member joins, the server should load the world (async).

If a player logs off in the world, and then rejoins, I'm not exactly sure how to handle that yet. The world would be unloaded, so where would they spawn? I would want them to spawn at their last location in their world, preferably, but not sure if that is possible.

There should be a config option to run commands when a user creates a world, for example:
Code:
world_create_commands:
    - tell %player% You created world named %world%
    - wb set %world% 200
(where %world% is the world-name).

Building, breaking, interacting, etc. should be disabled in a player's world unless obviously they are a member or own it.

PlaceholderAPI Support:
%ppw_hasworld% Returns "true" or "false" if the player owns or is a member of a world.
%ppw_members% Returns the number of team members (including owner) of a world.

If this is something you are confident you can do, contact me via Discord:
Landon#1718

Have a portfolio ready and a quote.
 
Type
Requesting
Last edited:
PebbleHost
High performance, consistent uptime and fast support. Minecraft hosting that just works.

Kalinox

Ethera Owner
Supreme
Feedback score
4
Posts
237
Reactions
96
Resources
0
I mean, it's open source. You could get someone else to simply make it compatible for 1.17 possibly.
 

Landon

wow!
Supreme
Feedback score
111
Posts
1,590
Reactions
2,040
Resources
7
I mean, it's open source. You could get someone else to simply make it compatible for 1.17 possibly.
Yeah, but a lot of the features in that plugin I don't really need. I feel I would be better off to get something custom made to do exactly what I want, but if the price points are too high, I'll probably settle for a fork.
 

Pedro Pagani

Pedro, Software Engineer.
Premium
Feedback score
0
Posts
68
Reactions
27
Resources
2
That plugin requires time, if i were coding(i dont have time), i would charge you at least $150, if you receive something lower than that you should try to understand the reason.
 
Top