LTCatt 6 ani în urmă
părinte
comite
a503649358

+ 1 - 2
data/ltw/functions/main/player_leave.mcfunction

@@ -10,5 +10,4 @@ execute if score $state mem matches 1.. if score $game_type mem matches 1 if sco
 execute if score $state mem matches 5 if score $mini_type mem matches 3 run function mini:hotpm/player_leave
 
 # FIXME : [010] 物品依然偶尔给不了 [尝试过5tick改模式]
-# TODO : 摸新的大厅
-# TODO : [LTCat] 跑酷计时结束
+# TODO : 摸新的大厅

+ 1 - 1
data/mini/functions/main/game_start.mcfunction

@@ -2,7 +2,7 @@
 # HUD
 execute if score $mini_type mem matches 1 run scoreboard objectives setdisplay list total_score_disp
 execute if score $mini_type mem matches 1 run scoreboard objectives setdisplay belowName total_score_disp
-execute if score $mini_type mem matches 1 run scoreboard objectives setdisplay sidebar total_score
+execute if score $mini_type mem matches 1 run scoreboard objectives setdisplay sidebar treasure
 execute if score $mini_type mem matches 2 run scoreboard objectives setdisplay list total_score_disp
 execute if score $mini_type mem matches 2 run scoreboard objectives setdisplay belowName total_score_disp
 execute if score $mini_type mem matches 2 run scoreboard objectives setdisplay sidebar total_score

+ 45 - 0
data/mini/functions/parkour/game/test_treasure.mcfunction

