Skip to content

Latest commit

 

History

History
195 lines (173 loc) · 6.86 KB

方块添加.md

File metadata and controls

195 lines (173 loc) · 6.86 KB

方块添加

同物品添加一样,使用文本软件打开 contents/你新建的文件夹(即包名)/configs/你新建的文件.yml 文件。

info:
  namespace: myitems
items:
  red_block:
    display_name: Red Block
    permission: red_block
    resource:
      material: PAPER
  • 跟上文的 物品添加 类似
  • material:是方块拿在手上后的材质。
  • generate:如果我们的方块是正常的正方体方块,那么 generate 我们需要保持为 true,如果不是,需要读取自己的模型文件,则为 false 。
  • textures:与物品一致,但此处的 textures 下可以有 6 行,分布为方块的 6 个面。在 6 个面材质相同的情况下,也可以只有 1 行,那么方块的 6 个面将全部是相同的材质。

方块属性

specific_properties:
  block:
    placed_model:
      type: REAL_NOTE
      break_particles: BLOCK
      rotx: 0
      roty: 0
    cancel_drop: true 
    light_level: 12
    break_tools_blacklist:
    - WOODEN_PICKAXE
    - STONE_PICKAXE
    - IRON_PICKAXE
    break_tools_whitelist:
    - DIAMOND_PICKAXE
    - PICKAXE
    - pickaxe
    hardness: 2
    blast_resistance: 1
    no_explosion: false
    sound:
      break:
        name: BLOCK_WOOD_BREAK
        volume: 1
        pitch: 0.9
      place:
        name: BLOCK_WOOD_PLACE
        volume: 1
        pitch: 0.9

方块特殊属性由以下部分组成:

  • block:代表以下部分为方块特殊属性,请勿修改。
  • placed_model:自定义方块的类型。下文详细说明。
  • cancel_drop:是否取消掉落,玩家在挖掘该自定义方块后不会获得该方块,默认为 false
  • light_level:亮度等级。对于亮度等级的知识可见 Minecraft Wiki。默认为 0
  • break_tools_blacklist:禁止破坏该方块的物品id,你也可以填写 ItemsAddernamespace:id 格式以指定对应物品。同时也支持模糊匹配,例如 pickaxe 代表所有 id 包含 pickaxe 的物品,也就是所有的镐子。这里的禁止是完全禁止,也就是说根本无法破坏。
  • break_tools_whitelist:只可以破坏该方块的物品id,同上。
  • hardness:方块的硬度。对于硬度的知识可见 Minecraft Wiki。总的来说就是合适的工具下所挖掘的时间为 硬度 x 1.5
  • blast_resistance:爆炸抗性。对于爆炸抗性的知识可见 Minecraft Wiki。默认为 硬度 x 3
  • no_explosion:爆炸无法使其破坏,如果设置,爆炸抗性属性也将失效。
  • sound:物品破坏和放置时的音效。

方块类型

这个属性有这些值:

  • REAL_NOTE 使用真正的方块(唱片机),没有卡顿,没有实体。 缺点:

    不支持透明。
    最多只能制作 750 个方块。

  • REAL 使用真正的方块(蘑菇),没有卡顿。 缺点:

  • 最多 只能制作 191 个方块。

  • REAL_TRANSPARENT 使用真正的方块(紫菘植物),没有卡顿,也支持透明度! 缺点:

    最多只能制作63 个方块。

  • TILE 使用 TILE 方块(修改后的 刷怪笼 带有材质),你可以创建无限多的方块,不像真实方块那样有 数量限制。 缺点:

    它不是100%的真实方块,它只是一个套上了材质的刷怪笼。 材质/模型在较远距离看的话会消失,所以它将会直接显示刷怪笼。 如果大量的方块出现在玩家的视野里的话,可能会导致客户端出现延迟。

  • FIRE 这是一个 特殊方块,它是 方块. 缺点:

  • 最多只能制作 14 种自定义火。

方块材质

如果你想添加一个透明或半透明的物品,你的物品必须基于一件透明的物品,例如 WHITE_STAINED_GLASS

resource:
  material: WHITE_STAINED_GLASS
  generate: false
  model_path: item/your_model

如果你想自定义方块的每一个面

info:
  namespace: myitems
items:
  red_block:
    display_name: Red Block
    permission: red_block
    resource:
      generate: true
      material: PAPER
      textures:
        - block/red_block_down.png
        - block/red_block_east.png
        - block/red_block_north.png
        - block/red_block_south.png
        - block/red_block_up.png
        - block/red_block_west.png

如果你想每个面使用同一张贴图

info:
  namespace: myitems
items:
  red_block:
    display_name: Red Block
    permission: red_block
    resource:
      generate: true
      material: PAPER
      textures:
        - block/red_block.png

配置世界生成

在设置完一个方块后,我们可以让它随机的生成在世界中。

世界生成配置

在任意物品配置文件(是大的物品配置下,而不是单独的物品id下的配置,后续不再说明)中添加如下内容:

worlds_populators:
  custom_block:
    block: myitems:custom_block
    worlds:
    - world
    replaceable_blocks:
    - STONE
    - DIRT
    - ANDESITE
    - GRANITE
    - COBBLESTONE
    - GRAVEL
    biomes:
    - PLAINS
    chunk_chance: 70.0
    max_height: 45
    min_height: 25
    vein_blocks: 6
    chunk_veins: 1
  custom_block_2:
    block: myitems:custom_block_2
    worlds:
    - world
    replaceable_blocks:
    - DIRT
    chunk_chance: 100.0
    max_height: 64
    min_height: 40
    vein_blocks: 3
    chunk_veins: 1

所给的示例配置中包含 2 个生成规则。其中,custom_blockcustom_block_2 为生成规则的id,其下为生成规则的配置,包括:

  • block:该生成规则所指代的方块。

  • worlds:该生成规则所生效的世界,可以添加无数多的世界。

  • replaceable_blocks:该生成规则所替换的方块,可以添加无数多的方块,只能为原版方块id。

  • chunk_chance:各个区块在生成时使用该生成规则的概率,100 即代表生成新的区块时必定使用 1 次该规则,也就是在合适情况下必定会至少有 1 个指代的方块被生成。除非该方块你将设置特别稀有,否则请保持 100。

  • chunk_veins:在区块使用该生成规则后,该区块将会随机生成的矿脉数量。

  • vein_blocks:在生成矿脉后,该矿脉拥有的指代方块的数量。

  • 在上面配置中,1个区块必定有1个矿脉,1个矿脉有3个指代的方块,所以每个区块都会有3个这样的矿石。

  • biomes:该生成规则所生效的生物群系,将该配置移除则代表所有生物群系都将会生成。

  • min_height:该生成规则的最低高度。

  • max_height:该生成规则的最高高度。

  • ⚠️注意:如果你使用 Iris 作为地形生成插件的话,你需要对 Iris 的地形包进行更改