Untitled
unknown
plain_text
2 years ago
13 kB
4
Indexable
# Skyblock Management Commands:
import:
java.io.File
com.sk89q.worldedit.extent.clipboard.io.ClipboardFormats
com.sk89q.worldedit.bukkit.BukkitAdapter
effect paste [:(revertable)] schematic %string% at %locations% [:(including air)]:
parse:
set {_include air} to true if parse tags contains "including air" otherwise false
set {_revertable} to true if parse tags contains "revertable" otherwise false
continue
trigger:
set {_file} to new File(expr-1)
set {_schematic} to ClipboardFormats.findByFile({_file}).load({_file})
loop exprs-2:
{_schematic}.paste(BukkitAdapter.adapt(loop-value.getWorld()), BukkitAdapter.asBlockVector(loop-value), {_revertable}, {_include air}, null)
#! CREATE OFFSETS !#
# This just creates our offset vars
on load:
# offset is 2, change to your liking
set {-dir::1} to vector(10,0,0)
set {-dir::2} to vector(0,0,-10)
set {-dir::3} to vector(-10,0,0)
set {-dir::4} to vector(0,0,10)
on load:
if {-spiral::nbt} is not set:
set {-spiral::nbt} to nbt compound from "{}"
set int tag "gap" of {-spiral::nbt} to 0
set int tag "pos" of {-spiral::nbt} to 0
set byte tag "vec" of {-spiral::nbt} to 1
# Change this location to where you want your spiral to start
set compound tag "lastLoc" of {-spiral::nbt} to saveLoc(location(0,100,0, world "world"))
#! GET LOC FROM NBT FUNCTION !#
# this just gets a location from NBT you wont need to worry about this
function getLoc(n: nbt compound) :: location:
set {_x} to tag "x" of {_n}
set {_y} to tag "y" of {_n}
set {_z} to tag "z" of {_n}
set {_ws} to tag "world" of {_n}
set {_w} to world({_ws})
set {_l} to location({_x}, {_y}, {_z}, {_w})
return {_l}
#! SAVE LOC TO NBT FUNCTION !#
# this just saves a location into NBT format, you wont need to worry about this
function saveLoc(l: location) :: nbt compound:
set {_n} to nbt compound from "{}"
set int tag "x" of {_n} to x coord of {_l}
set int tag "y" of {_n} to y coord of {_l}
set int tag "z" of {_n} to z coord of {_l}
set {_w} to "skyblock"
set tag "world" of {_n} to {_w}
return {_n}
#! MAIN SPIRAL FUNCTION !#
# this gets the next location in your spiral
# this is the key ingredient you are going to want to use
function getNext() :: location:
set {_lastLoc} to compound tag "lastLoc" of {-spiral::nbt}
set {_loc} to getLoc({_lastLoc})
set {_gape} to tag "gape" of {-spiral::nbt}
set {_pos} to tag "pos" of {-spiral::nbt}
set {_vec} to tag "vec" of {-spiral::nbt}
set {_loc} to {_loc} ~ {-dir::%{_vec}%}
add 1 to {_pos}
if {_pos} >= {_gape}:
set {_pos} to 0
add 1 to {_vec}
if {_vec} = 2 or 4:
add 1 to {_gape}
if {_vec} > 4:
set {_vec} to 1
set int tag "gape" of {-spiral::nbt} to {_gape}
set int tag "pos" of {-spiral::nbt} to {_pos}
set byte tag "vec" of {-spiral::nbt} to {_vec}
set compound tag "lastLoc" of {-spiral::nbt} to saveLoc({_loc})
return {_loc}
function createIsland(istype: text, p: player, isname: text):
set {_p} to {islandOwner::%{island::%uuid of {_p}%}%}
add {_p} to {islandMembers::%{island::%uuid of {_p}%}%}
set {hasIsland::%uuid of {_p}%} to true
set {islandName::%uuid of {_p}%} to {_isname}
set {_loc} to getNext()
paste schematic "/home/Synthplex/plugins/FastAsyncWorldEdit/schematics/%{_istype}%.schem" at {_loc}
wait 1 ticks
send "test" to {_p}
command /resetvariables:
permission: op
trigger:
set {hasIsland::%uuid of player%} to false
command /newisland [<text>]:
aliases: nisland, newis
trigger:
if {hasIsland::%uuid of player%} is false:
if arg-1 is set:
set metadata tag "newIslandMenu" of player to chest inventory with 3 rows named "&8&l&k|a| &c&lChoose your island! &8&l&k|a|"
set slot 0 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 1 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 2 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 3 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 4 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 5 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 6 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 7 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 8 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 9 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 10 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 11 of metadata tag "newIslandMenu" of player to grass block named "&a&lOriginal Island"
set slot 12 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 13 of metadata tag "newIslandMenu" of player to sand named "&e&lDesert Island"
set slot 14 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 15 of metadata tag "newIslandMenu" of player to jungle log named "&2&lJungle Island"
set slot 16 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 17 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 18 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 19 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 20 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 21 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 22 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 23 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 24 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 25 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 26 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
open (metadata tag "newIslandMenu" of player) to player
set {islandName::%uuid of player%} to arg-1
else:
send "You need to specify a name for your island!"
else:
send "You already have an island!"
on inventory click:
if event-inventory = (metadata tag "newIslandMenu" of player):
cancel event
if index of event-slot is 11:
createIsland("original", player, {islandName::%uuid of player%})
else if index of event-slot is 13:
createIsland("desert", player, {islandName::%uuid of player%})
else if index of event-slot is 15:
createIsland("jungle", player, {islandName::%uuid of player%})
command /replaceisland [<text>]:
trigger:
if arg-1 is not set:
set metadata tag "newIslandMenu" of player to chest inventory with 3 rows named "&8&l&k|a| &c&lChoose your island! &8&l&k|a|"
set slot 0 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 1 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 2 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 3 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 4 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 5 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 6 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 7 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 8 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 9 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 10 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 11 of metadata tag "newIslandMenu" of player to grass block named "&a&lOriginal Island"
set slot 12 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 13 of metadata tag "newIslandMenu" of player to sand named "&e&lDesert Island"
set slot 14 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 15 of metadata tag "newIslandMenu" of player to jungle log named "&2&lJungle Island"
set slot 16 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 17 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 18 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 19 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 20 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 21 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 22 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 23 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 24 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
set slot 25 of metadata tag "newIslandMenu" of player to gray stained glass pane named " "
set slot 26 of metadata tag "newIslandMenu" of player to black stained glass pane named " "
open (metadata tag "newIslandMenu" of player) to player
else if arg-1 is set:
if arg-1 is "confirm":
if {replaceIsland::%uuid of player%} is "original":
execute console command "mv delete original_%{uuid of player}%"
wait 2 ticks
execute console command "mv confirm"
wait 2 ticks
execute console command "mv clone original %{uuid of player}%"
teleport player to location(0, 100, 0, world "original_%{uuid of player}%")
send "Your island has been replaced with the original island!"
else if {replaceIsland::%uuid of player%} is "desert":
execute console command "mv delete desert_%{uuid of player}%"
wait 2 ticks
execute console command "mv confirm"
wait 2 ticks
execute console command "mv clone desert %{uuid of player}%"
teleport player to location(0, 100, 0, world "desert_%{uuid of player}%")
send "Your island has been replaced with the desert island!"
else if {replaceIsland::%uuid of player%} is "jungle":
execute console command "mv delete jungle_%{uuid of player}%"
wait 2 ticks
execute console command "mv confirm"
wait 2 ticks
execute console command "mv clone jungle %{uuid of player}%"
teleport player to location(0, 100, 0, world "jungle_%{uuid of player}%")
send "Your island has been replaced with the jungle island!"
else:
send "You need to choose an island first!"
else:
send "This command does not need any arguments."
on inventory click:
if event-inventory = (metadata tag "vanillaGUI" of player):
cancel event
if index of event-slot is 11:
send "Type /replaceisland confirm to replace your island with the original island."
set {replaceIsland::%uuid of player%} to "original"
else if index of event-slot is 13:
send "Type /replaceisland confirm to replace your island with the desert island."
set {replaceIsland::%uuid of player%} to "desert"
else if index of event-slot is 15:
send "Type /replaceisland confirm to replace your island with the jungle island."
set {replaceIsland::%uuid of player%} to "jungle"
command /coop [<text>] [<player>]:
trigger:
send "wip"Editor is loading...