BlockDisplayCreator icon

BlockDisplayCreator -----

Plugin for creating and fully customizing custom blocks from Display Entities using bdengine



About BlockDisplayCreator
Block Display Creator is a convenient plugin with which you can
create any custom blocks ( without using resource packs) with any display
(models must be created on the BDEngine) and support multi-sidedness. For the plugin to work you must install the PlaceholderAPI plugin

Display Entity is used for display, and Interaction Entity is used for interaction
upload_2024-8-11_21-16-44.png
Examples of some custom blocks

Full customization of the custom block is done in the config plugin,
It is possible to prohibit destruction/placement/interactions of blocks and
permissions for their destruction/placement/interactions.

The plugin works on versions 1.19.4 - Latest version


Creating a Custom Block
We will analyze the creation of a custom block using the example of barrel
This is what the finished custom block will look like in the config and in the game:
Code (Text):

#Custom block name
barrel:
  #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:[1.0000f,0.0000f,0.0000f,0.0000f,0.0000f,1.0000f,-0.9202f,0.3750f,0.0000f,1.7321f,0.5312f,-1.1000f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[1.0000f,0.0000f,0.0000f,0.0000f,0.0000f,-1.0000f,-0.9202f,1.5625f,0.0000f,1.7321f,-0.5313f,-0.5625f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.0000f,1.7321f,0.5312f,-1.1191f,0.0000f,1.0000f,-0.9202f,0.3750f,-1.0000f,-0.0000f,-0.0000f,1.0000f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.0000f,1.7321f,-0.5313f,-0.5816f,0.0000f,-1.0000f,-0.9202f,1.5625f,-1.0000f,-0.0000f,0.0000f,1.0000f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-1.0000f,-0.0000f,-0.0000f,1.0000f,-0.0000f,1.0000f,-0.9202f,0.3750f,0.0000f,-1.7321f,-0.5312f,2.1191f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-1.0000f,-0.0000f,0.0000f,1.0000f,0.0000f,-1.0000f,-0.9202f,1.5625f,0.0000f,-1.7321f,0.5313f,1.5816f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.7071f,-5.3033f,-0.0000f,5.1250f,0.0000f,0.0000f,-1.2500f,1.1250f,0.7071f,5.3033f,0.0000f,-4.8125f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.0000f,-7.9375f,-0.0000f,7.9375f,0.0000f,0.0000f,-1.2500f,1.1250f,1.0000f,0.0000f,0.0000f,0.0000f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.7071f,-1.2247f,-0.3757f,2.0026f,0.0000f,1.0000f,-0.9202f,0.3826f,0.7071f,-1.2247f,-0.3757f,1.2848f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.7071f,-1.2247f,0.3757f,1.6225f,0.0000f,-1.0000f,-0.9202f,1.5701f,0.7071f,-1.2247f,0.3757f,0.9047f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.7071f,-5.5243f,-0.0000f,6.0625f,0.0000f,0.0000f,-1.2500f,1.1326f,0.7071f,-5.5243f,-0.0000f,5.3125f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.0000f,-1.7321f,-0.5312f,2.1035f,0.0000f,1.0000f,-0.9202f,0.3750f,1.0000f,-0.0000f,-0.0000f,-0.0000f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.0000f,-1.7321f,0.5313f,1.5660f,0.0000f,-1.0000f,-0.9202f,1.5625f,1.0000f,0.0000f,-0.0000f,-0.0000f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.7071f,1.2247f,0.3757f,-0.2848f,-0.0000f,1.0000f,-0.9202f,0.3826f,-0.7071f,-1.2247f,-0.3757f,2.0026f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.7071f,1.2247f,-0.3757f,0.0953f,0.0000f,-1.0000f,-0.9202f,1.5701f,-0.7071f,-1.2247f,0.3757f,1.6225f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.7071f,1.2247f,0.3757f,-0.9919f,-0.0000f,1.0000f,-0.9202f,0.3826f,-0.7071f,1.2247f,0.3757f,-0.3096f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.7071f,1.2247f,-0.3757f,-0.6118f,0.0000f,-1.0000f,-0.9202f,1.5701f,-0.7071f,1.2247f,-0.3757f,0.0705f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.7071f,-1.2247f,-0.3757f,1.3096f,-0.0000f,1.0000f,-0.9202f,0.3826f,0.7071f,1.2247f,0.3757f,-0.9919f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.7071f,-1.2247f,0.3757f,0.9295f,0.0000f,-1.0000f,-0.9202f,1.5701f,0.7071f,1.2247f,-0.3757f,-0.6118f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[1.0000f,0.0000f,0.0000f,0.0000f,0.0000f,0.0000f,-1.2500f,1.1250f,0.0000f,7.9375f,0.0000f,-6.9375f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[1.4375f,0.0000f,0.0000f,-0.2500f,0.0000f,1.0000f,0.0000f,0.0000f,0.0000f,0.0000f,1.0000f,0.0000f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[1.4375f,0.0000f,0.0000f,-0.2500f,0.0000f,1.0000f,0.0000f,-0.8125f,0.0000f,0.0000f,1.0000f,0.0000f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.1875f,-0.8660f,0.0000f,0.8750f,0.3248f,0.5000f,0.0000f,0.3125f,0.0000f,0.0000f,0.7500f,0.1250f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.1875f,0.8660f,-0.0000f,0.1250f,0.3248f,0.5000f,0.0000f,0.3125f,0.0000f,-0.0000f,-0.7500f,0.8750f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.0000f,0.0000f,0.7500f,0.1250f,0.3248f,0.5000f,-0.0000f,0.3125f,-0.1875f,0.8660f,-0.0000f,0.1250f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.0000f,-0.0000f,-0.7500f,0.8750f,0.3248f,0.5000f,-0.0000f,0.3125f,0.1875f,-0.8660f,0.0000f,0.8750f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.1326f,-0.6124f,0.5303f,0.5325f,0.3248f,0.5000f,0.0000f,0.3125f,-0.1326f,0.6124f,0.5303f,-0.0303f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.1326f,0.6124f,-0.5303f,0.5325f,0.3248f,0.5000f,0.0000f,0.3125f,0.1326f,-0.6124f,-0.5303f,1.0303f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.1326f,0.6124f,0.5303f,0.0021f,0.3248f,0.5000f,-0.0000f,0.3125f,-0.1326f,0.6124f,-0.5303f,0.5000f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.1326f,-0.6124f,-0.5303f,1.0628f,0.3248f,0.5000f,-0.0000f,0.3125f,0.1326f,-0.6124f,0.5303f,0.5000f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.1875f,-0.8660f,0.0000f,1.0625f,0.3248f,-0.5000f,0.0000f,0.3750f,0.0000f,0.0000f,0.7500f,0.1250f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.1875f,0.8660f,0.0000f,-0.0625f,0.3248f,-0.5000f,-0.0000f,0.3750f,0.0000f,0.0000f,-0.7500f,0.8750f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.0000f,0.0000f,-0.7500f,0.8750f,0.3248f,-0.5000f,0.0000f,0.3750f,-0.1875f,-0.8660f,-0.0000f,1.0625f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.0000f,-0.0000f,0.7500f,0.1250f,0.3248f,-0.5000f,0.0000f,0.3750f,0.1875f,0.8660f,0.0000f,-0.0625f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.1326f,-0.6124f,0.5303f,0.6651f,0.3248f,-0.5000f,0.0000f,0.3750f,0.1326f,0.6124f,0.5303f,-0.1629f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.1326f,0.6124f,-0.5303f,0.3999f,0.3248f,-0.5000f,-0.0000f,0.3750f,-0.1326f,-0.6124f,-0.5303f,1.1629f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[-0.1326f,-0.6124f,-0.5303f,1.1954f,0.3248f,-0.5000f,0.0000f,0.3750f,-0.1326f,-0.6124f,0.5303f,0.6326f,0.0000f,0.0000f,0.0000f,1.0000f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:polished_blackstone_button",Properties:{face:"ceiling",facing:"east",powered:"false"}},transformation:[0.1326f,0.6124f,0.5303f,-0.1304f,0.3248f,-0.5000f,0.0000f,0.3750f,0.1326f,0.6124f,-0.5303f,0.3674f,0.0000f,0.0000f,0.0000f,1.0000f]}]}
    #Enable/disable the glow of display entities
    glowing: false
    #Glow color of display entities in ARGB format (https://www.tydac.ch/color/)
    glow-color-override: 16439142

  #Center material that will be filled depending on where the block is installed.   By def BARRIER
  central-material: BARRIER

  #Number of sides of the block. Can be set in the range from 1 to 360.     By def 4
  sides-count: 4

  #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: BARREL
    #Item name.  By def the block name is selected
    name: "&6Realistic barrel"
    #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"

  #Interaction Entity of a given block.   The field may be missing, then all parameters are given by default
  interaction:
    #Interaction Entity height.  By def 1.001
    height: 1.1
    #Interaction Entity width.  By def 1.001
    width: 1.001
    #The command or commands that are called when the player interacts (right-clicks) with the Interaction Entity of this block.   By def absent
    command:
      - /playsound minecraft:ambient.cave player %player_name%
    #Command source (PLAYER who clicked on the interaction entity or CONSOLE).   By def CONSOLE
    command-source: PLAYER
 
