Any Idea how to make multiplayer skyblock worlds?

  • Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!

    Now, what are you waiting for? Join the community now!

  • LOOKING FOR A VERSION OF SKRIPT?

    You can always check out skUnity Downloads for downloads and any other information about Skript!

Status
Not open for further replies.

EpicLucas100

Member
Jun 6, 2020
10
0
1
[C]I've looked everywhere across the internet and on the forums and I can't find anything on this. There aren't any tutorials for this and I'm just getting very confused. I just recently started scripting so I would love some help! Its Cave instead of skyblock since a new server with a new idea.

Code:
command /cave [<text>] [<text>]:
    aliases:/c
    permission: cave.use
    trigger:
        if arg 1 is not set:
            if player has the permission "cave.create":
                open chest with 3 rows named "&e&lCave Create" to player
                format slot 13 of player with stone named "&b&lCreate A Cave" to run [command "cave create "]
            if player has the permission "cave.gui":
                open chest with 3 rows named "&e&lCave Settings" to player
                format slot 13 of player with stone named "&b&lCave Home" to run [command "cave home "]
        if arg 1 is set:
            if arg 1 is "create":
                if player has the permission "cave.create":
                    execute console command "/mv clone ul_CavingX1 %player%"
                    wait 2 seconds
                    message "&6&lCave Created! Do /cave home To go to The Cave!"
                    execute console command "lp user %player% parent set realdefault"
                else:
                    message "&6&lYou already Have a Cave! Do /cave home To go There!"
            if arg 1 is "home":
                if player has the permission "cave.create":
                    message "&l&6You don't Own a Cave, Please do /cave create To Get A Cave!"
                if player has the permission "cave.home":
                    execute console command "/mvtp %player% %player%"
                    execute console comand "/mv load %player%"
                    teleport player to location(104, 241, -89, world("%player%"))
            if arg 1 is "join":
                if player has permission "cave.gui":
                    if arg 2 is offline player:
                    else:
                        message "&6&lYou must put in a player name To ask to join!"

on join:
    execute console command "/mv load %player%"
 
on quit:
    console command "/mv unload %player%"

on death:
    wait 3 ticks
    teleport player to location(104, 241, -89, world("%player%"))



For the join segment, I've managed to get that much done and I'm at a loss of what to do now. I would really love some help but its fine if no one is able to do anything!

Edited it to make the code more readable
 
Last edited:
No, you didn't, you've set into quotes, you need to insert into the ''</> code'' format that I show u before
Ok, I Re Fixed it So its code, Hope it helps now!
[doublepost=1591563858,1591556870][/doublepost]
Create a template world that has the cave or whatever and then clone that world (I would like to give it a unique name, Eg. "%player's uuid%") and do your code

Yes i know what you mean and i will switch to that to counteract user name changes, but i still have no idea how to get other people to join that world, I made it where yes it does copy the world but i dont know how to make it so other people can join it
 
Dude wtf, clean your code too much hardcoding, try to use effects implemented in skript!!
[doublepost=1591563979,1591563861][/doublepost]Btw, that will make it really ez for u and also don't use variables of skript use configs (Eg. "data\%player's uuid%.yml)
[doublepost=1591564011][/doublepost]To store members and other things
 
Dude wtf, clean your code too much hardcoding, try to use effects implemented in skript!!
[doublepost=1591563979,1591563861][/doublepost]Btw, that will make it really ez for u and also don't use variables of skript use configs (Eg. "data\%player's uuid%.yml)
[doublepost=1591564011][/doublepost]To store members and other things

Can you give me a website to that? I havent found any website saying things about the variables, either that or im just blind
 
Ok, its late for me, tomorrow i'll try to code you that ok??
[doublepost=1591564433,1591564394][/doublepost]BUT, keep coding you might find the solution
 
Ok, its late for me, tomorrow i'll try to code you that ok??
[doublepost=1591564433,1591564394][/doublepost]BUT, keep coding you might find the solution

If you can I'd be extremly grateful, Take your time its no rush, I never even expected an answer on my post this fast, Thanks!

I will keep trying!
 
code_language.skript:
import:
    org.bukkit.Bukkit
    org.apache.commons.io.FileUtils
    java.io.File
    org.bukkit.WorldCreator
effect clone world %string% and name it %string%:
    trigger:
        set {_f} to Bukkit.getWorld(expr-1)
        if {_f} is set:
            send "§aThe world: %{_f}% is unloading!" to console
            Bukkit.getServer().unloadWorld({_f},true)
            set {_world} to new File("%Bukkit.getWorldContainer().getCanonicalPath()%/%{_f}.getName()%")
            FileUtils.copyDirectory({_world},new File("%Bukkit.getWorldContainer().getCanonicalPath()%/%expr-2%"))
            set {_uid} to new File("%Bukkit.getWorldContainer().getCanonicalPath()%/%expr-2%/uid.dat")
            if {_uid}.exists():
                {_uid}.delete()
            Bukkit.createWorld(new WorldCreator(expr-2))
            
        else:
            send "§cThat world doesn't exist!" to console
[doublepost=1591689896,1591689738][/doublepost]Requires skript-mirror
 
Status
Not open for further replies.