Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:Java Edition 17w45a

From SAS Gaming Wiki
Revision as of 11:10, 24 May 2026 by SyncBot (talk | contribs) (Sync: new page from Minecraft)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Template:Infobox version


17w45a is the third Minecraft:snapshot for Minecraft:Java Edition 1.13, released on November 8, 2017<ref>Template:Snap</ref>, which completely overhauled the command system.

Additions

Command format

General

  • A command UI when typing commands in the chat.
    • Different components of commands are displayed in different colors.
    • Errors are displayed in red without having to run the command.
  • An nbt argument in target selectors.
  • A new command parsing library called Minecraft:Brigadier.

Changes

Mobs

Minecraft:Horses
File:Black Horse Revision 2.gif File:Brown Horse Revision 2.gif File:Chestnut Horse Revision 2.gif File:Creamy Horse Revision 2.gif File:Darkbrown Horse Revision 2.gif File:Gray Horse Revision 2.gif File:White Horse Revision 2.gif
File:Baby Black Horse Revision 2.gif File:Baby Brown Horse Revision 2.gif File:Baby Chestnut Horse Revision 2.gif File:Baby Creamy Horse Revision 2.gif File:Baby Darkbrown Horse Revision 2.gif File:Baby Gray Horse Revision 2.gif File:Baby White Horse Revision 2.gif

  • The model has been simplified to be more consistent with other mobs.
  • Some animations like opening its mouth when grazing has been removed from the model as well, and the saddle animation is changed slightly.

Command format

General

  • Commands and functions are much faster and more efficient.
  • Most commands are now more case-sensitive. Lowercase is preferable wherever possible.
  • The output signal of a command block used to be its "success count", but now is its "result".

Block argument type

  • Wherever a <block>, optionally [<data>] and optionally [<nbt>] was required, it is now a single <block> argument that looks like this:
    • stone
    • minecraft:redstone_wire[power=15,north=up,south=side]
    • minecraft:jukebox{RecordItem:{...}}
    • minecraft:furnace[facing=north]{BurnTime:200}
  • ID is required (though just as before, if namespace is not set it defaults to minecraft:).
  • States are inside [], comma-separated and must be properties/values supported by the blocks. They are optional.
    • minecraft:stone[doesntexist=purpleberry] is a syntax error, because stone does not have doesntexist.
    • minecraft:redstone_wire[power=tuesday] is a syntax error, because redstone_wire's power is a number between 0 and 15.
  • An optional tag is inside {}, and works just like the Minecraft:player would expect.
  • In the context of "conditions"/testing for blocks, only the states the player provided are tested.
    • If the player tests redstone_wire[power=15], it only checks power but ignores other states such as north.
  • In the context of setting blocks, any states the player provided are set but anything missed out defaults depending on the block.
    • If the player set redstone_wire[power=15], it sets power to 15 but north is a default value (in this case, set to none).
  • There is no such thing as block data value in 1.13, but either a different block or a state.

Commands

Template:Cmd

Template:Cmd

Template:Cmd

  • The syntax of Template:Cmd has changed.
    • Template:Cmd becomes Template:Cmd.
    • See the item argument type for more details.
    • [<data>] has been removed in preparation for the flattening, item data is no longer a thing and item damage values are moved into NBT.

Template:Cmd

Template:Cmd and Template:Cmd

Template:Cmd

Template:Cmd

Template:Cmd

Template:Cmd

  • The syntax of Template:Cmd has been split off.
    • Modifier sub-commands can change how the command is ran:
      • Template:Cmd executes a command using the entity <entity> (but does not change position).
      • Template:Cmd executes a command using the position of <entity> (but does not change entity).
      • Template:Cmd executes a command using the position of <pos>.
      • Template:Cmd executes a command after aligning the current position to the block grid (rounding down), <axes> is any combination of x y 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.
    • Conditional sub-commands can let the player prevent the command from running at all:
      • Template:Cmd executes a command if (or unless) <pos> matches <block>.
      • Template:Cmd executes a command if (or unless) the region between <start> and <end> matches <destination>.
      • Template:Cmd executes a command if (or unless) <entity> exists (returns 1 or more entities).
      • Template:Cmd executes a command if (or unless) <target>'s score relates to <source>'s score based on the chosen criterion.
    • As replacement for Template:Cmd, a new sub-command store lets the player store the result or success of a command somewhere:
      • Template:Cmd.
      • 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 into the scoreboard under <name> and <objective>.
      • The objective must exist, but unlike with Template:Cmd, the player does not need to set an initial value for <name>.
      • The value is stored when the full command has finished executing.
      • If a command is not successful (success is 0), result is always set to 0.
      • It is made clear what the expected result of each command is.
    • 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 players write the actual command to be executed.
        • / is no longer allowed before the command.
      • Template:Cmd.
    • Example of old commands:

Template:Cmd

  • Template:Cmd is now an alias for Template:Cmd.
  • Split up into 3 different subcommands:
    • Template:Cmd
      • Adds <amount> of either points or levels to the target <players> (defaults to points).
      • Adding points can cause players to level up, as usual.
      • Negative numbers are supported, to subtract points instead.
      • Subtracting points can cause players to level down.
    • Template:Cmd.
      • Sets <amount> of either points or levels on the target <players> (defaults to points).
      • The player cannot set more points than their current level allows.
      • When changing levels, the points stay at the same percentage as the previous level.
    • Template:Cmd.
      • Returns either the number of points or levels on the given <player>.

