package mods.custom_flags.client.utils; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import mods.custom_flags.CustomFlags; import mods.custom_flags.items.ItemFlag; import mods.custom_flags.utils.ImageData; import net.minecraft.client.renderer.texture.DynamicTexture; import net.minecraft.item.ItemStack; /** * User: nerd-boy * Date: 2/08/13 * Time: 3:02 PM * TODO: Add discription */ public class ImageCahce { private static ItemStack temp; private static final DynamicTexture defaultTexture; private static final DynamicTexture test1; static{ defaultTexture = new DynamicTexture(ImageData.IMAGE_RES, ImageData.IMAGE_RES); test1 = new DynamicTexture(ImageData.IMAGE_RES, ImageData.IMAGE_RES); ImageData.defaultImage.setTexture(defaultTexture.func_110565_c()); } private static final LoadingCache<String, DynamicTexture> imageCahce = CacheBuilder.newBuilder().maximumSize(CustomFlags.CAHCE_SIZE). build( new CacheLoader<String, DynamicTexture>() { @Override public DynamicTexture load(String key) throws Exception { DynamicTexture texture = new DynamicTexture(ImageData.IMAGE_RES, ImageData.IMAGE_RES); if (temp != null && temp.getItem() instanceof ItemFlag && ((ItemFlag) temp.getItem()).hasImageData(temp)) { new ImageData(((ItemFlag) temp.getItem()).getImageData(temp)).setTexture(texture.func_110565_c()); } return texture; } } ); { CacheBuilder.newBuilder().build(); } public static void setTexture(ItemStack stack){ if (stack != null && stack.getItem() instanceof ItemFlag && ((ItemFlag) stack.getItem()).hasImageData(stack)) { ImageData id = new ImageData(((ItemFlag) stack.getItem()).getImageData(stack)); id.setTexture(test1.func_110565_c()); test1.func_110564_a(); }else{ ImageData.defaultImage.setTexture(defaultTexture.func_110565_c()); defaultTexture.func_110564_a(); } /* try{ if (stack != null && stack.getItem() instanceof ItemFlag && ((ItemFlag) stack.getItem()).hasImageData(stack)) { temp = stack; imageCahce.get(((ItemFlag)stack.getItem()).getKey(stack)).func_110564_a(); }else{ ImageData.defaultImage.setTexture(defaultTexture.func_110565_c()); defaultTexture.func_110564_a(); } }catch(Exception e){ ImageData.defaultImage.setTexture(defaultTexture.func_110565_c()); defaultTexture.func_110564_a(); } */ } }