Minecraft(我的世界)中文论坛

标题: 【烯方的那一套理论】猴子都能学会的自定义advancement! [打印本页]

作者: 乙烯_中国    时间: 2017-4-8 03:31
标题: 【烯方的那一套理论】猴子都能学会的自定义advancement!
本帖最后由 乙烯_中国 于 2017-4-11 15:40 编辑

好的,这里是乙烯。整篇文章差不多是自己开着mc一点点就着原文件和wiki自己试出来的,如果有分歧或者谬误还请指出。由于草稿一不小心发出来了,这就没办法了,剩下的一点内容我会爆肝写完的。


新快照出了几天了,advancement这个替换成就的新的系统大家都很感到新奇,正巧这次快照更新有添加一些相关内容,今天我乙烯就来和大家说一说这样的一个新的系统要怎样的玩耍。那么我们先来简单的介绍一下吧。(其中部分资料源自Minecraft Wiki,英文的
什么是advancement?

这就是advancement。(迫真)


好了,这是一个替换了成就系统的新的成就系统,嗯,大概这么看的话好像是看不出和原来的区别有多大?好像确实不大,但是现在通过这样的整理可以很方便的使用json来自定义advancement。而且你也可以很方便的添加选项卡,是不是很厉害!然后成就还是需要你逐步解锁的,不过目前的成就还不能写注解,所以很sad。
完成advancement的时候右上角会有提示,并且支持多条提示


同样的,原来的成就指令achievement也被替换成advancement,这个的用法我们之后会说到。
如何自定义advancement
整个自定义推荐直接从0自己写,如果要基于官方的修改的话,请在完全熟悉系统以及官方成就的情况下修改。
据dinnerbone在推特上说,自定义advancement是与存档绑定的,也就是说相关的自定义文件要放在存档根目录的data/advancement里。是自定义里的豪杰。我们通过解压游戏的version jar可以很容易的确定这样的一个格式
  1. advancement
  2.      adventure
  3.      recipes
  4.      story
复制代码


如何创建一个选项卡

这里就不复述中间的过程直接上结论了。这里除了recipes每一个文件夹都被视为一个单独的选项卡。如果要创建一个新的选项卡请在advancement文件夹下新建一个新的文件夹,文件夹名字从简为佳,允许存在中文但是个人并不推荐。在这个选项卡的advancement如果没有解锁的话,那么这个选项卡是不会显示的。
Recipes文件夹我暂时还没有时间进行详细的实验,但是据源码观察是利用了成就的系统决定了合成表的解锁链,比如我在进入了水(船合成表的解锁条件之一)后便解锁了船的合成,在我使用合法的格式编辑了面包的json后,进入水中便解锁了面包的合成。所以工作原理是一样的。也就是说,合成虽然暂时不能自定义,但是合成链的解锁已经可以自定义了
创建一个选项卡除了新建一个文件夹,还要求这个选项卡有一个起始成就(下文称之为根成就),并且这个起始成就不能成为任何一个成就的子成就。如果这个成就是一个其他选项卡的子成就的话,显示上不仅不会显示新建选项卡,该成就以及其子成就还会显示到其他选项卡下面。这是我们不想要的。

大概加多了会这样。
当然这时候你们大概会说了:“哎呀我们不知道怎么写成就啊”,这个你们不要急,我们马上来说。
如何写一个单独的advancement
如果你已经按照上文操作,并自己写了成就的话,你的页面大概回事这个样子的。别急,这说明你的成就已经写的很接近了,让我们来看看成就应有的标准格式。

首先,要明确的是,大致会使用json格式是自定义成就的前提条件。所以让我们来简单介绍一下json格式。
这里我就折叠一下。


好的,这里就让我们来讲一下成就的结构是怎样的。下文均为小写,辣鸡word自动给我大写了,还有全文的引号必须为半角的引号,我这里尽量自己修一修,但word看不太出来。
  1. Display
  2.     Icon
  3.     Title
  4.     Frame
  5.     Background
  6. Parent
  7. Criteria
  8.     条件名
  9.         Trigger
  10.         Conditions
  11. Requirement
  12. Rewards
  13.     Recipes
  14.     Loot
  15.     Experience
复制代码



好,接下来逐条讲解.


display
Display其下所有的都用于设置这个成就是如何显示的。


parent

criteria

Requirement

Rewards

自此全标签讲解完成,留待二楼仔细说明判据,可能会在最后放出一个单独用于示例讲解的advancement。

a





作者: LRual    时间: 2017-4-8 04:50
额,是不是因为太高端了导致看到了都不知道该怎么回复= =
果然
从我注册到现在
如果有唯一没变的东西
那就是:当时我是小白,现在我还是小白= =
作者: pca006132    时间: 2017-4-8 10:15
bred那个没记错是要生出了新的生物
brewed potion其实从那药水的格子拿东西出来也行,放进去再拿出来也行
enter block准确来说是碰撞箱碰到,execute那个是错的
player hurt entity是玩家伤害到别的实体
slept in bed是成功上床,地狱的不算,因为会爆炸
还有,杀死别的实体是不包括别的玩家的。可以参考外国那个教程,已经非常的详细了
作者: chyx    时间: 2017-4-11 08:12
pca006132 发表于 2017-4-8 10:15
bred那个没记错是要生出了新的生物
brewed potion其实从那药水的格子拿东西出来也行,放进去再拿出来也行
e ...


execute那个是玩家的脚心在方块里面


这个是玩家的任何一个地方在里面
作者: 15357889879    时间: 2017-4-11 12:17
1026833619 发表于 2017-4-8 04:50
额,是不是因为太高端了导致看到了都不知道该怎么回复= =
果然
从我注册到现在

66666666同样的路过
作者: ruhuasiyu    时间: 2017-4-27 23:24
二楼在哪???
作者: 乙烯_中国    时间: 2017-4-27 23:45
ruhuasiyu 发表于 2017-4-27 23:24
二楼在哪???

等整体系统成型再更新
作者: langyo_v3    时间: 2017-4-28 18:27
等正式版本出了再写编辑器,现在先蹲坑。XD
作者: xd_cedar    时间: 2017-6-10 02:19
正式版出来啦出来啦!
作者: 1134443057    时间: 2017-6-18 23:09
我突然发现我自己还不如一只猴子
作者: skeleton小白    时间: 2017-6-20 19:34
criteria貌似里少了这些判据:

arbitrary_player_tick
changed_dimension
consume_item
entity_hurt_player
item_durability_changed
levitation
placed_block
tame_animal

作者: 天上一片云    时间: 2017-6-20 20:41
看了以后怀疑人生啊。猴子。。。
作者: 爱着杨海燕    时间: 2017-6-20 22:10
正如题目所说,很简单就可以学会了,赞一个
作者: 二人世界    时间: 2017-6-22 18:17
既然可以单独编辑存档,那以后的地图更高能了l
作者: 枷尔    时间: 2017-7-1 13:43
spigot有个插件弄成就的
作者: SJC20030208    时间: 2017-7-2 14:56
顶顶顶顶顶顶顶顶顶顶顶顶顶
作者: 1204942617    时间: 2018-8-8 10:35
所以我哪里错了啊,该怎么改啊
  1. {
  2.         "display": {
  3.                 "icon": {
  4.                         "item": "command_block"
  5.                 },
  6.                 "title": {
  7.                         "text": "Test"
  8.                 },
  9.                 "description": "test"
  10.         },
  11.         "show_toast": true,
  12.         "announce_to_chat": true,
  13.         "background": "minecraft:textures/block/iron_block.png"
  14. },
  15. "criteria": {
  16.         "has_command_block": {
  17.                 "trigger": "minecraft:inventory_changed",
  18.                 "conditions": {
  19.                         "items": [{
  20.                                 "item": "minecraft:command_block"
  21.                         }]
  22.                 }
  23.         },
  24.         "has_the_recipe": {
  25.                 "trigger": "recipe_unlocked",
  26.                 "conditions": {
  27.                         "recipe": "cs:1"
  28.                 }
  29.         }
  30. },
  31. "requirements": [
  32.         [
  33.                 "has_command_block",
  34.                 "has_the_recipe"
  35.         ]
  36. ]
  37. }
