Jump to content

Bram_Borch

Members
  • Posts

    3
  • Joined

  • Last visited

Posts posted by Bram_Borch

  1. 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.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.