陈皮_no橘皮
本帖最后由 陈皮_no橘皮 于 2020-4-25 20:23 编辑
注:本帖适合于有命令基础的人(即了解大部分命令的用处,小部分命令可以较为熟练的进行运用)即使完全不会命令的萌新仍然可以理解,但仍不推荐进行学习,本贴是实战+教程两用贴,您可以根据实际情况来进行阅读,命令构思均为原创,如有雷同,纯属巧合,命令或许不是最简,尽请谅解,最后感谢您的观看


计分板复合准则的实际运用——
食物效果注:此方法存在bug,

by:chen_skin



课前准备:我们需要一个命令方块
  1. /give @a minecraft:command_block
复制代码

首先我们创建一个计分板
  1. /scoreboard objectives add 【计分板名字】 minecraft.used:minecraft.cookie
复制代码
tip:计分板名称可任意,这里命名为effect_cookie

注释:minecraft.used:minecraft.cookie即为当玩家使用曲奇时增加1
什么是计分板的复合准则?


当你输入此指令后并吃下曲奇,你刚才创建的计分板加1。

  1. scoreboard players add @a 【计分板名字】1
复制代码
(以上内容已讲解,请前往此贴这里,将不继续详解)


  1. effect give @a[scores={effect_cookie=1..}] minecraft:fire_resistance 30 0 true
复制代码


  1. scoreboard players set @a[scores={effect_cookie=1..}] effect_cookie 0
复制代码

即为当所有玩家的名为effect_cookie的计分板为1时给予玩家30秒5级隐藏粒子效果的防火,之后我们在将所有人的计分板重置为0


测试:

但是,这里就有问题了,即吃下任何曲奇都会获得此效果,那么怎么样让他吃下特定的曲奇才有效果?这里就要用到我们的tag标签了

这时我们就有了带有tag的曲奇(tag的名称可随意)
  1. /give @p minecraft:slime_ball{display:{Name:"[{"text":"<span style="background-color: cyan;">物品名称</span>","color":"dark_red","bold":true,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false}]"},Tags:["<span style="background-color: cyan;">tag名称</span>"],Enchantments:[{}]} 1<font color="#ffffff"> <span style="background-color: red;">部分内容自行修改</span></font>
复制代码
光改物品肯定不够,我们还要让命令方块检测到包含tag后再有效果,否则只是普通的曲奇
那么就要用到excute指令了
  1. execute if entity @a[nbt={SelectedItem:{tag:{Tags:["effect_cookie"]}}}] run <font color="#ff0000">一条命令(如果你想还可以套娃,再来个excute指令)</font>
复制代码




最终测试:

然后我又创建了个神奇的玩意