@@ -0,0 +1,45 @@
+# 1009.52 14.08 1007.45 营地屋顶
+# 1021.53 15.95 1016.63 沙漠骨骸
+# 1007.72 30.50 1019.92 神庙立柱
+# 1011.66 19.16 1058.34 下界之门
+# 1026.56 18.30 1047.10 落日森林
+# 1004.50 18.50 1043.50 地狱之顶
+# 1013.08 08.30 1040.86 节奏舞厅
+# 1007.35 13.30 1025.31 末路营火
+
+tag @a remove get_treasure
+
+execute positioned 1009.52 14.08 1007.45 as @a[tag=!treasure1,tag=!watcher,tag=!debug,distance=..1] unless entity @a[tag=treasure1] run tellraw @a ["",{"text": ">> ","color":"green","bold": true},{"selector": "@s","color":"green"} , "第一个获得了 ",{"text": "营地屋顶"}," 的宝藏!"]
+execute positioned 1009.52 14.08 1007.45 as @a[tag=!treasure1,tag=!watcher,tag=!debug,distance=..1] run tag @s add get_treasure
+execute positioned 1009.52 14.08 1007.45 as @a[tag=!treasure1,tag=!watcher,tag=!debug,distance=..1] run tag @s add treasure1
+
+execute positioned 1021.53 15.95 1016.63 as @a[tag=!treasure2,tag=!watcher,tag=!debug,distance=..1] unless entity @a[tag=treasure2] run tellraw @a ["",{"text": ">> ","color":"green","bold": true},{"selector": "@s","color":"green"} , "第一个获得了 ",{"text": "沙漠骨骸"}," 的宝藏!"]
+execute positioned 1021.53 15.95 1016.63 as @a[tag=!treasure2,tag=!watcher,tag=!debug,distance=..1] run tag @s add get_treasure
+execute positioned 1021.53 15.95 1016.63 as @a[tag=!treasure2,tag=!watcher,tag=!debug,distance=..1] run tag @s add treasure2
+
+execute positioned 1007.72 30.50 1019.92 as @a[tag=!treasure3,tag=!watcher,tag=!debug,distance=..1] unless entity @a[tag=treasure3] run tellraw @a ["",{"text": ">> ","color":"green","bold": true},{"selector": "@s","color":"green"} , "第一个获得了 ",{"text": "神庙立柱"}," 的宝藏!"]
+execute positioned 1007.72 30.50 1019.92 as @a[tag=!treasure3,tag=!watcher,tag=!debug,distance=..1] run tag @s add get_treasure
+execute positioned 1007.72 30.50 1019.92 as @a[tag=!treasure3,tag=!watcher,tag=!debug,distance=..1] run tag @s add treasure3
+
+execute positioned 1011.66 19.16 1058.34 as @a[tag=!treasure4,tag=!watcher,tag=!debug,distance=..1] unless entity @a[tag=treasure4] run tellraw @a ["",{"text": ">> ","color":"green","bold": true},{"selector": "@s","color":"green"} , "第一个获得了 ",{"text": "下界之门"}," 的宝藏!"]
+execute positioned 1011.66 19.16 1058.34 as @a[tag=!treasure4,tag=!watcher,tag=!debug,distance=..1] run tag @s add get_treasure
+execute positioned 1011.66 19.16 1058.34 as @a[tag=!treasure4,tag=!watcher,tag=!debug,distance=..1] run tag @s add treasure4
+
+execute positioned 1026.56 18.30 1047.10 as @a[tag=!treasure5,tag=!watcher,tag=!debug,distance=..1] unless entity @a[tag=treasure5] run tellraw @a ["",{"text": ">> ","color":"green","bold": true},{"selector": "@s","color":"green"} , "第一个获得了 ",{"text": "落日森林"}," 的宝藏!"]
+execute positioned 1026.56 18.30 1047.10 as @a[tag=!treasure5,tag=!watcher,tag=!debug,distance=..1] run tag @s add get_treasure
+execute positioned 1026.56 18.30 1047.10 as @a[tag=!treasure5,tag=!watcher,tag=!debug,distance=..1] run tag @s add treasure5
+
+execute positioned 1004.50 18.50 1043.50 as @a[tag=!treasure6,tag=!watcher,tag=!debug,distance=..1] unless entity @a[tag=treasure6] run tellraw @a ["",{"text": ">> ","color":"green","bold": true},{"selector": "@s","color":"green"} , "第一个获得了 ",{"text": "地狱之顶"}," 的宝藏!"]
+execute positioned 1004.50 18.50 1043.50 as @a[tag=!treasure6,tag=!watcher,tag=!debug,distance=..1] run tag @s add get_treasure
+execute positioned 1004.50 18.50 1043.50 as @a[tag=!treasure6,tag=!watcher,tag=!debug,distance=..1] run tag @s add treasure6
+
+execute positioned 1013.08 08.30 1040.86 as @a[tag=!treasure7,tag=!watcher,tag=!debug,distance=..1] unless entity @a[tag=treasure7] run tellraw @a ["",{"text": ">> ","color":"green","bold": true},{"selector": "@s","color":"green"} , "第一个获得了 ",{"text": "节奏舞厅"}," 的宝藏!"]
+execute positioned 1013.08 08.30 1040.86 as @a[tag=!treasure7,tag=!watcher,tag=!debug,distance=..1] run tag @s add get_treasure
+execute positioned 1013.08 08.30 1040.86 as @a[tag=!treasure7,tag=!watcher,tag=!debug,distance=..1] run tag @s add treasure7
+
+execute positioned 1007.35 13.30 1025.31 as @a[tag=!treasure8,tag=!watcher,tag=!debug,distance=..1] unless entity @a[tag=treasure8] run tellraw @a ["",{"text": ">> ","color":"green","bold": true},{"selector": "@s","color":"green"} , "第一个获得了 ",{"text": "末路营火"}," 的宝藏!"]
+execute positioned 1007.35 13.30 1025.31 as @a[tag=!treasure8,tag=!watcher,tag=!debug,distance=..1] run tag @s add get_treasure
+execute positioned 1007.35 13.30 1025.31 as @a[tag=!treasure8,tag=!watcher,tag=!debug,distance=..1] run tag @s add treasure8
+
+execute as @a[tag=get_treasure] at @s run function lib:sounds/levelup
+scoreboard players add @a[tag=get_treasure] treasure 1

+ 4 - 0
data/mini/functions/parkour/game_end.mcfunction

@@ -1,4 +1,8 @@
 # 结束跑酷
 forceload remove 1000 1000 1064 1064
 
+# 关闭节奏块
 scoreboard players set $tempo_enable mem 0
+
+# 计算得分
+execute as @a[tag=!watcher,tag=!debug] run scoreboard players operation @s mini_score = @s treasure

+ 18 - 0
data/mini/functions/parkour/game_init.mcfunction

