Skip to content

Commit

Permalink
Suppress berry growth at max clank config and new evokers (0.13.37)
Browse files Browse the repository at this point in the history
  • Loading branch information
Bavadin authored Jan 4, 2025
1 parent 003c31b commit 295304d
Show file tree
Hide file tree
Showing 15 changed files with 247 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,15 @@ schedule function do2:dungeon_setup/teleport_killers/all 3t append
function do2:egg_hunt/spawn_egg_hitboxes
function do2:scoreboard/config/balance_changes/actions

# Other Setup:
# Experimental
function do2:scoreboard/config/max_clank_berries/start_suppress_berries

# Other Setup
function do2:scoreboard/config/config_setup

# Whether Max Clank Disables Treasure
execute if score $dungeon do2.config.maxClankTreasure matches 1 run setblock -624 25 1990 minecraft:redstone_wire
execute unless score $dungeon do2.config.maxClankTreasure matches 1 run setblock -624 25 1990 minecraft:glass

# Reset Current Tick.
# Reset Current Tick
scoreboard players set $dungeon do2.utility.currentTick 0
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ setblock -589 4 1895 minecraft:sweet_berry_bush[age=3]
setblock -645 3 1905 minecraft:sweet_berry_bush[age=3]
setblock -654 4 1919 minecraft:sweet_berry_bush[age=3]
setblock -600 -11 1910 minecraft:sweet_berry_bush[age=3]
setblock -654 4 1919 minecraft:sweet_berry_bush[age=3]

