/*****************************************

  Touhou Alice Dolls MOD ver1.0.0-yyk

*****************************************/

[Note]

This MOD is fanfiction of "Shanghai Alice Gengakudan(Touhou Project)".
Is also not responsible for the effects due to the use of any introduction of MOD.
I'm not very good at English. Please check Dolls_readme_jp.txt also.

* This article has been corrected in proper English by Mbtester. Thank you very much:)


[Abstract]
This mod adds 6 dolls (individually user spawned mobs) from Alice Margatoroid into Minecraft.
Each doll has a special ability to aid the player automatically.

- The Shanghai doll (blue kimono) is a mob radar. It will seek out and report the nearest mob.
- The Horai doll (red kimono) is a miner. It will automatically mine ores in it's vicinity.
- The Ooedo doll (dark green kimono) is a suicide attacker. It will automatically seek out the nearest hostile mob and blow it up.
- The Russia (Russian) doll (white/purple dress) is a collector. It will automatically collect all dropped items within the vicinity for you.
- The Germany (German) doll (white/orange dress) is a lumberjack. It will automatically chop down trees in it's vicinity.
- The London (English) doll (aqua dress) is spawner detector. It will look for spawners in the vicinity and report the location to you.
- The Bare doll (disabled by default) is just there for testing purposes.


[How to install]

1.ModLoader1.0.0 introduced.
2. Copy this ZIP file to ".minecraft\mods\" folder.
3. When you start game once, ".minecraft\config\ mod_Touhou_Alice_Dolls.cfg" is generated.
   Please change config file If necessary.


[Recipes]

E DollCore
  r, ,b
  r,d,b        r: Redstone powder, b: Lapis lazuli, d: Diamond
   ,r, 
  
  Intermediate items for making dolls. The blue and red heart-shaped.
  When right-clicking the dolls with this item, you can be toggled on/off the dolls.
  When right-click-hold as the bow, you can aggregate dolls which are following or patrolling.


E DollShanghai
  s,w, 
  w,c,w        s: Gold Sword, w: Wool, c: DollCore
   ,w,

  Shanghai doll. Blue dress.
  This have mob detection capabilities. When the patrol mode keeps track of the mob.
  In rare cases, pluck feathers from chickens, wools from sheep, red mushroom from mooshroom.


E DollHorai
  p,w,
  w,c,w        p: Gold pickaxe, w: Wool, c: DollCore
   ,w,

  Horai doll. Red dress.
  This has  ore detection and mining  capabilities. Because leaving the mined items ,recommend  Russian dolls as support.
  Melons and pumpkins are destroyed also.Take care!

E DollOoedo
  t,w,
  w,c,w        t: TNT, w: Wool, c: DollCore
   ,w,

  Oedo doll. Green dress.
  Includes features that track the enemy and explode. Creeper compatible.
  This feature is enabled only when the patrol mode.
  
E DollRussia
  e,w,
  w,c,w        e: Chest, w: Wool, c: DollCore
   ,w,

  Russian dolls. Purple dress.
  This doll have a chest feature. Also, collect the items in the vicinity.
  Right-clicking while holding your chest, you can open doll's chest.

E DollGermany
  a,w,
  w,c,w        a: Gold axe, w: Wool, c: DollCore
   ,w,

  Germany doll. Orange clothing.
  When doll is patrol mode,  find a tree and fell it.
  This doll considers a tree as  the wood blocks stacked on dirt or grass block
    and which have contact with four or more leaves.


E DollLondon
  e,w,
  w,c,w        e: Eye of Ender, w: Wool, c: DollCore
   ,w,

  London doll. Light aqua dress.
  Search if there is spawner in doll existing chunk.
  Search time is proportional to the vertical distance from the doll.


E DollBare
   ,w,
  w,c,w        w: Wool, c: DollCore
   ,w,

  Test doll. underwear.
  For debugging.


[How to use the mod]

- After crafting a doll, equip it in your hand and right click at a block. This will spawn the doll into your Minecraft world.

- The doll has 4 modes (player instructions) it will follow. Standby -> Patrol -> Follow -> Ride.
    1) 'Standby' instructs the doll to stay in place.
    2) 'Patrol' allows the doll to wander around and automatically carry out it's special ability.
    3) 'Follow' makes the doll follow you (identical in behavior to tamed wolves including teleport when separated too far).
    4) 'Ride' puts the doll on your head so you can carry it around.
  To switch modes, right click on the doll (while NOT holding the doll core item and the book). Each right click will cycle through the different modes.

