/** * This class was created by <Vazkii>. It's distributed as * part of the Botania Mod. Get the Source Code in github: * https://github.com/Vazkii/Botania * * Botania is Open Source and distributed under the * Botania License: http://botaniamod.net/license.php * * File Created @ [Oct 17, 2014, 5:34:35 PM (GMT)] */ package vazkii.botania.api.subtile.signature; import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; import vazkii.botania.api.BotaniaAPI; import vazkii.botania.api.subtile.SubTileEntity; import vazkii.botania.api.subtile.SubTileFunctional; import vazkii.botania.api.subtile.SubTileGenerating; /** * A basic (and fallback) implementation of SubTileSignature. */ public class BasicSignature extends SubTileSignature { final String name; public BasicSignature(String name) { this.name = name; } @Override public void registerIcons(IIconRegister register) { BotaniaAPI.internalHandler.registerBasicSignatureIcons(name, register); } @Override public IIcon getIconForStack(ItemStack stack) { return BotaniaAPI.internalHandler.getSubTileIconForName(name); } @Override public String getUnlocalizedNameForStack(ItemStack stack) { return unlocalizedName(""); } @Override public String getUnlocalizedLoreTextForStack(ItemStack stack) { return unlocalizedName(".reference"); } public String getName() { return name; } public String getType() { Class<? extends SubTileEntity> clazz = BotaniaAPI.getSubTileMapping(name); if(clazz == null) return "uwotm8"; if(clazz.getAnnotation(PassiveFlower.class) != null) return "botania.flowerType.passiveGenerating"; if(SubTileGenerating.class.isAssignableFrom(clazz)) return "botania.flowerType.generating"; if(SubTileFunctional.class.isAssignableFrom(clazz)) return "botania.flowerType.functional"; return "botania.flowerType.misc"; } @Override public void addTooltip(ItemStack stack, EntityPlayer player, List<String> tooltip) { tooltip.add(EnumChatFormatting.BLUE + StatCollector.translateToLocal(getType())); } private String unlocalizedName(String end) { return "tile.botania:" + SubTileSignature.SPECIAL_FLOWER_PREFIX + name + end; } }