From 9950b367b5e8d8a1623167c1ee682b46f41b0e0a Mon Sep 17 00:00:00 2001 From: FrustratedProgrammer Date: Tue, 17 Dec 2024 18:48:42 -0600 Subject: [PATCH] Spawners reset on_game_load now have their delay randomizes between 1-40s (Noxitu's math) --- .../reset_single_spawner.mcfunction | 34 +++++++++++++++++++ .../reset_dungeon/reset_spawners.mcfunction | 7 ++-- .../data/do2/functions/version.mcfunction | 4 +-- 3 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 Brilliance Datapack/data/do2/functions/reset_dungeon/reset_single_spawner.mcfunction diff --git a/Brilliance Datapack/data/do2/functions/reset_dungeon/reset_single_spawner.mcfunction b/Brilliance Datapack/data/do2/functions/reset_dungeon/reset_single_spawner.mcfunction new file mode 100644 index 00000000..e42c1c2c --- /dev/null +++ b/Brilliance Datapack/data/do2/functions/reset_dungeon/reset_single_spawner.mcfunction @@ -0,0 +1,34 @@ +# Generate a random #(1-25) +# If # < 10, set spawner's delay to # +# If # >= 10, generate TWO #(10-40). +# Save the lowest of those TWO # +# With that new # set spawner's Delay to the # + +# Generate a number between 0-24 +scoreboard players set $dungeon do2.utility.randomNumberRange 25 +function do2:random_gen/generate_random_number +# Add 1 so it's 1-25 +scoreboard players add $dungeon do2.utility.randomNum +execute store result storage do2:mobs spawner int 1 run scoreboard players get $dungeon do2.utility.randomNum +# If it's < 10 set the delay to the number +execute unless score $dungeon do2.utility.randomNum matches 10.. run data modify block ~ ~ ~ Delay set from storage do2:mobs spawner +execute unless score $dungeon do2.utility.randomNum matches 10.. run return 0 + +# If it's > 10 +scoreboard objectives add do2.tests.findSmallestNumber dummy +# Generate a number between 0-30 +scoreboard players set $dungeon do2.utility.randomNumberRange 31 +function do2:random_gen/generate_random_number +# Add 10 so it's 10-40 +scoreboard players add $dungeon do2.utility.randomNum 10 +# Store the number +execute store result score $dungeon do2.tests.findSmallestNumber run scoreboard players get $dungeon do2.utility.randomNum +# Do it all again +function do2:random_gen/generate_random_number +scoreboard players add $dungeon do2.utility.randomNum 10 +# Compare sizes. +execute unless score $dungeon do2.tests.findSmallestNumber < $dungeon do2.utility.randomNum store result score $dungeon do2.tests.findSmallestNumber run scoreboard players get $dungeon do2.utility.randomNum +execute store result storage do2:mobs spawner int 1 run scoreboard players get $dungeon do2.tests.findSmallestNumber +data modify block ~ ~ ~ Delay set from storage do2:mobs spawner +scoreboard objectives remove do2.tests.findSmallestNumber + diff --git a/Brilliance Datapack/data/do2/functions/reset_dungeon/reset_spawners.mcfunction b/Brilliance Datapack/data/do2/functions/reset_dungeon/reset_spawners.mcfunction index 8ab343ff..4c6e090b 100644 --- a/Brilliance Datapack/data/do2/functions/reset_dungeon/reset_spawners.mcfunction +++ b/Brilliance Datapack/data/do2/functions/reset_dungeon/reset_spawners.mcfunction @@ -1,4 +1,3 @@ - -data modify block -487 34 1981 Delay set value -1s -data modify block -485 38 1964 Delay set value -1s -data modify block -500 35 1977 Delay set value -1s \ No newline at end of file +execute positioned -487 34 1981 run function do2:reset_dungeon/reset_single_spawner +execute positioned -485 38 1964 run function do2:reset_dungeon/reset_single_spawner +execute positioned -500 35 1977 run function do2:reset_dungeon/reset_single_spawner diff --git a/Brilliance Datapack/data/do2/functions/version.mcfunction b/Brilliance Datapack/data/do2/functions/version.mcfunction index 8e1c28d4..71c35c91 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.12 +# DATAPACK VERSION NUMBER: 0.13.14 -tellraw @s ["",{"text":"The §o§n§aBrilliance Datapack§r's version is: [§b0.13.12§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.14§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":"."}]