BlockDisplayCreator
1.5.4.4Plugin for creating and fully customizing custom blocks from Display Entities using bdengine
About BlockDisplayCreator
BlockDisplayCreator is a user-friendly plugin that allows you to create Custom Blocks with any display ( without using resource packs or mods), as well as support for interactions and collisions. The block display modeling is done via the BDEngine.
Display Entity is used for display, Interaction Entity is used for interaction, Shulkers is used for collisions.
Examples of some custom blocks
Placing custom blocks
Full customization of the custom block is done in its own file,
It is possible to prohibit destruction/placement/interactions of blocks and
permissions for their destruction/placement/interactions.
Plugin works on versions 1.19.4 - 26.1.2
Creating a Custom Block
We will demonstrate how to create a custom block using a barrel as an example. Here's what the completed custom block looks like in the configuration file and in-game:
barrel.yml
#To create a custom block you only need to have the display.spawn-command and item.material parameters filled in
#Display Entities of a given block.
display:
#Command to create entities for block display (models must be created on the https://block-display.com/bdengine). When creating a block, you must specify the command to display
spawn-command:
- /summon block_display ~-0.5 ~-0.5 ~-0.5 {Passengers:[{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.0000601733f,1.7320588474f,0.5312243317f,-1.1191f,-0.0000085105f,0.9999688777f,-0.9201562637f,0.375f,-0.9999914024f,0.0000808251f,0.0000443638f,1f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.0000241794f,1.7321268631f,-0.5313050334f,-0.5816f,-1e-10f,-1.0000550782f,-0.920232991f,1.5625f,-0.9999978017f,0.0000380747f,-0.0000093431f,1f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-1f,0f,0f,1f,0f,0.9999344907f,-0.9201720835f,0.375f,0f,-1.7320886278f,-0.5312151982f,2.1191f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-1f,0f,0f,1f,0f,-1.0000050776f,-0.9202370365f,1.5625f,0f,-1.732047876f,0.5313026977f,1.5816f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.0000601733f,-1.7320588474f,-0.5312243317f,2.1035f,0.0000085105f,0.9999688777f,-0.9201562637f,0.375f,0.9999914024f,0.0000808251f,0.0000443638f,0f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.0000241794f,-1.7321268631f,0.5313050334f,1.566f,1e-10f,-1.0000550782f,-0.920232991f,1.5625f,0.9999978017f,0.0000380747f,-0.0000093431f,0f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.7071038239f,1.2246710981f,0.3757035385f,-0.2848f,3.767e-7f,0.9999936961f,-0.9202251756f,0.3826f,-0.7071096842f,-1.2246604546f,-0.3757009031f,2.0026f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.707103747f,1.2246707216f,-0.3757038174f,0.0953f,-2e-10f,-0.9999936061f,-0.9202250927f,1.5701f,-0.7071096523f,-1.2246606106f,0.3757007876f,1.6225f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.7071031011f,1.2246726043f,0.3757038933f,-0.9919f,3.764e-7f,0.9999920534f,-0.9202257557f,0.3826f,-0.7071105033f,1.2246604925f,0.3756994164f,-0.3096f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.7071036746f,1.2246707215f,-0.3757043074f,-0.6118f,2e-10f,-0.9999947522f,-0.9202248441f,1.5701f,-0.7071098829f,1.2246599488f,-0.3757009906f,0.0705f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.7071031011f,-1.2246726043f,-0.3757038933f,1.3096f,-3.764e-7f,0.9999920534f,-0.9202257557f,0.3826f,0.7071105033f,1.2246604925f,0.3756994164f,-0.9919f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.7071036746f,-1.2246707215f,0.3757043074f,0.9295f,-2e-10f,-0.9999947522f,-0.9202248441f,1.5701f,0.7071098829f,1.2246599488f,-0.3757009906f,-0.6118f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.1325794424f,-0.6123720888f,0.5303334748f,0.5325f,0.3247612919f,0.4999919687f,3.429e-7f,0.3125f,-0.1325813604f,0.6123794408f,0.5303267353f,-0.0303f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.1325800794f,0.6123720659f,-0.5303327289f,0.5325f,0.3247610434f,0.4999929659f,-3.428e-7f,0.3125f,0.1325812084f,-0.6123785264f,-0.5303273933f,1.0303f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.1325800794f,0.6123720659f,0.5303327289f,0.0021f,0.3247610434f,0.4999929659f,3.428e-7f,0.3125f,-0.1325812084f,0.6123785264f,-0.5303273933f,0.5f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.1325794424f,-0.6123720888f,-0.5303334748f,1.0628f,0.3247612919f,0.4999919687f,-3.429e-7f,0.3125f,0.1325813604f,-0.6123794408f,0.5303267353f,0.5f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[1f,0f,0f,0f,0f,0.999934491f,-0.9201720834f,0.375f,0f,1.7320886276f,0.5312151983f,-1.1f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[1f,0f,0f,0f,0f,-1.0000050774f,-0.9202370366f,1.5625f,0f,1.7320478761f,-0.5313026976f,-0.5625f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.7071067812f,-5.3033008589f,0f,5.125f,0f,0f,-1.25f,1.125f,0.7071067812f,5.3033008589f,0f,-4.8125f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0f,-7.9375f,0f,7.9375f,0f,0f,-1.25f,1.125f,1f,0f,0f,0f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.7071038239f,-1.2246710981f,-0.3757035385f,2.0026f,-3.767e-7f,0.9999936961f,-0.9202251756f,0.3826f,0.7071096842f,-1.2246604546f,-0.3757009031f,1.2848f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.707103747f,-1.2246707216f,0.3757038174f,1.6225f,2e-10f,-0.9999936061f,-0.9202250927f,1.5701f,0.7071096523f,-1.2246606106f,0.3757007876f,0.9047f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.7071067812f,-5.524271728f,0f,6.0625f,0f,0f,-1.25f,1.1326f,0.7071067812f,-5.524271728f,0f,5.3125f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[1f,0f,0f,0f,0f,0f,-1.25f,1.125f,0f,7.9375f,0f,-6.9375f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[1.4375f,0f,0f,-0.25f,0f,1f,0f,0f,0f,0f,1f,0f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[1.4375f,0f,0f,-0.25f,0f,1f,0f,-0.8125f,0f,0f,1f,0f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.1874933008f,-0.8660357177f,0f,0.875f,0.3247633941f,0.4999821354f,0f,0.3125f,0f,0f,0.75f,0.125f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.1874933007f,0.8660357178f,0f,0.125f,0.3247633942f,0.4999821351f,0f,0.3125f,0f,0f,-0.75f,0.875f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.0000204464f,-0.0000527727f,0.7499915797f,0.125f,0.3247561032f,0.5000045863f,-0.0000083339f,0.3125f,-0.1874975099f,0.8660162737f,0.0000589326f,0.125f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.0000204464f,-0.0000527727f,-0.7499915797f,0.875f,0.3247561032f,0.5000045863f,0.0000083339f,0.3125f,0.1874975099f,-0.8660162737f,0.0000589326f,0.875f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.1874932999f,-0.866035719f,0f,1.0625f,0.3247633946f,-0.4999821332f,0f,0.375f,0f,0f,0.75f,0.125f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.1874933007f,0.8660357178f,0f,-0.0625f,0.3247633942f,-0.4999821351f,0f,0.375f,0f,0f,-0.75f,0.875f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.0000072164f,-0.0000249963f,-0.7500036076f,0.875f,0.3247665189f,-0.4999321356f,-7e-10f,0.375f,-0.1874914961f,-0.8659574457f,0.0000180417f,1.0625f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.0000072164f,-0.0000249963f,0.7500036076f,0.125f,0.3247665189f,-0.4999321356f,7e-10f,0.375f,0.1874914961f,0.8659574457f,0.0000180417f,-0.0625f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.1325801169f,-0.6123717588f,0.5303329099f,0.6651f,0.3247609014f,-0.499993607f,0f,0.375f,0.1325815379f,0.6123782979f,0.5303272575f,-0.1629f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.1325800299f,0.6123721605f,-0.5303326999f,0.3999f,0.3247610079f,-0.4999929113f,0f,0.375f,-0.1325813279f,-0.6123782979f,-0.5303273233f,1.1629f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.1325801169f,-0.6123717588f,-0.5303329099f,1.1954f,0.3247609014f,-0.499993607f,0f,0.375f,-0.1325815379f,-0.6123782979f,0.5303272575f,0.6326f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.1325800299f,0.6123721605f,0.5303326999f,-0.1304f,0.3247610079f,-0.4999929113f,0f,0.375f,0.1325813279f,0.6123782979f,-0.5303273233f,0.3674f,0f,0f,0f,1f]}]}
#Center material that will be filled depending on where the block is installed. By def BARRIER
central-material: BARRIER
#Count of sides of the block. Can be set in the range from 1 to 360. By def 4
sides-count: 96
#Sounds of this block (list of sound-types can be found at https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html). Volume and pitch are set to 1 by default
sound:
#Break sound
break:
#Sound type. By def ITEM_LODESTONE_COMPASS_LOCK
sound-type: BLOCK_WOOD_BREAK
volume: 2.5
pitch: 0.6
#Place sound
place:
#Sound type. By def BLOCK_LODESTONE_PLACE
sound-type: BLOCK_BARREL_OPEN
volume: 1.7
pitch: 3
#Item of this block. Only material is a required field
item:
#Item material
material: PLAYER_HEAD
#Item name. By def the block name is selected
name: "&x&A&2&8&0&1&3R&x&9&C&7&B&1&2e&x&9&5&7&5&1&1a&x&8&F&7&0&1&0l&x&8&9&6&B&0&Fi&x&8&2&6&6&0&Es&x&7&C&6&0&0&Dt&x&7&6&5&B&0&Ci&x&6&F&5&6&0&Ac &x&6&3&4&B&0&8b&x&5&C&4&6&0&7a&x&5&6&4&1&0&6r&x&5&0&3&C&0&5r&x&4&9&3&6&0&4e&x&4&3&3&1&0&3l"
#Item enchantments, created as <enchantment name>: <level>.
enchantments:
LURE: 1
#item-flags of the item.
item-flags:
- HIDE_ENCHANTS
#Item lore
lore:
- "&9Barrel with a secret"
skullmeta:
url: http://textures.minecraft.net/texture/c67d5d37cd64ce3fb57377d25d6152aa4ac2e37954248d5d91f88fbd791f4766
#Interaction Entities of a given block. The field may be missing, then all parameters are given by default
interactions:
#Interactions name
interaction:
#Interaction Entity height.
height: 1.1
#Interaction Entity width.
width: 1.001
#Offset of this interaction entity relative to the central location of the custom block. Supports rotation-dependent offset changes
offset:
x: 0
y: 0
z: 0
#Command or commands that are called when the player interacts (right-clicks) with the Interaction Entity of this block. By def absent
command:
- /minecraft:playsound minecraft:ambient.cave player @s
#Command source (PLAYER who clicked on the interaction entity or CONSOLE). By def CONSOLE
command-source: PLAYER
#Temporary permissions that are granted before executing commands and are removed after executing (those that were missing)
granted-command-permission:
- minecraft.command.playsound
#Collision entities. Describes the collision entity parameters for this block.
collisions:
#Collision name
main:
#Size of the collision entity. **Works only on Minecraft 1.20.5 and above**, since the scale attribute used to set collision size was introduced in 1.20.5.
size: 0.8
#Offset of this collision entity relative to the central location of the custom block. Supports rotation-dependent offset changes.
offset:
x: 0
y: 0.01
z: 0
#If true, the collision entity will not be spawned on versions below 1.20.5 (before the scale attribute for collision size was added). By def false.
disable-below-1_20_5: true
Don't be overwhelmed by the number of available parameters.
To create a working custom block, only display.spawn-command and item.material are required.
Here’s a minimal example that you can copy and use as a template for your own blocks:
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta