ViKaleidoscope
本帖最后由 C似水流年 于 2016-9-22 18:38 编辑

=A=本模组现在已经停更, 作者在几个月前开始制作了相同功能的新模组, 现在已经完成, 名为OmniOcular, 不同于wailaNBT, 该模组需要使用xml格式来编写脚本
OmniOcular源码地址
github.com/exzhawk/OmniOcular

OmniOcular作者博客介绍地址
http://blog.exz.me/omni-ocular/


Waila NBT可以读取物品的NBT数据(二进制命名标签)使其显示在waila窗口, 很利于方便查看各种方块 / 物品 / 实体的NBT数据. 当然想要自定义Waila显示内容不是轻而易举的事, Mod已经为你搭好了一个框架, 填充框架就需要玩家亲手来完成

首先说明

1. 下载地址为作者发布在Curse上的下载地址, 点进去3秒后自动下载; 支持作者, 在上方链接下载
2. 如要提交自己写的代码, 请提交到Github上, Github的提交教程在下文, 不会的可以直接把代码发上来
3. 想要学会Waila NBT的使用方法请耐心阅读教程及说眀
4. 如果配置文件中填写的中文string无法在游戏中正常显示, 请将配置文件转成ANSI格式

安装方法
顾名思义Waila NBT集合了WailaIn Game NBT Edit这两个Mod的功能, 前者是Waila NBT依赖的模组; 后者只在你编写配置文件时需要用到
站内搬运贴地址可以在这里找到
Waila (1.7.10)
In Game NBT Edit (1.7.10)
建议使用最新版的Waila NBT与上面两个Mod, 1.4版本的Waila NBT需要依赖Waila 1.5.5

接着来贴几张效果图, 这些图中的数据显示都是我和作者写的>w<, 下面会发编写教程, 编写不是很难, 如果有人写出来了一点内容欢迎发出来分享, 谢谢各位的支持wwww


如何编写配置文件
建立配置环境


PartA. 配置文件开头(HoldItem)


PartB. 对象方块(TileEntity)


PartC. 对象实体(Entity)


PartD. TagCompound(Tag组)


PartE. 衔接代码


PartF. 让NBT数据显示在Tooltip上


PartG. 更改string的字体, 颜色等显示


PartH. 更改NBT数据的显示


JavaScript语句
如果学会了以上几种代码以及增加/使用方法, 你基本就可以没什么困难的自己设置了, 有什么错误或者问题可以回帖询问, 但我不一定能及时回复你... 关键还是要自行检查, 比如我之前就犯了很多次忘记加逗号的低级错误
当然如果你有什么bug, 或者建议想要提出也可以回帖, Waila NBT作者也拥有mcbbs的账号

源码
接下来发布的是mod在Github上的源码地址, 你可以将自己写出来的配置文件提交上去, 提交教程请点开折叠
Github链接 : https://github.com/exzhawk/wailanbt


配置文件的下载
如果你想使用别人分享的配置文件, 可以点击Github链接, 在eclipse/config/WailaNBT文件中打开你想要的json文件, 每个json文件的支持模组可以查看文件名来得知
点击raw, 在弹出窗口中, 将出现的代码全复制到你的配置文件中即可完成, 建议分类复制到不同的配置文件中, 如果想合并在一个配置文件需要进行符合json格式的代码衔接; 当然不要忘了输入/wnr来激活

新增指令


Tag名词解释


更新日志


计划内容






来自群组: InfinityStudio
2021.12 数据,可能有更多内容=A=本模组现在已经停更, 作者在几个月前开始制作了相同功能的新模组, 现在已经完成, 名为OmniOcular, 不同于wailaNBT, 该模组需要使用xml格式来编写脚本
OmniOcular源码地址
github.com/exzhawk/OmniOcular


OmniOcular作者博客介绍地址
http://blog.exz.me/omni-ocular/


Waila NBT可以读取物品的NBT数据(二进制命名标签)使其显示在waila窗口, 很利于方便查看各种方块 / 物品 / 实体的NBT数据. 当然想要自定义Waila显示内容不是轻而易举的事, Mod已经为你搭好了一个框架, 填充框架就需要玩家亲手来完成

首先说明

1. 下载地址为作者发布在Curse上的下载地址, 点进去3秒后自动下载; 支持作者, 在上方链接下载
2. 如要提交自己写的代码, 请提交到Github上, Github的提交教程在下文, 不会的可以直接把代码发上来
3. 想要学会Waila NBT的使用方法请耐心阅读教程及说眀
4. 如果配置文件中填写的中文string无法在游戏中正常显示, 请将配置文件转成ANSI格式


