tutorial:biomecoloring
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:biomecoloring [2019/02/19 14:26] – mcrafterzz | tutorial:biomecoloring [2019/05/28 18:43] – mapping changes draylar | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Block Biome Coloring ====== | ====== Block Biome Coloring ====== | ||
- | In this tutorial we will show how to make blocks | + | In this tutorial, we'll look at adding biome-dependent colors |
- | | + | Remember to keep visual-related logic client-side, |
- | @Override | + | |
- | public void onInitializeClient() { | + | |
- | ColorProviderRegistry.BLOCK.register((block, pos, world, layer) -> { | + | |
- | | + | |
- | | + | |
- | }, block); | + | |
- | } | + | |
- | } | + | |
- | So what's happening here? Well, the register | + | <code java [enable_line_numbers=" |
+ | public class ExampleModClient implements ClientModInitializer { | ||
+ | @Override | ||
+ | public void onInitializeClient() { | ||
+ | ColorProviderRegistry.BLOCK.register((block, pos, world, layer) -> { | ||
+ | BlockColorProvider provider = ColorProviderRegistry.BLOCK.get(Blocks.GRASS); | ||
+ | return provider == null ? -1 : provider.getColor(block, | ||
+ | }, YOUR_BLOCK_INSTANCE); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
- | public class ExampleModClient implements ClientModInitializer { | + | So, what's happening here? The register method wants a color returned, and in this case, that color is taken from the grass block. Coloring an item is very similar. Like blocks, the returned color could be any, and also remember to replace the final argument with an instance of your item. |
- | @Override | + | |
- | public void onInitializeClient() { | + | <code java [enable_line_numbers=" |
- | | + | public class ExampleModClient implements ClientModInitializer { |
- | | + | @Override |
- | | + | public void onInitializeClient() { |
- | | + | ColorProviderRegistry.ITEM.register((item, |
- | | + | // These values are represented as temperature and humidity, and used as coordinates for the color map |
- | } | + | |
- | | + | double humidity = 1.0D; // a double value between 0 and 1 |
+ | return GrassColorHandler.getColor(temperature, | ||
+ | }, YOUR_ITEM_INSTANCE); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
Finished! | Finished! |