 ###############################################################################
# ctm.properties
###############################################################################
# Sample ctm.properties file for use with MCPatcher's extended Connected
# Textures mod.
#
# This file is offered without any copyright restrictions. Please copy and
# modify it to suit your needs.
#
# For each block or terrain tile you wish to override with connected or random
# textures, create a file in your texture pack using the block ID or tile
# number in terrain.png:
#   /ctm/block<0-4095>.properties
#   /ctm/terrain<0-255>.properties
# Different types of connected texture methods are available with different
# requirements and restrictions.  See below for details for each method.
#
# All property names are case-sensitive.
###############################################################################

###############################################################################
# General properties used by all methods:
###############################################################################

# (Required) Name of source texture.  This can be anywhere in your texture pack
# and multiple .properties files can share the same source (with different tile
# numbers).
source=<path of png within texture pack>

# (Required) Method to use when choosing a block's replacement texture:
# ctm: Standard 8-way method (glass in the original CTM).
# horizontal: Connect to blocks on left and right only (bookshelves).
# top: Connect to block above only (sandstone).
# random: Pick a tile at random.
# repeat: Repeat a fixed pattern over large areas.
method=<ctm | horizontal | top | random | repeat>

# (Required for some methods) List of tiles to use.  Remember that tiles are
# indexed from left to right, top to bottom starting at 0 with 16 per row.
# Syntax is a list of tiles or tile ranges.  The following are equivalent:
# tiles=4-6 8-10
# tiles=4 5 6 8 9 10
tiles=<list of tiles between 0 and 255>

# (Optional) Connect type.  For methods that connect to adjacent blocks,
# specify how the game should decide if two blocks should be connected.
# block: Connect if block id of this block = block id of neighbor.
# tile: Connect if tile texture of this block = tile of neighbor.
# The default is block for /ctm/block<id>.properties and tile for
# /ctm/terrain<tile>.properties.
connect=<block | tile>

# (Optional) Faces.  Limit the mod to only certain faces of the block.
# bottom: Bottom face (negative y).
# top: Top face (positive y).
# north: North face (negative z).
# south: South face (positive z).
# east: East face (positive x).
# west: West face (negative x).
# sides: Shorthand for north south east west.
# all: All sides.
# NOTE:  This property is ignored on non-standard blocks.
faces=<combination of: north south east west top bottom sides all>

# (Optional) Metadata.  Limit the mod to only blocks with certain metadata
# values.  Uses the same syntax as the "tiles" property and can be any list of
# values between 0 and 31.
metadata=<list of values between 0 and 31>

###############################################################################
# Everything below here is for specific ctm methods.  Each .properties file
# should contain only one of these sections.
###############################################################################

###############################################################################
# Standard 8-way connected textures
###############################################################################

method=ctm
source=<source png>
# (Optional) List of tiles to use, must be exactly 48 tiles.  The default is
# the upper left 12x4 area:
tiles=0-11 16-27 32-43 48-59

###############################################################################
# Horizontal-only connected textures
###############################################################################

method=horizontal
source=<source png>
# (Optional) List of tiles to use, must be exactly 4 tiles.  The default is the
# rightmost 4 tiles on the first row.
tiles=12-15

###############################################################################
# Vertical-only connected textures
###############################################################################

method=vertical
source=<source png>
# (Required) List of tiles to use, must be exactly 4 tiles.  There is no
# default; you must specify a list here.
tiles=<list of tiles>

###############################################################################
# Top connected textures
###############################################################################

method=top
source=<source png>
# (Optional) Only one tile is needed.
tiles=66

###############################################################################
# Random textures
###############################################################################

method=random
source=<source png>
# (Required) List of tiles to choose from.  There is no default; you must
# specify a list here.
tiles=<list of tiles>
# (Optional) List of weights to apply to the random choice.  For example, if
# you have
# tiles=6-11
# weights=10 1 10 2 7 3
# then tiles 6 and 8 will have a weight of 10, 7 will have a weight of 1, etc.
# Weights do not have to total 100 or any other particular value.  In the above
# example, tiles 6 and 8 will be used ~30.3% (10/(10+1+10+2+7+3)) of the time
# and so forth.
weights=<same-size list of weights>
# (Optional) Desired level of symmetry for the faces of each block.  Applies to
# standard blocks only.
# none: All 6 faces are textured independently.  This is the default.
# opposite: 2-way symmetry; opposing faces have the same texture, but each pair
# can potentially have a different texture.
# all: All 6 faces have the same texture.
symmetry=<none | opposite | all>

###############################################################################
# Repeat pattern textures
###############################################################################

method=repeat
source=<source png>
# (Required) Width of the repeating pattern.
width=<width of pattern>
# (Required) Height of the repeating pattern.
height=<height of pattern>
# (Required) List of exactly width * height tiles.  You do not have to arrange
# them in a rectangle, but doing so makes things easier to see how the pattern
# will look in-game.  Obviously total area cannot exceed 256 tiles, but an,
# e.g., 20x12 pattern is permissible.
tiles=<list of width * height tiles>
# (Optional) Desired level of symmetry for the faces of each block.  Applies to
# standard blocks only.
# none: All 6 faces are textured so that the pattern tiling looks the same from
# all sides.  This is the default.
# opposite: 2-way symmetry; opposing faces have the same texture, which means
# that tiling on the south and east faces will be mirrored left-to-right from
# compared to the north and west faces.
symmetry=<none | opposite>
