tutorial:colorprovider
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
tutorial:colorprovider [2019/10/25 17:47] – draylar | tutorial:colorprovider [2019/12/26 21:38] – use single-line lambdas for color providers and match params with yarn juuz | ||
---|---|---|---|
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, '' |
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 // | ||
Line 53: | Line 48: | ||
} | } | ||
</ | </ | ||
- | 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 ==== | + | ===== 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 '' | 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=" | <code java [enable_line_numbers=" | ||
- | ColorProviderRegistry.ITEM.register((itemStack, layer) -> { | + | ColorProviderRegistry.ITEM.register((stack, tintIndex) -> 0x3495eb, COLORED_ITEM); |
- | return | + | |
- | }, COLORED_ITEM); | + | |
</ | </ | ||
This would hue the item in our inventory in the same fashion as the block. | This would hue the item in our inventory in the same fashion as the block. |
tutorial/colorprovider.txt · Last modified: 2023/11/18 08:37 by solidblock