Modding:Block Json Properties: Difference between revisions

From Vintage Story Wiki
no edit summary
No edit summary
No edit summary
Line 526: Line 526:
     <td scope="row"><div class="tt" data-tt-id="p_walkspeedmultiplier" data-tt-parent="root">WalkspeedMultiplier</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_walkspeedmultiplier" data-tt-parent="root">WalkspeedMultiplier</div></td>
     <td>decimal number</td>
     <td>decimal number</td>
     <td>1</td>
     <td>1.0</td>
     <td>Percentage walk-speed when standing on or inside this block.</td>
     <td>Percentage walk-speed when standing on or inside this block.</td>
   </tr>
   </tr>
Line 551: Line 551:
     <td scope="row"><div class="tt" data-tt-id="p_dragmultiplier" data-tt-parent="root">DragMultiplier</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_dragmultiplier" data-tt-parent="root">DragMultiplier</div></td>
     <td>decimal number</td>
     <td>decimal number</td>
     <td>1</td>
     <td>1.0</td>
     <td>Drag multiplier applied to entities standing on it (slipperiness factor).</td>
     <td>Drag multiplier applied to entities standing on it (slipperiness factor).</td>
   </tr>
   </tr>
Line 884: Line 884:
     <td>64</td>
     <td>64</td>
     <td>Determines the maximum amount you can stack the block in one slot.</td>
     <td>Determines the maximum amount you can stack the block in one slot.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_attackpower" data-tt-parent="root">AttackPower</div></td>
    <td>decimal number</td>
    <td>0.5</td>
    <td>The damage the deals when hitting an entity.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_attackrange" data-tt-parent="root">AttackRange</div></td>
    <td>decimal number</td>
    <td>1.5</td>
    <td>The maximum distance you can hit an entity.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_materialdensity" data-tt-parent="root">MaterialDensity</div></td>
    <td>integer</td>
    <td>9999</td>
    <td>Determines on whether an object floats on liquids or not.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_materialdensity_info" data-tt-parent="p_materialdensity" data-invisible="true"></div></td>
    <td colspan="3">
Water has a density of 1000, meaning everything below or equal will float on water. The same goes for lava which has a density of 5000.
</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_liquidselectable" data-tt-parent="root">LiquidSelectable</div></td>
    <td>boolean</td>
    <td>false</td>
    <td>If the block can select a liquid while holding it in hand.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_liquidselectable_info" data-tt-parent="p_liquidselectable" data-invisible="true"></div></td>
    <td colspan="3">
Used for buckets in order to fill it with water and to place waterlily on top of water.
</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_miningspeed" data-tt-parent="root">MiningSpeed</div></td>
    <td>key: string, value: decimal number</td>
    <td>-</td>
    <td>The mining speed for each material.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_miningspeed" data-tt-parent="root">MiningTier</div></td>
    <td>integer</td>
    <td>0</td>
    <td>Determines which blocks it can break. If the required miningtier is above the defined one there will be no drop from it.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_attributes" data-tt-parent="root">Attributes</div></td>
    <td>key: string, value: object</td>
    <td>-</td>
    <td>Custom Attributes that's always assiociated with this item.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_attributes_info" data-tt-parent="p_attributes" data-invisible="true"></div></td>
    <td colspan="3">
Extra attributes added to a block. Those are final and cannot be modified. It's a good way to keep things oragnized and and modifiable. The '''oreblastingbomb''' for example has attributes, which define its radius and type. These can be used by behaviors and blockentities:
<syntaxhighlight lang="json">
    attributes: {
        "blastRadius": { type: "Int", value: 4 },
        "blastType": { type: "Int", value: 0 },
    },
</syntaxhighlight>
</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_combustibleprops" data-tt-parent="root">CombustibleProps</div></td>
    <td>object</td>
    <td>-</td>
    <td>Information about the blocks burnable states.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_burntemperature" data-tt-parent="p_combustibleprops">BurnTemperature</div></td>
    <td>integer</td>
    <td>-</td>
    <td>The temperature at which it burns.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_burnduration" data-tt-parent="p_combustibleprops">BurnDuration</div></td>
    <td>decimal number</td>
    <td>-</td>
    <td>For how long it burns.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_heatresistance" data-tt-parent="p_combustibleprops">HeatResistance</div></td>
    <td>integer</td>
    <td>500</td>
    <td>How many degrees celsius it can resists before it ignites.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_meltingpoint" data-tt-parent="p_combustibleprops">MeltingPoint</div></td>
    <td>integer</td>
    <td>-</td>
    <td>How many degrees celsius it takes to smelt/transform this into another. Only used when put in a stove and Melted is set.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_meltingduration" data-tt-parent="p_combustibleprops">MeltingDuration</div></td>
    <td>decimal number</td>
    <td>-</td>
    <td>For how many seconds the temperature has to be above the melting point until the item is smelted.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_smokelevel" data-tt-parent="p_combustibleprops">SmokeLevel</div></td>
    <td>decimal number</td>
    <td>1</td>
    <td>How much smoke this item produces when being used as fuel.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_smeltedratio" data-tt-parent="p_combustibleprops">SmeltedRatio</div></td>
    <td>integer</td>
    <td>1</td>
    <td>How many ores are required to produce one output stack.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_liquidlevel" data-tt-parent="p_combustibleprops">SmeltedStack</div></td>
    <td>object</td>
    <td>-</td>
    <td>If set, the block/item is smeltable in a furnace and this is the resulting itemstack once the MeltingPoint has been reached for the supplied duration.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_requirescontainer" data-tt-parent="p_combustibleprops">RequiresContainer</div></td>
    <td>boolean</td>
    <td>true</td>
    <td>If set, the block/item is smeltable in a furnace and this is the resulting itemstack once the MeltingPoint has been reached for the supplied duration.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_combustibleprops_info" data-tt-parent="p_combustibleprops" data-invisible="true"></div></td>
    <td colspan="3">
This property can be used to define a burning material. '''Plank''' for example can get on fire:
<syntaxhighlight lang="json">
    combustibleProps: {
        burnTemperature: 800,
        burnDuration: 12,
    },
</syntaxhighlight>
Futhermore it can be used to define smelting processes. An example would be an '''ingotmold''' which turns into an ingotmold-burned:
<syntaxhighlight lang="json">
    combustiblePropsByType: {
        "ingotmold-raw": {
            meltingPoint: 600,
            meltingDuration: 30,
            smeltedRatio: 1,
            smeltedStack: { type: "block", code: "ingotmold-burned" },
            requiresContainer: false
        }
    },
</syntaxhighlight>
</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_nutritionprops" data-tt-parent="root">NutritionProps</div></td>
    <td>object</td>
    <td>-</td>
    <td>Information about the blocks nutrients.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_nutritionprops_foodcategory" data-tt-parent="p_nutritionprops">FoodCategory</div></td>
    <td>string</td>
    <td>-</td>
    <td>Defines the type of food. It can be '''''fruit''''', '''''vegetable''''', '''''protein''''', '''''grain''''' and '''''dairy'''''.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_nutritionprops_saturation" data-tt-parent="p_nutritionprops">Saturation</div></td>
    <td>decimal number</td>
    <td>0</td>
    <td>How much saturation it can restore.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_nutritionprops_health" data-tt-parent="p_nutritionprops">Health</div></td>
    <td>decimal number</td>
    <td>0</td>
    <td>How much health it can restore.</td>
   </tr>
   </tr>
    
    
 
 
 
 
    
    
   <tr>
   <tr>
Confirmedusers, editor, Administrators
886

edits