###############################################################################
# Sample configuration for OptiFine's Random Entities feature.
# Based on the configuration for MCPatcher's Random Mobs mod.
###############################################################################
# This file is offered without any copyright restrictions. 
# Please copy and modify it to suit your needs.  
#
# Random Entites is backwards compatible with Random Mobs. The textures and 
# configurations in "assets/minecraft/optifine/mob" are also supported.
#
# You can place this file in the "optifine/random" folder of your resource pack, 
# parallel to the vanilla texture in "textures":
#
# Primary (vanilla) texture:
#   assets/minecraft/textures/entity/creeper/creeper.png
# Alts:
#   assets/minecraft/optifine/random/entity/creeper/creeper2.png
#   assets/minecraft/optifine/random/entity/creeper/creeper3.png
#   assets/minecraft/optifine/random/entity/creeper/creeper4.png
#   etc.
# Properties (optional):
#   assets/minecraft/optifine/random/entity/creeper/creeper.properties
#
# Primary (vanilla) texture:
#   assets/minecraft/textures/painting/paintings_kristoffer_zetterstrand.png
# Alts:
#   assets/minecraft/optifine/random/painting/paintings_kristoffer_zetterstrand2.png
#   assets/minecraft/optifine/random/painting/paintings_kristoffer_zetterstrand3.png
#   assets/minecraft/optifine/random/painting/paintings_kristoffer_zetterstrand4.png
#   etc.
# Properties (optional):
#   assets/minecraft/optifine/random/painting/paintings_kristoffer_zetterstrand.properties
#
# This file consists of a sequence of rules, numbered from 1.
#  
# Each rule specifies a range of entity textures to use and one or more conditions
# under which to use them.  
#
# The entity coordinates when it spawns (single player) or when it is first
# seen by the client (multiplayer) are checked against each rule in sequence. 
# The first rule that matches wins. If no rule matches, the default texture
# (e.g. creeper.png) is used.
#
# If no ".properties" file is present for an entity, then all available textures are
# used for that type of entity.
#
# Entites with multiple textures will use the ".properties" file for the base
# texture. In other words, you do not need to create
#   wolf.properties
#   wolf_tame.properties
#   wolf_angry.properties
# Just wolf.properties will work for all three, provided you have the same
# number of textures for each. Similarly for "_eyes" and "_overlay".
#
# All property names are case-sensitive.
# All paths are relative to assets/minecraft unless otherwise stated.
###############################################################################

###############################################################################
# Rule format.
# <n> starts at 1.
###############################################################################

# (Required) Range of entity textures to use.
# The texture index "1" is the default texture from "assets/minecraft/texture".
textures.<n>=<list of texture indices>
# Alternatively the Random Mobs property "skins.<n>" can be used.
# skins.<n>=<list of skins>

# (Optional) List of weights to apply to the random choice
# Weights do not have to total 100 or any other particular value.
# The number of weights should match the number of textures 
weights.<n>=<same-size list of weights>

# (Optional) List of biomes
# The vanilla biome names are listed here: https://minecraft.gamepedia.com/Biome#Biome_IDs
# Biomes added by mods can also be used.
biomes.<n>=<biome list>

# (Optional) Height ranges
# Replaces legacy minHeight and maxHeight properties.
heights.<n>=<height ranges>

# (Optional) Entity name
# Uses syntax similar to the Custom Item Textures NBT tags. 
# A value starting with "!" performs a negative match (not).
# Examples:
#  - Match string: "name=Pinky"
#  - Match special formatting: "name=\u00a74\u00a7oPinky"  
#    (for best compatibility, use the escape sequence '\u00a7' instead of "§")
#  - Wildcards using "?" and "*": "name=pattern:Pinky*"
#  - Wildcards, case insensitive: "name=ipattern:Pinky*"
#  - Java regular expressions: "name=regex:Pin(k)+y"
#    (see http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html)
#  - Java regular expressions, case insensitive: "name=iregex:Pin(k)+y"
# Any backslashes in the match string must be doubled.  
# Literal backslashes within a regular expression or wildcard must be quadrupled.
# Correct:
#   name=regex:\\d+
#   name=regex:\\\\
#   name=/\\/\\
# Wrong:
#   name=regex:\d+
#   name=regex:\\
#   name=/\/\
name.<n>=<name>

# Professions (optional)
# List of villager professions with optional careers
#
# Entry format
#   <profession>[:carrer1,career2,...]
#
# Profession     Careers
# ============== ===================================== 
# farmer         farmer, fisherman, shepherd, fletcher
# librarian      librarian, cartographer
# priest         cleric
# blacksmith     armor, weapon, tool
# butcher        butcher, leather
# nitwit         nitwit
#
# Example:
#   # Professions farmer (all careers) or blacksmith (all careers)
#   professions.2=farmer blacksmith
#   # Careers fisherman, shepherd or nitwit
#   professions.3=farmer:fisherman,shepherd nitwit:nitwit
#
# Professions and careers can also be given by their numeric ID values.
# See https://minecraft.gamepedia.com/Villager#Professions_and_careers
professions.<n>=<professions>

# Collar colors (optional)
# List of wolf collar colors
#
# Colors: white orange magenta light_blue yellow lime pink gray light_gray cyan purple blue brown green red black
#
# Example:
#   colarColors=pink magenta purple
collarColors.<n>=<colors>

# Baby (optional)
# Only valid for mobs
baby.<n>=<true/false>

# Health (optional)
# Range of health values, can also be given in percent.
# Only valid for mobs.
# Example:
#   health.1=10
#   health.2=5-8 10-12
#   health.3=0-50%
health.<n>=<list>

# Moon phase (Optional)
# List of moon phases (0-7)
# Example
#   moonPhase.1=3
#   moonPhase.2=0 1 2
#   moonPhase.1=0-2 4-7
moonPhase.<n>=<list>

# Day time (Optional)
# List of day times in ticks (0-24000)
# Example
#   dayTime.1=2000-10000
#   dayTime.2=0-1000 18000-24000
dayTime.<n>=<list>

# Weather (Optional)
# Several values can be specified separated by space 
# for example "weather=clear rain thunder"
weather.<n>=<clear|rain|thunder>

###############################################################################
# Examples:
# creeper/creeper.properties:
###############################################################################
# Use creeper10.png through creeper14.png for all underground creepers.
# creeper13.png will be used 7.3% (3/(10+10+10+3+10)) of the time.
skins.1=10-14
weights.1=10 10 10 3 10
heights.1=0-55

# Use 5, 7, 9 in high, hilly areas.
skins.2=5 7 9
biomes.2=ExtremeHills DesertHills ForestHills ExtremeHillsEdge JungleHills IceMountains
heights.2=80-255

# Fallback rule if nothing else matches.  Remember, if no rule matches, only
# the base creeeper/creeper.png will be used.
skins.3=1-4 6 8 15-20
