Skip to content

ArkTechMC/Tameable

Repository files navigation

Tameable

Someone ask me whether they can tame Ingresssus Voltaris (Death Singer) in my SoW Server, so this mod comes out.

This mod provides a configurable system to control which mobs you can tame.

Note: Some entities may meet bugs since this mod doesn't rewrite the full AI!

If you are a newcomer of datapack or just want to tame everything, try this addon: Tame Tools(CurseForge|Modrinth)

How to use

You can use command /tame <entityUuid> <ownerUuid> to tame manually (ownerUuid leave blank to remove owner). Also, there are two ways to configure.

Configure with data driven (Recommended)

Create file data/<entity mod id>/tameable/<entity id>.json in your datapack or mod. Then write contents below:

{
  "tame": [
    //Which item you can use to tame
    "a single item",
    "#or a tag"
  ],
  "breed": [
    //Which item you can use to breed. If you leave blank, it will use tame item.
    //Breed amount: value set -> food component -> 1
    "a single item",
    "#or a tag",
    {
      //or an object
      "item": "item or tag",
      "heal": 1
    }
  ],
  //The taming chance
  "chance": 0.1,
  //should attack what player is attacking
  "attack": true,
  //should attack what is attacking player
  "protect": true,
  "follow": {
    //should follow player
    "enable": true,
    //follow speed
    "speed": 1,
    //The max range to stop follow
    "minDistance": 10,
    //The min range to start follow
    "maxDistance": 2,
    //Can leave
    "leavesAllowed": false
  }
}

Default Values:

 {
  "tame": [
    //This is the only required field
  ],
  "breed": [
    //Optional, will use tame item if this field not exist or blank
    "item or tag",
    {
      //or an object
      "item": "item or tag",
      "heal": 1
    }
  ],
  //The taming chance
  "chance": 1,
  "attack": false,
  "protect": false,
  "follow": {
    //These value except "enable" is the default value of a wolf
    "enable": false,
    "speed": 1,
    "minDistance": 10,
    "maxDistance": 2,
    "leavesAllowed": false
  }
}

Example:

Write contents into data/minecraft/tameable/pillager.json, you can tame pillagers with apples and breed with apples&stones

{
  "tame": [
    "minecraft:apple"
  ],
  "breed": [
    "minecraft:apple",
    {
      "item": "minecraft:stone",
      "heal": 5
    }
  ],
  "chance": 0.1,
  "attack": true,
  "protect": true,
  "follow": {
    "enable": true
  }
}

Configure with config file

NOTE:This will overwrite settings in datapack(s)!

Open file .minecraft/config/tameable.json. If this file not exists, create it.

You can use /reload in game to reload your edited config.

Config explanation:

{
  "entity type here": {
    //An object in datapack format, see it above
  }
  //... more
}

Example:

With config following, you can tame pillagers with apples and breed with apples&stones

{
  "minecraft:pillager": {
    "tame": [
      "minecraft:apple"
    ],
    "breed": [
      "minecraft:apple",
      {
        "item": "minecraft:stone",
        "heal": 5
      }
    ],
    "chance": 0.1,
    "attack": true,
    "protect": true,
    "follow": {
      "enable": true
    }
  }
}

Releases

No releases published

Packages

No packages published

Languages