Toast Wiki
Archive This page is an archive. Please do not edit the contents of this page. Direct any additional comments to the current talk page.

A MOB File (extension ".mob") is a file consisting of data and properties to apply to mobs using Mob Properties.

As Mob Properties is just in alpha, not all features are currently functioning. You are not able to alter drops based on looting levels, and you are not able to apply custom NBT tags to mobs or items (custom NBT generation is planned for Minecraft 1.7), nor are you able to make mobs drop cooked meat while on fire.

Apart from the above listed functions, everything else in .mob files should be fully operational.


File Format[]

Mob files can be opened and edited with any text editor.

Open up MobProperties.mob (the default mob file) in your .minecraft/config folder. After running Minecraft for the first time, the file should be generated like this:

/* The default properties to write to auto-generated mob properties files.
 * Comments (such as this one) will not be copied to generated files.
*/stats: {
},
drops: {
}

This is the most basic mob file, and will have no effect on any mobs. However, it does show the basic structure of functions. That is,

function:argument,
function:argument

Many functions have more than a single argument, however. In that case, you would have to separate each with a colon, just like the function was separated.

function:argument1:argument2:argument3:etc...

In addition, the default file also gives you an example of a comment. Comments are useful for making notations in your files as to what different parts do. There are two kinds of comment: the block comment (as seen above), which is strictly defined by its open and close symbols, and the line comment, which only takes up the rest of the line when used.

/* - Opens block comment
*/ - Closes block comment

// - Line comment

Comments are not loaded or looked at by Mob Properties, so they are strictly for your benefit.

Functions[]

Now that you've got a quick glimpse at how functions work, let's go over the functions that are available for you.

Each braced argument (opened with '{' and closed with '}') can include any number of functions in it, but only accepts specific functions.


Main Functions[]

Main functions are the base of the file format. All .mob files must have exactly one of each main function.

These functions either represent information important to the file itself or events triggered (such as a mob spawning or dying).

Function Use Arguments Description
id id:string_id string_id - A mob's string id Not yet implemented. This tells the game which entity this file links to. (Currently, the file name serves this purpose.)
stats stats:{stats_functions} {stats_functions} - A set of functions executed on mob spawning.

This function's argument houses "stat functions", which perform all initialization for mobs.

This is executed every time a mob is spawned in the world.

drops drops:{drops_functions} {drops_functions} - A set of functions executed on mob death.

This function's argument houses "drop functions", which can alter the items dropped by mobs when killed.

This is executed every time a mob dies.


Stats Functions[]

Stats functions are what make up the braced argument of the "stats" function. You may have any number of stats functions within the stats section, and duplicates are allowed.

These functions perform the initialization of mobs' stats and equipment.

Function Use Arguments Description
modifier modifier : attribute : value : operation

attribute - The string name of the attribute to modify.

value[1] - The amount to modify by.

operation - The modifier's operation.

Applies a modifier to the mob. Modifiers added with the same attributes and operations are combined into single modifiers.
equip equip : override : slot : drop_chance : id : damage:count : {item_info}

override - True/false. If false, this function will not equip armor in a slot that already has equipment in it.

slot - The slot to equip the item in.

drop_chance[1] - The chance the item will be dropped when the mob is killed.

id - The id of the item to equip.

damage[1] - Damage value for the item.

count[1] - The number of the item to equip.

{item_info} - The item functions to execute on the item.

Adds equipment to a mob.

The slot is a number between 0 and 4, inclusive. 0 is the hand and 1-4 are the feet, legs, chest, and head, respectively.

Vanilla drop chance is 0.08. Drop chances greater than 1 will always drop the item as-is. A drop chance of 1 or less can only drop it if the mob was recently hit, and the item will be greatly damaged (if possible).

Item info does not accept stats functions, only item functions (though, many stats functions also act as item functions).

potion potion : id : amplifier : duration

id - The id of the potion effect to apply.

amplifier[1] - The potion's amplifier. An amplifier of 0 gives a potency I effect.

duration[1][2] - The length of the potion effect to apply in ticks. (Optional; default is 2147483647.)

Applies a potion effect to the mob, if applicable. (e.g., undead are immune to regeneration).

The default duration is the maximum possible and equates to roughly 3.4 years.

name name : mob_name

mob_name[3] - The name to give the mob.

This function applies a custom name tag to the entity.
tag tag : {NBT}

{NBT} - The NBT tag to apply to the mob.

Not yet implemented. This function allows you to apply custom NBT data to entities. Lets you alter just about anything on the mob.
choose choose : count : {weighted_stats_functions}

count[1][2] - The number of times to execute one of the weighted functions in the next argument. (Optional; default is 1.0.)

{weighted_stats_functions} - The functions to choose from, with a leading weight argument.

Executes one function count number of times, based on the functions' weights.

Weighted functions follow this form:

weight : function

Where weight is any positive integer, and function is any valid function.

all all : count : {stats_functions}

count[1][2] - The number of times to execute the functions in the next argument. (Optional; default is 1.0.)

{stats_functions} - The functions that will be executed.

Executes all functions count number of times.

Mostly used as a weighted function to link multiple functions under the same weight, but can also be used to perform some function(s) less or more than once.

Notes
  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 This argument supports a number range.
  2. 2.0 2.1 2.2 This argument is optional. If left out, its value will be the default.
  3. This argument accepts random name generator codes.


Drops Functions[]

Drops functions are what make up the braced argument of the "drops" function. You may have any number of drops functions within the drops section, and duplicates are allowed.

These functions alter a mob's drops when it is killed.

(Table goes here.)


Item Functions[]

Item functions are what make up the braced argument of most functions that create a new item (referred to as {item_info}). You may have any number of item functions within item info sections, and duplicates are allowed.

These functions modify items' properties.

(Table goes here.)


Examples[]

Knowing everything you can use is great, but you also need to know how to use them! So, here are some examples of common usages.

(Examples go here. Search the forum and its last couple of pages for examples until this is done.) (: