Toast Wiki

Special AI aims to make the game more interesting by adding new and more challenging AI patterns to various creatures.

Most AI patterns can be disabled or enabled for each mob type, and have config options to customize the behavior.

AI Patterns[]

The AI patterns added by this mod are:

  • Call for help
  • Passive self-defense
  • Eat breeding items
  • Rider/mount
  • Passive griefing
  • Unique AI pattern:
    • Barrage
    • Charge
    • Jump
    • Leap
    • Shaman
    • Spawner
    • Sprint
    • Throw
    • Throw player

Call For Help[]

This AI is very simple, and is applied automatically to everything applicable when enabled. All this does is modify mobs' vanilla Hurt By Target AI to affect all nearby entities of the same type, similar to vanilla wolves.

This has the most noticeable effect on neutral mobs, such as iron golems. Attacking one will cause all nearby to attack, instead of just the one you hurt.

Since this is a vanilla behavior, it does have some strange mechanics. If a mob is killed in one hit, it will not call for help. Also, the AI can be somewhat choosy, for example, cows will call for help from mooshrooms, but mooshrooms will not call for help from cows (since mooshrooms are a type of cow, but cows are not a type of mooshroom).

Passive Self-Defense[]

Passive self-defense attempts to turn mobs that are normally passive, such as cows, into neutral mobs. A mob with this AI will defend itself when attacked.

When combined with Call For Help, it makes passive mobs much more threatening, as not only will the mob you hit defend itself from you, but so will all nearby mobs similar to it.

The mobs given this AI can be individually chosen.

Eat Breeding Items[]

This AI is applied to all breedable animals when enabled. It simply causes those animals to seek any items that could be used to breed them laying on the floor and attempt to eat those items. This can be especially effective on chickens, as nearly any seed can be used to breed them, including most mod seeds.

Eating their breeding item will heal them some, making it the easiest way to heal livestock and could be automated to heal your wolves.

The healing can be disabled in the config.

Rider/Mount[]

Rider AI very simply causes the mob to seek and ride an entity that has been given the Mount AI. Any mob with the Riding AI enabled has a chance to get the AI when spawned.

Mount AI causes a mob to copy the target of whatever is riding it, and also marks the mob as a valid mount. All mobs with the Mount AI enabled gain this AI.

The mobs that gain the Rider AI, as well as the chance for them to gain it, and that gain the Mount AI can be individually chosen in the config.

Mobs are separated into two categories, normal and small size. Normal riders can only ride normal mounts, small riders can only ride small mounts. Any mob classified as normal size will count as small if it is a baby.

Passive Griefing[]

This AI causes mobs to break specific blocks when idle. Generally, that means any light sources, doors, or beds.

Creepers with this AI simply blow up near the target block, since they don't have arms to mine blocks with.

The mobs that receive this AI, the blocks targeted, and whether light sources are targeted or creepers explode can all be changed in the config.

Unique AI Patterns[]

There are several unique AI patterns that can be given to mobs. These generally also change the stats and equipment of the mobs to fit the theme and to make them more identifiable and challenging.

A single mob can only be given one of these AI patterns. The mobs that can get them, the chances for one to get a unique AI, and how common each AI is chosen can be changed in the config.

Barrage[]

Mobs with Barrage can usually be identified easily, because they will have a dispenser on their head. In addition, they also have +20 base health.

When fighting, they may swing their arms and click like a button. After a short delay, a stream of arrows will shoot out of the dispenser on their head. During this phase, the mob cannot turn. If the mob is on fire, its arrows will be, too.

These do have a chance of dropping the dispenser on their head, but it's just a regular dispenser. Nothing exciting.

Charge[]

Charge AI gives the mob an enchanted leather hat, +20 base health, and immunity to knockback.

When a Charge mob decides you need to die, it will hop up a bit and swing its arms. After a short pause, it will charge straight at you. If it runs into you, it will hit you and knock you back a ways. However, if you're quick, you may be able to trick the mob into hitting a wall, which will damage and stun it for a time.

Chargers have a chance at dropping the Charger's Helmet, which is really just a yellow leather cap with a level 30 enchantment. Could be useful.

Jump[]

Mobs with the Jump AI can be distinguished by their purple shoes, enchanted with the max Feather Falling.

When a good distance from you, Jumpers will fling themselves high into the sky, usually landing right next to or behind you, making them rather difficult to escape in open terrain. They will not take fall damage from these jumps.

These mobs occasionally drop their Feather Boots, dyed purple and enchanted with max Feather Falling.

Leap[]

Mobs with Leap aren't particularly noticeable compared to mobs without. However, if the mob was holding a bow, it will replace it with a golden sword. In addition, leapers have +20% move speed.

When very close to you, a Leaper will leap like a spider right into your face, making it much better at actually hitting you than most mobs, combined with its increased speed.

Shaman[]

Mobs with the Shaman AI are very obvious, and for good reason. They have a jack o'lantern equipped on their head, hold a bone, and spawn green particles on mobs being affected by them. In addition, they have +20 base health.

Instead of attacking you, if there is at least one other monster nearby, a Shaman will follow and somewhat hide behind it. Each second, the Shaman will heal all nearby mobs that are also attacking you by 1 health, and give those mobs Strength, Speed II, and Resistance II, making the Shaman your top-priority target... if you can get to it.

Shaman mobs can drop their jack o'lantern hat and the bone they are holding.

