Modding:Entity Json Properties: Difference between revisions

From Vintage Story Wiki
m
No edit summary
(7 intermediate revisions by 2 users not shown)
Line 4: Line 4:


<table id="treeviewtable" class="table table-bordered tt-table" style='table-layout: fixed'>
<table id="treeviewtable" class="table table-bordered tt-table" style='table-layout: fixed'>
   <tr style='background-color: gray;'>
   <tr style='background-color: rgba(0,0,0,0.2);'>
     <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='120' align='left'>Default</th>
     <th width='150' align='left'>Default</th>
     <th align='left'>Usage</th>
     <th align='left'>Usage</th>
   </tr>
   </tr>
Line 20: Line 20:
   </tr>
   </tr>
   <tr>
   <tr>
     <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>required</td>
     <td>required</td>
Line 37: Line 37:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_enabled" data-tt-parent="root">Enabled</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_enabled" data-tt-parent="root">enabled</div></td>
     <td>boolean</td>
     <td>boolean</td>
     <td>true</td>
     <td>true</td>
Line 43: Line 43:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_variantgroups" data-tt-parent="root">VariantGroups</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_variantgroups" data-tt-parent="root">variantgroups</div></td>
     <td>array of object</td>
     <td>array of object</td>
     <td>-</td>
     <td>-</td>
Line 105: Line 105:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_byType" data-tt-parent="root">(any) byType</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_byType" data-tt-parent="root">(any) bytype</div></td>
     <td>key: string; value: object</td>
     <td>key: string; value: object</td>
     <td>-</td>
     <td>-</td>
Line 145: Line 145:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_class" data-tt-parent="root">Class</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_class" data-tt-parent="root">class</div></td>
     <td>string</td>
     <td>string</td>
     <td>&quot;entity&quot;</td>
     <td>&quot;entity&quot;</td>
Line 157: Line 157:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_habitat" data-tt-parent="root">Habitat</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_habitat" data-tt-parent="root">habitat</div></td>
     <td>string</td>
     <td>string</td>
     <td>&quot;land&quot;</td>
     <td>&quot;land&quot;</td>
Line 163: Line 163:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_hitboxsize" data-tt-parent="root">HitBoxSize</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_hitboxsize" data-tt-parent="root">hitboxsize</div></td>
     <td>object</td>
     <td>object</td>
     <td>x: 0.125, y: 0.125</td>
     <td>x: 0.125, y: 0.125</td>
Line 169: Line 169:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_eyeheight" data-tt-parent="root">EyeHeight</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_eyeheight" data-tt-parent="root">eyeheight</div></td>
     <td>decimal number</td>
     <td>decimal number</td>
     <td>0.1</td>
     <td>0.1</td>
Line 175: Line 175:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_canclimb" data-tt-parent="root">CanClimb</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_canclimb" data-tt-parent="root">canclimb</div></td>
     <td>boolean</td>
     <td>boolean</td>
     <td>false</td>
     <td>false</td>
Line 181: Line 181:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_canclimbanywhere" data-tt-parent="root">CanClimbAnywhere</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_canclimbanywhere" data-tt-parent="root">canclimbanywhere</div></td>
     <td>boolean</td>
     <td>boolean</td>
     <td>false</td>
     <td>false</td>
Line 187: Line 187:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_falldamage" data-tt-parent="root">FallDamage</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_falldamage" data-tt-parent="root">falldamage</div></td>
     <td>boolean</td>
     <td>boolean</td>
     <td>true</td>
     <td>true</td>
Line 193: Line 193:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_climbtouchdistance" data-tt-parent="root">ClimbTouchDistance</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_climbtouchdistance" data-tt-parent="root">climbtouchdistance</div></td>
     <td>decimal number</td>
     <td>decimal number</td>
     <td>0.5</td>
     <td>0.5</td>
Line 199: Line 199:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_rotatemodelonclimb" data-tt-parent="root">RotateModelOnClimb</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_rotatemodelonclimb" data-tt-parent="root">rotatemodelonclimb</div></td>
     <td>boolean</td>
     <td>boolean</td>
     <td>false</td>
     <td>false</td>
Line 205: Line 205:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_knockbackresistance" data-tt-parent="root">KnockbackResistance</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_knockbackresistance" data-tt-parent="root">knockbackresistance</div></td>
     <td>decimal number</td>
     <td>decimal number</td>
     <td>0.0</td>
     <td>0.0</td>
Line 211: Line 211:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_attributes" data-tt-parent="root">Attributes</div></td>
     <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>key: string, value: object</td>
     <td>-</td>
     <td>-</td>
Line 228: Line 228:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_sounds" data-tt-parent="root">Sounds</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_sounds" data-tt-parent="root">sounds</div></td>
     <td>key: string, value: string</td>
     <td>key: string, value: string</td>
     <td>-</td>
     <td>-</td>
Line 234: Line 234:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_idlesoundchance" data-tt-parent="root">IdleSoundChance</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_idlesoundchance" data-tt-parent="root">idlesoundchance</div></td>
     <td>decimal number</td>
     <td>decimal number</td>
     <td>0.3</td>
     <td>0.3</td>
Line 240: Line 240:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_idlesoundrange" data-tt-parent="root">IdleSoundRange</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_idlesoundrange" data-tt-parent="root">idlesoundrange</div></td>
     <td>decimal number</td>
     <td>decimal number</td>
     <td>24</td>
     <td>24</td>
Line 246: Line 246:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_drops" data-tt-parent="root">Drops</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_drops" data-tt-parent="root">drops</div></td>
     <td>array of object</td>
     <td>array of object</td>
     <td>-</td>
     <td>-</td>
Line 269: Line 269:


<table class="wikitable">
<table class="wikitable">
   <tr style="background-color: grey;">
   <tr style="background-color: rgba(0,0,0,0.2);">
     <th style="background-color: grey;">Property</th>
     <th style="background-color: rgba(0,0,0,0.2);">Property</th>
     <th style="background-color: grey;">Default</th>
     <th style="background-color: rgba(0,0,0,0.2);">Default</th>
<th style="background-color: grey;">Explanation</th>
<th style="background-color: rgba(0,0,0,0.2);">Explanation</th>
   </tr>
   </tr>
   <tr>
   <tr>
Line 350: Line 350:
<th colspan="2">Overview - Distribution modes</th>
<th colspan="2">Overview - Distribution modes</th>
   </tr>
   </tr>
   <tr style="background-color: grey;">
   <tr style="background-color: rgba(0,0,0,0.2);">
     <th style="background-color: grey;">Name</th>
     <th style="background-color: rgba(0,0,0,0.2);">Name</th>
<th style="background-color: grey;">Explanation</th>
<th style="background-color: rgba(0,0,0,0.2);">Explanation</th>
   </tr>
   </tr>
   <tr>
   <tr>
Line 437: Line 437:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_renderer" data-tt-parent="root">Renderer</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_renderer" data-tt-parent="root">renderer</div></td>
     <td>string</td>
     <td>string</td>
     <td>-</td>
     <td>-</td>
Line 443: Line 443:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_texture" data-tt-parent="root">Texture</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_texture" data-tt-parent="root">texture</div></td>
     <td>object</td>
     <td>object</td>
     <td></td>
     <td></td>
Line 483: Line 483:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_textures" data-tt-parent="root">Textures</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_textures" data-tt-parent="root">textures</div></td>
     <td>key: string, value: object</td>
     <td>key: string, value: object</td>
     <td></td>
     <td></td>
Line 498: Line 498:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_shape" data-tt-parent="root">Shape</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_shape" data-tt-parent="root">shape</div></td>
     <td>object</td>
     <td>object</td>
     <td>-</td>
     <td>-</td>
Line 510: Line 510:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_glowlevel" data-tt-parent="root">GlowLevel</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_glowlevel" data-tt-parent="root">glowlevel</div></td>
     <td>0 ... 255</td>
     <td>0 ... 255</td>
     <td>0</td>
     <td>0</td>
Line 516: Line 516:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_size" data-tt-parent="root">Size</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_size" data-tt-parent="root">size</div></td>
     <td>decimal number</td>
     <td>decimal number</td>
     <td>1</td>
     <td>1</td>
Line 522: Line 522:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_behaviors_client" data-tt-parent="root">Behaviors</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_behaviors_client" data-tt-parent="root">behaviors</div></td>
     <td>array of object</td>
     <td>array of object</td>
     <td></td>
     <td></td>
Line 534: Line 534:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_animations" data-tt-parent="root">Animations</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_animations" data-tt-parent="root">animations</div></td>
     <td>array of object</td>
     <td>array of object</td>
     <td></td>
     <td></td>