@@ -33,6 +33,24 @@ summon minecraft:falling_block 1014 22 1056 {Time:1,NoGravity:1b,BlockState:{Nam
 summon minecraft:falling_block 1014 23 1057 {Time:1,NoGravity:1b,BlockState:{Name:"nether_portal",Properties:{axis:z}},Tags:["parkour_block"]}
 summon minecraft:falling_block 1014 23 1056 {Time:1,NoGravity:1b,BlockState:{Name:"nether_portal",Properties:{axis:z}},Tags:["parkour_block"]}
 
+# 生成宝藏实体
+# 1009.52 14.08 1007.45 营地屋顶
+# 1021.53 15.95 1016.63 沙漠骨骸
+# 1007.72 30.50 1019.92 神庙立柱
+# 1011.66 19.16 1058.34 下界之门
+# 1026.56 18.30 1047.10 落日森林
+# 1004.50 18.50 1043.50 地狱之顶
+# 1013.08 08.30 1040.86 节奏舞厅
+# 1007.35 13.30 1025.31 末路营火
+summon item 1009.52 14.08 1007.45 {Tags:["treasure_item"],Age:-32768,PickupDelay:32768,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"chest",Count:1}}
+summon item 1021.53 15.95 1016.63 {Tags:["treasure_item"],Age:-32768,PickupDelay:32768,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"chest",Count:1}}
+summon item 1007.72 30.50 1019.92 {Tags:["treasure_item"],Age:-32768,PickupDelay:32768,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"chest",Count:1}}
+summon item 1011.66 19.16 1058.34 {Tags:["treasure_item"],Age:-32768,PickupDelay:32768,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"chest",Count:1}}
+summon item 1026.56 18.30 1047.10 {Tags:["treasure_item"],Age:-32768,PickupDelay:32768,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"chest",Count:1}}
+summon item 1004.50 18.50 1043.50 {Tags:["treasure_item"],Age:-32768,PickupDelay:32768,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"chest",Count:1}}
+summon item 1013.08 08.30 1040.86 {Tags:["treasure_item"],Age:-32768,PickupDelay:32768,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"chest",Count:1}}
+summon item 1007.35 13.30 1025.31 {Tags:["treasure_item"],Age:-32768,PickupDelay:32768,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"chest",Count:1}}
+
 # 伤害管理
 scoreboard players set $remove_resistance mem 0
 team modify player friendlyFire false

+ 3 - 1
data/mini/functions/parkour/game_start.mcfunction

@@ -1,2 +1,4 @@
 # 游戏结束倒计时
-scoreboard players set $countdown mem 200
+scoreboard players set $countdown mem 200
+
+scoreboard players reset * treasure

+ 3 - 0
data/mini/functions/parkour/init.mcfunction

@@ -0,0 +1,3 @@
+# 重置计分板
+scoreboard objectives remove treasure
+scoreboard objectives add treasure dummy "已获得宝藏"

+ 12 - 0
data/mini/functions/parkour/player_enter.mcfunction

@@ -9,6 +9,18 @@ effect give @s saturation 1000000 0 true
 gamerule naturalRegeneration true
 effect give @s resistance 1000000 4 true
 
+# 计分板重置
+scoreboard players reset @s treasure
+scoreboard players set @s[tag=!watcher,tag=!rejoining,tag=!debug] treasure 0
+tag @s remove treasure1
+tag @s remove treasure2
+tag @s remove treasure3
+tag @s remove treasure4
+tag @s remove treasure5
+tag @s remove treasure6
+tag @s remove treasure7
+tag @s remove treasure8
+
 # 传送玩家
 tp @s[tag=!watcher,tag=!rejoining,tag=!debug] 1010.07 7.50 1006.98 -1518.69 -10.62
 

+ 3 - 0
data/mini/functions/parkour/tick2.mcfunction

@@ -1,2 +1,5 @@
 # 传送门粒子
 particle portal 1014.5 21.5 1057.0 0 1.5 1 1 15
+
+# 测试宝藏
+function mini:parkour/game/test_treasure

+ 0 - 2
data/mini/functions/slime/tick20.mcfunction

@@ -34,5 +34,3 @@ execute if score $countdown mem matches 6 as @a at @s run function lib:sounds/er
 execute if score $countdown mem matches 1 run function mini:slime/game/summon
 execute if score $countdown mem matches 1 run tellraw @a ["",{"text": ">> ","color":"red","bold": true},{"text": "新的史莱姆已空投!","color":"red"}]
 execute if score $countdown mem matches 1 as @a at @s run function lib:sounds/teleport
-
-# FIXME : [LTCat] 第一名偷分疑似会偷到第二名