This page covers a release version that has a major issue under certain conditions.
The dedicated server for this version has a security vulnerability in the Log4j library that could be used to perform a remote code execution exploit. It can be addressed by appending a certain JVM argument to the server startup command line.[1]
1.13, the release of the Update Aquatic,[3] is a major update to Java Edition released on July 18, 2018. It focused mainly on ocean content and technical features.[4][5] Specifically, new blocks, such as blue ice, coral, conduits, kelp, sea pickles, stripped logs, wood, and turtle eggs were added, as well as new items such as buried treasure explorer maps, debug sticks, buckets of fish, hearts of the sea, phantom membranes, tridents, and much more. Also, water is more transparent than before and the color was changed to match specific biomes, while it was only dark blue before 1.13. In addition, dolphins, drowned, fish mobs, phantoms, and turtles were added, as well as new biomes, a new buffet world type (a stopgap replacement for the customized world type), and new generated structures. This update also added many commands and changed the format of existing commands, and added many new technical aspects, such as data packs and tags. Due to the update's vast technical changes such as world generation, the update severely degraded the performance of Java Edition.
This update was originally intended to be released as two separate updates with 1.13, originally named Technically Updated, having the technical changes, and 1.14, originally to be called the Update Aquatic, having all the ocean features, however they were combined into one big update,[2] and as such snapshots from 17w43a to 18w06a mainly just added or modified commands.
The update was originally revealed during the MINECON Earth 2017 livestream on November 18, 2017.[6]
Initially, 1.13 was scheduled to be released on May 30, 2018.[7] However, the release was pushed back to July 18, 2018 to fix critical bugs. This is the first version released in 2018.
Can be activated by placing prismarine, dark prismarine, prismarine bricks, and/or sea lanterns in 5Γ5 open squares around it.
When active, affects nearby players in water with the Conduit Power status effect.
Conduit Power stops the breath meter from running out, gives underwater night vision and increases mining speed.
A complete structure fully powers the conduit.
When active at full power, the range increases and hostile mobs within 8 blocks take damage.
The eye of the conduit shows whether it's hunting for hostile mobs or not: it shows an open eye when it's looking out for hostile mobs, and a closed eye otherwise.
While equipped and out of water, it gives the player Water Breathing effect for 10 seconds, essentially giving the player 10 extra seconds of breath underwater.
New world type: can be created by selecting Buffet World as a world type.
Creates single-biome worlds.
Allows choosing between Overworld (as "Surface"), Nether (as "Caves") and End (as "Floating islands") terrain generation.
Biome names are sorted alphabetically in the buffet menu.
Another way to generate chunks (Checkerboard) is available by using an NBT Editor to open a Buffet world's "level.dat", and using the following code for the "generatorOptions": {"biome_source":{"type":"minecraft:checkerboard"}}.[8]
Contain 1β3 loot chests containing different types of loot depending on the ship.
Can generate upright, sideways or upside down.
Underwater caves
Come in many variants, including ravines.
Underwater ravines often contain magma blocks at the bottom, which create bubble columns, which drag players down and makes navigating through water more difficult and drowning more likely.
Used on tridents to launch the player when thrown while in water or rain. Riptide does not throw the trident, but instead launches the player forwards.
If the player is not in water and it is not raining, the player is not able to throw tridents enchanted with Riptide, but they can still deal melee damage.
Players display a spinning animation when dashing.
Causes the player to descend at a much slower rate, and not take any damage when hitting the ground.
This allows the player to jump further than normal.
If the player is sprinting while under the Slow Falling status effect, they are able to jump across a gap of 5 blocks, 6 with a 1-block height difference, compared to 4 with normal sprinting.
Crops don't get destroyed if the player lands on them with the Slow Falling status effect.
Added a command UI that shows when commands are typed in the chat.
Different components of commands are displayed in different colors.
Errors are displayed in red without having to run the command.
Added command suggestions for entity selectors.
An nbt argument in target selectors.
A new command parsing library known as "Brigadier".
Coordinates
Added a new local coordinate type in commands using ^.
When specifying coordinates in a command, the player can now use ^ to specify local coordinates instead of world coordinates.
The axes used for local coordinates are relative to the execution rotation, defaulting to 0,0 (south).
Like world coordinates, they are by default measured from the base of an entity.
The syntax is: ^left ^up ^forwards.
left/up/forwards is the amount of blocks in the specified direction.
Specific commands
/bossbar
/bossbar create <id> <name> creates a boss bar.
id is used to target the boss bar and is in the form namespace:name, for example: foo:bar. If no namespace is specified it defaults to minecraft.
name is the display name of the boss bar and only accepts a JSON text component.
/bossbar set <id> name <name> changes the name of the boss bar.
/bossbar set <id> color <color> changes the color of the text (if no color was specified as part of a text component) and the boss bar, defaults to white.
/bossbar set <id> style <style> changes the style of the boss bar, defaults to progress.
Available options are: notched_6, notched_10, notched_12, notched_20, and progress.
notched sets the amount of segments.
progress sets the amount of segments to 1.
/bossbar set <id> value <value> changes the current value of the boss bar, defaults to 0.
/bossbar set <id> max <max> changes the maximum value of the boss bar, defaults to 100.
/bossbar set <id> visible <visible> changes the visibility of the boss bar, defaults to true.
/bossbar set <id> players <players> changes which players can see the boss bar, defaults to none.
/bossbar remove <id> removes the boss bar.
/bossbar list displays a list of created boss bars.
/bossbar get <id> (max|players|value|visible) returns the requested setting as a result of the command.
A command that allows the player to get, merge, and remove entity and block nbt data.
/data get block <pos> [<path>] [<scale>]
Returns the NBT data from the block at pos. A path can be specified to only retrieve that nbt data. Numeric values are set as the result of the command, strings set the length of the string as the result, lists set the number of elements in the list as the result, and compounds set the number of tags that are directly in that compound as the result. An optional scale can be provided to scale the number retrieved.
/data get entity <target> [<path>] [<scale>]
Returns the NBT data from one target entity. A path can be specified to only retrieve that nbt data. Numeric values are set as the result of the command, strings set the length of the string as the result, lists set the number of elements in the list as the result, and compounds set the number of tags that are directly in that compound as the result. An optional scale can be provided to scale the number retrieved.
/data merge block <pos> <nbt>
Merges the block nbt data at pos with the specified nbt data.
/data merge entity <target> <nbt>
Merges the entity nbt data from target with the specified nbt data. Merging player nbt data is not allowed.
/data remove block <pos> <path>
Removes nbt data at path from the block at pos.
/data remove entity <target> <path>
Removes nbt data at path from one target entity. Removing player nbt data is not allowed.
Data paths look like this: foo.bar[0]."A [crazy name]".baz.
foo.bar means foo's child called bar.
bar[0] means element 0 of bar.
"quoted strings" may be used if a name of a key needs to be escaped.
Examples of old commands:
/entitydata <target> {} is now /data get entity <target>
/blockdata <pos> <nbt> is now /data merge block <pos> <nbt>
β―+β― now copies the player's current location to clipboard.
Now gives a warning before forcing a debug crash.
F3 debug overlay now shows the fluid the player is looking at, separately from blocks.
Player can be up to twenty blocks away for this to work now.
Added "Targeted Entity". Displays information for entities up to 4 blocks away (counting from the entities hitbox).
Added β―+β―β―+β― to copy the client-side data of targeted block or entity. It can be used by anyone.
Added β―+β― to copy targeted block or entity server-side data to clipboard. It can only be used by operators.
Added information about the time it takes for a tick on the integrated server (singleplayer only), server brand (multiplayer only), number of packets sent by the client (tx), and number of packets received by the client (rx).
Items, blocks and functions can be "tagged" with an ID.
Block tags can be used when testing for blocks in the world.
Items tags can be used when testing for items in inventories.
Function tags can be used when calling functions using commands or advancements.
Functions tagged in minecraft:tick runs every tick at the beginning of the tick.
Functions tagged in minecraft:load runs once after a (re)load.
Tags are created using data packs in data/(namespace)/tags/blocks, data/(namespace)/tags/items, and data/(namespace)/tags/functions.
When overriding a tag from a different data pack, the player can choose to replace or append.
By default all tags append if another data pack created the tag.
Adding "replace": true to a tag's definition makes the tag overwrite instead.
For example: data/(namespace)/tags/blocks/foo.json
This creates a block tag called (namespace):foo.
The json file contains a list of all blocks that should be "tagged".
This list can also contain other tags of the same type.
The player can add for example #foo:bar in a tag value list to reference another tag called foo:bar.
Self referencing is not possible.
There are 24 vanilla tags for both items and blocks: minecraft:acacia_logs, minecraft:banners, minecraft:birch_logs, minecraft:buttons, minecraft:carpets, minecraft:coral, minecraft:coral_plants, minecraft:dark_oak_logs, minecraft:doors, minecraft:jungle_logs, minecraft:logs, minecraft:oak_logs, minecraft:planks, minecraft:rails, minecraft:sand, minecraft:saplings, minecraft:spruce_logs, minecraft:stone_bricks, minecraft:wooden_buttons, minecraft:wooden_doors, minecraft:wooden_pressure_plates, minecraft:wooden_slabs, minecraft:wooden_stairs, and minecraft:wool.
There are 7 extra vanilla tags for blocks: minecraft:anvil, minecraft:enderman_holdable, minecraft:flower_pots, impermeable, minecraft:slabs, minecraft:stairs and wall_corals.
Blocks in the impermeable tag are prevented from showing dripping liquid particles. By default, the tag contains glass and all stained glass blocks.
There is 1 extra vanilla tag for items: minecraft:boats.
Separated some of the logic for blocks and fluids.[11]
Current fluids:
minecraft:empty
minecraft:flowing_water
minecraft:water
minecraft:flowing_lava
minecraft:lava
The fluid at a location is currently dependent on the block at the location; currently there still are water and lava blocks.
Added two new fluid tags: minecraft:lava and minecraft:water.
This system is mostly internal; it cannot be directly interacted with yet.
Advancement item predicates now support item tags.
Water can now be placed in the following blocks: chests, trapped chests, stairs, slabs, fences, walls, iron bars, glass panes, ender chests, trapdoors, ladders, and signs.
Water can flow out of these blocks, but cannot flow into them.
When full of water, they count as water blocks for all gameplay (such as swimming).
Water flows out of all faces of the block except for solid faces.
Removed the blocks flowing_water and flowing_lava.
All of the blocks that water can be placed in now have the block state waterlogged.
Blocks such as bubble column or kelp always count as a water source.
When water spreads and would later turn into a source block, it now immediately just places a source block.
Other
New valid_spawn block tag for blocks that the player can spawn on.
There is now a distinction between scheduled "liquid ticks" and "block ticks".
Blocks which used to have no bottom texture (like repeaters, comparators, etc.) now have a bottom texture, not including redstone wire.
Blocks with a collision box now have matching bounding boxes.
Affected: anvils, cauldrons, hoppers, fences, iron bars, glass panes, filled end portal frames, vines, lily pads, stairs, brewing stands, and pistons.
Updated the collision box of anvils and hoppers.
Does not affect blocks with a collision box smaller than their model, such as soul sand and snow layers.
The outline for block hitboxes can now have other shapes than just one cuboid. This causes the outline of stairs and other blocks to match with the hitbox.
They can be put directly next to their double variants instead of requiring one block between them.
Shift right-clicking a chest or trapped chest only makes it try to connect to the clicked chest or trapped chest if possible, else it becomes a single chest or trapped chest.
In the Nether, vertical air cavities β stretching from bedrock level to as far as Y=35, and filled with lava from bedrock level to Y=10 β now occur in chains across the bottom of the Nether, often forming extensive ravines.
In newly generated chunks, the player is less likely to find frozen oceans next to warm oceans, etc.
Functions are now completely parsed and cached on load.
This means if a command is incorrect for any reason, the player knows about it on load.
NBT
The ench NBT tag of items is now called Enchantments, and no longer has number IDs in each compound.
Thrower and Owner nbt keys of item entities are no longer strings, but are instead compounds with two longs named L and M.
owner nbt keys of snowballs, eggs and ender pearls are no longer strings, but are instead compounds with two longs named L and M.
Changed all custom names (blocks, items, entities, block entities) from raw strings to JSON text components (which can be translated).
For example, /summon pig ~ ~ ~ {CustomName:"Reuben"} is now /summon pig ~ ~ ~ {CustomName:"\"Reuben\""} or /summon pig ~ ~ ~ {CustomName:"{\"text\":\"Reuben\"}"}
Modifier sub-commands can change how the command is run:
/execute as <entity> <chained command> executes a command using the entity <entity> (but doesn't change position).
/execute at <entity> <chained command> executes a command using the position, rotation, and dimension of the <entity> (but doesn't change entity).
/execute positioned <pos> <chained command> executes a command using the position of <pos>.
/execute positioned as <entity> <chained command> executes a command using the position (x y z) of the entity, but nothing else.
/execute align <axes> <chained command> executes a command after aligning the current position to the block grid (rounding down), <axes> is any combination of xy and z (for example: x,xz,zyx and yz).
Examples:
x=-1.8,y=2.3,z=5.9 using x becomes x=-2,y=2.3,z=5.9
x=2.4,y=-1.1,z=3.8 using yxz becomes x=2,y=-2,z=3
/execute facing <x y z> <chained command> executes a command as though the executor is facing x y z.
/execute facing entity <entity> (eyes|feet) <chained command> executes a command as though the executor is facing the entity's eyes or feet.
/execute rotated as <entity> <chained command> executes a command as though the executor is rotated in the direction of the entity.
/execute rotated <y x> <chained command> runs the command as though the executor is rotated in the specified direction.
/execute in (overworld|the_end|the_nether) <chained command> executes a command as though the executor is in the specified dimension.
/execute anchored (feet|eyes) <chained command> makes the rest of this command use feet or eyes for ^ ^ ^ coordinates or facing commands.
Conditional sub-commands can let the player prevent the command from running at all:
/execute (if|unless) block <pos> <block> <chained command> executes a command if (or unless) <pos> matches <block>.
/execute (if|unless) blocks <begin> <end> <destination> (all|masked) <chained command> executes a command if (or unless) the region between <begin> and <end> matches <destination>.
/execute (if|unless) entity <entity> <chained command> executes a command if (or unless) <entity> exists (returns 1 or more entities).
/execute (if|unless) score <target> <targetObjective> (<|<=|=|>=|>) <source> <sourceObjective> <chained command> executes a command if (or unless) <target>'s score relates to <source>'s score based on the chosen criterion.
/execute (if|unless) score <target> <objective> matches <range> <chained command> executes a command if (or unless) <target>'s score is in the range (ie 1, 1..5).
As replacement for /stats, a new sub-command store lets players store the result or success of a command somewhere:
result is the result of a command, which replaces these old stats: AffectedBlocks, AffectedEntities, AffectedItems, QueryResult.
success is how many times the command was successful. This is usually 0 or 1, but if the command split up (for example as @a) then it may be more than 1. This replaces SuccessCount.
The value is stored when the full command has finished executing.
If a command isn't successful (success is 0), result is always set to 0.
It is made clear what the expected result of each command is.
/execute store (result|success) score <name> <objective> <chained command>
The value is stored into the scoreboard under <name> and <objective>.
The objective must exist, but unlike with /stats the player doesn't need to set an initial value for <name>.
/execute store (result|success) block <pos> <path> (byte|double|float|int|long|short) <scale> <chained command>
The value is stored in the nbt data at path of the block at pos as a byte, double, float, int, long, or short.
/execute store (result|success) entity <target> <path> (byte|double|float|int|long|short) <scale> <chained command>
The value is stored in the nbt data at path of one target entity as a byte, double, float, int, long, or short.
Like /data, /execute store can't modify player nbt. Nbt inside the tag key of items in the player's Inventory or EnderItems is an exception and can be modified by /execute store.[18]
/execute store (result|success) bossbar <id> (value|max) <chained command>
The value is stored in the value or max setting of the boss bar with ID id.
Data paths look like this: foo.bar[0]."A [crazy name]".baz.
foo.bar means foo's child called bar.
bar[0] means element 0 of bar.
"quoted strings" may be used if a name of a key needs to be escaped.
Examples:
/execute store success score @a foo run say hi
/execute as @e[type=pig] at @s store success entity @s Saddle byte 1 if entity @p[distance=..5]
The player can chain all sub-commands together.
After every sub-command the player needs to write another sub-command.
When the player is done with chaining sub-commands, run lets them write the actual command to be executed.
/ is no longer allowed before the command.
/execute as somebody at somebody run say hi
Example of old commands:
/execute @e ~ ~ ~ detect ~ ~ ~ stone 0 say Stone! is now /execute as @e at @s if block ~ ~ ~ stone run say Stone!
/execute @e ~ ~ ~ detect ~ ~ ~ grass 0 summon pig is now /execute at @e if block ~ ~ ~ grass_block run summon pig
/execute @e ~ ~ ~ say Hello! is now /execute as @e run say Hello!
The <params> argument has been removed, instead the parameters for particles like block can be specified right after the <name> argument using the new block argument.
/particle block polished_granite ~ ~ ~ 0 0 0 0 1
/particle dust 1 1 1 1 ~ ~ ~ 0 0 0 0 1
1 1 1 1 are, in order, the three RGB color values (0-1) and the size of the particle.
/particle <name> <pos> is now a valid shortcut. delta, speed, and count defaults to 0.
Because of The "flattening", certain blocks and items have been moved around in their respective groups, for example the purpur block is now after obsidian.
Added "Looking at liquid" row. Displays the targeted fluid's coordinates.
"Looking at" row has been renamed "Looking at block" and now targets through liquids.
Right side:
"Targeted Block" information now targets through fluids.
"Targeted Block" now displays information for blocks up to 16 blocks away.
Fonts
The Latin extended alphabet, along with Greek and Cyrillic, have been given their own "textured" font. However, some characters (such as kanji and script) still use the unicode font.
Option Fullscreen resolution capitalization changed to Fullscreen Resolution.
Values for GUI scale has been renamed from "Small", "Medium" and "Large" to 1,2 and 3. GUI scaling also detects the resolution of monitors and offers even higher scaling options (4 for 1080p, 5 for 4k and so on).
stat.(stat) is now minecraft.custom:minecraft.(stat).
stat.(stat).minecraft.(block/item/entity ID) is now minecraft.(stat):minecraft.(block/item/entity ID).
Tooltips
Added (and fixed) rarity values for certain items. Items with a rarity value have their hotbar tooltips, which are displayed when scrolling over them in the hotbar, displayed as their respective colors when highlighted, rather than just being white.[21]
MC-90265 β UI Accounts For Significant FPS Reduction.
MC-90591 β Camera instantaneously changes position when elytra is deployed, rather than smoothly.
MC-91245 β One character namespaces are treated as minecraft:.
MC-91459 β /setblock at Y=256 shows unique message compared to using other outside-world setblock commands / Using /setblock at Y>256 says max building height is 256.
MC-91727 β loot table "spreading large stacks" will overwrite existing items.
MC-91759 β End dimension only: End crystals aren't actually pushed server-side, causing ender crystal location desync.
MC-92061 β Full speed ridden boats generate water splash particles under the boat.
MC-92255 β Singleplayer freezes instead of kicking a player.
MC-92408 β Arrows/trident move slightly after a second after hitting the target.
MC-92901 β End Crystals placed at high coordinates are placed with offset.
MC-93129 β Falling sand behaves incorrectly in lazy chunks.
MC-93468 β Water and lava flow affected by random ticks.
MC-93908 β Fireball only flies in 1 direction when hitting it by bow/snowball while running a /tp command.
MC-94027 β "carried" tag of Enderman reads value as string and short.
MC-94186 β BlockDragonEgg does not extend BlockFalling.
MC-94325 β Shadow of obfuscated text does not match with displayed character.
MC-94487 β Ravines don't naturally cut through sand, sandstone, or terracotta upon generation, but other cave types do.
MC-96321 β Mob cannot pathfinding in the daylight sensor.
MC-96524 β Language specific letters don't look like they should.
MC-96564 β Mobs don't rotate properly while walking on light sensor.
MC-96911 β Iron golem / VillagerGolem killing monster it is riding has broken AI.
MC-96929 β /enchant command missing indicator for affected entity and enchanting.
MC-97196 β /spreadplayers shows wrong error message/large number in error message when no entities were spread.
MC-97355 β Lily pads placed on ice plays wrong sound.
MC-97952 β Enderdragon does not have a radii option.
MC-108967 β "Selector '<selector>' found nothing" message is missing for scoreboard teams join and scoreboard teams leave.
MC-109348 β Game crashes on loading world with a java.lang.StackOverflowError after using structure blocks due to multiple block entities in the same location
MC-109591 β Detecting the block states not saved in meta data does not work.
MC-109659 β The observer only detected upgrade top of the door if opened/closed with energy (button, lever, etc.), but not with your hand.
MC-109799 β Observer don't power when update and push by piston at the same time.
MC-109829 β Observer keeps re-triggering when water observed
MC-100579 β Pistons do not account for block updates triggered by blocks broken by the extending piston when placing moved blocks, resulting in duplication issues[23]
With a total of 10 pre-releases released, 1.13 has the most pre-releases of any update released so far.
With a total of 42 snapshots released, 1.13 has the third most snapshots of any update released so far.
Bested by 1.9, which has 56 snapshots, and 1.8, which has 52 snapshots.
1.13 had the longest timespan of development versions for a major update, with the first snapshot, Java Edition 17w43a, being released on October 25, 2017, 266 days before the full release.
The previous longest was 1.8, with 236 days from the first snapshot to the final release.
This update was the second longest wait for a major update, with 406 days having elapsed since 1.12 was released on June 7, 2017.
This is eclipsed by the wait between 1.8 and 1.9, having 545 days elapsed between them.
This update had the most development versions between the first snapshot and the change of its panorama, with 17w43a at development version 1, while 1.13-pre1 was development version 43.