本帖最后由 贰逼 于 2017-10-2 10:17 编辑

目前以OneCommand指令(简称OOC)制作模块为流行。编译成OneCommand是件易事,可以使用各种滤器或者生成软件进行编译;
然而为了学习其他指令制作这的方法或者想解析模块的各种指令,OneCommand有很费眼,由于模块指令众多,所以很难分离指令

本软件可以方便指令方块玩家进行提取OOC中的指令,并且进行分类,甚至解析计分板

本软件考虑到了各种各样的OOC编译器的编译算法,进行了三次反编译算法革新(版本历史记录可见),

所以现在能完美反编译几乎所有OOC指令

v0.4源码已公布:(提供给编程玩家作为技术参考)
源代码:http://pan.baidu.com/s/1eQNwgiI
源工程文件:http://pan.baidu.com/s/1pK0Zrnl
全部:http://pan.baidu.com/s/1o7sTMIm
pastebin:http://pastebin.com/B5h2hzyL

使用教程

(适用于v0.3版本以上)

⊙熟悉界面


界面包含了:
  • OneCommand源指令
  • 解析所有指令
  • 分类与优化指令

三个部分


① 初步使用

Ⅰ 输入源指令


1.通过直接Ctrl+V 或者 “粘贴指令”按钮 来获取剪贴板中的OneCommand源指令


2.点击确定即可


Ⅱ 解析所有指令


1.点击“寻找‘所有指令’”按钮等待一会,正在努力寻找


2.寻找完成后会提示消息,点击确定即可


3.单击指令可以获取其在源码中的位置


Ⅲ 优化与分类指令


1.点击“一件分化与优化所有解析出的指令”按钮,再点击确定即可


2.同样单击指令可以获取其位置



②复制与输出

Ⅰ 复制单指令


1.选中一条指令,点击“复制选中指令”按钮,再点击确定即可(所有指令列表均通用)

2.Ctrl+V或者右键+粘贴都可以输出指令


Ⅱ 复制多指令——所有指令



1.点击“复制‘所有指令’”,然后点击确定即可



2.Ctrl+V或者右键+粘贴都可以输出指令(此处复制也许指令有一定错误,所以推荐优化后再复制,优化按钮同样会优化所有指令部分)


Ⅲ 复制多指令——输出面板

1.分类(以文字输出列表演示)



灰色字部分提示点击分类名称获取分类指令,点击即可,同上输出方法。

2.所有效果指令



点击灰色字即可,同上输出方法

3.所有实意指令同理


Ⅳ 复制多指令——全部已分类优化指令



1.点击“将全部指令复制”按钮,再点击确定即可



2.Ctrl+V或者右键+粘贴都可以输出指令(此处复制无错误,且已分类,推荐


Ⅴ 开启顺序模式



1.点击方框开启,确定即可



2.开启顺序模式后复制多指令有数字作为输出顺序,更加直观




3.再次点击取消后,点击确定



4.复制指令无输出顺序



③寻找功能

Ⅰ 获取寻找指令



1.选中指令后双击不仅会提示这段指令内容



2.还会被复制到寻找面板


Ⅱ 使用寻找功能



1.假如选中了其他指令回不来了



2.点击寻找会在源指令回到寻找指令的位置



3."清空选中"清空所有列表的选中项目



4.寻找功能亦可输入其他字符,用于寻找计分板名或者指令及任何其他内容



补充内容:

  • 寻找到的所有指令包括单次执行指令循环指令
  • 文字效果指/say或者/tellraw内容,为模块附加输出
  • 方块效果指/fill或者/setblock内容,为模块初始生成时单次指令,通常能生成模块外围
  • 计分板添加为/scoreboard objectives add 指令
  • 计分板列表为模块自带计分板
  • 若实意指令中含有空白项或者非指令项,非本解析器Bug,而是作者自行添加的内容或者一些OOC生成器为了前后对应而添加内容,可手动删除。
  • 对于OOCSS滤器能看见许多相对放置方块,那是因为此滤器提供整个复制区域的OneCommand,非针对于模块


下载地址:
解压文件获得文件夹,不要删除文件夹,运行exe文件即可
最新版本:


全部文件:



历史记录:
v 0.4 - 修复了RichTextBox控件bug

v 0.3 - 修复bug,针对于几乎所有滤器生成器产生公共算法

v 0.2 - 修复bug,针对FallingSand滤器和MineCart滤器

v 0.1 - 建立雏形,针对单个滤器


经本人多次实验各种OneCommand,此软件能正确运行,如有Bug请在本帖下方提出,感谢合作

常见问题:


OOC编译器(非原创)CP to OneCommand


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