Posted July 17, 201312 yr Normally, the Nightvision doesn't go crazy with the light. I'm trying to make it so where you get Nightvision when you hold my sword. But I think it adds the potion effect so fast that it flickers the light a whole lot. Is there anyway I can add a delay to make sure it doesn't rapidly add the potion effect? ServerTickHandler12e3 package deathman12e3; import java.util.EnumSet; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.src.ModLoader; import cpw.mods.fml.common.ITickHandler; import cpw.mods.fml.common.TickType; public class ServerTickHandler12e3 implements ITickHandler { @Override public void tickStart(EnumSet<TickType> type, Object... tickData) { if (type.equals(EnumSet.of(TickType.PLAYER))) { playerTick((EntityPlayer)tickData[0]); } } @Override public void tickEnd(EnumSet<TickType> type, Object... tickData) { // TODO Auto-generated method stub } @Override public EnumSet<TickType> ticks() { return EnumSet.of(TickType.PLAYER, TickType.SERVER); } @Override public String getLabel() { // TODO Auto-generated method stub return null; } private void playerTick(EntityPlayer player) { if(player.getCurrentEquippedItem() != null) { ItemStack hand = player.getCurrentEquippedItem(); if(hand.getItem().itemID == mod_deathman12e3.hellstoneSword.itemID) { player.addPotionEffect((new PotionEffect(Potion.nightVision.id, 5, 1))); } } } } Kain
July 17, 201312 yr Try giving the person nightvision for 11 seconds. It prevents the view from flashing. http://i.imgur.com/gWwyMMO.jpg[/img]
July 17, 201312 yr Just a guess but it's probably because you're applying it every tick, try only applying it once a second or so.
July 17, 201312 yr Author That's what I'm trying to do. I want it to have a cool down. So it adds the potion effect for 1 second, then it waits 1 second and adds it again. Kain
July 17, 201312 yr Just in case your wondering, 11 seconds counts as 220 tick wise, you can just tell the "script" 11 where its asking for an interval
July 18, 201312 yr Author How would I make that delay for 1 second? I don't really understand the if() you put in. Kain
July 19, 201312 yr just do this if(player.ticksExisted % 220==0)functiontoApplyNightVision(); how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
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.