Skip to content

Migration guide

This page contains resources to migrate OptiFine extensions to the new OptiGUI ini files, and equivalents of OptiFine.

Migrate OptiFine extensions

Migrate containers

container=_something usually becomes [something]. See the table to migrate each container:

OptiFine container OptiGUI replacement
_cartography_table [cartography_table]
_chest_boat [chest_boat], variants=<variants> becomes chest_boat.variants=<variants>
_grindstone [grindstone]
_loom [loom]
_smithing_table [smithing_table]
_stonecutter [stonecutter]

Migrate extension properties

Extension properties usually become their own groups. See the table to migrate each extension property:

OptiFine extension property OptiGUI replacement
_barrel=true [barrel]
_minecart=true [chest_minecart] or [hopper_minecart]
_furnace [furnace]. variants have been removed from container=furnace
_blast, _blast_furnace [blast_furnace]
_smoker [smoker]
_camel=true [camel]
_zombie_horse=true [zombie_horse]
_skeleton_horse=true [skeleton_horse]
_wandering_trader=true [wandering_trader]

OptiFine equivalents

container

container=something becomes [the_identifier_of_something].

Tip

Go to the Minecraft Wiki. Select the container, scroll down to Data values/ID/Java Edition, and copy the text from the Identifier column. This identifier is used by the /give and /summon commands.

texture

texture=replacement.png becomes replacement=replacement.png.

Paths may need to be rewritten. Please refer to paths.

Note

OptiGUI requires the file extension to be specified, otherwise it won't find the resource.

texture.<path1>=replacement_1
texture.<path2>.png=replacement_2.png

# becomes

[#1]
interaction.texture = minecraft:textures/gui/<path1>.png
replacement = replacement_1.png

[#2]
interaction.texture = minecraft:textures/gui/<path2>.png
replacement = replacement_2.png

name

Replace the pattern, ipattern, regex, and iregex prefixes with name postfixes as shown below:

name = Name
# becomes
name = Name

name = pattern:Name
# becomes
name.wildcard = Name

name = ipattern:Name
# becomes
name.wildcard.ignore_case = Name

name = regex:Name
# becomes
name.regex = Name

name = iregex:Name
# becomes
name.regex.ignore_case = Name

Keep backslashes as they are.

biomes

Keep it as-is.

heights

Keep it as-is.

large

Becomes chest.large.

trapped

See Trapped chest.

christmas

# If true
date = dec@24-26

# If false
date = 1 2 3 4 5 6 7 8 9 10 11 dec@1-23 dec@27-31

ender

Becomes [ender_chest]

levels

Becomes beacon.levels.

professions

Becomes villager.professions. See the following example for rewriting rules:

professions = profession
# becomes
villager.professions = profession

professions = profession1 profession2
# becomes
villager.professions = profession1 profession2

professions = profession:1
# becomes
villager.professions = profession@1

professions = profession:2-3
# becomes
villager.professions = profession@2-3

professions = profession:1,2-3
# becomes
villager.professions = profession@1 profesions@2-3

profession=none is not supported.

variants

Becomes a group in the INI file.

variants = variant
# beacomes
[variant]

variants = variant1 variant2
# becomes
[variant1 variant2]

colors

  • For llamas, it becomes llama.colors
  • For shulker boxes, add the color in front of the shulker box like this: <color>_shulker_box, and it becomes a group