Spawner[]

The Spawner AI puts a mob spawner on the mob's head, gives it +80 base health, and -20% move speed.

While the mob with this AI has a target, it acts as a moving mob spawner with a slightly faster spawn rate. It doesn't pose much of a threat on its own, but unless you take it out quickly, you will be overrun by the mobs it spawns. Light will lock down the Spawner AI just like a mob spawner, but it may be difficult to keep the Spawner mob in the light.

Spawner mobs will NOT drop the mob spawner on their head. Just in case you were wondering. However, you could possibly harness their power for some kind of farm...

Sprint[]

Mobs with Sprint AI can be noticed by their red boots. In addition, they have +10% move speed.

If a Sprinter begins to fall behind, it will start sprinting to catch up. In addition, if its target is sprinting, it will sprint in an attempt to keep up. While not particularly dangerous, they can be difficult to lose.

From time to time, Sprinters will drop their Running Boots. At first glance, they may seem like boring old red leather boots, but they have a unique quality: they grant the wearer +10% move speed. Cool!

Throw[]

The Throwing AI is not very noticeable until it is used. The only effect it has on the mob is +10 base health and immunity to knockback.

When far enough away, a Thrower will look for a nearby other mob that is also far enough away and has the same target. Upon finding a mob that meets its standard, the Thrower will run to it and pick it up, then run back towards you and throws that mob right at you. It is very hard to escape from two mobs if one has the Throw AI.

Throw Player[]

Mobs with the Throw Player AI wear a red hat as a warning that roughly means "Stay very far away". They also gain +1 attack, +30% move speed, and have immunity to knockback.

Very similar to the Throw AI, the Throw Player AI has an evil twist. These mobs have come to the realization that there's only one of you and a lot of them, and it's very unpractical to throw all of them at you one at a time. Instead, if you do not have monsters next to you, the Player Thrower will run to you and pick you up, shortly after throwing you into the middle of whatever monsters happen to be around. If you're quick, you can break the Player Thrower's grip by dismounting (same as you would a pig or horse).

Being one of the most dangerous, they also have one of the best drops in this mod. Their Helmet of Strength is a red leather helmet that provides +1 attack damage to its wearer.

NBT Data[]

Many of the features in this mod can be controlled using NBT data, such as that set in the "pre_stats" section (NOT "stats") of Mob Properties or through extra spawner data.

Legend:

C   = compound
L   = list

s   = string
b   = byte
b[] = byte array
r   = short
i   = integer
i[] = integer array
l   = long
f   = float
d   = double

The base compound tag, sAI, holds all of the NBT tags of importance to this mod. It can be found inside the ForgeData compound.

  • C <root> - the base of the entity's NBT structure
    • C ForgeData - a compound added by Forge to allow storing external data to entities
      • C sAI - the base for all of this mod's NBT data

Inside of sAI:

  • b  AvoidExplosions - if this is 1, the entity will run from exploding things
  • b  DefendVillage - if this is 1, the entity will be given the defend village AI (does not actually need to be a villager)
  • b  Depacify - if this is 1, the entity will be given the depacify AI, if 2, the entity will also be given an aggressive targeting AI
  • b  Rider - if this is 1, the entity will be given the rider AI
  • b  Griefing - if this is 1, the entity will be given the passive griefing AI
  • b  GriefNeedsTool - override for the "requires_tools" property, 1/0 is true/false, respectively
  • b  GriefLights - override for the "break_lights" property, 1/0 is true/false, respectively
  • s  GriefBlocks - list of blocks this mob can target with the passive griefing AI, identical in structure to the block list in the config
  • s  GriefBlacklist - list of blocks this mob can NOT target with the passive griefing AI, identical in structure to the block blacklist in the config (can cancel default GriefBlocks, too)
  • b  Special - (deprecated) the id of the entity's special AI pattern, 0 if the entity does not have one
  • C  uAI - contains the data used for unique AI patterns, overrides "Special"
    • f  barrage - if greater than 0, then the mob is given the barrage AI and the arrows it fires deal about this much damage, adjusted by a small random factor and the difficulty setting, defaults to 3.0 if present
    • f  charge - if greater than 0, the mob is given the charge AI and its knockback will be scaled by this much, defaults to 0.5 if present
    • b  jump - if greater than 0, the mob is given the jump AI
    • b  leap - if greater than 0, the mob is given the leap AI
    • f  shaman - if greater than 0, the mob is given the shaman AI and this is the amount it heals by, defaults to 1.0 if present
    • L  shamanFX - list of potion effects the shaman applies to the mobs it heals, defaults to strength 1, resistance 2, and speed 2, each for 31 ticks - the format for this list is identical to the "CustomPotionEffects" list found here
    • b  spawner - if greater than 0, the mob is given the spawner AI
    • C  spawnerTags - the compound containing the mob spawner data, see here for the mob spawner format
    • f  sprint - if greater than 0, the mob is given the sprint AI and this is the speed boost given, defaults to 0.7 (+70% speed) if present
    • f  thief - if greater than 0, the mob is given the thief AI and this is the distance the mob will avoid the player from after stealing, defaults to 16.0 if present
    • b  throw - if greater than 0, the mob is given the throw AI
    • b  throw_player - if greater than 0, the mob is given the throw player AI
  • b  ForceInit - if 1, the mob's unique AI patterns will initialize once (apply stats and equipment)