Difference between revisions of "Farm Animal"

From wiki
Jump to: navigation, search
(Initial commit.)
 
(Flesh out some sections better. Also fix formatting and copy paste errors.)
Line 76: Line 76:
  
 
== "animationParameters" ==
 
== "animationParameters" ==
This is a blob containing the values of certain animation parameters. Will be elaborated upon later.
+
This is a blob containing the values of how the animal can move and the animation that goes with that. It will commonly look like;
 +
 
 +
<pre>
 +
"animationParameters": {
 +
  "WalkingStrideCycleLength": 0.5,
 +
  "SwimmingStrideCycleLength": 0.5,
 +
  "MaxWalkingSpeed": 2.0,
 +
  "RunningStrideCycleLength": 2.0,
 +
  "MinRunningSpeed": 3.0,
 +
  "AnimationJitterFactor": 1.0
 +
},
 +
</pre>
 +
 
 +
=== "AnimationJitterFactor" ===
 +
'''Valid options ([[Modding_Key_Terms#Float|Float]]): <code>A positive decimal number.</code>'''
 +
 
 +
'''Default Value:''' No default value is specified. Always need to provide your own.
 +
 
 +
 
 +
This is how much the animation will vary from frame to frame. This effectively changes the animation playing speed where a value of 10 will play the animation 10 times as fast, while 0.1 will take 10 times as long to complete.
 +
 
 +
 
 +
=== "MaxWalkingSpeed" ===
 +
'''Valid options ([[Modding_Key_Terms#Float|Float]]): <code>A positive decimal number.</code>'''
 +
 
 +
'''Default Value:''' No default value is specified. Always need to provide your own.
 +
 
 +
 
 +
This is the minimum velocity the animal will change its animation to. Going slower than this value will not make the animal animate slower.
 +
 
 +
 
 +
=== "MinRunningSpeed" ===
 +
'''Valid options ([[Modding_Key_Terms#Float|Float]]): <code>A positive decimal number.</code>'''
 +
 
 +
'''Default Value:''' No default value is specified. Always need to provide your own.
 +
 
 +
 
 +
This is the maximum velocity the animal will change its animation to. Going higher than this value will not make the animal animate faster.
 +
 
 +
 
 +
=== "RunningStrideCycleLength" ===
 +
'''Valid options ([[Modding_Key_Terms#Float|Float]]): <code>A positive decimal number.</code>'''
 +
 
 +
'''Default Value:''' No default value is specified. Always need to provide your own.
 +
 
 +
 
 +
This is the highest value for how long the running stride will take. Smaller values mean that the animation will repeat more often over a set distance.
 +
 
 +
 
 +
=== "SwimmingStrideCycleLength" ===
 +
'''Valid options ([[Modding_Key_Terms#Float|Float]]): <code>A positive decimal number.</code>'''
 +
 
 +
'''Default Value:''' No default value is specified. Always need to provide your own.
 +
 
 +
 
 +
This is the value for how long the swimming stride will take. Smaller values mean that the animation will repeat more often over a set distance.
 +
 
 +
 
 +
=== "WalkingStrideCycleLength" ===
 +
'''Valid options ([[Modding_Key_Terms#Float|Float]]): <code>A positive decimal number.</code>'''
 +
 
 +
'''Default Value:''' No default value is specified. Always need to provide your own.
 +
 
 +
 
 +
This is the lowest value for how long the running stride will take. Smaller values mean that the animation will repeat more often over a set distance.
  
  
Line 83: Line 147:
  
 
<pre>
 
<pre>
  "catatonic": {
+
"catatonic": {
    "emotes": [ "staxel.emote.farmAnimals.Eaiting_1"],
+
  "emotes": [ "staxel.emote.farmAnimals.Eaiting_1"],
  },
+
},
 
</pre>
 
</pre>
  
Line 112: Line 176:
  
  
This is a list of blobs which contain information for the design of the animal.
+
This is a list of blobs containing all the different [[Villager Designs]] the animal can take. Often this is only used to specify the [[Species]], gender, and [[Personalities]] of the animal and not to specify the clothing of the animal.
  
  
 
== "despawnBehaviourKind" ==
 
== "despawnBehaviourKind" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|String]] ): <code>A list of strings containing the name of a behaviour.</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|Strings]]): <code>A list of strings containing the name of a behaviour.</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
Line 125: Line 189:
  
 
== "eggs" ==
 
== "eggs" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#Blobs|Blob]] ): <code>A list of blobs containing [[Items]].</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#Blobs|Blobs]]): <code>A list of blobs containing [[Items]].</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
Line 216: Line 280:
  
 
== "idleBehaviours" ==
 
== "idleBehaviours" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|String]] ): <code>A list of strings containing the name of a behaviour.</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|Strings]]): <code>A list of strings containing the name of a behaviour.</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
Line 234: Line 298:
  
 
== "milkingBehaviours" ==
 
== "milkingBehaviours" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|String]] ): <code>A list of strings containing the name of a behaviour.</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|Strings]]): <code>A list of strings containing the name of a behaviour.</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
Line 243: Line 307:
  
 
== "milks" ==
 
== "milks" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#Blobs|Blob]] ): <code>A list of blobs containing [[Items]].</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#Blobs|Blobs]]): <code>A list of blobs containing [[Items]].</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
Line 251: Line 315:
  
  
=== "models" ===
+
== "models" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|String]]): <code>A list of strings each containing the path to a model.</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|Strings]]): <code>A list of strings each containing the path to a model.</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
Line 270: Line 334:
  
 
== "names" ==
 
== "names" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|String]] ): <code>A list of strings containing any valid values.</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|Strings]]): <code>A list of strings containing any valid values.</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
Line 278: Line 342:
  
  
=== "nudeModels" ===
+
== "nudeModels" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|String]]): <code>A list of strings each containing the path to a model.</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|Strings]]): <code>A list of strings each containing the path to a model.</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
Line 288: Line 352:
  
 
== "playBehaviours" ==
 
== "playBehaviours" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|String]] ): <code>A list of strings containing the name of a behaviour.</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|Strings]]): <code>A list of strings containing the name of a behaviour.</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
Line 297: Line 361:
  
 
== "poops" ==
 
== "poops" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#Blobs|Blob]] ): <code>A list of blobs containing [[Items]].</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#Blobs|Blobs]]): <code>A list of blobs containing [[Items]].</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
Line 324: Line 388:
  
 
== "shearingBehaviours" ==
 
== "shearingBehaviours" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|String]] ): <code>A list of strings containing the name of a behaviour.</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|Strings]]): <code>A list of strings containing the name of a behaviour.</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
Line 342: Line 406:
  
 
== "spawnBehaviours" ==
 
== "spawnBehaviours" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|String]] ): <code>A list of strings containing the name of a behaviour.</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|Strings]]): <code>A list of strings containing the name of a behaviour.</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
Line 397: Line 461:
  
 
== "unhappyBehaviours" ==
 
== "unhappyBehaviours" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|String]] ): <code>A list of strings containing the name of a behaviour.</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#String|Strings]]): <code>A list of strings containing the name of a behaviour.</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
Line 415: Line 479:
  
 
== "wools" ==
 
== "wools" ==
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#Blobs|Blob]] ): <code>A list of blobs containing [[Items]].</code>'''
+
'''Valid options ([[Modding_Key_Terms#List|List]] of [[Modding_Key_Terms#Blobs|Blobs]]): <code>A list of blobs containing [[Items]].</code>'''
  
 
'''Default Value:''' No default value is specified. Always need to provide your own.
 
