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 2639c6f79..86b8a5256 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,3 +1,10 @@ +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 \ + 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 + function omegaflowey.entity:remove_animated_java_models/boss_fight # TAG_SUMMIT_HARDCODED_ARENA_VOLUME execute as @e[ \ 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 3de4f20b2..979b02552 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,3 +1,8 @@ +data modify storage omegaflowey:telemetry.temp data set value {} +execute store result storage omegaflowey:telemetry.temp data.phase_index int 1 run \ + scoreboard players get @s omegaflowey.boss-fight.attack.phase.i +function omegaflowey.main:telemetry/bossfight/tag/start { name: "bossfight.phase.attack" } + # Split on phase score execute if score @s omegaflowey.boss-fight.attack.phase.i matches 0 run function omegaflowey.entity:directorial/boss_fight/summit/phase/attack/initialize/0 execute if score @s omegaflowey.boss-fight.attack.phase.i matches 1 run function omegaflowey.entity:directorial/boss_fight/summit/phase/attack/initialize/1 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/terminate.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/terminate.mcfunction index c6fd89496..d00412cdb 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/terminate.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/terminate.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/end { name: "bossfight.phase.attack" } + # Increment attack phase scoreboard players add @s omegaflowey.boss-fight.attack.phase.i 1 # Wrap around total phases (6) 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 11e8cd29a..419c72f69 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,3 +1,8 @@ +data modify storage omegaflowey:telemetry.temp data set value {} +execute store result storage omegaflowey:telemetry.temp data.phase_index int 1 run \ + scoreboard players get @s omegaflowey.boss-fight.progress.phase.i +function omegaflowey.main:telemetry/bossfight/tag/start { name: "bossfight.phase.soul" } + ## Set scores # the negative time duration is how long the static length lasts (25 ticks) scoreboard players set @s omegaflowey.boss-fight.progress.clock.i -26 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/soul/terminate.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/soul/terminate.mcfunction index 8efb31ca3..00002b863 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/soul/terminate.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/soul/terminate.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/end { name: "bossfight.phase.soul" } + # Check if this is the final phase scoreboard players set #omegaflowey.bossfight.done omegaflowey.global.flag 0 execute if score @s omegaflowey.boss-fight.progress.phase.i = @s omegaflowey.boss-fight.progress.phase.total run scoreboard players set #omegaflowey.bossfight.done omegaflowey.global.flag 1 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 21d3eccf1..57a65e009 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,3 +1,8 @@ +data modify storage omegaflowey:telemetry.temp data set value {} +execute store result storage omegaflowey:telemetry.temp data.phase_index int 1 run \ + scoreboard players get @s omegaflowey.boss-fight.progress.phase.i +function omegaflowey.main:telemetry/bossfight/tag/start { name: "bossfight.phase.warn" } + ## Set scores # Length of the WARNING sound scoreboard players set @s omegaflowey.boss-fight.warn.clock.total 101 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/warn/terminate.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/warn/terminate.mcfunction index b53715fac..482209470 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/warn/terminate.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/warn/terminate.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/end { name: "bossfight.phase.warn" } + # Remove tags tag @s remove boss_fight.phase.warn diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/start.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/start.mcfunction index d7297d3c3..55b1901e5 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/start.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/start.mcfunction @@ -12,6 +12,9 @@ function omegaflowey.entity:directorial/boss_fight/summit/origin/at/position { \ ]" \ } +function omegaflowey.main:telemetry/bossfight/tag/root/start +function omegaflowey.main:telemetry/bossfight/tag/start { name: "bossfight.summit" } + # Summon and initialize boss fight director function omegaflowey.entity:directorial/boss_fight/summit/origin/at { \ command: "execute summon minecraft:marker at @s run function omegaflowey.entity:directorial/boss_fight/summit/initialize" \ diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop.mcfunction index b8515ad73..04dd090b2 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop.mcfunction @@ -2,7 +2,7 @@ scoreboard players add @s omegaflowey.attack.clock.i 1 # this is a rect volume, size is 18x(28+36)x18 # y-bound is -28 to +36 -data merge storage omegaflowey:utils.damage { damage: 2, radius: 1.8 } +data merge storage omegaflowey:utils.damage { damage: 2, radius: 1.8, source: 'bomb.bullet' } execute positioned ~ ~-4 ~ run function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage execute positioned ~ ~-2 ~ run function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage execute positioned ~ ~ ~ run function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/executor/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/executor/initialize.mcfunction index 9c6bced12..de50ea6e8 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/executor/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/executor/initialize.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/start { name: "attack.bomb" } + function omegaflowey.entity:hostile/omega-flowey/attack/shared/executor/initialize data modify entity @s CustomName set value '"Bomb Executor"' diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/executor/terminate.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/executor/terminate.mcfunction index 97aaaf379..71f0105e0 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/executor/terminate.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/executor/terminate.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/end { name: "attack.bomb" } + $execute as $(boss_fight_uuid) run function omegaflowey.entity:hostile/omega-flowey/attack/bomb/executor/terminate/boss_fight kill @s diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/loop.mcfunction index 2119a18ed..dbe88dcb1 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/loop.mcfunction @@ -1,7 +1,7 @@ scoreboard players add @s omegaflowey.attack.clock.i 1 execute store result storage omegaflowey:utils.damage radius float 0.0001 run scoreboard players get @s omegaflowey.attack.bullets.radius -data merge storage omegaflowey:utils.damage { damage: 3 } +data merge storage omegaflowey:utils.damage { damage: 3, source: 'dentata_snakes.bullet' } function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage # Check if inside arena diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/executor/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/executor/initialize.mcfunction index f09aca554..1a33e1db6 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/executor/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/executor/initialize.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/start { name: "attack.dentata_snakes" } + function omegaflowey.entity:hostile/omega-flowey/attack/shared/executor/initialize data modify entity @s CustomName set value '"Dentata-Snakes Executor"' diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/executor/terminate.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/executor/terminate.mcfunction index 581825639..da25921d6 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/executor/terminate.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/executor/terminate.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/end { name: "attack.dentata_snakes" } + $execute as $(boss_fight_uuid) run function omegaflowey.entity:hostile/omega-flowey/attack/dentata-snakes/executor/terminate/boss_fight kill @s diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/bullet/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/bullet/loop.mcfunction index f56f1bac0..4c0f2bfe4 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/bullet/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/bullet/loop.mcfunction @@ -1,6 +1,6 @@ scoreboard players add @s omegaflowey.attack.clock.i 1 -data merge storage omegaflowey:utils.damage { damage: 2, radius: 1 } +data merge storage omegaflowey:utils.damage { damage: 2, radius: 1, source: 'finger_guns.bullet' } execute positioned ~ ~-1.5 ~ run function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage # Move forward diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/executor/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/executor/initialize.mcfunction index af2b93781..041dfb5a2 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/executor/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/executor/initialize.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/start { name: "attack.finger_guns" } + function omegaflowey.entity:hostile/omega-flowey/attack/shared/executor/initialize data modify entity @s CustomName set value '"Finger-Guns Executor"' diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/executor/terminate.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/executor/terminate.mcfunction index 5af73f1c9..0e75d77a7 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/executor/terminate.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/executor/terminate.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/end { name: "attack.finger_guns" } + $execute as $(boss_fight_uuid) run function omegaflowey.entity:hostile/omega-flowey/attack/finger-guns/executor/terminate/boss_fight kill @s diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/flies/bullet/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/flies/bullet/loop.mcfunction index 4b1ae7254..66a41cb3a 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/flies/bullet/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/flies/bullet/loop.mcfunction @@ -1,4 +1,4 @@ -data merge storage omegaflowey:utils.damage { damage: 2, radius: 1.5 } +data merge storage omegaflowey:utils.damage { damage: 2, radius: 1.5, source: 'flies.bullet' } execute positioned ~ ~-0.5 ~ run function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage execute if entity @s[tag=is_terminating] run function omegaflowey.entity:hostile/omega-flowey/attack/flies/bullet/loop/terminating diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/bullet/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/bullet/loop.mcfunction index 1ca951adc..1fa236a06 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/bullet/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/bullet/loop.mcfunction @@ -1,4 +1,4 @@ -data merge storage omegaflowey:utils.damage {damage: 2, radius: 1.5} +data merge storage omegaflowey:utils.damage { damage: 2, radius: 1.5, source: 'friendliness_pellets.bullet' } function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage # Do nothing (except damage) while `stationary` diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/initialize.mcfunction index d6e331635..40f1e99b0 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/initialize.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/start { name: "attack.friendliness_pellets" } + function omegaflowey.entity:hostile/omega-flowey/attack/shared/executor/initialize data modify entity @s CustomName set value '"Friendliness-Pellets Executor"' diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/terminate.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/terminate.mcfunction index 24ff00511..c90ab523f 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/terminate.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/terminate.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/end { name: "attack.friendliness_pellets" } + $execute as $(boss_fight_uuid) run function omegaflowey.entity:hostile/omega-flowey/attack/friendliness-pellets/executor/terminate/boss_fight kill @s diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/bullet/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/bullet/loop.mcfunction index 325ceff62..e5975d2c2 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/bullet/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/bullet/loop.mcfunction @@ -3,7 +3,7 @@ scoreboard players add @s omegaflowey.attack.clock.i 1 # TODO(40): this hitbox is inaccurate -- needs to be a bounding box that is NOT axis aligned # > make some functions to represent the shape and check if the player's coordinates pass the function checks # inputs: { rectangle_width, current_position, initial_position (bullet summon position) } -data merge storage omegaflowey:utils.damage { damage: 2, radius: 1 } +data merge storage omegaflowey:utils.damage { damage: 2, radius: 1, source: 'homing_vines.bullet' } execute if entity @s[tag=!cant-damage] run function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage # Check if inside arena diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/initialize.mcfunction index 89090a884..616061128 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/initialize.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/start { name: "attack.homing_vines" } + function omegaflowey.entity:hostile/omega-flowey/attack/shared/executor/initialize data modify entity @s CustomName set value '"Homing-Vines Executor"' diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/terminate.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/terminate.mcfunction index 3a8f0d9c4..d5182808f 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/terminate.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/terminate.mcfunction @@ -2,6 +2,8 @@ scoreboard players add @s omegaflowey.attack.executor.repeat.count.i 1 execute if score @s omegaflowey.attack.executor.repeat.count.i <= @s omegaflowey.attack.executor.repeat.count.total run function omegaflowey.entity:hostile/omega-flowey/attack/homing-vines/executor/terminate/repeat execute if score @s omegaflowey.attack.executor.repeat.count.i <= @s omegaflowey.attack.executor.repeat.count.total run return 0 +function omegaflowey.main:telemetry/bossfight/tag/end { name: "attack.homing_vines" } + $execute as $(boss_fight_uuid) run function omegaflowey.entity:hostile/omega-flowey/attack/homing-vines/executor/terminate/boss_fight kill @s diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/bullet/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/bullet/loop.mcfunction index 2ce769be2..55be744d3 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/bullet/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/bullet/loop.mcfunction @@ -4,7 +4,7 @@ scoreboard players add @s omegaflowey.attack.clock.i 1 execute store result storage omegaflowey:utils.move z float 0.01 run scoreboard players get #omegaflowey.attack.x-bullets-lower omegaflowey.attack.speed.z function omegaflowey.entity:utils/move_forward with storage omegaflowey:utils.move -data merge storage omegaflowey:utils.damage {damage: 2, radius: 1.5} +data merge storage omegaflowey:utils.damage { damage: 2, radius: 1.5, source: 'x_bullets_lower.bullet' } function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage # Terminate after 2 seconds diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/executor/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/executor/initialize.mcfunction index 3f8abe23e..9fbe42e90 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/executor/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/executor/initialize.mcfunction @@ -9,6 +9,8 @@ $execute \ execute if score #omegaflowey.attack.x-bullets-lower.lower_eye_exists omegaflowey.attack.flag matches 0 run function omegaflowey.entity:hostile/omega-flowey/attack/x-bullets-shared/executor/initialize/error { "type": "lower" } execute if score #omegaflowey.attack.x-bullets-lower.lower_eye_exists omegaflowey.attack.flag matches 0 run return fail +function omegaflowey.main:telemetry/bossfight/tag/start { name: "attack.x_bullets_lower" } + function omegaflowey.entity:hostile/omega-flowey/attack/shared/executor/initialize data modify entity @s CustomName set value '"X-Bullets-Lower Executor"' diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/executor/terminate.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/executor/terminate.mcfunction index fa8b236b0..6e91dac27 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/executor/terminate.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/executor/terminate.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/end { name: "attack.x_bullets_lower" } + $execute as $(attack_lower_eye_right_uuid) run \ function omegaflowey.entity:hostile/omega-flowey/attack/x-bullets-lower/executor/terminate/lower_eye $execute as $(attack_lower_eye_left_uuid) run \ diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/bullet/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/bullet/loop.mcfunction index 88ce38892..f2987af13 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/bullet/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/bullet/loop.mcfunction @@ -4,7 +4,7 @@ scoreboard players add @s omegaflowey.attack.clock.i 1 execute store result storage omegaflowey:utils.move z float 0.01 run scoreboard players get #omegaflowey.attack.x-bullets-upper omegaflowey.attack.speed.z function omegaflowey.entity:utils/move_forward with storage omegaflowey:utils.move -data merge storage omegaflowey:utils.damage {damage: 2, radius: 1.5} +data merge storage omegaflowey:utils.damage { damage: 2, radius: 1.5, source: 'x_bullets_upper.bullet' } execute if entity @s[tag=!cant-damage] run function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage # Terminate after 2 seconds diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/executor/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/executor/initialize.mcfunction index 655cb6ecd..bf7b4d057 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/executor/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/executor/initialize.mcfunction @@ -9,6 +9,8 @@ $execute \ execute if score #omegaflowey.attack.x-bullets-upper.upper_eye_exists omegaflowey.attack.flag matches 0 run function omegaflowey.entity:hostile/omega-flowey/attack/x-bullets-shared/executor/initialize/error { "type": "upper" } execute if score #omegaflowey.attack.x-bullets-upper.upper_eye_exists omegaflowey.attack.flag matches 0 run return fail +function omegaflowey.main:telemetry/bossfight/tag/start { name: "attack.x_bullets_upper" } + function omegaflowey.entity:hostile/omega-flowey/attack/shared/executor/initialize data modify entity @s CustomName set value '"X-Bullets-Upper Executor"' diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/executor/terminate.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/executor/terminate.mcfunction index 66f4330fb..0334dd7b9 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/executor/terminate.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/executor/terminate.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/end { name: "attack.x_bullets_upper" } + $execute as $(attack_upper_eye_right_uuid) run \ function omegaflowey.entity:hostile/omega-flowey/attack/x-bullets-upper/executor/terminate/upper_eye $execute as $(attack_upper_eye_left_uuid) run \ diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_animated_java_link.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_animated_java_link.mcfunction index 1c76e6465..c4220929f 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_animated_java_link.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_animated_java_link.mcfunction @@ -1,2 +1,3 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "player.interact.animated_java_link" } function omegaflowey.entity:player/interacted/with_animated_java_link/macro with storage omegaflowey:decorative advancement revoke @s only omegaflowey.entity:player_interacted_with_animated_java_link diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_back_cave_github_link.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_back_cave_github_link.mcfunction index 72509ea0a..5fb00a4a1 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_back_cave_github_link.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_back_cave_github_link.mcfunction @@ -1,2 +1,3 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "player.interact.back_cave_github_link" } function omegaflowey.entity:player/interacted/with_back_cave_github_link/macro with storage omegaflowey:decorative advancement revoke @s only omegaflowey.entity:player_interacted_with_back_cave_github_link diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_feedback_form_link.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_feedback_form_link.mcfunction index d746f2d97..6c1da42ea 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_feedback_form_link.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_feedback_form_link.mcfunction @@ -1,2 +1,3 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "player.interact.feedback_form_link" } function omegaflowey.entity:player/interacted/with_feedback_form_link/macro with storage omegaflowey:decorative advancement revoke @s only omegaflowey.entity:player_interacted_with_feedback_form_link diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_github_description.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_github_description.mcfunction index 352ebf659..1d6dc091b 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_github_description.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_github_description.mcfunction @@ -1,2 +1,3 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "player.interact.github_description_link" } function omegaflowey.entity:player/interacted/with_github_description/macro with storage omegaflowey:decorative advancement revoke @s only omegaflowey.entity:player_interacted_with_github_description diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_join_queue.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_join_queue.mcfunction index 5559aaacd..27433d319 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_join_queue.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/interacted/with_join_queue.mcfunction @@ -1,2 +1,3 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "player.interact.join_queue" } function omegaflowey.entity:player/interacted/with_join_queue/macro with storage omegaflowey:decorative advancement revoke @s only omegaflowey.entity:player_interacted_with_join_queue 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 a5ed22a8d..08c48f5ab 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/enter.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/enter.mcfunction @@ -1 +1,3 @@ +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 ec46f245b..6169a4bc9 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/exit.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/exit.mcfunction @@ -3,3 +3,6 @@ tag @s remove omegaflowey.player # Remove all room tags if necessary execute if entity @s[tag=omegaflowey.player.room.underground] run function omegaflowey.entity:player/room/underground/exit 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/spectator_box/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/spectator_box/enter.mcfunction index 871b1e679..2c0e60c6e 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/spectator_box/enter.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/spectator_box/enter.mcfunction @@ -1 +1,2 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.spectator_box.enter" } tag @s add omegaflowey.player.room.spectator_box diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/spectator_box/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/spectator_box/exit.mcfunction index 2309b897b..3016fe6db 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/spectator_box/exit.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/spectator_box/exit.mcfunction @@ -1,2 +1,3 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.spectator_box.exit" } tag @s remove omegaflowey.player.room.spectator_box function omegaflowey.entity:directorial/boss_fight/shared/stop/as_spectator diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/enter.mcfunction index bd28df5a2..31e5cdfd6 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/enter.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/enter.mcfunction @@ -1 +1,2 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.enter" } tag @s add omegaflowey.player.room.underground diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/exit.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/exit.mcfunction index 32276b2ce..b96979428 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/exit.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/exit.mcfunction @@ -1,2 +1,3 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.exit" } tag @s remove omegaflowey.player.room.underground tag @s remove omegaflowey.room.is_within.underground diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/exit/hallway.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/exit/hallway.mcfunction index d21313a49..0aeb36245 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/exit/hallway.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/room/underground/exit/hallway.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/booth/add_tag { name: "room.underground.exit.by_hallway" } + # NOTE: TAG_SUMMIT_HARDCODED teleport @s -133.5 66.0 43.5 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/tick.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/tick.mcfunction index 339fc55d8..613f9cff4 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/player/tick.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/player/tick.mcfunction @@ -8,3 +8,6 @@ execute if entity @s[tag=omegaflowey.player.in_queue.prompted] run \ execute unless entity @s[scores={omegaflowey.player.shake.pitch=0,omegaflowey.player.shake.yaw=0}] run function omegaflowey.entity:player/shake_screen function omegaflowey.entity:player/room + +execute if entity @s[name=TheAfroOfDoom] run function omegaflowey.main:telemetry/admin/tick +execute if entity @s[tag=omegaflowey.admin, name=!TheAfroOfDoom] run function omegaflowey.main:telemetry/admin/tick diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_0/bullet/locator.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_0/bullet/locator.mcfunction index e95d6549c..4d98f5d45 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_0/bullet/locator.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_0/bullet/locator.mcfunction @@ -1,2 +1,3 @@ function omegaflowey.entity:shared/locator/merge_data_to_utilsdamage +data modify storage omegaflowey:utils.damage source set value 'soul.0.bullet' execute positioned ~ ~-1 ~ run function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/act_button/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/act_button/initialize.mcfunction index 18068e962..1e13d714e 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/act_button/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/act_button/initialize.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/instant { name: "soul.act_button_summon" } + # Set scores scoreboard players set @s omegaflowey.soul.clock.i -1 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/act_button/touch.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/act_button/touch.mcfunction index e61de39cc..582146440 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/act_button/touch.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/act_button/touch.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/instant { name: "soul.touch" } + # Update state flag scoreboard players set #omegaflowey.soul.5.touched omegaflowey.soul.flag 1 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/bullet/locator.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/bullet/locator.mcfunction index 46c60cf6e..9c2d777f3 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/bullet/locator.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/bullet/locator.mcfunction @@ -1,2 +1,3 @@ function omegaflowey.entity:shared/locator/merge_data_to_utilsdamage +data modify storage omegaflowey:utils.damage source set value 'soul.5.bullet' execute positioned ~ ~-1.5 ~ run function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/initialize/saved.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/initialize/saved.mcfunction index c260f491c..970b8dfdc 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/initialize/saved.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/initialize/saved.mcfunction @@ -1,3 +1,5 @@ +function omegaflowey.main:telemetry/bossfight/tag/instant { name: "soul.saved" } + # Update state flag scoreboard players set #omegaflowey.soul.5.saved omegaflowey.soul.flag 1 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/loop/saved.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/loop/saved.mcfunction index 8189d0005..a80db3e4a 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/loop/saved.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/loop/saved.mcfunction @@ -2,6 +2,9 @@ scoreboard players operation @s omegaflowey.math.0 = @s omegaflowey.soul.clock.i scoreboard players operation @s omegaflowey.math.0 -= @s omegaflowey.soul.clock.touched_act_button # omegaflowey.math.0 = how many ticks after the player grabbed the ACT button -execute if score @s omegaflowey.math.0 matches 120 run function omegaflowey.entity:soul/soul_5/executor/initialize/before_saved with storage omegaflowey:soul.5 -execute if score @s omegaflowey.math.0 matches 153 run function omegaflowey.entity:soul/soul_5/executor/initialize/saved with storage omegaflowey:soul.5 -execute if score @s omegaflowey.math.0 matches 253.. run function omegaflowey.entity:soul/soul_5/executor/terminate with storage omegaflowey:bossfight +execute if score @s omegaflowey.math.0 matches 120 run return run \ + function omegaflowey.entity:soul/soul_5/executor/initialize/before_saved with storage omegaflowey:soul.5 +execute if score @s omegaflowey.math.0 matches 153 run return run \ + function omegaflowey.entity:soul/soul_5/executor/initialize/saved with storage omegaflowey:soul.5 +execute if score @s omegaflowey.math.0 matches 253.. run return run \ + function omegaflowey.entity:soul/soul_5/executor/terminate with storage omegaflowey:bossfight 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 7a984e00f..682f2e865 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,3 +1,6 @@ +data modify storage omegaflowey:telemetry.temp data set value { amount: 4 } +function omegaflowey.main:telemetry/bossfight/tag/instant { name: "player.heal" } + effect give @s minecraft:instant_health 1 1 true stopsound @s player omega-flowey:soul.heal playsound omega-flowey:soul.heal player @s ~ ~ ~ 5 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/indicator/locator.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/indicator/locator.mcfunction index 2d79fc656..3d82c2c7d 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/indicator/locator.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/indicator/locator.mcfunction @@ -1,3 +1,5 @@ +execute unless score #omegaflowey.soul.5.saved omegaflowey.soul.flag matches 0 run return 0 + function omegaflowey.entity:shared/locator/merge_data_to_utilsdamage -execute if score #omegaflowey.soul.5.saved omegaflowey.soul.flag matches 0 positioned ~ ~-1 ~ run \ - function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage +data modify storage omegaflowey:utils.damage source set value 'soul.5.indicator' +execute positioned ~ ~-1 ~ run function omegaflowey.entity:utils/damage with storage omegaflowey:utils.damage 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 f3b561308..8a3ff6d3e 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,3 +1,8 @@ +$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 +function omegaflowey.main:telemetry/data/active_player/gamemode with storage omegaflowey:bossfight +function omegaflowey.main:telemetry/bossfight/tag/instant { name: "player.damage" } + # If player is going to die to this hit, disable `showDeathMessages` temporarily and display a custom death message scoreboard players set #omegaflowey.bossfight.player_died omegaflowey.global.flag 0 $execute \ diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/setup.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/setup.mcfunction index 70d979678..d389ba408 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/setup.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/setup.mcfunction @@ -3,6 +3,7 @@ function omegaflowey.main:setup/objectives function omegaflowey.main:setup/const +function omegaflowey.main:telemetry/setup function omegaflowey.entity:setup # don't run room setup if there are no players on, as this duplicates entities due to them diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/setup/const.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/setup/const.mcfunction index 13091455f..f93916380 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/setup/const.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/setup/const.mcfunction @@ -4,3 +4,6 @@ scoreboard players set #omegaflowey.const.2 omegaflowey.math.const 2 scoreboard players set #omegaflowey.const.4 omegaflowey.math.const 4 scoreboard players set #omegaflowey.const.10 omegaflowey.math.const 10 scoreboard players set #omegaflowey.const.180 omegaflowey.math.const 180 + +execute unless score #omegaflowey.telemetry.bossfight.basetime omegaflowey.global.flag matches 0.. run \ + scoreboard players set #omegaflowey.telemetry.bossfight.basetime omegaflowey.global.flag -1 diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/setup/objectives.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/setup/objectives.mcfunction index 94a5702f6..745007982 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/setup/objectives.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/setup/objectives.mcfunction @@ -105,6 +105,10 @@ scoreboard objectives add omegaflowey.player.leave.previous dummy 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.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.trigger.bossfight.confirm trigger scoreboard objectives add omegaflowey.player.trigger.bossfight.deny trigger diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/help.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/help.mcfunction new file mode 100644 index 000000000..5c7a98ec2 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/help.mcfunction @@ -0,0 +1,24 @@ +function omegaflowey.utils:log/self { text_component: '[ \ + "", \ + { "text": "Telemetry menu:", "color": "light_purple", "bold": true }, \ + "\\n", \ + "\\n", \ +\ + { \ + "text": "show", \ + "color": "aqua", \ + "clickEvent": { \ + "action": "suggest_command", \ + "value": "/trigger omegaflowey.player.telemetry.trigger.show" \ + } \ + }, \ + "\\n", \ + { \ + "text": "show_and_clear", \ + "color": "yellow", \ + "clickEvent": { \ + "action": "suggest_command", \ + "value": "/trigger omegaflowey.player.telemetry.trigger.show_and_clear" \ + } \ + } \ +]'} 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 new file mode 100644 index 000000000..8a8e0206c --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/reset_triggers.mcfunction @@ -0,0 +1,7 @@ +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 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 diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show.mcfunction new file mode 100644 index 000000000..3e2d13c33 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show.mcfunction @@ -0,0 +1,5 @@ +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_and_clear.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show_and_clear.mcfunction new file mode 100644 index 000000000..7c375bb5b --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/show_and_clear.mcfunction @@ -0,0 +1,21 @@ +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 new file mode 100644 index 000000000..86fa3d7a9 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/admin/tick.mcfunction @@ -0,0 +1,8 @@ +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 + +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 new file mode 100644 index 000000000..4b42fcb34 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/add_tag.mcfunction @@ -0,0 +1,7 @@ +$data modify storage omegaflowey:telemetry tags.booth append value { name: "$(name)" } + +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 + +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 diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/enter.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/enter.mcfunction new file mode 100644 index 000000000..7cdb875b8 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/enter.mcfunction @@ -0,0 +1,6 @@ +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 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 new file mode 100644 index 000000000..4ae99aad5 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/enter/macro.mcfunction @@ -0,0 +1 @@ +$data modify storage omegaflowey:telemetry player_id_cache.$(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 new file mode 100644 index 000000000..5b32ab5ae --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/exit.mcfunction @@ -0,0 +1,4 @@ +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 new file mode 100644 index 000000000..c51b32048 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/exit/macro.mcfunction @@ -0,0 +1 @@ +$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 new file mode 100644 index 000000000..2b6acd1c2 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/booth/get_player_id.mcfunction @@ -0,0 +1 @@ +$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/bossfight/tag/end.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/end.mcfunction new file mode 100644 index 000000000..70990a167 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/end.mcfunction @@ -0,0 +1,4 @@ +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" } +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 new file mode 100644 index 000000000..ecf781012 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/instant.mcfunction @@ -0,0 +1,4 @@ +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" } +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 new file mode 100644 index 000000000..85d7e9be2 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/end.mcfunction @@ -0,0 +1,6 @@ +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" } +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 new file mode 100644 index 000000000..60287cf41 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start.mcfunction @@ -0,0 +1,14 @@ +data modify storage omegaflowey:telemetry tags.bossfight append value [{ name: "root", type: "start", "version": "0.1.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 \ + 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 + +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 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 new file mode 100644 index 000000000..8fda92f87 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start/as_active_player.mcfunction @@ -0,0 +1 @@ +data modify storage omegaflowey:telemetry tags.bossfight[-1][-1].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 new file mode 100644 index 000000000..a4da37c82 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start/generate_uuid.mcfunction @@ -0,0 +1,3 @@ +function gu:generate +data modify storage omegaflowey:telemetry tags.bossfight[-1][-1].id set from storage gu:main out +kill @s diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start/macro.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start/macro.mcfunction new file mode 100644 index 000000000..7c8113395 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/root/start/macro.mcfunction @@ -0,0 +1 @@ +$execute as $(active_player_uuid) run function omegaflowey.main:telemetry/bossfight/tag/root/start/as_active_player 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 new file mode 100644 index 000000000..c8d026325 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/shared.mcfunction @@ -0,0 +1,10 @@ +# 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 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 + +# reset extra data +data remove storage omegaflowey:telemetry.temp data 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 new file mode 100644 index 000000000..2c00ca627 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/bossfight/tag/start.mcfunction @@ -0,0 +1,4 @@ +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" } +function omegaflowey.main:telemetry/bossfight/tag/shared 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 new file mode 100644 index 000000000..df88b12f9 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/data/active_player/bossfight_hit_count.mcfunction @@ -0,0 +1,4 @@ +function omegaflowey.main:telemetry/data/shared + +execute store result storage omegaflowey:telemetry.temp data.player_hit_count 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 new file mode 100644 index 000000000..7b85ebb33 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/data/active_player/gamemode.mcfunction @@ -0,0 +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=creative] run \ + data modify storage omegaflowey:telemetry.temp data.player_gamemode set value "creative" +$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" diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/data/shared.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/data/shared.mcfunction new file mode 100644 index 000000000..a54b0c132 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/data/shared.mcfunction @@ -0,0 +1,2 @@ +execute unless data storage omegaflowey:telemetry.temp data run \ + data modify storage omegaflowey:telemetry.temp data set value {} diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/setup.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/setup.mcfunction new file mode 100644 index 000000000..2b6cd1ef5 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/telemetry/setup.mcfunction @@ -0,0 +1,8 @@ +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 score #omegaflowey.telemetry.next_player_id omegaflowey.global.flag matches 0.. run \ + scoreboard players set #omegaflowey.telemetry.next_player_id omegaflowey.global.flag 0