00ll00 6 лет назад
Родитель
Сommit
6069faff44

+ 3 - 0
data/item/functions/bonus_item/add_score.mcfunction

@@ -0,0 +1,3 @@
+#as player
+execute store result score #bonus_add_score mem run data get block 0 0 0 RecordItem.tag.bonus_add_score
+scoreboard players operation @s total_score += #bonus_add_score mem

+ 11 - 0
data/item/functions/bonus_item/bouns_item_tag.json

@@ -0,0 +1,11 @@
+{
+    "is_bonus": true,
+    "bonus_new": true,
+    "bonus_return": true,
+    "item_name":"{\"text\": \"破损的钓鱼竿\",\"color\": \"green\"}",
+    "bonus_add_score":15,
+    "bonus_give_items":[
+        {"id":"minecraft:stone","Count":64,"tag":{"is_bonus":true,"display":{"Name":"\"普通的石头\""}}},
+        {"id":"minecraft:arrow","Count":64,"tag":{"is_bonus":true}}
+    ]
+}

+ 6 - 0
data/item/functions/bonus_item/call.mcfunction

@@ -12,4 +12,10 @@ tellraw @a ["",{"text": ">> ","color":"aqua","bold": true},{"selector": "@s","co
 # 如果有 return 标签则退回物品
 execute if data block 0 0 0 RecordItem.tag{"bonus_return":1b} run function item:bonus_item/return_item
 
+# 如果有 add_score 标签则增加积分
+execute if data block 0 0 0 RecordItem.tag.bonus_add_score run function item:bonus_item/add_score
+
+# 如果有 give_items 标签则给与物品
+execute if data block 0 0 0 RecordItem.tag.bonus_give_items[0] run function item:bonus_item/give_items
+
 # TODO : [010] 通过判断 RecordItem.tag 里的自定义标签来决定捡起道具之后的事情(如增加积分)

+ 9 - 0
data/item/functions/bonus_item/give_items.mcfunction

@@ -0,0 +1,9 @@
+#as player
+setblock 0 0 1 jukebox replace
+data modify block 0 0 1 RecordItem set from block 0 0 0 RecordItem.tag.bonus_give_items[0]
+setblock 0 0 1 air destroy
+tag @s add item_op
+execute as @e[tag=!bonus_old,type=item,nbt={"Item":{"tag":{"is_bonus":1b}}},limit=1] run function item:bonus_item/tp
+tag @s remove item_op
+data remove block 0 0 0 RecordItem.tag.bonus_give_items[0]
+execute if data block 0 0 0 RecordItem.tag.bonus_give_items[0] run function item:bonus_item/give_items

+ 1 - 1
data/item/functions/test/get_test_item.mcfunction

@@ -1 +1 @@
-summon item ~ ~ ~ {Item:{id:"fishing_rod",Count:1,tag:{"is_bonus":1b,"bonus_new":1b,"bonus_return":1b,"item_name":'{"text":"破损的钓鱼竿","color":"green"}'}},CustomName:'{"text":"破损的钓鱼竿","color":"green"}',Tags:["team_green"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1}
+summon item ~ ~ ~ {Item:{id:"fishing_rod",Count:1,tag:{"is_bonus":1b,"bonus_new":1b,"bonus_return":1b,"bonus_add_score":15,"bonus_give_item":[{"id":"minecraft:stone","Count":64,"tag":{"is_bonus":1b,"display":{"Name":'"普通的石头"'}}}],"item_name":'{"text":"破损的钓鱼竿","color":"green"}'}},CustomName:'{"text":"破损的钓鱼竿","color":"green"}',Tags:["team_green"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1}

+ 5 - 0
data/ltw/functions/init.mcfunction

@@ -18,9 +18,14 @@ gamerule fireDamage false
 gamerule doTileDrops false
 
 # 主寄存区块:将所有需要不卸载的都放里面
+#   已占用: (0,0,0) (0,0,1)
 forceload add 0 0
 
 # 记分板
+scoreboard objectives remove health
+scoreboard objectives add health health "生命值"
+scoreboard objectives remove death
+scoreboard objectives add death deathCount "死亡触发"
 scoreboard objectives remove mem
 scoreboard objectives add mem dummy "全局变量"
 scoreboard objectives remove total_score