Skip to content

Configured Cow Types (Datapacking)

Pug edited this page Mar 2, 2023 · 22 revisions

Configured Cow Types

Configured Cow Type files in Bovines and Buttercups are how Moobloom Types are added to the game and Mooshroom Types can be added to the game. They are reloadable through the /reload command with the exception of natural spawn logic being handled upon world startup, I would recommend restarting the world if you're changing natural spawn logic, otherwise cows may be spawning in the wrong place.

Custom textures for configured cow types as well as configured cow type grass backs must be added through a resource pack. These textures must be located at assets/<namespace>/textures/entity/cow, assets/<namespace>/textures/entity/bovinesandbuttercups, or any subdirectories found in these folders.

Please read Resource Pack Information for more information on how to implement content from a resource pack into a Bovines and Buttercups data pack.

You are able to add your own configured cow types through adding JSON files to the data/<namespace>/bovinesandbuttercups/configured_cow_type directory of your datapack.

JSON Schemas

Common Configured Cow Type Fields

Field Type Default Description
type Resource Location Defines what cow type the configured cow type is, this affects what entities the cow type can apply to as well as the fields to add to this JSON. Acceptable types in the base mod include; bovinesandbuttercups:moobloom, bovinesandbuttercups:mooshroom
loading_priority Integer 0 Defines the order at which this Moobloom will load, higher values will be loaded later than lower ones.
spawn_biomes Tag Resource Location optional Defines which biome(s) that this configured cow type will spawn in.
natural_spawn_weight Integer 0 Determines the spawn chance weight/total weight when compared to other cow types of the same type that also apply to the current biome when selecting a random configured cow type.
thunder_conversion_types Array of Weighted Configured Cow Type optional Determines what type(s) this configured cow type has the chance to swap into. weight/total weight. This must be the same cow type as the original cow type or else the conversion will not work.

Moobloom Cow Type

Field Type Default Description
texture_location Resource Location optional Defines the texture used for this moobloom type, this value must be found within a resource pack within the file locations mentioned above. If not set, this defaults to <namespace>:textures/entity/bovinesandbuttercups/moobloom/<path>_moobloom.png.
flower Moobloom Flower Type Defines a blockstate, model location or flower type that this moobloom will use for the flower layer on its back as an adult.
bud Moobloom Flower Type Defines a blockstate, model location or flower type that this moobloom will use for the flower layer on its back as a baby.
color Color Defines a color used for this moobloom's nectar (of which is desaturated) and successful breeding particles.
back_grass Back Grass { "texture_location": "bovinesandbuttercups:textures/entity/bovinesandbuttercups/moobloom/moobloom_grass.png", "grass_tinted": true } Defines a grass texture that is overlayed over this moobloom, and whether that texture is tinted like the grass of the biome that this moobloom is currently in.
nectar_texture Resource Location optional If set, defines a texture for the bowl of nectar. If not set, the nectar will be handled by the mod.
nectar_effect Mob Effect Instance optional If set, this is the mob effect that is referenced for this Moobloom's nectar's Lockdown effect as well as the duration of the nectar.
breeding_conditions Breeding Conditions optional If set, this allows you to set which blocks must be surrounding the two parents to create a baby moobloom of this type.

Example

{
  "type": "bovinesandbuttercups:moobloom",
  "flower": {
    "block_state": {
      "Name": "minecraft:poppy"
    }
  },
  "bud": {
    "model_location": "example:bovinesandbuttercups/poppy_bud"
  },
  "color": "#ec302b",
  "spawn_biomes": "minecraft:plains",
  "natural_spawn_weight": 1,
  "nectar_effect": {
    "effect": "minecraft:night_vision",
    "duration": 7200
  },
  "breeding_conditions": {
      {
        "block_states": [
          {
            "Name": "minecraft:rose_bush",
            "Properties": {
              "half": "upper"
            }
          }
        ]
      }
     "includes_associated_blocks": false
  }
}