Line 540: Line 540:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_animations_info" data-tt-parent="p_animations" data-invisible="true"></div></td>
     <td scope="row"><div class="tt" data-tt-id="p_animations_code" data-tt-parent="p_animations">code</div></td>
     <td colspan="3">
    <td>string</td>
Coming soon ...
    <td></td>
</td>
    <td>The identifier of the animation.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_animation" data-tt-parent="p_animations">animation</div></td>
    <td>string</td>
    <td></td>
    <td>The animation code identifier to play.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_weight" data-tt-parent="p_animations">weight</div></td>
    <td>decimal number</td>
    <td>1.0</td>
    <td>Animations with a high weight value will be prioritized over the other animations when the animations are combined.
For example if the player aims with a bow while jumping around, the aiming animation has a higher weight (for the upper body) so the jumping animation will be reduced.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_code" data-tt-parent="p_animations">elementweight</div></td>
    <td>key: string, value: decimal number</td>
    <td></td>
    <td>Allows you to specify a weight for each element individually.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_animationspeed" data-tt-parent="p_animations">animationspeed</div></td>
    <td>decimal number</td>
    <td>1.0</td>
    <td>The speed of the animation.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_mulwithwalkspeed" data-tt-parent="p_animations">mulwithwalkspeed</div></td>
    <td>boolean</td>
    <td>false</td>
    <td>Whether the animation should be affected by the walk speed.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_easeinspeed" data-tt-parent="p_animations">easeinspeed</div></td>
    <td>decimal number</td>
    <td>10</td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_easeoutspeed" data-tt-parent="p_animations">easeoutspeed</div></td>
    <td>decimal number</td>
    <td>10</td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby" data-tt-parent="p_animations">triggeredby</div></td>
    <td></td>
    <td></td>
    <td>Specifies by what the animation is triggered.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols" data-tt-parent="p_animations_triggeredby">oncontrols</div></td>
    <td>array of object</td>
    <td></td>
    <td>An array of activities.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_none" data-tt-parent="p_animations_triggeredby_oncontrols">none</div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_idle" data-tt-parent="p_animations_triggeredby_oncontrols">idle</div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_move" data-tt-parent="p_animations_triggeredby_oncontrols">move</div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_sprintmode" data-tt-parent="p_animations_triggeredby_oncontrols">sprintmode</div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_sneakmode" data-tt-parent="p_animations_triggeredby_oncontrols">sneakmode</div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_fly" data-tt-parent="p_animations_triggeredby_oncontrols">fly</div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_swim" data-tt-parent="p_animations_triggeredby_oncontrols">swim</div></td>
     <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_jump" data-tt-parent="p_animations_triggeredby_oncontrols">jump</div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_fall" data-tt-parent="p_animations_triggeredby_oncontrols">fall</div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_climb" data-tt-parent="p_animations_triggeredby_oncontrols">climb</div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_floorsitting" data-tt-parent="p_animations_triggeredby_oncontrols">floorsitting</div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_dead" data-tt-parent="p_animations_triggeredby_oncontrols">dead</div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_break" data-tt-parent="p_animations_triggeredby_oncontrols">break</div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_oncontrols_place" data-tt-parent="p_animations_triggeredby_oncontrols">place</div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_matchexact" data-tt-parent="p_animations_triggeredby">matchexact</div></td>
    <td>boolean</td>
    <td>false</td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_triggeredby_defaultanim" data-tt-parent="p_animations_triggeredby">defaultanim</div></td>
    <td>boolean</td>
    <td>false</td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_blendmode" data-tt-parent="p_animations">blendmode</div></td>
    <td>string</td>
    <td></td>
    <td>Animation blend mode for all elements.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_blendmode_add" data-tt-parent="p_animations_blendmode">add</div></td>
    <td></td>
    <td></td>
    <td>Add the animation without taking other animations into considerations.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_blendmode_average" data-tt-parent="p_animations_blendmode">average</div></td>
    <td></td>
    <td></td>
    <td>Add the pose and average it together with all other running animations with blendmode Average or AddAverage.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_blendmode_addaverage" data-tt-parent="p_animations_blendmode">addaverage</div></td>
    <td></td>
    <td></td>
    <td>Add the animation without taking other animations into consideration, but add it's weight for averaging.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_animations_elementblendmode" data-tt-parent="p_animations">elementblendmode</div></td>
    <td>key: string, value: string</td>
    <td></td>
    <td>Allows you to specify a blend mode for each element individually.</td>
   </tr>
   </tr>
   <tr>
   <tr>