接下来的不写了直接发我爆肝出来的图(请勿转载


成果展示链接:链接:https://share.weiyun.com/5QFJo6m

密码



陈皮_no橘皮
本帖最后由 陈皮_no橘皮 于 2020-4-25 17:56 编辑

注:此方法存在bug,
以曲奇为例即吃完普通曲奇后数据加1再切换到设定好的曲奇仍然可以获得药效,且必须手持两个设定好的曲奇才会有效果

原标题:【原创】计分板复合准则的综合运用—进食食物获取效水效果/中级红石教程.02(因名称太长被打回


血麟
MCBBS有你更精彩~

Ruainbow_
1.你的版本在1.13+,这种效果完全可以用进度解决。
2.都1.16了不会还有人把命令算入红石技术吧,不会吧不会吧
3.自定义物品推荐使用id自定义标签来标记。
4.都1.16了还搁这整红石比较器呢,这玩意儿不是1.9就被淘汰了吗= =+虽然数据包使用中不是绝对优于命令方块,但是不但使用命令方块,还在命令方块组,特别是需要超频的命令方块组中使用红石...我无语了。

陈皮_no橘皮
Ruainbow_ 发表于 2020-4-28 03:39
1.你的版本在1.13+,这种效果完全可以用进度解决。
2.都1.16了不会还有人把命令算入红石技术吧,不会吧不会 ...

1.首先我给你纠错不是进度而是统计,但我是真没想可以使用这个,我深感抱歉造成了bug
2.并没有算在红石技术啊,我点错了投稿分区吗?如果有请告知,将立刻修改之前的帖子并没有放到红石技术里
3.感谢你的建议我命令小白可能有问题请见谅,重置版我可能将会之后发出
4.诚然红石比较器可能并不太适合,但红石比较器在命令方块的应用中并没有淘汰,尤其是减法模式
具体如果你有简化意见我请求你发出以供我学习,感谢

lun_yi~
命令的bug 其实是基础的小技巧不知道,。。 bbs里有数据包入门教程啊,属于物品设计。 特定物品有Tags。循环函数(指令) 第一条检测到既有特定tag(第4条给持有特定物品玩家加上的tag)又满足 吃物品记分版为1 的玩家触发效果 第2条重置记分版 第三条 移除个玩家的特定tag 第4条给持有特定物品的玩家加上特定tag。原理大概是循环函数每t执行一次 而食用物品记分版加1的这一t上一t一定持有物品的,所以如果是特定物品这一t第一条就能执行,反之不能  要是我会发帖就好了,,,

lun_yi~
372369534 发表于 2020-4-28 23:23
命令的bug 其实是基础的小技巧不知道,。。 bbs里有数据包入门教程啊,属于物品设计。 特定物品有Tags。循 ...

没标序号有点乱  个字删掉

VCS-Official
陈皮_no橘皮 发表于 2020-4-28 21:14
1.首先我给你纠错并不是进度而是统计,但我是真没想可以使用这个,我深感抱歉造成了bug
2.并没有算在红石 ...

1.进度是进度,advancement,统计是统计,stats。
2.标题有红石教程字样,可能是我理解错了,抱歉。
3.期待你的重置
4.在命令系统特别是多人使用的系统中,红石尤其红石比较器是最大的不稳定性因素之一。主要原因是延迟和复位的原因,以及同时只能处理一个输入。实际操作中有很多可以替代红石的更优选择。
————————————————
关于优化:
所谓食物效果只需要应用进度即可。
使用minecraft:consume_item触发器,检测玩家食用了指定的带有指定NBT的物品;
reward中使用函数,在函数中写上需要执行的命令(如effect、spreadplayers、tp等等,或是更复杂的组合)即可。
————————————————
在1.12+的版本中,推荐使用函数、进度等数据文件制作所需的功能
也就是1.13+中搬仟到数据包中的这些文件类型。

陈皮_no橘皮
本帖最后由 陈皮_no橘皮 于 2020-4-29 19:57 编辑
VCS-Official 发表于 2020-4-29 09:25
1.进度是进度,advancement,统计是统计,stats。
2.标题有红石教程字样,可能是我理解错了,抱歉。
3.期 ...

1.我之前一直把advancement和stats混为一谈,一直认为是一样的.....感谢您的提醒
2.红石教程字样我尝试看能换掉不
3.这里有个问题想要询问:如何在一个重复的命令组中当检测到一个条件后发生一条命令但只执行一次,如果是setblock就算了
————————————————
wiki上写的这东西是什么(或如何使用)?可以给一个教程链接吗?(wiki教程过于专业)

minecraft:consume_item
玩家损耗了物品时触发。可用条件:

conditions:
item:被损耗的物品。
物品共通标签 [隐藏]
count:物品数量。
count:
max:最大值。
min:最小值。
durability:物品的耐久度。
durability:
max:最大值。
min:最小值。
enchantments:魔咒列表。

enchantment:一个魔咒ID。
levels:魔咒等级。
levels:
max:最大值。
min:最小值。
stored_enchantments:附魔书中储存的魔咒的列表。

enchantment:一个魔咒ID。
levels:魔咒等级。
levels:
max:最大值。
min:最小值。
item:一个物品ID。
nbt:一个NBT字符串。
potion:一个酿造药水的ID。
tag:一个物品数据包标签。
一个例子 [隐藏]

{
  "criteria": {
    "example": {
      "trigger": "minecraft:consume_item",
      "conditions": {
        "item": {
          "item": "minecraft:golden_apple",
          "data": 1,
          "nbt": "{display:{Name:\"\\\"Example\\\"\"}}"
        }
      }
    }
  }
}

————————————————
也就是1.13+中搬仟到数据包中的这些文件类型。

这里是搬迁吧?


第一页 上一页 下一页 最后一页