logo.png
To create a block you must add its name to the custom-block selection
Fields for the block itself:

display:
Represents the Display Entities of a given block
spawn-command:
Command to create a block display model.
To create a model you must:

1. Go to the website BDEngine and create a model using various Display Entities, the center outline of the assigned block will represent where the Entities will appear, the front side will be indicated at z magnification .
Снимок экрана 2024-02-02 123345 (1).jpg

2. Click Export to Minecraft and copy the command to create entities
upload_2024-2-2_18-52-8.png
3. Paste the copied command into spawn-command

You can also paste multiple commands if needed
upload_2024-2-27_21-58-36.png


glowing:
Setting the Display Entities glow
upload_2024-8-11_21-27-25.png

glow-color-override:
The glow color of the Entities Display in ARGB format, you can create it here
upload_2024-8-11_21-31-17.png

view-range:
The view range of these Display Entities

sides-count:
Count of sides of the block. Can be set in the range from 1 to 360.

central-material:
The center material for the block you installed, default is BARRIER

For example, if you want your block to glow, simply set the center material to LIGHT.
upload_2024-2-2_19-3-28.png

item:
Represents your block's item
material: Required field, represents the material of your item

name: The name of your item, defaults to the block name (you can use gradient)

You can also set lore, item-flags, enchantments

