Made oredict lookup for dyes more stable, triggered by 1.7 adding some alternative names for some dyes *before* the actual dyes, making the previous method fail.

This commit is contained in:
Florian Nücke 2014-06-09 19:25:27 +02:00
parent cabc6d0aeb
commit 9d430b1869

View File

@ -2,6 +2,7 @@ package li.cil.oc.util
import net.minecraft.item.ItemStack
import net.minecraftforge.oredict.OreDictionary
import scala.collection.convert.WrapAsScala._
object Color {
val Black = 0x444444
@ -49,7 +50,9 @@ object Color {
val byTier = Array(LightGray, Yellow, Cyan, Magenta)
def isDye(stack: ItemStack) = byOreName.contains(OreDictionary.getOreName(OreDictionary.getOreID(stack)))
def findDye(stack: ItemStack) = byOreName.keys.find(OreDictionary.getOres(_).exists(oreStack => OreDictionary.itemMatches(stack, oreStack, false)))
def dyeColor(stack: ItemStack) = byOreName.get(OreDictionary.getOreName(OreDictionary.getOreID(stack))).getOrElse(0xFF00FF)
def isDye(stack: ItemStack) = findDye(stack).isDefined
def dyeColor(stack: ItemStack) = findDye(stack).fold(0xFF00FF)(byOreName(_))
}