UID15672性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2020-10-1最后登录1970-1-1
| 本帖最后由 泥黑木大跌 于 2022-1-26 21:06 编辑
前言
mc中拥有大量的方块,但对于一些探索mc的老玩家来说,已经太无聊了,那么今天,我来教大家如何添加方块
在本贴需要学会的东西 创建方块 给方块添加函数 给方块添加掉落物
正式开始
首先,我们在行为包文件添加一个叫做block的文件夹,然后老规矩,在里面添加一个json,在json里写
- {
- "format_version": "1.16.100",
- "minecraft:block": {
- "description": {
- "identifier": "him:block",//ID
- "category": "Nature"
- },
- "components": {
- "minecraft:loot": "loot_tables/blocks/block.json",//掉落物路径
- "minecraft:destroy_time": 114514.0,//破坏时间,太大会导致方块无法破坏
- "minecraft:friction": 0.7,//踩在上面的行走速度
- "minecraft:map_color": "#FFFFFF",//地图上显示的颜色
- "minecraft:explosion_resistance": 1.0,//能承受的爆炸,值越大,越抗爆
- "minecraft:flammable": {//点燃几率,如果不需要就移除或填0
- "flame_odds": 1,
- "burn_odds": 1
- },
- "minecraft:block_light_absorption": 0.0,//吸收光
- "minecraft:block_light_emission": 0.0,//发出的光照
- "minecraft:on_player_destroyed": {
- "event": "remove:block",
- "target": "self"
- },
- "minecraft:material_instances": {
- "*": {
- "texture": "him:block",//材质,需与上面ID相符
- "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": {
- "run_command": {//模式
- "command": [
- "function function_ok"//函数名称 不能是中文
- ]
- }
- },
- "size:block": {//放置方块执行function
- "run_command": {
- "command": [
- "function function_ok"
- ]
- }
- },
- "step:on": {//踩在上面执行的函数
- "run_command": {
- "command": [
- "function function_ok"
- ]
- }
- },
- "step:off": {//离开上面执行的函数
- "run_command": {
- "command": [
- "function function_ok"
- ]
- }
- },
- "on_tick": {//过一段时间执行的函数
- "run_command": {
- "command": [
- "function function_ok"
- ]
- }
- },
- "random:tick": {//不知道
- "run_command": {
- "command": [
- "function function_ok"
- ]
- }
- },
- "fall:on": {//不知道
- "run_command": {
- "command": [
- "function function_ok"
- ]
- }
- }
- },
- "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
- ]
- }
- }
- ]
- }
- }
复制代码
然后跟着注释来,但有一些函数不知道触发方法,就需要你一个一个去执行了,loot一会讲
掉落物
我们可以在代码中发现一个loot事件,这正是和掉落物有关,我们把路径填写好后在行为包添加一个叫loot_tables的文件,其实名字不重要,重要的是填写的路径,然后再里面添加blocks文件夹又在里面添加一个json,需与方块的loot事件中的路径的名称相同,不支持除英文外的语言,然后再里面写入
- {
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "item",
- "weight": 1,
- "name": "minecraft:diamond",
- "functions": [
- {
- "function": "set_count",
- "count": {
- "min": 1,
- "max": 1
- }
- },
- {
- "enchantments": [],
- "function": "enchant_randomly"
- }
- ]
- }
- ]
- }
- ]
- }
复制代码
这次没有注释,我来解释其中的事件
"name",掉落物的ID
"weight"掉落的数量
如果无需掉落物可以删掉该json
资源包
在资源包文件夹中添加textures、texts等文件夹,再添加blocks.json这个文件,我们先在texture文件夹创建一个叫blocks的文件夹,把贴图放里面,贴图必须为正方形,可以选用32×32的贴图,然后退出,但不要退出textures文件夹,在与blocks文件夹同层的地方创建一个叫terrain_texture.json的文件,在里面写入
- {
- "resource_pack_name": "vanilla",
- "texture_name": "atlas.terrain",
- "padding": 8,
- "num_mip_levels": 4,
- "texture_data": {//方块后缀
- "block": {
- "textures": "textures/blocks/block"//材质路径
- }
- }
- }
复制代码
然后跟着注释来,如果需要再添加一个,则在上一个的大括号后面加“,”然后退出textures文件,添加一个叫blocks.json的文件,在里面写入
- {
- "him:block": {//ID
- "textures": "block",//需与terrain_texture填的后缀一模一样
- "sound": "normal"//音效
- },
- "format_version": [
- 1,
- 1,
- 0
- ]
- }
复制代码
由于版本号在下面,所以大括号要加,然后跟着注释来,此时只差翻译部分,我们的教程就完了,这很简单,添加一个叫做texts的文件夹,在里面创建一个叫zh_CN.lang的文件,在里面写入tile.him:block.name=方块
格式是这样的
tile.ID前缀:ID后缀.name=名字
然后我们滴addons完成了
接下来提供模板包和图片
模板包:
方块模板b.mcaddon(2.74 KB, 下载次数: 32)
方块模板r.mcaddon(5.29 KB, 下载次数: 16)
图片:
方块模板r.mcaddon(5.29 KB, 下载次数: 16)
方块模板b.mcaddon(2.74 KB, 下载次数: 32)
|
评分查看全部评分
|