本帖最后由 pca006132 于 2017-8-16 17:45 编辑

-------命令进阶-------
第八章 杂项

本文首发于命令进阶教程全集
使用CC BY-SA-NC 4.0协议,转载请注明本页面链接


作为移植页面,格式可能会有偏差,请到教程全集中获得完整体验。
本页面可能随着版本推进而过期,内容以全集为准。



请查阅《新人手册




成为一个成功的CBer

提高知识水平
看完本教程之后能不能让你成为一个成功的CBer?
答案肯定是——不能

命令涉及的是整个游戏,包括红石,包括生存机制,包括bug(Feature)等等。
而本教程涉猎的只是一些很基础的概念,看完和没看实际上是差不多的,所以是不能让你成为一个成功的CBer的。

一个CBer需要多看不同的教程,多研究不同的系统,甚至多学习一些现实里的知识,如数学。只有身经百战,见的多了,才能和各种大佬谈笑风生,写系统的时候才能顺手拈来。所以说啊,还是要提高自己的知识水平。


学习英语
Minecraft是一个国际化的游戏,外国也有很多资源。而那些资源大多数是以英文编写的(甚至wiki最权威的版本也是英文版)。
加上命令其实是英语的,NBT那些大部分都是英语,学好了英语能方便记忆那些常用的字词。
因此得学好英语。


善用生成器
命令有一些非常麻烦的东西,比如是某些NBT的玩意。
故此,就有很多人写生成器来简化那些操作,比如说编写颜色选择软件,来让我们不用脑补RGB和计算十六进制转十进制;编写一条命令生成器来帮助我们导入命令,等等。

我们是不反对使用生成器的,相反,我们还经常使用甚至是制作生成器。
生成器的使用能简化工作,让工作更为准确以及有效率,故此使用生成器是一个好事情。我们甚至是不喜欢那些有生成器却不用,偏偏喜欢手写的人的,因为给我们的感觉就是他们在浪费时间,这个效率efficiency...

不过,使用生成器不代表能不学习该方面的原理。最好是能够明白该生成器的原理,甚至协助作者优化生成器(比如生成出来的命令不够有效率)。这样才是真正的使用生成器而不是依赖生成器。


学习编程
命令和编程类近,然而又有很大的不同。
学习编程能帮助命令的思考,比如是一些算法、架构,很多是从编程拿过来的。

而且命令有一些非常麻烦的穷举,人手穷举会累死的,学了点编程就可以写个脚本快速的生成命令,十分方便。
如果是生成命令的话建议学习一些脚本语言,毕竟马上执行比较方便,而且提供的功能也比较方便。


多交流、做作品
和其他CBer交流能学习他们的强项,也能获得更多的资讯,知道更多的bug、黑科技等等。

而做作品就能实践自己所学,而且在做作品期间就会发现自己的不足,那就能改进自己了。



提问的艺术

提问之前
  • 确定你的问题不是简单搜索即可获得的。尝试在百度,必应,谷不存在等搜索引擎下就你的问题进行搜索。试试看提炼你疑问的关键词,并以之为你的搜索词句。如果获得了一个符合你描述的问题的可能可行的解决办法,动手照做看看。
  • 试试自己动手解决你的问题。在提问之前你真的认真思考过问题的解决方法吗?有没有什么思路来处理遇到的麻烦?如果有,不如照着脑海中一闪的灵光,试试看解决这个问题。
  • 为自己的问题做一个准确的定性。如果在上述两点之后问题依旧存在,那么你可能的确需要一个提问。你的问题是遇到了预期外而无法解决的错误,或是试图解决一个问题时思路上出现了困难?准确的判断有助于准确的提问。
  • 如果是意外的错误,请尝试重现这个问题。人生难免遇上偶然bug,无法重现的bug是无法愉快地debug的,不巧遇上的话你可能只能抱怨一句mj**
  • 重现之后收集尽可能多的关于问题的描述。一切你现在记录下来的信息均可能作为呈堂证供。

提问中
如果你遇到了一处意外的错误,那么:

  • 你的游戏版本?单机还是服务器环境?是官方服务端还是全是魔改的其他服务端(是的,非官服的问题可能会难以解决,毕竟不是每个cber都兼修插件和mod)?
  • 你进行了哪些操作?使用了什么命令?详细地复制下来。
  • 你的预期应该达到什么效果?实际上呢?尽可能的对此部分进行详细的描述。
  • 命令的输出是怎么样的?命令方块的output信息,游戏log,或者你在命令组中插入的 say 1 (标示执行顺序),这些信息的提供都有助于答疑者做出判断。
是的,很抱歉,“xxx命令有没有错”这种问题,你很可能得到的答案是没有错(如果不是格式错误)。
对命令系统的debug往往不是能见一令窥全身的,提供充足的信息是解决问题的前提条件。特别是预期以及实际结果。

如果你遇到了一个自己无力解决的问题:

  • 需要实现功能的游戏版本?(是的,1.7无人权,尽量建议新版本,旧版本很可能已经被忘记了)
  • 你问题的具体描述?如果一个问题是“如何制作一个神器”,那么这是一个失败的问题。你没有定义什么是神器,也没有定义怎么制作。相对而言,“如何给予玩家一把锋利32767的石剑”就是一个更合适的问法(虽然也不算是好问题就对了)。

提问者之思
哲学三信

  • 心怀感激。没有人有义务回答你的问题。愿意帮你的人值得你诚恳的感谢。
  • 耐心。不要持续反复问同一个问题,如果有人看到且愿意帮你,那么自然会帮助你。问题刷屏只会让人无限反感。
  • 勤思。在这个问题的解决中你收获了什么?下次遇到类似问题时你能够处理吗?努力从需要别人帮助的人成为帮助别人的人是实力进步的良方。




一些来自其他CBer的建言
来自其他CBer的人生经验

穷举大法好!
—— 素学姐

做地图的时候,建筑和cb一样重要!
—— Tico

能用工具就用工具,别以为手写的就是厉害。
—— 丢人Switefaster (本人坚持的)

脑洞不是挤出来的,越挤能想出来的玩意越少。
—— Pine Apple

劳逸结合,肝多伤身。
—— 玄素

不只是命令,你还可以搭配资源包。
—— 折君 (既然别人都加括号了我不加好像不合适)

宁可放弃某些功能也不能让系统过于卡顿。
—— pca

及时更新 紧贴潮流 别再玩1.7.10了。
—— SYL

有疑惑的话就先问,还是不知道的话就快测试。
—— pca

[groupid=546]Command Block Logic[/groupid]