Minecraft – How to get unlimited potion effect

minecraft-java-edition

Me and a friend of mine were making a parkour map and we thought it would be handy if there was a way to give the players a unlimited potion effect like jump boost or speed.

Best Answer

You can use command blocks, type in the chat window /give username 137 with commands enabled (if you're OP), and it will give you a command block. You need to be OP and in creative mode to use these. Place it and right click it, and you will see a text field where you can type

/effect @p <effect_id> 1000000 [amplifier].

This will give the closest player to the block 1000000 seconds of the effect when it's activated with redstone. Effect id's are listed on this page, the first column is the number you'll have to use as <effect_id>. The amplifier can be any number between 1 and 255. Normal potions will give either 1 or 2 as amplification. For example, to give the player speed 2, the command has to be

/effect @p 1 1000000 2.

or for jump boost 5, you'd get

/effect @p 8 1000000 5.

You should watch out that any amplifier value between 128 and 250 will disable jumping, and any value above 251 will decrease jump height.

If you activate the command block with a button, for example, you'll get almost infinitely speed 2.

A command block with time 0, like /effect @p <effect_id> 0 will disable the effect when powered.

There's more information about command blocks at the minecraft wiki.

1.8 snapshots Edit:

In the 1.8 snapshots, an extra parameter can be added to the command, which will hide particles when set to true. This will remove the curly particles around your head, whilst still giving the effect. eg. /effect @p 8 1000000 1 true.

Also, as Zoweb pointed out, command blocks are now obtained using the command /give <playername> command_block, instead of the id 137.