Line 552: Line 733:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_attributes_server" data-tt-parent="root">Attributes</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_attributes_server" data-tt-parent="root">attributes</div></td>
     <td>key: string, value: object</td>
     <td>key: string, value: object</td>
     <td>-</td>
     <td>-</td>
Line 569: Line 750:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_behaviors_server" data-tt-parent="root">Behaviors</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_behaviors_server" data-tt-parent="root">behaviors</div></td>
     <td>array of object</td>
     <td>array of object</td>
     <td></td>
     <td></td>
Line 581: Line 762:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions" data-tt-parent="root">SpawnConditions</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions" data-tt-parent="root">spawnConditions</div></td>
     <td>object</td>
     <td>object</td>
     <td>-</td>
     <td>-</td>
Line 587: Line 768:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime" data-tt-parent="p_spawnconditions">Runtime</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime" data-tt-parent="p_spawnconditions">runtime</div></td>
    <td>object</td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_group" data-tt-parent="p_spawnconditions_runtime">group</div></td>
    <td>string</td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_chance" data-tt-parent="p_spawnconditions_runtime">chance</div></td>
    <td>decimal number</td>
    <td>1.0</td>
    <td>How long it takes to make an attempt to spawn the entity: 1.0 -> 4 seconds, 0.1 -> 40 seconds.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_maxquantity" data-tt-parent="p_spawnconditions_runtime">maxquantity</div></td>
    <td>integer</td>
    <td>20</td>
    <td>Maximum number of entities inside the chunk, if this is exceeded the entity will not spawn there.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_mindistancetoplayer" data-tt-parent="p_spawnconditions_runtime">mindistancetoplayer</div></td>
    <td>integer</td>
    <td>18</td>
    <td>Minimum distance the entity can spawn away from the player.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_minlightlevel" data-tt-parent="p_spawnconditions_runtime">minlightlevel</div></td>
    <td>integer</td>
    <td>0</td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_maxlightlevel" data-tt-parent="p_spawnconditions_runtime">maxlightlevel</div></td>
    <td>integer</td>
    <td>32</td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_lightleveltype" data-tt-parent="p_spawnconditions_runtime" data-hide="true">lightleveltype</div></td>
    <td>string</td>
    <td>&quot;MaxLight&quot;</td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_group_onlyblocklight" data-tt-parent="p_spawnconditions_runtime_lightleveltype">onlyblocklight</div></td>
    <td></td>
    <td></td>
    <td>Will get you just the block light</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_group_onlysunLight" data-tt-parent="p_spawnconditions_runtime_lightleveltype">onlysunlight</div></td>
    <td></td>
    <td></td>
    <td>Will get you just the sun light unaffected by the day/night cycle</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_group_maxlight" data-tt-parent="p_spawnconditions_runtime_lightleveltype">maxlight</div></td>
    <td></td>
    <td></td>
    <td>Will get you max(onlysunlight, onlyblocklight)</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_group_maxtimeofdaylight" data-tt-parent="p_spawnconditions_runtime_lightleveltype">maxtimeofdaylight</div></td>
    <td></td>
    <td></td>
    <td>Will get you max(sunlight * sunbrightness, blocklight)</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_groupsize" data-tt-parent="p_spawnconditions_runtime">groupsize</div></td>
    <td>object</td>
    <td><code>{ avg: 1, var: 0 } </code></td>
    <td>Determines the size of the group. By default the size of the group is always one. Find out more about the [[Json Random Generator|random generator]].</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_companions" data-tt-parent="p_spawnconditions_runtime">companions</div></td>
    <td>array of string</td>
    <td>-</td>
    <td>Codes of all possible companions.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_insideblockcodes" data-tt-parent="p_spawnconditions_runtime">insideblockcodes</div></td>
    <td>array of string</td>
    <td><code>[ "game:air" ]</code></td>
    <td>The block codes in which the entity can spawn. Entities which can spawn underwater might use <code>[ "game:water" ]</code> instead.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_requiresolidground" data-tt-parent="p_spawnconditions_runtime">requiresolidground</div></td>
    <td>boolean</td>
    <td>true</td>
    <td>If the entity requires a solid block below it. For example birds and fishes do not require it.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_tryonlysurface" data-tt-parent="p_spawnconditions_runtime">tryonlysurface</div></td>
    <td>boolean</td>
    <td>false</td>
    <td>If false the game will also try to spawn the entity below the surface (in a cave for example). For ordinary animals this should be true so they only spawn on the surface.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_mintemp" data-tt-parent="p_spawnconditions_runtime">mintemp</div></td>
    <td>integer</td>
    <td>-40</td>
    <td>Minimum temperature at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_maxtemp" data-tt-parent="p_spawnconditions_runtime">maxtemp</div></td>
    <td>integer</td>
    <td>40</td>
    <td>Maximum temperature at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_minrain" data-tt-parent="p_spawnconditions_runtime">minrain</div></td>
    <td>decimal number</td>
    <td>0</td>
    <td>Minimum rain average at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_maxrain" data-tt-parent="p_spawnconditions_runtime">maxrain</div></td>
    <td>decimal number</td>
    <td>1</td>
    <td>Maximum rain average at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_minforest" data-tt-parent="p_spawnconditions_runtime">minforest</div></td>
    <td>decimal number</td>
    <td>0</td>
    <td>Minimum forest density at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_maxforest" data-tt-parent="p_spawnconditions_runtime">maxforest</div></td>
    <td>decimal number</td>
    <td>1</td>
    <td>Maximum forest density at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_minshrubs" data-tt-parent="p_spawnconditions_runtime">minshrubs</div></td>
    <td>decimal number</td>
    <td>0</td>
    <td>Minimum shrubs density at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_maxshrubs" data-tt-parent="p_spawnconditions_runtime">maxshrubs</div></td>
    <td>decimal number</td>
    <td>1</td>
    <td>Maximum shrubs density at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_minforestorshrubs" data-tt-parent="p_spawnconditions_runtime">minforestorshrubs</div></td>
    <td>decimal number</td>
    <td>0</td>
    <td>Minimum shrubs or forest density at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen" data-tt-parent="p_spawnconditions">worldgen</div></td>
     <td>object</td>
     <td>object</td>
     <td></td>
     <td></td>
