Skip to content

Block Type Schema

Class: com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType Codec: AssetBuilderCodec<String, BlockType>

Block type definitions control how a block is rendered, how it interacts with physics and entities, and what gameplay behaviors it has. BlockType is defined as a nested asset within an Item definition (via the BlockType JSON field), not as a standalone asset file. The codec uses appendInherited for most fields, enabling asset pack inheritance chains.

JSON KeyJava TypeJSON TypeRequiredDefaultDescription
DrawTypeDrawTypestring (enum: Cube, Model, Cross, Empty, Fluid, …)yes"Cube"How the block is rendered. Cube is standard voxel, Model uses a custom 3D model, Cross renders as X-shaped planes.
TexturesBlockTypeTextures[]array of objectsnonullBlock face textures. Each entry defines Up/Down/North/South/East/West texture paths and a weight for random selection.
TextureSideMaskStringstringnonullTexture used as a side mask overlay.
CubeShadingModeShadingModestring (enum: Standard, Flat)yes"Standard"Shading mode for cube-type blocks.
CustomModelStringstringnonullPath to a .blockymodel file for Model draw type blocks.
CustomModelTextureCustomModelTexture[]array of objectsnonullTextures for custom model blocks. Each entry has a texture path and a weight.
CustomModelScaleFloatnumberno1.0Scale factor for custom model blocks.
CustomModelAnimationStringstringnonullAnimation file path for animated custom model blocks.
LoopingBooleanbooleannofalseWhether the block’s custom model animation loops.
OpacityOpacitystring (enum: Solid, Transparent, SemiTransparent)yes"Solid"Light transmission behavior.
RequiresAlphaBlendingBooleanbooleannofalseWhether the block texture requires alpha blending for transparency.
EffectShaderType[]array of strings (enum: None, Foliage, Water, …)no["None"]Shader effects applied to the block.
RandomRotationRandomRotationstring (enum: None, Yaw, Full, …)yes"None"Random rotation applied when block is placed for visual variety.
VariantRotationVariantRotationstring (enum: None, Yaw, Debug)yes"None"Variant-based rotation for block states.
FlipTypeBlockFlipTypestring (enum)no"SYMMETRIC"How the block can be flipped.
RotationYawPlacementOffsetRotationstring (enum: None, 90, 180, 270)yes"None"Yaw rotation offset applied at placement time.
TransitionTextureStringstringnonullTexture used for smooth transitions between this block and adjacent blocks.
TransitionToGroupsString[]array of stringsnonullBlock groups this block transitions to visually.
TransitionToTagStringstringnonullBlock tag this block transitions to visually.
LightColorLightobject (color + intensity)nonullLight emitted by this block when placed in the world.
JSON KeyJava TypeJSON TypeRequiredDefaultDescription
TintColor[]array of hex color stringsnonullColor tint applied to all block faces (shorthand).
TintUpColor[]array of hex color stringsnonullColor tint for the top face.
TintDownColor[]array of hex color stringsnonullColor tint for the bottom face.
TintNorthColor[]array of hex color stringsnonullColor tint for the north face.
TintSouthColor[]array of hex color stringsnonullColor tint for the south face.
TintWestColor[]array of hex color stringsnonullColor tint for the west face.
TintEastColor[]array of hex color stringsnonullColor tint for the east face.
BiomeTintIntegerinteger (biome color index)nonullBiome color index applied to all faces (shorthand).
BiomeTintUpIntegerintegerno0Biome color index for the top face.
BiomeTintDownIntegerintegerno0Biome color index for the bottom face.
BiomeTintNorthIntegerintegerno0Biome color index for the north face.
BiomeTintSouthIntegerintegerno0Biome color index for the south face.
BiomeTintWestIntegerintegerno0Biome color index for the west face.
BiomeTintEastIntegerintegerno0Biome color index for the east face.
JSON KeyJava TypeJSON TypeRequiredDefaultDescription
MaterialBlockMaterialstring (enum: Solid, Empty, Liquid, …)yes"Empty"Physical material type. Affects collision, sound, and physics behavior.
HitboxTypeStringstringno"Full"Reference to a BlockBoundingBox asset defining the collision shape.
InteractionHitboxTypeStringstringnonullSeparate hitbox for interaction raycasting (can differ from collision hitbox).
MovementSettingsBlockMovementSettingsobjectnonullCustom movement modifiers when entities walk on/through this block (e.g., slow, slip).
DamageToEntitiesIntegerintegerno0Damage dealt to entities standing on/in this block (e.g., cacti, lava).
JSON KeyJava TypeJSON TypeRequiredDefaultDescription
SupportMap<BlockFace, RequiredBlockFaceSupport[]>object (face -> support requirements)nonullRequired support conditions per face. Empty means block is always supported.
SupportingMap<BlockFace, BlockFaceSupport[]>object (face -> support provided)nonullSupport this block provides to adjacent blocks per face.
SupportDropTypeSupportDropTypeobjectnonullWhat happens when block support is lost (drop as item, destroy, convert to physics entity).
MaxSupportDistanceIntegerinteger (0-14)nonullMaximum distance at which this block can provide structural support.
SupportsRequiredForBlockSupportsRequiredForTypestring (enum: All, Existence, Physics)yes"All"What the support requirement applies to.
IgnoreSupportWhenPlacedBooleanbooleannofalseWhether support requirements are ignored when a player places this block.
JSON KeyJava TypeJSON TypeRequiredDefaultDescription
GroupStringstringnonullBlock group identifier. Used by BlockSets. A group of @Tech prevents physics from being applied.
FlagsBlockFlagsobject {IsUsable, IsStackable}nonullBoolean flags. IsUsable: block can be used/interacted with. IsStackable: blocks can be stacked.
IsDoorBooleanbooleannofalseWhether this block behaves as a door (open/close interaction).
AllowsMultipleUsersBooleanbooleannofalseWhether multiple players can use this block simultaneously (e.g., large benches).
InteractionsMap<InteractionType, String>object (enum keys -> RootInteraction asset refs)nonullMaps interaction types to RootInteraction assets defining block use behavior.
InteractionHintStringstringnonullTranslation key for text shown under crosshair when aiming at block. {key} is replaced with interaction binding.
BenchBenchobjectnonullCrafting bench configuration if this block is a crafting station.
GatheringBlockGatheringobjectnonullResource gathering configuration for harvestable blocks.
PlacementSettingsBlockPlacementSettingsobjectnonullCustom placement behavior and constraints.
FarmingFarmingDataobjectnonullFarming/crop growth configuration for agricultural blocks.
TickProcedureTickProcedureobjectnonullDefines block tick behavior (e.g., crop growth, fire spread).
SeatsRotatedMountPointsArrayobjectnonullSeat mount points for sittable blocks (chairs, benches).
BedsRotatedMountPointsArrayobjectnonullBed mount points for sleeping blocks.
ConnectedBlockRuleSetConnectedBlockRuleSetobjectnonullRules for connected block textures (e.g., fences, walls that connect to neighbors).
StateStateDataobjectnonullBlock state configuration (e.g., multi-state blocks like doors open/closed, crops growth stages).
BlockEntityHolder<ChunkStore>object (ECS component holder)nonullECS components attached to this block as a block entity (e.g., inventory, display data).
RailRailConfigobjectnonullRail configuration for minecart-style rail blocks.
JSON KeyJava TypeJSON TypeRequiredDefaultDescription
BlockSoundSetIdStringstringno"EMPTY"Reference to a BlockSoundSet for placement, breaking, and step sounds.
AmbientSoundEventIdStringstringnonullLooping ambient sound emitted by this block when placed or held.
InteractionSoundEventIdStringstringnonullOne-shot sound played when interacting with this block.
BlockBreakingDecalIdStringstringnonullReference to a BlockBreakingDecal asset overlaid when block is damaged.
BlockParticleSetIdStringstringnonullReference to a BlockParticleSet for particles spawned on entity interaction (stepping, breaking).
ParticleColorColorstring (hex color)nonullColor tint for block interaction particles.
ParticlesModelParticle[]array of objectsnonullAmbient particles spawned on top of placed blocks of this type.
JSON KeyJava TypeJSON TypeRequiredDefaultDescription
BlockListAssetIdStringstringnonullReference to a BlockList asset for use in builder tool brushes.
PrefabListAssetIdStringstringnonullReference to a PrefabList asset for use in builder tool brushes.
AliasesString[]array of stringsnonullAlternative names for this block type used in command matching.