Created
December 22, 2013 09:56
-
-
Save anonymous/8080452 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package Dewie.BSModPack; | |
import cpw.mods.fml.relauncher.Side; | |
import cpw.mods.fml.relauncher.SideOnly; | |
import java.util.HashMap; | |
import java.util.List; | |
import java.util.Map; | |
import net.minecraft.block.Block; | |
import net.minecraft.block.BlockJukeBox; | |
import net.minecraft.creativetab.CreativeTabs; | |
import net.minecraft.entity.player.EntityPlayer; | |
import net.minecraft.item.EnumRarity; | |
import net.minecraft.item.Item; | |
import net.minecraft.item.ItemStack; | |
import net.minecraft.util.Icon; | |
import net.minecraft.world.World; | |
public class BSItemRecord extends Item | |
{ | |
/** List of all record items and their names. */ | |
private static final Map records = new HashMap(); | |
/** The name of the record. */ | |
public final String recordName; | |
protected BSItemRecord(int par1, String par2Str) | |
{ | |
super(par1); | |
this.recordName = par2Str; | |
this.maxStackSize = 1; | |
this.setCreativeTab(CreativeTabs.tabMisc); | |
records.put(par2Str, this); | |
} | |
@SideOnly(Side.CLIENT) | |
/** | |
* Gets an icon index based on an item's damage value | |
*/ | |
public Icon getIconFromDamage(int par1) | |
{ | |
return this.itemIcon; | |
} | |
/** | |
* Callback for item usage. If the item does something special on right clicking, he will have one of those. Return | |
* True if something happen and false if it don't. This is for ITEMS, not BLOCKS | |
*/ | |
public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) | |
{ | |
if (par3World.getBlockId(par4, par5, par6) == Block.jukebox.blockID && par3World.getBlockMetadata(par4, par5, par6) == 0) | |
{ | |
if (par3World.isRemote) | |
{ | |
return true; | |
} | |
else | |
{ | |
((BlockJukeBox)Block.jukebox).insertRecord(par3World, par4, par5, par6, par1ItemStack); | |
par3World.playAuxSFXAtEntity((EntityPlayer)null, 1005, par4, par5, par6, this.itemID); | |
--par1ItemStack.stackSize; | |
return true; | |
} | |
} | |
else | |
{ | |
return false; | |
} | |
} | |
@SideOnly(Side.CLIENT) | |
/** | |
* allows items to add custom lines of information to the mouseover description | |
*/ | |
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) | |
{ | |
par3List.add(this.getRecordTitle()); | |
} | |
@SideOnly(Side.CLIENT) | |
/** | |
* Return the title for this record. | |
*/ | |
public String getRecordTitle() | |
{ | |
return "C418 - " + this.recordName; | |
} | |
@SideOnly(Side.CLIENT) | |
/** | |
* Return an item rarity from EnumRarity | |
*/ | |
public EnumRarity getRarity(ItemStack par1ItemStack) | |
{ | |
return EnumRarity.rare; | |
} | |
@SideOnly(Side.CLIENT) | |
/** | |
* Return the record item corresponding to the given name. | |
*/ | |
public static BSItemRecord getRecord(String par0Str) | |
{ | |
return (BSItemRecord)records.get(par0Str); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment