Modding:Json Block Behaviors: Difference between revisions
From Vintage Story Wiki
Lazy Warlock (talk | contribs) |
Lazy Warlock (talk | contribs) |
||
Line 9: | Line 9: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Behavior Name !! Additional Properties !! | ! Behavior Name !! Additional Properties !! Example Blocks !! Detail link | ||
|- | |- | ||
| BreakIfFloating || none || rock || [[Json_block_behaviors_BreakIfFloating| Break if Floating]] | | BreakIfFloating || none || rock || [[Json_block_behaviors_BreakIfFloating| Break if Floating]] | ||
Line 25: | Line 25: | ||
| Harvestable || none || bigberrybush, smallberrybush ||[[Json_block_behaviors_Harvestable|Harvestable]] | | Harvestable || none || bigberrybush, smallberrybush ||[[Json_block_behaviors_Harvestable|Harvestable]] | ||
|- | |- | ||
| HorizontalAttachable || handleDrops (bool, default: true) || painting, shelf ||[[Json_block_behaviors_horizontalattachable|Horizontal Attachable]] | | HorizontalAttachable || handleDrops (bool, default: true) || painting, shelf, toolrack ||[[Json_block_behaviors_horizontalattachable|Horizontal Attachable]] | ||
|- | |- | ||
| HorizontalOrientable || dropBlockFace (Compass Direction, default: "North") <br> dropBlock (block name) || bloomerybase, skep || [[Json_block_behaviors_horizontalorientable|Horizontal Orientable]] | | HorizontalOrientable || dropBlockFace (Compass Direction, default: "North") <br> dropBlock (block name) || bloomerybase, chest, skep || [[Json_block_behaviors_horizontalorientable|Horizontal Orientable]] | ||
|- | |- | ||
| HorizontalUpDownOrientable || none || - || [[Json_block_behaviors_HorizontalUpDownOrientable| Horizontal Up/Down Orientable]] | | HorizontalUpDownOrientable || none || - || [[Json_block_behaviors_HorizontalUpDownOrientable| Horizontal Up/Down Orientable]] | ||
Line 41: | Line 41: | ||
| OmniAttachable || facingPos (int, default: 1)|| lantern || [[Json_block_behaviors_OmniAttachable|Omni-Attachable]] | | OmniAttachable || facingPos (int, default: 1)|| lantern || [[Json_block_behaviors_OmniAttachable|Omni-Attachable]] | ||
|- | |- | ||
| 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]] | | OmniRotatable || rotateH (bool, default: false) <br> rotateV (bool, default: false) <br> rotatev4 (bool, default: false) <br> rotateSides (bool, default: false) <br> facing (string) || all slabs || [[Json_block_behaviors_OmniRotatable|Omni-Rotatable]] | ||
|- | |- | ||
| Pillar || none || [[Json_block_behaviors_pillar|Pillar]] | | Pillar || none || axle, log || [[Json_block_behaviors_pillar|Pillar]] | ||
|- | |- | ||
| PushEventOnBlockBroken || string EventName || [[Json_block_behaviors_PushEventOnBlockBroken|Push Event on Block Broken]] | | PushEventOnBlockBroken || string EventName || - ||[[Json_block_behaviors_PushEventOnBlockBroken|Push Event on Block Broken]] | ||
|- | |- | ||
| RightClickPickup || none || bucket, toolmold || [[Json_block_behaviors_RightClickPickup|Right Click Pickup]] | | RightClickPickup || none || bucket, toolmold || [[Json_block_behaviors_RightClickPickup|Right Click Pickup]] | ||
|- | |- | ||
| Slab || none || plankslab, cobbleslab || [[Json_block_behaviors_slab|Slab]] | | Slab || none || plankslab, cobbleslab (all slabs) || [[Json_block_behaviors_slab|Slab]] | ||
|- | |- | ||
| SneakPlacing || none || [[Json_block_behaviors_SneakPlacing|Sneak Placing]] | | SneakPlacing || none || crock ||[[Json_block_behaviors_SneakPlacing|Sneak Placing]] | ||
|- | |- | ||
| Unplaceable || none || [[Json_block_behaviors_Unplaceable|Unplaceable]] | | Unplaceable || none || pan || [[Json_block_behaviors_Unplaceable|Unplaceable]] | ||
|- | |- | ||
| Unstable || attachedToFaces (default: down) || [[Json_block_behaviors_Unstable|Unstable]] | | Unstable || attachedToFaces (default: down) || all crops || [[Json_block_behaviors_Unstable|Unstable]] | ||
|- | |- | ||
| UnstableFalling || none || [[Json_block_behaviors_UnstableFalling| Unstable Falling]] | | UnstableFalling || none || anvil, gravel, sand || [[Json_block_behaviors_UnstableFalling| Unstable Falling]] | ||
|} | |} | ||
{{Navbox/modding|Vintage Story}} | {{Navbox/modding|Vintage Story}} |
Revision as of 06:37, 30 April 2020
Adding behaviors to your block
Block behaviors are an array of objects with properties attached to your block. Below is an example of two behaviors, one with properties and one without properties.
behaviors: [{name: "behavior1", properties: {myProperty1: "myValue1", myProperty2: "myValue2"}},{name: "behavior2"}],
All Block Behaviors
Here is a table containing all properties of the base game as of 1.9.
Behavior Name | Additional Properties | Example Blocks | Detail link |
---|---|---|---|
BreakIfFloating | none | rock | Break if Floating |
CanIgnite | none | torch | Can Ignite |
CollectFrom | none | henbox | Collect From |
Container | none | barrel, chest | Container |
ExchangeOnInteract | exchangeStates (string array of block states) sounds (path from sounds folder) |
trapdoor | Exchange On Interact |
FiniteSpreadingLiquid | liquidCollisionSound (path from sounds folder) sourceReplacementCode (block code) flowingReplacementCode (block code) collidesWith (other liquid) spreadDelay (int, default: 150) |
water, lava | Finite Spreading Liquid |
Harvestable | none | bigberrybush, smallberrybush | Harvestable |
HorizontalAttachable | handleDrops (bool, default: true) | painting, shelf, toolrack | Horizontal Attachable |
HorizontalOrientable | dropBlockFace (Compass Direction, default: "North") dropBlock (block name) |
bloomerybase, chest, skep | Horizontal Orientable |
HorizontalUpDownOrientable | none | - | Horizontal Up/Down Orientable |
Ignitable | none | - | Ignitable |
Ladder | dropBlockFace (face direction, Default: north) | ladder | Ladder |
NoParticles | none | - | No Particles |
NWOrientable | none | chimney, mannequin, path | North/West Orientable |
OmniAttachable | facingPos (int, default: 1) | lantern | Omni-Attachable |
OmniRotatable | rotateH (bool, default: false) rotateV (bool, default: false) rotatev4 (bool, default: false) rotateSides (bool, default: false) facing (string) |
all slabs | Omni-Rotatable |
Pillar | none | axle, log | Pillar |
PushEventOnBlockBroken | string EventName | - | Push Event on Block Broken |
RightClickPickup | none | bucket, toolmold | Right Click Pickup |
Slab | none | plankslab, cobbleslab (all slabs) | Slab |
SneakPlacing | none | crock | Sneak Placing |
Unplaceable | none | pan | Unplaceable |
Unstable | attachedToFaces (default: down) | all crops | Unstable |
UnstableFalling | none | anvil, gravel, sand | Unstable Falling |
![Icon Sign.png](/images/thumb/1/15/Icon_Sign.png/32px-Icon_Sign.png)
Wondering where some links have gone?
The modding navbox is going through some changes! Check out Navigation Box Updates for more info and help finding specific pages.
Modding | |
---|---|
Modding Introduction | Getting Started • Theme Pack |
Content Modding | Content Mods • Developing a Content Mod • Basic Tutorials • Intermediate Tutorials • Advanced Tutorials • Content Mod Concepts |
Code Modding | Code Mods • Setting up your Development Environment |
Property Overview | Item • Entity • Block • Block Behaviors • Block Classes • Block Entities • Block Entity Behaviors • World properties |
Workflows & Infrastructure | Modding Efficiency Tips • Mod-engine compatibility • Mod Extensibility • VS Engine |
Additional Resources | Community Resources • Modding API Updates • Programming Languages • List of server commands • List of client commands • Client startup parameters • Server startup parameters Example Mods • API Docs • GitHub Repository |