BloodMagic/src/main/java/WayofTime/bloodmagic/item/ItemLavaCrystal.java

95 lines
2.5 KiB
Java
Raw Normal View History

2015-12-30 17:24:40 -05:00
package WayofTime.bloodmagic.item;
2016-03-18 16:50:33 -04:00
import java.util.ArrayList;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
2016-03-18 16:50:33 -04:00
import net.minecraft.init.MobEffects;
2015-12-30 17:24:40 -05:00
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
2015-12-30 17:24:40 -05:00
import net.minecraftforge.fml.common.IFuelHandler;
2016-03-18 16:50:33 -04:00
2016-03-16 01:10:33 -07:00
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
2016-03-18 16:50:33 -04:00
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
import WayofTime.bloodmagic.client.IVariantProvider;
import com.google.common.base.Strings;
2016-03-16 01:10:33 -07:00
public class ItemLavaCrystal extends ItemBindable implements IFuelHandler, IVariantProvider
2015-12-30 17:24:40 -05:00
{
public ItemLavaCrystal()
{
super();
setUnlocalizedName(Constants.Mod.MODID + ".lavaCrystal");
setRegistryName(Constants.BloodMagicItem.LAVA_CRYSTAL.getRegName());
setLPUsed(25);
2015-12-30 17:24:40 -05:00
}
@Override
public ItemStack getContainerItem(ItemStack itemStack)
{
syphonNetwork(itemStack, getLPUsed());
ItemStack copiedStack = itemStack.copy();
copiedStack.setItemDamage(copiedStack.getItemDamage());
copiedStack.stackSize = 1;
return copiedStack;
}
@Override
public boolean hasContainerItem(ItemStack itemStack)
{
return true;
}
@Override
public int getBurnTime(ItemStack fuel)
{
if (fuel == null)
{
return 0;
}
Item fuelItem = fuel.getItem();
if (fuelItem instanceof ItemLavaCrystal)
{
//
// if (FMLCommonHandler.instance().getSide() == Side.CLIENT)
// {
// return 200;
// }
2016-01-05 10:41:23 -05:00
if (canSyphonFromNetwork(fuel, getLPUsed()))
2015-12-30 17:24:40 -05:00
{
return 200;
2015-12-31 13:50:38 -05:00
} else
2015-12-30 17:24:40 -05:00
{
if (!Strings.isNullOrEmpty(getBindableOwner(fuel)))
{
EntityPlayer player = PlayerHelper.getPlayerFromUUID(getBindableOwner(fuel));
if (player != null)
{
2016-03-18 16:50:33 -04:00
player.addPotionEffect(new PotionEffect(MobEffects.confusion, 99));
}
}
2015-12-30 17:24:40 -05:00
return 0;
}
}
return 0;
}
2016-03-16 01:10:33 -07:00
@Override
2016-03-16 18:41:06 -04:00
public List<Pair<Integer, String>> getVariants()
{
2016-03-16 01:10:33 -07:00
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
ret.add(new ImmutablePair<Integer, String>(0, "type=normal"));
return ret;
}
2015-12-30 17:24:40 -05:00
}