Modding:Json Block Behaviors: Difference between revisions

From Vintage Story Wiki
→‎All Block Behaviors: Update HorizontalOrientable link
No edit summary
(→‎All Block Behaviors: Update HorizontalOrientable link)
 
(24 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Adding behaviors to your block ==
Block behaviors are an array of objects with properties attached to your block. They are added through the <code>behaviors</code> field at the top level (same level as the <code>code</code> field) of a block json file.
Below is an example of two behaviors, one with properties and one without properties.
<syntaxhighlight lang="json">
{
  ...
  code: "exampleblock",
  ...
  behaviors: [{name: "behavior1", properties: {myProperty1: "myValue1", myProperty2: "myValue2"}},{name: "behavior2"}],
  ...
}
</syntaxhighlight>
== All Block Behaviors ==
Here is a table containing all properties of the base game as of 1.18.14.
{| class="wikitable"
{| class="wikitable"
|-
|-
! Behavior Name !! Additional Properties !! Detail link
! Behavior Name
! style="width: 25em" | Properties
! Used by Blocks
|-
|-
| HorizontalAttachable || handleDrops (bool, default: true) || [[Json_block_behaviors_horizontalattachable|Horizontal Attachable]]
| [[Json_block_behaviors_BlockEntityInteract|BlockEntityInteract]] || - || door
|-
|-
| HorizontalOrientable || dropBlockFace (Compass Direction, default: "North") <br> dropBlock (block name) || [[Json_block_behaviors_horizontalorientable|Horizontal Orientable]]
| [[Json_block_behaviors_BreakIfFloating|BreakIfFloating]] || - || termitemound, crackedrock, meteorite, ore, ore, ore, rock, rottenlog
|-
|-
| NWOrientable || none || [[Json_block_behaviors_NWOrientable|North/West Orientable]]
| [[Json_block_behaviors_BreakSnowFirst|BreakSnowFirst]] || - || tallgrass, stonepath
|-
|-
| Pillar || none || [[Json_block_behaviors_pillar|Pillar]]
| [[Json_block_behaviors_CanAttach|CanAttach]]
|
* sides
| drystonefence, woodenfence, roughhewnfence
|-
|-
| Slab || none || [[Json_block_behaviors_slab|Slab]]
| [[Json_block_behaviors_CanIgnite|CanIgnite]] || - || torch
|-
|-
| HorizontalUpDownOrientable || none || [[Json_block_behaviors_HorizontalUpDownOrientable| Horizontal Up/Down Orientable]]
| [[Json_block_behaviors_CollectFromThis|CollectFrom]] || - || henbox
|-
|-
| FiniteSpreadingLiquid || liquidCollisionSound (path from sounds folder) <br> sourceReplacementCode (block code) <br> flowingReplacementCode (block code) <br> collidesWith (other liquid) <br> spreadDelay (int, default: 150) || [[Json_block_behaviors_FiniteSpreadingLiquid| Finite Spreading Liquid]]
| [[Json_block_behaviors_Container|Container]] || - || storagevessel, stove, hopper, quern, crate, labeledchest, trunk, chest, firepit, stationarybasket
|-
|-
| OmniAttachable || facingPos (int, default: 1)|| [[Json_block_behaviors_OmniAttachable|Omni-Attachable]]
| [[Json_block_behaviors_Decor|Decor]]
|
* sides
* sidedVariants
* nwOrientable
* drawIfCulled
* alternateZOffset
* notFullFace
* removable
* thickness
| linen, mediumcarpet, rushmat, smallcarpet, wallpaper, wool, hotspringbacteriasmooth, hotspringbacteria, attachingplant, overlay, overlay, oxidation, transition, fallenleaves, caveart
|-
|-
| Unplaceable || none || [[Json_block_behaviors_Unplaceable|Unplaceable]]
| [[Json_block_behaviors_Door|Door]] || - || door
|-
|-
| Unstable || attachedToFaces (default: down) || [[Json_block_behaviors_Unstable|Unstable]]
| [[Json_block_behaviors_DropNotSnowCovered|DropNotSnowCovered]] || - || fern, flower
|-
|-
| Harvestable || none || [[Json_block_behaviors_Harvestable|Harvestable]]
| [[Json_block_behaviors_ExchangeOnInteract|ExchangeOnInteract]]
|
* exchangeStates (string array of block states)
* sounds (path from sounds folder)
* actionLangCode (language key from the lang file)
| trapdoor
|-
|-
| NoParticles || none || [[Json_block_behaviors_NoParticles|No Particles]]
| [[Json_block_behaviors_FiniteSpreadingLiquid|FiniteSpreadingLiquid]]
|
* liquidCollisionSound (path from sounds folder)
* sourceReplacementCode (block code)
* flowingReplacementCode (block code)
* collidesWith (other liquid)
* spreadDelay (int, default: 0)
| boilingwater, water, lava, saltwater
|-
|-
| Container || none || [[Json_block_behaviors_Container|Container]]
| [[Json_block_behaviors_Harvestable|Harvestable]]
|
* harvestTime (float, seconds, default: 0)
* harvestedStack (BlockDropItemStack)
* harvestingSound (path from sounds folder)
* harvestedBlockCode (block code)
| bigberrybush, saguarocactus, smallberrybush, log-resin
|-
|-
| Ignitable || none || [[Json_block_behaviors_ignitable|Ignitable]]
| [[Json_block_behaviors_HeatSource|HeatSource]]
|
* heatStrength (float)
| boilingwater, lava, forge, firepit, pitkiln, coalpile, ember, fire
|-
|-
| UnstableFalling || none || [[Json_block_behaviors_UnstableFalling| Unstable Falling]]
| [[Json_block_behaviors_horizontalattachable|HorizontalAttachable]]
|
* handleDrops (bool, default: true)
* dropBlockFace (Compass Direction, default: "north")
* dropBlock (block name)
* attachmentAreas (side -> RotatableCube)
* attachmentArea (cuboid)
| tapestry, torchholder, mushroom, canvas, moldrack, painting, shelf, toolrack
|-
|-
| BreakIfFloating || none || [[Json_block_behaviors_BreakIfFloating| Break if Floating]]
| [[Modding:HorizontalOrientable_behavior|HorizontalOrientable]]
|
* dropBlockFace (Compass Direction, default: "North")
* drop (block name)
| agedwallpaperplanks, altar, bellows, bloomerybase, brake, cage, churn, clayoven, clutch, cokeovendoor, condenser, crank, creativerotor, helvehammerbase, jonas, labeledchest, metalpartpile, palisadestakes, palisadewall, pulverizerframe, resonator, skep, slantedroofing, slantedroofingcornerinner, slantedroofingcornerouter, statictranslocator, stationarybasket, stonecoffinsection, stove, trunk, verticalboiler, wagonwheels, windmillrotor, workbench
|-
|-
| CanIgnite || none || [[Json_block_behaviors_CanIgnite|Can Ignite]]
| [[Json_block_behaviors_HorizontalUpDownOrientable|HorizontalUpDownOrientable]] || - || -
|-
|-
| ExchangeOnInteract || exchangeStates (string array of block states) <br> sounds (path from sounds folder) || [[Json_block_behaviors_ExchangeOnInteract|Exchange On Interact]]
| [[Json_block_behaviors_ignitable|Ignitable]] || - || charcoalpit, clayoven, firepit
|-
|-
| OmniRotatable || rotateH (bool, default: false) <br> rotateV (bool, default: false) <br> rotatev4 (bool, default: false) <br> rotateSides (bool, default: false) <br> facing (string)|| [[Json_block_behaviors_OmniRotatable|Omni-Rotatable]]
| [[Json_block_behaviors_JonasBoilerDoor|JonasBoilerDoor]] || - || jonas
|-
|-
| Ladder || dropBlockFace (face direction, Default: north)|| [[Json_block_behaviors_Ladder|Ladder]]
| [[Json_block_behaviors_JonasGasifier|JonasGasifier]] || - || jonas
|-
|-
| PushEventOnBlockBroken || string EventName || [[Json_block_behaviors_PushEventOnBlockBroken|Push Event on Block Broken]]
| [[Json_block_behaviors_JonasHydraulicPump|JonasHydraulicPump]] || - || jonas
|-
|-
| RightClickPickup || none || [[Json_block_behaviors_RightClickPickup|Right Click Pickup]]
| [[Json_block_behaviors_Ladder|Ladder]]
|
* dropBlockFace (face direction, Default: north)
* isFlexible (bool, default: false)
| ladder
|-
|-
| SneakPlacing || none || [[Json_block_behaviors_SneakPlacing|Sneak Placing]]
| [[Json_block_behaviors_Lockable|Lockable]] || - || archimedesscrew, chest, chute, cokeovendoor, crate, door, hopper, irondoor, labeledchest, roughhewnfencegate, stationarybasket, storagevessel, trapdoor, trunk, woodenfencegate
|-
| [[Json_block_behaviors_MilkingContainer|MilkingContainer]] || - || woodbucket
|-
| [[Json_block_behaviors_Multiblock|Multiblock]]
|
* sizex
* sizey
* sizez
* type
* cposition
| jonas, riftward, verticalboiler, banner, trunk, painting
|-
| [[Json_block_behaviors_MyceliumHost|MyceliumHost]] || - || creativegrass, forestfloor, log, soil
|-
| [[Json_block_behaviors_NoParticles|NoParticles]] || - || claybrickchimney
|-
| [[Json_block_behaviors_NWOrientable|NWOrientable]] || - || bookshelves (legacy), claybrickchimney, fruitpress, fruitpresstop, mannequin, slantedroofingridge, transmission, trough, woodenpath, woodentoggle
|-
| [[Json_block_behaviors_OmniAttachable|OmniAttachable]]
|
* facingCode (string, default: orientation)
* attachmentAreas (side -> RotatableCube)
| crystal, lantern
|-
| [[Json_block_behaviors_OmniRotatable|OmniRotatable]]
|
* rotateH (bool, default: false)
* rotateV (bool, default: false)
* rotateV4 (bool, default: false)
* rotateSides (bool, default: false)
* facing (string, "block" or "player", default: "player")
* dropChance(float, default: 1)
| brickslabs, clayshinglelabs, cobblestoneslab, glassslab, mudbrickslab, plankslab, polishedrockslab, quartzslab, stonebrickslab, trapdoor
|-
| [[Json_block_behaviors_pillar|Pillar]]
|
* invertedPlacement (bool, default: false)
| carvedlog, debarkedlog, hay, log, lognarrow, planks, plaster, quartzpillar, stackedbamboo, woodenaxle
|-
| [[Json_block_behaviors_Pumpkin|Pumpkin]]
|
* vineGrowthStage(int)
* vineGrowthQuantity(NatFloat)
| crop
|-
| [[Json_block_behaviors_PushEventOnBlockBroken|PushEventOnBlockBroken]]
|
* eventName (string)
| bamboo, bambooleaves, leaves, leavesbranchy, leavesnarrow, log, lognarrow, logsection
|-
| [[Json_block_behaviors_RainDrip|RainDrip]] || - || -
|-
| [[Json_block_behaviors_Reinforcable|Reinforcable]] || - || -
|-
| [[Json_block_behaviors_RightClickPickup|RightClickPickup]]
|
* dropsPickupMode (bool, default: false)
* sound (path from sounds folder)
* placeSound (path from sounds folder)
| basereturnteleporter, bowl, bowl-meal, clayplanter, claypot, crock, crucible, egg, flowerpot, ingotmold, jug, lantern, looseflints, looseores, loosestick, loosestones, metal, oillamp, pan, pie, pineapple, pumpkin, seashell, storagevessel, toolmold, wateringcan, woodbucket
|-
| [[Json_block_behaviors_RopeTieable|RopeTieable]] || - || roughhewnfence, woodenfence
|-
| [[Json_block_behaviors_slab|Slab]] || - || -
|-
| [[Json_block_behaviors_Steaming|Steaming]] || - || boilingwater
|-
| [[Json_block_behaviors_SneakPlacing|SneakPlacing]] || - || pan, pie, wateringcan
|-
| [[Json_block_behaviors_Unplaceable|Unplaceable]] || - || bloomerychimney, bowl, bowl-meal, clayplanter, claypot, crock, crucible, flowerpot, ingotmold, jug, metal, pineapple, pumpkin, storagevessel, toolmold, wateringcan
|-
| [[Json_block_behaviors_Unstable|Unstable]]
|
* attachedToFaces (default: down)
* attachmentAreas (side -> RotatableCube)
| bunchocandles, crop, deadcrop, firepit, oreblastingbomb, silvertorchcactus, verticalboiler, wildbeehive, woodenpath, woodenrails
|-
| [[Json_block_behaviors_UnstableFalling|UnstableFalling]]
|
* attachableFaces (string array)
* attachmentArea (cuboid)
* attachmentAreas (side -> RotatableCube)
* ignorePlaceTest (bool, default: false)
* exceptions (block code array)
* fallSideways (bool, default: false)
* dustIntensity (float, default: 0)
* fallSidewaysChance (float, default: 0.3)
* fallSound (path from sounds folder)
* impactDamageMul (float, default 1)
| anvil, anvilpart, barrel, barrelcactus, bloomerychimney, bonyremains, bonysoil, carcass, chair, chandelier, cheese, churn, clayplanter, coalpile, dirtygravel, displaycase, drycarcass, egg, flowerpot, gravel, groundstorage, ingotmold, knappingsurface, lightningrod, looseboulders, looseflints, loosegears, looseores, loosestick, loosestones, lootvessel, metal, metalpartpile, muddygravel, oillamp, omoktabletop, pan, pie, quern, sand, seashell, sieve, sludgygravel, snowlayer, stonecoffinlid, storagevessel, table, talldisplaycase, toolmold, wateringcan, woodbucket
|-
| [[Json_block_behaviors_WrenchOrientable|WrenchOrientable]]
|
* hideInteractionHelpInSurvival (bool, default: false)
* baseCode (string)
| banner, brickslabs, brickstairs, carvedlog, chute, clayshinglelabs, clayshinglestairs, clutter, cobblestoneslab, cobblestonestairs, debarkedlog, glassslab, jonas, log, mudbrickslab, planks, plankslab, plankstairs, plaster, polishedrockslab, quartzpillar, quartzslab, quartzstairs, stonebrickslab, stonebrickstairs, stonepathstairs
|-
| [[Json_block_behaviors_WorldEditFixGhostBlockPlace|WorldEditFixGhostBlockPlace]] || - || -
|}
|}
{{Navbox/modding|Vintage Story}}
Confirmedusers
261

edits