Hytale Server API - Item and Block System

Item System

ItemBase

The protocol class for all items. Location: com/hypixel/hytale/protocol/ItemBase.java

Identity & Display Fields:

FieldTypeDescription
idStringUnique identifier
nameStringDisplay name
modelStringModel reference
textureStringTexture reference
iconStringIcon reference
iconPropertiesAssetIconPropertiesIcon display properties
translationPropertiesItemTranslationPropertiesLocalization config
scalefloatItem scale multiplier

Stack & Durability Fields:

FieldTypeDescription
maxStackintMaximum stack size
durabilitydoubleItem durability value
consumablebooleanWhether item is consumable
variantbooleanWhether item is a variant

Item Level & Quality:

FieldTypeDescription
itemLevelintItem level/tier
qualityIndexintQuality tier index
resourceTypesItemResourceType[]Resource/crafting materials
setStringItem set identifier
categoriesString[]Category tags
tagIndexesint[]Tag indices array

Animation & Visuals:

FieldTypeDescription
animationStringAnimation reference
playerAnimationsIdStringPlayer animation set ID
usePlayerAnimationsbooleanUse player animations
droppedItemAnimationStringAnimation for dropped items
particlesModelParticle[]Particle effects
firstPersonParticlesModelParticle[]First-person particles
trailsModelTrail[]Visual trails
lightColorLightLight emission
reticleIndexintReticle configuration
clipsGeometrybooleanClips through geometry
renderDeployablePreviewbooleanShow deployment preview

Interactions:

FieldTypeDescription
interactionsMap<InteractionType, Integer>Interaction type mappings
interactionVarsMap<String, Integer>Interaction variables
interactionConfigInteractionConfigurationInteraction configuration
pullbackConfigItemPullbackConfigurationCharge/pullback config

Specialization Fields:

FieldTypeDescription
blockIdintAssociated block ID
toolItemToolTool specialization
weaponItemWeaponWeapon specialization
armorItemArmorArmor specialization
gliderConfigItemGliderGlider configuration
utilityItemUtilityUtility properties
blockSelectorToolBlockSelectorToolDataBlock selector data
builderToolDataItemBuilderToolDataBuilder tool config
itemEntityItemEntityConfigEntity display config

Sound & HUD:

FieldTypeDescription
soundEventIndexintSound event index
itemSoundSetIndexintSound set index
displayEntityStatsHUDint[]Stats displayed in HUD
itemAppearanceConditionsMap<Integer, ItemAppearanceCondition[]>Appearance by variant

ItemTool

Tool specialization data.

Fields:

FieldTypeDescription
specsItemToolSpec[]Tool specifications
speedfloatMining speed multiplier

ItemToolSpec Fields:

FieldTypeDescription
gatherTypeStringResource type (e.g., “wood”, “stone”)
powerfloatGathering power
qualityintTool quality level

ItemWeapon

Weapon specialization data.

Fields:

FieldTypeDescription
statModifiersMap<Integer, Modifier[]>Stat modifiers by type
entityStatsToClearint[]Stats cleared on use
renderDualWieldedbooleanDual-wield rendering

ItemArmor

Armor specialization data.

Fields:

FieldTypeDescription
armorSlotItemArmorSlotEquipment slot
baseDamageResistancedoubleBase resistance value
damageResistanceMap<String, Modifier[]>Resistance by damage type
damageEnhancementMap<String, Modifier[]>Damage enhancement
damageClassEnhancementMap<String, Modifier[]>Class-based enhancement
statModifiersMap<Integer, Modifier[]>Stat modifiers
cosmeticsToHideCosmetic[]Hidden cosmetics

ItemArmorSlot Enum:

ValueIndex
Head0
Chest1
Hands2
Legs3

Modifier

Stat modification data.

Fields:

FieldTypeDescription
targetModifierTargetMin or Max target
calculationTypeCalculationTypeHow to apply
amountfloatModifier value

ModifierTarget Enum:

ValueIndex
Min0
Max1

CalculationType Enum:

ValueIndex
Additive0
Multiplicative1

ItemResourceType

Crafting resource definition.

Fields:

FieldTypeDescription
idStringResource identifier
quantityintRequired quantity (default: 1)

Block System

BlockType

The protocol class for all blocks. Location: com/hypixel/hytale/protocol/BlockType.java

Identity Fields:

FieldTypeDescription
itemStringAssociated item ID
nameStringDisplay name
groupintBlock group index
tagIndexesint[]Tag indices

Rendering Fields:

FieldTypeDescription
drawTypeDrawTypeRendering method
materialBlockMaterialMaterial type
opacityOpacityTransparency level
shaderEffectShaderType[]Shader effects
requiresAlphaBlendingbooleanAlpha blending required

Model Fields:

FieldTypeDescription
modelString3D model reference
modelTextureModelTexture[]Model textures
modelScalefloatModel scale
modelAnimationStringModel animation
loopingbooleanAnimation loops

Cube Textures:

FieldTypeDescription
cubeTexturesBlockTextures[]Cube-mapped textures
cubeSideMaskTextureStringSide mask texture
cubeShadingModeShadingModeShading technique

Rotation:

FieldTypeDescription
randomRotationRandomRotationRandom rotation mode
variantRotationVariantRotationVariant rotation mode
rotationYawPlacementOffsetRotationPlacement rotation

Collision & Interaction:

FieldTypeDescription
hitboxintCollision hitbox index
interactionHitboxintInteraction hitbox index
interactionHintStringInteraction hint text
interactionsMap<InteractionType, Integer>Interaction mappings

Support System:

