Modding:Block Classes: Difference between revisions

From Vintage Story Wiki
(Created page with "== Using block classes == Sometimes a block requires additional functionality that can't be accomplished with a JSON. Doing so requires a block to utilize a C# class, which us...")
 
m (VeryGoodDog moved page Block Classes to Modding:Block Classes)
 
(25 intermediate revisions by one other user not shown)
Line 1: Line 1:
== Using block classes ==
== Using block classes ==
Sometimes a block requires additional functionality that can't be accomplished with a JSON. Doing so requires a block to utilize a C# class, which uses the following format in the JSON:
Sometimes a block requires additional functionality that can't be accomplished with a JSON. Doing so requires a block to utilize a C# class, which uses the following format in the JSON:
<syntaxhighlight lang="json">
  behaviors: [{name: "behavior1", properties: {myProperty1: "myValue1", myProperty2: "myValue2"}},{name: "behavior2"}],
</syntaxhighlight>


<code>class: "BlockClass"</code>


Editing Json:block:behaviors (section)
A majority of all block classes can be viewed [https://github.com/anegostudios/vssurvivalmod/tree/master/Block here] in the Vintage Story Github for those looking to learn more about how each works.
Jump to navigationJump to search
 
AdvancedSpecial charactersHelpHeading
Additionally, mechanical blocks classes are stored [https://github.com/anegostudios/vssurvivalmod/tree/master/Systems/MechanicalPower/Block here].
FormatInsert
 
== All Block Behaviors ==
== All Block Classes ==
Here is a table containing all classes used by blocks as of version 1.9.+
Here is a table containing all classes used by blocks as of version 1.9.+
{| class="wikitable"
{| class="wikitable"
|-
|-
! Behavior Name !! Example Blocks !! Description !!
! Class Name !! Example Blocks !! Description !! Github Link
|-
| Block || most regular blocks || A standard block class that almost all blocks utilize or inherit. || [https://github.com/anegostudios/vsapi/blob/master/Common/Collectible/Block/Block.cs Block Class]
|-
| BlockAnvil || anvil || Used by the anvil || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockAnvil.cs Anvil Class ]
|-
| BlockBamboo || bamboo || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockBamboo.cs Bamboo Class ]
|-
| BlockBarrel || barrel || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockBarrel.cs Barrel Class ]
|-
| BlockBed|| bed || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockBed.cs Bed Class ]
|-
| BlockBeehive|| wildbeehive || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockBeehive.cs Wild Beehive Class ]
|-
| BlockBigBerryBush || smallberrybush, largeberrybush || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockBigBerryBush.cs Berry Bush Class ]
|-
| BlockBloomery || bloomerybase || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockBloomery.cs Bloomery Class ]
|-
| BlockBomb || oreblastingbomb || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockBomb.cs Bomb Class ]
|-
| BlockBowl || bowl|| - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Systems/Cooking/BlockBowl.cs Bowl Class ]
|-
| BlockBucket || bucket|| - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockBucket.cs Bucket Class ]
|-
| BlockBunchOCandles || bunchocandles || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Item/ItemCandle.cs Candle Class ]
|-
| BlockCactus || saguarocactus || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockCactus.cs Cactus Class ]
|-
| BlockCanvas || canvas || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockCanvas.cs Canvas Class ]
|-
| BlockChandelier || chandelier|| - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockChandelier.cs Chandelier Class ]
|-
| BlockChisel || chiseledblock || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockChisel.cs Chiseled Class ]
|-
| BlockClayForm || clayform|| - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockClayForm.cs Clay Form Class ]
|-
| BlockCookedContainer || pot || A container that has finished cooking its contents and is ready to be taken from etc. || [https://github.com/anegostudios/vssurvivalmod/blob/master/Systems/Cooking/BlockCookedContainer.cs Cooked Container Class ]
|-
| BlockCookingContainer || pot || A container that has not finished cooking its contents (if any). || [https://github.com/anegostudios/vssurvivalmod/blob/master/Systems/Cooking/BlockCookingContainer.cs Cooking Container Class ]
|-
| BlockCrock || crock || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockCrock.cs Crock Class ]
|-
| BlockCrystal || crystallargecluster, crystalsmall || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockCrystal.cs Crystal Class ]
|-
| BlockDisplayCase || displaycase || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockDisplayCase.cs Display Case Class ]
|-
| BlockDoor || door, irondoor || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockDoor.cs Door Class ]
|-
| BlockEchoChamber || echochamber || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockEchoChamber.cs Echo Chamber Class ]
|-
| BlockFarmland || farmland || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockFarmland.cs Farmland Class ]
|-
| BlockFence || fence, ironfence || Used to change the shape based off of nearby attachable surfaces. Requires shape variants for every horizontal orientation. || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockFence.cs Fence Class ]
|-
| BlockFenceGate || fencegate || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockFenceGate.cs Fence Gate Class ]
|-
| BlockFirepit || firepit || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockFirepit.cs Firepit Class ]
|-
| BlockFirewoodPile || firewoodpile|| - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockFirewoodPile.cs Firewood Pile Class ]
|-
| BlockFlowerPot || flowerpot, planter || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockFlowerPot.cs Flower Pot Class ]
|-
| BlockForge || forge || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockForge.cs Forge Class ]
|-
| BlockFullCoating || saltpeter || Used to make a block which coats all flat surfaces when placed. Requires shape variants for every possible orientation. || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockFullCoating.cs Full Coating Class ]
|-
|-
| Block || most regular blocks || A standard block class that almost all blocks utilize or inherit.
| BlockGenericTypedContainer || chest, storagevessel, stationarybasket || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockGenericTypedContainer.cs Generic Container Class ]
|-
|-
| BlockAnvil || anvil || Used by the anvil || Anvil Class
| BlockGlowworms || glowworms || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockGlowworms.cs Glowworms Class ]
|-
|-
| BlockBamboo || bamboo || - || Bamboo Class
| BlockHopper|| hopper || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockHopper.cs Hopper Class ]
|-
|-
| BlockBarrel || barrel || - || Barrel Class
| BlockIngotMold || ingotmold || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockIngotMold.cs Ingot Mold Class ]
|-
|-
| BlockBed|| bed || - || Bed Class
| BlockIngotPile || ingotpile || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockIngotPile.cs Ingot Pile Class ]
|-
|-
| BlockBeehive|| wildbeehive || - || Wild Beehive Class
| BlockKnappingSurface || knappingsurface || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockKnappingSurface.cs Knapping Surface Class ]
|-
|-
| BlockBerryBush|| smallberrybush, largeberrybush || - || Berry Bush Class
| BlockLabeledChest || chest-labeled || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockLabeledChest.cs Labeled Chest Class ]
|-
|-
| BlockBloomery || bloomerybase || - || Bloomery Class
| BlockLantern || lantern || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockLantern.cs Lantern Class ]
|-
|-
| BlockBomb || oreblastingbomb || - || Bomb Class
| BlockLava || lava || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockLava.cs Lava Class ]
|-
|-
| BlockBowl || bowl|| - || Bowl Class
| BlockLayered || snow || A generic class that can be layered. Requires a variant for each height. || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockLayered.cs Layered Block Class ]
|-
|-
| BlockBucket || bucket|| - || Bucket Class
| BlockLayeredSlowDig || charcoalpile || A version of the layered class that is much slower to dig. || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockLayeredSlowDig.cs Layered Block Class (slow dig) ]
|-
|-
| BlockBunchOCandles || bunchocandles || - || Candle Class
| BlockLeaves || leaves, leavesbranchy || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockLeaves.cs Leaves Class ]
|-
|-
| BlockCactus || saguarocactus || - || Cactus Class
| BlockLocustNest || cage (locustnest) || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockLocustNest.cs Locust Nest Class ]
|-
|-
| BlockCanvas || canvas || - || Canvas Class
| BlockLog || log || Only contains code for OnPickBlock method. || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockLog.cs Lava Class ]
|-
|-
| BlockChandelier || chandelier|| - || Chandelier Class
| BlockLooseGears || loosegears || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockLooseGears.cs Loose Gears Class ]
|-
|-
| BlockCharcoalPit || oreblastingbomb || - || Bomb Class
| BlockLooseOres || looseores || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockLooseOres.cs Loose Ores Class ]
|-
|-
| BlockChisel || chiseledblock || - || Chiseled Class
| BlockLooseStones || loosestones || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockLooseStones.cs Loose Stones Class ]
|-
|-
| BlockClayForm || clayform|| - || Clay Form Class
| BlockLootVessel || lootvessel || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockLootVessel.cs Loot Vessel Class ]
|-
|-
| BlockChisel || chiseledblock || - || Bomb Class
| BlockLupine || flower-lupine || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockLupine.cs Lupine Flower Class ]
|-
|-
| BlockCookedContainer || pot, crucible || A container that has finished smelting or cooking its contents and is ready to be poured, taken from etc. || Cooked Container Class
| BlockMeal || bowl-meal || Gives a block the ability to store meal data. || [https://github.com/anegostudios/vssurvivalmod/blob/master/Systems/Cooking/BlockMeal.cs Meal Class ]
|-
|-
| BlockCookingContainer || pot, crucible || A container that has not finished smelting or cooking its contents (if any) || Cooking Container Class
| BlockMetalPartPile || partpile, partpile-wall || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockMetalPartPile.cs Part Pile Class ]
|-
|-
| BlockCrock || crock || - || Crock Class
| BlockMetalSpikes || metalspikes (locustnest)|| - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockMetalSpikes.cs Metal Spikes Class ]
|-
|-
| BlockCrystal || crystallargecluster, crystalsmall || - || Crystal Class
| BlockMeteorite || meteorite || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockMeteorite.cs Meteorite Class ]
|-
|-
| BlockDisplayCase || displaycase || - || Display Case Class
| BlockMushroom || mushroom || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockMushroom.cs Mushroom Class ]
|-
|-
| BlockDoor || door, irondoor || - || Door Class
| BlockOre || ore-graded, ore-ungraded || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockOre.cs Ore Class ]
|-
|-
| BlockEchoChamber || echochamber || - || Echo Chamber Class
| BlockPan || pan || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockPan.cs Pan Class ]
|-
|-
| BlockFarmland || farmland || - || Farmland Class
| BlockPeatbrick|| peatbrick || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockPeatbrick.cs Peat Brick Class ]
|-
|-
| BlockFence || fence, ironfence || Used to change the shape based off of nearby attachable surfaces. Requires shape variants for every horizontal orientation. || Fence Class
| BlockPeatPile || peatpile || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockPeatPile.cs Peat Pile Class ]
|-
|-
| BlockFenceGate || fencegate || - || Fence Gate Class
| BlockPlaceOnDrop || meteorite || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockPlaceOnDrop.cs Place on Drop Class ]
|-
|-
| BlockFirepit || firepit || - || Firepit Class
| BlockPlant || flower, frostedtallgrass, herb, plaintreesapling, tallfern, tallgrass || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockPlant.cs Plant Class ]
|-
|-
| BlockFirewoodPile || firewoodpile|| - || Firewood Pile Class
| BlockPlatePile || platepile || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockPlatePile.cs Plate Pile Class ]
|-
|-
| BlockFlowerPot || flowerpot, planter || - || Flower Pot Class
| BlockPlankPile || plankpile|| - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockPlankPile.cs Plank Pile Class ]
|-
|-
| BlockForge || forge || - || Forge Class
| BlockQuern || quern || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockQuern.cs Quern Class ]
|-
|-
| BlockFullCoating || saltpeter || Used to make a block which coats all flat surfaces when placed. Requires shape variants for every possible orientation. || Full Coating Class
| BlockRails || rails || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockRails.cs Rails Class ]
|-
|-
| BlockGenericTypedContainer || chest, storagevessel, stationarybasket || - || Generic Container Class
| BlockReeds || reeds-free, reeds-water || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockReeds.cs Meteorite Class ]
|-
|-
| BlockGlowworms || glowworms || - || Glowworms Class
| BlockRequireSolidGround || barrelcactus || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockRequireSolidGround.cs Requires Solid Ground Class ]
|-
|-
| BlockHopper|| hopper || - || Hopper Class
| BlockReeds || reeds-free, reeds-water || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockReeds.cs Meteorite Class ]
|-
|-
| BlockIngotMold || ingotmold || - || Ingot Mold Class
| BlockSeaweed || seaweed || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockSeaweed.cs Seaweed Class ]
|-
|-
| BlockIngotPile || ingotpile || - || Ingot Pile Class
| BlockShelf || shelf || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockShelf.cs Shelf Class ]
|-
|-
| BlockKnappingSurface || knappingsurface || - || Knapping Surface Class
| BlockSign || sign || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockSign.cs Sign Class ]
|-
|-
| BlockLabeledChest || chest-labeled || - || Labeled Chest Class
| BlockSignPost || signpost || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockSignPost.cs Sign Post Class ]
|-
|-
| BlockLantern || lantern || - || Lantern Class
| BlockSimpleCoating|| linen, sheet (metal), wool || Allows a thin, flat block to be placed on a single side of a surface. Requires directional variants for each orientation. || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockSimpleCoating.cs Simple Coating Class ]
|-
|-
| BlockLava || lava || - || Lava Class
| BlockSkep || skep || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockSkep.cs Skep Class ]
|-
|-
| BlockLayered || snow || A generic class that can be layered. Requires a variant for each height. || Layered Block Class
| BlockSmeltedContainer || crucible || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockSmeltedContainer.cs Smelted Container Class ]
|-
|-
| BlockLayeredSlowDig || charcoalpile || A version of the layered class that is much slower to dig. || Layered Block Class (slow dig)
| BlockSmeltingContainer || crucible || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockSmeltingContainer.cs Smelting Container Class ]
|-
| BlockSnow || snow || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockSnow.cs Snow Class ]
|-
| BlockSoil || soil || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockSoil.cs Soil Class ]
|-
| BlockSoilDeposit || clay, peat || Used to generate a soil type and then generate soil beneath it to prevent gaps formation. || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockSoilDeposit.cs Soil Deposit Class ]
|-
| BlockSpawner || meta || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockSpawner.cs Entity Spawner Class ]
|-
| BlockStairs || All stairs || Allows stair blocks to be placed in different orientations. Requires variants for each orientation. || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockStairs.cs Stairs Class ]
|-
| BlockStalagSection || stalagsection || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockStalagSection.cs Stalag Section Class ]
|-
| BlockStaticTranslocator || statictranslocator || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockStaticTranslocator.cs Static Translocator Class ]
|-
| BlockTeleporter || teleporterbase || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockTeleporter.cs Teleporter Class ]
|-
| BlockThermalDifference || - || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockThermalDifference.cs Thermal Difference Class ]
|-
| BlockToolMold || toolmold || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockToolMold.cs Tool Mold Class ]
|-
| BlockTorch || torch || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockTorch.cs Torch Class ]
|-
| BlockTorchHolder || torchholder || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockTorchHolder.cs Torchholder Class ]
|-
| BlockTrough || trough-small || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockTrough.cs Trough Class ]
|-
| BlockTroughDoubleBlock || trough-large || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockTroughDoubleBlock.cs Double Block Trough Class ]
|-
| BlockVines || wildvine || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockVines.cs Vine Class ]
|-
| BlockWater || water || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockWater.cs Water Class ]
|-
| BlockWaterflowing || water || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockWaterFlowing.cs Flowing Water Class ]
|-
| BlockWaterLily || waterlily || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockWaterLily.cs Water Lily Class ]
|-
| BlockWaterPlant || water || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockWaterPlant.cs Water Plant Class ]
|-
| BlockWaterfall || water || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockWaterfall.cs Waterfall Class ]
|-
| BlockWateringCan|| wateringcan || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockWateringCan.cs Wateringcan Class ]
|-
| BlockWithGrassOverlay|| - || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Block/BlockWithGrassOverlay.cs Grass Overlay Class ]
|}


