| package li.cil.oc.client.gui |
| |
| import cpw.mods.fml.common.eventhandler.SubscribeEvent |
| import li.cil.oc.Settings |
| import li.cil.oc.common.{Slot, Tier} |
| import net.minecraft.util.IIcon |
| import net.minecraftforge.client.event.TextureStitchEvent |
| |
| import scala.collection.mutable |
| |
| object Icons { |
| private val bySlotType = mutable.Map.empty[String, IIcon] |
| |
| private val byTier = mutable.Map.empty[Int, IIcon] |
| |
| @SubscribeEvent |
| def onItemIconRegister(e: TextureStitchEvent) { |
| val iconRegister = e.map |
| if (iconRegister.getTextureType == 1) { |
| for (name <- Slot.All) { |
| bySlotType += name -> iconRegister.registerIcon(Settings.resourceDomain + ":icons/" + name) |
| } |
| |
| byTier += Tier.None -> iconRegister.registerIcon(Settings.resourceDomain + ":icons/na") |
| for (tier <- Tier.One to Tier.Three) { |
| byTier += tier -> iconRegister.registerIcon(Settings.resourceDomain + ":icons/tier" + tier) |
| } |
| } |
| } |
| |
| def get(slotType: String) = bySlotType.get(slotType).orNull |
| |
| def get(tier: Int) = byTier.get(tier).orNull |
| } |