diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/shared/stop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/shared/stop.mcfunction index 4b7912104..4590a61c4 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/shared/stop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/shared/stop.mcfunction @@ -1,6 +1,6 @@ function omegaflowey.main:telemetry/data/active_player/bossfight_hit_count function omegaflowey.main:telemetry/data/active_player/gamemode with storage omegaflowey:bossfight -execute store result storage omegaflowey:telemetry.temp data.stop_reason int 1 run \ +execute store result storage omegaflowey:telemetry.temp data.s int 1 run \ scoreboard players get #omegaflowey.bossfight.stop_reason omegaflowey.global.flag function omegaflowey.main:telemetry/bossfight/tag/end { name: "bossfight.summit" } function omegaflowey.main:telemetry/bossfight/tag/root/end diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/shared/stop/as_active_player/won/log_thanks_for_playing.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/shared/stop/as_active_player/won/log_thanks_for_playing.mcfunction index 3115ca57e..56e0a7ba9 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/shared/stop/as_active_player/won/log_thanks_for_playing.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/shared/stop/as_active_player/won/log_thanks_for_playing.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "player.shown_feedback_link.won_fight" } + function omegaflowey.utils:log/self { text_component: '[ \ "", \ { "text": "Thanks for playing our ", "color": "aqua" }, \ diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/initialize.mcfunction index 629325553..0ce57e8ae 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/initialize.mcfunction @@ -1,5 +1,5 @@ data modify storage omegaflowey:telemetry.temp data set value {} -execute store result storage omegaflowey:telemetry.temp data.phase_index int 1 run \ +execute store result storage omegaflowey:telemetry.temp data.i int 1 run \ scoreboard players get @s omegaflowey.boss-fight.attack.phase.i function omegaflowey.main:telemetry/bossfight/tag/start { name: "bossfight.phase.attack" } diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/initialize.mcfunction index dbd6e150c..ca4f16a38 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/initialize.mcfunction @@ -1,3 +1,8 @@ +data modify storage omegaflowey:telemetry.temp data set value {} +execute store result storage omegaflowey:telemetry.temp data.i int 1 run \ + scoreboard players get @s omegaflowey.boss-fight.cutscene.phase.i +function omegaflowey.main:telemetry/bossfight/tag/start { name: "bossfight.phase.cutscene" } + # Set scores scoreboard players set @s omegaflowey.boss-fight.cutscene.clock.i -1 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/laugh_start.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/laugh_start.mcfunction index a9e081744..b91d4b42a 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/laugh_start.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/laugh_start.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/start { name: "cutscene.intro.laugh" } + function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: "\ execute at @s run playsound omega-flowey:cutscene.intro.laugh ambient @s ~ ~ ~ 1 1\ "} diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/laugh_stop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/laugh_stop.mcfunction index f601e02b5..a5b7439bd 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/laugh_stop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/laugh_stop.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/end { name: "cutscene.intro.laugh" } + data modify storage omegaflowey:bossfight temp set value { duration: 1 } execute store result storage omegaflowey:bossfight temp.to_frame int 1 run scoreboard players get @s aj.omegaflowey_nose_move_slow_shake.frame $execute as $(model_nose_uuid) run function animated_java:omegaflowey_nose/animations/omegaflowey_nose_move_slow/tween with storage omegaflowey:bossfight temp diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/start_cutscene.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/start_cutscene.mcfunction index f355ccc60..cd17e53c9 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/start_cutscene.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/start_cutscene.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/start { name: "cutscene.intro" } + # Summon and animate Omega Flowey entity function omegaflowey.entity:directorial/boss_fight/summit/origin/at { \ command: "execute positioned ~ ~ ~29.4 run function omegaflowey.entity:hostile/omega-flowey/summon/relative" \ diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/turn_on_screen.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/turn_on_screen.mcfunction index 62abdf96e..2793ddb05 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/turn_on_screen.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/loop/0/turn_on_screen.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/instant { name: "cutscene.intro.turn_on_screen" } + $execute as $(bossfight_tvscreen_uuid) run function animated_java:omegaflowey_tv_screen/variants/reveal_1/apply $execute as $(bossfight_tvscreen_uuid) on passengers if entity @s[tag=aj.omegaflowey_tv_screen.bone] run \ data merge entity @s { brightness: { block: 11, sky: 0 } } diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/terminate.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/terminate.mcfunction index 0a06608aa..ddd7908b9 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/terminate.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/terminate.mcfunction @@ -1 +1,3 @@ +function omegaflowey.main:telemetry/bossfight/tag/end { name: "bossfight.phase.cutscene" } + $execute as $(boss_fight_uuid) at @s run function omegaflowey.entity:directorial/boss_fight/summit/phase/cutscene/terminate/as_bossfight with storage omegaflowey:bossfight diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/terminate/scheduled.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/terminate/scheduled.mcfunction index b8a738167..bdcaa9932 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/terminate/scheduled.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/cutscene/terminate/scheduled.mcfunction @@ -1 +1,3 @@ +function omegaflowey.main:telemetry/bossfight/tag/end { name: "cutscene.intro" } + function omegaflowey.entity:directorial/boss_fight/summit/phase/cutscene/terminate with storage omegaflowey:bossfight diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/soul/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/soul/initialize.mcfunction index 419c72f69..37dfce3ad 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/soul/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/soul/initialize.mcfunction @@ -1,5 +1,5 @@ data modify storage omegaflowey:telemetry.temp data set value {} -execute store result storage omegaflowey:telemetry.temp data.phase_index int 1 run \ +execute store result storage omegaflowey:telemetry.temp data.i int 1 run \ scoreboard players get @s omegaflowey.boss-fight.progress.phase.i function omegaflowey.main:telemetry/bossfight/tag/start { name: "bossfight.phase.soul" } diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/warn/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/warn/initialize.mcfunction index 57a65e009..0181333fb 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/warn/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/warn/initialize.mcfunction @@ -1,5 +1,5 @@ data modify storage omegaflowey:telemetry.temp data set value {} -execute store result storage omegaflowey:telemetry.temp data.phase_index int 1 run \ +execute store result storage omegaflowey:telemetry.temp data.i int 1 run \ scoreboard players get @s omegaflowey.boss-fight.progress.phase.i function omegaflowey.main:telemetry/bossfight/tag/start { name: "bossfight.phase.warn" } diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/active/leave_and_rejoin.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/active/leave_and_rejoin.mcfunction index da43c1c9a..651be3212 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/active/leave_and_rejoin.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/active/leave_and_rejoin.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "player.rejoin.was_in_bossfight" } + # players who leave the server are removed from the bossfight (when they rejoin) function omegaflowey.entity:directorial/boss_fight/shared/stop/as_active_player/modify_health_and_tags function omegaflowey.main:summit/room/cave/active_player_display/update_value with storage omegaflowey:bossfight diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/join.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/join.mcfunction index c4232da8f..de7c1e9ee 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/join.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/join.mcfunction @@ -1,6 +1,8 @@ # if already in queue (or in bossfight somehow), do nothing execute unless entity @s[tag=!omegaflowey.player.in_queue, tag=!omegaflowey.player.fighting_flowey] run return 0 +function omegaflowey.main:telemetry/booth/add_tag { name: "player.queue.join" } + # Play select sound if this was called from the interaction (and not manually) execute if score #omegaflowey.play_join_queue_select_sound omegaflowey.global.flag matches 1 run \ playsound omega-flowey:soul.touch player @s diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/leave_and_rejoin.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/leave_and_rejoin.mcfunction index 45c26b365..db929579a 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/leave_and_rejoin.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/leave_and_rejoin.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "player.rejoin.was_in_queue" } + # players who leave the server are removed from the queue (when they rejoin) function omegaflowey.entity:directorial/boss_fight/summit/player/queue/leave_and_rejoin/remove_from_queue_array diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt.mcfunction index 3023b5600..921cbb086 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "player.queue.shown_prompt" } + scoreboard players set #omegaflowey.bossfight.has_player_been_prompted omegaflowey.global.flag 1 tag @s add omegaflowey.player.in_queue.prompted diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/confirm.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/confirm.mcfunction index 947a7e9e9..d97e16996 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/confirm.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/confirm.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "player.queue.confirm" } + function omegaflowey.entity:directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/shared/as_player/triggers schedule clear omegaflowey.entity:directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/timeout diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/confirm/after_delay/as_player.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/confirm/after_delay/as_player.mcfunction index 358d25c08..fd082d7b6 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/confirm/after_delay/as_player.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/confirm/after_delay/as_player.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "player.queue.confirm.after_delay" } + stopsound @s ambient omega-flowey:cutscene.intro.battle_start function omegaflowey.entity:directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/shared/as_player diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/deny.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/deny.mcfunction index a06e302f5..91f972072 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/deny.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/deny.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "player.queue.deny" } + function omegaflowey.entity:directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/shared function omegaflowey.entity:directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/shared/as_player function omegaflowey.entity:directorial/boss_fight/summit/player/queue/check_should_prompt diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/timeout/as_player.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/timeout/as_player.mcfunction index 1dd3dc6b4..832edc554 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/timeout/as_player.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/timeout/as_player.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "player.queue.timeout" } + function omegaflowey.entity:directorial/boss_fight/summit/player/queue/prompt_next_player/show_prompt/shared/as_player function omegaflowey.utils:log/self { text_component: '[ \ diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/rejoin/check/success.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/rejoin/check/success.mcfunction index 331f4957a..f722360d1 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/rejoin/check/success.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/rejoin/check/success.mcfunction @@ -1,2 +1,4 @@ +scoreboard players reset @s omegaflowey.player.telemetry.id + execute if entity @s[tag=omegaflowey.player.fighting_flowey] run function omegaflowey.entity:directorial/boss_fight/summit/player/active/leave_and_rejoin execute if entity @s[tag=omegaflowey.player.in_queue] run function omegaflowey.entity:directorial/boss_fight/summit/player/queue/leave_and_rejoin diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/enter.mcfunction index 08c48f5ab..1f893ab86 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/enter.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/enter.mcfunction @@ -1,3 +1,2 @@ -function omegaflowey.main:telemetry/booth/enter function omegaflowey.main:telemetry/booth/add_tag { name: "root.enter" } tag @s add omegaflowey.player diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/exit.mcfunction index 6169a4bc9..3dbdcf61a 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/exit.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/exit.mcfunction @@ -5,4 +5,3 @@ execute if entity @s[tag=omegaflowey.player.room.underground] run function omega execute if entity @s[tag=omegaflowey.player.room.spectator_box] run function omegaflowey.entity:player/room/spectator_box/exit function omegaflowey.main:telemetry/booth/add_tag { name: "root.exit" } -function omegaflowey.main:telemetry/booth/exit diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/check.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/check.mcfunction new file mode 100644 index 000000000..61046aec8 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/check.mcfunction @@ -0,0 +1,20 @@ +tag @s remove omegaflowey.player.room.is_within.back_cave +tag @s remove omegaflowey.player.room.is_within.back_cave.waterfall_secret + +# back_cave +tag @s[x=-157, dx=16, y=36, dy=12, z=18, dz=28] add omegaflowey.player.room.is_within.back_cave + +execute if entity @s[tag=!omegaflowey.player.room.back_cave, tag=omegaflowey.player.room.is_within.back_cave] run \ + function omegaflowey.entity:player/room/underground/back_cave/enter +execute if entity @s[tag=omegaflowey.player.room.back_cave, tag=!omegaflowey.player.room.is_within.back_cave] run \ + function omegaflowey.entity:player/room/underground/back_cave/exit + +tag @s remove omegaflowey.player.room.is_within.back_cave.waterfall_secret + +# back_cave.waterfall_secret +tag @s[x=-155, dx=7, y=43, dy=5, z=18, dz=8] add omegaflowey.player.room.is_within.back_cave.waterfall_secret + +execute if entity @s[tag=!omegaflowey.player.room.back_cave.waterfall_secret, tag=omegaflowey.player.room.is_within.back_cave.waterfall_secret] run \ + function omegaflowey.entity:player/room/underground/back_cave/waterfall_secret/enter +execute if entity @s[tag=omegaflowey.player.room.back_cave.waterfall_secret, tag=!omegaflowey.player.room.is_within.back_cave.waterfall_secret] run \ + function omegaflowey.entity:player/room/underground/back_cave/waterfall_secret/exit diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/enter.mcfunction new file mode 100644 index 000000000..a5e884e1b --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/enter.mcfunction @@ -0,0 +1,2 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.back_cave.enter" } +tag @s add omegaflowey.player.room.back_cave diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/exit.mcfunction new file mode 100644 index 000000000..423a63089 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/exit.mcfunction @@ -0,0 +1,2 @@ +# function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.back_cave.exit" } +tag @s remove omegaflowey.player.room.back_cave diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/waterfall_secret/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/waterfall_secret/enter.mcfunction new file mode 100644 index 000000000..c02ea3d38 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/waterfall_secret/enter.mcfunction @@ -0,0 +1,2 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.back_cave.waterfall_secret.enter" } +tag @s add omegaflowey.player.room.back_cave.waterfall_secret diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/waterfall_secret/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/waterfall_secret/exit.mcfunction new file mode 100644 index 000000000..41c9c50ef --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/back_cave/waterfall_secret/exit.mcfunction @@ -0,0 +1,2 @@ +# function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.back_cave.waterfall_secret.exit" } +tag @s remove omegaflowey.player.room.back_cave.waterfall_secret diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/check.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/check.mcfunction index af9ee469a..37847f511 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/check.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/check.mcfunction @@ -16,3 +16,13 @@ execute if entity @s[tag=!omegaflowey.player.room.underground, tag=omegaflowey.r function omegaflowey.entity:player/room/underground/enter execute if entity @s[tag=omegaflowey.player.room.underground, tag=!omegaflowey.room.is_within.underground] run \ function omegaflowey.entity:player/room/underground/exit + +execute if entity @s[tag=!omegaflowey.player.room.underground] run return 0 + +# Detect what sub-room this player is in for telemetry +execute unless score #omegaflowey.telemetry.enabled omegaflowey.global.flag matches 1 run return 0 + +# TAG_SUMMIT_HARDCODED_PARKOUR_FULL +execute if entity @s[x=-122, dx=27, y=41, dy=14, z=31, dz=14] run return run \ + function omegaflowey.entity:player/room/underground/parkour/check +function omegaflowey.entity:player/room/underground/back_cave/check diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/before_final_jump/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/before_final_jump/enter.mcfunction new file mode 100644 index 000000000..6bd8cec65 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/before_final_jump/enter.mcfunction @@ -0,0 +1,2 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.before_final_jump.enter" } +tag @s add omegaflowey.player.room.parkour.before_final_jump diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/before_final_jump/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/before_final_jump/exit.mcfunction new file mode 100644 index 000000000..3d5b95b56 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/before_final_jump/exit.mcfunction @@ -0,0 +1,2 @@ +# function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.before_final_jump.exit" } +tag @s remove omegaflowey.player.room.parkour.before_final_jump diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/before_pillar/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/before_pillar/enter.mcfunction new file mode 100644 index 000000000..d0c592a86 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/before_pillar/enter.mcfunction @@ -0,0 +1,2 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.before_pillar.enter" } +tag @s add omegaflowey.player.room.parkour.before_pillar diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/before_pillar/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/before_pillar/exit.mcfunction new file mode 100644 index 000000000..0a80e8648 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/before_pillar/exit.mcfunction @@ -0,0 +1,2 @@ +# function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.before_pillar.exit" } +tag @s remove omegaflowey.player.room.parkour.before_pillar diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/behind_pillar/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/behind_pillar/enter.mcfunction new file mode 100644 index 000000000..47c064560 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/behind_pillar/enter.mcfunction @@ -0,0 +1,2 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.behind_pillar.enter" } +tag @s add omegaflowey.player.room.parkour.behind_pillar diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/behind_pillar/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/behind_pillar/exit.mcfunction new file mode 100644 index 000000000..2df46ec61 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/behind_pillar/exit.mcfunction @@ -0,0 +1,2 @@ +# function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.behind_pillar.exit" } +tag @s remove omegaflowey.player.room.parkour.behind_pillar diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/check.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/check.mcfunction new file mode 100644 index 000000000..e6e3e8e85 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/check.mcfunction @@ -0,0 +1,95 @@ +tag @s remove omegaflowey.player.room.is_within.parkour.start +tag @s remove omegaflowey.player.room.is_within.parkour.before_pillar +tag @s remove omegaflowey.player.room.is_within.parkour.behind_pillar +tag @s remove omegaflowey.player.room.is_within.parkour.south_wall +tag @s remove omegaflowey.player.room.is_within.parkour.south_glow_vines +tag @s remove omegaflowey.player.room.is_within.parkour.final_vines +tag @s remove omegaflowey.player.room.is_within.parkour.before_final_jump +tag @s remove omegaflowey.player.room.is_within.parkour.finish + +# parkour.start +tag @s[x=-120.0, dx=0.0, y=45.0, dy=2.0, z=34.7, dz=-0.7] add omegaflowey.player.room.is_within.parkour.start + +execute if entity @s[tag=!omegaflowey.player.room.parkour.start, tag=omegaflowey.player.room.is_within.parkour.start] run \ + function omegaflowey.entity:player/room/underground/parkour/start/enter +execute if entity @s[tag=omegaflowey.player.room.parkour.start, tag=!omegaflowey.player.room.is_within.parkour.start] run \ + function omegaflowey.entity:player/room/underground/parkour/start/exit + +execute if entity @s[tag=omegaflowey.player.room.is_within.parkour.start] run return 0 + +# parkour.before_pillar +tag @s[x=-119.0, dx=0.0, y=43.5, dy=3.0, z=37.0, dz=1.0] add omegaflowey.player.room.is_within.parkour.before_pillar + +execute if entity @s[tag=!omegaflowey.player.room.parkour.before_pillar, tag=omegaflowey.player.room.is_within.parkour.before_pillar] run \ + function omegaflowey.entity:player/room/underground/parkour/before_pillar/enter +execute if entity @s[tag=omegaflowey.player.room.parkour.before_pillar, tag=!omegaflowey.player.room.is_within.parkour.before_pillar] run \ + function omegaflowey.entity:player/room/underground/parkour/before_pillar/exit + +execute if entity @s[tag=omegaflowey.player.room.is_within.parkour.before_pillar] run return 0 + +# parkour.behind_pillar +tag @s[x=-118.0, dx=1.0, y=45.0, dy=2.0, z=40.0, dz=1.0] add omegaflowey.player.room.is_within.parkour.behind_pillar + +execute if entity @s[tag=!omegaflowey.player.room.parkour.behind_pillar, tag=omegaflowey.player.room.is_within.parkour.behind_pillar] run \ + function omegaflowey.entity:player/room/underground/parkour/behind_pillar/enter +execute if entity @s[tag=omegaflowey.player.room.parkour.behind_pillar, tag=!omegaflowey.player.room.is_within.parkour.behind_pillar] run \ + function omegaflowey.entity:player/room/underground/parkour/behind_pillar/exit + +execute if entity @s[tag=omegaflowey.player.room.is_within.parkour.behind_pillar] run return 0 + +# parkour.south_wall +tag @s[x=-114.0, dx=1.0, y=46.0, dy=2.0, z=42.0, dz=0.0] add omegaflowey.player.room.is_within.parkour.south_wall + +execute if entity @s[tag=!omegaflowey.player.room.parkour.south_wall, tag=omegaflowey.player.room.is_within.parkour.south_wall] run \ + function omegaflowey.entity:player/room/underground/parkour/south_wall/enter +execute if entity @s[tag=omegaflowey.player.room.parkour.south_wall, tag=!omegaflowey.player.room.is_within.parkour.south_wall] run \ + function omegaflowey.entity:player/room/underground/parkour/south_wall/exit + +execute if entity @s[tag=omegaflowey.player.room.is_within.parkour.south_wall] run return 0 + +# parkour.south_glow_vines +execute \ + if entity @s[x=-108.0, dx=1.0, y=44.0, dy=8.0, z=39.0, dz=2.0] \ + if block ~ ~ ~ #omegaflowey.main:parkour/vines \ + run tag @s add omegaflowey.player.room.is_within.parkour.south_glow_vines + +execute if entity @s[tag=!omegaflowey.player.room.parkour.south_glow_vines, tag=omegaflowey.player.room.is_within.parkour.south_glow_vines] run \ + function omegaflowey.entity:player/room/underground/parkour/south_glow_vines/enter +execute if entity @s[tag=omegaflowey.player.room.parkour.south_glow_vines, tag=!omegaflowey.player.room.is_within.parkour.south_glow_vines] run \ + function omegaflowey.entity:player/room/underground/parkour/south_glow_vines/exit + +execute if entity @s[tag=omegaflowey.player.room.is_within.parkour.south_glow_vines] run return 0 + +# parkour.final_vines +execute \ + if entity @s[x=-105.0, dx=1.0, y=45.0, dy=7.0, z=37.0, dz=1.0] \ + if block ~ ~ ~ #omegaflowey.main:parkour/vines \ + run tag @s add omegaflowey.player.room.is_within.parkour.final_vines + +execute if entity @s[tag=!omegaflowey.player.room.parkour.final_vines, tag=omegaflowey.player.room.is_within.parkour.final_vines] run \ + function omegaflowey.entity:player/room/underground/parkour/final_vines/enter +execute if entity @s[tag=omegaflowey.player.room.parkour.final_vines, tag=!omegaflowey.player.room.is_within.parkour.final_vines] run \ + function omegaflowey.entity:player/room/underground/parkour/final_vines/exit + +execute if entity @s[tag=omegaflowey.player.room.is_within.parkour.final_vines] run return 0 + +# parkour.before_final_jump +tag @s[x=-103.0, dx=0.0, y=50.5, dy=2.0, z=39.0, dz=0.0] add omegaflowey.player.room.is_within.parkour.before_final_jump + +execute if entity @s[tag=!omegaflowey.player.room.parkour.before_final_jump, tag=omegaflowey.player.room.is_within.parkour.before_final_jump] run \ + function omegaflowey.entity:player/room/underground/parkour/before_final_jump/enter +execute if entity @s[tag=omegaflowey.player.room.parkour.before_final_jump, tag=!omegaflowey.player.room.is_within.parkour.before_final_jump] run \ + function omegaflowey.entity:player/room/underground/parkour/before_final_jump/exit + +execute if entity @s[tag=omegaflowey.player.room.is_within.parkour.before_final_jump] run return 0 + +# parkour.finish +tag @s[x=-99.0, dx=3.0, y=50.0, dy=5.0, z=39, dz=5] add omegaflowey.player.room.is_within.parkour.finish +tag @s[x=-100.0, dx=0.0, y=50.0, dy=5.0, z=41.0, dz=2.0] add omegaflowey.player.room.is_within.parkour.finish + +execute if entity @s[tag=!omegaflowey.player.room.parkour.finish, tag=omegaflowey.player.room.is_within.parkour.finish] run \ + function omegaflowey.entity:player/room/underground/parkour/finish/enter +execute if entity @s[tag=omegaflowey.player.room.parkour.finish, tag=!omegaflowey.player.room.is_within.parkour.finish] run \ + function omegaflowey.entity:player/room/underground/parkour/finish/exit + +execute if entity @s[tag=omegaflowey.player.room.is_within.parkour.finish] run return 0 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/final_vines/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/final_vines/enter.mcfunction new file mode 100644 index 000000000..9ed03e40f --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/final_vines/enter.mcfunction @@ -0,0 +1,2 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.final_vines.enter" } +tag @s add omegaflowey.player.room.parkour.final_vines diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/final_vines/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/final_vines/exit.mcfunction new file mode 100644 index 000000000..fb205b1de --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/final_vines/exit.mcfunction @@ -0,0 +1,2 @@ +# function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.final_vines.exit" } +tag @s remove omegaflowey.player.room.parkour.final_vines diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/finish/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/finish/enter.mcfunction new file mode 100644 index 000000000..e584f6804 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/finish/enter.mcfunction @@ -0,0 +1,2 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.finish.enter" } +tag @s add omegaflowey.player.room.parkour.finish diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/finish/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/finish/exit.mcfunction new file mode 100644 index 000000000..512c2d52b --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/finish/exit.mcfunction @@ -0,0 +1,2 @@ +# function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.finish.exit" } +tag @s remove omegaflowey.player.room.parkour.finish diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/south_glow_vines/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/south_glow_vines/enter.mcfunction new file mode 100644 index 000000000..742fddf80 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/south_glow_vines/enter.mcfunction @@ -0,0 +1,2 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.south_glow_vines.enter" } +tag @s add omegaflowey.player.room.parkour.south_glow_vines diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/south_glow_vines/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/south_glow_vines/exit.mcfunction new file mode 100644 index 000000000..c44b537f7 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/south_glow_vines/exit.mcfunction @@ -0,0 +1,2 @@ +# function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.south_glow_vines.exit" } +tag @s remove omegaflowey.player.room.parkour.south_glow_vines diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/south_wall/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/south_wall/enter.mcfunction new file mode 100644 index 000000000..b7c4bbe79 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/south_wall/enter.mcfunction @@ -0,0 +1,2 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.south_wall.enter" } +tag @s add omegaflowey.player.room.parkour.south_wall diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/south_wall/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/south_wall/exit.mcfunction new file mode 100644 index 000000000..52897afd9 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/south_wall/exit.mcfunction @@ -0,0 +1,2 @@ +# function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.south_wall.exit" } +tag @s remove omegaflowey.player.room.parkour.south_wall diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/start/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/start/enter.mcfunction new file mode 100644 index 000000000..4dc03bd48 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/start/enter.mcfunction @@ -0,0 +1,2 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.start.enter" } +tag @s add omegaflowey.player.room.parkour.start diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/start/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/start/exit.mcfunction new file mode 100644 index 000000000..f95ac06d6 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/parkour/start/exit.mcfunction @@ -0,0 +1,2 @@ +# function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.parkour.start.exit" } +tag @s remove omegaflowey.player.room.parkour.start diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/healer/heal/as_player.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/healer/heal/as_player.mcfunction index 682f2e865..18b267cfb 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/healer/heal/as_player.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/healer/heal/as_player.mcfunction @@ -1,4 +1,4 @@ -data modify storage omegaflowey:telemetry.temp data set value { amount: 4 } +data modify storage omegaflowey:telemetry.temp data set value { a: 4 } function omegaflowey.main:telemetry/bossfight/tag/instant { name: "player.heal" } effect give @s minecraft:instant_health 1 1 true diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/utils/damage/as_player.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/utils/damage/as_player.mcfunction index f047bf952..a2b626c00 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/utils/damage/as_player.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/utils/damage/as_player.mcfunction @@ -1,5 +1,5 @@ -$data modify storage omegaflowey:telemetry.temp data set value { amount: $(damage) } -data modify storage omegaflowey:telemetry.temp data.source set from storage omegaflowey:utils.damage source +$data modify storage omegaflowey:telemetry.temp data set value { d: $(damage) } +data modify storage omegaflowey:telemetry.temp data.s set from storage omegaflowey:utils.damage source function omegaflowey.main:telemetry/data/active_player/gamemode with storage omegaflowey:bossfight function omegaflowey.main:telemetry/bossfight/tag/instant { name: "player.damage" } diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/setup/objectives.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/setup/objectives.mcfunction index ab1041bdc..03de3e14f 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/setup/objectives.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/setup/objectives.mcfunction @@ -113,9 +113,13 @@ scoreboard objectives add omegaflowey.player.health health scoreboard objectives add omegaflowey.player.shake.pitch dummy scoreboard objectives add omegaflowey.player.shake.yaw dummy scoreboard objectives add omegaflowey.player.telemetry.id dummy +scoreboard objectives add omegaflowey.player.telemetry.trigger.disable trigger +scoreboard objectives add omegaflowey.player.telemetry.trigger.enable trigger scoreboard objectives add omegaflowey.player.telemetry.trigger.help trigger -scoreboard objectives add omegaflowey.player.telemetry.trigger.show trigger -scoreboard objectives add omegaflowey.player.telemetry.trigger.show_and_clear trigger +scoreboard objectives add omegaflowey.player.telemetry.trigger.pop.booth trigger +scoreboard objectives add omegaflowey.player.telemetry.trigger.pop.bossfight trigger +scoreboard objectives add omegaflowey.player.telemetry.trigger.show.booth trigger +scoreboard objectives add omegaflowey.player.telemetry.trigger.show.bossfight trigger scoreboard objectives add omegaflowey.player.trigger.bossfight.confirm trigger scoreboard objectives add omegaflowey.player.trigger.bossfight.deny trigger diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/disable.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/disable.mcfunction new file mode 100644 index 000000000..458184b8f --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/disable.mcfunction @@ -0,0 +1,11 @@ +execute unless score #omegaflowey.telemetry.enabled omegaflowey.global.flag matches 1 run return run \ + function omegaflowey.utils:log/self { text_component: '[ \ + "", \ + { "text": "Telemetry collection is already disabled", "color": "yellow" } \ + ]'} + +scoreboard players set #omegaflowey.telemetry.enabled omegaflowey.global.flag 0 +function omegaflowey.utils:log/self { text_component: '[ \ + "", \ + { "text": "Disabled telemetry collection", "color": "red" } \ +]'} diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/enable.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/enable.mcfunction new file mode 100644 index 000000000..81143e5d1 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/enable.mcfunction @@ -0,0 +1,11 @@ +execute if score #omegaflowey.telemetry.enabled omegaflowey.global.flag matches 1 run return run \ + function omegaflowey.utils:log/self { text_component: '[ \ + "", \ + { "text": "Telemetry collection is already enabled", "color": "yellow" } \ + ]'} + +scoreboard players set #omegaflowey.telemetry.enabled omegaflowey.global.flag 1 +function omegaflowey.utils:log/self { text_component: '[ \ + "", \ + { "text": "Enabled telemetry collection", "color": "aqua" } \ +]'} diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/help.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/help.mcfunction index 5c7a98ec2..5923a2443 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/help.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/help.mcfunction @@ -4,21 +4,60 @@ function omegaflowey.utils:log/self { text_component: '[ \ "\\n", \ "\\n", \ \ + { "text": "show: ", "color": "aqua" }, \ { \ - "text": "show", \ - "color": "aqua", \ + "text": "booth", \ + "color": "yellow", \ + "clickEvent": { \ + "action": "suggest_command", \ + "value": "/trigger omegaflowey.player.telemetry.trigger.show.booth" \ + } \ + }, \ + " ", \ + { \ + "text": "bossfight", \ + "color": "yellow", \ + "clickEvent": { \ + "action": "suggest_command", \ + "value": "/trigger omegaflowey.player.telemetry.trigger.show.bossfight" \ + } \ + }, \ + "\\n", \ + { "text": "pop: ", "color": "aqua" }, \ + { \ + "text": "booth", \ + "color": "yellow", \ + "clickEvent": { \ + "action": "suggest_command", \ + "value": "/trigger omegaflowey.player.telemetry.trigger.pop.booth" \ + } \ + }, \ + " ", \ + { \ + "text": "bossfight", \ + "color": "yellow", \ + "clickEvent": { \ + "action": "suggest_command", \ + "value": "/trigger omegaflowey.player.telemetry.trigger.pop.bossfight" \ + } \ + }, \ + "\\n", \ + "\\n", \ + { \ + "text": "enable", \ + "color": "yellow", \ "clickEvent": { \ "action": "suggest_command", \ - "value": "/trigger omegaflowey.player.telemetry.trigger.show" \ + "value": "/trigger omegaflowey.player.telemetry.trigger.enable" \ } \ }, \ "\\n", \ { \ - "text": "show_and_clear", \ + "text": "disable", \ "color": "yellow", \ "clickEvent": { \ "action": "suggest_command", \ - "value": "/trigger omegaflowey.player.telemetry.trigger.show_and_clear" \ + "value": "/trigger omegaflowey.player.telemetry.trigger.disable" \ } \ } \ ]'} diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/pop/booth.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/pop/booth.mcfunction new file mode 100644 index 000000000..8105cb1bd --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/pop/booth.mcfunction @@ -0,0 +1,16 @@ +function omegaflowey.main:telemetry/admin/show/booth + +execute if entity @s[name=!TheAfroOfDoom] run return run function omegaflowey.utils:log/self { text_component: '[ \ + { "text": "Only ", "color": "red" }, \ + { "text": "TheAfroOfDoom ", "color": "yellow" }, \ + { "text": "can clear the telemetry buffer", "color": "red" } \ +]'} + +data modify storage omegaflowey:telemetry data.booth set value [] +function omegaflowey.main:telemetry/setup/initialize_booth_data + +function omegaflowey.utils:log/self { text_component: '[ \ + "", \ + { "text": "Cleared ", "color": "red" }, \ + { "text": "current booth telemetry", "color": "yellow" } \ +]'} diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/pop/bossfight.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/pop/bossfight.mcfunction new file mode 100644 index 000000000..448726f86 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/pop/bossfight.mcfunction @@ -0,0 +1,20 @@ +function omegaflowey.main:telemetry/admin/show/bossfight + +execute if entity @s[name=!TheAfroOfDoom] run return run function omegaflowey.utils:log/self { text_component: '[ \ + { "text": "Only ", "color": "red" }, \ + { "text": "TheAfroOfDoom ", "color": "yellow" }, \ + { "text": "can clear the telemetry buffer", "color": "red" } \ +]'} + +# Don't clear the latest running fight in case it's still running, +# since bossfight telemetry data needs the root tag to be identifiable +data remove storage omegaflowey:telemetry temp.latest_bossfight +data modify storage omegaflowey:telemetry temp.latest_bossfight set from storage omegaflowey:telemetry data.bossfight[-1] +data modify storage omegaflowey:telemetry data.bossfight set value [] +data modify storage omegaflowey:telemetry data.bossfight append from storage omegaflowey:telemetry temp.latest_bossfight + +function omegaflowey.utils:log/self { text_component: '[ \ + "", \ + { "text": "Cleared ", "color": "red" }, \ + { "text": "current bossfight telemetry (except the latest bossfight array entry, if it exists)", "color": "yellow" } \ +]'} diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/reset_triggers.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/reset_triggers.mcfunction index 8a8e0206c..d32e6003d 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/reset_triggers.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/reset_triggers.mcfunction @@ -1,7 +1,15 @@ +scoreboard players enable @s omegaflowey.player.telemetry.trigger.disable +scoreboard players enable @s omegaflowey.player.telemetry.trigger.enable scoreboard players enable @s omegaflowey.player.telemetry.trigger.help -scoreboard players enable @s omegaflowey.player.telemetry.trigger.show -scoreboard players enable @s omegaflowey.player.telemetry.trigger.show_and_clear +scoreboard players enable @s omegaflowey.player.telemetry.trigger.pop.booth +scoreboard players enable @s omegaflowey.player.telemetry.trigger.pop.bossfight +scoreboard players enable @s omegaflowey.player.telemetry.trigger.show.booth +scoreboard players enable @s omegaflowey.player.telemetry.trigger.show.bossfight +scoreboard players set @s omegaflowey.player.telemetry.trigger.disable 0 +scoreboard players set @s omegaflowey.player.telemetry.trigger.enable 0 scoreboard players set @s omegaflowey.player.telemetry.trigger.help 0 -scoreboard players set @s omegaflowey.player.telemetry.trigger.show 0 -scoreboard players set @s omegaflowey.player.telemetry.trigger.show_and_clear 0 +scoreboard players set @s omegaflowey.player.telemetry.trigger.pop.booth 0 +scoreboard players set @s omegaflowey.player.telemetry.trigger.pop.bossfight 0 +scoreboard players set @s omegaflowey.player.telemetry.trigger.show.booth 0 +scoreboard players set @s omegaflowey.player.telemetry.trigger.show.bossfight 0 diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show.mcfunction deleted file mode 100644 index 3e2d13c33..000000000 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show.mcfunction +++ /dev/null @@ -1,5 +0,0 @@ -function omegaflowey.utils:log/self { text_component: '[ \ - "", \ - { "text": "Displaying current telemetry:\\n", "color": "aqua" }, \ - { "storage": "omegaflowey:telemetry", "nbt": "tags" } \ -]'} diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show/booth.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show/booth.mcfunction new file mode 100644 index 000000000..757577b6c --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show/booth.mcfunction @@ -0,0 +1,21 @@ +function omegaflowey.utils:log/self { text_component: '[ \ + "", \ + { "text": "Displaying current ", "color": "aqua" }, \ + { "text": "booth ", "color": "yellow", "bold": true }, \ + { "text": "telemetry:", "color": "aqua" } \ +]'} + +tellraw @s [ { "text": "server_id", "color": "yellow", "underlined": true } ] +tellraw @s [ { "storage": "omegaflowey:telemetry", "nbt": "data.server_id" } ] + +tellraw @s [ { "text": "\nversion", "color": "yellow", "underlined": true } ] +tellraw @s [ { "storage": "omegaflowey:telemetry", "nbt": "data.version" } ] + +tellraw @s [ { "text": "\nplayer_id_map", "color": "yellow", "underlined": true } ] +tellraw @s [ { "storage": "omegaflowey:telemetry", "nbt": "data.player_id_map" } ] + +tellraw @s [ { "text": "\nbooth_basetick", "color": "yellow", "underlined": true } ] +tellraw @s [ { "storage": "omegaflowey:telemetry", "nbt": "data.booth_basetick" } ] + +tellraw @s [ { "text": "\nbooth", "color": "yellow", "underlined": true } ] +tellraw @s [ { "storage": "omegaflowey:telemetry", "nbt": "data.booth" } ] diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show/bossfight.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show/bossfight.mcfunction new file mode 100644 index 000000000..648e2288c --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show/bossfight.mcfunction @@ -0,0 +1,15 @@ +function omegaflowey.utils:log/self { text_component: '[ \ + "", \ + { "text": "Displaying current ", "color": "aqua" }, \ + { "text": "bossfight ", "color": "yellow", "bold": true }, \ + { "text": "telemetry:", "color": "aqua" } \ +]'} + +tellraw @s [ { "text": "server_id", "color": "yellow", "underlined": true } ] +tellraw @s [ { "storage": "omegaflowey:telemetry", "nbt": "data.server_id" } ] + +tellraw @s [ { "text": "\nversion", "color": "yellow", "underlined": true } ] +tellraw @s [ { "storage": "omegaflowey:telemetry", "nbt": "data.version" } ] + +tellraw @s [ { "text": "\nbossfight", "color": "yellow", "underlined": true } ] +tellraw @s [ { "storage": "omegaflowey:telemetry", "nbt": "data.bossfight" } ] diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show_and_clear.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show_and_clear.mcfunction deleted file mode 100644 index 7c375bb5b..000000000 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show_and_clear.mcfunction +++ /dev/null @@ -1,21 +0,0 @@ -function omegaflowey.main:telemetry/admin/show - -execute if entity @s[name=!TheAfroOfDoom] run return run function omegaflowey.utils:log/self { text_component: '[ \ - { "text": "Only ", "color": "red" }, \ - { "text": "TheAfroOfDoom ", "color": "yellow" }, \ - { "text": "can clear the telemetry buffer", "color": "red" } \ -]'} - -data modify storage omegaflowey:telemetry tags.booth set value [] - -# Don't clear the latest running fight in case it's still running, -# since bossfight telemetry tags need the root tag to be identifiable -data modify storage omegaflowey:telemetry temp set from storage omegaflowey:telemetry tags.bossfight[-1] -data modify storage omegaflowey:telemetry tags.bossfight set value [] -data modify storage omegaflowey:telemetry tags.bossfight append from storage omegaflowey:telemetry temp - -function omegaflowey.utils:log/self { text_component: '[ \ - "", \ - { "text": "Cleared ", "color": "red" }, \ - { "text": "current telemetry (except the latest bossfight array entry, if it exists)", "color": "yellow" } \ -]'} diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/tick.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/tick.mcfunction index 86fa3d7a9..cba916f3d 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/tick.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/tick.mcfunction @@ -1,8 +1,16 @@ +execute if score @s omegaflowey.player.telemetry.trigger.disable matches 1 run \ + function omegaflowey.main:telemetry/admin/disable +execute if score @s omegaflowey.player.telemetry.trigger.enable matches 1 run \ + function omegaflowey.main:telemetry/admin/enable execute if score @s omegaflowey.player.telemetry.trigger.help matches 1 run \ function omegaflowey.main:telemetry/admin/help - execute if score @s omegaflowey.player.telemetry.trigger.show matches 1 run \ - function omegaflowey.main:telemetry/admin/show - execute if score @s omegaflowey.player.telemetry.trigger.show_and_clear matches 1 run \ - function omegaflowey.main:telemetry/admin/show_and_clear +execute if score @s omegaflowey.player.telemetry.trigger.pop.booth matches 1 run \ + function omegaflowey.main:telemetry/admin/pop/booth +execute if score @s omegaflowey.player.telemetry.trigger.pop.bossfight matches 1 run \ + function omegaflowey.main:telemetry/admin/pop/bossfight +execute if score @s omegaflowey.player.telemetry.trigger.show.booth matches 1 run \ + function omegaflowey.main:telemetry/admin/show/booth +execute if score @s omegaflowey.player.telemetry.trigger.show.bossfight matches 1 run \ + function omegaflowey.main:telemetry/admin/show/bossfight function omegaflowey.main:telemetry/admin/reset_triggers diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/add_tag.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/add_tag.mcfunction index 4b42fcb34..bdb665e16 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/add_tag.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/add_tag.mcfunction @@ -1,7 +1,24 @@ -$data modify storage omegaflowey:telemetry tags.booth append value { name: "$(name)" } +execute unless score #omegaflowey.telemetry.enabled omegaflowey.global.flag matches 1 run return 0 + +# Ensure numeric player ID is set +execute unless score @s omegaflowey.player.telemetry.id matches 0.. run function omegaflowey.main:telemetry/booth/enter + +data modify storage omegaflowey:telemetry temp.booth_next set value {} + +$function omegaflowey.main:telemetry/booth/schema/get { n: "$(name)" } +$execute unless data storage omegaflowey:telemetry temp.n run return run function omegaflowey.utils:error { error: '[ \ + { "text": "Name not found in ", "color": "yellow" }, \ + { "text": "booth ", "color": "green" }, \ + { "text": "schema: ", "color": "yellow" }, \ + { "text": "$(name)", "color": "aqua" } \ +]'} +data modify storage omegaflowey:telemetry temp.booth_next.n set from storage omegaflowey:telemetry temp.n execute store result score @s omegaflowey.math.0 run time query gametime -execute store result storage omegaflowey:telemetry tags.booth[-1].tick int 1 run scoreboard players get @s omegaflowey.math.0 +# the first entry in the booth data array is the base gametick the array was initialized with +execute store result score @s omegaflowey.math.1 run data get storage omegaflowey:telemetry data.booth_basetick +scoreboard players operation @s omegaflowey.math.0 -= @s omegaflowey.math.1 +execute store result storage omegaflowey:telemetry temp.booth_next.t int 1 run scoreboard players get @s omegaflowey.math.0 +execute store result storage omegaflowey:telemetry temp.booth_next.u int 1 run scoreboard players get @s omegaflowey.player.telemetry.id -execute store result storage omegaflowey:telemetry player_id_cache.temp.i int 1 run scoreboard players get @s omegaflowey.player.telemetry.id -function omegaflowey.main:telemetry/booth/get_player_id with storage omegaflowey:telemetry player_id_cache.temp +function omegaflowey.main:telemetry/booth/add_tag/to_string with storage omegaflowey:telemetry temp.booth_next diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/add_tag/to_string.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/add_tag/to_string.mcfunction new file mode 100644 index 000000000..64d59bc1d --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/add_tag/to_string.mcfunction @@ -0,0 +1,3 @@ +$data modify storage omegaflowey:telemetry data.booth append value "$(n);$(t);$(u);" + +# see `schema/setup` function for what these letters mean diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/enter.mcfunction index 7cdb875b8..d13c548de 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/enter.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/enter.mcfunction @@ -1,6 +1,8 @@ +execute unless score #omegaflowey.telemetry.enabled omegaflowey.global.flag matches 1 run return 0 + scoreboard players operation @s omegaflowey.player.telemetry.id = #omegaflowey.telemetry.next_player_id omegaflowey.global.flag scoreboard players add #omegaflowey.telemetry.next_player_id omegaflowey.global.flag 1 function gu:generate -execute store result storage omegaflowey:telemetry player_id_cache.temp.i int 1 run scoreboard players get @s omegaflowey.player.telemetry.id -function omegaflowey.main:telemetry/booth/enter/macro with storage omegaflowey:telemetry player_id_cache.temp +execute store result storage omegaflowey:telemetry temp.i int 1 run scoreboard players get @s omegaflowey.player.telemetry.id +function omegaflowey.main:telemetry/booth/enter/macro with storage omegaflowey:telemetry temp diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/enter/macro.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/enter/macro.mcfunction index 4ae99aad5..ea35661cf 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/enter/macro.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/enter/macro.mcfunction @@ -1 +1 @@ -$data modify storage omegaflowey:telemetry player_id_cache.$(i) set from storage gu:main out +$data modify storage omegaflowey:telemetry data.player_id_map."$(i)" set from storage gu:main out diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/exit.mcfunction deleted file mode 100644 index 5b32ab5ae..000000000 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/exit.mcfunction +++ /dev/null @@ -1,4 +0,0 @@ -execute store result storage omegaflowey:telemetry player_id_cache.temp.i int 1 run scoreboard players get @s omegaflowey.player.telemetry.id -function omegaflowey.main:telemetry/booth/exit/macro with storage omegaflowey:telemetry player_id_cache.temp - -scoreboard players reset @s omegaflowey.player.telemetry.id diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/exit/macro.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/exit/macro.mcfunction deleted file mode 100644 index c51b32048..000000000 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/exit/macro.mcfunction +++ /dev/null @@ -1 +0,0 @@ -$data remove storage omegaflowey:telemetry player_id_cache.$(i) diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/get_player_id.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/get_player_id.mcfunction deleted file mode 100644 index 2b6acd1c2..000000000 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/get_player_id.mcfunction +++ /dev/null @@ -1 +0,0 @@ -$data modify storage omegaflowey:telemetry tags.booth[-1].id set from storage omegaflowey:telemetry player_id_cache.$(i) diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/schema/get.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/schema/get.mcfunction new file mode 100644 index 000000000..e278dd552 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/schema/get.mcfunction @@ -0,0 +1,2 @@ +data modify storage omegaflowey:telemetry temp set value {} +$data modify storage omegaflowey:telemetry temp.n set from storage omegaflowey:telemetry schema_booth_n."$(n)" diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/schema/setup.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/schema/setup.mcfunction new file mode 100644 index 000000000..5f60316d7 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/schema/setup.mcfunction @@ -0,0 +1,38 @@ +# t: tick relative to basetick +# u: player uuid + +# n: name +data modify storage omegaflowey:telemetry schema_booth_n set value { \ + "root.enter": 0, \ + "root.exit": 1, \ + "room.underground.enter": 2, \ + "room.underground.exit": 3, \ + "room.underground.exit.by_hallway": 4, \ + "room.spectator_box.enter": 5, \ + "room.spectator_box.exit": 6, \ + "player.interact.join_queue": 7, \ + "player.interact.join_queue_2": 8, \ + "player.interact.github_description_link": 9, \ + "player.interact.feedback_form_link": 10, \ + "player.interact.animated_java_link": 11, \ + "player.interact.back_cave_github_link": 12, \ + 'player.queue.join': 13, \ + 'player.queue.shown_prompt': 14, \ + 'player.queue.confirm': 15, \ + 'player.queue.deny': 16, \ + 'player.queue.timeout': 17, \ + 'player.queue.confirm.after_delay': 18, \ + 'player.rejoin.was_in_bossfight': 19, \ + 'player.rejoin.was_in_queue': 20, \ + 'room.underground.parkour.start.enter': 21, \ + 'room.underground.parkour.before_pillar.enter': 22, \ + 'room.underground.parkour.behind_pillar.enter': 23, \ + 'room.underground.parkour.south_wall.enter': 24, \ + 'room.underground.parkour.south_glow_vines.enter': 25, \ + 'room.underground.parkour.final_vines.enter': 26, \ + 'room.underground.parkour.before_final_jump.enter': 27, \ + 'room.underground.parkour.finish.enter': 28, \ + 'player.shown_feedback_link.won_fight': 29, \ + 'room.underground.back_cave.enter': 30, \ + 'room.underground.back_cave.waterfall_secret.enter': 31, \ +} diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/schema/get.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/schema/get.mcfunction new file mode 100644 index 000000000..143c4d673 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/schema/get.mcfunction @@ -0,0 +1,2 @@ +data modify storage omegaflowey:telemetry temp set value {} +$data modify storage omegaflowey:telemetry temp.name set from storage omegaflowey:telemetry schema_bossfight_name."$(name)" diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/schema/setup.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/schema/setup.mcfunction new file mode 100644 index 000000000..62c88feac --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/schema/setup.mcfunction @@ -0,0 +1,63 @@ +## gamemode +# 0: survival +# 1: creative +# 2: adventure +# 3: spectator + +## name +data modify storage omegaflowey:telemetry schema_bossfight_name set value { \ + "root.start": 0, \ + "root.end": 1, \ + "bossfight.summit.start": 2, \ + "bossfight.summit.end": 3, \ + "bossfight.phase.cutscene.start": 4, \ + "bossfight.phase.cutscene.end": 5, \ + "bossfight.phase.attack.start": 6, \ + "bossfight.phase.attack.end": 7, \ + "bossfight.phase.warn.start": 8, \ + "bossfight.phase.warn.end": 9, \ + "bossfight.phase.soul.start": 10, \ + "bossfight.phase.soul.end": 11, \ + "cutscene.intro.start": 12, \ + "cutscene.intro.end": 13, \ + "cutscene.intro.turn_on_screen": 14, \ + "cutscene.intro.laugh.start": 15, \ + "cutscene.intro.laugh.end": 16, \ + "player.damage": 17, \ + "attack.bomb.start": 18, \ + "attack.bomb.end": 19, \ + "attack.dentata_snakes.start": 20, \ + "attack.dentata_snakes.end": 21, \ + "attack.finger_guns.start": 22, \ + "attack.finger_guns.end": 23, \ + "attack.friendliness_pellets.start": 24, \ + "attack.friendliness_pellets.end": 25, \ + "attack.homing_vines.start": 26, \ + "attack.homing_vines.end": 27, \ + "attack.x_bullets_lower.start": 28, \ + "attack.x_bullets_lower.end": 29, \ + "attack.x_bullets_upper.start": 30, \ + "attack.x_bullets_upper.end": 31, \ + "soul.act_button_summon": 32, \ + "soul.touch": 33, \ + "soul.saved": 34, \ + "player.heal": 35, \ +} + +## bossfight.summit.end data +# h: player_hit_count +# s: stop_reason + +## bossfight.phase.attack.start data +## bossfight.phase.cutscene.start data +## bossfight.phase.soul.start data +## bossfight.phase.warn.start data +# i: phase_index + +## player.damage data +# d: damage +# g: player_gamemode +# s: source + +## player.heal data +# a: amount diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/end.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/end.mcfunction index 70990a167..aff564129 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/end.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/end.mcfunction @@ -1,4 +1,6 @@ +execute unless score #omegaflowey.telemetry.enabled omegaflowey.global.flag matches 1 run return 0 + execute if score #omegaflowey.telemetry.bossfight.basetime omegaflowey.global.flag matches -1 run return 0 -$data modify storage omegaflowey:telemetry tags.bossfight[-1] append value { name: "$(name)", type: "end" } +$data modify storage omegaflowey:telemetry.temp bossfight_next set value { name: "$(name).end" } function omegaflowey.main:telemetry/bossfight/tag/shared diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/instant.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/instant.mcfunction index ecf781012..40106a370 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/instant.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/instant.mcfunction @@ -1,4 +1,6 @@ +execute unless score #omegaflowey.telemetry.enabled omegaflowey.global.flag matches 1 run return 0 + execute if score #omegaflowey.telemetry.bossfight.basetime omegaflowey.global.flag matches -1 run return 0 -$data modify storage omegaflowey:telemetry tags.bossfight[-1] append value { name: "$(name)", type: "instant" } +$data modify storage omegaflowey:telemetry.temp bossfight_next set value { name: "$(name)" } function omegaflowey.main:telemetry/bossfight/tag/shared diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/end.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/end.mcfunction index 85d7e9be2..16648796d 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/end.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/end.mcfunction @@ -1,6 +1,8 @@ +execute unless score #omegaflowey.telemetry.enabled omegaflowey.global.flag matches 1 run return 0 + execute if score #omegaflowey.telemetry.bossfight.basetime omegaflowey.global.flag matches -1 run return 0 -data modify storage omegaflowey:telemetry tags.bossfight[-1] append value { name: "root", type: "end" } +data modify storage omegaflowey:telemetry.temp bossfight_next set value { name: "root.end" } function omegaflowey.main:telemetry/bossfight/tag/shared scoreboard players set #omegaflowey.telemetry.bossfight.basetime omegaflowey.global.flag -1 diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start.mcfunction index 60287cf41..049535196 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start.mcfunction @@ -1,14 +1,19 @@ -data modify storage omegaflowey:telemetry tags.bossfight append value [{ name: "root", type: "start", "version": "0.1.0" }] +execute unless score #omegaflowey.telemetry.enabled omegaflowey.global.flag matches 1 run return 0 + +# this isn't checked in the schema, but `name:0` represents `root.start` +data modify storage omegaflowey:telemetry.temp bossfight_root_next set value { name: 0 } execute store result score #omegaflowey.telemetry.bossfight.basetime omegaflowey.global.flag run time query gametime -execute store result storage omegaflowey:telemetry tags.bossfight[-1][0].tick int 1 run \ +execute store result storage omegaflowey:telemetry.temp bossfight_root_next.tick int 1 run \ scoreboard players get #omegaflowey.telemetry.bossfight.basetime omegaflowey.global.flag execute summon marker run function omegaflowey.main:telemetry/bossfight/tag/root/start/generate_uuid -data modify storage omegaflowey:telemetry tags.bossfight[-1][-1].player_id set from storage omegaflowey:bossfight active_player_uuid +data modify storage omegaflowey:telemetry.temp bossfight_root_next.player_id set from storage omegaflowey:bossfight active_player_uuid function omegaflowey.main:telemetry/bossfight/tag/root/start/macro with storage omegaflowey:bossfight - function omegaflowey.main:telemetry/data/active_player/gamemode with storage omegaflowey:bossfight -data modify storage omegaflowey:telemetry tags.bossfight[-1][-1].player_gamemode set from storage omegaflowey:telemetry.temp data.player_gamemode +data modify storage omegaflowey:telemetry.temp bossfight_root_next.player_gamemode set from storage omegaflowey:telemetry.temp data.player_gamemode + +data modify storage omegaflowey:telemetry data.bossfight append value [] +function omegaflowey.main:telemetry/bossfight/tag/root/to_string with storage omegaflowey:telemetry.temp bossfight_root_next diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start/as_active_player.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start/as_active_player.mcfunction index 8fda92f87..98e1246c9 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start/as_active_player.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start/as_active_player.mcfunction @@ -1 +1 @@ -data modify storage omegaflowey:telemetry tags.bossfight[-1][-1].player_health set from entity @s Health +data modify storage omegaflowey:telemetry.temp bossfight_root_next.player_health set from entity @s Health diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start/generate_uuid.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start/generate_uuid.mcfunction index a4da37c82..734015be2 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start/generate_uuid.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start/generate_uuid.mcfunction @@ -1,3 +1,3 @@ function gu:generate -data modify storage omegaflowey:telemetry tags.bossfight[-1][-1].id set from storage gu:main out +data modify storage omegaflowey:telemetry.temp bossfight_root_next.id set from storage gu:main out kill @s diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/to_string.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/to_string.mcfunction new file mode 100644 index 000000000..f108d83cf --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/to_string.mcfunction @@ -0,0 +1,7 @@ +$data modify storage omegaflowey:telemetry data.bossfight[-1] append value "\ + $(name);\ + $(tick);\ + $(player_id);\ + $(player_gamemode);\ + $(player_health);\ +" diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/shared.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/shared.mcfunction index c8d026325..4a6c48aeb 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/shared.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/shared.mcfunction @@ -1,10 +1,19 @@ # relative gametime execute store result score @s omegaflowey.math.0 run time query gametime scoreboard players operation @s omegaflowey.math.0 -= #omegaflowey.telemetry.bossfight.basetime omegaflowey.global.flag -execute store result storage omegaflowey:telemetry tags.bossfight[-1][-1].tick int 1 run scoreboard players get @s omegaflowey.math.0 +execute store result storage omegaflowey:telemetry.temp bossfight_next.tick int 1 run scoreboard players get @s omegaflowey.math.0 +function omegaflowey.main:telemetry/bossfight/schema/get with storage omegaflowey:telemetry.temp bossfight_next +execute unless data storage omegaflowey:telemetry temp.name run return run \ + function omegaflowey.main:telemetry/bossfight/tag/shared/error with storage omegaflowey:telemetry.temp bossfight_next + +data modify storage omegaflowey:telemetry.temp bossfight_next.name set from storage omegaflowey:telemetry temp.name + +data modify storage omegaflowey:telemetry.temp bossfight_next.data set value "" execute if data storage omegaflowey:telemetry.temp data run \ - data modify storage omegaflowey:telemetry tags.bossfight[-1][-1].data set from storage omegaflowey:telemetry.temp data + data modify storage omegaflowey:telemetry.temp bossfight_next.data set from storage omegaflowey:telemetry.temp data + +function omegaflowey.main:telemetry/bossfight/tag/to_string with storage omegaflowey:telemetry.temp bossfight_next # reset extra data data remove storage omegaflowey:telemetry.temp data diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/shared/error.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/shared/error.mcfunction new file mode 100644 index 000000000..f32a98547 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/shared/error.mcfunction @@ -0,0 +1,6 @@ +$function omegaflowey.utils:error { error: '[ \ + { "text": "Name not found in ", "color": "yellow" }, \ + { "text": "bossfight ", "color": "red" }, \ + { "text": "schema: ", "color": "yellow" }, \ + { "text": "$(name)", "color": "aqua" } \ +]'} diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/start.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/start.mcfunction index 2c00ca627..f39059790 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/start.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/start.mcfunction @@ -1,4 +1,6 @@ +execute unless score #omegaflowey.telemetry.enabled omegaflowey.global.flag matches 1 run return 0 + execute if score #omegaflowey.telemetry.bossfight.basetime omegaflowey.global.flag matches -1 run return 0 -$data modify storage omegaflowey:telemetry tags.bossfight[-1] append value { name: "$(name)", type: "start" } +$data modify storage omegaflowey:telemetry.temp bossfight_next set value { name: "$(name).start" } function omegaflowey.main:telemetry/bossfight/tag/shared diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/to_string.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/to_string.mcfunction new file mode 100644 index 000000000..c0c87bcb8 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/to_string.mcfunction @@ -0,0 +1,5 @@ +$data modify storage omegaflowey:telemetry data.bossfight[-1] append value "\ + $(name);\ + $(tick);\ + $(data);\ +" diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/data/active_player/bossfight_hit_count.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/data/active_player/bossfight_hit_count.mcfunction index df88b12f9..e2fe78f4d 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/data/active_player/bossfight_hit_count.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/data/active_player/bossfight_hit_count.mcfunction @@ -1,4 +1,4 @@ function omegaflowey.main:telemetry/data/shared -execute store result storage omegaflowey:telemetry.temp data.player_hit_count int 1 run \ +execute store result storage omegaflowey:telemetry.temp data.h int 1 run \ scoreboard players get #omegaflowey.bossfight.player_hit_count omegaflowey.global.flag diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/data/active_player/gamemode.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/data/active_player/gamemode.mcfunction index 7b85ebb33..5e7847acf 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/data/active_player/gamemode.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/data/active_player/gamemode.mcfunction @@ -1,10 +1,10 @@ function omegaflowey.main:telemetry/data/shared -$execute as $(active_player_uuid) if entity @s[gamemode=adventure] run \ - data modify storage omegaflowey:telemetry.temp data.player_gamemode set value "adventure" +$execute as $(active_player_uuid) if entity @s[gamemode=survival] run \ + data modify storage omegaflowey:telemetry.temp data.g set value 0 $execute as $(active_player_uuid) if entity @s[gamemode=creative] run \ - data modify storage omegaflowey:telemetry.temp data.player_gamemode set value "creative" + data modify storage omegaflowey:telemetry.temp data.g set value 1 +$execute as $(active_player_uuid) if entity @s[gamemode=adventure] run \ + data modify storage omegaflowey:telemetry.temp data.g set value 2 $execute as $(active_player_uuid) if entity @s[gamemode=spectator] run \ - data modify storage omegaflowey:telemetry.temp data.player_gamemode set value "spectator" -$execute as $(active_player_uuid) if entity @s[gamemode=survival] run \ - data modify storage omegaflowey:telemetry.temp data.player_gamemode set value "survival" + data modify storage omegaflowey:telemetry.temp data.g set value 3 diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/setup.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/setup.mcfunction index 2b6cd1ef5..4e83f73b2 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/setup.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/setup.mcfunction @@ -1,8 +1,23 @@ -execute unless data storage omegaflowey:telemetry player_id_cache run data modify storage omegaflowey:telemetry player_id_cache set value {} -execute unless data storage omegaflowey:telemetry player_id_cache.temp run data modify storage omegaflowey:telemetry player_id_cache.temp set value {} -execute unless data storage omegaflowey:telemetry tags run data modify storage omegaflowey:telemetry tags set value {} -execute unless data storage omegaflowey:telemetry tags.booth run data modify storage omegaflowey:telemetry tags.booth set value [] -execute unless data storage omegaflowey:telemetry tags.bossfight run data modify storage omegaflowey:telemetry tags.bossfight set value [] +execute unless data storage omegaflowey:telemetry data run data modify storage omegaflowey:telemetry data set value {} +# summit is hosted over a few subservers. keep track of which one is associated with which player ID map +execute unless data storage omegaflowey:telemetry data.server_id summon minecraft:marker run \ + function omegaflowey.main:telemetry/setup/set_server_id +execute unless data storage omegaflowey:telemetry data.player_id_map run \ + data modify storage omegaflowey:telemetry data.player_id_map set value {} +execute unless data storage omegaflowey:telemetry data.booth run \ + data modify storage omegaflowey:telemetry data.booth set value [] +execute unless data storage omegaflowey:telemetry data.bossfight run \ + data modify storage omegaflowey:telemetry data.bossfight set value [] +data modify storage omegaflowey:telemetry data.version set value "0.1.0" + +execute unless data storage omegaflowey:telemetry temp run \ + data modify storage omegaflowey:telemetry temp set value {} execute unless score #omegaflowey.telemetry.next_player_id omegaflowey.global.flag matches 0.. run \ scoreboard players set #omegaflowey.telemetry.next_player_id omegaflowey.global.flag 0 +execute unless score #omegaflowey.telemetry.enabled omegaflowey.global.flag matches 0.. run \ + scoreboard players set #omegaflowey.telemetry.enabled omegaflowey.global.flag 1 + +function omegaflowey.main:telemetry/setup/initialize_booth_data +function omegaflowey.main:telemetry/booth/schema/setup +function omegaflowey.main:telemetry/bossfight/schema/setup diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/setup/initialize_booth_data.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/setup/initialize_booth_data.mcfunction new file mode 100644 index 000000000..d5b56c0e5 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/setup/initialize_booth_data.mcfunction @@ -0,0 +1,10 @@ +# don't initialize booth data if there already is an entry in the array +execute \ + if data storage omegaflowey:telemetry data.booth \ + if data storage omegaflowey:telemetry data.booth[0] \ + run return 0 + +data modify storage omegaflowey:telemetry temp set value {} +execute store result storage omegaflowey:telemetry temp.basetick int 1 run time query gametime + +data modify storage omegaflowey:telemetry data.booth_basetick set from storage omegaflowey:telemetry temp.basetick diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/setup/set_server_id.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/setup/set_server_id.mcfunction new file mode 100644 index 000000000..3b6559714 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/setup/set_server_id.mcfunction @@ -0,0 +1,3 @@ +function gu:generate +data modify storage omegaflowey:telemetry data.server_id set from storage gu:main out +kill @s diff --git a/datapacks/omegaflowey/data/omegaflowey.main/tags/block/parkour/vines.json b/datapacks/omegaflowey/data/omegaflowey.main/tags/block/parkour/vines.json new file mode 100644 index 000000000..2eb71a528 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/tags/block/parkour/vines.json @@ -0,0 +1,6 @@ +{ + "values": [ + "minecraft:cave_vines", + "minecraft:cave_vines_plant" + ] +} diff --git a/package-scripts/build.js b/package-scripts/build.js index 35fcefdbf..9bbbf30e1 100644 --- a/package-scripts/build.js +++ b/package-scripts/build.js @@ -137,6 +137,7 @@ const getSummitDatapackPaths = () => { 'omegaflowey.admin/function/', ...entityPaths, 'omegaflowey.main/function/', + 'omegaflowey.main/tags/', ...utilsPaths, 'summit/', ]),