This example adds a Poppy Moobloom that spawns in the minecraft:plains biome with a random weight of 1. This Moobloom can be bred for by having a rose bush within a radius of the parents, the associated blocks (Poppy and Potted Poppy) are not considered for breeding.

Mooshroom Cow Type

Field Type Default Description
texture_location Resource Location optional Defines the texture used for this mooshroom type, this value must be found within a resource pack within the file locations mentioned above. If not set, this defaults to <namespace>:textures/entity/bovinesandbuttercups/mooshroom/<path>_mooshroom.png
mushroom Mooshroom Mushroom Type Defines a blockstate, model location or mushroom type that this mooshroom will use for the mushroom layer on its back as an adult.
color Color optional Defines a color used for this mooshroom's successful breeding particles.
back_grass Back Grass { "texture_location": "bovinesandbuttercups:textures/entity/bovinesandbuttercups/mooshroom/mooshroom_mycelium.png", "grass_tinted": false } Defines a grass texture that is overlayed over this mooshroom, and whether that texture is tinted like the grass of the biome that this moobloom is currently in.
can_eat_flowers Boolean false Defines whether a mooshroom can eat flowers or not, of which allows it to create suspicious stew after you do this.
breeding_conditions Breeding Conditions optional If set, this allows you to set which blocks must be surrounding the two parents to create a baby mooshroom of this type.
vanilla_spawning_hack Boolean false Decides whether mooshroom should spawn in mushroom islands, drawing their bovinesandbuttercups:mooshroom_type component/capability from their vanilla Type tag. Only the bovinesandbuttercups:red_mushroom configured cow type should be setting this to true, load over that configured cow type using a loading_priority field if you'd like to remove vanilla mooshroom spawning altogether.

Example

{
  "type": "bovinesandbuttercups:mooshroom",
  "mushroom": {
    "mushroom_type": "example:red_truffle"
  },
  "thunder_conversion_types": [
    {
      "type": "example:green_truffle",
      "weight": 1
    },
    {
      "type": "example:blue_truffle",
      "weight": 2
    }
  ],
  "spawn_biomes": "minecraft:plains",
  "natural_spawn_weight": 1,
  "color": "#9a0810",
  "can_eat_flowers": true,
  "breeding_conditions": {
    "condition": {
      "type": "bovinesandbuttercups:or",
      "conditions": [
        {
          "type": "bovinesandbuttercups:blocks_in_radius",
          "radius": 6.0,
          "offset": [
            0,
            4,
            0
          ],
          "block_conditions": [
            {
              "type": "bovinesandbuttercups:block_location",
              "location": "minecraft:red_glazed_terracotta"
            },
            {
              "type": "bovinesandbuttercups:block_location",
              "location": "minecraft:orange_glazed_terracotta"
            }
          ]
        },
        {
          "type": "bovinesandbuttercups:blocks_in_radius",
          "radius": 6.0,
          "offset": [
            0,
            4,
            0
          ],
          "block_conditions": [
            {
              "type": "bovinesandbuttercups:or",
              "conditions": [
                {
                  "type": "bovinesandbuttercups:custom_mushroom_type",
                  "location": "test:red_truffle"
                },
                {
                  "type": "bovinesandbuttercups:custom_mushroom_block_type",
                  "location": "test:red_truffle"
                },
                {
                  "type": "bovinesandbuttercups:custom_potted_mushroom_type",
                  "location": "test:red_truffle"
                }
              ]
            }
          ]
        }
      ]
    }
  }
}

This example adds a Red Truffle Mooshroom that spawns in the minecraft:plains biome with a random weight of 1. It will turn into either a Green Truffle Mooshroom (1/3 chance), or a Blue Truffle Mooshroom (2/3 chance) upon being struck by lightning. It is able to eat flowers and can be bred by having Red Glazed Terracotta and Orange Glazed Terracotta near the parents upon breeding or by having a Custom Mushroom, Potted Custom Mushroom or Custom Mushroom Block with the example:red_truffle flower type.

Clone this wiki locally