复制代码
一脸蒙蔽啊.....@乙烯_中国
作者: 乙烯_中国    时间: 2018-8-8 18:18
1204942617 发表于 2018-8-8 10:35
所以我哪里错了啊,该怎么改啊一脸蒙蔽啊.....@乙烯_中国

你的括号未完全配对吧
作者: 1204942617    时间: 2018-8-8 18:57
乙烯_中国 发表于 2018-8-8 18:18
你的括号未完全配对吧

怎么弄= =突然觉得成就比合成难好多啊...@乙烯_中国
作者: BlackCB.    时间: 2018-8-9 08:41
不能输给猴子……
判据不详细讲讲吗/?
作者: 种拔    时间: 2018-8-9 21:13
您发的东西确实是猴子都能看懂的。可我是骡子啊
作者: ruhuasiyu    时间: 2018-9-5 12:48
乙烯_中国 发表于 2017-4-27 23:45
等整体系统成型再更新

二楼在哪?
作者: z1643452507    时间: 2018-9-8 12:16
支持一下~~
作者: 981867644    时间: 2018-10-17 18:21
嗯...一年过去了...二楼...
作者: 大谷传奇    时间: 2018-10-19 19:53
猴子好像还不行啊
作者: llinxinli123148    时间: 2018-10-21 08:29
嘻嘻嘻嘻嘻嘻嘻嘻寻寻寻寻寻寻寻寻寻寻
作者: sevevss    时间: 2018-10-22 21:19

