TNT8
RT.
我是这样想的
点击后扣除2个名为A的钻石
然后执行其它命令

请问应该怎么写?

xmdhs
left_click_requirement:
  requirements:
    test:
      type: has item
      material: "DIAMOND"
      amount: 2
  deny_commands:
    - '[message] 数量不足'
left_click_commands:
  - '[console] say run'
  - '[console] clear %player_name% DIAMOND -1 2'

https://wiki.helpch.at/clips-plu ... ations/requirements

小天吖~
https://www.mcbbs.net/thread-953320-1-1.html 十分全面的dm教程贴

TNT8
xmdhs 发表于 2020-3-26 19:46
left_click_requirement:
  requirements:
    test:

这个我晓得。。
就是能不能指定物品
名字必须为123的钻石才会扣除

小天吖~
这个是实例


xmdhs
TNT8 发表于 2020-3-26 19:47
这个我晓得。。
就是能不能指定物品
名字必须为123的钻石才会扣除

当然可以

clear %player_name% DIAMOND -1 2 {display:{Name:"123"}}

TNT8
xmdhs 发表于 2020-3-26 19:46
left_click_requirement:
  requirements:
    test:

我是这样写的
一点就提示检测不到物品
  1. left_click_requirement:
  2.       requirements:
  3.         1:
  4.           type: has item
  5.           material: "BRICK"
  6.           amount: 2
  7.           name: '&a? &f[&a通用弹夹&f]'
  8.           lore:
  9.           - '&a&l? &a============= &a&l?'
  10.           - '  &b&l物品级别: &f普通'
  11.           - '&a&l? &a============= &a&l?'
  12.           - ''
  13.           - '  &e可以与指挥官交换弹药'
  14.           - ''
  15.       deny_commands:
  16.       - '[message] &f你没有 &f[&a通用弹夹&f] &7x2'
  17.     left_click_commands:
复制代码

DreamVoid
  1. clear %player_name% minecraft:diamond 0 2 {display:{Name:"123"}}
复制代码

这个是清2个叫123的钻石的命令

TNT8
DreamVoid 发表于 2020-3-26 19:50
这个是清2个叫123的钻石的命令

移除出现这样的问题,没办法扣除名字复杂的吗
  1. CONSOLE issued server command: /clear apCoko BRICK -1 2 {display:{Name:"? [通用弹夹]"}}
  2. 移除 0 个 brick 自 apCoko.
复制代码

TNT8
xmdhs 发表于 2020-3-26 19:48
当然可以

clear %player_name% DIAMOND -1 2 {display:{Name:"123"}}

我这样写的
  1. clear %player_name% BRICK 2 0 {display:{Name:"&a? &f[&a通用弹夹&f]"}}
复制代码

点了之后就只会扣除普通的brick两个 带有名字的它不检测不扣除
晕了。

DreamVoid
我在我的1.12服务器上测试正常给与和清除物品的指令分别为
  1. <div>/give @p BRICK 1 1 {display:{Name:"? [通用弹夹]"}}</div><div>/clear @p BRICK 1 1 {display:{Name:"? [通用弹夹]"}}</div>
复制代码
不知道你的服务器是什么版本呢?

DreamVoid
TNT8 发表于 2020-3-26 20:02
我这样写的

点了之后就只会扣除普通的brick两个 带有名字的它不检测不扣除

请把物品名字中的“&”号换成“§”号,这才是颜色代码的前缀

xmdhs
TNT8 发表于 2020-3-26 20:02
我这样写的

点了之后就只会扣除普通的brick两个 带有名字的它不检测不扣除

原版命令里,你应该使用 § 而非 &

TNT8
DreamVoid 发表于 2020-3-26 20:03
请把物品名字中的“&”号换成“§”号,这才是颜色代码的前缀

服务器1.14.4
我用clear %player_name% BRICK 1 2 {display:{Name:"§a? §f[§a通用弹夹§f]"}}
他扣了我1个普通红砖。。。

TNT8
xmdhs 发表于 2020-3-26 20:04
原版命令里,你应该使用 § 而非 &

还是不行,还是只扣普通的brick

DreamVoid
TNT8 发表于 2020-3-26 20:05
服务器1.14.4
我用clear %player_name% BRICK 1 2 {display:{Name:"§a? §f[§a通用弹夹§f]"}}
他扣了 ...

请输入
  1. /minecraft:? clear
复制代码


然后把下面的提示一个个对照:

玩家 - %player_name%
物品 - brick
数据 - 1
最大量 - 2
数据标签 - {display:{Name:"§a? §f[§a通用弹夹§f]"}}

然后加上clear代码拼成命令放到配置文件试一下

TNT8

我一直在用dm执行的
游戏输入命令/minecraft:? clear 显示未知命令


DreamVoid
TNT8 发表于 2020-3-26 20:19
我一直在用dm执行的
游戏输入命令/minecraft:? clear 显示未知命令

对不起,我忘记了minecraft的命令从1.13以后改版了,很抱歉
请使用下面的命令清除物品:
  1. clear %player_name% minecraft:brick{display:{Name:"{"text":"§a? §f[§a通用弹夹§f]"}"}} 2
复制代码