==QQ问题==
不要加我QQ问问题了说实话的很烦
如果你有问题,我创建了一个群你可以进去问
兼材质交流群
群号:655874754
点我加入
==前言==
1.版本最好是1.9+最最最好是1.11+因为1.9+支持更多替换方法
1.11+支持更多3D模型替换,其他版本应该也是可以用这个办法的
有个小伙伴告诉我1.8是支持的,但是其他定义项目好像不行
其他版本有人测试过可以告诉我
2.需要玩家都安装高清修复OptiFine
3.需要材质包为数据基础
4.这里的纯净并不是指没有任何的Mod
正文
注意:如果你是1.11或以上的版本
请不要在文件夹或文件使用大写字母,必须用小写
如果你使用了大写那么你材质将会不显示!!
除了文件里面的大写,要是你改小写还可能出问题
请使用最新的高清修复OptiFine正式版 正式版 正式版!!
1.12.2我测试发现有一个BUG不是高清修复问题
你安装的一些Mod会导致材质中空,中间没有显示
就薄薄的2片,现在已经知道会导致出现这类情况的Mod如下
TexFix 这个Mod会使你的材质中空
WorldEdit+CUI+Forge+Edition 也就是可视化创世神
WorldEdit+CUI+Forge+Edition 也就是可视化创世神
当你选择几个点的时候材质会出现中空,不选择的时候则不会
以下教程均用1.10.2进行示范
1.13+版本物品无法更改问题
材质包到了1.13+版本之后cit的储存位置变化了导致 用1.12.2及以下版本制作的材质包无法进行修改了 只要把目录更改为如下即可 1.13+ 你的材质包/assets/minecraft/optifine/cit 1.12.2以及以下 你的材质包/assets/minecraft/mcpatcher/cit 1.13+的版本下不能再用数字ID必须用minecraft:XXX这种物品ID游戏才能识别 |
如何正确使用这2种方法
==================================== 添加Lore通常用于可自定义的,比如Rpg武器/物品 或者是用于菜单BossShop的个性化 因为调用很简单不用再次添加颜色代码所以我非常推荐这样 ==================================== 名字改变的方法,通常用于一些你无法改变他Lore的菜单插件 比如粘液科技你根本无法添加他的Lore只能通过改Name的方法开改 而且改完我们不需要二次调用 所以我非常推荐这样 ==================================== |
一.准备工作
首先先创建一个材质包(如果你有可以直接跳到5) 1.创建一个文件夹,然后进入 2.创建文件夹目录,请逐一创建目录为 \assets\minecraft 一共2个文件夹创建到一开始创建的文件夹里面 assets里面创建的是minecraft这个要记住 3.返回一开始创建文件夹的目录 创建文件名为pack后缀名为.mcmeta 使用UTF-8编码 里面的内容填写下面
中间的"pack_format": 3, 表示可以允许在那个版本运行 1.8.9以下填写1,1.9以上填写2,1.9.4以上填写3 4.然后可在同pack.mcmeta文件下面放一个名为pack.png的图片为材质包图标 推荐为32X32或者64X64其他正方形也是可以的 5.在你材质包的minecraft文件夹目录下 新建一个文件夹:mcpatcher 1.13+新建optifine文件夹 再在mcpatcher/optifine文件夹下再新建一个文件夹:cit 然后打开cit 这里就可以开始我们制作之旅啦!! |
二.用添加Lore的方法修改材质
PS:图片如果有变形请放大观看
我们先创建一个属于自己材质的存放文件 比如我创建的:Nwe Item<<写错了...其实我想写New的 我们打开他 把需要添加的材质丢进去 然后修改一下添加的材质的名字 游戏里面修改Lore之后物品材质就会改变的 填写可以随便比如: Item.123456.end 这样不会搞混 如果你想改其他的Lore也是可以的不一定要和我的一样 只是我这样不容易把多个Lore搞混 PS:如果想添加中文请去看用修改名字添加的方法来添加材质 不过这样会很麻烦并不推荐 之后此创建一个文件 后缀名是: .properties 前面填写材质的名字 每个材质都要有一个对应名字的.properties文件 上图是我修改完成之后的样子 之后我们打开刚刚创建的.properties后缀文件 最好用Notepad++打开,其他的也可以看你个人 我们添加下面的代码 每一个都要添加
我一个一个说 如何填写里面的参数 第一个:这个是类型的参数一般都是item 也会有arms,和elytra参数 这个以后用到在讲 第二个:matchItems= 指的是原来的物品ID 当然你填写全名也是可以的 比如这里我要铁剑那就是matchItems=267 第三个:texture= 这个照填材质的名字填写 比如texture=Item.001.end 第四个:nbt.display.Lore.*=指的是 当这个物品有什么样的NBT的时候就改变他的材质 Lore.*指的是Lore改变的时候 * 指的是第几行 后面照材质的名字填就可以了 当然填写其他也是可以的之后调用的时候输入这个就可以 比如:nbt.display.Lore.*=Item.001.end 修改完成之后是这个样子的
啥?你问我为什么不用颜色代码给他叫特效?你傻啊 你用的时候还要给他加上,不用这样多此一举 不过没有颜色代码是基佬紫,觉得不好看又不怕麻烦的可以加上 加上黑色&0/§0会有些看不见Lore 需要添加颜色代码请把颜色代码转码比如添加§a也就是绿色 需要把§a转码,详细看Name的修改方法 好了最后一步 压缩材质包成zip放进游戏里面 然后我们测试一下 安装完成之后 添加Lore,因为这段Lore的原物品是267也就是铁剑 所以手上要拿着铁剑 单机游戏添加Lore可以用指令 /give @p 这里填写物品的名字(英文) 1 0 {display:{Lore:["这里填写需要添加的Lore"]}} 然后就直接给你一个带此Lore的物品了 单机的颜色代码是§并不是& 成品图片展示 本章教程到此结束 |
三.通过修改名字来修改材质
和Lore基本一样 先上代码
nbt.display.Name= 后面填写材质的名字 服务器内/lore name [名字](需要安装Lores插件) 下图是我用这个方法修改的粘液科技插件的部分物品 用的是工业2MOD的素材 英文是可以直接写上去的,而中文就不同了需要转码 然后我们以上图的矿物粉作为教程 还是同样的材质扔进去 文本创建 填写好各种参数 重点来了 nbt.display.Name= PS:下面的方法可以适用上面的Lore,不过这样要调用的时候会非常麻烦 并不推荐这样 后面需要填写的是§6金粉 因为原来菜单的物品是有颜色的所以我们要进行添加颜色 而现在添加颜色的代码不是&而是§ PS:§的打法是按住Alt然后输入数字167 我们进行转码 可以使用下面给出的Unicode转码工具 我转出来的是:\u00a76\u91d1\u7c89 然后进行填写 nbt.display.Name=\u00a76\u91d1\u7c89 保存然后进行测试 之后我就懒得上图了 |
四.3D材质
首先我们先创建几个文件夹,如果你没有请逐一创建 你的材质包名字\assets\minecraft\textures\blocks 这个文件夹是用来放3D的材质的 当然也是可以放在和json同一个目录下的 看你用那种方法 然后在 你的材质包名字\assets\minecraft\mcpatcher文件夹内的任意一个地方 创建一个文件夹,名字可以自定,最好在mcpatcher里面创建 源模型/Source models 你的材质包名字\assets\minecraft\mcpatcher\Source models 这个文件夹是用来放.json的模型的 注意:你的存放文件夹名字不一定要是这个名字,只是一些人都习惯用这个名字 当然目录也是放在mcpatcher内或任意子文件夹都可以 不一定要放在上面的文件夹,和.properties后缀名文件放一起也是可以的 需要注意的是.properties后缀名文件只能放在cit或者cit的子文件夹内 不然游戏不识别 如上就是我们要创建的文件夹了 以下部分素材来源混乱帽 然后我们打开blocks文件夹,把3D模型的贴图放进去 然后取一个名字这里我取的名字是3DItem_1 当然你也是可以把贴图文件直接放在和json同一个位置(这样比较方便...) 然后再打开源模型/Source models文件夹把.json模型放进去 然后用Notepad++打开 然后找到开头的
多个贴图也是差不多一样的设置 然后我们把里面的路径修改一下,修改成我们贴图的路径 如果是和json模型文件同一个目录的话就直接把贴图名字写上去原来的文字要删除 两个都要修改 如果你不是同一个目录那么你就可以填写路径路径分割是/而不是\这个要清楚 然后路径是从blocks开始的 我的就是填写blocks/3DItem_1 还有就是如果你除了这2个还有第三个最好也填写一下 然后我们创建.properties后缀名文件 打开并输入代码
代码我就不多说什么了 我物品填写的是小麦也就是items=wheat 然后我要说的是model=这里填写的是.json的模型文件路径后缀名.json不用写上去 目录是在mcpatcher开始的 我这里的填写的是model=mcpatcher/Source model/3DItem 我的原模型文件名字是3DItem.json 我的代码如下 这里可以直接忽略texture=或者你也可以给那些不能显示3D的玩家射映一张物品
当然model=的用处不仅仅是调用json模型 还可以用来调用设置物品的手持位置或者大小的json 比如设置一个放大2X的json可以用model=来调用 下面有给出放大的Json文件下载 Lore |
以下教程均以上面为基础
五.时装/更多的衣服/更多的怪物
注:不支持皮革套 好了先上代码 需要的代码几乎是一样的 代码1
代码2
只有(类型)type=变了 从itme变成armor 用处自然是射映皮肤文件 代码1的作用是让物品在手上改变材质 如果缺少了穿上就会有效果而手上的还是原来的物品 代码2就是让盔甲穿在身上改变材质 如果缺少了那么拿在手上的就会显示,而穿上之后不会有任何效果 而且如果你配置错了你还会看见黑紫色的片片 射映皮肤就要先学会画一个正确的皮肤 下面为示范 必须用1.8以下版本的皮肤材质 这边我用 做为范例 还是一样点击小人旁边的三角形 然后选择players>>steve(Minimal) 或者是用Alex(Minimal)也是可以的 千万别选不带(Minimal)的不然最后弄出来是人模狗样 然后把这2个显示选项给关闭(之后打开画红色部分也就是鞋子部分) 然后我们开始画 注意:黑色部分我没画材质 画好之后保存 然后再创建1张新的皮肤创建方法和上面一样 然后把这5个选项给关闭,选择之前的那两个 这里是可以打开第二个按钮画一点到上半身的(我没画) 然后继续画,当然这里不需要重复上面的皮肤 而是在这张皮肤上补充上上面的黑色未画部分 这样做是因为单单射映1张皮肤会让鞋子和护腿连在一起 穿鞋子就有了护腿,让护腿显得没用 当然你射映怪物的话是可以单单画一张的,毕竟又不是时装做那么仔细也没有用 到这里我们就完成我们的皮肤绘置 然后我们来把它放文件夹 这里我就不放图片了(纯文字) 做一套装备需要有14个文件 6个材质 8个代码文件 6个材质分别是 4个手里的展示物品 2张铠甲贴图,画法和为啥要2张在上面已经说了 8个代码文件分别是 4个对应物品的射映文件和4个对应身上盔甲的摄影文件 然后开始写 对应4个展示贴图的的射映使用代码1
使用的4个射映文件的Lore要一致 有人可能要问了,一样不是会出现Lore占用吗? 材质会变成紫黑小块的 你要清楚,你射映的每个物品的物品都不一样 头 身 裤 鞋 对应的都是不同的物品代号 不一样的物品用一样的Lore怎么会紫黑呢? 就像用一样的物品不一样的Lore一样的道理 然后射映完成之后 针对穿戴在身上的盔甲进行射映 一样要准备4个射映文件用代码2射映
除了裤子射映第二张盔甲材质 其他都射映第一张,至于为什么 我开头说了 然后就OJBK了 展示图片 为什么说更多怪物呢? 你想啊,要是给一些可以穿衣服的怪物穿上会有什么效果? 小白啊僵尸啊小僵尸啊什么都,穿上不就是另一个怪物了? 因此更多怪物也是可以实现的 虽然会显得很大不好看............ 当然也有其他的方式 如@⊙v⊙ 的教程 Optifne 小型实用教程 内的实体贴图 按照他的来即可 这里附赠一个皮肤单双层转换 好像贴图必须是单层的才可以替换来着 |
六.弓箭材质的修改方法
上代码
第三行是物品拿在手上的材质名字 4,5,6行是拉弓箭时候显示的材质名字 拉弓箭的时候,会有不同的三个阶段 解释那麽多也没有用 上一张图片 如上 我已经添加.properties文件,名字也修改了 也就是说做一个弓箭的材质至少需要画4张材质图片 第一张是拿在手里的材质 其余三张都是拉弓箭时的材质 分别是 texture.bow_pulling_0=拉了一点 时候的材质 texture.bow_pulling_1=拉了一半 时候的材质 texture.bow_pulling_2=拉满了 时候的材质 0~2共3张 下面是我写好的配置
然后下面是我制作完成的截图 Lore 你问我为什么这个材质那么难看? 因为节省时间嘛我就随便画画了 |
七.翅膀修改方法
这边我们需要一个软件 搬运下载MCSkin3D旧版本 我这边是去官方下载的 旧的汉化还可以用,而且旧版本有Bug 如果有需要我会在下面给出下载 我们打开软件 点击小人旁边的三角形 然后选择Item>>Elytra创建翅膀皮肤 然后用软件进行修改,修改完成之后保存 然后再画2个拿在手上的翅膀物品 一个是完好的,一个是破损的 我这里画好了1个 下面是物品方面 这次我画的是很好了 然后放文件夹 创建好.properties后缀文件 需要创建2个,一个的名字和翅膀的材质名字相同 第二个和翅膀物品材质的材质相同 是没有损坏的那个材质 然后打开翅膀物品的的那个.properties后缀文件 放入下面代码
texture.elytra=后面填写的是未损坏的翅膀物品材质 texture.broken_elytra=后面填写已经损坏的翅膀皮肤材质 最后一行的Lore要和下面代码的Lore一模一样 然后打开穿戴翅膀显示的材质的.properties后缀文件 输入下面代码
type=elytra这个是翅膀的物品类型参数要是填写item就是物品了 texture=填写穿戴翅膀显示的材质的名字 最后一行的Lore要和上面代码的Lore一模一样 我完成之后的截图 完成之后的代码 翅膀物品
Lore |
Ⅷ.动态材质
因为本章节内容较少... 所以我打算连动态材质的制作方法一起教了 使用一个软件IconLover 当然你用其他也不是不可以 我们打开他先画好你动态材质的第一帧 比如我这样 记标一个红点等下复制要用 然后我们创建一张新图 我这个材质是32X的 我这里是16帧的 那我的宽应该是32X16=512 你材质的大小X一共的帧数=你动态材质宽的大小 也就是说我的动态材质是32X512的大小 那么我们创建好并复制材质 一共要复制16帧[我这里] 复制完成16帧之后我们擦除左上角的小红点 然后开始一帧帧修改 我这里主要修改里面的八卦盘 完成之后的图片[你可以直接当材质下载了] 然后我们用往常一样的方法射映这个材质 用.properties文件射映和普通的材质一样就可以了 重要的地方来了 创建一个.mcmeta后缀文件 用Notepad++打开之后输入代码
"frametime": [后面有空格] 这后面填动态材质的播放速度 数字越小速度越快数字大则相反一般填写2~5 最重要的是 这个.mcmeta后缀文件的名字一定要和材质名字一毛一样 比如我的材质名字是dongtai 准确的来说应该是dongtai.png 所以我.mcmeta后缀文件名字应该是 dongtai.png.mcmeta 这里可以看到连.png都写进去了 如果不写物品添加Lore之后就是紫黑小片片 完成之后的截图 我不会弄Gif截图.....这个是静态的 |
⑨.钓鱼竿
先上代码
我解释3-4行 texture=这个填写的是钓鱼竿没有挥出去显示的材质 texture.fishing_rod_cast=这个就当然是填写挥出去的材质 所以说一共2张材质 我做好的 代码
效果图 要是把另一张材质中的钓鱼竿的线和浮子变空白 我想激光剑啥的应该是可以实现的哦!! |
Ten.盾牌
注意!看本教程之前请先看会 四.3D材质 我终于摸索出了盾牌的修改方法 用自己做的盾牌模型替换原版就可以了 我做了一个,不可能100%和原版一模一样,但是模型还是高仿的 我说的是位置不太一样,不喜欢的可以自己做 然后先给出模型Json文件,我就懒得弄下载了你们自个复制 普通拿盾牌Json
盾牌格挡的Json
创建.json后缀名文件然后复制进去保存成UTF-8编码即可 名字比较随意,毕竟每一个盾牌都要这样的2个文件 然后我们的贴图是填写在 "0": "blocks/", "particle": "blocks/" 这里的/后面填写贴图的名字blocks的目录位置可以看柒.3D材质有详细说明 然后我们的贴图可就有点讲究了我们打开MCSkin3D 选择小三角 Items-->Shield 创建盾牌贴图模型 然后我们画好材质之后放上面说的位置,然后记得Json需要修改的 然后找个地方,放2个json文件 然后创建一个.properties后缀名文件 名字随意,我们打开它输入
这里我们直接忽略了texture=毕竟没多大用 model=填写的是正常拿盾牌的json名字不用填.json model.shield_blocking=则是填写格挡时候的json名字同样不需要填写.json matchItems=shield这里的原物品是盾牌 然后我们就可以保存上游戏测试了 如果上面两个模型替换成其他的模型那么右键盾牌的时候回切换模型 松开就会变回去 很适合做一些小花样(花里胡哨) |
11.药水
注意现在这个我都看不懂我之前写了什么 有空我再研究把 根据141楼和142楼的研究得出以下 关于药水,就我目前实验所得,药水不能进行全局替换(全局,问就是酷炫贴图) return potionIn == PotionTypes.EMPTY ? 16253176 : getPotionColorFromEffectList(potionIn.getEffects()); 以上内容由 CO68 提供 我原版尝试文件射映之后他把我材质蒙了一层 超级无敌吊炸天比你祖宗还厉害的大姨妈 总之使用这个方法应该会解决出现大姨妈的问题 如果还有问题,那你看着办把 正文 先在cit文件夹里面创建一个名为potion的文件夹以存放数据 然后再到potion里依次创建linger normal splash这三个文件夹
当然名字变了和位置变了是不能使用这个功能的 先用名字射映,名字就是:XXXX.png 那么怎么命名呢? 看下面的列表 初始名字 是指普通没有进行升过效果/时间等级的 升到2级 是指药水的效果升到2级之后的名字 效果延长 是指药水的效果时间升级之后的名字 这些在官方中文WIKI是有记载的,为了方便我就摘抄过来了
一般把射映材质改成透明,然后再用代码射映新药水材质 药水射映代码
是填写覆盖层的文件名字 texture.potion_bottle_drinkable= 是填内容层材质的文件名字 要是你不需要内容层材质 那么就单单使用 第二章讲到的texture=就行了 |