开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[BE教程] 附加包教程:10.方块(一)

 发表于 2023-1-12 10:54:40 来自手机|显示全部楼层|阅读模式 IP:山西省
本帖最后由 Cat_Anchor 于 2024-5-17 19:20 编辑

前言

前面4期,我们已经学完了有关物品的知识。这次,我们就来学习如何添加一个方块。这是一个很复杂的内容,它的难度比物品要大得多。然而,如果只需要一个简单的方块,那么方块和物品就大同小异了。接下来,我们将花若干期的时间学习关于方块的所有内容。
准备

学习方块是一个由简到难的过程。
在行为包根目录下打开blocks文件夹,新建一个文件。命名就是你的方块的英文名,这样比较好管理。你也可以新建一个文件夹,把它命名英文名,把所有相关的文件都放进去,方便管理。
方块的文档结构和物品大同小异,具体格式见下。但是,方块的命名分化十分严重。比如你可能可以在一篇文档里看到minecraft:aim_collision,在另一篇文档里看到minecraft:selection_box,在其他文档里看到minecraft:pick_collision。这看起来是3个不同的组件,实际上其实作用相同,都是指定了方块的判定框,只是它们在不同的版本里有不同的命名。上面三个,minecraft:pick_collision是1.17.0的写法,minecraft:aim_collision是1.18.0的写法,而minecraft:selection_box则是1.19.40的写法。你也有可能在一边看见minecraft:destroy_time,另一边看到minecraft:destructible_by_mining。你发现这两个不一样,一个是直接赋值,另一个接的是一个对象。你可能会问,这两个总不是一个组件了吧!不,然而,它们还是起同样作用的组件,只不过前者是1.16.100的写法,后者是1.19.40的写法。
说了这么多,你一定觉得这命名也太乱了吧!没错,确实就是这么乱。目前的版本有1.16.0、1.16.100、1.17.0、1.18.0、1.19.0、1.20.0等等,但我在这篇文档里一律运用1.21.0版本。
这个版本是格式版本,一般来说,如果1.20的第一个测试版发布了,那么那个测试版里就会有1.20.0的格式版本。但也有例外,比如1.21.0的第一个测试版中确实有1.21.0的方块格式版本,却没有物品的。
格式版本控制着这个方块可以访问的特性,目的是防止旧内容遭到破坏。比如以前是minecraft:destroy_time这个名字的组件现在是minecraft:destructible_by_mining这个名字了,但由于它们对应不同格式版本,旧语法在新版本仍有效。由于新的格式版本能访问新版特性,方块的格式版本应该保持最新。
第一个方块

现在就可以开始了。在你新建的文件里写以下代码。

渲染

这一期,我们还要给方块赋予一个纹理。最常见的方法是打开资源包根目录下blocks.json文件,写入如下代码。
  1. {
  2.   "方块ID": { //这里其实就是你刚才写的方块命名空间ID,简称方块ID。官方说必须写命名空间ID,但经过测试,似乎不写命名空间,只写冒号后面的ID也可以正常工作。不推荐不写命名空间。
  3.     "textures": "起一个短名", //这里如果没什么特殊需求,建议直接写方块ID,当然也可以其他的,跟下面对得上就行,怎么开心怎么来。
  4.     "sound": "amethyst" //方块发出的声音。可以写stone、wood、cloth等等。
  5.   }
  6. }
复制代码
然后打开textures文件夹下terrain_texture.json,把下面的代码粘贴进去。


在textures文件夹下新建blocks文件夹,打开,随便一张正方形图片扔进去,改名成你刚才写的名字(刚才的示例里是test,那就改成test.png)。其实这里没那么严格,照片格式只要是.tga、.png、.jpg中的一种就好了。然而如果图片后缀是.jpg,我建议你把图片转换格式成.png。是转换格式,不是单纯改后缀!如果文件同名而后缀不同,那么按.tga > .png > .jpg的顺序运用。
以.tga为后缀的图片用于纹理被渲染时的染色,比如草方块、树叶、皮革、羊等等可以被染色的东西。

打开游戏,你应该能在物品选项卡里找到你新增的方块,纹理是你刚才添加的图片。不过它的名字是乱码。如果要让它显示成正常名字,那就退出游戏,打开资源包根目录下的texts文件夹,打开zh_CN.lang,在新的一行里输入以下这行内容。
  1. tile.命名空间ID.name=方块名字
复制代码

其中,方块名字随便写,注意命名空间ID后面还有个.name(这是格式版本为1.16.100+的物品没有的)!另外,这里不能换行,也不能用\\转义,但可以用/tellraw或/titleraw命令中的%s功能。方块名字太长的话,可能会被截断。

再次打开游戏,你应该能正常看到一个你的方块了。有一个例外是,如果你给方块的纹理是半透明或者完全透明的,那么到游戏里透明部分会变黑,或者半透明部分会(部分)变得不透明。这个可以通过一个组件解决,我们下期会学到这个组件。
总结

下一期,我们就开始讲方块组件。与物品组件不同,我会按照类别讲方块组件,比如下期讲管渲染的方块组件,然后讲管碰撞箱的方块组件等等。如果你听了上面的这么多东西,有些不明白,我会提供一个模板包,按照这个无脑改就行了。
 模板包,请解压.zip(3.12 KB, 下载次数: 108)


苦力怕论坛,感谢有您~
 发表于 2023-1-12 11:01:18 来自手机|显示全部楼层 IP:广东省
这是很有用的附加包的教程,我要好好学习学习,感谢楼主分享的教程!
2#2023-1-12 11:01:18回复收起回复
苦力怕论坛,感谢有您~
 发表于 2023-5-23 20:32:44 来自手机|显示全部楼层 IP:河北省
十分感谢分享
3#2023-5-23 20:32:44回复收起回复
苦力怕论坛,感谢有您~
 发表于 2024-5-17 13:00:11 来自手机|显示全部楼层 IP:浙江省
似乎用不了了
4#2024-5-17 13:00:11收起回复
Cat_Anchor2024-5-18 10:57IP:天津
回复举报
请具体描述细节,另外,模板包是用来改的,没有manifest.json文件,不能直接装到游戏里
苦力怕论坛,感谢有您~
回复支持

使用道具举报

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

粤公网安备 44200002445329号 | 由 木韩网络 提供支持 | GMT+8, 2024-11-20 19:44

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4 粤ICP备2023071842号-3