Line 593: Line 930:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_group" data-tt-parent="p_spawnconditions_runtime">Group</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_group" data-tt-parent="p_spawnconditions_worldgen">group</div></td>
     <td>string</td>
     <td>string</td>
     <td></td>
     <td></td>
Line 599: Line 936:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_minlightlevel" data-tt-parent="p_spawnconditions_runtime">MinLightLevel</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_triesperchunk" data-tt-parent="p_spawnconditions_worldgen">triesperchunk</div></td>
    <td>object</td>
    <td>zero</td>
    <td>How many tries per chunk the entity has to spawn. Find out more about the [[Json Random Generator|random generator]].</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_minlightlevel" data-tt-parent="p_spawnconditions_worldgen">minlightlevel</div></td>
     <td>integer</td>
     <td>integer</td>
     <td>0</td>
     <td>0</td>
Line 605: Line 948:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_maxlightlevel" data-tt-parent="p_spawnconditions_runtime">MaxLightLevel</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_maxlightlevel" data-tt-parent="p_spawnconditions_worldgen">maxlightlevel</div></td>
     <td>integer</td>
     <td>integer</td>
     <td>32</td>
     <td>32</td>
Line 611: Line 954:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_lightleveltype" data-tt-parent="p_spawnconditions_runtime" data-hide="true">LightLevelType</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_lightleveltype" data-tt-parent="p_spawnconditions_worldgen" data-hide="true">lightleveltype</div></td>
     <td>string</td>
     <td>string</td>
     <td>&quot;MaxLight&quot;</td>
     <td>&quot;MaxLight&quot;</td>
Line 617: Line 960:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_group_onlyblocklight" data-tt-parent="p_spawnconditions_runtime_lightleveltype">OnlyBlockLight</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_group_onlyblocklight" data-tt-parent="p_spawnconditions_worldgen_lightleveltype">onlyblocklight</div></td>
     <td></td>
     <td></td>
     <td></td>
     <td></td>
Line 623: Line 966:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_group_onlysunLight" data-tt-parent="p_spawnconditions_runtime_lightleveltype">OnlySunLight</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_group_onlysunLight" data-tt-parent="p_spawnconditions_worldgen_lightleveltype">onlysunlight</div></td>
     <td></td>
     <td></td>
     <td></td>
     <td></td>
