Minecraft(我的世界)中文论坛

 找回密码
 注册(register)
查看: 3139|回复: 25

[教程] ◆ 黑科技 】文字教程丨原版 Minecraft 增加新的方块(绝对良心)

[复制链接]
发表于 2017-1-12 23:31:25 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 天迹灬战狂神 于 2017-1-14 08:22 编辑

效果展示:


视频教程:


                               
登录/注册后可看大图
首作者:SimplySarc
https://www.youtube.com/user/SimplySarc

                               
登录/注册后可看大图



                               
登录/注册后可看大图
我使用到的资源包:

解压后使用(我压缩时多压缩了一层→_→)
文字教程:


                               
登录/注册后可看大图


如图,在游戏里增加方块并不会和已有的方块材质发生冲突,而且在日常游戏时,几乎发现不了游戏材质发生了变化。
原理1 就是:
我并没有增加方块的材质,而是增加了物品的材质。
我把钻石锄损伤的材质进行了更改,将他伤害从1-14的物品材质改为了方块材质。(一般性你也不会在生存用钻石锄吧...?)


                               
登录/注册后可看大图


材质的更改非常容易:
资源包文件中
\assets\minecraft\models\item
item文件夹内有一个diamond_hoe.json文件,这个是钻石锄的模型文件。

原版钻石锄的模型文件是这样的:

  1. {
  2.     "parent": "item/handheld",
  3.     "textures": {
  4.         "layer0": "items/diamond_hoe"
  5.     }
  6. }
复制代码

但是如果你想要在这个模型上加入别的模型,就复杂了。

这是我现在的钻石锄模型文件里的内容:


  1. {
  2.     "parent": "item/handheld",
  3.     "textures": {
  4.         "layer0": "items/diamond_hoe"
  5.     },
  6.         "overrides": [
  7.                 { "predicate": { "damage": 0.000640204866}, "model": "blocks/new_block1"},
  8.                 { "predicate": { "damage": 0.00128040973}, "model": "blocks/new_block2"},        
  9.                 { "predicate": { "damage": 0.0019206146}, "model": "blocks/new_block3"},
  10.                 { "predicate": { "damage": 0.00256081946}, "model": "blocks/new_block4"},
  11.                 { "predicate": { "damage": 0.00320102433}, "model": "blocks/new_block5"},
  12.                 { "predicate": { "damage": 0.00384122919}, "model": "blocks/new_block6"},
  13.                 { "predicate": { "damage": 0.00448143406}, "model": "blocks/new_block7"},
  14.                 { "predicate": { "damage": 0.00512163892}, "model": "blocks/new_block8"},
  15.                 { "predicate": { "damage": 0.00576184379}, "model": "blocks/new_block9"},
  16.                 { "predicate": { "damage": 0.00640204866}, "model": "blocks/new_block10"},
  17.                 { "predicate": { "damage": 0.00704225352}, "model": "blocks/new_block11"},
  18.                 { "predicate": { "damage": 0.00768245839}, "model": "blocks/new_block12"},
  19.                 { "predicate": { "damage": 0.00832266325}, "model": "blocks/new_block13"},
  20.                 { "predicate": { "damage": 0.00896286812}, "model": "blocks/new_block14"}        
  21.         ]

  22. }


复制代码

可以看到,我在后面加入了14个
  1. { "predicate": { "damage": 0.000640204866}, "model": "blocks/new_block1"},
复制代码

"predicate": { "damage": 0.000640204866}
是指我要在伤害值为0.000640204866的时候,调用我指定的模型。
而这个0.000640204866就是1/1562,即1除以钻石锄耐久值。当钻石锄减少了0.000640204866耐久时,调用我指定的模型。

第二行变成了

