方块
创建你的第一个自定义方块
创建方块文件
这是一个示例方块(记得将 myitems
更改为你想要的命名空间)。
例如,我创建了一个文件,其中包含我所有的自定义方块。
我将其创建在文件夹:plugins/ItemsAdder/contents/myitems/configs/
在这个文件(blocks.yml
)中,我开始创建一个名为 red_block
的简单方块。
info:
namespace: myitems
items:
red_block:
display_name: Red Block
permission: red_block
resource:
material: PAPER
使用一个不可放置的原版材料非常重要。例如 PAPER。 如果你使用一个方块(如 STONE 或 DIRT),放置时会有些卡顿。
创建纹理文件
你需要在正确的文件夹中存放 .png
纹理文件。
本例中命名空间是 myitems
,因此你需要将纹理放入该文件夹:
plugins/ItemsAdder/contents/myitems/textures/block/

将纹理应用至物品
再次打开 blocks.yml
,并像我一样添加 resource
部分。
如你所见,我设置了 generate: true
,同时也设置了纹理。
这会告诉插件,使用纹理自动生成 3D 模型。
info:
namespace: myitems
items:
red_block:
display_name: Red Block
permission: red_block
resource:
generate: true
material: PAPER
在不同面使用不同纹理
重要:如例所示,必须保持正确的方向顺序
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
为方块添加放置功能
你需要添加 specific_properties
属性。
info:
namespace: myitems
items:
red_block:
display_name: Red Block
permission: red_block
resource:
generate: true
material: PAPER
textures:
- block/red_block.png
specific_properties:
block:
placed_model:
type: REAL_NOTE
break_particles: ITEM
在游戏内获得该方块
运行 /iaget red_block
获得物品。