'''Default Value:''' No default value is specified. Always need to provide your own.
  
  
This is the list of items you want the Animal to give when they are sheared. Each of these items will need to follow the [[Items#Universal Spawning Rules]] of normal items.
+
This is the list of items you want the Animal to give when they are sheared. Each of these items will need to follow the [[Items#Universal Spawning Rules]] of normal items.
 
+
 
+
 
+
 
+
 
+
 
+
== "merchant" ==
+
This is an optional [[Modding_Key_Terms#Blob|Blob]] that contains information on the merchant that will stand nearby the stall. It will commonly look like;
+
 
+
<pre>
+
"merchant" : {
+
  "name" : "Melissa",
+
  "dialogue" : "staxel.village.dialogue.FunStuffVendor",
+
  "offset" : { "x" : 2, "y" : 1.0, "z" : -5 },
+
  "outfit" : { //exclude for random
+
    "accessory" : "",
+
    "shirt" : "staxel.accessories.fullBodyOutfits.MagicMerchant",
+
    "trousers" : "",
+
    "shoes" : "",
+
    "hat" : "",
+
  }
+
}
+
</pre>
+
 
+
=== "dialogue" ===
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Dialogue]] file.</code>'''
+
 
+
'''Default Value:''' No default value is specified. Always need to provide your own.
+
 
+
 
+
This is the dialogue that the merchant will use.
+
 
+
 
+
=== "name" ===
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>Any valid String.</code>'''
+
 
+
'''Default Value:''' No default value is specified. Always need to provide your own.
+
 
+
 
+
This is the merchant's name.
+
 
+
 
+
=== "offset" ===
+
'''Valid options ([[Modding_Key_Terms#Vector 3|Vector 3]] - [[Modding_Key_Terms#Double|Double]]): <code>{ "x": 0, "y": 0, "z": 0 }</code>'''
+
 
+
'''Default Value:''' No default value is specified. Always need to provide your own.
+
 
+
 
+
This is the Merchant NPC's offset compared to the location of the centre tile.
+
 
+
 
+
=== "outfit" ===
+
This is a [[Modding_Key_Terms#Blob|Blob]] that contains information on the merchants outfit. It will commonly look like;
+
 
+
<pre>
+
"outfit" : {
+
  "accessory" : "",
+
  "shirt" : "staxel.accessories.fullBodyOutfits.MagicMerchant",
+
  "trousers" : "",
+
  "shoes" : "",
+
  "hat" : "",
+
}
+
</pre>
+
 
+
==== "accessory" ====
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Accessory]] file.</code>'''
+
 
+
'''Default Value:''' If not specified, will not spawn any Accessory.
+
 
+
 
+
This is the accessory that will be spawned for the accessory slot of the merchant.
+
 
+
 
+
==== "accessoryPalette" ====
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Palettes|Palette]] file.</code>'''
+
 
+
'''Default Value:''' If not specified, will keep the default palette for the accessory.
+
 
+
 
+
This is the palette that will be used for the accessory.
+
 
+
 
+
==== "shirt" ====
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Accessory]] file.</code>'''
+
 
+
'''Default Value:''' If not specified, will spawn a random shirt accessory. You can specify an empty string (e.g. "") to not have any accessory spawn.
+
 
+
 
+
This is the accessory that will be spawned for the shirt slot of the merchant.
+
 
+
 
+
==== "shirtPalette" ====
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Palettes|Palette]] file.</code>'''
+
 
+
'''Default Value:''' If not specified, will keep the default palette for the accessory.
+
 
+
 
+
This is the palette that will be used for the shirt.
+
 
+
 
+
==== "trousers" ====
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Accessory]] file.</code>'''
+
 
+
'''Default Value:''' If not specified, will spawn a random trousers accessory. You can specify an empty string (e.g. "") to not have any accessory spawn.
+
 
+
 
+
This is the accessory that will be spawned for the trousers slot of the merchant.
+
 
+
 
+
==== "trousersPalette" ====
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Palettes|Palette]] file.</code>'''
+
 
+
'''Default Value:''' If not specified, will keep the default palette for the accessory.
+
 
+
 
+
This is the palette that will be used for the trousers.
+
 
+
 
+
==== "shoes" ====
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Accessory]] file.</code>'''
+
 
+
'''Default Value:''' If not specified, will spawn a random shoes accessory. You can specify an empty string (e.g. "") to not have any accessory spawn.
+
 
+
 
+
This is the accessory that will be spawned for the shoes slot of the merchant.
+
 
+
 
+
==== "shoesPalette" ====
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Palettes|Palette]] file.</code>'''
+
 
+
'''Default Value:''' If not specified, will keep the default palette for the accessory.
+
 
+
 
+
This is the palette that will be used for the shoes.
+
 
+
 
+
==== "hat" ====
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Accessory]] file.</code>'''
+
 
+
'''Default Value:''' If not specified, will not spawn any Accessory.
+
 
+
 
+
This is the accessory that will be spawned for the hat slot of the merchant.
+
 
+
 
+
==== "hatPalette" ====
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Palettes|Palette]] file.</code>'''
+
 
+
'''Default Value:''' If not specified, will keep the default palette for the accessory.
+
 
+
 
+
This is the palette that will be used for the hat.
+
 
+
 
