Skip to content

Commit

Permalink
Dropper: improved user-friendlyness
Browse files Browse the repository at this point in the history
  • Loading branch information
VForiel committed Jan 4, 2024
1 parent 14b93e7 commit a82cc1c
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 24 deletions.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
setblock 123 99 8 minecraft:andesite_stairs[facing=south,half=bottom,shape=straight,waterlogged=false] destroy
setblock 123 99 9 minecraft:air destroy
setblock 123 99 9 minecraft:oak_wall_sign[facing=south,waterlogged=false]{back_text:{color:"black",has_glowing_text:0b,messages:['{"text":""}','{"text":""}','{"text":""}','{"text":""}']},front_text:{has_glowing_text:0b,messages:['{"clickEvent":{"action":"run_command","value":"function #dropper:start"},"color":"green","text":" "}','{"color":"green","text":"Start"}','{"color":"green","text":"DROPPER"}','{"text":""}']},is_waxed:0b}
setblock 135 85 -4 minecraft:quartz_pillar destroy
setblock 135 85 -3 minecraft:air destroy
setblock 135 85 -3 minecraft:oak_wall_sign[facing=south,waterlogged=false]{back_text:{color:"black",has_glowing_text:0b,messages:['{"text":""}','{"text":""}','{"text":""}','{"text":""}']},front_text:{has_glowing_text:0b,messages:['{"clickEvent":{"action":"run_command","value":"function #dropper:start"},"color":"green","text":" "}','{"color":"green","text":"Start"}','{"color":"green","text":"DROPPER"}','{"text":""}']},is_waxed:0b}
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
setblock 123 99 8 minecraft:andesite_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low] destroy
setblock 123 99 9 minecraft:air destroy
setblock 135 85 -4 minecraft:air destroy
setblock 135 85 -3 minecraft:air destroy
30 changes: 20 additions & 10 deletions minigames/data/dropper/functions/obstacles/generate.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ function dropper:obstacles/remove_all

execute if score #dropper.timer_before_jump_reset data matches 66 run execute as @a[team=dropper] at @s run playsound block.stone_button.click_on master @s ~ ~ ~ 1 2 0


execute store result score #dropper.obstacle data run random value 0..4
execute if score #dropper.obstacle data > #dropper.round data run scoreboard players set #dropper.obstacle data 0
execute if score #dropper.round data matches 1 run scoreboard players set #dropper.obstacle data 0
# During the two first rounds, there is no bottom obstacle
execute if score #dropper.round data matches 1..2 run scoreboard players set #dropper.obstacle data 0
# During third round, there is always one
execute if score #dropper.round data matches 3 store result score #dropper.obstacle data run random value 1..4
# After that, full random
execute if score #dropper.round data matches 4.. store result score #dropper.obstacle data run random value 0..4

execute if score #dropper.obstacle data matches 0 run tellraw @a[team=dropper] [{"text":"DROPPER > ","color":"green","bold":true,"italic":true},{"text":" Obstacle 1: Nothing","color":"yellow","bold":false,"italic":false}]
execute if score #dropper.obstacle data matches 1 run tellraw @a[team=dropper] [{"text":"DROPPER > ","color":"green","bold":true,"italic":true},{"text":" Obstacle 1: Cross-shaped sail","color":"yellow","bold":false,"italic":false}]
Expand All @@ -19,9 +21,14 @@ execute if score #dropper.obstacle data matches 2 run place template dropper:obs
execute if score #dropper.obstacle data matches 3 run place template dropper:obstacle_3 113 165 -15
execute if score #dropper.obstacle data matches 4 run place template dropper:obstacle_4 113 165 -15

execute store result score #dropper.obstacle data run random value 0..4
execute if score #dropper.obstacle data > #dropper.round data run scoreboard players set #dropper.obstacle data 0
execute if score #dropper.round data matches 2 run scoreboard players set #dropper.obstacle data 0
# During the first round, there is no mid obstacle
execute if score #dropper.round data matches 1 run scoreboard players set #dropper.obstacle data 0
# During second round, there is always one
execute if score #dropper.round data matches 2 store result score #dropper.obstacle data run random value 1..4
# During third round, there is no mid obstacle
execute if score #dropper.round data matches 3 run scoreboard players set #dropper.obstacle data 0
# After that, full random
execute if score #dropper.round data matches 4.. store result score #dropper.obstacle data run random value 0..4