下载完整示例
方块属性
specific_properties:
block:
placed_model:
type: REAL_NOTE
break_particles: BLOCK
rotx: 0
roty: 0
cancel_drop: true #default is false. if true the custom block won't be dropped when
#player mines it
light_level: 12 #make block emit light
#tools you can't use to break block(accepts partial name of material/customitem)
break_tools_blacklist:
- WOODEN_PICKAXE
- STONE_PICKAXE
- IRON_PICKAXE
#tools you can use to break block(accepts partial name of material/customitem)
break_tools_whitelist:
- DIAMOND_PICKAXE
- PICKAXE
- pickaxe
hardness: 2 #hardness of the block
blast_resistance: 1 #explosion resistance (by default is hardness*3)
no_explosion: false #totally immune from explosions, ignoring blast_resistance
sound: #customizable sounds of the block
break:
name: BLOCK_WOOD_BREAK
volume: 1
pitch: 0.9
place:
name: BLOCK_WOOD_PLACE
volume: 1
pitch: 0.9
placed_model
placed_model
type
type
该属性含有以下内容:
REAL_NOTE
使用真实的方块(音符盒),无延迟,无实体,完全真实。
缺点:
不支持透明.
最多 750 个方块。
REAL
使用真实的方块(蘑菇块),无延迟,无实体,完全真实。(尽管建议使用更稳定的
REAL_NOTE
)缺点:
最多 191 个方块
REAL_TRANSPARENT
使用真实的方块(紫菘植株),无延迟,无实体,完全真实,也支持透明!
缺点
最多 63 个方块
REAL_WIRE
使用真实的方块(拌线),无延迟,无实体,完全真实。
缺点
最多 127 个方块
TILE
使用空心方块(具有自定义皮肤的刷怪笼)。这并非实体,但有一些缺点。好处是你可以创建无限的方块,不像真实方块一样有数量限制。
缺点:
不完全真实,是重新绘制的刷怪笼
纹理/模型在高处隐形,因此会显现出原版刷怪笼纹理
如果玩家视野里有大量方块,可能会引起客户端处的延迟,但仅限于较差的电脑。
FIRE
这是一个特殊的方块,是火焰方块。
缺点
仅支持最多 14 个方块,确保只创建你需要的。
rotx
and roty
rotx
and roty
这允许你指定特定模型进行旋转。这是为专业用户提供的。 指定的旋转是静态的,不是动态的。只有当您想创建同一块的多个变体而不必手动创建单独的模型时,这才有用。
placeable_on_water
placeable_on_water
这允许方块被直接放于水面。
placeable_on_lava
placeable_on_lava
这允许方块直接放于熔岩表面。
shift_up
shift_up
这允许方块放于上方一格的未知。对于创建大型植物的 REAL_WIRE
方块来讲很有用。
custom_variants
custom_variants
Available on ItemsAdder 3.2.5+
允许指定方块变种的特殊属性。 接受在 Minecraft wiki 模型页面.展示的相同属性。
示例:
custom_variants:
variant1:
model: "minecraft:block/end_stone_bricks"
y: 90
variant2:
model: "minecraft:block/end_stone_bricks"
y: 180
x: 90
variant3:
model: "minecraft:block/diamond_block"
uvlock: true
variant4:
model: "minecraft:block/cobblestone"
drop_when_mined
drop_when_mined
ItemsAdder 4.0.9 及以上可用
旧版本使用 cancel_drop
,且 true/false
设置应当反转。
控制是否在被挖掘后掉落。当有其他方法来获取对应的矿物(如战利品)时,用来控制产量很有用。
drop_on_shears
drop_on_shears
ItemsAdder 4.0.9 及以上可用
控制使用剪刀时方块是否掉落。
drop_on_silk_touch
drop_on_silk_touch
ItemsAdder 4.0.9 及以上可用
控制使用精准采集附魔工具时,方块是否掉落。
工具黑白名单
你可以设置为 "_PICKAXE" 使所有镐子都匹配规则,同时你也可以设置 "_AXE",因为插件会检查材料名称是否包含在你设置的单词里。 这也适用于自定义物品的 ID,因此如果你设置"ruby_",每个红宝石工具都会生效(ruby_pickaxe,ruby_axe...)
break_tools_blacklist
break_tools_blacklist
黑名单内的工具无法破坏该方块
break_tools_whitelist
break_tools_whitelist
白名单内的工具可以破坏该方块
events_tools_blacklist
events_tools_blacklist
黑名单内的工具无法触发该方块的事件 (placed_block.interact
)
events_tools_whitelist
events_tools_whitelist
白名单内的工具无法触发该方块的事件 (placed_block.interact
)
其他选项
hardness
hardness
方块的硬度,使其更难挖掘 参考我的方块来获得一些示例(检查 itemsadder namespace 内的 blocks.yml 文件)。
blast_resistance
blast_resistance
爆炸抗性 (默认为 hardness
的 3 倍)
no_explosion
no_explosion
完全免疫爆炸,忽视 blast_resistance
sounds
sounds
hit
, step
与 fall
声音需要 ItemsAdder 3.6.3b 或 更高。
你可以指定自定义声音的名字,而非原版声音。 你也可以指定 Spigot 声音 或原版 Minecraft 声音的名字。
使用原版声音的示例
specific_properties:
block:
placed_model:
type: REAL_NOTE
break_particles_material: PRISMARINE_BRICKS
break_tools_whitelist:
- PICKAXE
- pickaxe
sound:
break:
name: minecraft:block.amethyst_block.break
place:
name: minecraft:block.amethyst_block.place
hit:
name: minecraft:block.amethyst_block.hit
step:
name: minecraft:block.amethyst_block.step
fall:
name: minecraft:block.amethyst_block.fall
使用自定义声音的示例
sound:
break:
name: my_sounds:sound_1
place:
name: my_sounds:sound_2
hit:
name: my_sounds:sound_3
step:
name: my_sounds:sound_4
fall:
name: my_sounds:sound_5
permission_suffix
permission_suffix
该属性允许你为方块放置/破坏事件启用权限。 该设置默认并未启用,因为我们想让玩家自由地破坏/放置方块。 如果你设定了对应属性,玩家将需要权限进行相关行为:
ia.user.block.break.iasurvival.ruby_ore
ia.user.block.place.iasurvival.ruby_ore
info:
namespace: iasurvival
items:
ruby_ore:
enabled: true
display_name: display-name-ruby_ore
permission: iasurvival.items.ruby_ore
resource:
material: PAPER
generate: true
textures:
- block/ores/ruby_ore
specific_properties:
block:
permission_suffix:
break: iasurvival.ruby_ore
place: iasurvival.ruby_ore
hardness: 4
placed_model:
type: REAL_NOTE
break_particles_material: REDSTONE_ORE
cancel_drop: true
break_tools_blacklist:
- WOODEN_PICKAXE
- STONE_PICKAXE
break_tools_whitelist:
- PICKAXE
- pickaxe
- _hammer
使用官方文件编辑器来读取所有属性
文件编辑器Drop experience from block
1. 在创建自定义方块时直接添加经验掉落
这有一个缺点,你只能向自定义方块添加经验掉落,原版方块不行。
ruby_block:
display_name: display-name-ruby_block
permission: ruby_block
resource:
material: PAPER
generate: true
textures:
- block/ruby_block.png
specific_properties:
block:
placed_model:
type: REAL_NOTE
break_particles_material: REDSTONE_BLOCK
break_tools_whitelist:
- PICKAXE
- pickaxe
events:
placed_block:
break:
drop_exp:
chance: 100
min_amount: 0
max_amount: 3
2. 向战利品添加经验
这是最好的方法,因为您也可以将其应用于原版方块类型,并且可以添加任意数量的经验设置。这允许您为您的掉落物添加更多的随机性和动态性。
loots:
blocks:
ruby_ore:
type: iasurvival:ruby_ore
items:
ruby:
item: iasurvival:ruby
min_amount: 1
max_amount: 2
chance: 100
exp:
exp_1:
min_amount: 0
max_amount: 3
chance: 100
Last updated
Was this helpful?