description | cover | coverY | layout | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Custom Block Definitions determine the properties of a block, including its custom model data. |
0 |
|
Custom block definitions go into plugins/Origami/custom/MY-CONTENT-PACK-NAME/blocks
If this directory is empty, then Origami will generate an example file for you. Below is a working example of a custom block, rainbow_block.yml
:
baseBlock: GLASS
displayName: '&cR&6a&ei&an&9b&bo&5w &6B&el&ao&9c&bk'
lore:
- <rainbow>It shimmers beautifully in the sunlight.</rainbow>
canBeMinedWith:
- pickaxes
timeToBreak: 40
toolLevelRequired: 2
drops:
- DIAMOND(1)
dropLootTable: null
canBePushed: true
isAffectedByFortune: true
placeSound: BLOCK_AMETHYST_BLOCK_PLACE
breakSound: BLOCK_AMETHYST_BLOCK_BREAK
model: rainbow
events:
- onRightClick: # <-- onRightClick is an event, see the events page for more info
commands:
# this is a list of Minecraft commands, executed as @s
- tellraw @s {"text":"The block reverberates majestically.","italic":true,"color":"gray"}
cooldown: 20 # <-- cooldown of 20 ticks (1 second)
- (Material)
baseBlock
- determines what block goes beneath the custom model displayed via an item frame.GLASS
typically works the best, but usingSPAWNER
works too. - (Integer)
dropExperience
is how much XP should be dropped when the block is mined. XP can only be gained from a block if using the correct tool. - (Formatted string)
displayName
- can use either legacy formatting codes (§
or&
, but not both at once) or MiniMessage. You can also use a language string, and set the item's name in your resource pack's lang file instead - formatting included. - (List of formatted strings)
lore
- lore to display on the custom item. Each entry uses the same formatting rules as thedisplayName
. - (List of tools)
canBeMinedWith
- multiple "preferred tools" can be set here, with valid tool types being:pickaxes
,axes
,shovels
,hoes
, andswords
. A block can only be broken quickly or drop its items if one of the correct tools is used. Usually blocks in Minecraft only set one of these. - (Integer)
toolLevelRequired
- specifies the minimum tool level allowed for mining the block. Wooden tools are level 1, Stone are level 2, etc. - (List of Item Strings)
drops
- If both this anddropLootTable
arenull
, the block will drop itself. Can optionally be followed by a semicolon and then a 0-1 "chance" value which determines the chance that particular item has of dropping (otherwise the item will always drop) - (Loot Table)
dropLootTable
- if both this anddrops
are null, the block will drop itself. You can use this to specify a loot table for the block to drop.
{% hint style="info" %}
If both drops
and dropLootTable
are set, the result will be the items from the loot table plus whatever drops you specified.
{% endhint %}
- (Boolean)
canBePushed
- if true, the block can be moved by Pistons and Sticky Pistons. - (Boolean)
isAffectedByFortune
- if true, the Fortune enchantment will apply a multiplier to the amount of each dropped item. Useful when creating ores. - (Sound)
placeSound
/breakSound
- self explanatory
{% hint style="info" %} See this page for a guide on how models work. {% endhint %}
- (String)
model
- the name of the custom model. A value ofrainbow
here would point to<server folder>/plugins/Origami/custom/MY-CONTENT-PACK-NAME/models/block/rainbow.json