Kaynağa Gözat

可以根据轮次生成不同品质的物品了

LTCatt 6 yıl önce
ebeveyn
işleme
58c3385682

+ 13 - 0
data/item/functions/bonus_item/rank/random.mcfunction

@@ -1,2 +1,15 @@
 # 根据当前轮数生成随机品质的物品
 
+# 品质 = d100 + (轮数 - 5) x 10
+scoreboard players set $random_min mem -49
+scoreboard players set $random_max mem 50
+function lib:random
+scoreboard players operation $t_quality mem = $round mem
+scoreboard players operation $t_quality mem *= $c_10 mem
+scoreboard players operation $t_quality mem += $random mem
+
+# 根据品质生成不同的物品
+execute if score $t_quality mem matches ..34 run function item:bonus_item/rank/white
+execute if score $t_quality mem matches 35..64 run function item:bonus_item/rank/green
+execute if score $t_quality mem matches 65..84 run function item:bonus_item/rank/blue
+execute if score $t_quality mem matches 85.. run function item:bonus_item/rank/purple

+ 2 - 1
data/ltw/functions/init.mcfunction

@@ -42,7 +42,8 @@ scoreboard objectives add game_id dummy "游戏编号"
 scoreboard players set $ game_id 0
 
 # 常量
-scoreboard players set $global_mini_count mem 5
+scoreboard players set $c_mini_total mem 5
+scoreboard players set $c_10 mem 10
 
 # 队伍
 team remove player

+ 1 - 1
data/ltw/functions/state/3/newarray.mcfunction

@@ -1,4 +1,4 @@
-scoreboard players operation $randarray_max mem = $global_mini_count mem
+scoreboard players operation $randarray_max mem = $c_mini_total mem
 scoreboard players operation $randarray_last mem = $mini_type mem
 function lib:randarray/call
 data modify storage ltw:mini types set from storage lib:randarray out

+ 1 - 1
data/test/functions/mini/colormatch.mcfunction

@@ -2,7 +2,7 @@
 tag @a add hub_gameparty
 tag @a remove hub_watch
 function ltw:state/0/start_gameparty
-scoreboard players set $round mem 100
+scoreboard players set $round mem 5
 scoreboard players set $mini_type mem 4
 function mini:main/game_init
 function ltw:state/4/state_enter

+ 1 - 1
data/test/functions/mini/hotpm.mcfunction

@@ -2,7 +2,7 @@
 tag @a add hub_gameparty
 tag @a remove hub_watch
 function ltw:state/0/start_gameparty
-scoreboard players set $round mem 100
+scoreboard players set $round mem 1005
 scoreboard players set $mini_type mem 3
 function mini:main/game_init
 function ltw:state/4/state_enter

+ 1 - 1
data/test/functions/mini/parkour.mcfunction

@@ -2,7 +2,7 @@
 tag @a add hub_gameparty
 tag @a remove hub_watch
 function ltw:state/0/start_gameparty
-scoreboard players set $round mem 100
+scoreboard players set $round mem 5
 scoreboard players set $mini_type mem 1
 function mini:main/game_init
 function ltw:state/4/state_enter

+ 1 - 1
data/test/functions/mini/tntrun.mcfunction

@@ -2,7 +2,7 @@
 tag @a add hub_gameparty
 tag @a remove hub_watch
 function ltw:state/0/start_gameparty
-scoreboard players set $round mem 100
+scoreboard players set $round mem 5
 scoreboard players set $mini_type mem 2
 function mini:main/game_init
 function ltw:state/4/state_enter

+ 1 - 1
data/test/functions/mini/zombie.mcfunction

@@ -2,7 +2,7 @@
 tag @a add hub_gameparty
 tag @a remove hub_watch
 function ltw:state/0/start_gameparty
-scoreboard players set $round mem 100
+scoreboard players set $round mem 5
 scoreboard players set $mini_type mem 5
 function mini:main/game_init
 function ltw:state/4/state_enter