Posted July 14, 201411 yr So I tried mimicing the beacon code. I know the ticker variable is working but the potion effects are not applying is there anything wrong with my code? Forgive me i am new to modding public PolCanEntity() { double ranges = 6; if(ticker >= 23 ) { int pollutionlevel = 100; AxisAlignedBB axis = AxisAlignedBB.getBoundingBox((double)xCoord-ranges, (double)yCoord, (double)zCoord, (double)xCoord + ranges, (double)yCoord + ranges, (double)zCoord + ranges); List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class,axis); Iterator ilikepie = list.iterator(); EntityPlayer player; if(pollutionlevel >=100 && ilikepie.hasNext()) { player = (EntityPlayer)ilikepie.next(); player.addPotionEffect(new PotionEffect(17,1000,1,true)); ticker = 0;
July 14, 201411 yr Author tried changing the if statement to a while statement, getting a null pointer expection
July 14, 201411 yr Is that code in the constructor? The way I did potion effects for players with blocks was using an event handler class and subscribing to LivingUpdateEvent (I think there might be a PlayerUpdateEvent but I'm not sure). Then make sure the entity from the event is an instance of EntityPlayer, and if so, check if any blocks nearby are the block you're looking for, then just apply the potion effect to the player. I'm pretty sure if all you want to do is add a potion effect then Events are the best way to handle it. Otherwise if you want to do more I think you can use the updateEntity method in a TileEntity. BEFORE ASKING FOR HELP READ THE EAQ! I'll help if I can. Apologies if I do something obviously stupid. If you don't know basic Java yet, go and follow these tutorials.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.