- To turn off the doll's special ability, right click on the doll WHILE holding a 'Doll Core'. To reactivate the ability, right click again while holding a doll core.

- To change the doll's Logging Level, right click on the doll WHILE holding a book.

- To 'instantly recall' a doll to your location, right click hold and release while holding a doll core.

- To despawn a doll, left click on a doll while holding a doll core. The doll reverts to an item drop so be sure to collect it.

- Dolls spawn with 8 health (4 hearts). Despawning a doll and respawning it will restore full health.

- To retrieve the drops the Russian doll collected for you, hold a chest in your hand and right click on the doll. The doll also drops all collected items when you despawn it.


[Config]

You can customize the item IDs and options by changing ".minecraft\config\mod_Touhou_Alice_Dolls.cfg".

E DollCoreID, dollShanghaiID, dollHoraiID, dollOoedoID, dollRussiaID, dollGermanyID, dollLondonID, dollBareID
    The IDs of each item. If you want to introduce other conflicts MOD, please change it.
    If you want to disable,set -1.
    
    Default:
      dollCoreID = 392;
      dollShanghaiID = 393;
      dollHoraiID = 394;
      dollOoedoID = 395;
      dollRussiaID = 396;
      dollGermanyID = 397;
      dollLondonID = 398;
      dollBareID = -1;

E EntityList
    The comma-separated names of monsters and animals detected by Shanghai doll.
    doll can detect mobs added in another MODs by name.
    
    Default:
      entityList = "Creeper, Skeleton, Spider, CaveSpider, Enderman, Zombie, Slime, Ghast, PigZombie, Enderman, CaveSpider, Silverfish, Blaze, LavaSlime, EnderDragon, Sheep, Cow, Pig, Chicken, Wolf, Squid, MushroomCow, SnowMan, Villager ";

E DigBlockList
    The comma-separated names of the block detected by Horai doll.
    As with entityList, you can even block added by the MOD.
    
    Default:
      digBlockList = "oreDiamond, oreRedstone, oreLapis, oreGold, oreIron, oreCoal, clay, pumpkin, melon";

E LogBlockList
    The comma-separated names of the wood block detected by Germany doll.
    
    Default:
      logBlockList = "log";

E LeavesBlockList
    The comma-separated names of the leaves block detected by Germany doll.
    
    Default:
      leavesBlockList = "leaves";

E TargetList
    The comma-separated names of the target entity detected by Ooedo doll.
    You can also detect mobs also added in another MOD.
    
    Default:
      targetList = "Creeper, Skeleton, Spider, CaveSpider, Enderman, Zombie, Slime, PigZombie, CaveSpider, Silverfish, LavaSlime";

E EntitySearchHeight
    The vertical distance that dolls can detect entities.
    
    Default:
      entitySearchHeight = 4.0;

E EntitySearchRange
    The horizontal distance that dolls can detect entities.
    
    Default:
      entitySearchRange = 16.0;
    

E BlockSearchRange
    The distance that dolls can detect blocks.
    
    Default:
      blockSearchRange = 3;

E DigSpeed
    The speed of drilling blocks.
    
    Default:
      digSpeed = 3.0;

E OoedoExplodeStrength
    The strength of the explosive. Incidentally, creeper is 3 and lightning creeper is 6.
    
    Default:
      ooedoExplodeStrength = 3.0;

E ItemAttractRange
    Distance that doll can get items.
    
    Default:
      itemAttractRange = 1.5;

E LoggingLevel
    Represents the amount of log message to be displayed in chat.
    0:Turn off all chat messages.
    1:Displays only messages about detection.
    2:Turn on all chat messages.
    3:Debug mode.
    
    Default:
      loggingLevel = 2;


[Trivia]

* Dolls are especially weak to fire so be careful where they wander.
* Dolls do not take fall damage because they are based off the chickens code so they glide when falling.
* The wider you set the search (wander) range in the config, the more CPU the mod uses.
* The more dolls you actively use at one time, the more chat alerts you will get and the more CPU it uses.
  I recommend you turn off dolls that you are not actively using.
* Why is the Ooedo doll green? Because it's the Creeper's color.
* Dolls often like to wander off and go missing which is why I added the instant recall function.
* The German doll cuts down trees from the top of the trunk down to the base because the doll's reach is too short to cut from the ground up. 


[Bug report and request]

Japanese Minecraft Forum (http://forum.minecraftuser.jp/viewtopic.php?f=13&t=832)
TwitterID : iwa_yuki