安装方法
顾名思义Waila NBT集合了Waila和In Game NBT Edit这两个Mod的功能, 前者是Waila NBT依赖的模组; 后者只在你编写配置文件时需要用到
站内搬运贴地址可以在这里找到
Waila (1.7.10)
In Game NBT Edit (1.7.10)
建议使用最新版的Waila NBT与上面两个Mod, 1.4版本的Waila NBT需要依赖Waila 1.5.5


接着来贴几张效果图, 这些图中的数据显示都是我和作者写的&gt;w&lt;, 下面会发编写教程, 编写不是很难, 如果有人写出来了一点内容欢迎发出来分享, 谢谢各位的支持wwww
巫术Mod中的祭坛, 显示数据为祭坛能量 / 能量恢复速度





TE4里的磨粉机, 显示数据为处理矿物的剩余时间





神秘时代4中的符文矩阵, 显示的数据是其稳定性





血魔法中的盖亚仪式, 显示数据为仪式ID / 仪式激活者





植物魔法中的魔力池, 显示魔力值存储量 / 最大魔力值存储量 / 是否对外输出魔力





旋转工艺中的DC引擎, 显示数据为功率 / 转矩 / 转速





Waila NBT 1.3版本后加入的实体数据显示功能, 图中为显示鸡的繁殖冷却时间 / 繁殖期时间剩余





其实还远不止以上这些~ 目前Waila NBT还可显示BuildCraft / EnderIO / 工业2等众多模组中的所有物品数据 (公开支持的模组及配置文件可以在下方Github地址中找到)
但这样还远远不够, 玩家各需所求, 所以接下来将教大家如何自己编写显示的数据



如何编写配置文件
建立配置环境
这步是编写Waila NBT配置文件的基础。首先你需要安装Waila NBT并成功启动一次游戏, 接着就会出现模组的config文件夹, 所有自定义配置文件都需要放进config文件夹才会被读取, 具体路径为游戏目录-&gt;.minecraft-&gt;config-&gt;WailaNBT


*以下图片中有许多都是我添加的, 原生的文件夹内只会出现default.json一个文件

↑↑↑↑
图中出现了两种扩展名的文件, .json.cfg, 后者大家一定不陌生, 是许多Mod配置文件的常用文件形式; 而.json的编写方式也和.cfg文件一样; 当然编写它们都必须使用JSON格式。你也可以完成编辑cfg文件后将扩展名改为.json
编辑.json/.cfg文件的软件我建议使用Notepad++(下载地址)


新建文件+扩展名, 接着打开进行编辑。下面我会提供一些示例代码及其解释, 请务必按照教程编写 .json文本中只要错一个标点就会使其全部失效。



PartA. 配置文件开头(HoldItem)
这是配置文件的开始, 也是以下各种类型配置的通用开头部分。内容为玩家持有何物指向对象时显示相关数据。

代码:

  1. {
  2. "minecraft:torch": {
这段代码代表着 &quot;当玩家手持火把(torch)时指向熔炉, Waila上显示相关NBT数据, 并且只有当玩家手持火把指向熔炉才会显示数据&quot;
*minecraft:torch意味火把的ID
(1.7.10的文字ID, 查看这类ID可以在安装Inventory Tweak的情况下按下F3+H, 接着会显示在物品信息栏内;
当然模组自带了查看文字ID的指令: 指令为/wnn, 指令回车后ID会出现在对话窗口)


如果你想要玩家持有任何物品(包括空手)都可以查看, 那么写入代码

代码:

  1. {
  2.     ".*": {
如果你想要仅空手指向时才能显示数据, 那么写入代码(&quot;&quot;中为空, 无空格)

代码:

  1. {
  2.     "": {
由此我们得出一个开头部分代码的格式, 将不同的ID代入其中即可

代码:

  1. {
  2.     "物品文字ID": {



PartB. 对象方块(TileEntity)
配置文件写到这步就需要使用NBTedit了, 对准熔炉, 输入指令/nbtedit, 即可打开熔炉NBT数据窗口, 如下图

图中红圈标注的即为熔炉的id
*BurnTime与CookTime分别代表&quot;燃料剩余燃烧时间&quot;与&quot;烧制进度&quot;, 而&quot;烧制进度&quot;是从1~200的一个进度, 即数值从1进到200就烧制完成一件物品, &quot;燃料剩余燃烧时间&quot;代表熔炉内燃料还能燃烧多少时间, 是个递减数值, 最大数值不定


那么我们就有了以下代码:

代码:

  1. "Furnace": {
  2.   "BurnTime":"Burn Time",
  3.   "CookTime":"Cook Time"
  4. }
第一行意为:熔炉ID (记住, 对象方块ID必须用在NBT窗口中查到的(TE名), 不能是直接显示的文字ID)
第二行意为: &quot;BurnTime(上面提到的tag, 必须与NBT窗口中完全符合, 包括大小写)&quot;:&quot;Burn Time(waila上的显示名, 可以随便填, 没有客观要求)&quot;
第三行意为: &quot;CookTime(tag)&quot;:&quot;Cook Time(显示名)&quot;


知道了这些, 我们就可以得出一个代码格式

代码:

  1. "对象方块": {
  2.   "TagA":"显示名A",
  3.   "TagB":"显示名B"
  4. }
*tag的多少是根据物品所含NBT与你的需要来定的, 不必全部写上


接下来是收尾工作, 数数前面你加了几个括号&quot;{&quot;, 后面就得加几个&quot;}&quot;, 换行加上, 最后得出的总代码是这样的

代码:

  1. {
  2.     ".*": {
  3.   "Furnace": {
  4.   "BurnTime":"Burn Time",
  5.   "CookTime":"Cook Time"
  6.     }
  7. }
  8. }
接着保存你的.cfg, 你可以不把它的扩展名改成.json, 但是检查一下是否已经放置在.minecraft-&gt;config-&gt;WailaNBT这个目录里


然后在游戏中输入指令/wnr ,即可刷新配置
然后就可以看到对象方块: 熔炉已经出现了前面我们加上的显示数据 (图中数值应用的单位为Ticks, 且显示名后有&quot;s&quot;字样, 这些问题都在 1.3/1.4 版本的Waila NBT中得以改善)





PartC. 对象实体(Entity)
1.3版本后, Waila NBT支持了实体数据的显示, 实体是类似生物, 矿车等物品。编写实体配置文件时格式/内容与上面所述的没太大区别, 需注意的就是配置开头的代码


模组中新增了一条指令&quot;/wne&quot;, 对准实体输入该指令后会在对话窗口显示该实体ID。例如我对着一只羊输入/wne
在对话窗口就出现了其ID - Sheep (必须大写首字母)



接着对羊输入/nbtedit

在NBT编辑窗口出现了许多Tag, 我只示范黄色箭头标出的部分, 先来解释一下
Fire - 生物着火剩余时间, 不着火时值为-1
Age - 生物交配冷却时间, 即一次交配后Age从一定数值递减, 还原到0时才可以进行交配. 幼年动物的&quot;Age&quot;值是一个负数, 当递增到0时即变为成年动物
InLove - 生物发情期剩余时间, 即用对应食物激活交配后产生一个数值, 数值降到0后再无法进行交配


那么我们写入如下代码

代码:

  1. {
  2.     ".*": {
  3.   "Sheep": {
  4.   "Age":"Breed Cooldown",
  5.   "InLove":"Breed Time Remain",
  6.   "Fire":"Fire Time"
  7.     }
  8.     }
  9. }
格式之类的就不再解释了, 唯一改变的内容明显就是ID与Tag, 显示名
接着保存, 在游戏中输入/wnr刷新配置文件, 即可看到效果





你也可以通过这种方式更改非生物实体, 例如熔炉矿车的燃料剩余等数据





PartD. TagCompound(Tag组)
接下来示范另一种代码形式, 对象为TE4中的蒸汽能源炉
首先以下代码已经包括了&quot;查看数据物品&quot;, &quot;对象ID&quot;, &quot;Tag&quot;以及&quot;显示名&quot;这四个部分的代码, 如下:

代码:

  1. {
  2.     ".*": {
  3.     "thermalexpansion.DynamoSteam": {
  4.   "Energy":"Energy",
  5.   "Fuel":"Fuel",
  6.   "FuelMax":"Max Fuel",
  7.   "SteamTank>>>Amount":"Steam Amount",
  8.   "WaterTank>>>Amount":"Water Amount"
  9.   }
  10.    }
  11. }
*上面写到的&quot;.*&quot;与对象ID我之前解释过了, 我解释一下&quot;Energy&quot;, &quot;Fuel&quot;分别代表着&quot;能源炉中存储能量(RF)&quot;, &quot;产能进度(从最大数值到最小数值完成一个周期)&quot;


下面是重点内容, 我们对着蒸汽能源炉打开NBT窗口(/nbtedit)

可以看到相比之前的窗口多出了&quot;TagCompound&quot;部分, 即为红色箭头标出的地方, 它的意思是 蒸汽能源炉中存储蒸汽的槽
现在能源炉中没有任何蒸汽, 所以显示Empty(蓝色箭头标出部分)


如果我加入水和煤炭, 使能源炉产生蒸汽, 再次进入nbt edit

可以看到名为&quot;SteamTank&quot;的&quot;TagCompound&quot;下出现了三条新的tag, 我们只需要用到下面两条
第一条Amount, 意味蒸汽多少(mB)
第二条FluidName, 意味蒸汽槽中存储的液体种类 (当然是蒸汽啦, 这不是废话嘛)
(&quot;WaterTank&quot;同理)


所以我们在来看看上面完成的代码中, 写到了:

代码:

  1. "SteamTank>>>Amount":"Steam Amount",
  2. "WaterTank>>>Amount":"Water Amount"
可以看到多出了&quot;&gt;&gt;&gt;&quot;这串代码, 这就代表着从NBT根目录到StamTank/WaterTank的TagCompound中获取数据
同理可得FluidName的代码:

代码:

  1. "SteamTank>>>FluidName":"Steam",
  2. "WaterTank>>>FluidName":"Water"
与应对&quot;TagCompound&quot;的代码格式:

代码:

  1. "TagA(Tag组)>>>TagB/C/D":"显示名"

来看一下效果吧, TagCompound中的数据也能显示在Waila上了



另外你可能还会遇到一个问题, 就是一个TagList下带有多个Tag组, 且它们自身没有可以分辨的名字, 例如

1.4版本的Waila NBT解决了这个问题, 你可以在写代码时从0开始对应每一个无名的Tag组
例如图中的两个Tag组, 可以在代码中写成如下格式

代码:

  1. "TagList>>>0>>>Tag组下的Tag1":

代码:

  1. "TagList>>>1>>>Tag组下的Tag2":
如此一来就对应了两个Tag组


PartE. 衔接代码
这里示范两种衔接代码的形式:
第一种, 将两个不同模组, Tag名, 显示名, TE名都不同的物品代码部分并放在一个配置文件中, 即空手时既能查看熔炉数据又能查看蒸汽能源炉数据。代码如下

代码:

  1. {
  2. ".*": {
  3.     "Furnace": {
  4.     "BurnTime":"Burn Time",
  5.     "CookTime":"Cook Time"
  6. },
  7.   "thermalexpansion.DynamoSteam": {
  8.   "Energy":"Energy",
  9.   "Fuel":"Fuel",
  10.   "FuelMax":"Max Fuel",
  11.   "SteamTank>>>Amount":"Steam Amount",
  12.   "WaterTank>>>Amount":"Water Amount"
  13.     }
  14. }
  15. }
其实内容不需要什么改动, 你也可以无限制的衔接各种代码. 需要注意的地方是在一个部分的结尾&quot;}&quot;后必须加上&quot;,&quot; 否则会被视为无效代码


第二种, 将在同一个模组中, 且TE名开头有相同之处的物品合并在一起
大家可以去下个旋转工艺(RotaryCraft), 用/nbtedit查查里面的机器, TE名开头都为&quot;RC&quot;。例如DC引擎: &quot;RCdc&quot;、转轴: &quot;RCshaft&quot;等等... 遇到带有类似这样TE名的物品就可以直接按照如下代码编写

代码:

  1. {
  2. ".*": {
  3.   "共通TE名开头.*": {
  4.   "Tag名A":"显示名A",
  5.   "Tag名B":"显示名B"
  6.    }
  7.    }
  8. }
这样的话只要是TE名为RC开头的物品, 且拥有其中的Tag名, 就可以通用显示。如果遇上类似情况可以减少配置文件的大小和工作量


PartF. 让NBT数据显示在Tooltip上
1.3版本新加入的功能; 因为写该功能的配置文件时要更改开头部分的代码, 所以我建议将一些物品的tooltip代码合起来放在一个新的配置文件里
Tooltip配置代码不需要在内容或格式上作太大的改动, 唯一要改动的就是开头代码(持有物品)

代码:

  1. {
  2.     "tooltip" {
改成这样, 然后在下面继续写物品ID, Tag名和显示名之类的就可以了


P.S. 其实我感觉现在这个功能没什么太大的意义, 无非就是可以显示背包中一些机器的能量储存量什么的..
下图是作者Sama在自己blog贴的一份tooltip代码教程, 是显示头颅所有者, 查看头颅(对象物件)的途径是把它放进箱子里, 然后nbtedit箱子, 在TagCompound中找到相关数据。 大家勉强按照这个操作自己写吧....



PartG. 更改string的字体, 颜色等显示
这个功能也是前两天作者Sama告诉我的, 是Waila的自带功能, 大家可以在Waila源码中的&quot;SpecialChars.java&quot;文件中找到。这里我列举一下+解释使用方法, 效果我就不发图了


首先先要知道MCStyle / WailaStyle / WailaIcon这三条string, 一些自定义的显示样式都是建立在这个基础上的
MCStyle = \u00A7
WailaStyle = \u00A4
WailaIcon = \u00A5


*例如如下所说的&quot;MCStyle +0&quot;, 即要写成&quot;\&quot;的形式, 并加在显示名或Tag名或其它string的前面, 且在' '内

代码:

  1. "Tag名":"function p(v){var r = (v);return '\u00A70显示名: '+r+'\u00A70后缀内容'};"
A. MCStyle部分, 将显示的string改为
黑色字体 - MCStyle +0
深蓝色字体 - MCStyle +1
深绿色字体 - MCStyle +2
青色字体 - MCStyle +3
深红色字体 - MCStyle +4
深紫色字体 - MCStyle +5
金色字体 - MCStyle +6
灰色字体 - MCStyle +7
深灰色字体 - MCStyle +8
蓝色字体 - MCStyle +9
绿色字体 - MCStyle +a
亮青色字体 - MCStyle +b
红色字体 - MCStyle +c
亮紫色字体 - MCStyle +d
黄色字体 - MCStyle +e
白色字体 - MCStyle +f

OBF(波动的乱码) - MCStyle +k
粗体 - MCStyle +l
划横线 - MCStyle +m
下划线 - MCStyle +n
斜体 - MCStyle +o
重置为默认显示的字体 - MCStyle +r

B. WailaStyle&amp;WailaIcon部分, 在显示的string前面
加上一颗心的标志 - WailaStyle+WailaIcon +a
加上半颗心的标志 - WailaStyle+WailaIcon +b
加上空心的标志 - WailaStyle+WailaIcon +c

Tab空格string - WailaStyle+WailaStyle+a
居右string- WailaStyle+WailaStyle+b
居中string- WailaStyle+WailaStyle+c


PartH. 更改NBT数据的显示
Waila NBT的1.4版本新增功能。之前一定有人抱怨有些NBT数据太奇葩, 不好理解什么的, 现在就出现了自行更改 / 处理数据显示的功能
先说明一下, 1.4版本之前的那种代码形式仍然能用, 即为上述教程使用的形式


A. 在NBT数据的string后加上单位等字样 &amp; 值的运算处理
这个嘛... 要改的就是&quot;显示名&quot;部分的代码, 将例如我想在蒸汽能源炉的&quot;Energy&quot;后加上&quot;RF&quot;单位, 就如下编写

代码:

  1. {
  2.     ".*": {
  3.   "thermalexpansion.DynamoSteam": {
  4.   "Energy":"function p(v){var r = (v);return 'Energy: '+r+' RF'};"
  5.     }
  6. }
  7. }
很明显可以看出代码变的更加复杂, 使用了javascript, 所以我在这里解释一下
function p(v){var r =function语句, 不用管加上就可以了
{var r = (v);值的处理, 可以在(v)括号中改成v/20v*20等运算, 具体&quot;v&quot;代表NBT数据的值, &quot;v/20&quot;即为数值除以20, 其它运算同理
如果不想让v进行运算处理, 那么直接写入(v)
return 'Energy: '+r+' RF'};&quot;
'Energy' 显示名, 不作解释。' '内的内容无客观要求, 就如同普通的显示名
+r+ &quot;r&quot;为NBT数据的值, 配合前部分可以理解为&quot;Energy: 数值&quot;
'RF' 加上的后缀内容, 不作解释


所以我们可以得出一个代码格式, 将一些代码代入其中即可

代码:

  1. "Tag名":"function p(v){var r = (v或v的运算);return '显示名'+r+'后缀内容'};"
*如果你只想更改值的运算, 不想在后面加一些显示内容, 就直接在&quot;+r&quot;后结尾

代码:

  1. "Tag名":"function p(v){var r = (v或v的运算);return '显示名: '+r};"
*如果你只想加后缀内容

代码:

  1. "Tag名":"function p(v){;return '显示名: '+r+'后缀内容'};"

B. 去除小数的显示
这个问题也有人反馈过, 现在已经能够解决了, 代码格式为

代码:

  1. "Tag名":"显示名 %.保留位数f 可加后缀内容"

代码:

  1. "Tag名":"function p(v){var r = (v或v的运算);return '显示名: '+r.toFixed(保留位数)+'可加后缀内容'};"
以上两种格式的代码都可以, 如果你不想留有小数, 就可以写成&quot;%.0f&quot;或&quot;.toFixed(0)&quot;
需注意的是, 如果一个原来就没有小数的值被加上这样的代码将会强制留有小数

C. 将NBT数据中的物品ID转换为对应的名字
例如你编写配置文件使Waila能显示漏斗中的物品, 但原有NBT数据都会显示为物品的id。这个时候就可以用如下代码

代码:

  1. "Items>>>0>>>id": "function p(v){return names[v]}"
这种代码的格式为

代码:

  1. "TagList名>>>TagCompound组数>>>id": "function p(v){return names[v]}"
其中&quot;TagCompound组数&quot;代表着第几组TagCompound, 这个在PartD中有详细说明


来看一下效果, 首先是NBT显示处理, 对比以前教程里发的那张图, 可以看出已经得到了很大的优化
具体处理了: string字体颜色&gt;白色 / 各种显示名+冒号+单位



所写的代码为

代码:

  1. {
  2.     ".*": {
  3. "thermalexpansion.DynamoSteam": {
  4. "Energy":"function p(v){var r = (v);return '\u00A7fEnergy: '+r+' RF'};",
  5. "Fuel": "function p(v){var r = (v);return '\u00A7fFuel Left: '+r};",
  6. "FuelMax": "function p(v){var r = (v);return '\u00A7fMax Fuel: '+r};",
  7. "SteamTank>>>Amount": "function p(v){var r = (v);return '\u00A7fSteam Amount: '+r+' mB'};",
  8. "WaterTank>>>Amount": "function p(v){var r = (v);return '\u00A7fWater Amount: '+r+' mB'};"
  9.   }
  10.     }
  11. }

漏斗和矿车漏斗 (作者Sama的截图), 显示了内存物品数量物品名称



JavaScript语句
1.4版本后的Waila NBT已经支持了js语句, 也就是说可以用if , switch , while等语句来写配置文件, 运算符, 逻辑运算符也能参与配置文件
如果学会了以上几种代码以及增加/使用方法, 你基本就可以没什么困难的自己设置了, 有什么错误或者问题可以回帖询问, 但我不一定能及时回复你... 关键还是要自行检查, 比如我之前就犯了很多次忘记加逗号的低级错误
当然如果你有什么bug, 或者建议想要提出也可以回帖, Waila NBT作者也拥有mcbbs的账号


源码
接下来发布的是mod在Github上的源码地址, 你可以将自己写出来的配置文件提交上去, 提交教程请点开折叠
Github链接 : https://github.com/exzhawk/wailanbt
打开eclipse/config/WailaNBT文件夹



点击&quot;+&quot;符号. (Create a new file here)



将写好的代码复制进去, 命名文件为&quot;XXXX.json&quot;, 后缀改为.json



点击底部的Commit new file, 继续点击跳转页面的commit, 完成提交. 我们会在审核后通过




配置文件的下载
如果你想使用别人分享的配置文件, 可以点击Github链接, 在eclipse/config/WailaNBT文件中打开你想要的json文件, 每个json文件的支持模组可以查看文件名来得知
点击raw, 在弹出窗口中, 将出现的代码全复制到你的配置文件中即可完成, 建议分类复制到不同的配置文件中, 如果想合并在一个配置文件需要进行符合json格式的代码衔接; 当然不要忘了输入/wnr来激活


新增指令模组内新增的指令目前有以下几个:
/wnr - 在游戏中刷新配置文件, 使刚完成的配置文件能够立即应用到游戏中, 不必重启了 (要刷新的配置文件必须先保存)
/wne - 查看对象实体的ID
/wnn - 查看手持物品的ID


/nbtedit - 进入NBT编辑窗口, 此指令不是Waila NBT中自带的


Tag名词解释
在NBT编辑中可以看到许多经常出现的Ta, 下面一一解释一下 方便来写显示名. 当然这么多mod中各种方块&amp;实体的Tag不仅这些, 我所列举的只是比较常用且有可读价值的


流体相关
FluidName=流体种类/存储在某个方块中的流体种类
acceptedFluid=某个方块接受/输入的流体, 例如泵在抽水时此项显示&quot;acceptedFluid: water&quot;
Amount=流体存储量 (可能不一定指代流体的多少, 具体视环境而定)


能量相关
energy=某个方块的能量存储量 (内部能量存储)
Recv=(最大)输入能量
Send=(最大)输出能量
heat=BC引擎的热量 (可能还会出现在别的地方?)


燃料/机器运作相关
Fuel=一般表示进度, 是个递增/递减数值, 可以理解为某种燃料维持能量的时间. 显示工作进度的也有其它Tag, 例如上述提到的熔炉&quot;CookTime&quot;与BC引擎的&quot;progress&quot;
FuelMax=某种燃料维持能量的时间上限 (最大维持时间), 与&quot;Fuel&quot;一样单位都应该是tick
当然这些也可以不必以&quot;Fuel&quot;形式出现, 例如TE4中的反应物能源炉, 它的数据中&quot;React&quot;与&quot;ReactMax&quot;即为上述原理
ProcMax(或XXXMax)=最大工作速度
ProcRem(或XXXRem)=一次工作的剩余进度, 同为递减/递增数值, 达到一定值后完成一个物品(生产/处理)
BurnTime=上面的教程提到过, 意味目前所用的这个/这些燃料燃烧剩余时间, 例如一个煤炭的&quot;BurnTime&quot;为1600(ticks), 80秒


实体相关
AttackTime=敌对生物攻击冷却, 如烈焰人多少时间会向你发射火球之类, 是个递减数值
PortalCoolDown=生物要过多久才能在传送门范围内进行传送, 是个递减数值
Fire=生物着火剩余时间, 不着火时值为-1, 着火后变为递减数值
Age=生物交配冷却时间/成长进度, 即一次交配后Age从一定数值递减, 还原到0时才可以进行交配. 幼年动物的&quot;Age&quot;值是一个负数, 当递增到0时即变为成年动物
InLove=生物发情期剩余时间, 即用对应食物激活交配后产生一个数值, 数值降到0后再无法进行交配
Saddle=该生物是否配有鞍, 0为否, 1为是
HurtTime=生物受到伤害剩余时间
Type=生物种类, 如马的种类
Invulnerable=是否可以伤害, 0为否, 1为是
Tame=是否被驯服, 0为否, 1为是
OnGround=该实体是否在地面上, 例如矿车在轨道上时数值显示0


其它
Mode=某个方块的模式, 具体视情况而定, 但一般显示的数值都为&quot;0&quot;或&quot;1&quot;, 也看不出什么来
Active=某个方块的激活状态, &quot;0&quot;表示关闭; &quot;1&quot;表示已激活, 正在运作
Owner=某个方块的拥有者, 若显示[None]则无拥有者或无该设定
Version=某个方块所在模组的版本号
Facing=方块面对方向



更新日志
1.4
支持TagList中的Tag组辨别
支持使用javascript语言来自定义各种显示
支持String.format
可将显示的id改变为对应物品名称
安装需要依赖Waila的1.5.5版本


1.3
支持使物品NBT数据能在Tooltip上显示
支持实体数据在Waila上显示


1.2
修复config/WailaNBT文件夹中若存有别的文件夹会导致游戏崩溃的Bug
修复持有物品代码冲突
去除数据后缀显示, 优化阅读


1.1
去除&quot;&lt;ERROR&gt;&quot;的显示, 修复一些数据在改变时显示错误的bug


1.0
First release



计划内容增加对掉落物的支持, 指向掉落物品时在Waila上显示它们的NBT信息
改善配置文件载入的方式使Waila NBT使用服务器的指定配置文件, 减少作弊的成分
可隐藏/显示的string可调整使用json格式或xml格式编写的配置文件
多语言支持



exzhawk
本帖最后由 exzhawk 于 2014-12-2 14:26 编辑

这里是mod代码作者exzhawk
楼主是mod配置文件/中文教程作者{:10_512:}
{:10_523:}




ViKaleidoscope
本帖最后由 ViKaleidoscope 于 2014-9-29 20:31 编辑
exzhawk 发表于 2014-9-24 04:49
这里是mod作者exzhawk
感谢楼主搬运+教程

wwwwwwwwww

jjxxz2
那我就抢个地板好了/.\

623334165
exzhawk 发表于 2014-9-24 04:49
这里是mod作者exzhawk
感谢楼主搬运+教程

你敢不敢汉化一下MOD?

623334165
谢转载,已收藏,赞一个~

176q72x
楼主发2遍。。

zhengzhi
这个实在是太叼太有创意了,用INGAMENBTEDIT读取容器数据然后送到Waila,好顶赞!

SSCXM
@exzhawk  不是原创模板不够叼……

ViKaleidoscope
623334165 发表于 2014-9-24 08:46
谢转载,已收藏,赞一个~

谢赞ww mod是汉化好了的, 只不过我开的英文

升天の猫
前排顶贴0w0

ViKaleidoscope

天猫酱! >w<

Orange_Heart
点赞 这样的话就不用特意打开nbt来看了

starerror
https://github.com/exzhawk/wailanbt这个地址打不来。

ViKaleidoscope
starerror 发表于 2014-9-25 10:04
https://github.com/exzhawk/wailanbt这个地址打不来。

打不开吗OAO... 试试开VPN

WY.
看着一大篇 头都大了

WY.
用不来啊

ViKaleidoscope

什么地方用不来....

PureBoss
挺好的

ViKaleidoscope

>w<   

qxdnfsy
exzhawk 发表于 2014-9-24 04:49
这里是mod作者exzhawk
感谢楼主搬运+教程

你做的????

ViKaleidoscope
qxdnfsy 发表于 2014-9-25 11:04
你做的????

二楼 233

1347343655
谢啦,楼主加油~

风暴暴风
咳咳,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈


我不是来水的,虽然看不懂,但还是帮助顶顶顶

Hong-Jian
我对那些mod感兴趣

暗金炎罗
前排·······支持?

我是小骷髅
转载的不错嘛,介绍很丰富哦

我是小骷髅
exzhawk 发表于 2014-9-24 04:49
这里是mod作者exzhawk
感谢楼主搬运+教程

我擦?真的是作者吗?还以为是老外!

ViKaleidoscope
我是小骷髅 发表于 2014-9-25 15:21
转载的不错嘛,介绍很丰富哦

谢www  

筒子
这个对于笔记本电脑是不是杀手级别的啊

1411465506
这是做RPG地图的福利么?2333

ViKaleidoscope
1411465506 发表于 2014-9-26 05:16
这是做RPG地图的福利么?2333

和RPG地图有什么关联... OAO

Seekers_05
楼主电脑上有多少MOD......
几大超神模组玩家~~~

ViKaleidoscope
Seekers_05 发表于 2014-9-26 09:54
楼主电脑上有多少MOD......
几大超神模组玩家~~~



目前测试mod用的QwQ

时空游荡者
1.7.10的NBT出了么

ViKaleidoscope

出了, Qfang23在站内搬运过的

http://pan.baidu.com/s/1bntlyJ9

指挥官4057
楼主这个1.7.2好用么,搬运的好评~

ViKaleidoscope
指挥官4057 发表于 2014-9-26 11:16
楼主这个1.7.2好用么,搬运的好评~

很可惜不行呢OAO...

重返的DZ
谢谢楼主的MOD,我给个赞,可地址我也打不开呀?

w1351658513
我看不懂

ViKaleidoscope
重返的DZ 发表于 2014-9-26 12:24
谢谢楼主的MOD,我给个赞,可地址我也打不开呀?

是下载地址还是github的地址0 0...

重返的DZ
重返的DZ 发表于 2014-9-26 19:24
谢谢楼主的MOD,我给个赞,可地址我也打不开呀?

github的地址

ViKaleidoscope

那直接把代码贴上来233

重返的DZ
ViKaleidoscope 发表于 2014-9-26 19:41
那直接把代码贴上来233

谢谢啦{:10_512:}

1411465506
ViKaleidoscope 发表于 2014-9-26 14:11
和RPG地图有什么关联... OAO

刷怪笼←.←,方便修改

西瓜太郎
感谢搬运~

a1004944271
exzhawk 发表于 2014-9-24 04:49
这里是mod作者exzhawk
感谢楼主搬运+教程

wwwwww 能否把前面的类似于熔炉的"BurnTime"改成中文的?

2392658960
天才0...........................0

HC20011015
exzhawk 发表于 2014-9-24 04:49
这里是mod作者exzhawk
感谢楼主搬运+教程

经核实,@exzhawk作者无误!

四月
{:10_524:}

下一页 最后一页