1
0
mirror of https://github.com/GeyserMC/Rainbow.git synced 2025-12-19 14:59:16 +00:00

Add mod icon (programmer art!), update fabric.mod.json and work on updating README

This commit is contained in:
Eclipse
2025-07-17 13:34:29 +00:00
parent 23c40c92ad
commit ed35577e31
3 changed files with 35 additions and 9 deletions

View File

@@ -1,11 +1,28 @@
# geyser-mappings-generator # Rainbow
This is a Minecraft mod for the Fabric modloader to generate Geyser mappings (and potentially in the future, full bedrock packs) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
for use with the custom item API (v2). [![Discord](https://img.shields.io/discord/613163671870242838.svg?color=%237289da&label=discord)](https://discord.gg/geysermc)
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)](https://github.com/geyserMC/geyser/pull/5189).
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_model` component 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.
- Generating a simple bedrock resourcepack for simple 2D items, as well as:
- Simple custom armour items, by analysing an item's `minecraft:equippable` component 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).
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: Commands:
- `/packgenerator 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 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!
- `/packgenerator 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 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.
- `/packgenerator mapinventory` - creates Geyser mappings for every applicable item in your inventory. A pack must have been created. - `/rainbow mapinventory` - creates Geyser mappings for every applicable item in your inventory. A pack must have been created.
- `/packgenerator finish` - finishes the pack, and writes Geyser mappings to disk. - `/rainbow finish` - finishes the pack, and writes Geyser mappings to disk.

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

View File

@@ -3,12 +3,14 @@
"id": "rainbow", "id": "rainbow",
"version": "${version}", "version": "${version}",
"name": "Rainbow", "name": "Rainbow",
"description": "Rainbow is a mod to generate Geyser mappings and bedrock resourcepacks for use with Geyser's custom item API (v2)", "description": "Rainbow is a mod to generate Geyser item mappings and bedrock resourcepacks for use with Geyser's custom item API (v2)",
"authors": [ "authors": [
"GeyserMC contributors" "GeyserMC contributors"
], ],
"contact": { "contact": {
"repo": "https://github.com/GeyserMC/rainbow" "homepage": "https://github.com/GeyserMC/rainbow",
"issues": "https://github.com/GeyserMC/rainbow/issues",
"sources": "https://github.com/GeyserMC/rainbow"
}, },
"license": "MIT", "license": "MIT",
"icon": "assets/rainbow/icon.png", "icon": "assets/rainbow/icon.png",
@@ -25,5 +27,12 @@
"fabricloader": ">=${loader_version}", "fabricloader": ">=${loader_version}",
"fabric-api": "*", "fabric-api": "*",
"minecraft": "${minecraft_version}" "minecraft": "${minecraft_version}"
},
"custom": {
"modmenu": {
"links": {
"modmenu.discord": "https://discord.gg/GeyserMC"
}
}
} }
} }