+
== "sellBox" ==
+
This is an optional [[Modding_Key_Terms#Blob|Blob]] that contains information on the sell box. It will commonly look like;
+
 
+
<pre>
+
"sellBox" :
+
{
+
  "tile" : "staxel.merchants.SellBox",
+
  "offset" : { "x" : 1, "y" : 0, "z" : 3 }
+
},
+
</pre>
+
 
+
=== "offset" ===
+
'''Valid options ([[Modding_Key_Terms#Vector 3|Vector 3]] - [[Modding_Key_Terms#Integer|Integer]]): <code>{ "x": 0, "y": 0, "z": 0 }</code>'''
+
 
+
'''Default Value:''' No default value is specified. Always need to provide your own.
+
 
+
 
+
This is the sell box's offset compared to the location of the centre tile.
+
 
+
 
+
=== "tile" ===
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Tile]] file.</code>'''
+
 
+
'''Default Value:''' No default value is specified. Always need to provide your own.
+
 
+
 
+
This is the tile that will be used to act as the Sell Box. This tile should have a [[Docks|Dock Definition]] with a site that enables selling.
+
 
+
 
+
== "stall" ==
+
This is a [[Modding_Key_Terms#Blob|Blob]] that contains information on how the stall should look and what it should sell. It will commonly look like;
+
 
+
<pre>
+
"stall" :
+
{
+
    "tile" : "staxel.merchants.carts.BuildingMerchant",
+
    "treasurePool" : "staxel.treasure.funStuff"
+
},
+
</pre>
+
 
+
=== "tile" ===
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Tile]] file.</code>'''
+
 
+
'''Default Value:''' No default value is specified. Always need to provide your own.
+
 
+
 
+
This is the tile that will be used to act as the stall. This tile should have a [[Docks|Dock Definition]] with multiple sites.
+
 
+
 
+
=== "treasurePool" ===
+
'''Valid options ([[Modding_Key_Terms#String|String]]): <code>A string containing the code to a [[Treasure Pools|Treasure Pool]] file.</code>'''
+
 