{ "predicate": { "damage": 0.00128040973}
是因为2/1562

第三同理

"model": "blocks/new_block1"
是指调用模型是,要调用blocks/new_block1这个模型。这个new_block1是我自己写的一个文件,它里面的内容如下:

  1. {
  2.     "parent": "block/cube_all",
  3.     "display": {
  4.         "thirdperson_righthand": {
  5.             "rotation": [ 10, -45, 170 ],
  6.             "translation": [ 0, 1.5, -2.75 ],
  7.             "scale": [ 0.375, 0.375, 0.375 ]
  8.         },
  9.         "head": {
  10.                         "rotation": [ -30, 0, 0 ],
  11.                         "translation": [ 0, -30.75, -7.25 ],
  12.                         "scale": [ 3.0125, 3.0125, 3.0125 ]
  13.                 },
  14.         "ground": {
  15.             "rotation": [ 30, 30, 30 ],
  16.             "translation": [ 0, 0, 0 ],
  17.             "scale": [ 4, 4, 4 ]
  18.         }
  19.     },
  20.     "textures": {
  21.         "all": "items/new_block1"
  22.     }
  23. }
复制代码



感觉第一页太长了→_→
翻页吧


评分

参与人数 16人气 +23 金粒 +239 收起 理由
Deing + 1 + 19 很棒的作品!
我是小童鞋 + 1 + 20 有一点地方不懂,希望私聊帮助下.
theCrux + 1 + 10 楼主你太帅了~
Because. + 2 大佬,大佬
我是小苦 + 1 + 15 MCBBS有你更精彩~
pineapple_ + 1 + 15 MCBBS有你更精彩~
浅梦l + 1 + 15 原始膜
langyo + 2 + 35 二向箔
1903863054 + 1 + 15 6666666
lrf8643 + 1 + 20 给你修了一下材质包的问题。
719220502 + 3 不错
kongbaiyo + 2 + 15 厉害啦!
pca006132 + 2 + 35 MCBBS有你更精彩~
博中 + 1 + 10 黑科技
ruhuasiyu + 2 催一波
PlanetAutumn + 1 + 15 很有意思的教程...明天打算试试.......

查看全部评分

回复

使用道具 举报

发表于 2017-1-12 23:39:27 | 显示全部楼层
啊哈在这里啊,嗯很良心啊
回复

使用道具 举报

发表于 2017-1-13 01:08:25 | 显示全部楼层
好东西  收了   谢谢楼楼
回复

使用道具 举报

发表于 2017-1-13 21:31:46 | 显示全部楼层
模型很多的话,可以写个parent文件,方便维护
eg:

new_block.json
  1. {
  2.     "parent": "block/cube_all",
  3.     "display": {
  4.         "thirdperson_righthand": {
  5.             "rotation": [ 10, -45, 170 ],
  6.             "translation": [ 0, 1.5, -2.75 ],
  7.             "scale": [ 0.375, 0.375, 0.375 ]
  8.         },
  9.         "head": {
  10.             "rotation": [ -30, 0, 0 ],
  11.              "translation": [ 0, -30.75, -7.25 ],
  12.              "scale": [ 3.0125, 3.0125, 3.0125 ]
  13.         },
  14.         "ground": {
  15.             "rotation": [ 30, 30, 30 ],
  16.             "translation": [ 0, 0, 0 ],
  17.             "scale": [ 4, 4, 4 ]
  18.         }
  19.     },
  20.    "textures": {
  21.         "all": "#str"   
  22.     }
  23. }
复制代码

new_block1.json
  1. {"parent": "block/new_block","texture": {"str": "items/new_block1"}}
复制代码
new_block2.json
  1. {"parent": "block/new_block","texture": {"str": "items/new_block2"}}
复制代码
new_blockn.json
  1. {"parent": "block/new_block","texture": {"str": "items/new_blockn"}}
复制代码

...






点评

就该这么做  详情 回复 发表于 2017-1-14 08:46

评分

参与人数 3人气 +7 金粒 +1 收起 理由
乙烯_中国 + 4 MCBBS有你更精彩~
lrf8643 + 1 + 1 老大
天迹灬战狂神 + 2 还能这样啊,没有想到23333

查看全部评分

回复

使用道具 举报

发表于 2017-1-13 21:34:07 | 显示全部楼层

版本多少。

评分

参与人数 2金粒 +2 收起 理由
天迹灬战狂神 + 1 1.9+
719220502 + 1 1.9

查看全部评分

回复

使用道具 举报

发表于 2017-1-13 22:57:34 | 显示全部楼层
我又来了。发现你的材质包出问题。我给你新做了一个。只留下必要的。放在最上方不会影响其他材质包(除了刷怪笼和钻石锄)。
链接: https://pan.baidu.com/s/1kVFLOt5 密码: wzfk(伪装方块)
你应该能看懂,我就直接上图了。

                               
登录/注册后可看大图



                               
登录/注册后可看大图



                               
登录/注册后可看大图



                               
登录/注册后可看大图


指令包含在材质包里面,直接一步到位的指令。


                               
登录/注册后可看大图



                               
登录/注册后可看大图






评分

参与人数 1人气 +2 收起 理由
天迹灬战狂神 + 2 其实我的材质包多压缩了一层。。要解压才能.

查看全部评分

回复

使用道具 举报

发表于 2017-1-14 08:46:26 | 显示全部楼层
719220502 发表于 2017-1-13 21:31
模型很多的话,可以写个parent文件,方便维护
eg:

就该这么做
回复

使用道具 举报

发表于 2017-1-15 10:18:42 | 显示全部楼层
原来是材质包模型= =不错,支持一下
回复

使用道具 举报

发表于 2017-1-15 15:16:16 | 显示全部楼层
右边那个是金矿石?

评分

参与人数 1金粒 +1 收起 理由
天迹灬战狂神 + 1 萤石灯

查看全部评分

回复

使用道具 举报

发表于 2017-1-15 21:15:22 | 显示全部楼层
我解压出来,你的贴图都没了。。。。
你解压看看。不知道除了什么问题。我用的360压缩。

点评

我这里没问题啊... 用的也是360....  详情 回复 发表于 2017-1-15 21:38
回复

使用道具 举报

 楼主| 发表于 2017-1-15 21:38:51 | 显示全部楼层
lrf8643 发表于 2017-1-15 08:15
我解压出来,你的贴图都没了。。。。
你解压看看。不知道除了什么问题。我用的360压缩。 ...

我这里没问题啊...

用的也是360....

点评

你看吧,item没有。看你写的json,你的贴图都在item文件夹。。。。  详情 回复 发表于 2017-1-15 21:28
回复

使用道具 举报

发表于 2017-1-15 21:28:25 | 显示全部楼层
天迹灬战狂神 发表于 2017-1-15 21:38
我这里没问题啊...

用的也是360....

你看吧,item没有。看你写的json,你的贴图都在item文件夹。。。。

                               
登录/注册后可看大图

点评

TEST\assets\minecraft\models 在这里.........  详情 回复 发表于 2017-1-16 01:04
回复

使用道具 举报

 楼主| 发表于 2017-1-16 01:04:35 | 显示全部楼层
本帖最后由 天迹灬战狂神 于 2017-1-15 12:05 编辑
lrf8643 发表于 2017-1-15 08:28
你看吧,item没有。看你写的json,你的贴图都在item文件夹。。。。

不可能啊。。我压缩包完全没错误。。。
我再看看百度盘的文件有没有问题

评分

参与人数 1金粒 +1 收起 理由
lrf8643 + 1 迷之错误。。。

查看全部评分

回复

使用道具 举报

头像被屏蔽
发表于 2017-1-16 04:23:05 | 显示全部楼层
可以的,之前乙烯导入出来的普通disco也是这原理

@乙烯_中国 都这样了你还不给评分?

评分

参与人数 1金粒 +1 收起 理由
乙烯_中国 + 1 不给

查看全部评分

回复

使用道具 举报

发表于 2017-6-6 09:13:27 | 显示全部楼层
厉害了
那么是不是也可以利用这个机制在原版添加很多物品材质
RPG地图就可以做很多的装备

点评

物品材质的话只需要更改钻石锄就好了,不用管其他的刷怪笼什么的  详情 回复 发表于 2017-6-6 09:34
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 手机版本

GMT+8, 2017-12-18 16:44 , Processed in 0.103624 second(s), 7 queries , Memcache On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标。本站与Mojang以及微软公司没有从属关系。

© 2010-2017 我的世界中文论坛 版权所有。本站原创图文内容版权属于原创作者,未经许可不得转载。

快速回复 返回顶部 返回列表