本帖最后由 pca006132 于 2017-6-17 17:43 编辑 
本生成器名为懒癌卫士,顾名思义,当然就是为了照顾那些懒癌晚期的CBer了23333
适用版本为1.9+,1.8的就不能使用本生成器了
功能包括:
    OOC(一条命令)生成
    能使用2b的颜色黑科技(当命令中有§便会自动使用该黑科技)
    转义、反转义、生成随机UUIDLeast、Most
    替换特定字符功能(能使用regex)
    折叠指定区域的命令、高亮指定字符、简单的括号配对、各种快捷键
    自带盒子模式(类似以往版本的OOC,自动检查cond有没有问题)
    能储存命令档案(包括生成器内的部分设置) 
    能自动补全命令(目前支援大多数命令的参数及选择器参数。)   
    能储存config档案(可更改高亮的颜色、主题颜色、作为新文件的样板)    能使用snippet    (未完成)命令检查功能,能检查错字、选择器参数错误等问题    方便的生成function 语法: "new func (function名称, 就像用function命令时一样)"
已经在minecraftforum发布,链接: 
http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-tools/2703820-command-pcb-command-editor-ooc-generator-for-mc-1
辅助工具:
MCE命令读取滤器 by 2b
读取存档里的命令,并转化为pcb/txt格式
update log:
| 0.9.1: 增加了转化运算式为scoreboard operation的功能 0.7.1: 修复了之前snippet的一个bugpython增加了showMessage的功能
 增加了统计功能,统计命令数量等资料
 
 0.6.14: 增加了一个menu,让用户能够按按钮调用python的脚本。并且增加了对python的滋磁增加了nbt editor功能,把当前行复制到一个editor里,并且会弄好缩排方便阅读。修改好了直接关闭就能套用修改
 
 0.6.13: 加入了outline功能,并且把ooc生成的初始坐标调为和放置的cb一样高度
 0.6.11: 加入了code snippet
 增加了到本网页的按钮及打开帮助文件的按钮
 
 0.6.10: 准备加入code snippet
 新的生成模式: 更新,只对选择的命令在整个系统里的位置setblock,方便大型系统debug
 自动补全方面修复了一些bug
 python方面支持读取默认自定义脚本,能先定义一些方便的函数供使用
 
 0.6.4:修复了判断是否需要转义的一个bug(mjsb)英文版准备就绪:D
 字体方面修改了一下
 
 0.6.3:修复了自动补全tag和scb obj等的bug
 修复了自动补全选单在全屏幕的情况下会不停震的问题
 
 0.6.1:整个东西重做了:D
 github链接: https://github.com/pca006132/pcb
 自动补全现在不是我搞了,大家也能自定自动补全了:D
 生成方面整个结构改了,并且增加了强制直链,并且生成了之后会自动检查cond,再也不用担心cond问题了
 穷举小帮手现在改为直接把python弄进去了,用途现在还是十分有限,然而相信之后会变得很强大的
 增加了一堆readme教程,html版本,相信大家可以很方便的阅读了
 有问题的话欢迎联络本人
 
 0.5.13:
 修复了一些BUG:
 使用快捷键保存的时候可能崩溃
 经过关键字之后没有自动补全
 
 rcb将会在最后才放置(避免了多条OOC时意外激活了系统的情况)
 name, tag, scb, team等自动补全参数放进了设置里(方便自动补全用的)
 备份档案放进了/document/backup里了,再也不用担心备份和文件混淆了
 0.5.12:
 新增了update log(就是这个:D)~ yeah!!!
 括号配对的颜色变成了蓝色了
 新增了stats功能,能够自动把下一个cb的stats绑定到指定实体的分数里(stats:sc @e[name=marker] scb)
 新增了Alt+A快捷键,把自动补全列表内的所有选项插入到插入符号的位置(每个选项将会把该行复制一次)
 
 | 
:
Pcb语法
| 可读性:
 标示区块(可折叠):
 
 注释:
 
 复制代码//单行注释
/*
    多行注释
    (/*和*/必须处于独立一行)
*/
_______________________
 常数:
 常数为一些特殊数值,在地图制作时经常需要使用(比如是怪物生成速度等)
 为了让用户能够方便编写需要使用那些常数的命令,pcb提供定义常数、使用常数功能 常数名称建议为大写(比如VARIABLE)
 
 定义常数:
 define (常数名称,不可有空格) = 常数数值
 使用常数: 在命令里直接写常数名称,生成时即会替换
 _______________________
 特殊Pcb命令:
 生成OOC时执行(最初):
 init:命令
 
 生成OOC时执行(最后):
 after:命令
 
 生成新的模块(一般模式则生成新的直条,盒子模式则生成新的盒子):
 new <x> <y> <z>
 如 new 1 2 3
 
 生成新的直CB链(无论在任何模式下都是直的,方向和一般模式的初始方向一样):
 new <x> <y> <z> py
 如 new 4 5 6 py
 
 在下一个CB的位置生成一个marker(ArmorStand/AreaEffectCloud):
 mark:(marker名字) tag1 tag2...
 
 在下一个CB的位置放置牌子(一般模式) / 在盒子前方放置牌子(盒子模式)
 *盒子模式时,nbt里的{delete me}将会自动转换成fill掉整个盒子的fill命令
 sign:{牌子nbt}
 
 绑定下一个CB的stats到指定实体的记分板:
 stats:统计 实体选择器 记分板目标
 
 强制转行(一般模式):
 changeD
 ______________________
 命令
 除了上方格式之外的都会自动视作命令,会被放进CB里
 
 一般命令方块:
 icb:命令
 
 脉冲命令方块:
 rcb:命令
 
 链锁命令方块:
 命令(无icb/rcb前缀的就是链锁命令方块)
 
 条件模式:
 cond:命令
 
 修改CB数据值(有空格的):
 data:(数据值) 命令
 
 (以上前缀皆可以配搭使用)
 
 | 
    一般的替换就不说了,就是把指定字串换为另一个字串,这里说的是regex(其实我也不太懂,如果有错误请大神帮忙改进)
    比如把(\w)(\1)替换为$1
    (\w)就是随便一个字符(空格那些不算是字符),(\1)就是前面选择到的字符。所以这里寻找的是两个重复的字符,比如aa bb cc之类。
    $1就是上面寻找到的字符内的group1(就是第一个括号里的)。
    如果字符为aa bb cc dd,替换之后的结果就是a b c d
    (如果没选择任何字符,则全局替换,否则便替换选择范围内的字符)
检查报告: 
http://r.virscan.org/report/9fa91858180ac96fd138da445a67ce9e
感谢玄素、秋一、PM、Arnor_Dorian、Potter_Lee、新手群、CBL、TML的大家帮忙debug、提出意见希望本生成器及那些标记能帮助到大家。
如果有bug/意见,请在帖子下方回复/私聊本人
QQ:3051812350
[groupid=546]Command Block Logic[/groupid]