FieldTypeDescription
maxSupportDistanceintSupport propagation distance
blockSupportsRequiredForBlockSupportsRequiredForTypeRequirement type
supportMap<BlockNeighbor, RequiredBlockFaceSupport[]>Required supports
supportingMap<BlockNeighbor, BlockFaceSupport[]>Provides support
ignoreSupportWhenPlacedbooleanSkip support check

Visual Effects:

FieldTypeDescription
particlesModelParticle[]Particle effects
blockParticleSetIdStringParticle set ID
blockBreakingDecalIdStringBreaking decal ID
particleColorColorParticle color
lightColorLightLight emission
tintTintColor tint
biomeTintTintBiome-based tint

Sound:

FieldTypeDescription
blockSoundSetIndexintSound set reference
ambientSoundEventIndexintAmbient sound index

States & Transitions:

FieldTypeDescription
statesMap<String, Integer>Block state mappings
transitionTextureStringTransition texture
transitionToGroupsint[]Transition target groups
transitionToTagintTransition tag index

Specialized:

FieldTypeDescription
movementSettingsBlockMovementSettingsMovement properties
flagsBlockFlagsBlock flags
gatheringBlockGatheringGathering configuration
placementSettingsBlockPlacementSettingsPlacement rules
displayModelDisplayDisplay properties
railRailConfigRail configuration
benchBenchCrafting bench properties
connectedBlockRuleSetConnectedBlockRuleSetConnected block rules

DrawType Enum

ValueIndexDescription
Empty0No rendering
GizmoCube1Debug gizmo cube
Cube2Standard cube
Model3Custom 3D model
CubeWithModel4Cube with model overlay

BlockMaterial Enum

ValueIndex
Empty0
Solid1

Opacity Enum

ValueIndexDescription
Solid0Fully opaque
Semitransparent1Partially transparent
Cutout2Binary transparency
Transparent3Full transparency

ShadingMode Enum

ValueIndex
Standard0
Flat1
Fullbright2
Reflective3

RandomRotation Enum

ValueIndexDescription
None0No random rotation
YawPitchRollStep11All axes, step 1
YawStep12Yaw only, step 1
YawStep1XZ3Yaw step 1 on XZ
YawStep904Yaw 90° increments

VariantRotation Enum

ValueIndexDescription
None0No variant rotation
Wall1Wall-mounted orientation
UpDown2Up/down orientation
Pipe3Pipe connection
DoublePipe4Double pipe connection
NESW5Cardinal directions
UpDownNESW6Vertical + cardinal
All7All orientations

Rotation Enum

ValueIndex
None0
Ninety1
OneEighty2
TwoSeventy3

BlockNeighbor Enum

All 26 neighboring directions:

Cardinal (6): Up(0), Down(1), North(2), East(3), South(4), West(5)

Edge (12): UpNorth(6), UpSouth(7), UpEast(8), UpWest(9), DownNorth(10), DownSouth(11), DownEast(12), DownWest(13), NorthEast(14), SouthEast(15), SouthWest(16), NorthWest(17)

Corner (8): UpNorthEast(18), UpSouthEast(19), UpSouthWest(20), UpNorthWest(21), DownNorthEast(22), DownSouthEast(23), DownSouthWest(24), DownNorthWest(25)


BlockSupportsRequiredForType Enum

ValueIndexDescription
Any0Any support satisfies
All1All supports required

SupportMatch Enum

ValueIndexDescription
Ignored0Support not checked
Required1Support must exist
Disallowed2Support must not exist

Block Sound System

BlockSoundSet

Sound configuration per block.

Fields:

FieldTypeDescription
idStringSound set identifier
soundEventIndicesMap<BlockSoundEvent, Integer>Sound event mappings
moveInRepeatRangeFloatRangeMovement sound repeat

BlockSoundEvent Enum

ValueIndex
Walk0
Land1
MoveIn2
MoveOut3
Hit4
Break5
Build6
Clone7
Harvest8

Block Particle System

BlockParticleSet

Particle configuration per block.

Fields:

FieldTypeDescription
idStringParticle set identifier
colorColorParticle color
scalefloatParticle scale
positionOffsetVector3fPosition offset
rotationOffsetDirectionRotation offset
particleSystemIdsMap<BlockParticleEvent, String>Particle system mappings

BlockParticleEvent Enum

ValueIndex
Walk0
Run1
Sprint2
SoftLand3
HardLand4
MoveOut5
Hit6
Break7
Build8
Physics9

Block Support System

RequiredBlockFaceSupport

Defines required adjacent block support.

Fields:

FieldTypeDescription
faceTypeStringFace type requirement
selfFaceTypeStringSelf face type
blockSetIdStringBlock set identifier
blockTypeIdintBlock type index
tagIndexintTag index
fluidIdintFluid identifier
supportSupportMatchSupport requirement
matchSelfSupportMatchSelf-match requirement
allowSupportPropagationbooleanAllow propagation
rotatebooleanRotate with block
fillerVector3i[]Filler positions

BlockFaceSupport

Defines support this block provides.

Fields:

FieldTypeDescription
faceTypeStringFace type provided
fillerVector3i[]Filler positions

Block Gathering

BlockGathering

Gathering/harvesting configuration.

Fields:

FieldTypeDescription
breakingBlockBreakingBreaking configuration
harvestHarvestingHarvest configuration
softSoftBlockSoft block properties

Summary

Item System

  • 49 fields in ItemBase
  • 4 specialization types: Tool, Weapon, Armor, Glider
  • Modifier system with additive/multiplicative calculations

Block System

  • 53 fields in BlockType
  • 5 draw types, 4 opacity levels, 4 shading modes
  • 26 neighbor directions for support system
  • 9 sound events, 10 particle events