J’ai trouvé une solution, grâce à cet example sur le GitHub de Choonster (un membre habitué du forum officiel de Forge).
Je peux maintenant définir la couleur de la ligne en fonction du bloc, du state etc c’est parfait 🙂
Là j’applique une couleur jaune quand le bloc est tourné, et blanche quand il ne l’est pas. La classe que j’ai adapté pour cet exemple:
:::
package net.killermapper.testmod.util;
import net.killermapper.testmod.Reference;
import net.killermapper.testmod.blocks.BooleanBlock;
import net.killermapper.testmod.init.InitBlocks;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.color.BlockColors;
import net.minecraft.client.renderer.color.IBlockColor;
public class ModColorHandler
{
private static final Minecraft minecraft = Minecraft.getMinecraft();
public static void registerColorHandlers()
{
final BlockColors blockColors = minecraft.getBlockColors();
registerBlockColorHandlers(blockColors);
}
private static void registerBlockColorHandlers(final BlockColors blockColors)
{
final IBlockColor lineColorHandler = (state, blockAccess, pos, tintIndex) ->
{
if(blockAccess != null && pos != null)
if(state == InitBlocks.booleanBlock.getDefaultState().withProperty(BooleanBlock.IS_ROTATED, true) )
return Reference.YELLOWCOLOR;
return Reference.WHITECOLOR;
};
blockColors.registerBlockColorHandler(lineColorHandler, InitBlocks.booleanBlock);
}
}
:::
(à initialiser dans le Init, côté client)