gearCustom Races & Skins

The races configuration (races.yml) allows you to customize existing races or even create entirely new ones, while the skins configuration (skins.yml) determines how race will look if humanoid villagers are enabled. Races and skins are not hardcoded, meaning you can create COMPLETELY new races (or, if you prefer, factions), attributes such as health or model size, voice sounds, trading currency, and skins.

Example Race Configuration

races.yml
# Dwarves are the first race added. Why? Because dwarves rules!
dwarf:

  # Targeted entity type.
  target-entity-type: VILLAGER

  # It won't be checked if target-entity-type is not a villager.
  target-villager-type: SNOW

  # An item that members of the race will use for trading.
  normal-currency: GOLD_INGOT

  # An item to be used when normal currency is insufficient.
  special-currency: GOLD_BLOCK

  # A race description to be used by the AI when generating personal villager data and quests.
  race-description: "Short statured craftsmen known for their love of alcohol, beards and deep voices. With their naturally strong builds, they prefer to live in cold places, where they are often found. Excellent miners, blacksmiths and drinking companions."

  # Format: SOUND-MIN_PITCH-MAX_PITCH (pitch must be between 0.0 and 2.0)
  # https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
  sound:
    male:
      voice:
        - ENTITY_VILLAGER_AMBIENT-0.65-0.85
        - ENTITY_VILLAGER_NO-0.65-0.85
        - ENTITY_VILLAGER_TRADE-0.65-0.85
        - ENTITY_PILLAGER_AMBIENT-0.65-0.85
        - ENTITY_VINDICATOR_AMBIENT-0.65-0.85
      death: ENTITY_VILLAGER_DEATH-0.55-0.65
      hurt: ENTITY_VILLAGER_HURT-0.55-0.70
    female:
      voice:
        - ENTITY_WANDERING_TRADER_AMBIENT-1.9-2.0
        - ENTITY_WANDERING_TRADER_YES-1.9-2.0
        - ENTITY_VILLAGER_YES-1.9-2.0
        - ENTITY_WITCH_AMBIENT-1.8-2.0
      death: ENTITY_WITCH_DEATH-1.8-2.0
      hurt: ENTITY_WITCH_HURT-1.8-2.0

  # Entities have an inventory and we can specify the starting items they will have on spawn.
  # https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
  spawn-items:
    - EMERALD-12-24
    - GOLD_INGOT-12-24
    - BREAD-4-8
    - APPLE-4-8

  # Standard attributes that allow you to make the entity a bit more original and realistic.
  # https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/Attribute.html
  basic-attributes:
    - MAX_HEALTH-30.0
    - SCALE-0.85

Explanation

As you can see, there are plenty of customization options. The abundance of comments eliminates the need for excessive explanations—just read them carefully, and you'll understand what everything does and why. Instead of boring explanations, let's create a custom race!

Creating a New Race

circle-exclamation

To create a custom race, you need to understand that a race is a type of villager (e.g., PLAINS), which determines the villager's race and everything associated with it. This creates a convenient logic: in snowy biomes (SNOW), dwarves reside; in forests (TAIGA), elves dwell; in deserts (DESERT), orcs live, and so on. Keep this in mind first when creating a custom race: ask yourself, "Where will these creatures live?"

Next, as an example, I will show the Khajiit race (a race from The Elder Scrolls universe), its full description, and skin definitions.

Khajiits — Custom Race

Custom Skins for Custom Race

Okay, we’ve created a new race. Make sure you’ve overwritten the race that previously replaced desert villagers (in our case, orcs). Now, we just need to add the skins. The format of the skins.yml file is shown below.

To proceed, we need to:

  1. Find a skin that authentically matches our race. For searching existing skins, I recommend sites like minecraftskins.netarrow-up-right, planetminecraft.comarrow-up-right, namemc.comarrow-up-right, novaskin.mearrow-up-right. These sites offer convenient search tools, skin downloads, and a variety of works from talented artists. If you need something unique, you can hire artists or generate a custom skin using craftbench.aiarrow-up-right.

  2. Download the skin you like and upload it to mineskin.orgarrow-up-right to obtain the texture and signature. If you purchase a MineSkin subscription, you’ll also gain the ability to add capes!

    We are interested only in value and signature.
  3. Copy and paste the required values and save the file.

The Result

Meow!

Last updated