You can also set the texture for items with the PLAYER_HEAD material. To do this you need:
1. To go to the minecraft-heads website and select a head.
2. Copy the Minecraft URL.
[​IMG]
3. Add skullmeta.url selection to the item and paste the URL into this field

Code (Text):
 skullmeta:
        url: 2588e8e1408455fe05ffd46593d7605a6f5c81ab8d9424fb8f8c2fe3cce6822e

interaction:
Represents an Interaction Entity to interact with a block

height:
Interaction Entity Height, default 1.001

width:
Interaction Entity Width, default 1.001

command:
The command or commands that is called when the player interacts (right-clicks) with the Interaction Entity of this block, default absent

command-source:
Command source (PLAYER who clicked on the interaction entity or CONSOLE), default CONSOLE

break or place sounds of this block

sound-type:
Type of sound played, all types can be found at spigotmc
volume:
Sound volume
pitch:
Sound pitch


That's all, now you can get your block using the command /bdc custom-block give <custom block name>

Displayed objects can be of any size, which allows you to create huge models, you can find a catalog of models on the block-display website
upload_2024-2-2_19-6-33.png



Commands
/bdc custom-block
give <custom block name>
- Returns a block by name
set <custom block name> <parameter> - Sets a specific parameter for a given block in the config

/bdc reload - Reloads the config
/bdc killdisplay&interaction <x1> <y1> <z1> <x2> <y2> <z2> - Kills the Display Entity and Interaction Entity in the selected area, needed to clear the world of unused block entities, if, for example, you accidentally deleted one in the config some custom block


Permissions
blockdisplaycreator.command.blockdisplaycreator - Permission to use the command /blockdisplaycreator | /bdc

blockdisplaycreator.blocks-destruction - Permission to destroy custom blocks, only needed if blocks-destruction is set to false
blockdisplaycreator.blocks-placement - Permission to place custom blocks, only needed if blocks-placement is set to false
blockdisplaycreator.blocks-interaction - Permission to interact (right-click) with custom blocks, only needed if blocks-interaction is set to false.


Prohibition of block destruction/placement/interaction
The config will have the following fields:
Code (Text):

#If set to false, players without blockdisplaycreator.blocks-destruction permission are prohibited from destroying custom blocks.   By def true
blocks-destruction: true
#If set to false, players without blockdisplaycreator.blocks-placement permission are prohibited from placing custom blocks.   By def true
blocks-placement: true
#If set to false, players without blockdisplaycreator.blocks-interaction permission are prohibited from interacting with custom blocks.   By def true
blocks-interaction: true
 

API
The plugin has events for tracking interactions with blocks
CustomBlockBreakEvent - Called when a custom block is destroyed
CustomBlockPlaceEvent - Called when a custom block is placed
CustomBlockInteractEvent - Called when interacting (right-clicking) with a custom block


If you find any bugs or have any questions, you can write to me on my discord: general_breddok

Send your ideas for blocks and leave feedback!
Resource Information
Author:
----------
Total Downloads: 427
First Release: Feb 2, 2024
Last Update: Sep 1, 2024
Category: ---------------
All-Time Rating:
6 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings