When a character sprite shares space with a sloped block, the character is immediately displaced a couple of tiles in a predictable direction. By chaining these glitches together with a line of strategically placed shaped blocks, entities can be moved in any direction. It becomes easy to achieve horizontal travel at 60 or 120 tiles per second and vertical travel at 180 tiles per second provided by legitimate means (aside from Teleporters or the 传送枪 ).
Hoiks are part of Terraria since version 1.2, which introduced sloped tiles. While there have been individual prototypical exploits of this feature, a forums thread by has made hoiks widely known. Much of the current knowledge presented in this article and standard applications of hoiks are based on his research.
Hoiks are based on the displacement system of the game. When an overlap of block and entity is detected, the entity is displaced, in order to resolve the overlap. For sloped blocks, the displacement direction is indicated by the location of the slope within the tile.
The game determines the displacement direction following these rules:
This behavior is visualized in the diagram on the right. The diagram was created by actuating a sloped block into existence behind the player's sprite, having started by standing in the middle of the 2 Glass Block base, in each case. Equally, the diagram shows the jump made by hammering a previously square tile into the depicted shape (while behind the player).
Terraria detects collision every tick. Thus, stringing together a series of these displacements, with each jump landing the player on top of another sloped tile, creates a "track" which is capable of moving an entity at the speed of 1 displacement per tick, i.e. 60 displacements per second. This is the quintessence of a hoik.
A hoik is entered by positioning the (player) sprite in front of the first tooth. This can be achieved using the following methods:
Step-up mounted standard elevator. Jumps up 3 tiles per game tick.
Sloped platform mounted hoik elevator.
▼ 下 needs to be held while falling.This elevator can be joined anywhere along its length. To bypass the sloped platforms (including avoiding fall damage),
Inactive sloped tile mount.
Actuated first tooth mount.
hellevator, all teeth need to be actuated. If used in a three-block wide shaft, only the first tooth at each mounting point needs to be actuated.Sectional elevator (up one section per click). For a two-way use in a two-block wide
Tooth spacing variations: A single gap can be left (e.g. to help adjusting the exact starting/ending points). One-tile gaps can only be used on alternate teeth, otherwise the entity's head will jam against the third tooth.
▲ 上 while walking left.This hoik is mounted by walking past the entrance or holding
Mid-run mounting. (There is no known way to walk through a down hoik, like in the diagram above, without actuating a tooth.)
Walk in from the left. The hoik uses inactive sloped block and ceiling. Like upward hoiks, every other downward tooth can have 1 vertical space, instead of 2, but the first gap must be 2 tiles high.
All tiles except the row directly below the each tooth can be filled in.
Actuated mount. The first tooth comes in as a block/platform directly underneath and is actuated out. Must be a one-tile gap beneath, otherwise the player will just step down.
Switch to move upwards/downwards. Actuated upward teeth (and mounting teeth) allow two-directional travel through a two-tile wide shaft.Activate the
Standard three-tile wide up- and downward hoik. Hoiking downwards places the entity on the platform at the bottom.
A four-tile wide shaft allows up- and downward hoiks to be entirely independent.
While all entities are moved from left to right here, the layout can be inverted to enable right-to-left transport. As soon as the entity is mounted, all tiles except the teeth are irrelevant. This allows a horizontal track through entirely solid ground.
All entities are moved along the ceiling, hence no floor is required. Actuated mounting variants are more space-efficient, thus shown first.
Waist-height teeth variant, 1 tile/tick.
Head-height variant, 2 tiles/tick. Actuated mount.
Head-height, 1 tile/tick. Sloped platform 1-step elevator mount.
Waist-height, 1 tile/tick. Step-up elevator mount. (An elevator section of any length can be used, provided the last step up puts the player's head directly under (against) the ceiling.
All entities are moved along the floor, hence no ceiling is required (except for specific mounting instances).
▼ 下 before reaching the sloped platform (will walk over the top otherwise).Foot-height variant, 2 tiles/tick. To mount, hold
Waist-height teeth, 1 tile/tick. Inactive sloped block mount. Just walking towards it to mount is sufficient, as the block above prevents stepping up.
Waist-height, 1 tile/tick. Actuated teeth mount variant. Waist-height is preferable over actuated foot-height which will push up the sprite (unless a ceiling is placed) and requires more precise positioning.
Bi-directional, foot-height, 2 tiles/tick. Automatic mounting in either direction, just walk towards it.
▼ 下 while mounting, otherwise the player will just walk straight over the top, in either direction.Bi-directional, foot-height, 2 tiles/tick. The absence of ceiling in the mounting area here requires to hold
Dropped items can be hoiked, i.e. displaced due to overlap with sloped blocks, as well. While item transport is more limited than player and NPC transport, there are numerous common use cases, such as more efficient farms (e.g. an automated Fallen Star farm) or a Heart/Mana Star extractor for event fights.
See the following forums thread for further reading: Item Hoiks! - [Guide + Video] Move & Seperate Drops, Trawl Fallen Stars and More...