Save / Restore Inventory

  • 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!

ShaneBee

Supporter +
Addon Developer
Sep 7, 2017
2,248
241
73
Vancouver, Canada
This is just a quick snippet for saving and restoring a player's inventory.
I have been asked a few times how to do this, so here is a simple method.

NOTE: This has been tested on Spigot 1.12.2 and Skript 2.2 dev37c (May or may not work on older versions)
code_language.skript:
command /inv <text> <player=%player%>:
    trigger:
        if arg-1 is "save":
            loop 41 times:
                set {inventory::%uuid of arg-2%::slot::%loop-number%} to slot loop-number - 1 of arg-2
            clear inventory of player
        else if arg-1 is "restore":
            loop 41 times:
                set slot loop-number -1 of arg-2 to {inventory::%uuid of arg-2%::slot::%loop-number%}
        else:
            send "&6Correct Usage: &b/inv <save/restore> [player]"


Here are some easy to use functions:
code_language.skript:
function loadInv(p: player):
    set {_u} to uuid of {_p}
    loop 41 times:
        set slot loop-number -1 of inventory of {_p} to {inventory::%{_u}%::slot::%loop-number%}

function saveInv(p: player):
    set {_u} to uuid of {_p}
    loop 41 times:
        set {inventory::%{_u}%::slot::%loop-number%} to slot loop-number -1 of inventory of {_p}
 
Last edited: