帖子标题所谓的"特定情况"中, 包括方块的名字, 也就是说我们可以令方块在有特定的名字上显示特定的贴图, 从而显示特定的模型。那么什么方块可以命名呢? 你可能会说所有的方块物品不都是可以命名的吗。但是, 绝大多数方块命名后, 放下来就失去了它名字的nbt标签, 破坏下来之后也不能保持原有的名字。好在目前有一些方块是命名后破坏下来名字可以保留的:
酿造台 附魔台 熔炉 漏斗 投掷器 发射器 木桶 烟熏炉
这里要使用透明方块, 去除不透明方块后剩下
酿造台 漏斗
但是酿造台只有1个方向, 漏斗有5个方向, 所以漏斗是最合适的。
看完上面的两个实例, 我们知道了属性文件内 heights可以控制材质应用的高度, biomes可以控制材质应用的生物群系, 例如 heights=32-64 # 当方块的y值位于32到64时应用属性文件的内容 biomes=ocean # 当方块所处的生物群系为海洋时应用属性文件的内容
heights=48
biomes=ice_spikes dark_forest # 两行代码写一起表示 当方块所处的生物群系为黑森林或冰刺之地 且y值为48时 应用属性文件的内容
感谢强大的Optifine, 现在我们可以用容器的名称控制是否应用属性文件的内容, 其代码为
下面进入实例, 我们做一个蜡烛家具, 当漏斗的名字为lazhu, 且漏斗为垂直摆放时出现家具模型
我们在游戏主jar文件内/assets/minecraft/models/block/里找到hopper.json, 打开 (hopper.json为垂直漏斗的模型, 只有1个方向; hopper_side.json为有朝向的漏斗的模型, 有4个方向)
直接在上面建好蜡烛的模型, 贴好图。这里蜡烛的贴图存在textures/block/下的candle.png。这里我也准备好了漏斗的3个贴图。
传统艺能。下面把蜡烛的贴图文件candle.png复制一份到optifine/ctm/文件夹, 然后把原来的textures/block/文件夹内的candle.png变成全透明的贴图
我们进入/optifine/ctm/内, 新建一个属性文件, 里面写
matchTiles=candle
method=fixed
tiles=lazhu
name=lazhu
matchTiles=candle # 表示被替换的贴图为textures/block/下的candle.png 也就是蜡烛的全透明贴图
method=fixed # 表示运用的CTM功能为替换贴图
tiles=lazhu # 表示替换的贴图为本属性文件目录中的lazhu.png 也就是蜡烛的正常贴图
name=lazhu # 表示当漏斗名字为lazhu时应用本属性文件的内容
进入游戏:
可以看见我们还需要隐藏掉漏斗的贴图
漏斗的贴图有3个, 所以这里要准备3个属性文件, 再准备一个全透明的贴图文件。我这里的3个属性文件分别是l1.properties, l2.properties, l3.properties。全透明文件是储存在textures/block/下的touming.png。这里拿属性文件l1.properties再解释一下。
matchTiles=hopper_inside # 表示被替换的贴图为textures/block/下的hopper_inside.png 也就是漏斗的其中一个贴图
method=fixed # 表示运用的CTM功能为替换贴图
tiles=textures/block/touming # 表示替换的贴图为textures/block/touming.png 也就是那个全透明贴图
name=lazhu # 表示当漏斗名字为lazhu时应用本属性文件的内容
成功!
|