附加包教程 1.新增一个方块
前言此生不悔入mc,来世还做方块人
在我的世界里,方块无处不在。而方块也有不同的类型,但如果你需要或想要自制一个方块,可以观看此贴
1.预习
你可以点这下载示意模组与源代码压缩包
,让你更快明白此教程。同时,往下滑到底找到第一张图片,里面的思维导图能让你明白
模组结构。
2.框架
1.创建两个文件夹,名字尽量是英文,能让自己知道哪个文件夹是资源包行为包就行。
2.依赖项。在资源包行为包文件夹里都有一个清单文件manifest.json。下面是代码
{
"format_version": 2,
"header": {
"description": "",
"name": "",
"uuid":"",
"version": ,
"min_engine_version":
},
"modules": [
{
"description": "",
"type": "",
"uuid": "",
"version":
}
]
}
description是介绍,name是模组名,type中如果是资源包的清单文件,就是resources,行为包的就是data。uuid可以从https://www.uuidgenerator.net/下载
要想构成依赖项,资源包上面的uuid要和行为包下面的uuid相同,资源包下面的uuid要与行为包上面的uuid相同。
3.资源包文件夹里创建 textures text blocks.json manifest.json pack_icon.png。
4.在行为包文件夹里创建blocks loot_tables recipes manifest.json pack_icon.png。
3.资源包
1.textures文件夹创建terrain_texture.json
在下面写入以下代码
{
"resource_pack_name": "vanilla",
"texture_name": "atlas.terrain",
"padding": 8,
"num_mip_levels": 4,
"texture_data": {
"pa_kulipafangkuai": {
"textures": [
"textures/blocks/文件名"
]
}
}
}
2.在textures里在创建一个blocks文件夹,blocks文件夹里面定义了新增方块的贴图。而文件名必须和terrain_texture.json里的文件名一样,记住不用扩展名。pa_kulipafankuai可以改
但之后大部分文件(夹)名字都有这个
3.text里创建en_US.lang
在里面写入以下代码
tile.pa:kulipafangkuai.name=苦力怕方块
tile.pa:kulipafangkuai=苦力怕方块
其中pa:kulipafangkuai是物品id。这个也可以改。但之后要用到此物品id的代码都必须一致。
苦力怕方块 这五个文字当然也是可以改的。
3.回到资源包根目录。创建blocks.json
键入以下代码
{
"pa:kulipafangkuai": {
"textures": "pa_kulipafangkuai",
"sound": "stone"
},
"format_version": [
1,
1,
0
]
}
pa:kulipafangkuai是物品id。textures就是贴图名。sound是破坏方块的声音。这里的stone是石头声音。可以改,例如grass是草方块的声音,glass是玻璃声音,sand是沙子声音。
4.清单文件(manifest.json)见上面。
到这里,资源包已经做完了
4.行为包
1.在行为包文件夹里的blocks文件夹新建文件名.json(名字具体是资源包2.那个地方)在里面写入以下代码
{
"format_version": "1.16.100",
"minecraft:block": {
"description": {
"identifier": "pa:kulipafangkuai",
"category": "Nature"
},
"components": {
"minecraft:loot": "loot_tables/blocks/pa_kulipafangkuai.json",
"minecraft:destroy_time": 0.5,
"minecraft:friction": 0.7,
"minecraft:map_color": "#FFFFFF",
"minecraft:explosion_resistance": 45.0,
"minecraft:flammable": {
"flame_odds": 0.1,
"burn_odds": 0.1
},
"minecraft:block_light_absorption": 0.0,
"minecraft:block_light_emission": 0.6,
"minecraft:on_player_destroyed": {
"event": "remove:block",
"target": "self"
},
"minecraft:material_instances": {
"*": {
"texture": "pa:kulipafangkuai",
"render_method": "blend"
}
},
"minecraft:on_step_on": {
"event": "step:on",
"target": "self"
},
"minecraft:on_step_off": {
"event": "step:off",
"target": "self"
},
"minecraft:on_placed": {
"event": "size:block",
"target": "self"
},
"minecraft:random_ticking": {
"on_tick": {
"event": "random:tick",
"target": "self"
}
},
"minecraft:on_fall_on": {
"event": "fall:on",
"target": "self"
},
"minecraft:ticking": {
"looping": true,
"range": [
10,
10
],
"on_tick": {
"event": "on_tick",
"target": "self"
}
},
"minecraft:creative_category": {
"category": "nature"
}
},
"events": {
"remove:block": {},
"size:block": {},
"step:on": {},
"step:off": {},
"on_tick": {},
"random:tick": {},
"fall:on": {}
},
"permutations": [
{
"condition": "query.block_property('block:rotation') == 2",
"components": {
"minecraft:rotation": [
0,
0,
0
]
}
},
{
"condition": "query.block_property('block:rotation') == 3",
"components": {
"minecraft:rotation": [
0,
-180,
0
]
}
},
{
"condition": "query.block_property('block:rotation') == 4",
"components": {
"minecraft:rotation": [
0,
90,
0
]
}
},
{
"condition": "query.block_property('block:rotation') == 5",
"components": {
"minecraft:rotation": [
0,
-90,
0
]
}
}
]
}
}
这个慢慢讲。这个文件定义了新增方块的属性。
identifier是物品id。minecraft:loot等会讲。minecraft:friction是摩擦经过的时间。minecraft:map_color是在地图上显示的颜色
minecraft:explosion_resistance是抗暴性
minecraft:flammable中 flame_odds和burn_odds意思差不多,是可以被火烧多少时间
minecraft:block_light_absorption是透光性
minecraft:block_light_emission发光亮度
2.行为包文件夹根目录里的loot_tables里增加一个blocks文件夹,里面创建一个文件名.json
文件名在3.2有讲解。这个文件是刚才没有讲的
minecraft:loot。里面的文件就是这个文件,下面是代码
{
"pools": []
}
你不用管为什么它内容怎么少,我只是教大家如何自制一个基础方块。
3.回到行为包根目录,打开recipes文件夹,创建文件名.json 3.2有讲解。在里面写入以下代码
{
"format_version": "1.12",
"minecraft:recipe_shaped": {
"description": {
"identifier": "kulipafangkuai_fd8fc41a"
},
"tags": [
"crafting_table"
],
"pattern": [
"B"
],
"key": {
"B": {
"item": "minecraft:apple",
"data": 0
}
},
"result": {
"item": "pa:kulipafangkuai",
"count": 1
}
}
}
这个是该方块的合成配方文件。pattern是工作台里的排序。是以下的格式,对应这工作台的九个格子
" x x x"
" x x x"
" x x x"
如果合成配方只有一种配料,那么写一个大写字母A 代替x,同时其他x不显示。如果一行都没有字母,不写这一行。
key是指上面的大写字母对应这什么,在上面代码中,B 对应这 item的 苹果物品id。如果想自己制作,适当改。
result 里的 count 是输出的数量。假如我创建一个合成表,或上面的合成表。一个苹果可以合成count对应数量的苦力怕方块。
manifest.json见前面.
最后一步 打包导入游戏
找到资源包文件夹和行为包文件夹。将这两个文件夹压缩成.zip,之后把扩展名改为.mcaddon
随后请在mt管理器打开它(当然可能你就是在mt管理器上做的。)点击它,用Minecraft打开。打开游戏,创建新世界。加上模组,一个资源包一个行为包。最重要的一步,在实验性游戏内容打开假日创造者内容,不然加载不出来!
(本教程用了1.5个小时才做完)
本次教程就结束了,希望看了此教程的你大受启发。
至于吃货世界模组吗...马上更新!
作者:溢溢
这里说一下,不知道我怎么排班的。大家按照我给大家提供的演示源代码和本教程一起食用[哔哩_脱单][哔哩_脱单][哔哩_脱单] qwq,我配置环境的时候用了魔法,配置mc的下载源码也没有成功,这是为什么 能不能教做光影[哔哩_脱单][哔哩_脱单][哔哩_脱单][哔哩_脱单] 三月的太阳 发表于 2023-11-27 20:19
能不能教做光影
作者不会
页: [1]