diff --git a/.gitattributes b/.gitattributes index 25040c8bc..36518d989 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,7 +3,7 @@ /.yarn/plugins/**/* binary /.pnp.* binary linguist-generated -datapacks/mud/** linguist-vendored +datapacks/gu/** linguist-vendored *.ajblueprint linguist-language=JSON *.bbmodel linguist-language=JSON diff --git a/datapacks/gu/README.md b/datapacks/gu/README.md new file mode 100644 index 000000000..8a3cad755 --- /dev/null +++ b/datapacks/gu/README.md @@ -0,0 +1,9 @@ +# Simple UUID Converter + +This is a basic library to just generate the hex UUID of an entity + +## Use + +> `gu:generate` - writes the UUID of the current entity to storage `gu:main out` + +> `gu:convert` - converts the UUID you input as the function argument `{UUID:[I;0,1,2,3]}` and writes it to storage `gu:main out` \ No newline at end of file diff --git a/datapacks/gu/data/gu/function/convert.mcfunction b/datapacks/gu/data/gu/function/convert.mcfunction new file mode 100644 index 000000000..f7e1c0342 --- /dev/null +++ b/datapacks/gu/data/gu/function/convert.mcfunction @@ -0,0 +1,37 @@ +data merge storage gu:temp {0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,a:0,b:0,c:0,d:0,e:0,f:0} +$data modify storage gu:main in set value $(UUID) + +execute store result score 0= gu.main store result score 1= gu.main run data get storage gu:main in[0] +execute store result storage gu:temp 0 int 1 run scoreboard players operation 0= gu.main %= 256 num +execute store result score 2= gu.main run scoreboard players operation 1= gu.main /= 256 num +execute store result storage gu:temp 1 int 1 run scoreboard players operation 1= gu.main %= 256 num +execute store result score 3= gu.main run scoreboard players operation 2= gu.main /= 256 num +execute store result storage gu:temp 2 int 1 run scoreboard players operation 2= gu.main %= 256 num +execute store result storage gu:temp 3 int 1 run scoreboard players operation 3= gu.main /= 256 num + +execute store result score 0= gu.main store result score 1= gu.main run data get storage gu:main in[1] +execute store result storage gu:temp 4 int 1 run scoreboard players operation 0= gu.main %= 256 num +execute store result score 2= gu.main run scoreboard players operation 1= gu.main /= 256 num +execute store result storage gu:temp 5 int 1 run scoreboard players operation 1= gu.main %= 256 num +execute store result score 3= gu.main run scoreboard players operation 2= gu.main /= 256 num +execute store result storage gu:temp 6 int 1 run scoreboard players operation 2= gu.main %= 256 num +execute store result storage gu:temp 7 int 1 run scoreboard players operation 3= gu.main /= 256 num + +execute store result score 0= gu.main store result score 1= gu.main run data get storage gu:main in[2] +execute store result storage gu:temp 8 int 1 run scoreboard players operation 0= gu.main %= 256 num +execute store result score 2= gu.main run scoreboard players operation 1= gu.main /= 256 num +execute store result storage gu:temp 9 int 1 run scoreboard players operation 1= gu.main %= 256 num +execute store result score 3= gu.main run scoreboard players operation 2= gu.main /= 256 num +execute store result storage gu:temp a int 1 run scoreboard players operation 2= gu.main %= 256 num +execute store result storage gu:temp b int 1 run scoreboard players operation 3= gu.main /= 256 num + +execute store result score 0= gu.main store result score 1= gu.main run data get storage gu:main in[3] +execute store result storage gu:temp c int 1 run scoreboard players operation 0= gu.main %= 256 num +execute store result score 2= gu.main run scoreboard players operation 1= gu.main /= 256 num +execute store result storage gu:temp d int 1 run scoreboard players operation 1= gu.main %= 256 num +execute store result score 3= gu.main run scoreboard players operation 2= gu.main /= 256 num +execute store result storage gu:temp e int 1 run scoreboard players operation 2= gu.main %= 256 num +execute store result storage gu:temp f int 1 run scoreboard players operation 3= gu.main /= 256 num + +function gu:zzz/get_hexes with storage gu:temp +function gu:zzz/concat_uuid with storage gu:temp \ No newline at end of file diff --git a/datapacks/mud/data/gu/function/generate.mcfunction b/datapacks/gu/data/gu/function/generate.mcfunction similarity index 81% rename from datapacks/mud/data/gu/function/generate.mcfunction rename to datapacks/gu/data/gu/function/generate.mcfunction index 7c2256e87..e88c92ac6 100644 --- a/datapacks/mud/data/gu/function/generate.mcfunction +++ b/datapacks/gu/data/gu/function/generate.mcfunction @@ -1,7 +1,7 @@ data merge storage gu:temp {0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,a:0,b:0,c:0,d:0,e:0,f:0} -data modify storage gu:main in set from entity @s UUID +execute unless score @s gu.uuid.0 matches -2147483648.. run function gu:zzz/store_uuid -execute store result score 0= gu.main store result score 1= gu.main run data get storage gu:main in[0] +execute store result score 0= gu.main run scoreboard players operation 1= gu.main = @s gu.uuid.0 execute store result storage gu:temp 0 int 1 run scoreboard players operation 0= gu.main %= 256 num execute store result score 2= gu.main run scoreboard players operation 1= gu.main /= 256 num execute store result storage gu:temp 1 int 1 run scoreboard players operation 1= gu.main %= 256 num @@ -9,7 +9,7 @@ execute store result score 3= gu.main run scoreboard players operation 2= gu.mai execute store result storage gu:temp 2 int 1 run scoreboard players operation 2= gu.main %= 256 num execute store result storage gu:temp 3 int 1 run scoreboard players operation 3= gu.main /= 256 num -execute store result score 0= gu.main store result score 1= gu.main run data get storage gu:main in[1] +execute store result score 0= gu.main run scoreboard players operation 1= gu.main = @s gu.uuid.1 execute store result storage gu:temp 4 int 1 run scoreboard players operation 0= gu.main %= 256 num execute store result score 2= gu.main run scoreboard players operation 1= gu.main /= 256 num execute store result storage gu:temp 5 int 1 run scoreboard players operation 1= gu.main %= 256 num @@ -17,7 +17,7 @@ execute store result score 3= gu.main run scoreboard players operation 2= gu.mai execute store result storage gu:temp 6 int 1 run scoreboard players operation 2= gu.main %= 256 num execute store result storage gu:temp 7 int 1 run scoreboard players operation 3= gu.main /= 256 num -execute store result score 0= gu.main store result score 1= gu.main run data get storage gu:main in[2] +execute store result score 0= gu.main run scoreboard players operation 1= gu.main = @s gu.uuid.2 execute store result storage gu:temp 8 int 1 run scoreboard players operation 0= gu.main %= 256 num execute store result score 2= gu.main run scoreboard players operation 1= gu.main /= 256 num execute store result storage gu:temp 9 int 1 run scoreboard players operation 1= gu.main %= 256 num @@ -25,7 +25,7 @@ execute store result score 3= gu.main run scoreboard players operation 2= gu.mai execute store result storage gu:temp a int 1 run scoreboard players operation 2= gu.main %= 256 num execute store result storage gu:temp b int 1 run scoreboard players operation 3= gu.main /= 256 num -execute store result score 0= gu.main store result score 1= gu.main run data get storage gu:main in[3] +execute store result score 0= gu.main run scoreboard players operation 1= gu.main = @s gu.uuid.3 execute store result storage gu:temp c int 1 run scoreboard players operation 0= gu.main %= 256 num execute store result score 2= gu.main run scoreboard players operation 1= gu.main /= 256 num execute store result storage gu:temp d int 1 run scoreboard players operation 1= gu.main %= 256 num @@ -33,5 +33,5 @@ execute store result score 3= gu.main run scoreboard players operation 2= gu.mai execute store result storage gu:temp e int 1 run scoreboard players operation 2= gu.main %= 256 num execute store result storage gu:temp f int 1 run scoreboard players operation 3= gu.main /= 256 num -function gu:get_hexes with storage gu:temp -function gu:concat_uuid with storage gu:temp \ No newline at end of file +function gu:zzz/get_hexes with storage gu:temp +function gu:zzz/concat_uuid with storage gu:temp \ No newline at end of file diff --git a/datapacks/mud/data/gu/function/concat_uuid.mcfunction b/datapacks/gu/data/gu/function/zzz/concat_uuid.mcfunction similarity index 100% rename from datapacks/mud/data/gu/function/concat_uuid.mcfunction rename to datapacks/gu/data/gu/function/zzz/concat_uuid.mcfunction diff --git a/datapacks/mud/data/gu/function/get_hexes.mcfunction b/datapacks/gu/data/gu/function/zzz/get_hexes.mcfunction similarity index 100% rename from datapacks/mud/data/gu/function/get_hexes.mcfunction rename to datapacks/gu/data/gu/function/zzz/get_hexes.mcfunction diff --git a/datapacks/mud/data/gu/function/load.mcfunction b/datapacks/gu/data/gu/function/zzz/load.mcfunction similarity index 89% rename from datapacks/mud/data/gu/function/load.mcfunction rename to datapacks/gu/data/gu/function/zzz/load.mcfunction index e98d32db8..d4b3e06bd 100644 --- a/datapacks/mud/data/gu/function/load.mcfunction +++ b/datapacks/gu/data/gu/function/zzz/load.mcfunction @@ -1,4 +1,8 @@ scoreboard objectives add gu.main dummy +scoreboard objectives add gu.uuid.0 dummy +scoreboard objectives add gu.uuid.1 dummy +scoreboard objectives add gu.uuid.2 dummy +scoreboard objectives add gu.uuid.3 dummy scoreboard objectives add num dummy scoreboard players set 256 num 256 data modify storage gu:main hex_chars set value ["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"] \ No newline at end of file diff --git a/datapacks/gu/data/gu/function/zzz/store_uuid.mcfunction b/datapacks/gu/data/gu/function/zzz/store_uuid.mcfunction new file mode 100644 index 000000000..57424509f --- /dev/null +++ b/datapacks/gu/data/gu/function/zzz/store_uuid.mcfunction @@ -0,0 +1,5 @@ +data modify storage gu:main in set from entity @s UUID +execute store result score @s gu.uuid.0 run data get storage gu:main in[0] +execute store result score @s gu.uuid.1 run data get storage gu:main in[1] +execute store result score @s gu.uuid.2 run data get storage gu:main in[2] +execute store result score @s gu.uuid.3 run data get storage gu:main in[3] \ No newline at end of file diff --git a/datapacks/gu/data/minecraft/tags/function/load.json b/datapacks/gu/data/minecraft/tags/function/load.json new file mode 100644 index 000000000..fd5c5c429 --- /dev/null +++ b/datapacks/gu/data/minecraft/tags/function/load.json @@ -0,0 +1,5 @@ +{ + "values": [ + "gu:zzz/load" + ] +} \ No newline at end of file diff --git a/datapacks/gu/pack.mcmeta b/datapacks/gu/pack.mcmeta new file mode 100644 index 000000000..b668d20b2 --- /dev/null +++ b/datapacks/gu/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "pack_format": 16, + "description": "§7UUID Converter §b- §7by gibbsly \n§7[§dgithub.com/gibbsly/gu§7]" + } +} \ No newline at end of file diff --git a/datapacks/mud/data/minecraft/tags/function/load.json b/datapacks/mud/data/minecraft/tags/function/load.json deleted file mode 100644 index 611487372..000000000 --- a/datapacks/mud/data/minecraft/tags/function/load.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values": [ - "mud:__internal/load", - "gu:load" - ] -} \ No newline at end of file diff --git a/datapacks/mud/data/minecraft/tags/function/tick.json b/datapacks/mud/data/minecraft/tags/function/tick.json deleted file mode 100644 index 124ab8014..000000000 --- a/datapacks/mud/data/minecraft/tags/function/tick.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "mud:__internal/loop" - ] -} \ No newline at end of file diff --git a/datapacks/mud/data/mud/function/__internal/check.mcfunction b/datapacks/mud/data/mud/function/__internal/check.mcfunction deleted file mode 100644 index 86334d2ed..000000000 --- a/datapacks/mud/data/mud/function/__internal/check.mcfunction +++ /dev/null @@ -1 +0,0 @@ -$execute if score $(uuid) mud.exist matches 1 run data modify storage mud:main tick_entries prepend from storage mud:temp entity \ No newline at end of file diff --git a/datapacks/mud/data/mud/function/__internal/death_check.mcfunction b/datapacks/mud/data/mud/function/__internal/death_check.mcfunction deleted file mode 100644 index d606abdd9..000000000 --- a/datapacks/mud/data/mud/function/__internal/death_check.mcfunction +++ /dev/null @@ -1,3 +0,0 @@ -data modify storage mud:temp entity set from storage mud:main tick_entries[-1] -data remove storage mud:main tick_entries[-1] -function mud:__internal/check with storage mud:temp entity \ No newline at end of file diff --git a/datapacks/mud/data/mud/function/__internal/load.mcfunction b/datapacks/mud/data/mud/function/__internal/load.mcfunction deleted file mode 100644 index 1a515cb71..000000000 --- a/datapacks/mud/data/mud/function/__internal/load.mcfunction +++ /dev/null @@ -1,3 +0,0 @@ -scoreboard objectives add mud.exist dummy -scoreboard objectives add mud.time dummy -execute unless score gametime mud.time matches -2147483648.. run scoreboard players set gametime mud.time -2147483648 diff --git a/datapacks/mud/data/mud/function/__internal/loop.mcfunction b/datapacks/mud/data/mud/function/__internal/loop.mcfunction deleted file mode 100644 index f36705f54..000000000 --- a/datapacks/mud/data/mud/function/__internal/loop.mcfunction +++ /dev/null @@ -1,14 +0,0 @@ -#execute as @e[tag=item] run scoreboard players add x test 1 - -#ticking known entities -data modify storage mud:main tick set from storage mud:main tick_entries -data remove storage mud:temp entity -data modify storage mud:temp entity set from storage mud:main tick[-1] -data remove storage mud:main tick[-1] -execute if data storage mud:temp entity.uuid run function mud:__internal/tick_all - -#checking list -execute if data storage mud:main tick_entries[0] run function mud:__internal/death_check - -#iterating fake gametime -scoreboard players add gametime mud.time 1 \ No newline at end of file diff --git a/datapacks/mud/data/mud/function/__internal/run.mcfunction b/datapacks/mud/data/mud/function/__internal/run.mcfunction deleted file mode 100644 index b543b218a..000000000 --- a/datapacks/mud/data/mud/function/__internal/run.mcfunction +++ /dev/null @@ -1 +0,0 @@ -$execute as $(uuid) at @s run $(command) \ No newline at end of file diff --git a/datapacks/mud/data/mud/function/__internal/run_scheduled.mcfunction b/datapacks/mud/data/mud/function/__internal/run_scheduled.mcfunction deleted file mode 100644 index 667d016ca..000000000 --- a/datapacks/mud/data/mud/function/__internal/run_scheduled.mcfunction +++ /dev/null @@ -1,2 +0,0 @@ -execute store result storage mud:temp gametime int 1 run scoreboard players get target_gametime mud.time -function mud:__internal/scheduled/start with storage mud:temp \ No newline at end of file diff --git a/datapacks/mud/data/mud/function/__internal/schedule.mcfunction b/datapacks/mud/data/mud/function/__internal/schedule.mcfunction deleted file mode 100644 index 8a397812b..000000000 --- a/datapacks/mud/data/mud/function/__internal/schedule.mcfunction +++ /dev/null @@ -1,2 +0,0 @@ -$data modify storage mud:main schedule.$(target_gametime) append from storage mud:temp entity -$schedule function mud:__internal/run_scheduled $(time)t append \ No newline at end of file diff --git a/datapacks/mud/data/mud/function/__internal/scheduled/run_all.mcfunction b/datapacks/mud/data/mud/function/__internal/scheduled/run_all.mcfunction deleted file mode 100644 index d42b70146..000000000 --- a/datapacks/mud/data/mud/function/__internal/scheduled/run_all.mcfunction +++ /dev/null @@ -1,5 +0,0 @@ -function mud:__internal/run with storage mud:temp entity -data remove storage mud:temp entity -data modify storage mud:temp entity set from storage mud:main current_schedule[-1] -data remove storage mud:main current_schedule[-1] -execute if data storage mud:temp entity.uuid run function mud:__internal/scheduled/run_all \ No newline at end of file diff --git a/datapacks/mud/data/mud/function/__internal/scheduled/start.mcfunction b/datapacks/mud/data/mud/function/__internal/scheduled/start.mcfunction deleted file mode 100644 index 2ebc39479..000000000 --- a/datapacks/mud/data/mud/function/__internal/scheduled/start.mcfunction +++ /dev/null @@ -1,9 +0,0 @@ -$data modify storage mud:main current_schedule set from storage mud:main schedule.$(gametime) -$data remove storage mud:main schedule.$(gametime) -data remove storage mud:temp entity -data modify storage mud:temp entity set from storage mud:main current_schedule[-1] -data remove storage mud:main current_schedule[-1] -execute if data storage mud:temp entity.uuid run function mud:__internal/scheduled/run_all - -#iterating fake gametime -scoreboard players add gametime mud.time 1 \ No newline at end of file diff --git a/datapacks/mud/data/mud/function/__internal/tick_all.mcfunction b/datapacks/mud/data/mud/function/__internal/tick_all.mcfunction deleted file mode 100644 index 55c478646..000000000 --- a/datapacks/mud/data/mud/function/__internal/tick_all.mcfunction +++ /dev/null @@ -1,5 +0,0 @@ -function mud:__internal/run with storage mud:temp entity -data remove storage mud:temp entity -data modify storage mud:temp entity set from storage mud:main tick[-1] -data remove storage mud:main tick[-1] -execute if data storage mud:temp entity.uuid run function mud:__internal/tick_all \ No newline at end of file diff --git a/datapacks/mud/data/mud/function/register.mcfunction b/datapacks/mud/data/mud/function/register.mcfunction deleted file mode 100644 index e1edb2f3b..000000000 --- a/datapacks/mud/data/mud/function/register.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -function gu:generate -data modify storage mud:temp entity.uuid set from storage gu:main out -$data modify storage mud:temp entity.command set value "$(command)" -data modify storage mud:main tick_entries append from storage mud:temp entity -scoreboard players set @s mud.exist 1 -$$(setup) \ No newline at end of file diff --git a/datapacks/mud/data/mud/function/schedule.mcfunction b/datapacks/mud/data/mud/function/schedule.mcfunction deleted file mode 100644 index 72ddb90a2..000000000 --- a/datapacks/mud/data/mud/function/schedule.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -function gu:generate -data modify storage mud:temp entity.uuid set from storage gu:main out -$data modify storage mud:temp entity.command set value "$(command)" -scoreboard players operation target_gametime mud.time = gametime mud.time -$execute store result storage mud:temp target_gametime int 1 run scoreboard players add target_gametime mud.time $(time) -$data modify storage mud:temp time set value $(time) -function mud:__internal/schedule with storage mud:temp -$$(setup) \ No newline at end of file diff --git a/datapacks/mud/pack.mcmeta b/datapacks/mud/pack.mcmeta deleted file mode 100644 index 84d88d67d..000000000 --- a/datapacks/mud/pack.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "pack": { - "pack_format": 16, - "description": "§7Macro UUID Directory §b- §7by gibbsly \n§7[§dgithub.com/gibbsly/mud§7]" - } -} \ No newline at end of file diff --git a/package-scripts/build.js b/package-scripts/build.js index 91b7bb06b..35fcefdbf 100644 --- a/package-scripts/build.js +++ b/package-scripts/build.js @@ -150,7 +150,7 @@ const getSummitDatapackPaths = () => { const datapackPaths = prefixPaths('datapacks/', [ 'animated_java/data', 'animated_java/pack.mcmeta', - 'mud', + 'gu', ...primaryDatapackPaths, ]);