Files
MagicBees/magicbees_src/magicbees/item/ItemCapsule.java
T

114 lines
3.2 KiB
Java
Raw Normal View History

2013-05-23 21:07:28 -07:00
package magicbees.item;
2013-01-10 22:40:04 -08:00
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
2013-01-26 13:42:39 -08:00
import forestry.api.core.Tabs;
2013-01-10 22:40:04 -08:00
import forestry.api.recipes.RecipeManagers;
2013-05-23 21:07:28 -07:00
import magicbees.block.types.PlankType;
import magicbees.item.types.CapsuleType;
import magicbees.item.types.FluidType;
2013-05-23 21:07:28 -07:00
import magicbees.main.CommonProxy;
import magicbees.main.MagicBees;
import magicbees.main.utils.TabMagicBees;
2013-05-23 21:07:28 -07:00
import magicbees.main.utils.VersionInfo;
2013-01-10 22:40:04 -08:00
import net.minecraft.block.Block;
2013-04-15 00:17:50 -07:00
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
2013-01-10 22:40:04 -08:00
import net.minecraft.util.EnumMovingObjectType;
2013-04-15 00:17:50 -07:00
import net.minecraft.util.Icon;
2013-01-10 22:40:04 -08:00
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
2013-01-10 22:40:04 -08:00
import net.minecraftforge.liquids.LiquidContainerData;
import net.minecraftforge.liquids.LiquidContainerRegistry;
import net.minecraftforge.liquids.LiquidDictionary;
import net.minecraftforge.liquids.LiquidStack;
public class ItemCapsule extends Item
{
2013-01-26 13:42:39 -08:00
private CapsuleType capsuleType;
2013-03-06 19:33:09 -08:00
public ItemCapsule(CapsuleType type, int itemId, int maxStackSize)
{
super(itemId);
this.capsuleType = type;
this.setCreativeTab(TabMagicBees.tabMagicBees);
2013-01-10 22:40:04 -08:00
this.setHasSubtypes(true);
2013-03-06 19:33:09 -08:00
this.setMaxStackSize(maxStackSize);
this.setUnlocalizedName("capsule." + type.toString().toLowerCase());
GameRegistry.registerItem(this, "capsule." + type.toString().toLowerCase());
2013-01-10 22:40:04 -08:00
}
2013-01-28 14:22:40 -08:00
public CapsuleType getType()
{
return this.capsuleType;
}
2013-01-10 22:40:04 -08:00
@Override
public String getItemDisplayName(ItemStack itemStack)
{
return String.format(this.capsuleType.getLocalizedName(), FluidType.values()[itemStack.getItemDamage()].getDisplayName());
2013-01-10 22:40:04 -08:00
}
public ItemStack getCapsuleForLiquid(FluidType l)
2013-01-10 22:40:04 -08:00
{
return new ItemStack(this, 1, l.ordinal());
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(int par1, CreativeTabs tab, List itemList)
{
for (FluidType l : FluidType.values())
2013-01-10 22:40:04 -08:00
{
if (l.available)
{
itemList.add(new ItemStack(this, 1, l.ordinal()));
}
}
}
@Override
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses()
{
return true;
}
2013-04-15 00:17:50 -07:00
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister par1IconRegister)
{
this.itemIcon = par1IconRegister.registerIcon(VersionInfo.ModName.toLowerCase() + ":capsule" + this.capsuleType.getName().substring(0, 1).toUpperCase()
+ this.capsuleType.getName().substring(1));
for (FluidType t : FluidType.values())
2013-04-15 00:17:50 -07:00
{
if (t != FluidType.EMPTY && t.liquidIcon == null)
2013-04-15 00:17:50 -07:00
{
t.liquidIcon = par1IconRegister.registerIcon(VersionInfo.ModName.toLowerCase() + ":liquids/" + t.liquidID);
}
}
}
@Override
@SideOnly(Side.CLIENT)
2013-04-15 00:17:50 -07:00
public Icon getIconFromDamageForRenderPass(int metadata, int pass)
{
2013-04-15 00:17:50 -07:00
Icon i = this.itemIcon;
if (metadata != 0 && pass == 0)
{
i = FluidType.values()[Math.max(0, Math.min(metadata, FluidType.values().length - 1))].liquidIcon;
}
2013-04-15 00:17:50 -07:00
return i;
}
@Override
public int getRenderPasses(int metadata)
{
2013-04-15 00:17:50 -07:00
return (metadata == 0) ? 1 : 2;
}
}