Java Edition.png

Java Edition:Any Falling Block

From Minecraft Discontinued Features Wiki
Jump to navigation Jump to search

This is a method to creating a falling block entity of (nearly) any block in the game, this is used to obtain many unobtainable blocks as the falling block entities don't have any checks when dropping the respective blocks. Normally, only gravity blocks such as gravel, sand, red sand, concrete powder, anvils, dragon eggs, scaffolding, and pointed dripstone can become falling blocks, but there are methods of making falling block entities out of other blocks.

Falling block entities will be broken if dropped onto specific blocks, and if an item form exists the respective item will drop.

Obtaining

Parallel Asynchronous Threads

The first method created the concept of "Any Falling Block", and is the result of some of the brightest technical Minecraft players, using nearly every pre-flattening Minecraft exploit with years of code digging, experimenting, and designing. The entire method was conceptualized by cool mann in 2017[1], who noticed that the check for if a block could fall and the fetching of the block to create the falling block entity used separate getBlockState calls.

Cool mann theorized that if the block could be changed between the getBlockState calls, then a falling block could be created from any block in the game. It wasn't until 2020 that the first in-game falling block swap was performed[2], but this was done using a modified game to allow for instant tile ticks in the End. By early 2022[3], a new method was developed to allow for the creation of asynchronous block updates, allowing vanilla and survival friendly setups to be possible.

To create any falling block, asynchronous block updates need to be created. For unknown reasons, the code that allows beacons to change their colors, which was added in 14w32a (1.8 Snapshot), was placed into a different thread from the main game. This thread makes several getBlockState calls, so if the chunk they are in is unloaded it can force a chunk to load. By tricking the game into unloaded a chunk where one of these threads was started, the chunk may be loaded on the beacons thread. If the chunk also triggers population when its loaded, then block updates are produced on the beacons thread. These block updates can be chained into one of several update multipliers available via instant tile ticks, allowing for the asynchronous change of blocks between the two getBlockState calls in the creation of falling block entities. The instant tile tick flag was removed in 17w47a (1.13 Snapshot) and updates stopped being produced from world generation, thus patching this method.

22w13oneBlockAtATime Falling Blocks

Pink Wither.png
Warning: April Fools' 
This feature requires April Fools' versions which may require file renaming or file deletion to load. See the Loading April Fools' Versions tutorial for more information.

In the April Fools' version 22w13oneBlockAtATime, there are many ways to get falling blocks of all blocks and items in the game. Instead of blocks and items becoming item entities, they become falling block entities and as such, many actions which would normally result in an item entity will instead result in a falling block entity that can be dropped onto certain blocks and picked up. The below actions result in a falling block entity.

  • The player can throw held items, resulting in falling block entities.
    • Mining a block will give the player the block in their hand.
    • Punching a falling block entity will give the player the block in their hand.
  • Endermen spawn with random items and drop them as falling block entities when killed or attacking the player.
  • Explosions turn exploded blocks into falling block entities and launch them away.
  • Droppers will turn the block in front of it into a falling block entity, but with no velocity resulting in the block dropping straight down.
  • Dispensers will turn the block in front of it into a falling block entity, and push it in that direction.
  • Items dropped from killed mobs or broken containers will become falling block entities.

end portal frames, and bedrock can be mined in 22w13oneBlockAtATime, albeit quite slowly. Containers can not be opened in 22w13oneBlockAtATime, with the exception of llama, donkey, and mule inventories which can be opened with Shift + Right-Click.

References

  1. This is shown in a screenshot of a private SciCraft discord chat by Myren on the Threadstone Wiki
  2. This was shown in cool mann's reveal video It works
  3. The first videos detailing the new method (mainly Myren Eario's Falling Block Episode 2) (the unload method) were released in February 2022