mirror of
https://github.com/GeyserMC/Rainbow.git
synced 2025-12-19 14:59:16 +00:00
ed35577e311e1092f67bf9c0d65f9c415fa31dc3
Rainbow
Rainbow is a client-side Minecraft mod for the Fabric modloader to generate Geyser item mappings and bedrock resourcepacks for use with Geyser's custom item API (v2).
Rainbow is currently experimental and capable of the following:
- Generating Geyser item mappings complete with data components and proper bedrock options, by detecting items with a custom
minecraft:item_modelcomponent and analysing their components.- Also includes generating mappings with predicates for more complicated Java item model definitions, such as checks for if an item is broken.
- Does not support range dispatch predicates yet.
- Also includes detecting if an item should be displayed handheld by looking at the item's model.
- Also includes generating mappings with predicates for more complicated Java item model definitions, such as checks for if an item is broken.
- Generating a simple bedrock resourcepack for simple 2D items, as well as:
- Simple custom armour items, by analysing an item's
minecraft:equippablecomponent and loaded equipment assets. - 3D Java items, by converting the model to a bedrock one, and generating an attachable and animations for it, as well as rendering a custom GUI icon (unlikely to work well as of now).
- Simple custom armour items, by analysing an item's
Rainbow works by detecting custom items in your inventory, or a container/inventory menu you have opened. It analyses the components of detected items, and uses assets from loaded Java resourcepacks to gather information about item models, textures, and more.
Commands:
/rainbow create <name>- starts a new pack with the given name. The files will be exported in.minecraft/geyser/<name>when finished. Anything in this directory can be overwritten!/rainbow map- creates Geyser mappings for the item stack you are currently holding. The stack must have a custom model, and a pack must have been created./rainbow mapinventory- creates Geyser mappings for every applicable item in your inventory. A pack must have been created./rainbow finish- finishes the pack, and writes Geyser mappings to disk.
Languages
Java
99.9%