execute if score #dropper.obstacle data matches 0 run tellraw @a[team=dropper] [{"text":"DROPPER > ","color":"green","bold":true,"italic":true},{"text":" Obstacle 2: Nothing","color":"yellow","bold":false,"italic":false}]
execute if score #dropper.obstacle data matches 1 run tellraw @a[team=dropper] [{"text":"DROPPER > ","color":"green","bold":true,"italic":true},{"text":" Obstacle 2: Cross-shaped sail","color":"yellow","bold":false,"italic":false}]
Expand All @@ -34,9 +41,12 @@ execute if score #dropper.obstacle data matches 2 run place template dropper:obs
execute if score #dropper.obstacle data matches 3 run place template dropper:obstacle_3 113 135 -15
execute if score #dropper.obstacle data matches 4 run place template dropper:obstacle_4 113 135 -15

execute store result score #dropper.obstacle data run random value 0..4
execute if score #dropper.obstacle data > #dropper.round data run scoreboard players set #dropper.obstacle data 0
execute if score #dropper.round data matches 1 run scoreboard players set #dropper.obstacle data 0
# During the two first rounds, there is no top obstacle
execute if score #dropper.round data matches 1..2 run scoreboard players set #dropper.obstacle data 0
# During third round, there is always one
execute if score #dropper.round data matches 3 store result score #dropper.obstacle data run random value 1..4
# After that, full random
execute if score #dropper.round data matches 4.. store result score #dropper.obstacle data run random value 0..4

