@Override
public int getColorFromItemstack(@Nonnull ItemStack stack, int tintIndex) {
if (Prep.isInvalid(stack)) {
return -1;
}
Item item = stack.getItem();
Block block = Block.getBlockFromItem(item);
if (block instanceof IPaintable) {
IBlockState paintSource = ((IPaintable) block).getPaintSource(block, stack);
if (paintSource != null) {
final ItemStack paintStack = new ItemStack(paintSource.getBlock(), 1, paintSource.getBlock().getMetaFromState(paintSource));
if (paintStack.getItem() != item) {
return Minecraft.getMinecraft().getItemColors().getColorFromItemstack(paintStack, tintIndex);
}
}
}
if (item instanceof IItemColor) {
return ((IItemColor) item).getColorFromItemstack(stack, tintIndex);
}
if (item instanceof ITintedItem) {
return ((ITintedItem) item).getItemTint(stack, tintIndex);
}
if (block instanceof IItemColor) {
return ((IItemColor) block).getColorFromItemstack(stack, tintIndex);
}
if (block instanceof ITintedItem) {
return ((ITintedItem) block).getItemTint(stack, tintIndex);
}
return -1;
}
PaintTintHandler.java 文件源码
java
阅读 25
收藏 0
点赞 0
评论 0
项目:EnderIO
作者:
评论列表
文章目录