function createWarp(p: player, name: text) :: boolean: if {warps::%{_name}%} is set: send "&cWarp o takiej nazwie juz istnieje!" to {_p} return false else: set {warps::%{_name}%} to location of {_p} send "&cUtworzono warp o nazwie: &6%{_name}%" to {_p} return true function deleteWarp(p: player, name: text) :: boolean: if {warps::%{_name}%} is not set: send "&cNie ma takiego warpu!" to {_p} return false else: delete {warps::%{_name}%} send "&cUsunieto warp o nazwie: &6%{_name}%" to {_p} return true function tpWarp(name: text, p: player) :: boolean: if {warps::%{_name}%} is set: teleport {_p} to {warps::%{_name}%} return true else: return false command /setwarp []: trigger: createWarp(player, "%arg-1%") command /delwarp []: trigger: deleteWarp(player, arg-1) command /warp []: trigger: if arg 1 is not set: send "&cLista Warpow:" loop {warps::*}: send "&6%loop-index%" stop if arg 1 is set: if tpWarp(arg 1, player) is true: send "&cPomyslnie przeteleportowales sie na warp: &6%arg 1%" stop send "&cWarp o nazwie &6%arg 1% &6nie istnieje." stop on sign change: if line 1 is "tp": if line 2 is set: if {warps::%line 2%} is set: set line 1 to "&1&l[Teleport]" set line 2 to "&6%line 2%" send "&cPoprawnie ustawiono teleport dla warpu: &c%line 2%" stop else: send "&cTaki warp nie istnieje!" set block to air on rightclick on sign: if line 1 is "&1&l[Teleport]": if tpWarp(uncoloured line 2, player) is true: send "&cPomyslnie przeteleportowales sie na warp: &6%line 2%" stop send "&cWarp o nazwie &6%line 3% &6nie istnieje." stop