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 [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 // | ||
- | <code json [enable_line_numbers=" | + | <code json [enable_line_numbers=" |
{ | { | ||
" | " | ||
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 ===== | ||
+ | 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: 2023/11/18 08:37 by solidblock