Java Edition 1.20.3
Jump to navigationJump to search
Minecraft 1.20.3
Edition | |
---|---|
Planned release date | ? |
Development versions | |
{"title": "Minecraft 1.20.3","images": [],"rows": [{"field": "''(link to Java Edition article, displayed as Java Edition)''","label": "Edition"},{"field": "?","label": "Planned release date"},{"field": "<div class=\"hlist\"><span style=\"white-space:nowrap;\">(link to :Category:Java Edition 1.20.3 snapshots article, displayed as '''Snapshots''') (3) </span><br/>((link to Java Edition 1.20.3/Development versions article, displayed as View all))</div>","label": "<span style=\"white-space: normal;\">Development versions</span>"}],"invimages": [],"footer": "<div style=\"display:inline-block\"><div style=\"display:inline-block;padding:0 .4em\">[[Java Edition 1.20|<span style=\"margin-right:-0.35em\">◄</span>◄ 1.20]]</div><div style=\"display:inline-block;padding:0 .4em\">[[Java Edition 1.20.2|◄ 1.20.2]]</div>\n</div><div style=\"display:inline-block\"><div style=\"display:inline-block;padding:0 .4em\">[[Java Edition 1.21| 1.21 <span style=\"margin-right:-0.35em\">►</span>►]]</div></div>"}
1.20.3 is an upcoming minor update to Java Edition, with no set release date, which improves shields, adds new functionality for decorated pots, changes chat component serialization, and fixes bugs.[1][2]
Additions
General
- Added the "Update 1.21" experimental toggle (
update_1_21
data pack).
- Added
playersNetherPortalDefaultDelay
to control time (in game ticks) that a player needs to stand in a nether portal before changing dimensions, while in Survival and Adventure mode. Defaults to80
. - Added
playersNetherPortalCreativeDelay
to control time (in game ticks) that a player needs to stand in a nether portal before changing dimensions, while in Creative mode. Defaults to1
. - Added
projectilesCanBreakBlocks
, to control whether impact projectiles will destroy blocks that are destructible by them (i.e. chorus flowers, pointed dripstone and decorated pots). Defaults totrue
.
- Added a new screen for handling corrupted level files.
- It gives the player the option to restore a backup, and a quick link to the bug tracker for reporting a bug about it.
- Added "Hide Splash Texts" in accessibility options, which allows the splash in the main menu to be hidden.
- Added
hideSplashTexts
, defaults tofalse
.
- Added new
dust_plume
andwhite_smoke
particle types.
- Added following damage type tag:
#can_break_armor_stand
: containsplayer_attack
, andplayer_explosion
.- Used for damage types that can incrementally knock down armor stands.
- Added following entity tags:
#can_breathe_under_water
: contains#undead
,axolotl
,frog
,guardian
,elder_guardian
,turtle
,glow_squid
,cod
,pufferfish
,salmon
,squid
,tropical_fish
,tadpole
, andarmor_stand
.- Used to disable drowning.
#undead
: contains#skeletons
,#zombies
,wither
, andphantom
.#zombies
: containszombie_horse
,zombie
,zombie_villager
,zombified_piglin
,zoglin
,drowned
, andhusk
.
Changes
Blocks
- Now can store items, up to a single stack of items.
- Hoppers, minecart with hoppers and droppers can now insert and/or extract items from them.
- Comparators can now read the number of items in them.
- Players can interact with them and insert items into them.
- Player interactions with them cause them to wobble and trigger a vibration frequency of 11.
- They have no GUI, and need to be broken to retrieve their content by players.
- Now can be smashed by projectiles, which cause them to shatter and drop their contents.
- Now can stack up to 64.
- Now, when blockstate
cracked
set totrue
, decorated pots will always shatter when broken. - Now appears in the Redstone tab of the Creative inventory.
Non-mob entities
- General
- The name of them will now be shown if looked at and a
CustomName
is set, or always displayed ifCustomNameVisible
is set, similar to living entities.
Command format
/function
command has been changed to better accommodate new/return
command.- Functions no longer have any result unless they use
/return
or there was error during lookup or instantiation.- That means
/function
command will no longer return (or even display) the number of commands run during execution. - Error conditions:
- Calling non-existent function.
- Calling empty function tag.
- Macro instantiation failure.
- That means
- "Result" in this context means values that would be stored with
/execute store
. - The previous behavior where every command in a function would perform store if a function was called with
/execute store ... run function
is removed.- That means that a single call to
function
will store at most once (zero times if/return
was not called). - For function tags with multiple entries, function results will be accumulated, but partial results will be stored at the end of every function.
- That means that a single call to
- Existing limits for functions have been refined to accommodate new execution rules and prevent a wider range of exploits:
- Limits apply even if run from command line (so it will now always behave as if they were placed in a function).
- For example, all functions called by
/execute as @e run function
will count towards the same limit. - Executions from command blocks still count as separate ones.
- For example, all functions called by
- Limit
maxCommandChainLength
for functions will now count "operations" like:- Execution of command for a single context.
- Execution of a stage in
/execute
(no matter how many contexts were modified). - Invocation of function.
- A new limit with game rule
maxCommandForkCount
now restricts the total amount of context that can be created by single state of functions like/execute
.- Example: if there are 5 entities in world,
/execute as @e
creates 5 contexts, while/execute as @e at @e
creates 5*5 = 25 contexts.
- Example: if there are 5 entities in world,
- Limits apply even if run from command line (so it will now always behave as if they were placed in a function).
- Re-added
(if|unless) function
subcommand.- A new execute sub-command that runs a function or function tag and matches the return value(s). If a tag is given, all functions run regardless of the results of prior functions.
- Syntax:
/execute (if|unless) function <function> -> [execute]
- Arguments:
function
: The function or tag to run.
- The matching of the result value of the function(s) that run:
- At least one of the functions must succeed for the match to succeed.
- A successful call is defined as a function that:
- Uses the
/return
command to return a value. - The return value is not 0.
- Uses the
- If no functions exited with
/return
, neitherif
norunless
will run.
- Re-added
run
subcommand:/return run <command>
.- This takes the result value from running the specified
command
and returns that as the return value of the function.- If command did not return any value (like, for example, call to a function without
/return
),/return
will not execute and function will continue execution. - If the given command fails, the return value is
0
. - In all other aspects, it works like
/return
with a specifiedreturn
value. - In case of fork (for example
/return run execute as @e run some_command
), the first execution of the command will return.- If there are no executions (for example in
/return run execute if @e[something_impossible] run some_command
), function will not return and will continue execution.
- If there are no executions (for example in
- If command did not return any value (like, for example, call to a function without
- This takes the result value from running the specified
Items
- When a player is blocking with a shield, the arm with the shield now follows the direction the player is looking at, when viewed from third person perspective.
General
- Changes to structure type definitions (
data/minecraft/worldgen/structure
):- Added optional
pool_aliases
list to jigsaw structures. - Aliases represent the possibility to rewire jigsaw pool connections by redirecting pool references on individual structure instances.
- Alias variants are represented in
type
and is one of:direct
: 1:1 mapping from an alias to a new pool.alias
: Pool to replace.target
: Pool to replace with.
random
: 1:n mapping where a pool fromn
is randomly selected for the structure instance.alias
: Pool to replace.targets
: Randomized list of candidate pools to replacealias
with.
random_group
groups
: Each group is a randomized list of above alias types.- Only one group is selected per structure instance.
- This enables modelling selections such as "if pool X is replaced with X1, also replace pool Y with Y1".
- Added optional
- The version is now
21
.
- In NBT format for entity type
tnt
:- Added
block_state
.- This field allows replacement of rendered block model.
- Renamed
Fuse
tofuse
.
- Added
- Plain-text chat components (text, no sibilings, no stylings) are now always serialized as string instead of
{"text": "your text"}
. - Chat components now serialize to NBT when sent over network.
- Components of type
nbt
now havesource
field with allowed values:entity
,block
, andstorage
.
- Components of type
- Chat components now have an optional type value (allowed values:
text
,translatable
,score
,selector
,nbt
, andkeybind
) to speed up parsing and improve error checking. id
field inshow_entity
hoverEvent
style now also accepts UUID as an array of 4 integers.- Numeric and boolean arguments for
translate
component are no longer converted to string. - The following JSON component representations are no longer accepted:
null
[]
- Errors in following style fields are no longer silently ignored:
color
clickEvent
hoverEvent
hoverEvent[action=show_entity].contents.name
hoverEvent[action=show_item].contents.tag
- Realms are now available in Snapshots, Pre-Releases, and Release Candidates.
- Any player who has an active Realms subscription is eligible to create a free Snapshot Realm.
- Snapshot Realms will be separate from the regular Realms to prevent any issues from impacting regular Realms.
- The version of the last played world on a Realm is displayed in the Realms list.
- Experiments are available for newly created worlds.
- The version is now
19
. - Added block model, item model and block state definitions for
crafter
. - Added GUI container texture and sprites for
crafter
. - Added
white_smoke
particle definition.
- Added
firework_rocket
into theimpact_projectiles
entity tag. - Added
skeleton_horse
into#skeletons
entity tag.
Experimental additions
Blocks
- A variant of crafting table, can be crafted with five iron ingots, a crafting table, two redstone dusts, and a dropper in the crafting table.
- Crafters can be oriented in any direction when placed.
- A pickaxe can increase the speed of mining them.
- Have a user interface similar to crafting table.
- Have 3×3 interactable crafting grid.
- Their crafting grid slots are toggleable, meaning that the player can change the behavior of a slot by clicking or pressing on a slot with an empty hand.
- A toggled slot cannot hold any items and therefore cannot have items placed into it by other blocks such as hoppers and droppers.
- A toggled slot can be toggled off by player, whether clicked directly or holding item(s), pressing slot keys associated with an empty or a not empty hotbar slot.
- Unlike the crafting table, the slots display a preview of the crafted item which will be crafted and ejected on the next redstone pulse, but cannot be manually taken out by the player.
- The user interface is shared between all players interacting with them, meaning that multiple players can interact with them at the same time, similar to chests and hoppers.
- The user interface does not have a recipe book to provide help, so the player must know the recipes.
- The crafter ejects one crafted item at a time when powered by a new redstone pulse, a redstone signal that is not a continuous signal.
- Upon receiving this new signal, crafters eject the recipe result from the front face.
- All the result items will be ejected together when the output result has multiple type of items.
- They can interact with hoppers and droppers, to input/output automatically.
- Hoppers can be used to both insert and pull items out of them.
- Droppers can be used to insert items into them.
- Moving items in from another block with a hopper or a dropper prioritizes filling items into slots, by following these rules:
- If there is a toggled slot, skipped.
- If there is not a toggled slot, crafters prioritize the first empty slot from left-to-right and top-to-bottom.
- If there is not a toggled slot, and there are no empty slots, crafters prioritize the smallest stack of the same item. If there are multiple possible stacks, pick the first from left-to-right and top-to-bottom.
- If failed to select a slot, hoppers and droppers will not take any action.
- When read by a redstone comparator, the redstone signal strength is 0 to 9, where each non-empty or toggled slot adds 1 strength.
Experimental changes
General
- Added
crafter
intomineable/pickaxe
, andneeds_stone_tool
block tags.
Fixes
- 53 issues fixed
- From released versions before 1.20
- MC-16937 – Shooting an arrow into the nether portal can hurt anybody when PvP is disabled.
- MC-47607 – Barrier particles aren't shown if particles are set to minimal.
- MC-50319 – Player owned projectiles lose their player ownership when exiting portals.
- MC-50647 – Slime mob spawners spawn slimes only in slime chunks.
- MC-78314 – (Marker) Armor stands create bubbles in water.
- MC-81656 – Field determining whether or not a wither skull is blue is not saved to and read from NBT.
- MC-114761 – Area effect cloud applies effect to dying mob.
- MC-118403 – Vexes summoned by evoker do not have evoker team applied.
- MC-143266 – Nested function calls reevaluate
maxCommandChainLength
before queueing commands. - MC-143269 – Nested intermediate functions are skipped when
maxCommandChainLength
commands are already queued. - MC-172398 – Fire texture renders according to the player's rotation in the player inventory.
- MC-189227 – First time tutorial uses old textures.
- MC-189261 – Various Realms buttons and texts are incorrectly capitalized.
- MC-198113 – Incomplete commands do not prevent functions from loading.
- MC-221558 – Light particles aren't shown if particles are set to minimal.
- MC-223774 – Firework Rockets can't be used to break Chorus Flowers.
- MC-225364 – Chorus flowers can be destroyed by projectiles in adventure mode.
- MC-225365 – Pointed dripstone can be destroyed by tridents in adventure mode.
- MC-227255 – Beehives and bee nests do not rotate/mirror correctly in structure blocks.
- MC-232719 – The scroll bar within the singleplayer menu doesn't reset its position to the top of the list when searching for worlds.
- MC-233276 – You can feed adult donkeys, horses, llamas or mules with maximum Temper value, and hand animation is not played.
- MC-234323 – Performance issue with text parsing.
- MC-234483 – Some strange pixels can be seen on the left side of world slot frames within several realms menus.
- MC-236341 – You can feed hay bales to adult donkeys, horses or mules, and animal eating animation/sounds are not played.
- MC-236501 – Renamed minecarts and boats don't show their name tag in the world.
- MC-236946 – Shield attack vector is normalized incorrectly.
- MC-249408 – Boats with Chests lose their name when placed.
- MC-253819 – Bells don't rotate correctly when loaded by structure/jigsaw blocks.
- MC-254850 – An operator can kick a host of a LAN world.
- MC-255173 – Nether portal teleportation is inaccurate at large coordinate values.
- MC-257786 – The game takes a long time to process players leaving realms groups or accepting or declining realms invitations.
- MC-260576 – Incomplete
/execute summon
command still runs. - MC-262027 – Result consumer created by
/execute store
is invoked for every command within a function. - MC-262105 – Entities can block brushing actions when players look very close to their hitboxes.
- MC-263123 – Mending incorrectly calculates overflow after full repair.
- From 1.20
- MC-261682 – Brushing can continue when block goes out of range.
- MC-262888 – Clicking "I know what I'm doing!" on the world loading screen when loading a world in a new snapshot is way too loud.
- From 1.20.1
- MC-263575 – When an item is extracted from suspicious sand/gravel, gravity does not work on this block.
- MC-263660 – "Sign wobbles" subtitle is the same for signs and hanging signs, causing translation issues.
- MC-264748 –
GLX._initGlfw
Treats Pointer as a String. - MC-265353 – Clocks and Compasses in Item Display Entities don't show correct time/direction.
- From 1.20.2
- MC-264595 –
/return
command cannot run function when inside another function. - MC-264699 – Functions return the output of commands only if the command doesn't start with
/return run
. - MC-264710 –
/execute if function
always fails and/execute unless function
always succeeds if run from a function. - MC-264880 – Gui slider uses new texture with programmer art.
- MC-264966 –
Signature is missing from Property textures
appears in the logs of some Minecraft worlds due to player heads. - MC-265462 – Sending resource pack during play phase shows loading terrain screen for a long time.
- MC-265515 – The "You don't seem to have a Realm" element in the realms menu cannot be selected via the mouse cursor.
- MC-265516 – The "Cancel" button within some realms menus can be deselected using keyboard navigation despite it being the only element within the said menu.
- MC-265517 – The "Buy a realm!" button is automatically selected when opening the "Add Realm" interface.
- MC-265519 – Game minimizes when certain areas of the screen are clicked on Mac in fullscreen mode.
- MC-265551 – "No pending invites!" tooltip in Realms is now untranslatable.
- MC-265589 – Brigadier exception can be repeatedly logged if command has invalid syntax.
References
- ↑"Minecraft Snapshot 23w40a" – Minecraft.net, October 4, 2023
- ↑"Minecraft Snapshot 23w41a" – Minecraft.net, October 11, 2023