+
'''Default Value:''' If not specified, will not fill any docks. If [[#"treasurePools"]] is specified, this will act second.
+
 
+
 
+
This is the Treasure Pool that will be used in order to fill docks in the stall. Will keep going until either the Treasure Pool has no more entries, or all docks are filled.
+
 
+
 
+
=== "treasurePools" ===
+
This is a [[Modding_Key_Terms#Blob|Blob]] that contains no specified variables. However, you do add more variables to this blob yourself.
+
 
+
Each variable in this file will have the name of the [[Docks#"siteName"]] as the property name. This property is then also a bool, which contains a single property. This single property is named "pool" which contains the treasure pool that should be used at this particular site.
+
 
+
This can commonly look like;
+
<pre>
+
"treasurePools" : {
+
  "body" : {
+
    "pool" : "staxel.treasure.mannequin.dresses"
+
  },
+
  "site2" : {
+
    "pool" : "staxel.treasure.something"
+
  }
+
}
+
</pre>
+
 
+
Which will fill the body site with dresses and the second site with something else.
+

Revision as of 02:05, 14 November 2017

In Staxel, *.farmAnimal files are used to specify a Animal. It specifies the following;

  • What the animal's model and body type is.
  • What behaviours the animal will have.
  • What the animal will give under certain circumstances.

Animals are probably the most complex file to make from scratch. They touch on so many different areas that it isn't uncommon to see at least 7 files per Animal.

Creating a *.farmAnimal file

Config Options

"code"

Valid options (String): A unique string which species what this Farm Animal is.

Default Value: No default value is specified. Always need to provide your own.


A string containing the code of the farm animal the blob will be referring to.


"airResistance"

Valid options (Double): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is the amount of resistance to movement the animal will have while on the ground.


"animationParameters"

This is a blob containing the values of how the animal can move and the animation that goes with that. It will commonly look like;

"animationParameters": {
  "WalkingStrideCycleLength": 0.5,
  "SwimmingStrideCycleLength": 0.5,
  "MaxWalkingSpeed": 2.0,
  "RunningStrideCycleLength": 2.0,
  "MinRunningSpeed": 3.0,
  "AnimationJitterFactor": 1.0
},

"AnimationJitterFactor"

Valid options (Float): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is how much the animation will vary from frame to frame. This effectively changes the animation playing speed where a value of 10 will play the animation 10 times as fast, while 0.1 will take 10 times as long to complete.


"MaxWalkingSpeed"

Valid options (Float): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is the minimum velocity the animal will change its animation to. Going slower than this value will not make the animal animate slower.


"MinRunningSpeed"

Valid options (Float): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is the maximum velocity the animal will change its animation to. Going higher than this value will not make the animal animate faster.


"RunningStrideCycleLength"

Valid options (Float): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is the highest value for how long the running stride will take. Smaller values mean that the animation will repeat more often over a set distance.


"SwimmingStrideCycleLength"

Valid options (Float): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is the value for how long the swimming stride will take. Smaller values mean that the animation will repeat more often over a set distance.


"WalkingStrideCycleLength"

Valid options (Float): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is the lowest value for how long the running stride will take. Smaller values mean that the animation will repeat more often over a set distance.


"catatonic"

This is a Blob that contains information on the what the effects that will play when the animal is playing the "staxel.farmAnimalBehaviour.Catatonic" behaviour. (Most commonly done while despawning.) It will commonly look like;

"catatonic": {
  "emotes": [ "staxel.emote.farmAnimals.Eaiting_1"],
},

"emotes"

Valid options (List of Strings): A list of strings each containing the code to a Emote file.

Default Value: No default value is specified. Always need to provide your own.


This is the list of emotes that will be randomly selected in when showing the animal is catatonic.


"crateTile"

Valid options (String): A string containing the code to a Tile

Default Value: No default value is specified. Always need to provide your own.


This is the tile that is given when attempting to capture this animal. It should be the same one to spawn the animal, although it can be different.


"designs"

Valid options (List of Blobs ): A list of blobs.

Default Value: No default value is specified. Always need to provide your own.


This is a list of blobs containing all the different Villager Designs the animal can take. Often this is only used to specify the Species, gender, and Personalities of the animal and not to specify the clothing of the animal.


"despawnBehaviourKind"

Valid options (List of Strings): A list of strings containing the name of a behaviour.

Default Value: No default value is specified. Always need to provide your own.


This is a list of behaviours that the animal will use when despawning from the world. The full list of Behaviour codes and what they do is listed under Animal Behaviours.


"eggs"

Valid options (List of Blobs): A list of blobs containing Items.

Default Value: No default value is specified. Always need to provide your own.


This is the list of items you want the Animal to lay on occasion. Each of these items will need to follow the Items#Universal Spawning Rules of normal items.


"eatsFromHand"

Valid options (Bool): True or False

Default Value: No default value is specified. Always need to provide your own.


This will be elaborated upon at a later point.


"eatsGrass"

Valid options (Bool): True or False

Default Value: No default value is specified. Always need to provide your own.


This will determine if the animal will actually eat the tile tile and lose hunger. Will do nothing unless #"grazes" is true.


"eating"

This is a Blob that contains information on the what the effects that will play when the animal is eating. It will commonly look like;

  "happy": {
    "emotes": [ "staxel.emote.farmAnimals.Eaiting_1"],
  },

"emotes"

Valid options (List of Strings): A list of strings each containing the code to a Emote file.

Default Value: No default value is specified. Always need to provide your own.


This is the list of emotes that will be randomly selected in when showing the animal is eating.


"feedKind"

Valid options (String): Any valid string.

Default Value: No default value is specified. Always need to provide your own.


This is the string containing what the animal will eat. This animal will then proceed to eat from Tiles that have a Feeder Component with this particular string.


"grazes"

Valid options (Bool): True or False

Default Value: No default value is specified. Always need to provide your own.


This will determine whether or not the Animal will show the eating the ground animation. This will not determine if the animal will turn the grass to dirt. (That is decided by #"eatsGrass".)


"happy"

This is a Blob that contains information on the what the effects that will play when the animal is happy. It will commonly look like;

  "happy": {
    "emotes": [ "staxel.emote.farmAnimals.Happy_1"],
    "sounds": [ "staxel.sounds.farmAnimals.Chicken.happy_1"]
  },

"emotes"

Valid options (List of Strings): A list of strings each containing the code to a Emote file.

Default Value: No default value is specified. Always need to provide your own.


This is the list of emotes that will be randomly selected in when showing the animal is happy.


"sounds"

Valid options (List of Strings): A list of strings each containing the code to a Sound file.

Default Value: No default value is specified. Always need to provide your own.


This is the list of sounds that will be randomly selected in when showing the animal is happy.


"idleBehaviours"

Valid options (List of Strings): A list of strings containing the name of a behaviour.

Default Value: No default value is specified. Always need to provide your own.


This is a list of behaviours that the animal will use when the animal is considered Idle. This is often the default behaviour. The full list of Behaviour codes and what they do is listed under Animal Behaviours.


"jumpForce"

Valid options (Double): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is the force the will get applied when the animal starts to jump. Be sure to set this high enough for your animal to get over blocks.


"milkingBehaviours"

Valid options (List of Strings): A list of strings containing the name of a behaviour.

Default Value: No default value is specified. Always need to provide your own.


This is a list of behaviours that the animal will use when the animal is being milked. The full list of Behaviour codes and what they do is listed under Animal Behaviours.


"milks"

Valid options (List of Blobs): A list of blobs containing Items.

Default Value: No default value is specified. Always need to provide your own.


This is the list of items you want the Animal to give when they are milked. Each of these items will need to follow the Items#Universal Spawning Rules of normal items.


"models"

Valid options (List of Strings): A list of strings each containing the path to a model.

Default Value: No default value is specified. Always need to provide your own.


This is a list of models that will be randomly used when creating the animal.


"movementVelocity"

Valid options (Double): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is the maximum speed that the Animal will move at.


"names"

Valid options (List of Strings): A list of strings containing any valid values.

Default Value: No default value is specified. Always need to provide your own.


This is a list of names that will be randomly given to the animal upon spawning.


"nudeModels"

Valid options (List of Strings): A list of strings each containing the path to a model.

Default Value: No default value is specified. Always need to provide your own.


This is a list of models that will be randomly used when the animal is sheared. They will go back to a normal model after regrowing their wool.


"playBehaviours"

Valid options (List of Strings): A list of strings containing the name of a behaviour.

Default Value: No default value is specified. Always need to provide your own.


This is a list of behaviours that the animal will use when the animal is interacted with. These behaviours are special and are usually associated with specific items. Such as those with the Throwable Component. The full list of Behaviour codes and what they do is listed under Animal Behaviours.


"poops"

Valid options (List of Blobs): A list of blobs containing Items.

Default Value: No default value is specified. Always need to provide your own.


This is the list of items you want the Animal to poop out on occasion. Each of these items will need to follow the Items#Universal Spawning Rules of normal items.


"pushedForce"

Valid options (Double): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is the force the will get applied when the animal when it gets pushed. This particular force happens when the animal is idle. (i.e. Not doing anything.)


"resistedPushedForce"

Valid options (Double): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is the force the will get applied when the animal when it gets pushed. This particular force happens when the animal is not idle. (i.e. Moving, eating etc)


"shearingBehaviours"

Valid options (List of Strings): A list of strings containing the name of a behaviour.

Default Value: No default value is specified. Always need to provide your own.


This is a list of behaviours that the animal will use when the animal is being sheared. The full list of Behaviour codes and what they do is listed under Animal Behaviours.


"sleepy"

Valid options (Bool): True or False

Default Value: If not specified, will default to false.


This will determine if the animal will randomly sleep throughout the day.


"spawnBehaviours"

Valid options (List of Strings): A list of strings containing the name of a behaviour.

Default Value: No default value is specified. Always need to provide your own.


This is a list of behaviours that the animal will use when spawning into the world. The full list of Behaviour codes and what they do is listed under Animal Behaviours.


"standingResistance"

Valid options (Double): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is the amount of resistance to movement the animal will have while on the ground.


"turnSmoothingFactor"

Valid options (Double): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is the largest angle you will allow the animal to turn in one tick. Note that this is in Radians.


"unhappy"

This is a Blob that contains information on the what the effects that will play when the animal is unhappy. It will commonly look like;

  "unhappy": {
    "emotes": [ "staxel.emote.farmAnimals.Unhappy_1"],
    "sounds": [ "staxel.sounds.farmAnimals.Chicken.unhappy_1"]
  },

"emotes"

Valid options (List of Strings): A list of strings each containing the code to a Emote file.

Default Value: No default value is specified. Always need to provide your own.


This is the list of emotes that will be randomly selected in when showing the animal is unhappy.


"sounds"

Valid options (List of Strings): A list of strings each containing the code to a Sound file.

Default Value: No default value is specified. Always need to provide your own.


This is the list of sounds that will be randomly selected in when showing the animal is unhappy.


"unhappyBehaviours"

Valid options (List of Strings): A list of strings containing the name of a behaviour.

Default Value: No default value is specified. Always need to provide your own.


This is a list of behaviours that the animal will use when the player tries to perform an action while they are unhappy. These are used instead of milking and shearing behaviours when unhappy. The full list of Behaviour codes and what they do is listed under Animal Behaviours.


"velocityRandomizationFactor"

Valid options (Double): A positive decimal number.

Default Value: No default value is specified. Always need to provide your own.


This is the additional randomness added to movement. It will cause animals to move faster or slower while moving between destinations.


"wools"

Valid options (List of Blobs): A list of blobs containing Items.

Default Value: No default value is specified. Always need to provide your own.


This is the list of items you want the Animal to give when they are sheared. Each of these items will need to follow the Items#Universal Spawning Rules of normal items.