BloodMagic/src/main/java/WayofTime/bloodmagic/item/ItemLavaCrystal.java
2018-03-07 19:43:00 -08:00

67 lines
2 KiB
Java

package WayofTime.bloodmagic.item;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.core.data.Binding;
import WayofTime.bloodmagic.util.helper.NetworkHelper;
import WayofTime.bloodmagic.util.helper.PlayerHelper;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.MobEffects;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public class ItemLavaCrystal extends ItemBindableBase implements IVariantProvider {
public ItemLavaCrystal() {
super();
setUnlocalizedName(BloodMagic.MODID + ".lavaCrystal");
}
@Override
public ItemStack getContainerItem(ItemStack stack) {
Binding binding = getBinding(stack);
if (binding != null)
NetworkHelper.getSoulNetwork(binding.getOwnerId()).syphon(25);
ItemStack returnStack = new ItemStack(this);
returnStack.setTagCompound(stack.getTagCompound());
return returnStack;
}
@Override
public boolean hasContainerItem(ItemStack stack) {
return true;
}
@Override
public int getItemBurnTime(ItemStack stack) {
Binding binding = getBinding(stack);
if (binding == null)
return -1;
if (NetworkHelper.canSyphonFromContainer(stack, 25))
return 200;
else {
EntityPlayer player = PlayerHelper.getPlayerFromUUID(binding.getOwnerId());
if (player != null)
player.addPotionEffect(new PotionEffect(MobEffects.NAUSEA, 99));
}
return -1;
}
@Nullable
@Override
public Binding getBinding(ItemStack stack) {
return Binding.fromStack(stack);
}
@Override
public void gatherVariants(@Nonnull Int2ObjectMap<String> variants) {
variants.put(0, "type=normal");
}
}