Hello all,
I've been trying to make an item disappear for a while after a certain amount of time, this is kind of a bit of luck. It's still a bit "random" when it disappears.
This is my goal.
If I hold the item then it should disappear after 10 seconds and if the item is thrown on the floor the item should disappear after 10 seconds, so I hold the item for 3 seconds and throw it on the ground it should disappear after 7 seconds.
this is what I have until now only it works partly and no more.
p.s sorry if it is messy I am a bit new with coding.
public class OganessonBase extends Item implements IHasModel
{
public int maxcount = 2;
public int count;
public int maxcountground = 0;
public int countground;
public OganessonBase(String name)
{
setUnlocalizedName(name);
setRegistryName(name);
setCreativeTab(AtomicPieces.ATOMSELEMENTSTAB);
ItemInit.ITEMS.add(this);
}
@Override
public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected)
{
if(stack.getItem() == ItemInit.OGANESSON_ELEMENT)
{
effectPlayer(entityIn, Potion.getPotionById(19), 0);
if(count == maxcount)
{
stack.shrink(1);
entityIn.dropItem(ItemInit.TEST_TWO, 1);
count = 0;
}
super.onUpdate(stack, worldIn, entityIn, itemSlot, isSelected);
}
}
private void effectPlayer(Entity entityIn, Potion potion, int amplifier)
{
EntityLivingBase player = (EntityLivingBase) entityIn;
if (player.getActivePotionEffect(potion)== null || player.getActivePotionEffect(potion).getDuration() <=0)
{
player.addPotionEffect(new PotionEffect(potion.getPotionById(19), 140, amplifier, true, true));
}
if (player.getActivePotionEffect(potion)== null || player.getActivePotionEffect(potion).getDuration() ==10)
{
player.attackEntityFrom(DamageSource.DROWN, 6);
}
if (player.getActivePotionEffect(potion)== null || player.getActivePotionEffect(potion).getDuration() ==1)
{
count++;
}
}
@Override
public boolean onEntityItemUpdate(EntityItem entityItem) {
countground++;
if(countground == maxcountground)
{
entityItem.setDead();
entityItem.dropItem(ItemInit.ITEM_TWO, 1);
countground = 0;
}
return super.onEntityItemUpdate(entityItem);
}
@Override
public void registerModels()
{
AtomicPieces.proxy.registerItemRenderer(this, 0, "inventory");
}
}
just to add some background if you do not quite understand what I want to go for.
The mod is based on atoms and then also the part of the "decay time" and that is what I hope to do with this topic.thank you in advance.