Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Brush
该文章需要整理以符合格式指导 讨论

请帮助优化文章格式来让它符合格式指导。

Dark Oak Sapling
此条目仍需完善。

你可以帮助我们扩充关于该主题的更多信息。
原因:这是一篇中文原创教程,与英文页面有较大差异

Information icon
此特性为基岩版独有。

自定义方块是在基岩版1.12.0.2中的新增内容。

注:基岩版1.16.0后,方块不能被注册到创造模式物品栏且旧版本的自定义方块无法在新版本中使用。在基岩版Beta1.17.20.23修复了由数据驱动的自定义方块不能被注册到创造模式物品栏里的Bug。

在阅读本教程前,请先确保自身已有一定的行为包及材质包基础。如果还未掌握,可先阅读教程/制作行为包页面以学习行为包的基础制作。

示范包下载: 1.15前:block_demo 1.15后:block_demo

行为包

首先,你需要一个可用的清单文件,然后在与manifest.json同层的地方,新建一个名为blocks的文件夹,并在文件夹中放入你所要新增的方块的json文件。

1.15前

{
  "format_version": "1.10.0",
  "minecraft:block": {
    "description": {
      "identifier": "test:space",
      "is_experimental": false,
      "register_to_creative_menu":true
    },
    "components": {
        "minecraft:destroy_time": {
            "value":1
        },
        "minecraft:block_light_absorption": {
            "value": 0
        },
        "minecraft:block_light_emission": {
            "emission": 0.0
        },
        "minecraft:explosion_resistance": {
            "value": 0.0
        },
        "minecraft:flammable": {
            "burn_odds": 0,
            "flame_odds": 0
        },
        "minecraft:friction": {
            "value": 0.1
        },
        "minecraft:loot": {
            "table": "loot_table/blocks/space"
        },
        "minecraft:map_color": {
            "color": "#ffff99"
        }
    }
  }
}

1.15后

{
  "format_version": "1.10.0",
  "minecraft:block": {
    "description": {
      "identifier": "test:space",
      "is_experimental": false,//true在部分版本会导致闪退
      "register_to_creative_menu":true//暂时废弃
    },
    "components": {
      "minecraft:destroy_time": 1,
      "minecraft:block_light_absorption": 0,
      "minecraft:block_light_emission": 0.0,
      "minecraft:explosion_resistance": 0.0,
      "minecraft:flammable": {
         "burn_odds": 0,
         "flame_odds": 0
      },
      "minecraft:friction": 0.1,
      "minecraft:loot": "loot_table/blocks/space",
      "minecraft:map_color": "#ffff99"
    }
  }
}
    •  format_version:定义了此档案的版本,除非有充分理由,否则请勿更改
    •  minecraft_block
      •  description
        •  identifier:方块命名空间ID
        •  is_experimental:此方块是否使用实验模式
        •  register_to_creative_menu:此方块是否出现在创造模式物品栏中
      •  components
        •  minecraft:destroy_time:破坏此方块所需的时间
        •  minecraft:block_light_absorption:此方块会吸收多少光
        •  minecraft:block_light_emission:此方块会发出多亮的光
        •  minecraft:explosion_resistance:此方块的爆炸抗性
        •  minecraft:flammable
          •  burn_odds:着火时,此方块被烧毁的几率(设为0则不可燃)
          •  flame_odds:周围有火时,此方块被引燃的几率
        •  minecraft:friction:此方块的摩擦系数,影响实体在其上的移动速度(限使用小数)
        •  minecraft:loot:破坏此方块时掉落的物品,使用路径表示
        •  minecraft:map_color:此方块在地图上显示的颜色,使用HEX颜色编码表示


资源包

同样需要一个可用的清单文件。在与manifest.json同层的地方,创建一个名为blocks.json的文件,并将方块的属性写进去,写法可参照原版中的blocks.json。

{
  "format_version": [1,1,0],
  "test:space": {
    "textures": "space",
    "sound": "stone"
  }
}

从上至下三个东西分别为命名空间,材质,音效。命名空间是在引号内中进行更改,材质及音效需要更改红色部分。你可以直接调用原版中的贴图及音效,但若想调用自定义的材质及音效,则需要在terrain_texture.json和sound_definitions中增加对应的路径。 接着创建一个名为textures的文件夹,在文件夹中创建一个名为terrain_texture.json的文件。

{
  "resource_pack_name": "vanilla",
  "texture_name": "atlas.terrain",
  "padding": 8,
  "num_mip_levels": 4,
  "texture_data": {
   "space": {
    "textures": [
     "textures/blocks/space"
    ]
   }
  }
}

从texture_data开始写,space为在blocks.json中所指定的材质的命名空间。textures的红色部分为该材质的路径位置。

之后需要根据路径在textures中创建一个blocks的文件夹,根据所填路径在对应位置放入一个名为space的图片,后缀一般为png。 后将该附加包进行打包导入至Minecraft即可。


参见

Advertisement