Line 629: Line 972:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_group_maxlight" data-tt-parent="p_spawnconditions_runtime_lightleveltype">MaxLight</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_group_maxlight" data-tt-parent="p_spawnconditions_worldgen_lightleveltype">maxlight</div></td>
     <td></td>
     <td></td>
     <td></td>
     <td></td>
Line 635: Line 978:
   </tr>
   </tr>
   <tr>
   <tr>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_runtime_group_maxtimeofdaylight" data-tt-parent="p_spawnconditions_runtime_lightleveltype">MaxTimeOfDayLight</div></td>
     <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_group_maxtimeofdaylight" data-tt-parent="p_spawnconditions_worldgen_lightleveltype">maxtimeofdaylight</div></td>
     <td></td>
     <td></td>
     <td></td>
     <td></td>
     <td>Will get you max(sunlight * sunbrightness, blocklight)</td>
     <td>Will get you max(sunlight * sunbrightness, blocklight)</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_groupsize" data-tt-parent="p_spawnconditions_worldgen">groupsize</div></td>
    <td>object</td>
    <td><code>{ avg: 1, var: 0 } </code></td>
    <td>Determines the size of the group. By default the size of the group is always one. Find out more about the [[Json Random Generator|random generator]].</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_companions" data-tt-parent="p_spawnconditions_worldgen">companions</div></td>
    <td>array of string</td>
    <td>-</td>
    <td>Codes of all possible companions.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_insideblockcodes" data-tt-parent="p_spawnconditions_worldgen">insideblockcodes</div></td>
    <td>array of string</td>
    <td><code>[ "game:air" ]</code></td>
    <td>The block codes in which the entity can spawn. Entities which can spawn underwater might use <code>[ "game:water" ]</code> instead.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_requiresolidground" data-tt-parent="p_spawnconditions_worldgen">requiresolidground</div></td>
    <td>boolean</td>
    <td>true</td>
    <td>If the entity requires a solid block below it. For example birds and fishes do not require it.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_tryonlysurface" data-tt-parent="p_spawnconditions_worldgen">tryonlysurface</div></td>
    <td>boolean</td>
    <td>false</td>
    <td>If false the game will also try to spawn the entity below the surface (in a cave for example). For ordinary animals this should be true so they only spawn on the surface.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_mintemp" data-tt-parent="p_spawnconditions_worldgen">mintemp</div></td>
    <td>integer</td>
    <td>-40</td>
    <td>Minimum temperature at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_maxtemp" data-tt-parent="p_spawnconditions_worldgen">maxtemp</div></td>
    <td>integer</td>
    <td>40</td>
    <td>Maximum temperature at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_minrain" data-tt-parent="p_spawnconditions_worldgen">minrain</div></td>
    <td>decimal number</td>
    <td>0</td>
    <td>Minimum rain average at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_maxrain" data-tt-parent="p_spawnconditions_worldgen">maxrain</div></td>
    <td>decimal number</td>
    <td>1</td>
    <td>Maximum rain average at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_minforest" data-tt-parent="p_spawnconditions_worldgen">minforest</div></td>
    <td>decimal number</td>
    <td>0</td>
    <td>Minimum forest density at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_maxforest" data-tt-parent="p_spawnconditions_worldgen">maxforest</div></td>
    <td>decimal number</td>
    <td>1</td>
    <td>Maximum forest density at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_minshrubs" data-tt-parent="p_spawnconditions_worldgen">minshrubs</div></td>
    <td>decimal number</td>
    <td>0</td>
    <td>Minimum shrubs density at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_maxshrubs" data-tt-parent="p_spawnconditions_worldgen">maxshrubs</div></td>
    <td>decimal number</td>
    <td>1</td>
    <td>Maximum shrubs density at which the entity can spawn.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_spawnconditions_worldgen_minforestorshrubs" data-tt-parent="p_spawnconditions_worldgen">minforestorshrubs</div></td>
    <td>decimal number</td>
    <td>0</td>
    <td>Minimum shrubs or forest density at which the entity can spawn.</td>
   </tr>
   </tr>


       
   <tr>
   <tr>
     <td colspan="4" style='font-size: 14pt; border-bottom: 2pt solid black; padding-left: 100px;'><b>}</b></td>
     <td colspan="4" style='font-size: 14pt; border-bottom: 2pt solid black; padding-left: 100px;'><b>}</b></td>
Confirmedusers, Bureaucrats, editor, Administrators
1,522

edits