【我的世界】免举商店 一个售卖点只需一个命令块,支持vip打折系统

首先要创建两个计分板
/scoreboard objectives add 金币 dummy 作为货币
/scoreboard objectives add 金币_ dummy 用于后台数据同步
/scoreboard objectives add 价格 dummy 设定价格用
核心cb部分:
循环无条件:
execute @a ~ ~ ~ scoreboard players operation @s 金币_ = @s 金币
接下来都是连锁无条件:
处理钱不够:
execute @a[scores={价格=1..}] ~ ~ ~ scoreboard players operation @s 金币_ -= @s 价格
/execute @a[scores={金币_=..-1,价格=0..}] ~ ~ ~ tellraw @s {"rawtext":[{"text":"§f丨丨 §c你的金币不够!\n§f丨丨 §c你至少需要§f§l"},{"score":{"name":"@s","objective":"价格"}},{"text":"§r§c枚金币才能购买该商品!"}]}
/execute @a[scores={金币_=..-1,价格=0..}] ~ ~ ~ particle minecraft:knockback_roar_particle ~ ~ ~
/execute @a[scores={金币_=..-1,价格=0..}] ~ ~ ~ playsound block.false_permissions @s
/execute @a[scores={金币_=..-1,价格=0..}] ~ ~ ~ title @s title §r
/execute @a[scores={金币_=..-1,价格=0..}] ~ ~ ~ title @s subtitle §c✘
/execute @a[scores={金币_=..-1,价格=0..}] ~ ~ ~ /scoreboard players reset @s 价格
处理钱够:
/execute @a[scores={金币_=0..,价格=0..}] ~ ~ ~ titleraw @s title {"rawtext":[{"text":"§r"}]}
/execute @a[scores={金币_=0..,价格=0..}] ~ ~ ~ titleraw @s subtitle {"rawtext":[{"text":"§a购买成功!"}]}
/execute @a[scores={金币_=0..,价格=0..}] ~ ~ ~ /clone ~ ~-3 ~ ~ ~-3 ~ ~ ~1 ~
/execute @a[scores={金币_=0..,价格=0..}] ~ ~ ~ setblock ~ ~1 ~ air 0 destroy
/execute @a[scores={金币_=0..,价格=0..}] ~ ~ ~ scoreboard players operation @s 金币 -= @s 价格
/execute @a[scores={金币_=0..,价格=0..}] ~ ~ ~ kill @e[name=木桶,type=item,r=5]
/execute @a[scores={金币_=0..,价格=0..}] ~ ~ ~ playsound random.orb @s ~ ~ ~ 200 3
/execute @a[scores={金币_=0..,价格=0..}] ~ ~ ~ camerashake add @s 0.3 0.1
/execute @a[scores={金币_=0..,价格=0..}] ~ ~ ~ tellraw @s {"rawtext":[{"text":"§f丨丨 §a购买成功 §f-"},{"score":{"name":"@s","objective":"价格"}}]}
/execute @a[scores={金币_=0..,价格=0..}] ~ ~ ~ /playsound camera.take_picture @s ~ ~ ~ 20 1
/execute @a[scores={金币_=0..,价格=0..}] ~ ~ ~ particle minecraft:knockback_roar_particle ~ ~1 ~
/execute @a[scores={金币_=0..,价格=0..}] ~ ~ ~ /scoreboard players reset @s 价格
设置商品,依次放置:
按钮
➕
任意非红石块的方块
➕
脉冲无条件命令方块:
/scoreboard players set @p[dy=3] 价格 0 (0可以自定义)
➕
木桶(内装购买成功后给予的物品)
➕
拒绝方块(可以不加)