Furniture Mechanic
How to add non cubic blocs to the game
Furniture Mechanic
Furniture-Properties
Display Transform
The display_transform
dictates how the model will be displayed.
By default it is set to NONE
, which will show it as it looks when you open the model in BlockBench.
As some other plugins might use ArmorStands and add the furniture to its head, you can set this option to HEAD
for the same effect.
There is also: FIRSTPERSON_LEFTHAND
, FIRSTPERSON_RIGHTHAND
, FIXED
, GROUND
, GUI
, THIRDPERSON_LEFTHAND
, THIRDPERSON_RIGHTHAND
.
All of these will be displayed ingame as shown in BlockBench's Display Tab under the specified type.
Look at Furniture Position for an example on FIXED (ItemFrame Position)
Tracking Rotation / Billboard
The tracking_rotation
-property defines whether you want the furniture to "track" the player.
This is mainly for stuff like billboard and leaderboards you want the player to see, not normal furniture.
Options are:
FIXED
- No rotation
VERTICAL
- Pivots around vertical axis
HORIZONTAL
- Pivots around horizontal axis
CENTER
- Pivots around center point
Translation
The `translation`-property lets you offset the model of your furniture. Can be useful to adjust visually without editing the model-json itself Config should look like this:
Brightness
The brightness
-property lets you override the vanilla lighting-values of the furniture.
It has a block_light
and sky_light
property for the different types of lighting Minecraft has. Config should look like this:
Scale
The scale
-property is a way to scale the furniture.
It has a x
, y
and z
property for scaling on each axis. Config should look like this:
view_range
, shadow_radius
, shadow_strength
should be self-explanatory.
Custom Sounds
Furniture, like custom blocks, can have custom sounds
All the volume and pitch values are set to be what Minecraft uses for blocks normally. If you want to change the volume or pitch, you can do so by using the format below. Keep in mind these two formats are compatible with eachother. We recommend just use the default one, but the option is there if you want to change it.
Rotatable
To make a furniture rotatable, simply add the following to your item's config.
Hitboxes
Furnitures can have two types of hitboxes, with or without collision. Collision hitboxes are normal barrier-blocks, whilst non-solid ones are interaction-entities. Interaction-entities have no collision, but can be any width and height, unlike barriers which are normal 1x1x1 blocks.Below are examples of how to use both. Barrier hitboxes can be formatted at a given offset from the furniture. They also support integer-ranges to shorten repeating lines for larger hitboxes
Interaction-Entity Hitboxes takes an offset, width and height
Shulker-Entity Hitboxes takes an offset, scale, length and direction Offset only supports full blocks, as shulkers are forcefully put at a full block. Meaning you cannot offset it by 0.5 blocks Scale is a single integer and determines the scale of the furniture. You cannot scale only the height, like with Interaction-Entity Hitboxes Length determines the extra length of the hitbox, and can be between 1..2 Direction determines the way the hitbox faces, if not specified, defaults to UP
This is only available for 1.20.5+ servers Should also be noted that the shulker-entity head will be visible on 1.21.1 & below It will be invisible for 1.21.2 and above as long as https://bugs.mojang.com/browse/MC-278123 is not fixed
ModelEngine Furniture
To make use of a ModelEngine model as your furniture, simply add the following to your item's config:
Jukebox
Lets this furniture accept music discs and custom music discs which will be played.
You can tweak the volume
and pitch
of the music from the jukebox.
There is also a permission
field, which can be used if you only want certain players to be able to play music from the jukebox.
By default permission is blank, which means anyone can play music from the jukebox.
Seats
Seats can be configured to spawn with a given offset from the base furniture, like below
Restrict Rotation
You can restrict the amount of rotation-facings a furniture has with restricted_rotation
.
It can be set to STRICT or VERY_STRICT, with 8 and 4 facings respectively.\
Limited placing
You can customize what blocks a custom block/furniture can be placed on with limited_placing
subsection. You can use the roof
, floor
and wall
options to dictate where a block can be placed. By default, all are set to true
.
The type
specifies if it should only be allowed on or denied on specific blocks.
If type is ALLOW
the block can only be placed on the given blocks.
If the type is DENY
can be placed on all blocks not matching the given blocks.
There is also a radius_limitation
option, which allows you to limit the amount of a certain furniture within a radius.
The block_tags
can be found at this page. Useful if you want to allow/deny a group of blocks.
The block_types
are materials. Useful if you want to allow/deny a specific list block.
The nexo_blocks
are blocks/furniture from Nexo.
This allows all custom blocks and furniture in here, but furniture requires a barrier-hitbox.
Storage
This is a sub-mechanic for furniture & noteblock mechanics, that let you make a custom storage container. Essentially a chest, closet or whatever you might want.
There's a few different types: STORAGE, PERSONAL, ENDERCHEST & DISPOSAL. STORAGE is similar to a normal chest. Anyone can open it and view the content of it. PERSONAL is essentially a custom enderchest, letting you edit the row-count and so on. ENDERCHEST is literally just the enderchest inventory, but letting you make a custom block/furniture to access it. DISPOSAL is a custom trashcan, letting you throw items in it, and they will be deleted when closed.\
Light
You can configure your furniture so it emits light. This option corresponds to light intensity and must be between 1 and 15. It takes an offset from the base-furniture and a light-level
Light can also be made toggleable by adding lights_toggleable: true
, meaning right-clicking the furniture will toggle the light on/off.
Waterloggable
You can make furniture waterloggable when placed underwater by following the below. This mainly applies to the barrier-hitboxes of your furniture
BlockLocker
You can use this to allow protection via BlockLocker Valid protectionTypes are CONTAINER, DOOR, ATTACHABLE
Last updated