diff --git a/docs/ctm.properties b/docs/ctm.properties new file mode 100644 index 0000000..83aab45 --- /dev/null +++ b/docs/ctm.properties @@ -0,0 +1,320 @@ +############################################################################### +# +# https://github.com/sp614x/optifine/blob/master/OptiFineDoc/doc/ctm.properties +# +# Sample configuration for OptiFine's Connected Textures feature. +# Based on the configuration for MCPatcher's Connected Textures mod. +# +# Not implemented: +# - renderPass +# +############################################################################### +# ctm.properties +############################################################################### +# +# For each block or terrain tile you wish to override with connected or random +# textures, use this template and create a .properties file in the +# optifine/ctm folder of your texture pack. Properties files can be organized +# into subfolders of any depth, as long as everything is within the top-level +# optifine/ctm folder. +# +# 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. +# All paths are relative to assets/minecraft unless otherwise stated. +############################################################################### + +############################################################################### +# General properties used by all methods: +############################################################################### + +# (Optional) List of block and/or tiles this method should apply to. +# Multiple .properties file can refer to the same block/tile and they will be +# processed in alphabetical order by filename. All tile-based entries are +# checked before block ID-based ones. The first match wins. +matchTiles= + +# To refer to a tile from vanilla MC, simply use its name in textures/block: +# matchTiles=dirt +# To refer to a tile from a mod, you will need to know its name +# matchTiles=botania:blazeblock +# Tiles output by CTM rules can also be matched by another rule. The tile name +# is simply the full path to the tile +# matchTiles=optifine/ctm/mygrass/1.png +# Block format (optional parts are in <>) +# name<:property1=value1,value2...:property2=value1,value2...> +# For example: +# short name: oak_stairs +# full name: minecraft:oak_stairs +# name + properties: minecraft:oak_stairs:facing=east,west:half=bottom +matchBlocks= + +# These two properties can be omitted if they can be inferred from the filename instead: +# - optifine/ctm/xxx/.properties assumes +# matchTiles= +# - optifine/ctm/xxx/block_.properties assumes +# matchBlocks= +# unless you specify either property explicitly. + +# (Optional) If multiple properties files match the same block, the highest +# weighted one is used. In the event of a tie, the properties filenames are +# compared next. The default weight is 0. +weight= + +# (Required) Method to use when choosing a block's replacement texture: +# Methods: +# ctm: Standard 8-way method (glass in the original CTM), uses 47 tiles. +# ctm_compact: Compact 8-way method, uses 5 tiles. +# horizontal: Connect to blocks on left and right only (bookshelves). +# vertical: Connect to blocks above and below only. +# horizontal+vertical: Connect horizontally, then vertically. +# vertical+horizontal: Connect vertically, then horizontally. +# top: Connect to block above only (sandstone). +# random: Pick a tile at random. +# repeat: Repeat a fixed pattern over large areas. +# fixed: Use a single fixed tile. Equivalent to random with only one tile. +# overlay: Overlay for block transitions, uses 17 tiles. +# overlay_ctm: Overlay variant of method "ctm". +# overlay_random: Overlay variant of method "random". +# overlay_repeat: Overlay variant of method "repeat". +# overlay_fixed: Overlay variant of method "fixed". +# The overlay methods can be combined with other methods if they come +# before them in the processing order (alphabetically). +# The method "ctm_compact" is not compatible with any of the overlay methods. +method= + +# (Required) List of replacment tiles to use. Each tile must be a separate +# image, just like terrain and item textures. Tiles can be specified in +# several ways +# 0 -> 0.png +# 8-11 -> 8.png, 9.png, 10.png, 11.png +# name -> name.png +# name.png -> name.png +# -> skip the tile, continue with next CTM properties +# -> use the default texture for that block/tile +# full/path/name.png -> full/path/name.png +# In all cases but the last, the png file must be in the same directory as +# the properties file itself. +# The formats can be mixed and matched, e.g. +# tiles=0-4 5 some/other/name.png +# The overlay methods may use the special name "" for empty tiles +# that are to be skipped. The overlay methods can't use the tile name "". +tiles= + +# (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. +# material: Connect if block material (stone, dirt, etc.) = neighbor's. +# state: Connect if block state (block + properties) = neighbour's +# The default is block for block-based properties files and tile for tile-based. +connect= + +# (Optional) Connect tiles. Only for method "overlay" +# Connects only to blocks which are using the specified tiles +connectTiles= + +# (Optional) Connect blocks. Only for method "overlay" +# Connects only to specified blocks +connectBlocks= + +# (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. +# This property is ignored on non-standard blocks. +faces= + +# (Optional) Biome and height restrictions. +# Limit only to certain biomes or height ranges. +# The vanilla biome names are listed here: https://minecraft.gamepedia.com/Biome#Biome_IDs +# Biomes added by mods can also be used. +# The legacy properties "minHeight" and "maxHeight" are also recognized. +biomes= +heights= + +# (Optional) Compact CTM tile replacement. Only for method "ctm_compact" +# Allows to define replacement tile for a specific CTM case +# is the index of the CTM case from the CTM template (0-46) +# is the index of the tile as defined in "tiles" (not the tile name!) +# With "ctm_compact" you can define more than 5 tiles and use the additional +# tiles as replacements +ctm.= + +# (Optional) Tint index. Only for method "overlay" +# Tint index for the tile texture +# Default is -1 (disabled +tintIndex= + +# (Optional) Tint block. Only for method "overlay" +# The block used for the tile texture tinting. +# Different blocks use different colors for the same tint index. +tintBlock= + +# (Optional) Layer. Only for method "overlay" +# The layer on which the overlay texture should be rendered +# Values: +# cutout_mipped - transparent textures with mipmaps +# cutout - transparent textures without mipmaps +# translucent - translucent textures with mipmaps +# Default is "cutout_mipped" +layer= + +# (Optional) Name +# Only for blocks which have corresponding nameable tile entities. +# For example: +# beacon brewing_stand enchanting_table furnace dispenser dropper hopper +# See "custom_guis.properties" for the name matching syntax. +name= + +############################################################################### +# 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 +# (Required) List of 47 tiles to use. +tiles=<47 tiles> +# (Optional) Whether to show seams on inner edges when connecting to adjacent +# blocks. +innerSeams=false + +############################################################################### +# Compact 8-way connected textures +############################################################################### + +method=ctm_compact +# (Required) List of 5 tiles to use. +tiles=<5 tiles> +# (Optional) Whether to show seams on inner edges when connecting to adjacent +# blocks. +innerSeams=false + +############################################################################### +# Compact 8-way connected textures with special cases +############################################################################### + +method=ctm_compact +# (Required) List of 5 tiles to use. +tiles=<5 tiles> +# (Optional) Indexes of replacement tiles for some CTM cases +ctm.46=5 +ctm.17=6 + +############################################################################### +# Horizontal-only connected textures +############################################################################### + +method=horizontal +# (Required) List of 4 tiles to use. +tiles=<4 tiles> + +############################################################################### +# Vertical-only connected textures +############################################################################### + +method=vertical +# (Required) List of 4 tiles to use. +tiles= + +############################################################################### +# Top connected textures +############################################################################### + +method=top +# (Required) Only one tile is needed. +tiles= + +############################################################################### +# Random textures +############################################################################### + +method=random +# (Required) List of any number of tiles to choose from. +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 each be used ~30.3% (10/(10+1+10+2+7+3)) of the +# time and so forth. +weights= +# Random loops +# Repeats the random function several times to increase randomness. +# Can be used to make different textures use different random patterns. +# Higher values may decrease the chunk loading speed. +# Default is 0. +randomLoops=<0-9> +# (Optional) Desired level of symmetry for the faces of each block. Applies to +# standard 6-sided 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= +# (Optional) Texture linking between related blocks. +# If true, OptiFine uses the same random number seed for all parts of a +# multiblock object, for example, the top and bottom halves of tall grass. +# This allows you to create randomized textures that will remain consistent +# within each set of blocks. If this property is false, the two halves will +# be "scrambled", i.e., chosen independently. +# +# NOTE: For this to work properly, you'll need multiple properties files with +# linked=true and the same number of replacement textures and same set of +# weights. For example, +# double_plant_top.properties: +# method=random +# tiles=grass_top1 grass_top2 grass_top3 +# weights=1 2 3 +# linked=true + +# double_plant_bottom.properties: +# method=random +# tiles=grass_bottom1 grass_bottom2 grass_bottom3 +# weights=1 2 3 +# linked=true +# +# The default is false. The linked property currently applies only to plants +# (e.g., reeds), double plants, and doors. +linked= + +############################################################################### +# Repeat pattern textures +############################################################################### + +method=repeat +# (Required) Width of the repeating pattern. +width= +# (Required) Height of the repeating pattern. +height= +# (Required) List of exactly width * height tiles. +tiles= +# (Optional) Desired level of symmetry for the faces of each block. Applies to +# standard 6-sided 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= + +############################################################################### +# Fixed textures +############################################################################### + +method=fixed +# (Required) Single tile to use. +tiles= diff --git a/docs/ctm_template.png b/docs/ctm_template.png new file mode 100644 index 0000000..068d429 Binary files /dev/null and b/docs/ctm_template.png differ