Interaction Types Reference
Quick reference for all Type values in interactions.
Flow Control
Section titled “Flow Control”Serial
Section titled “Serial”Run interactions in sequence.
{ "Type": "Serial", "Interactions": ["First", "Second", "Third"]}Fields:
Interactions- Array of interaction IDs or inline interactions
Chaining
Section titled “Chaining”Cycle through attacks (combo system).
{ "Type": "Chaining", "ChainId": "MyCombo", "ChainingAllowance": 2.0, "Next": [ { "Var": "Attack1", "DefaultValue": { "Interactions": ["Attack1"] } }, { "Var": "Attack2", "DefaultValue": { "Interactions": ["Attack2"] } } ]}Fields:
ChainId- Shared counter name (optional)ChainingAllowance- Seconds before combo resetsNext- Array of attack optionsFlags- Named branches (optional)
Authority: Client decides which attack
Charging
Section titled “Charging”Hold-to-charge with time-based branches.
{ "Type": "Charging", "DisplayProgress": true, "Next": { "0": "QuickAttack", "0.5": "MediumAttack", "1.5": "FullyCharged" }}Fields:
DisplayProgress- Show charge barNext- map of hold time to interaction
Authority: Client reports charge time
Condition
Section titled “Condition”Branch based on state conditions.
{ "Type": "Condition", "RequiredGameMode": "Adventure", "Jumping": false, "Crouching": true, "Sprinting": false, "Swimming": false, "Next": "PassedInteraction", "Failed": "FailedInteraction"}Fields:
RequiredGameMode- Required game modeJumping,Crouching,Sprinting,Swimming- State checksNext- If conditions passFailed- If conditions fail
Simple
Section titled “Simple”No logic, just timing and effects.
{ "Type": "Simple", "RunTime": 0.5, "Effects": { ... }}Fields:
RunTime- Duration in secondsEffects- Visual/audio effects
Replace
Section titled “Replace”Variable substitution (for InteractionVars).
{ "Type": "Replace", "Var": "DamageOverride", "DefaultOk": true, "DefaultValue": { "Interactions": ["DefaultDamage"] }}Fields:
Var- Variable name to look upDefaultOk- Use default if var not foundDefaultValue- Fallback interaction
Combat
Section titled “Combat”Selector
Section titled “Selector”Hit detection (raycast/arc).
{ "Type": "Selector", "RunTime": 0.1, "Selector": { "Id": "Horizontal", "Direction": "ToLeft", "TestLineOfSight": true, "StartDistance": 0.1, "EndDistance": 3.0, "Length": 90, "ExtendTop": 0.5, "ExtendBottom": 0.5, "RollOffset": 0, "YawStartOffset": -45 }, "HitEntity": { "Interactions": [...] }, "HitBlock": { "Interactions": [...] }, "Next": { ... }}Selector.Id values:
Horizontal- Horizontal arcVertical- Vertical arcSphere- Sphere around playerRaycast- Single ray
Fields:
Direction-ToLeft,ToRight, etc.StartDistance,EndDistance- RangeLength- Arc degreesExtendTop,ExtendBottom- Vertical hitbox extension
Authority: Client does raycast, sends hits
DamageEntity
Section titled “DamageEntity”Apply damage to target.
{ "Type": "DamageEntity", "DamageCalculator": { "Type": "Absolute", "BaseDamage": { "Physical": 20, "Fire": 10 }, "CriticalHitChance": 0.1, "CriticalHitMultiplier": 2.0, "RandomPercentageModifier": 0.1 }, "DamageEffects": { "Knockback": { "Type": "Force", "Force": 5.0, "Direction": { "X": 0, "Y": 1, "Z": -1 } }, "WorldParticles": [{ "SystemId": "Impact" }], "WorldSoundEventId": "SFX_Hit" }, "EntityStatsOnHit": [ { "EntityStatId": "SignatureEnergy", "Amount": 5 } ], "Next": "OnHit", "Failed": "OnMiss", "Blocked": "OnBlock"}DamageCalculator.Type:
Absolute- Fixed damageDps- Damage per second
Authority: Server calculates final damage
LaunchProjectile
Section titled “LaunchProjectile”Fire a projectile.
{ "Type": "LaunchProjectile", "ProjectileId": "My_Bullet", "RunTime": 0.1, "SpawnOffset": { "X": 0, "Y": 1.5, "Z": 0.5 }, "Effects": { ... }}Fields:
ProjectileId- Projectile asset IDSpawnOffset- Position offset from player
Effects
Section titled “Effects”ApplyEffect
Section titled “ApplyEffect”Apply status effect.
{ "Type": "ApplyEffect", "EffectId": "Poison", "Entity": "Target", "Duration": 5.0, "Stacks": 1}Entity values: Self, Target, Owner
ClearEntityEffect
Section titled “ClearEntityEffect”Remove status effect.
{ "Type": "ClearEntityEffect", "Entity": "Target", "EntityEffectId": "Poison"}ChangeState
Section titled “ChangeState”Modify entity stat.
{ "Type": "ChangeState", "StatId": "Health", "Amount": -10, "Entity": "Target"}Utility
Section titled “Utility”ModifyInventory
Section titled “ModifyInventory”Add/remove items.
{ "Type": "ModifyInventory", "ItemToRemove": { "Id": "Ammo", "Quantity": 1 }, "ItemToAdd": { "Id": "EmptyShell", "Quantity": 1 }, "Next": "Success", "Failed": "NoAmmo"}Repeat
Section titled “Repeat”Loop an interaction.
{ "Type": "Repeat", "Count": 3, "Interaction": "SingleShot"}Select
Section titled “Select”Random selection.
{ "Type": "Select", "Options": [ { "Weight": 50, "Interaction": "CommonAttack" }, { "Weight": 30, "Interaction": "UncommonAttack" }, { "Weight": 20, "Interaction": "RareAttack" } ]}Common Effects Block
Section titled “Common Effects Block”All interactions can have:
{ "Effects": { "ItemAnimationId": "SwingLeft", "ItemPlayerAnimationsId": "Sword", "WorldSoundEventId": "SFX_Swing", "LocalSoundEventId": "SFX_Swing_Local", "CameraEffect": "ScreenShake", "WaitForAnimationToFinish": true, "ClearAnimationOnFinish": false, "StartDelay": 0.1,
"Particles": [{ "SystemId": "Dust", "PositionOffset": { "X": 0, "Y": 0, "Z": 0 }, "Bone": "RightHand" }],
"FirstPersonParticles": [{ "SystemId": "Muzzle_Flash" }],
"Trails": [{ "TrailId": "Sword_Trail", "TargetNodeName": "Blade_Tip" }],
"MovementEffects": { "HorizontalSpeedMultiplier": 0.5 } }}Code References
Section titled “Code References”| Type | Class |
|---|---|
| Serial | com.hypixel.hytale.server.core.modules.interaction.interaction.config.none.SerialInteraction |
| Chaining | com.hypixel.hytale.server.core.modules.interaction.interaction.config.client.ChainingInteraction |
| Charging | com.hypixel.hytale.server.core.modules.interaction.interaction.config.client.ChargingInteraction |
| Selector | com.hypixel.hytale.server.core.modules.interaction.interaction.config.client.SelectorInteraction |
| DamageEntity | com.hypixel.hytale.server.core.modules.interaction.interaction.config.server.DamageEntityInteraction |
| LaunchProjectile | com.hypixel.hytale.server.core.modules.interaction.interaction.config.server.LaunchProjectileInteraction |
| ApplyEffect | com.hypixel.hytale.server.core.modules.interaction.interaction.config.server.ApplyEffectInteraction |