The Main Custom Breed File - MWall541/Dragon-Mounts-Legacy GitHub Wiki

├── data  
│   └── example_addon  
│       ├── dragonmounts  
│       │   └── dragon_breeds  
│       │       └── example_breed.json

This page will go in depth of each possible entry for a new Dragon Breed json object, as well as provide a basic example.

"primary_color" (Required)

Expects: String (Hex value for color)

Example: "primary_color": "24773E"

The primary color of this breed. This is the color that will appear on the "background" of the spawn egg. This color will also be chosen to be used in particles, if applicable.

"secondary_color" (Required)

Expects: String (Hex value for color)

Example: "secondary_color": "3FDCDB"

The secondary color of this breed. This is the color that will appear on the "foreground" (spots) of the spawn egg. This color will also be chosen to be used in particles, if applicable.

"hatch_particles" (Optional)

Defaults to: Dust particles

Expects: Json object

Example:

"hatch_particles": {
  "type": "minecraft:heart"
}

Note: This is a very basic example. Some particle types take in more arguments to customize them further. For a full list of particle types, see the wiki page

The type of particles to play around the egg while it's hatching.

"attributes" (Optional)

Defaults to: Base Dragon attributes (left unchanged)

Expects: A map of Attribute ID's -> double values

Example:

"attributes": {
  "minecraft:generic.armor": 10.0,
  "minecraft:generic.attack_damage": 12.0
}

Note: A list of all available attributes can be found on the wiki here

A map of Attribute ID's to double's that this breed of dragons will have. It should be noted that these values REPLACE and SERVE as the base values, and does not ADD to them.

"abilities" (Optional)

Defaults to: no abilities

Expects: A list of ability objects

Example:

"abilities": [
  {
    "type": "dragonmounts:snow_stepper"
  },
  {
    "type": "dragonmounts:frost_walker",
    "radius_multiplier": 3.0
  }
]

Note: A full list of the abilities can be found here

A list of abilities the dragon will come with.

"habitats" (Optional)

Defaults to: no habitats

Expects: A list of habitat objects

Example:

"habitats": [
   {
     "type": "dragonmounts:world_height",
     "points": 1,
     "height": 60,
     "below": false
   },
   {
     "type": "dragonmounts:picky",
     "required_habitats": [
       {
         "type": "dragonmounts:biome",
         "points": 1,
         "biome_tag": "minecraft:is_beach"
       },
       {
         "type": "dragonmounts:nearby_blocks",
         "point_multiplier": 0.5,
         "block_tag": "minecraft:sand"
       }
     ]
   }
]

A list of habitat objects that define environments for an egg to transform into this breed if ANY (not ALL!) are met. If your looking to meet ALL conditions, you can use the "dragonmounts:picky" habitat type which takes in more habitat types as arguments. picky tests to make sure ALL habitats defined are met.

For more information and a full list of habitats, check here

"immunities" (Optional)

Defaults to: no immunities

Expects: List of strings (Resource locations pointing to the desired damage types to be immune to)

Example:

  "immunities": [
    "minecraft:cactus",
    "minecraft:sweet_berry_bush",
    "minecraft:dragon_breath",
    "minecraft:magic"
  ]

The list of damage types this dragon will be immune to. In this example, we assume thick scaled lizards are immune to cactus and bush thorns, as well as inherits an immunity to it's mothers dragon breath. Our custom breed however, also has an immunity to magic damage. You can find a full list of damage types on the minecraft wiki.

"ambient_sound" (Optional)

Defaults to: dragonmounts:entity.dragon.ambient

Expects: String (Resource location pointing to the desired sound event)

Example: "ambient_sound": "example_addon:entity.dragon.ambient.example"

The custom ambient sound the dragon will play every once in a while. You can create your own sound events in sounds.json, or pick from a selection that may be present in your modpack or from vanilla

"death_loot" (Optional)

Defaults to: drops nothing

Expects: String (Resource location pointing to the desired loot table)

Example: "death_loot": "minecraft:chests/bastion_treasure"

The loot the dragon will drop on death. This points to a loot table location. You can pick from a selection that may be present in your mod pack, or from vanilla.

"growth_time" (Optional)

Defaults to: 72000

Expects: Integer (time in ticks)

Example: "growth_time": 120

The time it takes (in ticks) to grow into an adult from a hatchling.

"hatch_chance" (Optional)

Defaults to: 0.1 Expects: Float

Example: "hatch_chance": 0.1

The chance that an egg will advance to the next hatching stage (or hatch) on it's next block random tick. If this value is set to 0, the egg will never be able to hatch. If it is set to 1, the egg will be guaranteed to advance into it's next hatch stage on the next random tick.

"size_modifier" (Optional)

Defaults to: 1

Expects: Float

Example: "size_modifier": 2

The size multiplier of the dragon throughout it's entire life stage. In this example, the dragon will always be twice the normal size of the built in breeds. If it is set to 0.5, it will be half the size.

"taming_items" (Optional)

Defaults to: #minecraft:fishes

Expects: Homogenous list

Example: "taming_items": "#forge:eggs"

A list of items, OR a reference to a single item ID, OR a reference to an item tag (denoted with a hashtag #), of which defines the type of items that this breed of dragon can be tamed with.

"breeding_items" (Optional)

Defaults to: #minecraft:fishes

Expects: Homogenous list

Example: "breeding_items": "#forge:ender_pearls"

A list of items, OR a reference to a single item ID, OR a reference to an item tag (denoted with a hashtag #), of which defines the type of items that put the dragon in love mode to begin breeding.

"reproduction_limit" (Optional)

Defaults to: -1

Expects: Either (Integer, String)

Example: "reproduction_limit": 12 Example: "reproduction_limit": "config:fire"

A value that defines how many times a dragon is able to reproduce (breed) for before it no longer can. A value of -1 denotes unlimited times. A value of 0 means it cannot breed, and 4673, means, well you get the point. While not recommended, it can also point to a config entry that specifies a number. In the example, it points to config:fire, which will read the number mapped to "fire" in the config (defaulting to 2)

⚠️ **GitHub.com Fallback** ⚠️