Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.dreamlands.init;
- import com.dreamlands.Dreamlands;
- import com.dreamlands.client.renderer.DreamBiomeColors;
- import net.minecraft.client.renderer.BiomeColors;
- import net.minecraft.core.BlockPos;
- import net.minecraft.world.level.BlockAndTintGetter;
- import net.minecraft.world.level.FoliageColor;
- import net.minecraft.world.level.GrassColor;
- import net.neoforged.api.distmarker.Dist;
- import net.neoforged.bus.api.SubscribeEvent;
- import net.neoforged.fml.common.EventBusSubscriber;
- import net.neoforged.neoforge.client.event.RegisterColorHandlersEvent;
- @EventBusSubscriber(modid = Dreamlands.modId, value = Dist.CLIENT)
- public class DreamClient {
- @SubscribeEvent
- public static void registerBlockColors(RegisterColorHandlersEvent.Block event) {
- event.register((state, level, pos, tintIndex) -> {
- if (tintIndex == 0) return getGrassColor(level, pos);
- if (tintIndex == 1) return DreamBiomeColors.getDefaultDirtColor();
- return -1;
- }, DreamBlocks.DREAMY_GRASS_BLOCK.get()
- );
- event.register((state, level, pos, tintIndex) -> tintIndex == 1 ? DreamBiomeColors.getDefaultDirtColor() : -1,
- DreamBlocks.DREAMY_DIRT.get(),
- DreamBlocks.DREAMY_DIRT_PATH.get()
- );
- event.register((state, level, pos, tintIndex) -> getFoliageColor(level, pos),
- DreamBlocks.DREAMY_GRASS.get(),
- DreamBlocks.TALL_DREAMY_GRASS.get(),
- DreamBlocks.DREAMY_FERN.get(),
- DreamBlocks.TALL_DREAMY_FERN.get(),
- DreamBlocks.FOREST_GRASS.get(),
- DreamBlocks.TALL_FOREST_GRASS.get()
- );
- }
- private static int getFoliageColor(BlockAndTintGetter level, BlockPos pos) {
- return level != null && pos != null
- ? BiomeColors.getAverageFoliageColor(level, pos)
- : FoliageColor.getDefaultColor();
- }
- private static int getGrassColor(BlockAndTintGetter level, BlockPos pos) {
- return level != null && pos != null
- ? BiomeColors.getAverageGrassColor(level, pos)
- : GrassColor.getDefaultColor();
- }
- private static int getDirtColor(BlockAndTintGetter level, BlockPos pos) {
- return level != null && pos != null
- ? level.getBlockTint(pos, DreamBiomeColors.DIRT_COLOR_RESOLVER)
- : DreamBiomeColors.getDefaultDirtColor();
- }
- @SubscribeEvent
- public static void registerItemColors(RegisterColorHandlersEvent.Item event) {
- event.register((stack, tintIndex) -> {
- if (tintIndex == 0) return DreamBiomeColors.getDefaultGrassColor();
- if (tintIndex == 1) return DreamBiomeColors.getDefaultDirtColor();
- return -1;
- }, DreamBlocks.DREAMY_GRASS_BLOCK.get());
- event.register((stack, tintIndex) -> DreamBiomeColors.getDefaultDirtColor(),
- DreamBlocks.DREAMY_DIRT.get(),
- DreamBlocks.DREAMY_DIRT_PATH.get()
- );
- event.register((stack, tintIndex) -> DreamBiomeColors.getDefaultGrassColor(),
- DreamBlocks.DREAMY_GRASS.get(),
- DreamBlocks.TALL_DREAMY_GRASS.get(),
- DreamBlocks.DREAMY_FERN.get(),
- DreamBlocks.TALL_DREAMY_FERN.get(),
- DreamBlocks.FOREST_GRASS.get(),
- DreamBlocks.TALL_FOREST_GRASS.get()
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment