From cd684825f50ccda47fffbef0357da9f6beb6ce50 Mon Sep 17 00:00:00 2001 From: Bavadin <115598588+Bavadin@users.noreply.github.com> Date: Wed, 1 Jan 2025 12:08:24 -0800 Subject: [PATCH] Delay onServer/Instance check by 1t from load and flag setup by 2t from load (0.13.35) --- .../source_flag_setup.mcfunction | 75 ++++++++++++++++ .../events/on_datapack_load.mcfunction | 86 ++----------------- .../scoreboard/setup/config.mcfunction | 2 +- .../tracked_out_config_defaults.mcfunction | 3 + .../data/do2/functions/version.mcfunction | 4 +- 5 files changed, 87 insertions(+), 83 deletions(-) create mode 100644 Brilliance Datapack/data/do2/functions/dungeon_setup/source_flag_setup.mcfunction diff --git a/Brilliance Datapack/data/do2/functions/dungeon_setup/source_flag_setup.mcfunction b/Brilliance Datapack/data/do2/functions/dungeon_setup/source_flag_setup.mcfunction new file mode 100644 index 00000000..250d69ca --- /dev/null +++ b/Brilliance Datapack/data/do2/functions/dungeon_setup/source_flag_setup.mcfunction @@ -0,0 +1,75 @@ +# If server has is-dungeon-instance, than set worldspawn to be the deck area. +# Otherwise set worldspawn to be the portal +execute if score $dungeon do2.utility.onInstance matches 0 run setworldspawn -524 103 2167 +execute if score $dungeon do2.utility.onInstance matches 1 run setworldspawn -547 115 1980 + +# If server has is-dungeon-instance, unlock the iron door. NOTE: If it's on the server, only one use +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 119 1977 minecraft:redstone_block +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 119 1977 air + +# If server has is-dungeon-instance, create fall chamber. +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 70 1979 minecraft:glass +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 70 1981 minecraft:glass +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 71 1978 minecraft:glass +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 71 1982 minecraft:glass +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -549 71 1979 minecraft:glass +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -549 71 1981 minecraft:glass +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 72 1979 minecraft:glass +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 72 1981 minecraft:glass +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 71 1981 minecraft:command_block[conditional=false,facing=west]{Command:"log-event spawnpoint-recovery-button 1"} +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 71 1979 minecraft:command_block[conditional=false,facing=west]{Command:"/tp @p -547 114 1980"} +execute if score $dungeon do2.utility.onInstance matches 1 run fill -546 72 1980 -546 70 1980 minecraft:bamboo_mosaic +execute if score $dungeon do2.utility.onInstance matches 1 run fill -547 72 1979 -547 70 1979 minecraft:bamboo_mosaic +execute if score $dungeon do2.utility.onInstance matches 1 run fill -548 72 1980 -548 70 1980 minecraft:bamboo_mosaic +execute if score $dungeon do2.utility.onInstance matches 1 run fill -547 72 1981 -547 70 1981 minecraft:bamboo_mosaic +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -547 70 1980 minecraft:bamboo_mosaic_slab[type=bottom,waterlogged=true] +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -547 71 1980 minecraft:stone_button[face=wall,facing=east] +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -547 72 1980 minecraft:bamboo_wall_sign[facing=east]{front_text:{color:"black",has_glowing_text:0b,messages:['{"text":"If you need to"}','{"text":"use this button"}','{"text":"please tell one"}','{"text":"of the staff"}']},is_waxed:0b} +execute if score $dungeon do2.utility.onInstance matches 1 run fill -546 109 1980 -546 73 1980 minecraft:glass +execute if score $dungeon do2.utility.onInstance matches 1 run fill -547 109 1979 -547 73 1979 minecraft:glass +execute if score $dungeon do2.utility.onInstance matches 1 run fill -548 109 1980 -548 73 1980 minecraft:glass +execute if score $dungeon do2.utility.onInstance matches 1 run fill -547 109 1981 -547 73 1981 minecraft:glass +execute if score $dungeon do2.utility.onInstance matches 1 run fill -547 111 1981 -547 110 1979 minecraft:bamboo_mosaic +execute if score $dungeon do2.utility.onInstance matches 1 run fill -548 111 1980 -548 110 1980 minecraft:bamboo_mosaic +execute if score $dungeon do2.utility.onInstance matches 0 run fill -548 111 1980 -548 73 1980 air +execute if score $dungeon do2.utility.onInstance matches 0 run fill -547 111 1981 -547 73 1981 air +execute if score $dungeon do2.utility.onInstance matches 0 run fill -546 109 1980 -546 73 1980 air +execute if score $dungeon do2.utility.onInstance matches 0 run fill -547 111 1979 -547 73 1979 air +execute if score $dungeon do2.utility.onInstance matches 0 run fill -547 111 1980 -547 110 1980 air +execute if score $dungeon do2.utility.onInstance matches 0 run fill -549 72 1978 -546 70 1982 air + +# If server has is-dungeon-instance, create card selection station. +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 115 1982 minecraft:warped_wall_sign[facing=north,waterlogged=false]{back_text:{color:"black",has_glowing_text:0b,messages:['{"text":""}','{"text":""}','{"text":""}','{"text":""}']},front_text:{color:"light_gray",has_glowing_text:1b,messages:['{"text":"Card selection"}','{"text":"station. Push"}','{"text":"button to get"}','{"text":"the shulker back."}']},is_waxed:0b} +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 114 1982 minecraft:warped_button[face=wall,facing=north,powered=false] +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 112 1982 minecraft:tinted_glass +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 111 1982 minecraft:redstone_lamp[lit=true] +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 111 1981 minecraft:redstone_block +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -552 112 1982 minecraft:deepslate_tiles +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 112 1983 minecraft:deepslate_tiles +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 112 1984 minecraft:deepslate_tiles +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -552 113 1983 minecraft:deepslate_tiles +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -552 113 1984 minecraft:deepslate_tiles +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 115 1984 minecraft:deepslate_tiles +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 114 1984 minecraft:note_block[instrument=harp,note=0,powered=false] +execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 113 1984 minecraft:sticky_piston[extended=false,facing=north] +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 115 1982 air +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 114 1982 air +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 112 1982 minecraft:polished_basalt[axis=x] +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 111 1982 air +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 111 1981 air +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -552 112 1982 air +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 112 1983 air +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 112 1984 air +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -552 113 1983 air +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -552 113 1984 air +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 115 1984 air +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 114 1984 air +execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 113 1984 air + +# If server has is-dungeon-instance, create manual shulker breaker. +execute if score $dungeon do2.utility.onServer matches 1 run setblock -562 116 1982 minecraft:warped_wall_sign[facing=east,waterlogged=false]{back_text:{color:"black",has_glowing_text:0b,messages:['{"text":""}','{"text":""}','{"text":""}','{"text":""}']},front_text:{color:"white",has_glowing_text:1b,messages:['{"text":"<-- Press button"}','{"text":"if in adventure"}','{"text":"mode and can\'t"}','{"text":"break shulker"}']},is_waxed:0b} +execute if score $dungeon do2.utility.onServer matches 1 run setblock -562 116 1983 minecraft:warped_button[face=wall,facing=east,powered=false] +execute if score $dungeon do2.utility.onServer matches 1 run setblock -564 116 1983 minecraft:redstone_wire[east=side,north=none,power=0,south=none,west=side] +execute if score $dungeon do2.utility.onServer matches 0 run setblock -562 116 1982 air +execute if score $dungeon do2.utility.onServer matches 0 run setblock -562 116 1983 air +execute if score $dungeon do2.utility.onServer matches 0 run setblock -564 116 1983 air \ No newline at end of file diff --git a/Brilliance Datapack/data/do2/functions/events/on_datapack_load.mcfunction b/Brilliance Datapack/data/do2/functions/events/on_datapack_load.mcfunction index 5804d76d..7832fb56 100644 --- a/Brilliance Datapack/data/do2/functions/events/on_datapack_load.mcfunction +++ b/Brilliance Datapack/data/do2/functions/events/on_datapack_load.mcfunction @@ -4,11 +4,11 @@ execute as @a[scores={do2.logs.datapack_setup=1..}] run tellraw @s "§f[§9B§r] # Check where I'm running. scoreboard objectives add do2.utility.onServer dummy "Checking if this Brilliance is loaded on the server" -execute unless score $dungeon do2.utility.onServer matches 0.. run scoreboard players set $dungeon do2.utility.onServer 0 -function do2:agronet/test_for_agronet +scoreboard players set $dungeon do2.utility.onServer 0 +schedule function do2:agronet/test_for_agronet 1t append scoreboard objectives add do2.utility.onInstance dummy "Checking if this Brilliance is loaded on an instance" -execute unless score $dungeon do2.utility.onInstance matches 0.. run scoreboard players set $dungeon do2.utility.onInstance 0 -function do2:agronet/test_for_instance +scoreboard players set $dungeon do2.utility.onInstance 0 +schedule function do2:agronet/test_for_instance 1t append # Setup scoreboard function do2:scoreboard/setup/all @@ -39,82 +39,8 @@ time set noon weather clear -# If server has is-dungeon-instance, than set worldspawn to be the deck area. -# Otherwise set worldspawn to be the portal -execute if score $dungeon do2.utility.onInstance matches 0 run setworldspawn -524 103 2167 -execute if score $dungeon do2.utility.onInstance matches 1 run setworldspawn -547 115 1980 - -# If server has is-dungeon-instance, unlock the iron door. NOTE: If it's on the server, only one use -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 119 1977 minecraft:redstone_block -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 119 1977 air - -# If server has is-dungeon-instance, create fall chamber. -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 70 1979 minecraft:glass -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 70 1981 minecraft:glass -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 71 1978 minecraft:glass -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 71 1982 minecraft:glass -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -549 71 1979 minecraft:glass -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -549 71 1981 minecraft:glass -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 72 1979 minecraft:glass -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 72 1981 minecraft:glass -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 71 1981 minecraft:command_block[conditional=false,facing=west]{Command:"log-event spawnpoint-recovery-button 1"} -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -548 71 1979 minecraft:command_block[conditional=false,facing=west]{Command:"/tp @p -547 114 1980"} -execute if score $dungeon do2.utility.onInstance matches 1 run fill -546 72 1980 -546 70 1980 minecraft:bamboo_mosaic -execute if score $dungeon do2.utility.onInstance matches 1 run fill -547 72 1979 -547 70 1979 minecraft:bamboo_mosaic -execute if score $dungeon do2.utility.onInstance matches 1 run fill -548 72 1980 -548 70 1980 minecraft:bamboo_mosaic -execute if score $dungeon do2.utility.onInstance matches 1 run fill -547 72 1981 -547 70 1981 minecraft:bamboo_mosaic -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -547 70 1980 minecraft:bamboo_mosaic_slab[type=bottom,waterlogged=true] -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -547 71 1980 minecraft:stone_button[face=wall,facing=east] -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -547 72 1980 minecraft:bamboo_wall_sign[facing=east]{front_text:{color:"black",has_glowing_text:0b,messages:['{"text":"If you need to"}','{"text":"use this button"}','{"text":"please tell one"}','{"text":"of the staff"}']},is_waxed:0b} -execute if score $dungeon do2.utility.onInstance matches 1 run fill -546 109 1980 -546 73 1980 minecraft:glass -execute if score $dungeon do2.utility.onInstance matches 1 run fill -547 109 1979 -547 73 1979 minecraft:glass -execute if score $dungeon do2.utility.onInstance matches 1 run fill -548 109 1980 -548 73 1980 minecraft:glass -execute if score $dungeon do2.utility.onInstance matches 1 run fill -547 109 1981 -547 73 1981 minecraft:glass -execute if score $dungeon do2.utility.onInstance matches 1 run fill -547 111 1981 -547 110 1979 minecraft:bamboo_mosaic -execute if score $dungeon do2.utility.onInstance matches 1 run fill -548 111 1980 -548 110 1980 minecraft:bamboo_mosaic -execute if score $dungeon do2.utility.onInstance matches 0 run fill -548 111 1980 -548 73 1980 air -execute if score $dungeon do2.utility.onInstance matches 0 run fill -547 111 1981 -547 73 1981 air -execute if score $dungeon do2.utility.onInstance matches 0 run fill -546 109 1980 -546 73 1980 air -execute if score $dungeon do2.utility.onInstance matches 0 run fill -547 111 1979 -547 73 1979 air -execute if score $dungeon do2.utility.onInstance matches 0 run fill -547 111 1980 -547 110 1980 air -execute if score $dungeon do2.utility.onInstance matches 0 run fill -549 72 1978 -546 70 1982 air - -# If server has is-dungeon-instance, create card selection station. -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 115 1982 minecraft:warped_wall_sign[facing=north,waterlogged=false]{back_text:{color:"black",has_glowing_text:0b,messages:['{"text":""}','{"text":""}','{"text":""}','{"text":""}']},front_text:{color:"light_gray",has_glowing_text:1b,messages:['{"text":"Card selection"}','{"text":"station. Push"}','{"text":"button to get"}','{"text":"the shulker back."}']},is_waxed:0b} -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 114 1982 minecraft:warped_button[face=wall,facing=north,powered=false] -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 112 1982 minecraft:tinted_glass -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 111 1982 minecraft:redstone_lamp[lit=true] -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 111 1981 minecraft:redstone_block -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -552 112 1982 minecraft:deepslate_tiles -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 112 1983 minecraft:deepslate_tiles -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 112 1984 minecraft:deepslate_tiles -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -552 113 1983 minecraft:deepslate_tiles -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -552 113 1984 minecraft:deepslate_tiles -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 115 1984 minecraft:deepslate_tiles -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 114 1984 minecraft:note_block[instrument=harp,note=0,powered=false] -execute if score $dungeon do2.utility.onInstance matches 1 run setblock -551 113 1984 minecraft:sticky_piston[extended=false,facing=north] -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 115 1982 air -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 114 1982 air -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 112 1982 minecraft:polished_basalt[axis=x] -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 111 1982 air -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 111 1981 air -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -552 112 1982 air -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 112 1983 air -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 112 1984 air -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -552 113 1983 air -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -552 113 1984 air -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 115 1984 air -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 114 1984 air -execute if score $dungeon do2.utility.onInstance matches 0 run setblock -551 113 1984 air - -# If server has is-dungeon-instance, create manual shulker breaker. -execute if score $dungeon do2.utility.onServer matches 1 run setblock -562 116 1982 minecraft:warped_wall_sign[facing=east,waterlogged=false]{back_text:{color:"black",has_glowing_text:0b,messages:['{"text":""}','{"text":""}','{"text":""}','{"text":""}']},front_text:{color:"white",has_glowing_text:1b,messages:['{"text":"<-- Press button"}','{"text":"if in adventure"}','{"text":"mode and can\'t"}','{"text":"break shulker"}']},is_waxed:0b} -execute if score $dungeon do2.utility.onServer matches 1 run setblock -562 116 1983 minecraft:warped_button[face=wall,facing=east,powered=false] -execute if score $dungeon do2.utility.onServer matches 1 run setblock -564 116 1983 minecraft:redstone_wire[east=side,north=none,power=0,south=none,west=side] -execute if score $dungeon do2.utility.onServer matches 0 run setblock -562 116 1982 air -execute if score $dungeon do2.utility.onServer matches 0 run setblock -562 116 1983 air -execute if score $dungeon do2.utility.onServer matches 0 run setblock -564 116 1983 air - +# Run dungeon setup associated with the onServer / onInstance flag, delayed by 2 ticks +schedule function do2:dungeon_setup/source_flag_setup 2t append # Setup GUI storage diff --git a/Brilliance Datapack/data/do2/functions/scoreboard/setup/config.mcfunction b/Brilliance Datapack/data/do2/functions/scoreboard/setup/config.mcfunction index 34ca70f8..d6834656 100644 --- a/Brilliance Datapack/data/do2/functions/scoreboard/setup/config.mcfunction +++ b/Brilliance Datapack/data/do2/functions/scoreboard/setup/config.mcfunction @@ -89,4 +89,4 @@ scoreboard objectives add do2.config.silenceWardens dummy "Silent Wardens" # - SET DEFAULTS - # ================ execute unless score $dungeon do2.utility.setNormalScoreDefaults matches 1 run function do2:scoreboard/setup/config_defaults -execute unless score $dungeon do2.utility.setTrackedOutScoreDefaults matches 1 if score $dungeon do2.utility.onServer matches 1 run function do2:scoreboard/setup/tracked_out_config_defaults +execute unless score $dungeon do2.utility.setTrackedOutScoreDefaults matches 1 run schedule function do2:scoreboard/setup/tracked_out_config_defaults 2t append diff --git a/Brilliance Datapack/data/do2/functions/scoreboard/setup/tracked_out_config_defaults.mcfunction b/Brilliance Datapack/data/do2/functions/scoreboard/setup/tracked_out_config_defaults.mcfunction index 94ba40d2..ca4d304f 100644 --- a/Brilliance Datapack/data/do2/functions/scoreboard/setup/tracked_out_config_defaults.mcfunction +++ b/Brilliance Datapack/data/do2/functions/scoreboard/setup/tracked_out_config_defaults.mcfunction @@ -1,3 +1,6 @@ +# Only set tracked out config defaults if onServer +execute unless score $dungeon do2.utility.onServer matches 1 run return 0 + scoreboard players set $dungeon do2.config.nightTimeChance 50 scoreboard players set $dungeon do2.config.eggRewards 3 scoreboard players set $dungeon do2.config.useWorldCycle 0 diff --git a/Brilliance Datapack/data/do2/functions/version.mcfunction b/Brilliance Datapack/data/do2/functions/version.mcfunction index 8500f623..e077ccbe 100644 --- a/Brilliance Datapack/data/do2/functions/version.mcfunction +++ b/Brilliance Datapack/data/do2/functions/version.mcfunction @@ -1,3 +1,3 @@ -# DATAPACK VERSION NUMBER: 0.13.34 +# DATAPACK VERSION NUMBER: 0.13.35 -tellraw @s ["",{"text":"The §o§n§aBrilliance Datapack§r's version is: [§b0.13.34§r] Check latest version "},{"text":"§o§b§nhere§r","clickEvent":{"action":"open_url","value":"https://github.com/trackedout/Brilliance/blob/main/Brilliance%20Datapack/data/do2/functions/version.mcfunction"}},{"text":"."}] +tellraw @s ["",{"text":"The §o§n§aBrilliance Datapack§r's version is: [§b0.13.35§r] Check latest version "},{"text":"§o§b§nhere§r","clickEvent":{"action":"open_url","value":"https://github.com/trackedout/Brilliance/blob/main/Brilliance%20Datapack/data/do2/functions/version.mcfunction"}},{"text":"."}]