tutorial:colorprovider
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
tutorial:colorprovider [2019/10/25 17:43] – created draylar | tutorial:colorprovider [2021/07/16 01:14] – Lily pad has space in it haykam | ||
---|---|---|---|
Line 8: | Line 8: | ||
* leather armor dying | * leather armor dying | ||
* redstone wire | * redstone wire | ||
- | * plants such as melons, sugarcane, and lilypads | + | * plants such as melons, sugarcane, and lily pads |
* tipped arrows | * tipped arrows | ||
Line 17: | Line 17: | ||
Remember that the color provider is a client-side mechanic. Make sure to put any code related to it inside a client initializer. | Remember that the color provider is a client-side mechanic. Make sure to put any code related to it inside a client initializer. | ||
- | ==== Registering a Block Color Provider ==== | + | ===== Registering a Block Color Provider |
To register a block to the block color provider, you'll need to use Fabric' | To register a block to the block color provider, you'll need to use Fabric' | ||
- | <code java [enable_line_numbers=" | + | <code java [enable_line_numbers=" |
- | ColorProviderRegistry.BLOCK.register(new BlockColorProvider() { | + | ColorProviderRegistry.BLOCK.register((state, |
- | @Override | + | |
- | public int getColor(BlockState | + | |
- | return | + | |
- | } | + | |
- | }, MY_BLOCK); | + | |
</ | </ | ||
- | All we do here is say, "Hi, '' | + | All we do here is say, "Hi, '' |
+ | |||
+ | If you need to access '' | ||
The model is also important: the main note here is that you are // | The model is also important: the main note here is that you are // | ||
- | <code json [enable_line_numbers=" | + | <code json [enable_line_numbers=" |
{ | { | ||
" | " | ||
Line 53: | Line 50: | ||
} | } | ||
</ | </ | ||
- | In this instance, we're adding a single tintindex, which is what would appear in the `layer` | + | In this instance, we're adding a single tintindex, which is what would appear in the '' |
Here's the final result-- note that the original model used the '' | Here's the final result-- note that the original model used the '' | ||
{{https:// | {{https:// | ||
+ | |||
+ | ===== Registering an Item Color Provider ===== | ||
+ | Items are similar; the difference is the context provided. Instead of having a state, world, or position, you have access to the '' | ||
+ | <code java [enable_line_numbers=" | ||
+ | ColorProviderRegistry.ITEM.register((stack, | ||
+ | </ | ||
+ | This would hue the item in our inventory in the same fashion as the block. | ||
+ | |||
+ | === Limitations === | ||
+ | One key issue with using the color provider is the lack of context in the item provider. This is why vanilla grass doesn' |
tutorial/colorprovider.txt · Last modified: 2024/08/27 03:13 by solidblock