Minecraft Snapshot 17w45a
Minecraft snapshot 17w45a, the third snapshot for Minecraft 1.13, has been released.
Find all servers to this version here : https://minecraft-mp.com/version/17w45a/
Find all servers to this version here : https://minecraft-mp.com/version/17w45a/
Additions
- Commands
- A command UI when typing commands in the chat.
- Different components of commands will be displayed in different colors.
- Errors will be displayed in red without having to run the command.
- An
nbt
argument in target selectors. - A new command parsing library called Brigadier.
Changes
Mobs
- Horse
- The model has been changed to be more consistent with other mobs.
Commands
- General
- Commands and functions are much faster and more efficient.
- Most commands are now more case-sensitive. Lowercase is preferable wherever possible.
- For example, this is no longer allowed:
/scoreboard ObJeCtIvEs ...
- For example, this is no longer allowed:
- The output signal of a command block used to be its "success count", but now is its "result".
- Specific Commands
/advancement
- Removed
/advancement test
in favor of entity selectors.
/clear
- The syntax of
/clear
has changed./clear [<target>] [<item>] [<data>] [<count>] [<nbt>]
will become/clear [<target>] [<item>] [<count>]
- See the item argument type for more details.
[<data>]
has been removed in preparation for the flattening, item data will no longer be a thing and item damage values will be moved into NBT.
/clone
- The syntax of
/clone
has been changed./clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> filtered [force|move|normal] [<block>] [<data>]
will become/clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> filtered [<block>] [force|move|normal]
/clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> [replace|masked] [force|move|normal] [<block>] [<data>]
will become/clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> [replace|masked] [force|move|normal]
/defaultgamemode
and/gamemode
- Now only accepts string IDs, not shorthand or numeric.
/gamemode 2
will become/gamemode adventure
/defaultgamemode sp
is now/defaultgamemode spectator
/difficulty
/difficulty [<value>]
now only accepts string IDs, not shorthand or numeric./difficulty 2
is now/difficulty normal
/difficulty p
is now/difficulty peaceful
- You can now query for the current difficulty by using
/difficulty
without any arguments.
/effect
- The syntax of
/effect
has been split off, to avoid ambiguity./effect <entity> <effect>
is now/effect give <entity> <effect>
/effect <entity> clear
is now/effect clear <entity> [<effect>]
- Giving an effect will now fail if it didn't actually do anything.
- Some mobs are immune (for example an ender dragon).
- Stronger existing effects prevent new weaker ones.
/enchant
- Removed in favor of
/modifyitem
.
/execute
- The syntax of
/execute
has been split off.- Modifier sub-commands can change how the command is ran:
/execute as <entity> <chained command>
executes acommand
using the entity<entity>
(but doesn't change position)./execute at <entity> <chained command>
executes acommand
using the position of<entity>
(but doesn't change entity)./execute offset <x y z> <chained command>
executes a command using the position of<x y z>
./execute align <axes> <chained command>
executes a command after aligning the current position to the block grid (rounding down),<axes>
is any combination ofx
y
andz
(for example:x
,xz
,zyx
andyz
).x=-1.8,y=2.3,z=5.9
usingx
will becomex=-2,y=2.3,z=5.9
x=2.4,y=-1.1,z=3.8
usingyxz
will becomex=2,y=-2,z=3
- Conditional sub-commands can let you prevent the command from running at all:
/execute (if|unless) block <x y z> <block> <chained command>
executes acommand
if (or unless)<x y z>
matches<block>
./execute (if|unless) blocks <begin> <end> <destination> (all|masked) <chained command>
executes acommand
if (or unless) the region between<start>
and<end>
matches<destination>
./execute (if|unless) entity <entity> <chained command>
executes acommand
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 criterium.
- As replacement for
/stats
, a new sub-commandstore
lets you store the result of a command somewhere:/execute store (result|success) <name> <objective> <chained command>
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 usually0
or1
, but if the command split up (for exampleas @a
) then it may be more than1
. This replacesSuccessCount
.- The value is stored into the scoreboard under
<name>
and<objective>
. - The
objective
must exist, but unlike with/stats
you don't need to set an initial value for<name>
. - The value will be stored when the full command has finished executing.
- If a command isn't successful (
success
is0
),result
will always be set to0
. - It will be made clear what the expected result of each command is.
- You can chain all sub-commands together.
- After every sub-command you need to write another sub-command.
- When you're done with chaining sub-commands,
run
lets you 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 run summon pig
/execute @e ~ ~ ~ say Hello!
is now/execute as @e run say Hello!
- Modifier sub-commands can change how the command is ran:
/experience
/xp
is now an alias for/experience
.- Split up into 3 different subcommands:
/experience add <players> <amount> [points|levels]
- 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.
- Adds
/experience set <players> <amount> [points|levels]
- Sets
<amount>
of either points or levels on the target<players>
(defaults to points). - You cannot set more points than their current level allows.
- When changing levels, the points will stay at the same percentage as the previous level.
- Sets
/experience query <player> (points|levels)
- Returns either the number of points or levels on the given
<player>
.
- Returns either the number of points or levels on the given
/fill
- The syntax of
/fill
has been changed./fill <x y z> <xt yt zt> <block> <data> replace [<replaceBlock>] [<replaceData>]
is now/fill <x y z> <xt yt zt> <block> replace [<filter>]
/fill <x y z> <xt yt zt> <block> [<data>] [destroy|hollow|keep|outline|replace] [<nbt>]
is now/fill <x y z> <xt yt zt> <block> [destroy|hollow|keep|outline|replace]
/function
/function
no longer accepts[if|unless] <entity>
arguments.- This has been moved into
/execute
. /function foo if @e
is now/execute if entity @e run function foo
- This has been moved into
/gamerule
/gamerule
no longer accepts unknown rules ("custom gamerules").- You can use functions or scoreboards as replacements, with no loss of functionality.
- Existing custom gamerules will just not be accessible. Only built-in rules will be available.
- Values to
/gamerule
are now type checked (giving a string if it wants an int is a very obvious error).
/give
- The syntax of
/give
has changed./give <players> <item> [<count>] [<data>] [<nbt>]
is now/give <players> <item> [<count>]
- See the item argument type for more details.
[<data>]
has been removed in preparation for the flattening, item data will no longer be a thing and item damage values will be moved into NBT.
/locate
- The y-coordinate is now returned as
64
instead of?
. - The
result
of the command, used by/execute store
, will be the absolute distance to the structure.
/particle
- The
<params>
argument has been removed, instead the parameters for particles likeblockcrack
can be specified right after the<name>
argument using the new block argument./particle blockcrack stone [variant=smooth_granite] ~ ~ ~ 0 0 0 0 1
/playsound
- Now Tab ↹ auto-completes custom sound events.
/replaceitem
- The syntax of
/replaceitem
has changed./replaceitem block <pos> <slot> <item> [<count>] [<data>] [<nbt>]
is now/replaceitem block <pos> <slot> <item> [<count>]
/replaceitem entity <target> <slot> <item> [<count>] [<data>] [<nbt>]
is now/replaceitem entity <target> <slot> <item> [<count>]
- See the item argument type for more details.
[<data>]
has been removed in preparation for the flattening, item data will no longer be a thing and item damage values will be moved into NBT.
- The
slot
argument no longer requiresslot.
.- For example,
slot.hotbar.1
now ishotbar.1
- For example,
/scoreboard
/scoreboard
had[<dataTag>]
removed from its commands in favor of thenbt
argument in entity selectors./scoreboard players tag
and/scoreboard teams
removed. Replaced by/tag
and/team
respectively./scoreboard players test
removed in favor of/execute (if|unless) score
and entity selectors.
/setblock
- The syntax of
/setblock
has changed./setblock <pos> <block> [<data>] [<mode>] [<nbt>]
is now/setblock <pos> <block> [<mode>]
- See the block argument type for more details.
/stats
- Removed. Now part of
/execute
. - The new
/execute
one isn't a direct replacement, the behavior has changed:- It's now per-command, instead of per-entity or per-block.
- There's only
result
andsuccess
, which covers all the old stat types.
/stopsound
*
can now be used instead ofsource
to stop all sounds with a certain name, across all sources.
/tag
- Replaces
/scoreboard players tag
. - Keeps the same syntax.
/tag <players> add <tag>
to add<tag>
to<players>
./tag <players> remove <tag>
to remove<tag>
from<players>
./tag <players> list
to list all tags onplayers
.
/team
- Replaces
/scoreboard teams
. - Keeps the same syntax.
/team add <team> [<displayname>]
/team empty <team>
/team join <team> [<members>]
/team leave [<members>]
/team list [<team>]
/team option <team> <option> <value>
/testfor
,/testforblock
and/testforblocks
- Removed. Now part of
/execute
.
/toggledownfall
- Removed. It was always used to stop the rain, then make you frustrated in a minute when it's raining again.
- Use
/weather
.
/tp
and/teleport
/tp
is now an alias of/teleport
(much like/w
,/msg
and/tell
).- Coordinates are now relative to the executor, as with all other commands.
- The syntax of
/tp
remains, but with the behavior of/teleport
.
/trigger
/trigger <objective>
is a new syntax as a shortcut for/trigger <objective> add 1
.
/weather
- If you don't specify a time, it now defaults to 5 minutes (previously random).
- Argument Types
- Target selectors
- More error handling has been introduced.
- Things like
limit=0
,level=-10
,gamemode=purple
are not allowed.
- Things like
- There's no longer a "min" and "max" separate values, we instead support ranges.
level=10
is level 10level=10..12
is level 10, 11 or 12level=5..
is anything level 5 or abovelevel=..15
is anything level 15 or below
- The arcane shorthand names have been renamed.
m
->gamemode
l
orlm
->level
r
orrm
->distance
rx
orrxm
->x_rotation
ry
orrym
->y_rotation
c
->limit
x
,y
,z
,distance
,x_rotation
,y_rotation
are now doubles and allow values like12.34
x
andz
are no longer center-corrected.- This means
x=0
no longer equates tox=0.5
.
- This means
gamemode
(previouslym
) no longer allows numerical or shorthand IDs.limit
(wasc
) No longer allows negative values.- Use
sort=furthest
instead.
- Use
- The
name
argument now supports spaces (as long as it's quoted). - Multiple of the same argument in target selectors is now possible.
tag=foo,tag=bar,tag=!baz
matches someone withfoo
,bar
and notbaz
.type=!cow,type=!chicken
matches something that isn't a cow and isn't a chicken.type=cow,type=chicken
isn't allowed, because something cannot both be a cow and chicken.
- You can specify the sorting.
sort=nearest
is the old default, sorting by distance (default for@p
)sort=furthest
is the reverse of that (previously you'd usec=-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}
- You 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
)
- Blocks
- Wherever a
<block>
, optionally[<data>]
and optionally[<nbt>]
was required, it's 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 isn't 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, becausestone
doesn't havedoesntexist
.minecraft:redstone_wire[power=tuesday]
is a syntax error, becauseredstone_wire
'spower
is a number between 0 and 15.
- NBT tag is inside {}, and works just like you'd expect. It's optional.
- In the context of "conditions"/testing for blocks, only the states you provided will be tested.
- If you test
redstone_wire[power=15]
, it only checks power but ignores other states such asnorth
.
- If you test
- In the context of setting blocks, any states you provided will be set but anything missed out will default depending on the block.
- If you set
redstone_wire[power=15]
, it will setpower
to 15 butnorth
will be a default value (in this case, set tonone
).
- If you set
- There is no such thing as block data value in 1.13. It's either a different block, or a state.
- Items
- Wherever an
<item>
, optionally[<data>]
and optionally[<nbt>]
was required, it's 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 isn't set it defaults to
minecraft:
). - NBT tag is inside {}, and works just like you'd expect. It's optional.
- Any other information is either a separate item or a property in nbt.
Fixes
- 17 issues fixed
- From the 1.13 development versions
- MC-121281 – Scrollbar in the creative and server menu isn't working with mouse
- MC-121283 – Underwater and in lava overlay is missing
- MC-121284 – Resource pack and world folder buttons don't work
- MC-121288 – Cinematic Camera doesn't work properly
- MC-121302 – "Direct connect" button enabled/disabled at wrong times
- MC-121314 – Video settings slider text "FS Resolution" doesn't fit
- MC-121328 – GUI scales incorrectly
- MC-121329 – Pressing "chat" key no longer selects search in creative inventory/recipe book
- MC-121334 – [1-9] in creative inventory search tab sends additional keypress to search bar
- MC-121396 – WASD keys in a weird order
- MC-121418 – Crash when trying to paste non-string clipboard content
- MC-121419 – Click and hover events are offset in chat
- MC-121421 – Pressing enter in the name or seed field on the create world dialog no longer creates the world
- MC-121433 – Non english letters are lowercase in controls setting, while English are upper.
- MC-121456 – Chunks disappearing after switching windows in fullscreen mode
- MC-121468 – Statistics can no longer be ordered by clicking icons
- From the previous development version
- MC-121517 – Fullscreen button will not make game fullscreen
Posted on November 8th, 2017 06:04 PM EST