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
- 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
- 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
- BlockBehaviorCollectFrom
When this block is right clicked, harvest its drops and replace it with an empty version. Uses the code "CollectFrom". This behavior has no properties.
Note that this behavior requires a variant which ends in "-empty", and also requires at least two drops. The first drop should be the item to collect, the second drop is the block itself. See 'henbox.json' for an example. 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 BEBehaviorGiveItemPerPlayer block entity behavior. Therefore, requires that. Uses the "GiveItemPerPlayer" code. 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 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 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 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
- 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
- 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
- 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