Template:Cmd

Template:Cmd

Template:Cmd

  • Template:Cmd no longer accepts unknown rules ("custom gamerules").
    • The player can use functions or Minecraft:scoreboards as replacements, with no loss of functionality.
    • Existing custom gamerules are not accessible. Only built-in rules are available.
  • Values to Template:Cmd are now type checked (giving a string if it wants an int is a very obvious error).

Template:Cmd

  • The syntax of Template:Cmd has changed.
    • Template:Cmd is now Template:Cmd.
    • See the item argument type for more details.
    • [<data>] has been removed in preparation for the flattening, item data is no longer a thing and item damage values are moved into NBT.

Template:Cmd

  • A target is now mandatory.

Template:Cmd

  • The y-coordinate is now returned as 64 instead of ?.
  • The result of the command, used by Template:Cmd, is the absolute distance to the structure.

Template:Cmd

  • Now allows target selectors besides names.

Template:Cmd

  • The <params> argument has been removed, instead the parameters for particles like blockcrack can be specified right after the <name> argument using the new block argument.
  • The particle names have been converted to lowercase and optionally have a namespace.

Template:Cmd

  • Added an optional port argument.

Template:Cmd

  • The syntax of Template:Cmd has changed.
  • The slot argument no longer requires slot..
    • For example, slot.hotbar.1 now is hotbar.1.

Template:Cmd

Template:Cmd

Template:Cmd

  • Removed. Now part of Template:Cmd.
  • The new Template:Cmd one is not a direct replacement, the behavior has changed:
    • It is now per-command, instead of per-entity or per-block.
    • There's only result and success, which covers all the old stat types.

Template:Cmd

  • * can now be used instead of source to stop all sounds with a certain name, across all sources.

Template:Cmd

Template:Cmd

Template:Cmd, Template:Cmd and Template:Cmd

Template:Cmd

Template:Cmd and Template:Cmd

Template:Cmd

Template:Cmd

  • If the player does not specify a time, it now defaults to 5 minutes (previously random).

Minecraft:Items

  • Wherever an <item>, optionally [<data>] and optionally [<nbt>] was required, it is now a single <item> argument that looks like this:
    • stone
    • minecraft:stick{display:{Name:"Stick of Untruths"}}
  • ID is required (though just as before, if namespace is not set it defaults to minecraft:).
  • An optional tag is inside {}, and works just like the Minecraft:player would expect.
    • Any other information is either a separate item or a property in NBT.

Minecraft:Target selectors

  • More error handling has been introduced.
  • Arguments may now be quoted.
    • Things like limit=0, level=-10, gamemode=purple are not allowed.
  • There's no longer a "min" and "max" separate values, we instead support ranges.
    • level=10 is level 10.
    • level=10..12 is level 10, 11 or 12.
    • level=5.. is anything level 5 or above.
    • level=..15 is anything level 15 or below.
  • The arcane shorthand names have been renamed.
    • m -> gamemode
    • l or lm -> level
    • r or rm -> distance
    • rx or rxm -> x_rotation
    • ry or rym -> y_rotation
    • c -> limit
  • x, y, z, distance, x_rotation, y_rotation are now doubles and allow values like 12.34.
    • x and z are no longer center-corrected.
      • This means x=0 no longer equates to x=0.5.
  • gamemode (previously m) no longer allows numerical or shorthand IDs.
  • limit (was c) No longer allows negative values.
    • Use sort=furthest instead.
  • The name argument now supports spaces (as long as it is quoted).
  • Multiple of the same argument in target selectors is now possible.
    • tag=foo,tag=bar,tag=!baz matches someone with foo, bar and not baz.
    • type=!cow,type=!chicken matches something that is not a cow and is not a chicken.
    • type=cow,type=chicken is not allowed, because something cannot both be a cow and chicken.
  • The player can specify the sorting.
    • sort=nearest is the old default, sorting by distance (default for @p).
    • sort=furthest is the reverse of that (previously the player would use c=-5 for this).
    • sort=random for random sorting (default for @r).
    • sort=arbitrary is a new option to not sort the result (default for @e, @a).
  • Specifying scores now looks like scores={foo=1,bar=1..5}.
  • The player can test for advancements with advancements={foo=true,bar=false,custom:something={criterion=true}}.
    • true for "they completed the advancement", false for "they have not completed the advancement".
    • Alternatively, pass a block of specific criteria to test for (again, true/false).

Fixes

Template:Fixes

Videos

Template:Slicedlime

References

Template:Reflist

Navigation

Template:Navbox Java Edition versions

Minecraft:de:17w45a Minecraft:es:Java Edition 17w45a Minecraft:fr:Édition Java 17w45a Minecraft:ja:Java Edition 17w45a Minecraft:nl:17w45a Minecraft:pt:Edição Java 17w45a Minecraft:ru:17w45a (Java Edition) Minecraft:zh:Java版17w45a