Confirmedusers, editor, Administrators
886
edits
CreativeMD (talk | contribs) No edit summary |
CreativeMD (talk | contribs) No edit summary |
||
Line 7: | Line 7: | ||
<th width='300' align='left'>Property</th> | <th width='300' align='left'>Property</th> | ||
<th width='200' align='left'>Type</th> | <th width='200' align='left'>Type</th> | ||
<th width=' | <th width='120' align='left'>Default</th> | ||
<th align='left'>Usage</th> | <th align='left'>Usage</th> | ||
</tr> | </tr> | ||
Line 128: | Line 128: | ||
<td scope="row"><div class="tt" data-tt-id="p_class_info" data-tt-parent="p_class" data-invisible="true"></div></td> | <td scope="row"><div class="tt" data-tt-id="p_class_info" data-tt-parent="p_class" data-invisible="true"></div></td> | ||
<td colspan="3"> | <td colspan="3"> | ||
A complete tutorial of | A complete tutorial of how to create your own class can be found [[Advanced Blocks|here]]. | ||
</td> | </td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id=" | <td scope="row"><div class="tt" data-tt-id="p_entityclass" data-tt-parent="root">EntityClass</div></td> | ||
<td> | <td>string</td> | ||
<td> | <td>-</td> | ||
<td> | <td>The block entity class is able to tick and to store extra data.</td> | ||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_entityclass_info" data-tt-parent="p_entityclass" data-invisible="true"></div></td> | |||
<td colspan="3"> | |||
A complete tutorial of creating your own entityclass can be found [[Block Entity|here]]. | |||
</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_behaviors" data-tt-parent="root">Behaviors</div></td> | |||
<td>array of object</td> | |||
<td>-</td> | |||
<td>A behavior adds custom abilities such as falling block..</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id=" | <td scope="row"><div class="tt" data-tt-id="p_behaviors_info" data-tt-parent="p_behaviors" data-invisible="true"></div></td> | ||
<td | <td colspan="3"> | ||
Here is an overview of all exisiting behaviors, if you want to create your own custom behavior you can read [[Adding Block Behavior]]. | |||
{{:json:block:behavior}} | |||
</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_blockmaterial" data-tt-parent="root"> | <td scope="row"><div class="tt" data-tt-id="p_blockmaterial" data-tt-parent="root">BlockMaterial</div></td> | ||
<td>string</td> | <td>string</td> | ||
<td></td> | <td>-</td> | ||
<td> | <td>A behavior adds custom abilities such as falling block.</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id="p_blockmaterial_info" data-tt-parent="p_blockmaterial" data-invisible="true"></div></td> | <td scope="row"><div class="tt" data-tt-id="p_blockmaterial_info" data-tt-parent="p_blockmaterial" data-invisible="true"></div></td> | ||
<td colspan="3">{{:json:block:material}}</td> | <td colspan="3"> | ||
Currently only used for mining speed for tools. | |||
{{:json:block:material}} | |||
</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_matterstate" data-tt-parent="root">MatterState</div></td> | |||
<td>array of object</td> | |||
<td>"block"</td> | |||
<td>Determines whether the block is in a '''''solid''''', a '''''liquid''''', a '''''gas''''' or a '''''plasma''''' state.</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_matterstate_info" data-tt-parent="p_matterstate" data-invisible="true"></div></td> | |||
<td colspan="3"> | |||
Used for special collision behavior and rendering. Currently used for: | |||
Liquid: | |||
*Lava | |||
*Water | |||
*Water with particles | |||
Gas/Plasma: | |||
none added yet | |||
</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_resistance" data-tt-parent="root">Resistance</div></td> | |||
<td>decimal number</td> | |||
<td>6</td> | |||
<td>How long it takes to break this block in seconds (with a mining speed of 1).</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_resistance_info" data-tt-parent="p_resistance" data-invisible="true"></div></td> | |||
<td colspan="3"> | |||
Same examples of resistance's values used in VintageStory: | |||
*leaves: 0.5 | |||
*wool: 1 | |||
*bowl: 1.5 | |||
*obsidian: 2 | |||
*plank: 3.5 | |||
*log: 4.5 | |||
*rock: 6 | |||
</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_requiredminingtier" data-tt-parent="root">RequiredMiningTier</div></td> | |||
<td>integer</td> | |||
<td>0</td> | |||
<td>Minimum required mining tier to get the drop out of the block.</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_requiredminingtier_info" data-tt-parent="p_requiredminingtier" data-invisible="true"></div></td> | |||
<td colspan="3"> | |||
<table class="wikitable"> | |||
<tr style="background-color: grey;"> | |||
<th style="background-color: grey;">Tier</th> | |||
<th style="background-color: grey;">Ores</th> | |||
</tr> | |||
<tr> | |||
<td>'''1'''</td> | |||
<td>'''''gelena''''' and '''''rocksalt_sylvite'''''</td> | |||
</tr> | |||
<tr> | |||
<td>'''2'''</td> | |||
<td>'''''lignite''''', '''''cassiterite''''', '''''sphalerite''''', '''''rocksalt''''', '''''sulfur''''' and '''''nativecopper'''''</td> | |||
</tr> | |||
<tr> | |||
<td>'''3'''</td> | |||
<td>'''''bituminouscoal''''', '''''quartz_nativegold''''', '''''quartz_nativesilver''''', '''''lapislazuli''''', '''''bismuthinite''''', '''''quartz''''', '''''magnetite''''' and '''''limonite'''''</td> | |||
</tr> | |||
<tr> | |||
<td>'''4'''</td> | |||
<td>'''''diamond''''' and '''''emerald'''''</td> | |||
</tr> | |||
<tr> | |||
<td>'''5'''</td> | |||
<td>'''''chromite''''', '''''platinum''''' and '''''ilmenite'''''</td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_climbable" data-tt-parent="root">Climbable</div></td> | |||
<td>boolean</td> | |||
<td>false</td> | |||
<td>If true, walking against this block will make the player climb (used for ladders).</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_rainpermeable" data-tt-parent="root">RainPermeable</div></td> | |||
<td>boolean</td> | |||
<td>false</td> | |||
<td>If rain can fall through this block.</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_snowcoverage" data-tt-parent="root">SnowCoverage</div></td> | |||
<td>boolean</td> | |||
<td>-</td> | |||
<td>Whether snow may rest on top of this block.</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_snowcoverage_info" data-tt-parent="p_snowcoverage" data-invisible="true"></div></td> | |||
<td colspan="3"> | |||
All none solid blocks can't be covered by snow unless it's defined different: | |||
*Leaves (also branchy): true, | |||
*Water with particles, Lakeice: false | |||
</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_collisionbox" data-tt-parent="root">CollisionBox</div></td> | |||
<td>object</td> | |||
<td>box (0,0,0 -> 1,1,1)</td> | |||
<td>Defines a box with which the player collides with.</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_collisionbox_info" data-tt-parent="p_collisionbox" data-invisible="true"></div></td> | |||
<td colspan="3"> | |||
A half slab for example, has either a box going from 0,0,0 to 1,0.5,1 or going from 0,0.5,0 to 1,1,1, depending on whether it is a slab is down or up: | |||
<syntaxhighlight lang="json"> | |||
collisionboxByType: { | |||
"*-down": { x1: 0, y1: 0, z1: 0, x2: 1, y2: 0.5, z2: 1 }, | |||
"*-up": { x1: 0, y1: 0.5, z1: 0, x2: 1, y2: 1, z2: 1 } | |||
}, | |||
</syntaxhighlight> | |||
Collision and selection boxes are most likely equal. | |||
</td> | |||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td scope="row"><div class="tt" data-tt-id=" | <td scope="row"><div class="tt" data-tt-id="p_collisionboxes" data-tt-parent="root">CollisionBoxes</div></td> | ||
<td></td> | <td>array of object</td> | ||
<td></td> | <td>-</td> | ||
<td> | <td>Defines multiple boxes with which the player collides with.</td> | ||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_collisionboxes_info" data-tt-parent="p_collisionboxes" data-invisible="true"></div></td> | |||
<td colspan="3"> | |||
A crate for example requires multiple collision boxes: | |||
<syntaxhighlight lang="json"> | |||
collisionboxesByType: { | |||
"*-opened": [ | |||
{ x1: 0, y1: 0, z1: 0, x2: 1, y2: 0.0625, z2: 1 }, | |||
{ x1: 0, y1: 0, z1: 0, x2: 1, y2: 1, z2: 0.0625 }, | |||
{ x1: 0, y1: 0, z1: 0, x2: 1, y2: 1, z2: 0.0625, rotateY: 90 }, | |||
{ x1: 0, y1: 0, z1: 0, x2: 1, y2: 1, z2: 0.0625, rotateY: 180 }, | |||
{ x1: 0, y1: 0, z1: 0, x2: 1, y2: 1, z2: 0.0625, rotateY: 270 }, | |||
] | |||
}, | |||
</syntaxhighlight> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_selectionbox" data-tt-parent="root">SelectionBox</div></td> | |||
<td>object</td> | |||
<td>box (0,0,0 -> 1,1,1)</td> | |||
<td>Defines a box which the player's mouse pointer collides with for selection.</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_selectionbox_info" data-tt-parent="p_selectionbox" data-invisible="true"></div></td> | |||
<td colspan="3"> | |||
A half slab for example, has either a box going from 0,0,0 to 1,0.5,1 or going from 0,0.5,0 to 1,1,1, depending on whether it is a slab is down or up: | |||
<syntaxhighlight lang="json"> | |||
selectionboxByType: { | |||
"*-down": { x1: 0, y1: 0, z1: 0, x2: 1, y2: 0.5, z2: 1 }, | |||
"*-up": { x1: 0, y1: 0.5, z1: 0, x2: 1, y2: 1, z2: 1 } | |||
}, | |||
</syntaxhighlight> | |||
Collision and selection boxes are most likely equal. | |||
</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_selectionboxes" data-tt-parent="root">SelectionBoxes</div></td> | |||
<td>array of object</td> | |||
<td>-</td> | |||
<td>Defines multiple boxes which the player's mouse pointer collides with for selection.</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_selectionboxes_info" data-tt-parent="p_selectionboxes" data-invisible="true"></div></td> | |||
<td colspan="3"> | |||
A crate for example requires multiple selection boxes: | |||
<syntaxhighlight lang="json"> | |||
selectionboxesByType: { | |||
"*-opened": [ | |||
{ x1: 0, y1: 0, z1: 0, x2: 1, y2: 0.0625, z2: 1 }, | |||
{ x1: 0, y1: 0, z1: 0, x2: 1, y2: 1, z2: 0.0625 }, | |||
{ x1: 0, y1: 0, z1: 0, x2: 1, y2: 1, z2: 0.0625, rotateY: 90 }, | |||
{ x1: 0, y1: 0, z1: 0, x2: 1, y2: 1, z2: 0.0625, rotateY: 180 }, | |||
{ x1: 0, y1: 0, z1: 0, x2: 1, y2: 1, z2: 0.0625, rotateY: 270 }, | |||
] | |||
}, | |||
</syntaxhighlight> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_replaceable" data-tt-parent="root">Replaceable</div></td> | |||
<td>integer</td> | |||
<td>0</td> | |||
<td>A value usually between 0-9999 that indicates which blocks may be replaced with others.</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_replaceable_info" data-tt-parent="p_replaceable" data-invisible="true"></div></td> | |||
<td colspan="3"> | |||
<table class="wikitable"> | |||
<tr style="background-color: grey;"> | |||
<th style="background-color: grey;">Value</th> | |||
<th style="background-color: grey;">Effect (Blocks)</th> | |||
</tr> | |||
<tr> | |||
<td>'''0'''</td> | |||
<td>'''''ordinary blocks''''' (stone for example)</td> | |||
</tr> | |||
<tr> | |||
<td>'''5000'''</td> | |||
<td>Everything equal or above will be washed away by water (such as '''''Fruit''''').</td> | |||
</tr> | |||
<tr> | |||
<td>'''6000'''</td> | |||
<td>Everything equal or above wwill replaced when the player tries to place a block (such as '''''Tallgrass''''').</td> | |||
</tr> | |||
<tr> | |||
<td>'''9000'''</td> | |||
<td>'''''Lava'''''</td> | |||
</tr> | |||
<tr> | |||
<td>'''9500'''</td> | |||
<td>'''''Water'''''</td> | |||
</tr> | |||
<tr> | |||
<td>'''9999'''</td> | |||
<td>'''''Air'''''</td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_fertility" data-tt-parent="root">Fertility</div></td> | |||
<td>integer</td> | |||
<td>0</td> | |||
<td>Which plants can grow on top of this block.</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_fertility_info" data-tt-parent="p_fertility" data-invisible="true"></div></td> | |||
<td colspan="3"> | |||
<table class="wikitable"> | |||
<tr style="background-color: grey;"> | |||
<th style="background-color: grey;">Value</th> | |||
<th style="background-color: grey;">Effect</th> | |||
</tr> | |||
<tr> | |||
<td>'''0'''</td> | |||
<td>''nothing can grow.''</td> | |||
</tr> | |||
<tr> | |||
<td>'''10'''</td> | |||
<td>''some tallgrass and small trees can be grow on it.''</td> | |||
</tr> | |||
<tr> | |||
<td>'''100'''</td> | |||
<td>''all grass and trees can grow on it.''</td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td scope="row"><div class="tt" data-tt-id="p_maxstacksize" data-tt-parent="root">maxstacksize</div></td> | |||
<td>number</td> | |||
<td>64</td> | |||
<td>Determines the maximum amount you can stack the block in one slot.</td> | |||
</tr> | </tr> | ||
<tr> | <tr> |