等正式版本出了再写编辑器,现在先蹲坑
作者: 981867644    时间: 2018-11-7 18:59
本帖最后由 981867644 于 2018-11-7 19:07 编辑

不知道乙烯会不会回复...
  1. {
  2.     "__comment": "Made with TheDestruc7i0n's advancements generator: https://advancements.thedestruc7i0n.ca",
  3.     "display": {
  4.         "title": {
  5.             "text": "Advancement",
  6.             "color": "gold",
  7.             "bold": false,
  8.             "strikethrough": false
  9.         },
  10.         "description": {
  11.             "text": "Description"
  12.         },
  13.         "icon": {
  14.             "item": "minecraft:stone"
  15.         },
  16.         "frame": "task",
  17.         "show_toast": true,
  18.         "announce_to_chat": true,
  19.         "hidden": false,
  20.         "background": "minecraft:textures/gui/advancements/backgrounds/stone.png"
  21.     },
  22.     "criteria": {
  23.         "123": {
  24.             "trigger": "minecraft:brewed_potion",
  25.             "conditions": {
  26.                 "potion": "minecraft:long_swiftness"
  27.             }
  28.         },
  29.         "Impossible": {
  30.             "trigger": "minecraft:brewed_potion",
  31.             "conditions": {
  32.                 "potion": "minecraft:strong_swiftness"
  33.             }
  34.         }
  35.     },
  36.     "requirements": [
  37.         [
  38.             "Impossible"
  39.         ],
  40.         [
  41.             "123"
  42.         ]
  43.     ]
  44. }
复制代码

在这段代码里我明确的用requirements区分开了“123”和“Impossible”,只需要完成其中一个要求就可以获得成就,但是在游戏里的测试却是要同时完成俩个要求才能获得成就,请问哪里出问题了

五分钟后的测试:那个...大佬...您是不是教程写反了...["1","2"]应该才是“任意完成一个”就行吧...反之["1"],["2"]是“全部完成”才对啊...


作者: 悲剧小白    时间: 2019-2-9 16:59
成就正常完成了,但是写在recipes里的物品却没有得到
作者: huashiwei    时间: 2019-4-22 14:05
整合包里的任务卡住了,请问怎么重置
作者: SolidBlock    时间: 2019-8-31 14:04
能够修改进度组和某进度的支进度的显示顺序吗?
作者: normanxqh    时间: 2019-8-31 16:34
我是新手,我来学习一下,学习各位老大。
作者: MC深坑不回头    时间: 2019-8-31 21:36
浅显易懂! 终于能给地图加成就系统啦~想试试做分岐选项或字汇资料库!
作者: HtYang    时间: 2019-10-7 15:59
1.14貌似不能这么写?

作者: 怒火终烧    时间: 2019-10-7 18:53
我忽然感觉自己不如一只猴子
作者: CR_019    时间: 2019-11-16 13:17
HtYang 发表于 2019-10-7 15:59
1.14貌似不能这么写?