# Deep Frost (Level 4)
setblock -602 -47 1893 miencraft:sweet_berry_bush[age=3]
setblock -616 -48 1876 minecraft:sweet_berry_bush[age=3]
setblock -599 -41 1878 minecraft:sweet_berry_bush[age=3]
setblock -603 -41 1841 minecraft:sweet_berry_bush[age=3]
Expand All @@ -48,3 +48,4 @@ setblock -608 -39 1910 minecraft:sweet_berry_bush[age=3]
setblock -569 -38 1906 minecraft:sweet_berry_bush[age=3]
setblock -567 -45 1911 minecraft:sweet_berry_bush[age=3]
setblock -567 -45 1912 minecraft:sweet_berry_bush[age=3]
setblock -657 -52 1848 minecraft:sweet_berry_bush[age=3]
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,20 @@ summon minecraft:minecart -459 20 1978 {PersistenceRequired:1b, Invulnerable:1b,
summon minecraft:minecart -464 20 1961 {PersistenceRequired:1b, Invulnerable:1b, Passengers:[{Tags: ["evoker_spot","L2E9"], id: "minecraft:evoker", Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}]}
summon minecraft:minecart -566 11 2021 {PersistenceRequired:1b, Invulnerable:1b, Passengers:[{Tags: ["evoker_spot","L2E10"], id: "minecraft:evoker", Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}]}

# New
# Level 1
summon minecraft:minecart -527 52 2008 {PersistenceRequired:1b, Invulnerable:1b, Passengers:[{Tags: ["evoker_spot","L1E13"], id: "minecraft:evoker", Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}]}
summon minecraft:minecart -520 52 1973 {PersistenceRequired:1b, Invulnerable:1b, Passengers:[{Tags: ["evoker_spot","L1E14"], id: "minecraft:evoker", Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}]}
summon minecraft:evoker -536 56 1967 {PersistenceRequired:1b, Tags: ["evoker_spot","L1E15"], Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}
summon minecraft:evoker -543 53 1979 {PersistenceRequired:1b, Tags: ["evoker_spot","L1E16"], Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}
summon minecraft:evoker -587 46 2006 {PersistenceRequired:1b, Tags: ["evoker_spot","L1E17"], Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}
summon minecraft:evoker -599 44 2037 {PersistenceRequired:1b, Tags: ["evoker_spot","L1E18"], Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}

# Level 2
summon minecraft:minecart -597 13 1955 {PersistenceRequired:1b, Invulnerable:1b, Passengers:[{Tags: ["evoker_spot","L2E11"], id: "minecraft:evoker", Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}]}
summon minecraft:evoker -589 14 1985 {PersistenceRequired:1b, Tags: ["evoker_spot","L2E12"], Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}
summon minecraft:minecart -528 13 1970 {PersistenceRequired:1b, Invulnerable:1b, Passengers:[{Tags: ["evoker_spot","L2E13"], id: "minecraft:evoker", Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}]}
summon minecraft:evoker -502 26 1967 {PersistenceRequired:1b, Tags: ["evoker_spot","L2E14"], Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}
summon minecraft:evoker -510 25 1958 {PersistenceRequired:1b, Tags: ["evoker_spot","L2E15"], Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}
summon minecraft:evoker -463 26 2008 {PersistenceRequired:1b, Tags: ["evoker_spot","L2E16"], Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}
summon minecraft:minecart -451 19 1957 {PersistenceRequired:1b, Invulnerable:1b, Passengers:[{Tags: ["evoker_spot","L2E17"], id: "minecraft:evoker", Invulnerable: 1b, Health: 24.0f, Silent: 1b, CustomName: '{"text":"Vexificator"}', CanPickUpLoot: 0b}]}
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,23 @@ execute unless entity @e[type=minecraft:evoker,tag=L2E8] run scoreboard players
execute unless entity @e[type=minecraft:evoker,tag=L2E9] run scoreboard players set $dungeon do2.tests.all_killers_alive 24
execute unless entity @e[type=minecraft:evoker,tag=L2E10] run scoreboard players set $dungeon do2.tests.all_killers_alive 25

# New
execute unless entity @e[type=minecraft:evoker,tag=L1E13] run scoreboard players set $dungeon do2.tests.all_killers_alive 26
execute unless entity @e[type=minecraft:evoker,tag=L1E14] run scoreboard players set $dungeon do2.tests.all_killers_alive 27
execute unless entity @e[type=minecraft:evoker,tag=L1E15] run scoreboard players set $dungeon do2.tests.all_killers_alive 28
execute unless entity @e[type=minecraft:evoker,tag=L1E16] run scoreboard players set $dungeon do2.tests.all_killers_alive 29
execute unless entity @e[type=minecraft:evoker,tag=L1E17] run scoreboard players set $dungeon do2.tests.all_killers_alive 30
execute unless entity @e[type=minecraft:evoker,tag=L1E18] run scoreboard players set $dungeon do2.tests.all_killers_alive 31

execute unless entity @e[type=minecraft:evoker,tag=L2E11] run scoreboard players set $dungeon do2.tests.all_killers_alive 32
execute unless entity @e[type=minecraft:evoker,tag=L2E12] run scoreboard players set $dungeon do2.tests.all_killers_alive 33
execute unless entity @e[type=minecraft:evoker,tag=L2E13] run scoreboard players set $dungeon do2.tests.all_killers_alive 34
execute unless entity @e[type=minecraft:evoker,tag=L2E14] run scoreboard players set $dungeon do2.tests.all_killers_alive 35
execute unless entity @e[type=minecraft:evoker,tag=L2E15] run scoreboard players set $dungeon do2.tests.all_killers_alive 36
execute unless entity @e[type=minecraft:evoker,tag=L2E16] run scoreboard players set $dungeon do2.tests.all_killers_alive 37
execute unless entity @e[type=minecraft:evoker,tag=L2E17] run scoreboard players set $dungeon do2.tests.all_killers_alive 38


execute unless score $dungeon do2.tests.all_killers_alive matches 0 as @a[scores={do2.logs.dungeon_setup=3..}] run tellraw @s ["",{"text":"§f[§9B§r]: Missing 'Other' Killer §b#"},{"color":"aqua","score":{"name":"$dungeon","objective":"do2.tests.all_killers_alive"}}]
execute unless score $dungeon do2.tests.all_killers_alive matches 0 run function do2:dungeon_setup/summon/other_killers
scoreboard objectives remove do2.tests.all_killers_alive
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ execute if score $dungeon do2.run.active matches 2.. if score $dungeon do2.run.p
# if no players running do2 but game active for 5 minutes, end game.
execute if score $dungeon do2.run.active matches 2.. if score $dungeon do2.run.timeWithNoPlayers matches 300 run function do2:events/on_game_end

# Tango mentioned this and I think we removed it on accident.
# Remove glowing effect from Evokers.
execute if score $dungeon do2.run.active matches 2.. as @e[type=minecraft:evoker] if entity @s[nbt={ActiveEffects:[{Id:24}]}] run effect clear @s minecraft:glowing
# Remove glowing effect from Witches.
Expand All @@ -32,6 +31,9 @@ execute if score $dungeon do2.config.forceGamemode matches 1 run function do2:sp
# Force player's food.
execute if score $dungeon do2.config.forceFood matches 1 as @a[scores={do2.utility.shouldForceFood=1}] run function do2:dungeon_setup/control_player_saturation

# Suppress berry growth if config is enabled and max clank has been reached
execute if score $dungeon do2.config.maxClankBerries matches 0 if score $dungeon do2.run.systems.maxclank.released matches 1.. if score $dungeon do2.run.active matches 1.. run function do2:scoreboard/config/max_clank_berries/tick_suppress_berries

# Check for triggers.
function do2:scoreboard/triggers/checks

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ execute as @a[scores={do2.logs.gamestate=1..}] if score $dungeon do2.run.active
execute if score $dungeon do2.config.fastReset matches 1 run setblock -542 122 1966 minecraft:redstone_block
execute if score $dungeon do2.config.fastReset matches 0 run setblock -542 122 1966 minecraft:glass

# Reset berry suspension mechanisms if config is enabled
execute if score $dungeon do2.config.maxClankBerries matches 0 run function do2:scoreboard/config/max_clank_berries/end_suppress_berries

# Set Game to NOT be active.
scoreboard players set $dungeon do2.run.active 0

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ execute as @a if score @s do2.utility.advancementOrdering matches 0 run function
# track ticks/seconds in the dungeon. Also handles if dungeon is empty.
execute if score $dungeon do2.run.active matches 2 run function do2:dungeon_timer


# For every UNTRACKED item, (item entities not tagged)
# Mark the item as UNTRACKED
execute as @e[type=item,tag=!tracked] run function do2:as_item_entity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@
execute as @a[scores={do2.logs.clank=1..}] run tellraw @s ["",{"text":"[§9B§r]: Reached Max §8Clank§r."}]
# - End Log -

# update scoreboard
# Update scoreboard
scoreboard players add @a[tag=do2.received_shulker] do2.run.systems.maxclank.released 1
scoreboard players add @a[tag=do2.received_shulker] do2.systems.maxclank.released 1
scoreboard players add $dungeon do2.run.systems.maxclank.released 1
scoreboard players add $dungeon do2.systems.maxclank.released 1

execute as @e[type=minecraft:warden] if score warden anger < max_clank_min anger run data modify entity @s anger.suspects[0].anger set value 79
# Apply maxClankBerries config block placements
execute if score $dungeon do2.config.maxClankBerries matches 0 run function do2:scoreboard/config/max_clank_berries/once_suppress_berries
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Frozen Crypts (Level 1)

# Piston with terrain change for now, add evoker later
setblock -591 47 1964 minecraft:air
# Light
setblock -564 49 1979 minecraft:air
setblock -563 50 1979 minecraft:air
# Light
setblock -553 46 1949 minecraft:light[level=13]
# Piston
setblock -549 52 2002 minecraft:air
# Piston with terrain change
setblock -501 56 2003 minecraft:air
# Light
setblock -514 38 1986 minecraft:light[level=12]
# Piston
setblock -512 40 1989 minecraft:air
# Piston
setblock -512 40 1995 minecraft:air
# Piston from above with datapack reset
setblock -586 53 2009 minecraft:air
fill -586 50 2008 -586 53 2008 minecraft:air
setblock -586 53 2008 minecraft:sticky_piston[facing=down]
setblock -586 52 2008 minecraft:snow_block
setblock -586 51 2008 minecraft:snow_block
setblock -586 50 2008 minecraft:stone


# Caverns (Level 2)

# Piston
setblock -487 12 2015 minecraft:air
# Piston
setblock -532 15 2036 minecraft:air
# Piston
setblock -604 15 2021 minecraft:air
# Piston
setblock -513 16 1945 minecraft:air
# Piston
setblock -469 31 1978 minecraft:air


# Black Mines (Level 3)

# Piston
setblock -581 -14 1927 minecraft:air
# Piston
setblock -657 -3 1903 minecraft:air
# Piston
setblock -589 6 1897 minecraft:air
# Piston from far above
setblock -646 16 1905 minecraft:air
fill -645 16 1905 -645 4 1905 air
setblock -645 16 1905 minecraft:sticky_piston[facing=down]
setblock -645 15 1905 minecraft:smooth_basalt
setblock -645 14 1905 minecraft:deepslate[axis=y]
setblock -645 13 1905 minecraft:deepslate[axis=y]
setblock -645 12 1905 minecraft:deepslate[axis=y]
setblock -645 11 1905 minecraft:deepslate[axis=y]
setblock -645 10 1905 minecraft:deepslate[axis=y]
setblock -645 9 1905 minecraft:deepslate[axis=x]
setblock -645 8 1905 minecraft:deepslate[axis=x]
setblock -645 7 1905 minecraft:deepslate[axis=y]
setblock -645 6 1905 minecraft:deepslate[axis=y]
setblock -645 5 1905 minecraft:deepslate[axis=y]
# Piston and move sculk vein
setblock -656 5 1918 minecraft:air
# Piston
setblock -602 -11 1910 minecraft:air


# Deep Frost (Level 4)

# 2x Piston
setblock -564 -44 1911 minecraft:air
setblock -564 -44 1912 minecraft:air
setblock -564 -44 1913 minecraft:air
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Frozen Crypts (Level 1)

# Piston with terrain change for now, add evoker later
setblock -591 47 1964 minecraft:redstone_torch
# Light
setblock -564 49 1979 minecraft:tinted_glass
setblock -563 50 1979 minecraft:tinted_glass
# Light
setblock -553 46 1949 minecraft:light[level=11]
# Piston
setblock -549 52 2002 minecraft:redstone_torch
# Piston with terrain change
setblock -501 56 2003 minecraft:redstone_block
# Light
setblock -514 38 1986 minecraft:light[level=10]
# Piston
setblock -512 40 1989 minecraft:redstone_block
# Piston
setblock -512 40 1995 minecraft:redstone_block
# Piston from above with datapack reset
setblock -586 53 2009 minecraft:redstone_block


# Caverns (Level 2)

# Piston
setblock -487 12 2015 minecraft:redstone_block
# Piston
setblock -532 15 2036 minecraft:redstone_block
# Piston
setblock -604 15 2021 minecraft:redstone_block
# Piston
setblock -513 16 1945 minecraft:redstone_block
# Piston
setblock -469 31 1978 minecraft:redstone_torch


# Black Mines (Level 3)

# Piston
setblock -581 -14 1927 minecraft:redstone_block
# Piston
setblock -657 -3 1903 minecraft:redstone_block
# Piston
setblock -589 6 1897 minecraft:redstone_block
# Piston from far above
setblock -646 16 1905 minecraft:redstone_block
# Piston and move sculk vein
setblock -656 5 1918 minecraft:redstone_block
# Piston
setblock -602 -11 1910 minecraft:redstone_block


# Deep Frost (Level 4)

# 2x Piston
setblock -564 -44 1911 minecraft:redstone_block
setblock -564 -44 1912 minecraft:redstone_block
setblock -564 -44 1913 minecraft:redstone_block
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Frozen Crypts (Level 1)

# Piston with terrain change for now, add evoker later
execute if score $dungeon do2.config.maxClankBerries matches 0 run setblock -591 49 1964 minecraft:sticky_piston[facing=east]
execute if score $dungeon do2.config.maxClankBerries matches 0 run setblock -589 49 1965 minecraft:soul_lantern
execute if score $dungeon do2.config.maxClankBerries matches 0 unless block -589 49 1964 minecraft:snow_block run setblock -590 49 1964 minecraft:snow_block
execute if score $dungeon do2.config.maxClankBerries matches 0 run setblock -590 49 1963 minecraft:snow_block
execute if score $dungeon do2.config.maxClankBerries matches 1 run setblock -589 49 1965 minecraft:air
execute if score $dungeon do2.config.maxClankBerries matches 1 run setblock -590 49 1964 minecraft:soul_lantern
execute if score $dungeon do2.config.maxClankBerries matches 1 run setblock -590 49 1963 minecraft:air
execute if score $dungeon do2.config.maxClankBerries matches 1 run setblock -591 49 1964 minecraft:snow_block

# Piston with terrain change
execute if score $dungeon do2.config.maxClankBerries matches 0 run setblock -502 55 2004 minecraft:andesite_stairs[facing=north,half=top]
execute if score $dungeon do2.config.maxClankBerries matches 1 run setblock -502 55 2004 minecraft:air


# Black Mines (Level 3)

# Piston from far above
execute if score $dungeon do2.config.maxClankBerries matches 0 run fill -645 14 1905 -645 10 1905 minecraft:deepslate[axis=y]
execute if score $dungeon do2.config.maxClankBerries matches 1 run fill -645 14 1905 -645 10 1905 minecraft:air

# Piston and move sculk vein
execute if score $dungeon do2.config.maxClankBerries matches 0 unless block -654 5 1919 minecraft:cobbled_deepslate run setblock -654 5 1919 minecraft:air
execute if score $dungeon do2.config.maxClankBerries matches 0 run setblock -654 5 1918 minecraft:sculk_vein[west=true]
execute if score $dungeon do2.config.maxClankBerries matches 0 run setblock -654 5 1920 minecraft:sculk_vein[up=true]
execute if score $dungeon do2.config.maxClankBerries matches 1 run setblock -654 5 1919 minecraft:sculk_vein[west=true]
execute if score $dungeon do2.config.maxClankBerries matches 1 run setblock -654 5 1918 minecraft:air
execute if score $dungeon do2.config.maxClankBerries matches 1 run setblock -654 5 1920 minecraft:air
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Frozen Crypts (Level 1)

# Datapack age:0 for now, evoker later
execute if block -517 54 1960 minecraft:sweet_berry_bush[age=1] run setblock -517 54 1960 minecraft:sweet_berry_bush[age=0]

# Caverns (Level 2)

# Datapack age:0 for now, evoker later
execute if block -574 23 2013 minecraft:sweet_berry_bush[age=1] run setblock -574 23 2013 minecraft:sweet_berry_bush[age=0]

# Deep Frost (Level 4)

execute if block -602 -47 1893 minecraft:sweet_berry_bush[age=1] run setblock -602 -47 1893 minecraft:sweet_berry_bush[age=0]
execute if block -616 -48 1876 minecraft:sweet_berry_bush[age=1] run setblock -616 -48 1876 minecraft:sweet_berry_bush[age=0]
execute if block -657 -52 1848 minecraft:sweet_berry_bush[age=1] run setblock -657 -52 1848 minecraft:sweet_berry_bush[age=0]
# Towers
execute if block -603 -41 1841 minecraft:sweet_berry_bush[age=1] run setblock -603 -41 1841 minecraft:sweet_berry_bush[age=0]
execute if block -636 -41 1874 minecraft:sweet_berry_bush[age=1] run setblock -636 -41 1874 minecraft:sweet_berry_bush[age=0]
execute if block -599 -41 1878 minecraft:sweet_berry_bush[age=1] run setblock -599 -41 1878 minecraft:sweet_berry_bush[age=0]
execute if block -608 -39 1910 minecraft:sweet_berry_bush[age=1] run setblock -608 -39 1910 minecraft:sweet_berry_bush[age=0]
execute if block -569 -38 1906 minecraft:sweet_berry_bush[age=1] run setblock -569 -38 1906 minecraft:sweet_berry_bush[age=0]
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,11 @@ scoreboard objectives add do2.config.mc.level4Zones dummy "Whether level 4 shoul
scoreboard objectives add do2.config.mc.levelZoneMobCount dummy "How many mobs should be in each zone."


# Dungeon Config: Experimental (newEvokers currently unused)
scoreboard objectives add do2.config.newEvokers dummy "Whether to enable Tracked Out exclusive evoker spots"
scoreboard objectives add do2.config.maxClankBerries dummy "Whether to allow berries to grow after max clank has been reached"


# Player Config: Player's last used Dungeon Difficulty.
scoreboard objectives add do2.config.dungeonDifficulty dummy "Dungeon Difficulty"
# Player Config: Silence wardens when unneeded.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,8 @@ scoreboard players set $dungeon do2.config.useWorldCycle 0
scoreboard players set $dungeon do2.config.mc.controlSummons 0
scoreboard players set $dungeon do2.config.eggsUnlockDeepfrost 1

scoreboard players set $dungeon do2.config.newEvokers 1
scoreboard players set $dungeon do2.config.maxClankBerries 0

# Note that we've set the defaults already
scoreboard players set $dungeon do2.utility.setTrackedOutScoreDefaults 1
Loading

0 comments on commit 295304d

Please sign in to comment.