Professional Documents
Culture Documents
Untitled
Untitled
Overview
========
Many OptiFine features use properties files to control how textures within your
texture pack are used.
Properties files are simple text files similar to the Windows ".ini" format. Each
line is a property, specified as name=value.
# Sample comment
property1=value
property2=some_other_value
All property names are case-sensitive "renderpass" is not the same as "renderPass".
The order of properties within the file
does not matter. Many properties have default values and can be omitted, and in
some cases the entire properties file is optional.
See the sections for each properties file for details.
Certain types of objects are used within properties files by different OptiFine
features.
Rather than describe these common types separately in each feature section, they
are summarized here instead.
Textures
========
Often, OptiFine requires you to specify a path to an image file or some other
resource within your texture pack.
This is simply the path to the texture within the zip file. The folder structure
within a texture pack can get deeply nested,
so OptiFine has some shortcuts to make things easier. Whenever OptiFine calls for
you to provide a texture file,
any of these options can be used to specify the path.
# Full path
texture=textures/entity/creeper/creeper.png
An optional "namespace" prefix can be added. This example refers to exactly the
same "creeper.png" file as above:
# Relative to "assets/minecraft/optifine"
texture=~/dial/clock0.png
texture=minecraft:optifine/dial/clock0.png
Textures can also be specified relative to the path of the properties file that
refers to them.
For example, within "~/dial/clock.properties" (remember "~" =
"assets/minecraft/optifine")
In general, try to organize your textures with the properties files that go with
them.
Your paths will be shorter and easier to maintain when you move things around.
Blocks
======
The block IDs continue to exist within the game internally, but can no longer be
specified in the configuration files as they are unstable.
For example the stone block used to be ID 1 but is now called "minecraft:stone". As
with textures, the "minecraft:" prefix is optional,
so just "stone" will also work. Mods will probably use a namespace other than
"minecraft" so the prefix will be required there.
See the Dinnerbone's list of Block and Item IDs with names:
http://media.dinnerbone.com/uploads/2013-09/files/28_00-44-23_YfmAkomVI.txt
In 1.13 many variant blocks were "flattened" to several simple blocks and the block
metadata was removed.
See https://minecraft.gamepedia.com/1.13/Flattening
# Short name
blocks=oak_stairs
# Full name
blocks=minecraft:oak_stairs
# Properties
blocks=minecraft:oak_stairs:facing=east,west:half=bottom
# Properties
blocks=oak_stairs:facing=east,west:half=bottom
Items
=====
Biomes
======
For features that call for a list of biomes, use the names from the Minecraft wiki:
https://minecraft.gamepedia.com/Biome#Biome_IDs
Biomes added by mods can also be used.
# Biomes short
biomes=ocean deep_ocean river beach
# Biomes full
biomes=minecraft:ocean biomesoplenty:highland
Blending methods
================
When two or more textures are combined, OptiFine offers several options for
specifying the blending operation.
Valid blending methods are described below. "This" or "current" texture refers to
the texture currently being applied. "Previous" refers to whatever has been
rendered so far, which could be a single texture or the result of an earlier
blending operation.
- replace: Replace the previous layer entirely with the current bitmap. No blending
and only simple on/off transparency.
- alpha: Blend the two textures using this texture's alpha value. This is the most
common type of blending.
- overlay: RGB value > 0.5 brightens the previous image, < 0.5 darkens. color is a
synonym for this method.
- add: Add this texture's RGB values multiplied by alpha to the previous layer.
- subtract: Subtract this texture's RGB values from the previous layer.
- multiply: Multiply the previous RGB values by this texture's RGB values
- dodge: Add this texture's RGB values to the previous layer.
- burn: New RGB = (1 - current RGB) * previous RGB
- screen: New RGB = 1 - (1 - current RGB) * (1 - previous RGB)
Number lists
============
# Single entry.
list=1
# Multiple values listed separately.
list=1 2 3
# Same values using ranges.
list=1-3
# Multiple ranges.
list=1-3 6 8 10-15
Since 1.18 negative values may be specified for height. When used in a range they
have to be put in brackets.
# Single entry.
list=-1
# Multiple values listed separately.
list=-3 -2 -1
# Same values using ranges.
list=(-3)-(-1)
# Multiple ranges.
list=(-3)-(-1) 6 8 (-10)-15
RGB colors
==========
# White
color=ffffff
# Black
color=000000
# Red
color=ff0000
# Green
color=00ff00
# Blue
color=0000ff
References
==========
https://bitbucket.org/prupe/mcpatcher/wiki/About_Properties_Files
http://dinnerbone.com/media/uploads/2013-09/files/28_00-44-23_YfmAkomVI.txt
http://www.minecraftforum.net/forums/mapping-and-modding/resource-packs/1226351-1?
comment=11315
http://www.minecraftforum.net/forums/mapping-and-modding/resource-packs/1226351-1?
comment=11128
https://minecraft.gamepedia.com/1.13/Flattening