可以啊,是不是你哪里写错了?
作者: weihaoge123    时间: 2019-11-18 01:53
可能这才是玩家吧,我只是个玩了几年的蔡姬
作者: CR_019    时间: 2019-11-23 22:40
requirements部分是不是写反了?
作者: 5352    时间: 2020-2-23 16:17
这也太简略了吧,还是不会写
作者: 5352    时间: 2020-2-27 23:06
请问bcakground到底怎么写
作者: PTSD∝龌龊闵    时间: 2020-3-20 14:08
emm,可能我连猴子都不是吧
作者: 蔚然星空    时间: 2020-3-20 21:12
下文呢下文呢?等待进食中……
作者: as13755655140    时间: 2020-3-22 19:39
楼主感谢分享,给你扣波666~

作者: 残夕xjdsg    时间: 2020-3-23 09:24
MCBBS有你更精彩~
作者: dirty_Rob    时间: 2020-3-29 21:20
本帖最后由 dirty_Rob 于 2020-3-29 21:22 编辑

为啥我还是不会???我连猴子都不如吗?json那一段我跟不没有弄懂  
补充:原来是格式错了,我觉得如果那一段json写得更清楚一点(因为我就以为是有好多个文件夹底下有一些json文件),不然别说猴子了,就是很多人都看不懂(不要说这是我给自己找的理由)   看来我还是和人很像的

作者: q1019035584    时间: 2020-3-31 16:20
你的教程很不错,我看过后有点思路
作者: li_hao233    时间: 2020-4-10 09:47
大佬问一下如果是同一个触发器想要使用多次可以吗?
比如与村民交易万次...?
作者: 2258935867    时间: 2020-4-10 14:13
brewed potion
作者: 你的小菠萝    时间: 2020-4-10 17:18
谢谢分享,终于搞懂了
作者: 黑黑大    时间: 2020-4-11 15:32
完了,猴子都能学会我不如猴子了
作者: ghyjn    时间: 2020-4-11 17:02
虽然看不懂,但是很厉害的样子
作者: 柘木铃    时间: 2020-5-12 11:01
感谢乙烯大大的教程?(?ω?)?
然后关于 requirements 还有一些疑问:
在吃原版进度的时候,我发现
原版的冒险根进度的 requirements 是 ["杀死实体","被实体杀"] 这样的,但是实际触发条件是杀死或被杀;
同时,百猫全书的 requirements 是 [[黑猫],[黄猫]......] 这样的,触发条件是全部达成。
在帖子里的描述好像反了(?
作者: x_xiao_x    时间: 2020-8-6 15:15
dalao讲的很好,虽然我连猴子都不如
但是依稀还是懂了一丢丢
但是为什么图片加载不出了?
作者: HuanPkl    时间: 2020-8-6 22:39
MCBBS有你更精彩~
作者: 永爱不忘    时间: 2020-8-18 17:12
很好啊    我是猴子  
作者: lxt123qwe    时间: 2020-8-22 14:22

正如题目所说,很简单就可以学会了,赞一个
作者: 273684012    时间: 2020-8-25 12:38
楼主,图都加载不出来
作者: 四月天44    时间: 2020-8-25 13:43
LRual 发表于 2017-4-8 04:50
额,是不是因为太高端了导致看到了都不知道该怎么回复= =
果然
从我注册到现在

不是吧不是吧都十了级欸
作者: Dcccc    时间: 2020-8-26 10:11
66666666666666666666666666
作者: 爱吃萝卜和青菜    时间: 2020-8-26 11:51
?????是不是就我一个是猴子    我看看还有多少学不会的猴子
作者: pencil521    时间: 2020-12-5 15:23
看来我不是猴子🐒
作者: 夕阳红熊猫    时间: 2020-12-6 09:53
那么我要如何更改成就的图标呢
作者: MrLin965    时间: 2020-12-6 23:53
我连猴子都不是
作者: 知了个心    时间: 2021-1-5 03:17


感谢分享!!




欢迎光临 Minecraft(我的世界)中文论坛 (https://www.mcbbs.net/) Powered by Discuz! X3.5