Slipperiness: Difference between revisions

From Minecraft Parkour Wiki
Content added Content deleted
(corrections)
(added changes)
Line 1: Line 1:
Each block in the game has a '''Slipperiness factor''', noted '''S'''. Its value is between '''0.6''' (rough) and '''1.0''' (frictionless).
Each block in the game has a '''Slipperiness factor''', noted '''S'''. The greater is S, the slipperier the block becomes.


By default, a block's slipperiness is set to '''0.6'''. This notably includes air, [[soulsand]], [[Cobweb|cobwebs]], and [[Water and Lava|fluids]].
By default, a block's slipperiness is set to '''0.6'''. This notably includes air, [[soulsand]], [[Cobweb|cobwebs]], and [[Water and Lava|fluids]].
Line 13: Line 13:


==Effect on Movement==
==Effect on Movement==
When moving, the Player loses some speed in between ticks to simulate '''drag''', and gains some '''acceleration'''.
When moving, the player loses some speed in between ticks to simulate '''drag''', and gains some '''acceleration'''.


When the Player is on ground, drag and acceleration are calculated as so:
When the player is on ground, drag and acceleration are calculated as so:


*The amount of speed conserved on ground is scaled by <math>0.91 \times S</math>.
*The amount of speed conserved on ground is scaled by <math>0.91 \times S</math>.
*The acceleration gained on ground is proportional to <math>\left ( \frac{0.6}{S} \right )^3</math>.
*The acceleration gained on ground is proportional to <math>\left ( \frac{0.6}{S} \right )^3</math>.


When the Player is airborne, Slipperiness is ignored (see [[Movement Physics|Movement Formulas]])
When the player is airborne, slipperiness is ignored (see [[Movement Physics|Movement Formulas]])




Line 37: Line 37:
==Application==
==Application==
[[File:Slipperiness illustration.png|thumb|Illustration of how slipperiness affects partial blocks|416x416px]]
[[File:Slipperiness illustration.png|thumb|Illustration of how slipperiness affects partial blocks|416x416px]]
Every tick, if on ground, the game checks for the block directly 1b below the Player's position to get S.
Every tick, if on ground, the game checks for the block directly 1b below the player's position to get the slipperiness.





This means that '''non-full blocks''' take the slipperiness of the block below them.
This means that partial blocks are affected by the slipperiness of the block below them.


For example, the surface of a slab above Ice has the same slipperiness as the Ice itself.
For example, the surface of a slab above Ice has the same slipperiness as the Ice itself.
Line 57: Line 58:





These two effects combined create an net negative impact on the Player's movement, compared to regular Soulsand movement.
These two effects combined create an net negative impact on the player's movement, compared to regular Soulsand movement.


Therefore, walking on soulsand with ice below is noticeably slower.
Therefore, walking on soulsand with ice below is noticeably slower.


== Changes ==
In 1.15, slipperiness is now taken 0.5m below the Player (instead of 1.0m). This means soulsand is no longer affected by slipperiness, among other blocks.

* A slab (0.5b height) is still affected by slippery blocks.
* A bed (0.5625b height) is no longer affected by slippery blocks.

Revision as of 21:30, 31 July 2020

Each block in the game has a Slipperiness factor, noted S. The greater is S, the slipperier the block becomes.

By default, a block's slipperiness is set to 0.6. This notably includes air, soulsand, cobwebs, and fluids.

In 1.8, the only blocks that have a different slipperiness are:

In 1.13, another slippery block was added: Blue Ice, with a slipperiness of 0.989, making it the most slippery block in the game.


Effect on Movement

When moving, the player loses some speed in between ticks to simulate drag, and gains some acceleration.

When the player is on ground, drag and acceleration are calculated as so:

  • The amount of speed conserved on ground is scaled by .
  • The acceleration gained on ground is proportional to .

When the player is airborne, slipperiness is ignored (see Movement Formulas)



Blocks



Application

Illustration of how slipperiness affects partial blocks

Every tick, if on ground, the game checks for the block directly 1b below the player's position to get the slipperiness.


This means that partial blocks are affected by the slipperiness of the block below them.

For example, the surface of a slab above Ice has the same slipperiness as the Ice itself.


Finally, we can explain how Soulsand is affected by slippery blocks:

Soulsand is a non-full block (14px in height), meaning it gets its slipperiness from the block below it.


Let's consider the effects at work:

  • Slippery blocks grant less acceleration.
  • Soulsand reduces speed conservation.


These two effects combined create an net negative impact on the player's movement, compared to regular Soulsand movement.

Therefore, walking on soulsand with ice below is noticeably slower.


Changes

In 1.15, slipperiness is now taken 0.5m below the Player (instead of 1.0m). This means soulsand is no longer affected by slipperiness, among other blocks.

  • A slab (0.5b height) is still affected by slippery blocks.
  • A bed (0.5625b height) is no longer affected by slippery blocks.