Package cofh.core.render

Source Code of cofh.core.render.ItemRenderRegistry

package cofh.core.render;

import cofh.lib.util.ItemWrapper;

import gnu.trove.map.hash.THashMap;

import java.util.Map;
import java.util.Map.Entry;

import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;

public class ItemRenderRegistry {

  public static Map<ItemWrapper, IItemRenderer> itemRenders = new THashMap();

  public static boolean addItemRenderer(ItemStack stack, IItemRenderer renderer) {

    if (validItem(stack)) {
      return false;
    }
    itemRenders.put(ItemWrapper.fromItemStack(stack), renderer);
    return true;
  }

  public static IItemRenderer getItemRenderer(ItemStack stack) {

    return itemRenders.get(ItemWrapper.fromItemStack(stack));
  }

  public static boolean validItem(ItemStack stack) {

    return itemRenders.containsKey(ItemWrapper.fromItemStack(stack));
  }

  public static void refreshMap() {

    Map<ItemWrapper, IItemRenderer> tempMap = new THashMap(itemRenders.size());

    for (Entry<ItemWrapper, IItemRenderer> entry : itemRenders.entrySet()) {
      ItemWrapper tempItem = new ItemWrapper(entry.getKey().item, entry.getKey().metadata);
      tempMap.put(tempItem, entry.getValue());
    }
    itemRenders.clear();
    itemRenders = tempMap;
  }

}
TOP

Related Classes of cofh.core.render.ItemRenderRegistry

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.