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

73 lines
2.3 KiB
Java
Raw Normal View History

2015-12-30 17:24:40 -05:00
package WayofTime.bloodmagic.item;
import WayofTime.bloodmagic.BloodMagic;
2018-02-17 10:38:33 -08:00
import WayofTime.bloodmagic.util.Constants;
import WayofTime.bloodmagic.util.helper.NetworkHelper;
import WayofTime.bloodmagic.util.helper.PlayerHelper;
2017-08-15 21:30:48 -07:00
import WayofTime.bloodmagic.client.IVariantProvider;
import com.google.common.base.Strings;
import com.google.common.collect.Lists;
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.ItemStack;
import net.minecraft.potion.PotionEffect;
2016-03-16 01:10:33 -07:00
import org.apache.commons.lang3.tuple.Pair;
2017-08-15 21:30:48 -07:00
import java.util.List;
2016-03-18 16:50:33 -04:00
2017-08-15 21:30:48 -07:00
public class ItemLavaCrystal extends ItemBindableBase implements IVariantProvider {
public ItemLavaCrystal() {
2015-12-30 17:24:40 -05:00
super();
setUnlocalizedName(BloodMagic.MODID + ".lavaCrystal");
2015-12-30 17:24:40 -05:00
}
@Override
2017-08-15 21:30:48 -07:00
public ItemStack getContainerItem(ItemStack itemStack) {
2018-02-17 10:38:33 -08:00
String uuid = getOwnerUUID(itemStack);
if (!Strings.isNullOrEmpty(uuid))
NetworkHelper.getSoulNetwork(uuid).syphon(25);
2018-02-17 10:38:33 -08:00
ItemStack returnStack = new ItemStack(this);
returnStack.setTagCompound(itemStack.getTagCompound());
return returnStack;
2015-12-30 17:24:40 -05:00
}
@Override
2017-08-15 21:30:48 -07:00
public boolean hasContainerItem(ItemStack itemStack) {
2015-12-30 17:24:40 -05:00
return true;
}
@Override
public int getItemBurnTime(ItemStack stack) {
if (Strings.isNullOrEmpty(getOwnerUUID(stack)))
return -1;
2015-12-30 17:24:40 -05:00
if (NetworkHelper.canSyphonFromContainer(stack, 25))
return 200;
else {
EntityPlayer player = PlayerHelper.getPlayerFromUUID(getOwnerUUID(stack));
if (player != null)
player.addPotionEffect(new PotionEffect(MobEffects.NAUSEA, 99));
2015-12-30 17:24:40 -05:00
}
return -1;
2015-12-30 17:24:40 -05:00
}
2016-03-16 01:10:33 -07:00
2018-02-17 10:38:33 -08:00
@Override
public String getOwnerName(ItemStack stack) {
return stack.hasTagCompound() ? stack.getTagCompound().getString(Constants.NBT.OWNER_NAME) : null;
}
@Override
public String getOwnerUUID(ItemStack stack) {
return stack.hasTagCompound() ? stack.getTagCompound().getString(Constants.NBT.OWNER_UUID) : null;
}
2016-03-16 01:10:33 -07:00
@Override
2017-08-15 21:30:48 -07:00
public List<Pair<Integer, String>> getVariants() {
List<Pair<Integer, String>> ret = Lists.newArrayList();
ret.add(Pair.of(0, "type=normal"));
2016-03-16 01:10:33 -07:00
return ret;
}
2015-12-30 17:24:40 -05:00
}