== Mechanical Power Block Classes ==
This table contains all the blocks relevant to mechanical power.
{| class="wikitable"
|-
! Class Name !! Example Blocks !! Description !! Github Link
|-
| BlockAngledGears|| angledgears || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Systems/MechanicalPower/Block/BlockAngledGears.cs Angled Gears Class ]
|-
| BlockAxle || axle || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Systems/MechanicalPower/Block/BlockAxle.cs Axle Class ]
|-
| BlockBrake || brake || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Systems/MechanicalPower/Block/BlockBrake.cs Brake Class ]
|-
| BlockClutch || clutch || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Systems/MechanicalPower/Block/BlockClutch.cs Clutch Class ]
|-
| BlockHelveHammer || helvehammerbase || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Systems/MechanicalPower/Block/BlockHelvehammer.cs Helve Hammer Class ]
|-
| BlockToggle|| toggle || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Systems/MechanicalPower/Block/BlockToggle.cs Toggle Class ]
|-
| BlockTransmission || transmission || - || [https://github.com/anegostudios/vssurvivalmod/blob/master/Systems/MechanicalPower/Block/BlockTransmission.cs Transmission Class ]
|-
| BlockWindmillRotor || windmillrotor || Controls the placement of the rotor and determines what happens when the player tries to add sails to it. || [https://github.com/anegostudios/vssurvivalmod/blob/master/Systems/MechanicalPower/Block/BlockWindmillRotor.cs Windmill Rotor Class ]
|}
|}
    
    
{{Navbox/modding|Vintage Story}}
{{Navbox/modding|Vintage Story}}