execute if score #dropper.obstacle data matches 0 run tellraw @a[team=dropper] [{"text":"DROPPER > ","color":"green","bold":true,"italic":true},{"text":" Obstacle 3: Nothing\n","color":"yellow","bold":false,"italic":false}]
execute if score #dropper.obstacle data matches 1 run tellraw @a[team=dropper] [{"text":"DROPPER > ","color":"green","bold":true,"italic":true},{"text":" Obstacle 3: Cross-shaped sail\n","color":"yellow","bold":false,"italic":false}]
Expand Down
6 changes: 3 additions & 3 deletions minigames/data/dropper/functions/start/pre_start.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ function #lib:start_animation {\
id: "dropper",\
minigame: "DROPPER",\
color: "green",\
x: 123.5,\
y: 99.5,\
z: 10.5,\
x: 135.5,\
y: 85.5,\
z: -3.5,\
size: 5,\
start_callback: "dropper:start/start",\
cancel_callback: "dropper:map/place_starting_sign"\
Expand Down
7 changes: 4 additions & 3 deletions minigames/data/jump/functions/checkpoint/active.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@ $execute as @a[team=jump,scores={jump.step=0}] unless data entity @s Inventory[{
execute store result score #jump.y_limit data run data get entity @s data.jump.checkpoint_properties.y_limit 1000
execute as @a[team=jump,scores={jump.step=0}] if score @s pos.y < #jump.y_limit data run tag @s add jump.fall
scoreboard players operation @e[tag=jump.checkpoint,distance=0.1..] jump.step -= @s jump.step
execute as @a[tag=jump.fall] at @s run particle dust 0.565 0.000 1.000 1 ~ ~1 ~ 0.3 0.7 0.3 0 50 normal @s
execute as @a[tag=jump.fall] at @s run particle dust 0.565 0.000 1.000 1 ~ ~1 ~ 0.3 0.7 0.3 0 50 normal @a

execute as @a[tag=jump.fall] at @s positioned as @e[tag=jump.checkpoint,scores={jump.step=-1}] run tp @s ~ ~1 ~
execute as @a[tag=jump.fall] at @s positioned as @e[tag=jump.checkpoint,scores={jump.step=-1}] if block ~ ~ ~ air run tp @s ~ ~ ~
execute as @a[tag=jump.fall] at @s run particle dust 0.565 0.000 1.000 1 ~ ~1 ~ 0.5 1 0.5 0 100 normal @s

execute as @a[tag=jump.fall] at @s run particle dust 0.565 0.000 1.000 1 ~ ~1 ~ 0.5 1 0.5 0 100 normal @a
execute as @a[tag=jump.fall] at @s run playsound entity.enderman.teleport master @s ~ ~ ~ 1 2 0
scoreboard players operation @e[tag=jump.checkpoint,distance=0.1..] jump.step += @s jump.step
tag @a[tag=jump.fall] remove jump.fall
Expand Down
8 changes: 5 additions & 3 deletions minigames/data/jump/functions/checkpoint/place_all.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,16 @@ function jump:checkpoint/place {x:-274.5,y:105.5,z:0.5,size:2.5,time:140,y_limit
function jump:checkpoint/place {x:-288.0001,y:105.0,z:8.7,size:1.0,time:150,y_limit:100.0}
function jump:checkpoint/place {x:-265.5,y:110.5,z:20.5,size:2.0,time:180,y_limit:104.0}
function jump:checkpoint/place {x:-278.5,y:104.5,z:16.3,size:0.7,time:140,y_limit:103.0}
function jump:checkpoint/place {x:-291.5,y:108.0,z:16.3,size:0.7,time:100,y_limit:103.0}
function jump:checkpoint/place {x:-282.5,y:104.5,z:16.3,size:0.7,time:70,y_limit:103.0}
function jump:checkpoint/place {x:-291.5,y:108.0,z:16.3,size:0.7,time:30,y_limit:103.0}
function jump:checkpoint/place {x:-306.5,y:107.0,z:13.5,size:1.5,time:80,y_limit:104.0}
function jump:checkpoint/place {x:-317.5,y:106.5,z:19.5,size:2.5,time:130,y_limit:103.0}
function jump:checkpoint/place {x:-298.5,y:107.0,z:29.5,size:2.5,time:180,y_limit:103.0}
function jump:checkpoint/place {x:-326.5,y:106.0,z:33.5,size:3.5,time:700,y_limit:101.0}
function jump:checkpoint/place {x:-328.5,y:115.0,z:21.5,size:2.5,time:150,y_limit:104.0}
function jump:checkpoint/place {x:-357.5,y:105.5,z:26.5,size:2.5,time:150,y_limit:101.0}
function jump:checkpoint/place {x:-340.5,y:103.0,z:15.5,size:2.5,time:120,y_limit:99.0}
function jump:checkpoint/place {x:-352.5,y:102.5,z:28.5,size:2.5,time:150,y_limit:101.0}
function jump:checkpoint/place {x:-355.5,y:101.5,z:17.5,size:2.5,time:60,y_limit:101.0}
function jump:checkpoint/place {x:-340.5,y:103.0,z:15.5,size:2.5,time:60,y_limit:99.0}
function jump:checkpoint/place {x:-326.5,y:103.0,z:11.5,size:2.5,time:130,y_limit:100.0}
function jump:checkpoint/place {x:-332.5,y:108.0,z:8.5,size:2.5,time:80,y_limit:101.0}
function jump:checkpoint/place {x:-327.5,y:110.0,z:1.5,size:2.5,time:60,y_limit:105.0}
Expand Down
4 changes: 4 additions & 0 deletions minigames/data/jump/functions/stop/timesup.mcfunction
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
execute at @s run particle dust 0.565 0.000 1.000 1 ~ ~1 ~ 0.3 0.7 0.3 0 50 normal @a
tp @s -311.5 97 16.5 0 0
execute at @s run playsound entity.enderman.teleport master @s ~ ~ ~ 1 2 0
execute at @s run particle dust 0.565 0.000 1.000 1 ~ ~1 ~ 0.3 0.7 0.3 0 50 normal @a
function #global:animated_title {type:"timesup"}
tellraw @s [{"text":"\nJUMP > ","bold":true,"italic":true,"color":"dark_purple"},{"text":"You arrived at step ","bold":false,"italic":false,"color":"gray"},{"score":{"name":"@s","objective":"jump.step"},"bold":true,"italic":false,"color":"green"},{"text":"\n"}]
function #jump:reset_player

0 comments on commit a82cc1c

Please sign in to comment.