Modding:Basic Block: Difference between revisions

From Vintage Story Wiki
No edit summary
No edit summary
Line 77: Line 77:


<table id="treeviewtable" class="table table-bordered tt-table">
<table id="treeviewtable" class="table table-bordered tt-table">
   <tr>
   <tr style='background-color: gray;'>
     <th width='300'>Property</th>
     <th width='300' align='left'>Property</th>
     <th>Type</th>
     <th width='80' align='left'>Type</th>
     <th>Default</th>
     <th width='80' align='left'>Default</th>
     <th>Usage</th>
     <th align='left'>Usage</th>
   </tr>
   </tr>
   <tr>
   <tr>
Line 92: Line 92:
     <td scope="row"><div class="tt" data-tt-id="p_code" data-tt-parent="root">code</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_code" data-tt-parent="root">code</div></td>
     <td>string</td>
     <td>string</td>
     <td>empty<td>
     <td>empty</td>
     <td>Usage</td>
     <td>Usage</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>
    <td scope="row"><div class="tt" data-tt-id="p_enabled " data-tt-parent="root">enabled</div></td>
    <td>boolean</td>
    <td>true</td>
    <td>if the block will be added to game or not</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_renderpass" data-tt-parent="root">renderpass</div></td>
    <td>enum</td>
    <td>opaque</td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_opaque" data-tt-parent="p_renderpass">opaque</div></td>
    <td></td>
    <td>0</td>
    <td>default blocks</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_opaquenocull" data-tt-parent="p_renderpass">opaquenocull</div></td>
    <td></td>
    <td>1</td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_transparent" data-tt-parent="p_renderpass">transparent</div></td>
    <td></td>
    <td>2</td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_liquid" data-tt-parent="p_renderpass">liquid</div></td>
    <td></td>
    <td>3</td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_topsoil" data-tt-parent="p_renderpass">topsoil</div></td>
    <td></td>
    <td>4</td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_variantgroups" data-tt-parent="root">variantgroups</div></td>
    <td>arrays</td>
    <td></td>
    <td></td>
   </tr>
   </tr>
</table>
</table>

Revision as of 11:04, 5 January 2017


This tutorial should introduce you into the basic of adding a block to the game using JSON files. Down below you can find a complete list of all existing properties. If your block requires more than just a JSON file there is a tutorial for Advanced Blocks.

A Simple Block

Let's add a simple block to the game. In our example we will add a new wooden planks type.

The Texture

First of all we need a texture. We will add a spruce wood plank to the game using this texture: File:Spruce1.png.

Now we need to copy the texture to the game assets. Therefore navigate to the Vintagestory folder and place it in assets\textures\blocks\wood\planks\

The JSON file

Testing

Export a mod

Advanced Properties

Properties Overview

A complete list of all available properties:

  • Json File
    • code (string)
    • maxstacksize (number): default: 64
    • enabled (boolean): default: true; If the block will be added to game or not.
    • randomdrawoffset (boolean): default: false; If the block has a random draw offset.
    • renderpass
      • opaque (default)
      • opaquenocull
      • transparent
      • liquid
      • topsoil
    • variantgroups (array)
      • loadFromProperties
    • creativeinventory
      • default
    • shapeinventory
    • shape
      • base
    • shapebytype
    • ambientocclusion (boolean): default: true; If ambient occlusion will be applied to the block.
    • blockmaterial
    • drawtype
      • blockLayer_1
      • blockLayer_2
      • blockLayer_3
      • blockLayer_4
      • blockLayer_5
      • blockLayer_6
      • blockLayer_7
      • json
      • empty
      • cube
      • cross
      • transparent
      • liquid
      • crossandsnowlayer
    • textures
    • texturesinventory
    • texturesbytype
    • texturesinventorybytype
    • resistance
    • sounds
      • place
      • walk
      • break
      • hit
      • inside


Property Type Default Usage
Json
code
string empty Usage
maxstacksize
number 64 determines the maximum amount you can stack the block in one slot
enabled
boolean true if the block will be added to game or not
renderpass
enum opaque
opaque
0 default blocks
opaquenocull
1
transparent
2
liquid
3
topsoil
4
variantgroups
arrays