-
Notifications
You must be signed in to change notification settings - Fork 8
Home
Thanks for using Polytone. If you enjoy this mod, please remember to add Polytone to your pack Optional Dependency section or use the provided banner.
Polytone is a Forge, Fabric and Quilt client side customization mod that allows you to customize many of the game visuals via Resource Packs.
DONT BE SCARED! The mod can seem complex but this wiki is VERY in depth and will walk you through every aspect of it.
If you have any questions feel free to contact ME HERE
Dont forget to also click on show more pages at the bottom
Having trouble following this wiki? Check out the mod example pack HERE(WIP)
Polytone is a Mod that allows you to tweak many visual aspects of the game.
To do so it expands the game Resource Pack system.
The mod not only offers backwards compatibility with old concepts originating from McPatcher such as Colormaps, Lightmaps and Custom Colors but also adds a bunch of its owns like Biome Variant Textures, Biome Properties, Block Sounds, Gui Modifiers, Particle Modifiers and more!
The mod works by having Modifier
objects defined in .json files.
Each Modifier
will act on/be applied to an existing game obect such as Block, Item, Particle, Biome, Dimension and so on.
There can be more than one of these per game oblect.
Each Modifier
will be covered in detail in a dedicated wiki page.
Expand this section to read about some IMPORTANT preliminary concepts that are needed when using the mod.
Click me!
Polytone is Resource Pack based. If you dont know what a resource pack is or never made one you it's highly reccommended you try making a simple one first. You can read about all about them on the Official Minecraft Wiki.
##] Json Files
The mod makes extensive use of Json files. These is what the game already uses for the entire data and resource system, for example when adding models or recipes.
If you are however not accustomed to datapacks or resource packs be sure you are using a TEXT EDITOR with JSON SYNTAX HIGHLIGHT.
Some of these are:
- Atom
- VsCode
- Notepad++ with Json syntax plugin
- Sublime Text
Json syntax is not something exclusive to MC and its is recommened you get comfortable with it (you can look it up online).
For example, some important concepts to have clear are how lists are defined (enclosed by []
brackets) or how objects are defined (anything inclused by {}
brackets)
The mod works by creating .json files that define speicfic behaviors. These can be nested in specific ways as explained in each section. In many of these cases a second option is also available that allows to EXTRACT commonly used Json "pieces" into their own separate folder.
For example you can assing AND create a colormap in a Block Property Modifier directly or extract it into the separate colormaps
folder to be reused in other places. This applies to many objects that the mod defines. Here's an example:
Block Property Modifier with inlined colormap
{
"colormap":{
"[colormap definition]"
}
}
Colormap extracted and defined into its own colormap folder. Note that their content are the same.
{
"[colormap definition]"
}
And here is that same block modifier using that colormap
{
"colormap": "my_namespace:my_colormap"
}
##] Resource Locations
For anybody not familiar, this is a very important concept used everywhere (mods, packs, datapacks) so lets get over some definition. A resource location
is a string composed by Namespace (mod of origin) and Path (name) like as follows:
"minecraft:stone"
Its Namespace is minecraft
while its Path is stone
.
All resource locations without an explicit Namespace (i.e. "stone"
) will be automatically assigned minecraft
namespace.
To be a valid Resource Location your string must ONLY contain [a-z,0-9,-/_]
characters so no capitals!
Any file in a resource pack can and very often will have a resource locaton assigned. Often these are folder based so a TextureManager might assing the texture supplementaries\assets\textures\blocks\globe.png
the resource location supplementaries:blocks\globe
.
This means that file paths themselves MUST also be a valid resource location all the times so be careful of capitals and spaces.
If you ever find yourself wanting to reference an object from another mod in these .json
files you will NEED to add the require_mods
field like so:
{
"require_mods": [
"create"
]
}
This will cause that file to ONLY load if the requrired mod is installed. If you omit that line it will error when loaded without that mod on.
No time to read? Here's a map explaining how to do the most common things you might want to do with Polytone
I Want To Change... | Which Pages | TLDR on What To Do |
---|---|---|
Water Color | Colormaps, Fluid Properties Modifiers & Biome Effects | Want to change single biome Color? Go to Biome Effects Modifiers. Want to use colormap? Add a file named water.png in polytone/fluid_modifiers . More info in Fluid Properties Modifiers page |
A Block's Colormap | Colormaps, Block Properties Modifiers | Add a colormap png in polytone/block_modifiers named like your block |
A GUI's Visuals | Gui Modifiers | Follow the instructions on the page (Sprites and Slot Modifiers section) |
Lightmaps | Lightmaps | Add a texture in polytone/lightmaps/overworld.png
|
Block Sounds | Block Properties Modifiers, Custom Sound Events | Use a block property json to specify a new Sound Type |
Particle Color | Custom Colors, Particle Modifiers | Add a single line in color.properties for static colors or use Particle Modifiers for more control |
Fog Color / Sky Color | Biome Effects Modifiers, Dimension Effects Modifiers | Use biome modifiers to change a biome fog color or Dimension Effects to have a colormap that controls them |
Dye/Map Colors | Custom Colors | Add a line in there such as dye.black = ff00ff00
|
Make Hotbar bigger | Overlay Modifiers | Follow the example there. |
Remove Items from a Creative Tab | Creative Tab Modifiers | Follow the first example there. |
Add some tooltip lines to an item | Item Modifiers | Follow the example there. |
Add a texture that changes when it rains | Variant Textures | Add "mode": "weather" to your .mcmeta file. |
Q: Does this support old Optifine packs?
A: Yes, mostly. Concepts like Lightmaps, Block colors will work just the same.
Q: Does this have performance impact?
A: No, the mod is designed to directly change the color value the game ises, no lookup used! This means theres no downsides in using it. Experimental systems like Biome Variant Textures however do not follow this hence why they are experimental.
Q: Does this support Optifine grid biome colormap?
A: Yes*. That system had terrible compatibility as numerical IDs are not only no loner a thing since 1.12 but also dont work at all in the modded scenarios where one could exceed the number or have them in a non predictable manner when biomes are added. Use Biome Effects instead!
If you really want to use it you can but its recommended you also add a biome_id_mapper
to your colormap to specify the id mapping.
Q: I get a Resource Reload Failed when using my texture pack. What do I do?
A: This means you did something wrong with the configuration jsons. Check your latest.log
, in your /log/
folder it will say exactly what.
Q: I want to tweak Sky boxes.
A: If you want to do anything more than statically tweaking biome sky color, you should use a dedicated mod like Celestial