diff --git a/datapacks/omegaflowey/data/_/function/test/attacks.mcfunction b/datapacks/omegaflowey/data/_/function/test/attacks.mcfunction index bc9b1c652..d18479201 100644 --- a/datapacks/omegaflowey/data/_/function/test/attacks.mcfunction +++ b/datapacks/omegaflowey/data/_/function/test/attacks.mcfunction @@ -1,6 +1,9 @@ function _:boss_fight/tag function _:summon +function gu:generate +data modify storage omegaflowey:bossfight active_player_uuid set from storage gu:main out + data merge storage omegaflowey:dev.attack_test_suite { attacks: [ \ { name: "bomb" }, \ { name: "dentata-snakes" }, \ diff --git a/datapacks/omegaflowey/data/_/function/test/attacks/scheduled/macro.mcfunction b/datapacks/omegaflowey/data/_/function/test/attacks/scheduled/macro.mcfunction index 599e2e52a..9411824c8 100644 --- a/datapacks/omegaflowey/data/_/function/test/attacks/scheduled/macro.mcfunction +++ b/datapacks/omegaflowey/data/_/function/test/attacks/scheduled/macro.mcfunction @@ -1 +1,4 @@ +$function omegaflowey.utils:log { text_component: \ + '[ { "text": "Running: attack/$(name)" } ]' \ +} $execute at @p[tag=omegaflowey.player.fighting_flowey] run function _:attack/$(name) diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/shared/phase/soul/static/as_root.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/shared/phase/soul/static/as_root.mcfunction index 7d9dc140e..3a7bc1454 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/shared/phase/soul/static/as_root.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/shared/phase/soul/static/as_root.mcfunction @@ -1,4 +1,6 @@ # Play static sound -playsound omega-flowey:boss-fight.static ambient @a ~ ~ ~ 10 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'playsound omega-flowey:boss-fight.static ambient @s ~ ~ ~ 10' \ +} function animated_java:omegaflowey_tv_screen/variants/static/apply 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 bc9174b17..d6ba39d65 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 @@ -5,10 +5,10 @@ execute as @e[ \ tag=omega-flowey-remastered \ ] run function omegaflowey.entity:directorial/boss_fight/shared/stop/as_root -# TAG_SUMMIT_HARDCODED_GLOBAL_VOLUME -execute as @a[x=-186, dx=91, y=12, dy=93, z=12, dz=95, tag=omegaflowey.player.room.spectator_box] run \ - function omegaflowey.entity:directorial/boss_fight/shared/stop/as_spectator - +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'execute unless entity @s[tag=omegaflowey.player.fighting_flowey] run \ + function omegaflowey.entity:directorial/boss_fight/shared/stop/as_spectator' \ +} $execute as $(active_player_uuid) run function omegaflowey.entity:directorial/boss_fight/shared/stop/as_active_player data modify storage omegaflowey:bossfight active_player_uuid set value "0" diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/initialize/0.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/initialize/0.mcfunction index dc7b9b803..1ccb3edf8 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/initialize/0.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/initialize/0.mcfunction @@ -3,7 +3,9 @@ scoreboard players set @s omegaflowey.boss-fight.attack.clock.total 463 # Play music -playsound omega-flowey:music.phase.0 record @a ~ ~ ~ 10 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'playsound omega-flowey:music.phase.0 record @s ~ ~ ~ 10 1' \ +} ## Add tags # Use logic to decrease chance of repeating attacks during `attack/random` diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/initialize/1.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/initialize/1.mcfunction index da5d46acb..4b72a2956 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/initialize/1.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/attack/initialize/1.mcfunction @@ -3,7 +3,9 @@ scoreboard players set @s omegaflowey.boss-fight.attack.clock.total 414 # Play music -playsound omega-flowey:music.phase.1 record @a ~ ~ ~ 10 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'playsound omega-flowey:music.phase.1 record @s ~ ~ ~ 10 1' \ +} ## Add tags # Use logic to decrease chance of repeating attacks during `attack/random` diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/warn/initialize/after_delay.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/warn/initialize/after_delay.mcfunction index f2f9a2b6b..bbd4d1bc5 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/warn/initialize/after_delay.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/directorial/boss_fight/summit/phase/warn/initialize/after_delay.mcfunction @@ -1,5 +1,7 @@ # Play WARNING sound -$execute at $(bossfight_tvscreen_uuid) run playsound omega-flowey:boss-fight.alarm ambient @a ~ ~ ~ 10 1 +$execute at $(bossfight_tvscreen_uuid) run function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'playsound omega-flowey:boss-fight.alarm ambient @s ~ ~ ~ 10 1' \ +} # Set tv screen to WARNING variant $execute as $(bossfight_tvscreen_uuid) run function omegaflowey.entity:hostile/omega-flowey/animate/warning/tv_screen diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/start_falling.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/start_falling.mcfunction index 36c288e95..208a0d710 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/start_falling.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/start_falling.mcfunction @@ -1,2 +1,3 @@ -stopsound @a hostile omega-flowey:attack.bomb.fall -playsound omega-flowey:attack.bomb.fall hostile @a ~ ~ ~ 5 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'function omegaflowey.entity:hostile/omega-flowey/attack/bomb/bullet/loop/start_falling/as_player' \ +} diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/start_falling/as_player.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/start_falling/as_player.mcfunction new file mode 100644 index 000000000..39def1d8b --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/start_falling/as_player.mcfunction @@ -0,0 +1,2 @@ +stopsound @s hostile omega-flowey:attack.bomb.fall +playsound omega-flowey:attack.bomb.fall hostile @s ~ ~ ~ 5 1 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/stop_falling.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/stop_falling.mcfunction index 286a9b040..ff98ffe74 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/stop_falling.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/stop_falling.mcfunction @@ -5,8 +5,9 @@ function omegaflowey.entity:directorial/boss_fight/summit/origin/at/y { \ # Play animation if we just stopped falling execute unless entity @s[tag=is_done_falling] run function animated_java:omegaflowey_bomb/animations/omegaflowey_explode/play -execute unless entity @s[tag=is_done_falling] run stopsound @a hostile omega-flowey:attack.bomb.explode -execute unless entity @s[tag=is_done_falling] run playsound omega-flowey:attack.bomb.explode hostile @a ~ ~ ~ 5 1 +execute unless entity @s[tag=is_done_falling] run function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'function omegaflowey.entity:hostile/omega-flowey/attack/bomb/bullet/loop/stop_falling/as_player_once' \ +} # Add tags tag @s add is_done_falling diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/stop_falling/as_player_once.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/stop_falling/as_player_once.mcfunction new file mode 100644 index 000000000..9b7ad1701 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/bomb/bullet/loop/stop_falling/as_player_once.mcfunction @@ -0,0 +1,2 @@ +stopsound @s hostile omega-flowey:attack.bomb.explode +playsound omega-flowey:attack.bomb.explode hostile @s ~ ~ ~ 5 1 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/initialize/head.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/initialize/head.mcfunction index 55a97750b..93bdb352b 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/initialize/head.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/initialize/head.mcfunction @@ -1,6 +1,6 @@ -# Play summon sounds -playsound omega-flowey:attack.dentata-snakes.spawn hostile @a ~ ~ ~ 5 1 -playsound omega-flowey:attack.dentata-snakes.summon hostile @a ~ ~ ~ 5 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'function omegaflowey.entity:hostile/omega-flowey/attack/dentata-snakes/bullet/initialize/head/as_player' \ +} # Add tags tag @s add attack-bullet-head diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/initialize/head/as_player.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/initialize/head/as_player.mcfunction new file mode 100644 index 000000000..6e363adff --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/initialize/head/as_player.mcfunction @@ -0,0 +1,3 @@ +# Play summon sounds +playsound omega-flowey:attack.dentata-snakes.spawn hostile @s ~ ~ ~ 5 1 +playsound omega-flowey:attack.dentata-snakes.summon hostile @s ~ ~ ~ 5 1 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/loop/after_bounce_as_bullet_head.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/loop/after_bounce_as_bullet_head.mcfunction index aed3d8b69..1fb8aa46f 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/loop/after_bounce_as_bullet_head.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/dentata-snakes/bullet/loop/after_bounce_as_bullet_head.mcfunction @@ -1,4 +1,6 @@ # If we bounced, play bounce sound # Only the bullet-head makes bounce sounds/shakes the player's screen (see `maybe_bounce.mcfunction`) -playsound omega-flowey:attack.dentata-snakes.bounce hostile @a ~ ~ ~ 5 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'playsound omega-flowey:attack.dentata-snakes.bounce hostile @s ~ ~ ~ 5 1' \ +} # execute as @a unless entity @s[tag=!omegaflowey.player.fighting_flowey,team=!dead,tag=!omegaflowey.player.room.spectator_box] at @s run function omegaflowey.entity:utils/shake_screen diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/bullet/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/bullet/initialize.mcfunction index 53576f985..7d974a048 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/bullet/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/bullet/initialize.mcfunction @@ -6,8 +6,9 @@ data merge entity @s {CustomName:"\"Finger-Guns Bullet\""} scoreboard players operation @s omegaflowey.attack.speed.z = #omegaflowey.attack.finger-guns omegaflowey.attack.speed.z # Play bullet shoot sound -stopsound @a hostile omega-flowey:attack.finger-guns.shoot -playsound omega-flowey:attack.finger-guns.shoot hostile @a ~ ~ ~ 5 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'function omegaflowey.entity:hostile/omega-flowey/attack/finger-guns/bullet/initialize/as_player' \ +} # Add tags tag @s add finger-guns diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/bullet/initialize/as_player.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/bullet/initialize/as_player.mcfunction new file mode 100644 index 000000000..ce78daf20 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/bullet/initialize/as_player.mcfunction @@ -0,0 +1,2 @@ +stopsound @s hostile omega-flowey:attack.finger-guns.shoot +playsound omega-flowey:attack.finger-guns.shoot hostile @s ~ ~ ~ 5 1 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/indicator/loop/laser/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/indicator/loop/laser/initialize.mcfunction index 012fcd43e..797daf218 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/indicator/loop/laser/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/finger-guns/indicator/loop/laser/initialize.mcfunction @@ -3,7 +3,9 @@ function omegaflowey.entity:hostile/omega-flowey/attack/shared/initialize data modify entity @s CustomName set value '"Finger-Guns Laser"' # Play laser sound (blink) once -playsound omega-flowey:attack.finger-guns.laser hostile @a ~ ~ ~ 5 1 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'playsound omega-flowey:attack.finger-guns.laser hostile @s ~ ~ ~ 5 1 1' \ +} # Add tags tag @s add finger-guns diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/loop.mcfunction index 31c7aa2a6..b4a258fbe 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/loop.mcfunction @@ -8,7 +8,9 @@ execute if score @s omegaflowey.attack.clock.i matches ..-1 run return 0 # Summon an indicator at a random player every `omegaflowey.attack.executor.rate` ticks scoreboard players operation @s omegaflowey.math.0 = @s omegaflowey.attack.clock.i scoreboard players operation @s omegaflowey.math.0 %= @s omegaflowey.attack.executor.rate -execute if score @s omegaflowey.math.0 matches 0 run function omegaflowey.entity:hostile/omega-flowey/attack/friendliness-pellets/executor/loop/summon_indicator +execute if score @s omegaflowey.math.0 matches 0 run \ + function omegaflowey.entity:hostile/omega-flowey/attack/friendliness-pellets/executor/loop/summon_indicator \ + with storage omegaflowey:bossfight # Terminate execute if score @s omegaflowey.attack.clock.i = @s omegaflowey.attack.executor.clock.length run \ diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/loop/summon_indicator.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/loop/summon_indicator.mcfunction index 7e705dcd9..7a5cfa8a5 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/loop/summon_indicator.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/executor/loop/summon_indicator.mcfunction @@ -5,7 +5,7 @@ execute if score @s omegaflowey.attack.clock.i matches 0 run scoreboard players add #omegaflowey.attack.friendliness-pellets omegaflowey.attack.indicator.clock.delay 6 # Summon indicator -execute at @r[tag=omegaflowey.player.fighting_flowey] run function omegaflowey.entity:directorial/boss_fight/summit/origin/at/y { \ +$execute at $(active_player_uuid) run function omegaflowey.entity:directorial/boss_fight/summit/origin/at/y { \ command: "execute positioned ~ ~-4.0 ~ run function omegaflowey.entity:hostile/omega-flowey/attack/friendliness-pellets/indicator/summon" \ } diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/indicator/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/indicator/loop.mcfunction index c405dbe38..9fe7dcd04 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/indicator/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/indicator/loop.mcfunction @@ -8,7 +8,10 @@ execute if score @s omegaflowey.attack.clock.i = @s omegaflowey.attack.indicator function omegaflowey.entity:hostile/omega-flowey/attack/friendliness-pellets/indicator/loop/finished_blinking with entity @s data # Play blinking sound before we summon bullets -execute if score @s omegaflowey.attack.clock.i matches ..-1 run playsound omega-flowey:attack.friendliness-pellets.blinking hostile @a ~ ~ ~ 3 1 1 +execute if score @s omegaflowey.attack.clock.i matches ..-1 run \ + function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'playsound omega-flowey:attack.friendliness-pellets.blinking hostile @s ~ ~ ~ 3 1 1' \ + } # Ignore bullet summoning logic while `omegaflowey.attack.clock.i` is negative execute if score @s omegaflowey.attack.clock.i matches ..-1 run return 0 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/indicator/terminate.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/indicator/terminate.mcfunction index 4c5b1df5c..54231734f 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/indicator/terminate.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/friendliness-pellets/indicator/terminate.mcfunction @@ -11,6 +11,8 @@ $tag $(corresponding_bullet_8_uuid) remove stationary $tag $(corresponding_bullet_9_uuid) remove stationary # Play activate sound -playsound omega-flowey:attack.friendliness-pellets.activate hostile @a ~ ~ ~ 3 1 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'playsound omega-flowey:attack.friendliness-pellets.activate hostile @s ~ ~ ~ 3 1 1' \ +} kill @s diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/bullet/initialize.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/bullet/initialize.mcfunction index 4fb4b05cb..ac4f717c3 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/bullet/initialize.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/bullet/initialize.mcfunction @@ -7,8 +7,9 @@ scoreboard players operation @s omegaflowey.attack.speed.z = #omegaflowey.attack # Play bullet summon sound # This also stops any already-playing summon sounds to accurately match what Undertale's homing-vines attack sounds like -stopsound @a hostile omega-flowey:attack.homing-vines.summon -playsound omega-flowey:attack.homing-vines.summon hostile @a ~ ~ ~ 5 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'function omegaflowey.entity:hostile/omega-flowey/attack/homing-vines/bullet/initialize/as_player' \ +} # Add tags tag @s add homing-vines diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/bullet/initialize/as_player.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/bullet/initialize/as_player.mcfunction new file mode 100644 index 000000000..4c432087b --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/bullet/initialize/as_player.mcfunction @@ -0,0 +1,2 @@ +stopsound @s hostile omega-flowey:attack.homing-vines.summon +playsound omega-flowey:attack.homing-vines.summon hostile @s ~ ~ ~ 5 1 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/loop.mcfunction index b2147c89b..5c25e84ea 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/loop.mcfunction @@ -8,7 +8,9 @@ execute if score @s omegaflowey.attack.clock.i matches ..-1 run return 0 # Summon an indicator at a random player every `omegaflowey.attack.executor.rate` ticks scoreboard players operation @s omegaflowey.math.0 = @s omegaflowey.attack.clock.i scoreboard players operation @s omegaflowey.math.0 %= @s omegaflowey.attack.executor.rate -execute if score @s omegaflowey.math.0 matches 0 run function omegaflowey.entity:hostile/omega-flowey/attack/homing-vines/executor/loop/summon_indicator +execute if score @s omegaflowey.math.0 matches 0 run \ + function omegaflowey.entity:hostile/omega-flowey/attack/homing-vines/executor/loop/summon_indicator \ + with storage omegaflowey:bossfight # Terminate execute if score @s omegaflowey.attack.clock.i = @s omegaflowey.attack.executor.clock.length run \ diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/loop/summon_indicator.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/loop/summon_indicator.mcfunction index 009d76edd..c5dd8a5c7 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/loop/summon_indicator.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/executor/loop/summon_indicator.mcfunction @@ -1,2 +1,2 @@ # Summon and initialize indicator -execute at @r[tag=omegaflowey.player.fighting_flowey] summon minecraft:marker run function omegaflowey.entity:hostile/omega-flowey/attack/homing-vines/indicator/initialize +$execute at $(active_player_uuid) summon minecraft:marker run function omegaflowey.entity:hostile/omega-flowey/attack/homing-vines/indicator/initialize diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/indicator/loop/visualize_blinking_lane.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/indicator/loop/visualize_blinking_lane.mcfunction index 7b7852d6f..f15679c88 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/indicator/loop/visualize_blinking_lane.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/homing-vines/indicator/loop/visualize_blinking_lane.mcfunction @@ -2,4 +2,6 @@ $execute as $(blinking_lane_uuid) on passengers if entity @s[tag=aj.omegaflowey_homing_vine_blinking_lane.bone.root] run data modify entity @s view_range set value 1 # Play blinking sound once -playsound omega-flowey:attack.homing-vines.blinking hostile @a ~ ~ ~ 3 1 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'playsound omega-flowey:attack.homing-vines.blinking hostile @s ~ ~ ~ 3 1 1' \ +} diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/executor/initialize/effects.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/executor/initialize/effects.mcfunction index 0927f7fdf..6f84296f0 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/executor/initialize/effects.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-lower/executor/initialize/effects.mcfunction @@ -4,4 +4,6 @@ # TODO(36): maybe `particle minecraft:flash`? particle minecraft:explosion ~ ~ ~ 0 0 0 10 1 force -playsound omega-flowey:attack.x-bullets.start hostile @a ~ ~ ~ 3 1 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'playsound omega-flowey:attack.x-bullets.start hostile @s ~ ~ ~ 3 1 1' \ +} diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/executor/initialize/effects.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/executor/initialize/effects.mcfunction index 0927f7fdf..6f84296f0 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/executor/initialize/effects.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/hostile/omega-flowey/attack/x-bullets-upper/executor/initialize/effects.mcfunction @@ -4,4 +4,6 @@ # TODO(36): maybe `particle minecraft:flash`? particle minecraft:explosion ~ ~ ~ 0 0 0 10 1 force -playsound omega-flowey:attack.x-bullets.start hostile @a ~ ~ ~ 3 1 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'playsound omega-flowey:attack.x-bullets.start hostile @s ~ ~ ~ 3 1 1' \ +} 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 84939768f..2309b897b 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 +1,2 @@ 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/shared/run_as_active_player_or_spectator.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/shared/run_as_active_player_or_spectator.mcfunction new file mode 100644 index 000000000..a5184b70a --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/shared/run_as_active_player_or_spectator.mcfunction @@ -0,0 +1,5 @@ +# NOTE: TAG_SUMMIT_HARDCODED_GLOBAL_VOLUME +$execute \ + as @a[x=-186, dx=91, y=12, dy=93, z=12, dz=95] \ + unless entity @s[tag=!omegaflowey.player.fighting_flowey, tag=!omegaflowey.player.room.spectator_box] \ + run $(command) 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 430755e00..7ce321f42 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,12 +1,9 @@ # Update state flag scoreboard players set #omegaflowey.soul.5.saved omegaflowey.soul.flag 1 -# Stop event music -stopsound @a record omega-flowey:music.soul.5 - -# Play saved music + sound effect -playsound omega-flowey:soul.saved record @a ~ ~ ~ 10 1 -playsound omega-flowey:soul.transition record @a ~ ~ ~ 10 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'function omegaflowey.entity:soul/soul_5/executor/initialize/saved/as_player' \ +} # Flash each player's screen $execute as $(active_player_uuid) at @s anchored eyes run particle minecraft:flash ^ ^ ^0.5 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/initialize/saved/as_player.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/initialize/saved/as_player.mcfunction new file mode 100644 index 000000000..b2e6040c2 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/initialize/saved/as_player.mcfunction @@ -0,0 +1,6 @@ +# Stop event music +stopsound @s record omega-flowey:music.soul.5 + +# Play saved music + sound effect +playsound omega-flowey:soul.saved record @s ~ ~ ~ 10 1 +playsound omega-flowey:soul.transition record @s ~ ~ ~ 10 1 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/loop.mcfunction index 144d5ac3d..b885cfe70 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/loop.mcfunction @@ -1,5 +1,5 @@ # Loop logic for players -execute as @a[tag=omegaflowey.player.fighting_flowey] run function omegaflowey.entity:soul/soul_5/executor/loop/as_player +$execute as $(active_player_uuid) run function omegaflowey.entity:soul/soul_5/executor/loop/as_player scoreboard players add @s omegaflowey.soul.clock.i 1 diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/play_music.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/play_music.mcfunction index 845df8316..dcbf684e1 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/play_music.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/play_music.mcfunction @@ -1 +1,3 @@ -playsound omega-flowey:music.soul.5 record @a ~ ~ ~ 10 1 +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'playsound omega-flowey:music.soul.5 record @s ~ ~ ~ 10 1' \ +} diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/terminate.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/terminate.mcfunction index d5287e5f7..082f2608a 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/terminate.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/terminate.mcfunction @@ -7,8 +7,9 @@ execute as @e[ \ tag=omega-flowey-remastered \ ] run function omegaflowey.entity:soul/soul_5/executor/terminate/as_root -stopsound @a record omega-flowey:music.soul.5 -stopsound @a record omega-flowey:soul.saved -effect clear @a[tag=omegaflowey.player.fighting_flowey] minecraft:resistance +function omegaflowey.entity:shared/run_as_active_player_or_spectator { command: \ + 'function omegaflowey.entity:soul/soul_5/executor/terminate/as_player' \ +} +$effect clear $(active_player_uuid) minecraft:resistance kill @s diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/terminate/as_player.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/terminate/as_player.mcfunction new file mode 100644 index 000000000..a594c0172 --- /dev/null +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/executor/terminate/as_player.mcfunction @@ -0,0 +1,2 @@ +stopsound @s record omega-flowey:music.soul.5 +stopsound @s record omega-flowey:soul.saved diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/healer/heal.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/healer/heal.mcfunction index 98e1c0f71..43fa1c14a 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/healer/heal.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/healer/heal.mcfunction @@ -1,2 +1,2 @@ -execute as @p[tag=omegaflowey.player.fighting_flowey] at @s run function omegaflowey.entity:soul/soul_5/healer/heal/as_player +$execute as $(active_player_uuid) at @s run function omegaflowey.entity:soul/soul_5/healer/heal/as_player function omegaflowey.entity:soul/soul_5/healer/terminate diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/healer/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/healer/loop.mcfunction index c0ec1107e..3076454cb 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/healer/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/healer/loop.mcfunction @@ -1,7 +1,8 @@ # Check if any of this bandaid's locator's hitboxes intersect with a player scoreboard players set #omegaflowey.soul.5.flower_touched_player omegaflowey.soul.flag 0 function animated_java:omegaflowey_soul_5_flower/as_own_locator_entities { command: 'function omegaflowey.entity:soul/soul_5/healer/loop/as_locator with entity @s data' } -execute if score #omegaflowey.soul.5.flower_touched_player omegaflowey.soul.flag matches 1 run function omegaflowey.entity:soul/soul_5/healer/heal +execute if score #omegaflowey.soul.5.flower_touched_player omegaflowey.soul.flag matches 1 run \ + function omegaflowey.entity:soul/soul_5/healer/heal with storage omegaflowey:bossfight execute if score #omegaflowey.soul.5.flower_touched_player omegaflowey.soul.flag matches 1 run return 0 # Move forward diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/indicator/loop.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/indicator/loop.mcfunction index c5cb53438..f3f7ca17e 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/indicator/loop.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/indicator/loop.mcfunction @@ -6,7 +6,7 @@ execute if score @s omegaflowey.soul.clock.i matches ..-1 run return 0 # state-loop is: idle -> aiming -> shooting -> aiming -> shooting -> aiming -> ... execute if entity @s[tag=soul_5.idle] run function omegaflowey.entity:soul/soul_5/indicator/loop/idle -execute if entity @s[tag=soul_5.aiming] run function omegaflowey.entity:soul/soul_5/indicator/loop/aiming +execute if entity @s[tag=soul_5.aiming] run function omegaflowey.entity:soul/soul_5/indicator/loop/aiming with storage omegaflowey:bossfight execute if entity @s[tag=soul_5.shooting] run function omegaflowey.entity:soul/soul_5/indicator/loop/shooting # Shaking animation diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/indicator/loop/aiming.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/indicator/loop/aiming.mcfunction index 59c2ef8c9..cd866a38c 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/indicator/loop/aiming.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/indicator/loop/aiming.mcfunction @@ -5,4 +5,5 @@ execute if score @s omegaflowey.soul.clock.i matches ..-1 run return 0 scoreboard players operation @s omegaflowey.math.0 = @s omegaflowey.soul.clock.i scoreboard players operation @s omegaflowey.math.0 %= #omegaflowey.const.4 omegaflowey.math.const -execute if score @s omegaflowey.math.0 matches 0 at @r[tag=omegaflowey.player.fighting_flowey] run function omegaflowey.entity:soul/soul_5/indicator/loop/aiming/next_crosshair +$execute if score @s omegaflowey.math.0 matches 0 at $(active_player_uuid) run \ + function omegaflowey.entity:soul/soul_5/indicator/loop/aiming/next_crosshair diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/tick.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/tick.mcfunction index b86ca7c5a..9d83c35e3 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/tick.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/soul/soul_5/tick.mcfunction @@ -1,6 +1,6 @@ execute if entity @s[tag=act-button] run function omegaflowey.entity:soul/soul_5/act_button/loop execute if entity @s[tag=soul-bullet] run function omegaflowey.entity:soul/soul_5/bullet/loop -execute if entity @s[tag=soul-executor] run function omegaflowey.entity:soul/soul_5/executor/loop +execute if entity @s[tag=soul-executor] run function omegaflowey.entity:soul/soul_5/executor/loop with storage omegaflowey:bossfight execute if entity @s[tag=soul-healer] run function omegaflowey.entity:soul/soul_5/healer/loop execute if entity @s[tag=soul-indicator] run function omegaflowey.entity:soul/soul_5/indicator/loop execute if entity @s[tag=soul-locator] run function omegaflowey.entity:soul/soul_5/locator/loop 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 1fc231c6d..9f816ec3f 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 @@ -25,11 +25,16 @@ schedule function omegaflowey.main:summit/room/cave/active_player_health_display schedule function omegaflowey.entity:utils/damage/reset_immunity_flag 10t replace # Show custom death message -execute if score #omegaflowey.bossfight.show_custom_death_message omegaflowey.global.flag matches 1 run tellraw @a [ \ - { "selector": "@s"}, \ - " was slain by ", \ - { "text": "Omega Flowey", "color": "green" } \ -] +# TAG_SUMMIT_HARDCODED_GLOBAL_VOLUME +execute if score #omegaflowey.bossfight.show_custom_death_message omegaflowey.global.flag matches 1 run \ + tellraw @a[ \ + x=-186, dx=91, y=12, dy=93, z=12, dz=95, \ + tag=omegaflowey.player \ + ] [ \ + { "selector": "@s"}, \ + " was slain by ", \ + { "text": "Omega Flowey", "color": "green" } \ + ] # Re-enable `showDeathMessages` if it was enabled previously execute if score #omegaflowey.bossfight.show_custom_death_message omegaflowey.global.flag matches 1 \ diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/utils/face_closest_player.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/utils/face_closest_player.mcfunction index 52fcfeef9..e8b7c71bc 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/utils/face_closest_player.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/utils/face_closest_player.mcfunction @@ -1,5 +1,10 @@ -execute store result storage omegaflowey:entity.utils.face_closest_player x float 0.01 run scoreboard players get @s omegaflowey.attack.position.x -execute store result storage omegaflowey:entity.utils.face_closest_player y float 0.01 run scoreboard players get @s omegaflowey.attack.position.y -execute store result storage omegaflowey:entity.utils.face_closest_player z float 0.01 run scoreboard players get @s omegaflowey.attack.position.z +execute store result storage omegaflowey:entity.utils.face_closest_player x float 0.01 run \ + scoreboard players get @s omegaflowey.attack.position.x +execute store result storage omegaflowey:entity.utils.face_closest_player y float 0.01 run \ + scoreboard players get @s omegaflowey.attack.position.y +execute store result storage omegaflowey:entity.utils.face_closest_player z float 0.01 run \ + scoreboard players get @s omegaflowey.attack.position.z +data modify storage omegaflowey:entity.utils.face_closest_player active_player_uuid set from \ + storage omegaflowey:bossfight active_player_uuid function omegaflowey.entity:utils/face_closest_player_macro with storage omegaflowey:entity.utils.face_closest_player diff --git a/datapacks/omegaflowey/data/omegaflowey.entity/function/utils/face_closest_player_macro.mcfunction b/datapacks/omegaflowey/data/omegaflowey.entity/function/utils/face_closest_player_macro.mcfunction index 82bde37ab..be31516c8 100644 --- a/datapacks/omegaflowey/data/omegaflowey.entity/function/utils/face_closest_player_macro.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.entity/function/utils/face_closest_player_macro.mcfunction @@ -1 +1 @@ -$execute positioned $(x) $(y) $(z) run teleport @s ~ ~ ~ facing entity @p[tag=omegaflowey.player.fighting_flowey] feet +$execute positioned $(x) $(y) $(z) run teleport @s ~ ~ ~ facing entity $(active_player_uuid) feet diff --git a/datapacks/omegaflowey/data/omegaflowey.main/function/setup.mcfunction b/datapacks/omegaflowey/data/omegaflowey.main/function/setup.mcfunction index 575e82c91..70d979678 100644 --- a/datapacks/omegaflowey/data/omegaflowey.main/function/setup.mcfunction +++ b/datapacks/omegaflowey/data/omegaflowey.main/function/setup.mcfunction @@ -7,6 +7,6 @@ function omegaflowey.entity:setup # don't run room setup if there are no players on, as this duplicates entities due to them # not being loaded -execute if entity @a run function omegaflowey.main:summit/room/setup +execute if entity @a[limit=1] run function omegaflowey.main:summit/room/setup function omegaflowey.utils:log { text_component: '[ { "text": "Datapack initialized", "color": "aqua" } ]'}