Latest revision as of 19:51, 7 May 2020

Using block classes

Sometimes a block requires additional functionality that can't be accomplished with a JSON. Doing so requires a block to utilize a C# class, which uses the following format in the JSON:

class: "BlockClass"

A majority of all block classes can be viewed here in the Vintage Story Github for those looking to learn more about how each works.

Additionally, mechanical blocks classes are stored here.

All Block Classes

Here is a table containing all classes used by blocks as of version 1.9.+

Class Name Example Blocks Description Github Link
Block most regular blocks A standard block class that almost all blocks utilize or inherit. Block Class
BlockAnvil anvil Used by the anvil Anvil Class
BlockBamboo bamboo - Bamboo Class
BlockBarrel barrel - Barrel Class
BlockBed bed - Bed Class
BlockBeehive wildbeehive - Wild Beehive Class
BlockBigBerryBush smallberrybush, largeberrybush - Berry Bush Class
BlockBloomery bloomerybase - Bloomery Class
BlockBomb oreblastingbomb - Bomb Class
BlockBowl bowl - Bowl Class
BlockBucket bucket - Bucket Class
BlockBunchOCandles bunchocandles - Candle Class
BlockCactus saguarocactus - Cactus Class
BlockCanvas canvas - Canvas Class
BlockChandelier chandelier - Chandelier Class
BlockChisel chiseledblock - Chiseled Class
BlockClayForm clayform - Clay Form Class
BlockCookedContainer pot A container that has finished cooking its contents and is ready to be taken from etc. Cooked Container Class
BlockCookingContainer pot A container that has not finished cooking its contents (if any). Cooking Container Class
BlockCrock crock - Crock Class
BlockCrystal crystallargecluster, crystalsmall - Crystal Class
BlockDisplayCase displaycase - Display Case Class
BlockDoor door, irondoor - Door Class
BlockEchoChamber echochamber - Echo Chamber Class
BlockFarmland farmland - Farmland Class
BlockFence fence, ironfence Used to change the shape based off of nearby attachable surfaces. Requires shape variants for every horizontal orientation. Fence Class
BlockFenceGate fencegate - Fence Gate Class
BlockFirepit firepit - Firepit Class
BlockFirewoodPile firewoodpile - Firewood Pile Class
BlockFlowerPot flowerpot, planter - Flower Pot Class
BlockForge forge - Forge Class
BlockFullCoating saltpeter Used to make a block which coats all flat surfaces when placed. Requires shape variants for every possible orientation. Full Coating Class
BlockGenericTypedContainer chest, storagevessel, stationarybasket - Generic Container Class
BlockGlowworms glowworms - Glowworms Class
BlockHopper hopper - Hopper Class
BlockIngotMold ingotmold - Ingot Mold Class
BlockIngotPile ingotpile - Ingot Pile Class
BlockKnappingSurface knappingsurface - Knapping Surface Class
BlockLabeledChest chest-labeled - Labeled Chest Class
BlockLantern lantern - Lantern Class
BlockLava lava - Lava Class
BlockLayered snow A generic class that can be layered. Requires a variant for each height. Layered Block Class
BlockLayeredSlowDig charcoalpile A version of the layered class that is much slower to dig. Layered Block Class (slow dig)
BlockLeaves leaves, leavesbranchy - Leaves Class
BlockLocustNest cage (locustnest) - Locust Nest Class
BlockLog log Only contains code for OnPickBlock method. Lava Class
BlockLooseGears loosegears - Loose Gears Class
BlockLooseOres looseores - Loose Ores Class
BlockLooseStones loosestones - Loose Stones Class
BlockLootVessel lootvessel - Loot Vessel Class
BlockLupine flower-lupine - Lupine Flower Class
BlockMeal bowl-meal Gives a block the ability to store meal data. Meal Class
BlockMetalPartPile partpile, partpile-wall - Part Pile Class
BlockMetalSpikes metalspikes (locustnest) - Metal Spikes Class
BlockMeteorite meteorite - Meteorite Class
BlockMushroom mushroom - Mushroom Class
BlockOre ore-graded, ore-ungraded - Ore Class
BlockPan pan - Pan Class
BlockPeatbrick peatbrick - Peat Brick Class
BlockPeatPile peatpile - Peat Pile Class
BlockPlaceOnDrop meteorite - Place on Drop Class
BlockPlant flower, frostedtallgrass, herb, plaintreesapling, tallfern, tallgrass - Plant Class
BlockPlatePile platepile - Plate Pile Class
BlockPlankPile plankpile - Plank Pile Class
BlockQuern quern - Quern Class
BlockRails rails - Rails Class
BlockReeds reeds-free, reeds-water - Meteorite Class
BlockRequireSolidGround barrelcactus - Requires Solid Ground Class
BlockReeds reeds-free, reeds-water - Meteorite Class
BlockSeaweed seaweed - Seaweed Class
BlockShelf shelf - Shelf Class
BlockSign sign - Sign Class
BlockSignPost signpost - Sign Post Class
BlockSimpleCoating linen, sheet (metal), wool Allows a thin, flat block to be placed on a single side of a surface. Requires directional variants for each orientation. Simple Coating Class
BlockSkep skep - Skep Class
BlockSmeltedContainer crucible - Smelted Container Class
BlockSmeltingContainer crucible - Smelting Container Class
BlockSnow snow - Snow Class
BlockSoil soil - Soil Class
BlockSoilDeposit clay, peat Used to generate a soil type and then generate soil beneath it to prevent gaps formation. Soil Deposit Class
BlockSpawner meta - Entity Spawner Class
BlockStairs All stairs Allows stair blocks to be placed in different orientations. Requires variants for each orientation. Stairs Class
BlockStalagSection stalagsection - Stalag Section Class
BlockStaticTranslocator statictranslocator - Static Translocator Class
BlockTeleporter teleporterbase - Teleporter Class
BlockThermalDifference - - Thermal Difference Class
BlockToolMold toolmold - Tool Mold Class
BlockTorch torch - Torch Class
BlockTorchHolder torchholder - Torchholder Class
BlockTrough trough-small - Trough Class
BlockTroughDoubleBlock trough-large - Double Block Trough Class
BlockVines wildvine - Vine Class
BlockWater water - Water Class
BlockWaterflowing water - Flowing Water Class
BlockWaterLily waterlily - Water Lily Class
BlockWaterPlant water - Water Plant Class
BlockWaterfall water - Waterfall Class
BlockWateringCan wateringcan - Wateringcan Class
BlockWithGrassOverlay - - Grass Overlay Class

Mechanical Power Block Classes

This table contains all the blocks relevant to mechanical power.

Class Name Example Blocks Description Github Link
BlockAngledGears angledgears - Angled Gears Class
BlockAxle axle - Axle Class
BlockBrake brake - Brake Class
BlockClutch clutch - Clutch Class
BlockHelveHammer helvehammerbase - Helve Hammer Class
BlockToggle toggle - Toggle Class
BlockTransmission transmission - Transmission Class
BlockWindmillRotor windmillrotor Controls the placement of the rotor and determines what happens when the player tries to add sails to it. Windmill Rotor Class
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 ItemEntityBlockBlock BehaviorsBlock ClassesBlock EntitiesBlock Entity BehaviorsWorld properties
Workflows & Infrastructure Modding Efficiency TipsMod-engine compatibilityMod ExtensibilityVS Engine
Additional Resources Community Resources Modding API Updates Programming Languages List of server commandsList of client commandsClient startup parametersServer startup parameters
Example ModsAPI DocsGitHub Repository