mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
81 lines
2.4 KiB
Java
81 lines
2.4 KiB
Java
package com.hbm.items.block;
|
|
|
|
import java.util.List;
|
|
|
|
import com.hbm.blocks.BlockMulti;
|
|
import com.hbm.blocks.IBlockMulti;
|
|
import com.hbm.blocks.IPersistentInfoProvider;
|
|
import com.hbm.blocks.ITooltipProvider;
|
|
import com.hbm.blocks.generic.BlockMetalFence;
|
|
import com.hbm.tileentity.IPersistentNBT;
|
|
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.EnumRarity;
|
|
import net.minecraft.item.ItemBlock;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
import net.minecraft.util.IIcon;
|
|
|
|
public class ItemBlockBase extends ItemBlock {
|
|
|
|
public ItemBlockBase(Block block) {
|
|
super(block);
|
|
|
|
if(block instanceof IBlockMulti) {
|
|
this.setMaxDamage(0);
|
|
this.setHasSubtypes(true);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public int getMetadata(int meta) {
|
|
if(field_150939_a instanceof IBlockMulti)
|
|
return meta;
|
|
else
|
|
return super.getMetadata(meta);
|
|
}
|
|
|
|
@Override
|
|
public String getUnlocalizedName(ItemStack stack) {
|
|
|
|
if(field_150939_a instanceof BlockMulti) {
|
|
return ((BlockMulti)field_150939_a).getUnlocalizedName(stack);
|
|
} else if(field_150939_a instanceof BlockMetalFence) {
|
|
return ((BlockMetalFence)field_150939_a).getUnlocalizedName(stack); // I considered reworking IBlockMulti instead but there are like a bajillion implementers
|
|
} else {
|
|
return super.getUnlocalizedName(stack);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
|
|
|
|
if(field_150939_a instanceof ITooltipProvider) {
|
|
((ITooltipProvider) field_150939_a).addInformation(stack, player, list, bool);
|
|
}
|
|
|
|
if(field_150939_a instanceof IPersistentInfoProvider && stack.hasTagCompound() && stack.getTagCompound().hasKey(IPersistentNBT.NBT_PERSISTENT_KEY)) {
|
|
NBTTagCompound data = stack.getTagCompound().getCompoundTag(IPersistentNBT.NBT_PERSISTENT_KEY);
|
|
((IPersistentInfoProvider) field_150939_a).addInformation(stack, data, player, list, bool);
|
|
}
|
|
}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public IIcon getIconFromDamage(int meta) {
|
|
return this.field_150939_a.getIcon(1, meta); //fuck you mojang
|
|
}
|
|
|
|
@Override
|
|
public EnumRarity getRarity(ItemStack stack) {
|
|
|
|
if(field_150939_a instanceof ITooltipProvider) {
|
|
return ((ITooltipProvider) field_150939_a).getRarity(stack);
|
|
}
|
|
|
|
return EnumRarity.common;
|
|
}
|
|
}
|