Namespace Vintagestory.GameContent
Classes
- AlloyRecipe
This is used to define what metals can be mixed together to create another type of metal inside of a crucible. Open in GitHub
- AttributeAttachableToEntity
A set of properties that make a collectible attachable to an entity Open in GitHub
- BarrelOutputStack
Defines an output for use in a BarrelRecipe. This object takes most of its properties from the JsonItemStack class. Open in GitHub
- BarrelRecipe
Creates a recipe for use inside a barrel. Primarily used to craft with liquids. Open in GitHub
- BarrelRecipeIngredient
Defines an ingredient for use in a BarrelRecipe. Open in GitHub
- BEBehaviorAnimatable
Makes block animatable. This behavior has no properties. Defined with the "Animatable" code. Open in GitHub
- BEBehaviorAttractsLightning
Redirects nearby lightning strikes to this block if it is exposed to the sky and is higher than nearby blocks. Defined with the "AttractsLightning" code. Open in GitHub
- BEBehaviorAttractsLightning.ConfigurationProperties
Properties of block that redirects lightning strikes. Used by BEBehaviorAttractsLightning.
- BEBehaviorBurning
Makes this block a source of fire that can ignite nearby blocks and entities. This behavior has no properties. Defined with the "Burning" code. Open in GitHub
- BEBehaviorDoor
A block entity behavior for a door. Requires BlockBehaviorDoor on a block to work. Defined with the "Door" code. Open in GitHub
- BEBehaviorDoorBarLock
A block entity behavior for a locked door. Requires BlockBehaviorDoor on a block to work. Defined with the "DoorBarLock" code. Open in GitHub
- BEBehaviorElevatorControl
Used in combination with the BlockBehaviorElevatorControl to create an elevator. Defined with the "ElevatorControl" code, and has no properties. Open in GitHub
- BEBehaviorFirepitAmbient
Makes this block play ambient firepit sounds or music depending on specific conditions. Defined with the "FirepitAmbient" code, and has no properties. Open in GitHub
- BEBehaviorTemperatureSensitive
For block entities that need to react to external influences that affect temperature or burn characteristics/ Defined with the "TemperatureSensitive" code, and has no properties. Open in GitHub
- BEBehaviorTrapDoor
A block entity behavior for a trapdoor. Requires BlockBehaviorTrapDoor on a block to work. Defined with the "TrapDoor" code. Open in GitHub
- BlockBehaviorBreakIfFloating
Forces the Block to drop as an item when surrounded by air blocks. It will override drops returned by the Block when this happens. Uses the code "BreakIfFloating". This behavior doesn't use any properties. Open in GitHub
- BlockBehaviorBreakSnowFirst
A simple block behavior that breaks a snow cover first, before breaking the block. Uses the code "BreakSnowFirst". This behavior has no properties. Open in GitHub
- BlockBehaviorCanAttach
Allows some other blocks, such as torches, to be attached onto specific sides of this block. Uses the code "CanAttach". Open in GitHub
- BlockBehaviorCanIgnite
Used if the attached block can ignite other blocks with Shift + Right Click. This behavior uses the code "CanIgnite", and has no properties. Open in GitHub
- BlockBehaviorChimney
If this block is placed directly above a smoke emitter (such as a firepit or pit kiln), smoke particles will be emitted. Uses the code "chimney" and has no properties. Open in GitHub
- BlockBehaviorContainer
Specifies that this block works as a container. Note that it requires a block entity class which implements BlockEntityOpenableContainer. Used with the code "Container". This behavior does not use any properties. Open in GitHub
- BlockBehaviorCreatureContainer
Allows a creature to be contained inside of this block, as well as catching and releasing the entity. Note that this behavior is built around use with the reed chest, and may have unexpected results with other blocks. This behavior uses the code "CreatureContainer", and has no properties. Open in GitHub
- BlockBehaviorDecor
Allows this block to be placed on the side of another block, as a decorational shape/texture. Uses the code "decor". Open in GitHub
- BlockBehaviorDoor
A block behavior for a door. Also requires the "door" block entity behavior type on a block to work. Defined with the "Door" code. Open in GitHub
- BlockBehaviorDropNotSnowCovered
Drops the non-snow-covered block, when the snow covered version one is destroyed. This behavior uses the "DropNotSnowCovered" code, and has no properties. Open in GitHub
- BlockBehaviorElevatorControl
Used in combination with the "BEBehaviorElevatorControl" to create an elevator. Uses the code "ElevatorControl", and has no properties. Open in GitHub
- BlockBehaviorExchangeOnInteract
Allows a block to swap between a set of states on activation. Note that this behavior has some small hardcoding for legacy trapdoors. This behavior is used with the code "ExchangeOnInteract". Open in GitHub
- BlockBehaviorFiniteSpreadingLiquid
Used to create a liquid which distrubutes itself over an area, and has interaction with other liquids. Uses the "FiniteSpreadingLiquid" code. Open in GitHub
- BlockBehaviorGiveItemPerPlayer
Passes functions through to the Vintagestory.GameContent.BEBehaviorGiveItemPerPlayer block entity behavior. Therefore, requires that. Uses the "GiveItemPerPlayer" code. Open in GitHub
- BlockBehaviorGroundUnplaceable
Disallows standard placement for this block on up faces only. If a previous listed behavior allows a special placement method (see Vintagestory.GameContent.CollectibleBehaviorGroundStorable), then that method will be allowed. Uses the "unplaceable" code. This behavior has no properties. Open in GitHub
- BlockBehaviorHarvestable
Allows a block to be harvested with the right mouse button for set items. Uses the code "harvestable". Open in GitHub
- BlockBehaviorHeatSource
Allows this block to work as a heat source for entities. BlockEntities for a block with this behavior may also define their own custom heat strength. Uses the code "HeatSource". Open in GitHub
- BlockBehaviorHorizontalAttachable
Forces a block to only allow placement on the side of another block. Requires use of the "horizontalorientation" variant group. Uses the code "HorizontalAttachable". Open in GitHub
- BlockBehaviorHorizontalOrientable
Allows a block to automatically rotate between the four horizontal directions based on placement angle. Requires use of the "horizontalorientation" variant group. Uses the "HorizontalOrientable" code. Open in GitHub
- BlockBehaviorJonasBoilerDoor
Provides interaction for the JonasBoilerDoor block entity behavior. Uses the "JonasBoilerDoor" code. This behavior has no properties. Open in GitHub
- BlockBehaviorJonasGasifier
Passes functions to the Vintagestory.GameContent.BEBehaviorJonasGasifier block entity behavior, and therefore requires that. Uses the code "JonasGasifier". This behavior has no properties. Open in GitHub
- BlockBehaviorJonasHydraulicPump
Passes functions to the Vintagestory.GameContent.BEBehaviorJonasHydraulicPump block entity behavior, and therefore requires that. Uses the code "JonasHydraulicPump". This behavior has no properties. Open in GitHub
- BlockBehaviorLadder
Used to control ladder behavior, including horizontal orientation, placement, collection. Note that this does not control how entities react to ladders (see "climbable" in blocktype). Requires use of the 'horizontalorientation' variants. Uses the code "Ladder". Open in GitHub
- BlockBehaviorLockable
Allows a block to be locked by a player with a padlock, preventing any interaction from any other players. Uses the "lockable" code. This behavior has no properties. Open in GitHub
- BlockBehaviorMilkingContainer
Allows a block to be used as a container for milking an entity. Must be on a block that has the "BlockLiquidContainerBase" class. Uses the code "MilkingContainer", and has no properties. Open in GitHub
- BlockBehaviorMultiblock
Turns this block into a multiblock, allowing it to be larger than a single block. By default, all blocks will have the same properties. If you need different properties or functionality for each block section, you will need to use a new block class. Uses the code "Multiblock". Open in GitHub
- BlockBehaviorMyceliumHost
Allows a block to have mushrooms naturally spawn on it. Uses the code "MyceliumHost", and has no properties. Open in GitHub
- BlockBehaviorNWOrientable
Automatically swaps between 'North/South' and 'West/East' variants based on placement rotation. Requires an "orientation" or "side" variant with the codes "ns" and "we". Uses the code "NWOrientable", and has no properties. Open in GitHub
- BlockBehaviorOmniAttachable
Allows a block to be attached to any face, including vertical faces. Requires states from "abstract/horizontalorientation", as well as additional "up" and "down" states. Uses the code "OmniAttachable". Open in GitHub
- BlockBehaviorPillar
Used to rotate a block that has a 'top' face, such as a wooden log. Requires a "rotation" variant group with "ud", "ns", "we" states. Uses the "pillar" code. Open in GitHub
- BlockBehaviorPushEventOnBlockBroken
Publishes the BlockPos when a Block is broken with the given event name. Likely used in tandem with code mods. Uses the "PushEventOnBlockBroken" code. Open in GitHub
- BlockBehaviorRainDrip
Makes a block emit rain particles during or after rainy weather. Uses the "RainDrip" code. This behavior has no properties. Open in GitHub
- BlockBehaviorReinforcable
Allows a block to be reinforced, which protects against it being broken as quickly. Appropriate blocks are automatically given this behavior. This behavior is not added through the normal property, but instead a custom attribute. This behavior has no properties. You can add the "reinforcable" attribute to force an object to be reinforcable. Open in GitHub
- BlockBehaviorReparable
Blocks which can be repaired using glue. If not repaired, they will shatter (dropping nothing) when broken. Requires use of the ShapeFromAttributes block entity behavior. Uses the code "Reparable". Open in GitHub
- BlockBehaviorRightClickPickup
Allows a block to be picked up with a right click. Uses the code "RightClickPickup". Open in GitHub
- BlockBehaviorRopeTieable
Allows rope to be tied to this block. This behavior does not have any specific JSON properties. This block behavior uses the code "RopeTieable". Open in GitHub
- BlockBehaviorSlab
Unused block behavior for slab placement. Consider using BlockBehaviorOmniRotatable instead. Uses the "slab" code. This behavior has no properties. Open in GitHub
- BlockBehaviorSneakPlacing
Forces a block to only allow to be placed when the player is sneaking. Uses the code "SneakPlacing". This behavior has no properties. Open in GitHub
- BlockBehaviorSnowballable
Allows a block to have snowballs taken from it. Many blocks automatically receive this behavior if they have a snow layer or the SnowballableDecrementedBlockCode attribute. Uses the code 'Snowballable'. Open in GitHub
- BlockBehaviorSteaming
Makes a block emit steam particles, and also marks some water blocks as 'boiling'. Uses the code "Steaming". This behavior has no properties. Open in GitHub
- BlockBehaviorTransformBreak
When a block with this behavior is broken. it will turn into another specified block instead of air. This block behavior uses the code "TransformBreak". Open in GitHub
- BlockBehaviorTrapDoor
Marks a block as an animated trapdoor. Requires the use of the BEBehaviorTrapDoor block entity behavior. Uses the "TrapDoor" code. Open in GitHub
- BlockBehaviorUnplaceable
Disallows standard placement for this block. If a previous listed behavior allows a special placement method (see Vintagestory.GameContent.CollectibleBehaviorGroundStorable), then that method will be allowed. Uses the "unplaceable" code. This behavior has no properties. Open in GitHub
- BlockBehaviorUnstable
Only allows a block to exist if it is attached to another block. Uses the code "unstable". Open in GitHub
- BlockBehaviorUnstableFalling
Spawns an EntityBlockFalling when the user places a block that has air underneath it or if a neighbor block is removed and causes air to be underneath it. Also has optional functionality to prevent a block being placed if it is unstable. Uses the code "UnstableFalling". Open in GitHub
- BlockBehaviorUnstableRock
Makes a block potentially unstable, but can be held up using support beams. This behavior will only function if the "caveIns" world config is set to true. Uses the code "UnstableRock". Open in GitHub
- BlockBehaviorWrenchOrientable
Allows a block to cycle through variants when using a wrench. Uses the code "WrenchOrientable". Open in GitHub
- BlockEntityBehaviorCoverable
Allows this block to be covered by cubic blocks or blocks with specific attributes. This behavior has no properties. Requires BlockBehaviorCoverable. Defined with the "Coverable" code. Open in GitHub
- ClayFormingRecipe
Creates a recipe that can be created using clay. This class takes all of its properties from the LayeredVoxelRecipe<T> class. Open in GitHub
- CookingRecipe
Defines a recipe to be made using a cooking pot. Creating a new recipe for a cooking pot will automatically register the new meal item, unless using CooksInto. Open in GitHub
- CookingRecipeIngredient
An ingredient for a CookingRecipe. Note that each ingredient can have multiple valid itemstacks that satisfy the ingredient. Open in GitHub
- CookingRecipeStack
An itemstack specific for a CookingRecipeIngredient. Most properties are extended from JsonItemStack. Open in GitHub
- EntityBehaviorAimingAccuracy
Affects accuracy of ranged weapon that entity is currently using. This class has no further properties.
Uses the "aimingaccuracy" code Open in GitHub
- EntityBehaviorAntlerGrowth
Grow antlers on entity and drop them seasonally.
Uses the "antlergrowth" code Open in GitHub
- EntityBehaviorAttachable
Allows to attach specific items to entity.
Requires EntityBehaviorSelectionBoxes
Uses the "attachable" code Open in GitHub
- EntityBehaviorBodyTemperature
Makes entity gradually receive frost damage when outside temperature is below its body temperature.
Uses the "bodytemperature" code Open in GitHub
- EntityBehaviorBoss
Stores some properties of boss for use in other behaviors.
Uses the "boss" code Open in GitHub
- EntityBehaviorBreathe
Makes entity receive damage from suffocation upon depleting its oxygen.
Uses the "breathe" code Open in GitHub
- EntityBehaviorCollectEntities
Allows entity to pick dropped items up. This class has no further properties.
Uses the "collectitems" code Open in GitHub
- EntityBehaviorCommandable
Allows the entity to be commanded by its owner to sit or follow them. This class has no further properties.
Uses the "commandable" code Open in GitHub
- EntityBehaviorContainer
A type of entity behavior that can be used to hold an inventory. This is not a usable entity behavior, but other entity behaviors may used this. Open in GitHub
- EntityBehaviorControlledPhysics
Controlled physics system for entities.
Uses the "controlledphysics" code Open in GitHub
- EntityBehaviorDeadDecay
Decomposes dead entity.
Uses the "deaddecay" code Open in GitHub
- EntityBehaviorDespawn
Despawns entity on certain conditions
Uses the "despawn" code. Open in GitHub
- EntityBehaviorDrunkTyping
Turns text written by intoxicated player(s) into a gibberish. This class has no further properties.
Uses the "drunktyping" code Open in GitHub
- EntityBehaviorEllipsoidalRepulseAgents
Allows the entity to be pushed by or push other entities using an ellipsoidal repulsion area.
Uses the "ellipsoidalrepulseagents" code Open in GitHub
- EntityBehaviorEntityStateTags
Updates dynamically assigned entity tags that have 'state-' prefix.
Uses the "entitystatetags" code Open in GitHub
- EntityBehaviorExtraSkinnable
Used by the player entity to determine its customization options.
Requires EntityBehaviorTexturedClothing.
Uses the "extraskinnable" code Open in GitHub
- EntityBehaviorFloatUpWhenStuck
Makes entity float way up to the surface if it is stuck in blocks. Requires shape element named "Center" to work correctly.
Uses the "floatupwhenstuck" code Open in GitHub
- EntityBehaviorGait
Allows to define gaits of an entity.
Uses the "gait" code Open in GitHub
- EntityBehaviorGrow
Makes entity grow to the adult version.
Uses the "grow" code Open in GitHub
- EntityBehaviorHarvestable
Makes entity harvestable upon its death.
Uses the "harvestable" code Open in GitHub
- EntityBehaviorHealth
Adds health calculations to entity so that it can receive damage, die, get revived and get healed.
Uses the "health" code Open in GitHub
- EntityBehaviorHideWaterSurface
Hides water surface within shape. Useful for boats.
Uses the "hidewatersurface" code Open in GitHub
- EntityBehaviorHunger
Adds hunger to entity. Allows it to eat and die from starvation.
Uses the "hunger" code Open in GitHub
- EntityBehaviorIdleAnimations
Plays random animation from predefined list of idle animations when entity isn't moving or mounted on another entity.
Uses the "idleanimations" code Open in GitHub
- EntityBehaviorMilkable
Makes entity produce milk and so that it can be milked with liquid container. Requires the use of the EntityBehaviorMultiply, Vintagestory.GameContent.EntityBehaviorEmotionStates and Vintagestory.GameContent.EntityBehaviorTaskAI entity behaviors.
Uses the "milkable" code Open in GitHub
- EntityBehaviorMortallyWoundable
Allows entity to enter mortally wounded state upon depleting a set portion of its health. Makes creature immobile and unable to regenerate health. Can be recovered when healed by a player.
Uses the "mortallywoundable" code Open in GitHub
- EntityBehaviorMouthInventory
Adds one-slot inventory and displays the stored item on the entity.
Uses the "mouthinventory" code Open in GitHub
- EntityBehaviorMultiply
Allows an entity to get pregnant and give birth.
Uses the "multiply" code Open in GitHub
- EntityBehaviorMultiplyBase
Common code for egg-laying and live births: this is all connected with food saturation and cooldowns.
This behavior will not make entities have offspring. You will want to use a behavior that extends from this (See EntityBehaviorMultiply).
Uses the "multiplybase" code Open in GitHub
- EntityBehaviorNameTag
Displays name above entity.
Uses the "nametag" code Open in GitHub
- EntityBehaviorOpenableContainer
Adds inventory to entity that is opened upon interacting with it.
Uses the "openablecontainer" code Open in GitHub
- EntityBehaviorPettable
Allows entity to be petted.
Uses the "pettable" code Open in GitHub
- EntityBehaviorPlaceBlock
Allows an entity to randomly place blocks nearby over time.
Uses the "placeblock" code
Currently not used. Open in GitHub
- EntityBehaviorPlayerInventory
Implements the inventory of player and rendering of the clothing and armor the player is currently wearing.
Also handles dropping items/armor on death.
Uses the "playerinventory" code Open in GitHub
- EntityBehaviorPlayerPhysics
Client-side player physics. This class has no further properties.
Uses the "playerphysics" code Open in GitHub
- EntityBehaviorPlayerRevivable
Allows a player to be revived for a short period (30 in-game minutes by default) after their health is fully depleted, when another player interacts with them using a collectible that has the BehaviorHealingItem behavior.
Uses the "playerrevivable" code Open in GitHub
- EntityBehaviorRepulseAgents
Allows the entity to be pushed by or push other entities using a spherical/cylindrical repulsion area.
Uses the "repulseagents" code Open in GitHub
- EntityBehaviorReviveOnDeath
Revives the entity a period of time after its death.
Uses the "reviveondeath" code Open in GitHub
- EntityBehaviorRideable
Allows to ride an entity.
Requires EntityBehaviorSelectionBoxes, EntityBehaviorGait, Vintagestory.GameContent.EntityBehaviorTaskAI and optionally EntityBehaviorAttachable.
Uses the "rideable" code Open in GitHub
- EntityBehaviorRideableAccessories
Allows to attach specific items to entity.
Requires EntityBehaviorSelectionBoxes
If EntityBehaviorRideable is present, requires two attached items with isSaddle and isBridle attributes for entity to be ridden.
Uses the "rideableaccessories" code Open in GitHub
- EntityBehaviorRipHarvestable
Allows an entity to be harvested by attacking it with weapon that has "ripHarvest" attribute. Requires EntityBehaviorHarvestable. This class has no further properties.
Uses the "ripharvestable" code Open in GitHub
- EntityBehaviorRopeTieable
Allows entity to be tied with a rope.
Uses the "ropetieable" code Open in GitHub
- EntityBehaviorSelectionBoxes
Allows to define interactable hitboxes directly from entity shape elements.
Uses the "selectionboxes" code Open in GitHub
- EntityBehaviorSemiTamed
Causes an entity to not flee by default when near a player. Open in GitHub
- EntityBehaviorTexturedClothing
This allows an entity to have a clothing inventory that renders on top of the entity. Open in GitHub
- EntityBehaviorTiredness
Allows entity to rest.
Uses the "tiredness" code Open in GitHub
- EntityBehaviorWritingSurface
Adds writeable surface to entity.
Uses the "writingsurface" code Open in GitHub
- GaitMeta
Controls how a gait should be used. Also uses properties from AnimationMetaData Open in GitHub
- KnappingRecipe
Defines a stone/flint knapping recipe. Uses all properties from LayeredVoxelRecipe<T>, however always uses a single layer. Open in GitHub
- MetalAlloyIngredient
Defines an ingredient for a AlloyRecipe recipe. Open in GitHub
- SkinnablePart
A part that is applied to player's shape, voice or textures during customization Open in GitHub
- SkinnablePartVariant
A variant of skin part Open in GitHub
- SmithingRecipe
Defines a smithing recipe, to be created on an anvil. Uses a total of 6 layers, and gets its properties from LayeredVoxelRecipe<T>. Open in GitHub
- StepParentElementTo
Specifies a parent shape element to attach model to.
Optionally, you can also define a custom transform that is applied relative to the parent element Open in GitHub
- TextAreaConfig
Font settings for signs and other writeable surfaces Open in GitHub
- WearableSlotConfig
An entity can provide seats and slots
A slot however if filled with a chair can also provide a seat
Or a slot can also be configured to be usable as a seat if empty Open in GitHub
Enums
- EnumSkinnableType
A type of player skin part Open in GitHub