[Add-on] = Required add-on(s)
__________________________________________________________
randomUUID() function
reverseNumber() function
treeLoop() function
Simple Resource-pack watcher [skript-mirror]
Will automatically kick all players that either decline the server's resource pack or accept it, but have a failed download of it.
getUUIDMost() / getUUIDLeast() / constructUUID() [skript-mirror]
[doublepost=1534016974,1533480280][/doublepost]Added some UUID related stuff, most importantly allowing to get the Most / Least important bits of an entity's UUID, which are also stored within an entity's NBT data.
__________________________________________________________
randomUUID() function
code_language.skript:
function randomUUID() :: text:
add "a", "b", "c", "d", "e", "f", "0", "1", "2", "3", "4", "5", "6", "7", "8" and "9" to {_chars::*}
set {_uuid} to a random element out of {_chars::*}
loop 35 times:
if loop-number = 8, 13, 18 or 23:
set {_uuid} to "%{_uuid}%-"
else:
set {_uuid} to "%{_uuid}%%a random element out of {_chars::*}%"
return {_uuid}
code_language.skript:
set {_uuid} to randomUUID()
reverseNumber() function
code_language.skript:
function reverseNumber(number: number) :: number:
if {_number} > 0:
return ({_number} * -1)
else if {_number} < 0:
return abs({_number})
else:
return 0
code_language.skript:
function reverseNumber(number: number) :: number:
return ({_number} * -1)
code_language.skript:
set {_x} to reverseNumber(x of victim's velocity)
treeLoop() function
Known bugs:
Example usage:
- "Detached" branches of the list variable cannot be found, meaning that all branches require a connection. For example: if
Code:
{score::player::highscore}
Code:{score::player}
code_language.skript:
function treeLoop(root: text) :: texts:
loop {%{_root}%::*}:
add "%{_root}%::%loop-index%" to {_tree::*} and {_new::*}
while {_new::*} is set:
loop {_new::*}:
delete {_new::%loop-index%}
loop {%loop-value-1%::*}:
add "%loop-value-1%::%loop-index-2%" to {_tree::*} and {_new::*}
return {_tree::*}
Example usage:
code_language.skript:
command /treelooptest <text>:
trigger:
set {%arg 1%::0} to 0
set {%arg 1%::0::course} to "petrichor"
set {%arg 1%::0::%command sender%} to "jaylawl"
set {%arg 1%::0::%command sender%::score} to 999
set {%arg 1%::0::%command sender%::time} to 1337
loop treeLoop(arg 1):
send "&e%loop-value%&f: &a%{%loop-value%}%"
delete {%loop-value%}
treeLoop(arg 1) is not set
send "&aCleaned it all up!"

Simple Resource-pack watcher [skript-mirror]
code_language.skript:
on "org.bukkit.event.player.PlayerResourcePackStatusEvent":
set {_player} to event.getPlayer()
set {_status} to event.getStatus()
"%{_status}%" = "DECLINED" or "FAILED_DOWNLOAD"
kick {_player} due to "&c&lResource pack download declined or failed&r"
Will automatically kick all players that either decline the server's resource pack or accept it, but have a failed download of it.
getUUIDMost() / getUUIDLeast() / constructUUID() [skript-mirror]
Code:
Example usage:
code_language.skript:
import:
java.util.UUID
function getUUIDMost(entity: entity) :: integer:
set {_uuid} to {_entity}.getUniqueId()
return UUID.getMostSignificantBits({_uuid})
function getUUIDLeast(entity: entity) :: integer:
set {_uuid} to {_entity}.getUniqueId()
return UUID.getLeastSignificantBits({_uuid})
function constructUUID(most: integer, least: integer) :: text:
return "%new UUID({_most}, {_least})%"
Example usage:
code_language.skript:
command /test:
trigger:
set {_most} to getUUIDMost(command sender)
set {_least} to getUUIDLeast(command sender)
set {_uuid} to constructUUID({_most}, {_least})
send "most: %{_most}%"
send "least: %{_least}%"
send "uuid: %{_uuid}%"
Last edited: