Ladies and gentlemen minecraft 1.13 has been out for a while now and it’s time to dig in to the new command things in this version I left that out of my general update video for 1.13 not only because that video is long enough already that clocked in at almost 35 Minutes but this version contains what is definitely the biggest change to the command system in Minecraft history and that is not all in terms of map making there’s also a whole bunch of new resource and data pack things in this new custom crafting advancement changes loot tables and all kinds of fancy Things with structures so there will be yet another video after this to come we’re gonna brush only lightly on to those subject in this one now to set the expectations straight on what this video is it’s not going to be a full tutorial of how to use these things I am assuming In this video that you know commands from the previous version this is going to tell you what’s different I do hope to have tutorials out for how to use commands in general in Minecraft 1.13 but that will take longer so what is the big deal in this version when it comes To commands well there’s a new command parsing library it actually is a separate library and it’s known as Brigadier that is the name of the new command parsing system and what is the point of this well it is faster because it compiles commands upfront and that also means you get errors produced we Earlier in the process and much better feedback as I was the person who rewrote to the command parsing system for the bedrug version of the game I also had the opportunity to work closely together with dinnerbone and have some pretty deep discussions about some of this Functionality so I know a lot of the background for it so before we get into some of the specifics let’s go through some of the more generic things that have changed most commands have turned case sensitive or more case sensitive than before and at the same time they’ve Turned less a whitespace sensitive so you can output whitespace inside of command selector arguments for instance which helps a lot with readability and with navigating with the keyboard now there are more changes to context specifically and where how commands get run differs a lot sir commands executed by the server itself That is anything you input on the server console or anything that runs as a function without being triggered by a player that used to run at the origin of the overworld that is zero zero zero in the other world and now instead it will run at world spawn in the overall Command output has been changed to bunch as well commands used to have a whole range of different output fields like affected blocks affected items and you can use the incredibly complicated stats command to track these and get values into scoreboards from them mom didn’t Berlin I discussed this we came to the Conclusion that there really is only two different fields one is the success count of the command that is how many times did it succeed at doing something and the other thing is the result that is how many items did you have or how many blocks matched something or Something like that one thing to note here is the result is always zero if the command fails so if success is zero then result will also be zero and command blocks if you’re still using those especially if you using them with comparators then the output will now be The result rather than the success count together with this new command pursuit is also a new user interface for this new fancy syntax suggestions with color and new arrow displaced so you can see errors in the command as you’re writing it without having to run it there’s also Autocomplete for a whole bunch of new things like selector argument and force custom sound events and things like that functions have also changed like I mentioned before the new parser will compile the commands upfront that means that functions are now parsed on the load and you’ll get all of the error Messages up front you don’t have to wait for the function to run before you get any error messages functions have also been moved that they used to be in a data folder now there are data packs like a mention of the start of the video I’m not going to go through all of the details but basically a data pack is a flip or folder inside of these data packs folder in your world folder where you have a collection of functionality for the server just like a resource pack is a collection of functionality for the Client notably there are Lu tables advancements crafting recipes and functions in here and basically what you need is you need a dot MC meta file just like you need for a research pack and then you have a data folder in namespace folder under that add a functions folder under that One another new thing in data packs are tags we’re not going to go through them in detail either but they are groupings of things and there are function tags you can have a function tag with a bunch of functions in them and then run slash function and hash tag name namespace and Column the tag to run all the functions in that tag instead of just one function individually and this tagging functionality is actually used by the core game as well the game loop function game rule has been removed and in its place you now have a minecraft : Tick function tag and if you add functions to that tag inside of your data package they will also run every tick that means that you are no longer you need to fight over this one game loop function game rule you can switch them over one change to this though is That ticking functions now run before the world not after the world in simulation order that means that if you both have a function that was previously a game loop function and command blocks then the commands in your command blocks will now run after your commands in the function rather than before There’s another new tag for functions as well that’s called Minecraft column load and if you add a function to that tag that function will run every time the data pack is loaded and that includes being real loaded and the slash function no longer has an if or unless argument Because that is now available in the smash execute function alright but let’s start getting into the actual syntax changes because like I said at the beginning of the video this is one of the biggest changes to commands that has happened in the history of Minecraft and let’s start with the coordinates local Coordinates have been ported in from bedrock edition where I implemented it local coordinates are specified using the caret sign very similar to how relative coordinates are except that you have to use it on all three and what it does is it changes the space that your translation happens in so that it Happens relative to the rotation of the entity running in the command now that’s not strictly true we’ll get into changes to context and execute later but basically what it means is you specify something in terms of left up and forward directions rather than the lowball XY and z directions to Be specific the rotation of left up and forwards is relative to the current context rotation which defaults to 0-0 if you just have a command run from a command block or from the server console for instance and that’s 0 0 which is straight south looking straight flat self anyway local coordinates functionalities Sometimes called ray casting not strictly correct but it can be used to implement ray casting but together with some of the other new features it makes a whole range of new functionality easily available another major change it’s inside of selector selector argument specification have changed numeric matching anything that used to Be a number usually had one limit and then one other limit called something else so for instance if you matched levels there was an L and an LM for minimum and maximum level ranges the new system has a range matching that means if you type an argument equals a number Then you mean exactly that number and then you can use two dots to specify a range between two numbers and open-ended range like dot dot and then a number of means that you’re matching any number less than or equal to that number if you’re using number dot dot that means Any number greater than or that number and then of course you can specify both limits to match anything that is one of those two numbers or anything in between of course the minimum should be lower than the maximum together with this all the arguments have been renamed what Used to be called C is now called limit and that’s the number of allowed result from the query M is now called game mode and that has been changed so it no longer supports any numeric modes or shorthand modes so you can’t put equals C anymore you have to put equals Creative the L and LM functionality has been changed into level and it takes a range the R and R M arguments have been changed into distance also takes a range the Rx and RX m arguments have been changed into X underscore rotation and takes a range and R Y and our I am have been changed into why underscore rotation and it also takes a range there are more changes to these there are now decimal numbers support in all of the places where you have coordinates or rotations or distances so you can specify exact amounts even if They are not full integers you can also quote arguments so here trying to match something on name your match name can include spaces or other quote-unquote invalid characters as long as you quote that name and of course as I mentioned you can now have spaces in the selector Arguments not have it all be one big soup of characters you used to be able to put in a negative C value for the count to invert the sorting of entities that has been split up you can no longer put negative values for limit and instead there is a new argument It’s called sort and you give it one of four values its nearest furthest random and arbitrary now what this means is nearest is the usual sorting that you got before furthest is to what you got before if you put a negative value where you get the resulting entity that’s the Farthest away first and then there’s a random which gives you a random order just like at our dead before and arbitrary which is in new value that gives you the result in whatever order the game desires so you better not use this for anything where the order Matters and the reason to use this is that it’s better for performance it’s much quicker for the game to just pick out the entities in whatever order they’re stored internally rather than at first having to find them all and compare them on distance or randomly sort them together with this some of the Actual selectors have changed and @r is now valid only for players since you can specify sort equals random for @e as well and the default sorting for at a and @e has changed to arbitrary because most of the time when you’re using one of those you’re basically just wanting To process something for all of the entities another change is that you can now supply multiple of the same selector arguments where it makes sense so for instance you can put tag equals one tag and then tag equals another tag and you can also put a number of inverse type Arguments into the same selection score matching exchange to use to have a score underscore and a bunch of names and now it’s that you have scores equal and then a block of different score checks and each one of those is individually a range you can now also match advancements inside of selectors You do that with advancements equal and then another block rapid advancement IDs equal true or false where true means the player has to have the advancement and false means the player should not have the advancement and that you can also check for sub advancement criteria by putting in an advancement name equals in A block and within that a criteria name equals true or false and finally one more thing is that you can match NBT blocks inside of any selector now and you can just put NB t equals and then a block of NB t data matching and you will Only get to select the entities that match that data block specifiers have changed in this version as well as you might have heard there has been a world flattening and that means that there are no longer any numeric IDs for blocks and also there are no data values For blocks anymore so anything that used to specify a data value or a block numeric ID as an option no longer does instead block specifiers have been changed so they can always include block states and and BTW so whenever a block is changed or matched you can use a Syntax where you put an ID first and then in square brackets and number of block states and then in curly braces some NBT specifiers and here the block ID is required but either the block States or the NB t or both can be omitted so when matching box only the provided Block States will be checked and when setting blocks any state that is not provided will be set it to whatever default value is appropriate as I mentioned before there are also tags in this version of the game and instead of using a single block ID you can use the Hash sign and then a namespace colon and a block tag instead and this will match any of the blocks inside of that tag of course if the namespace is minecraft you don’t actually have to specify it item specifiers have changed as well and for the same reason sir are no longer any new IDs that means that there are also no data values or damaged values on items whenever an item has an actual damaged property that is now a property inside of NBT item specifies can always include MBT now and that goes for whenever an item is both matched or set suit x-ray This is very similar to blocks you put in the item ID first and then in curly braces whatever NP key stuff you want to match or set the ID is required the MBT can be amended and also you can use an item tag to match instead of an item ID And in the same way you use a hash sign and then the namespace and the colon and the item tag now to get into one of the biggest changes in this version and that is about the execution context of a command and the smash execute function and to understand where this came from Sort of the background behind this is that the old execute the old slash execute command did several things at once one of those things was to change the executing entity and in the process maybe multiplying the execution and the other thing is to reset the position and That the command executed in to one that was based off of that entity now that was sometimes very beneficial but it was very very rare that you actually wanted both of these functionalities and one command usually you would have tilde tilde tilde for the position because you Only cared about the executing entity or you would have something like a DES because you only wanted to change your position now the new syntax splits all this functionality apart and it uses the slash execute command as a basis for a lot of the functionality of this new System the new syntax is basically slash execute and then a chain of specifiers followed by run and your sub command that means that you do slash execute and then a bunch of different things to change how the command gets run and even if the command gets run and what happens To the result of the command and then you specify whatever the command is that you want to run now the context is always the base of all operation so that includes what entity if any is running the command what dimension the command runs in what position it runs in and the Rotation it runs in now for a direct it is possible to write in the old execute command as a new execute command and the direct translation is execute s whatever selector you had at at s positioned and then your X Y and C specifiers followed by run and whatever The sub command was before now most parts of this command are probably not necessary for most old execute commands so this new execute command is incredibly powerful and it does a lot of things that people have been asking for for a very very long time in Minecraft and I’m really happy that I Managed to kindly convince Dinnerbone to put some of this stuff in you might have seen a really really old video on this channel where I initially suggested some of the syntax that has grown into what is now in the system to understand the different functionalities of the steerer Execute command we’re going to talk about the specifiers in the specified chain in three different groups first we’re gonna talk about context manipulation so manipulating all the things I just mentioned like the position that I mentioned the rotation and so on then we’re going to talk about conditionals preventing commands from Running unless certain conditions are met and then finally we’re going to talk about result management which is how we deal with storing the results back of a command and this turns out to be half of the new functionality that opens up enormous new possibilities so let’s get into context manipulation like I mention There are four pieces of a context it is the executing entity position the command gets run in the rotation it gets running and that I mentioned it gets run in there’s actually a fifth one that we’ll get into last it’s a little more tricky to explain but we’ll get there The first serve command is execute s and then a selector but change is the executing entity but nothing else that means that your command that will still execute at the same time mention position and rotation as it was before but it will change who executes the command this might seem pretty pointless To you but it does have two very big advantages first if you put in a selector that selects more than one entity then this can cause the command to run multiple times for those entities second it changes the add s selector for any subsequent specifier and the That ends up being run the next specify we’re going to look at is execute at and then a selector this is a shorthand that changes the dimension and position and rotation of the command that gets run which is very similar to but not entirely the old execute movement there Are also separate pieces of this you can change the position of a command by using slash execute positioned followed by X Y and C positions or positioned as followed by a selector and either way this changes the position only but keeps the command rotated the same way as it Was and in the same dimension as it was there’s another way to change the position as well that is line and then providing a set of axes this changes a position to be aligned to the block grid by rounding down but only on the specified axis so you can specify XY or Z axis and any combination of them so you can specify for instance XZ if you want there are a number of ways to change the rotation of a command as well you can put in rotated then Y and X rotation values or rotated s and the selected change rotation to match that Entity’s rotation you can also use the facing concept brought over from the bedrock edition where you can put in facing XY and z coordinates to change the rotation of the command to look at the certain position or facing entity and the selector and feet or eyes to Look at the feet or eyes of that entity and one thing’s note about all of these arguments for the selectors is that if you provide a selector that gives more than one result then the command will run multiple times you can also change which dimension a command executes sin So you can do slash execute in followed by a dimension that is overworld the nether or the end finally there’s one more piece of the context that is kind of hidden for most cases that is anchored and you can put an anchored feet or anchored eyes basically what This does is it changes the base of local coordinates to be feet or eyes and the point of this is to make it easier both to move in a certain direction as you’re pointing but also to look directly at a certain block or entity and that was the last piece of context Relation you can do in an execute command let’s move over to conditionals all conditionals will be executed if or execute unless we’re in every case unless is the exact inverse of the F case which means that when you have something that is executed if and then a specifier that executes unless will Execute in all of the cases that execute if would not execute hopefully that makes sense there are a number of them you can do execute if block x y&z and then a block specifier and that takes over the functionality of the old slash test for block and the old execute Detect function the self command will only run if the block at the given position matches the block specifier and of course note that since you have block space virus with States and with NPT you can match any block in any detail this way there’s also a replacement for test For bullocks which is execute if Polacks or execute unless blocks of course and that takes a beginning set and an ending set of coordinates and then a destination and an awl or mask it’s exactly the same parameters as you would use for a slash test for blocks and it Executes the sub command only if the blocks between begin and end the match those anchored in destination with the same offsets of course you can test for entities as well you can do execute if or unless entity and then a selector and that makes the command only execute if The selector returns at least one result you can test for scores on a scoreboard as well there’s execute if or unless score and then a target a target objective a comparison operator that is less than less than or equals equals greater than or equals or just greater Than and then a source any source objective this basically compares two different scores and executes the sub command only if that comparison returns true there’s also another version of this which is if score and a target and an objective matches and then a range which is checks a target score in a Certain objective against a preset range for conditional sub commands there’s actually a separate way of running them as well you can use these execute without run the specifier and what that means is that they act as their own command and they return their number of matches which means that you can counter the Number of blocks in a region for instance or the number of entities essentially working exactly as a slash test for slash test for blocks did in previous versions now there’s actually a good reason to do this in this version and that is because you can do things With the result of commands and that is also driven by the execute command in terms of results management there is an execute store sub command and this takes an argument that is result or a success which determines which of the result fields of a command gets stored the Result value of a command will be entirely dependent on what the command is and the success value of the command always stores the amount of successful executions so for instance the slash clear command will result in a number of matching items but it will succeed once now the store of functionality can also Take a number of different targets which determine where the data gets stored and this is where it becomes really interesting so you can do for instance a slash execute to store result score and then a name and an objective which stores the result value to a scoreboard Now this is what you would previously do with slash stats except that as much easier to use and you don’t need to worry about things like setting the value to zero beforehand or anything like that and it also only applies to this one command that you actually want That it’s apply for so you don’t have to keep running stats and then switching stats off again or some silliness like that of course the objective has to exist for that it’s the only precondition you can also store it directly to NBT one of the massive big Features in this version that we have fought for for a long time and through long discussions with dinnerbone we finally came to the conclusion that this was a good way to get it in what you do is you do execute store with the result or success and then block x y&z and Their path and they type at a scale value or execute store and the result or success entity a selector a path a type and a scale now a number of these things need an explanation the type is an NBT numeric types of wire that is byte double Float int long or short this is needed because when the value needs to be stored into MBT if the field doesn’t already exist the game needs to know how to store the value now the path is a different thing path specifiers are new to this version but they’re used in a Number of places and it’s essentially an address for a sub field deep inside of an MBT structure you can use dot to specify member XS in a compound so for instance you could use something like display dot to access the display field in an item you can also access erase use Square brackets for that with a number in parentheses specifying which index it is and if there’s a rare case where a member name has a space or invalid character in the name then you can quote that name with the quotation mark finally the scale factor will let you Take a value that you got and scale it up or down which lets you deal with things that were initially floating-point values multiply them by a number and then put them into a scoreboard to operations on it and then multiply it back by a scale value and Put it back into a floating point value there’s one more thing you can store results into that is Stewart result or successive boss bar an ID value or Max and that would store a value directly into a boss bar we’ll get into that when we talk about the new slash boss bar Command later but all you need to know for now is that a boss bar can have a value and a maximum value and you can store command results directly into either of those fields and then finally once you’ve gotten to the end of your specified chain you just put run and Then whatever subcommander this and the only change to this is that you are no longer allowed to have a preceding slash now it’s getting to changes to scoreboard the core boards hold some of the key components to what increases the power of commands in this version but they’re not actually that changed all The data tag arguments have been removed because of course data tags are now a part of selectors themselves the scoreboard players test command has been removed as well because you can now do that with slash execute if score and there is a new sub command it’s /scoreboard players get and then you Give it a target which is a name or a selector and a active and what that does is it returns the score of that target in that objective as the result of the command which means that you can do whatever you like with it using the new execute Functionality like stored into our boss bar or into an NBC field objective names have changed the display names of objectives is what I’m talking about not their IDs the objective display names are now text components instead of raw strings which means that you’re gonna have any number of formatting in there Or you can even have selectors in there or change their text dynamically that way you can also use a new command called slash scoreboard objectives modify and then the objective name and render type to switch between the integer and hearts rendering that is no longer tied to the type of the objective But you can get any objective type to render as hearts the tag and team sub commands of scoreboard have also been split into their own command so instead of doing /scoreboard players tag you know just do slash tag instead of doing scoreboard team you know do slash team Teams have also changed further the team options have command is now called team and modify and that the friendly fire option is now friendly and in capital F fire for consistency with the other options and the prefix and suffix fields are now proper text components as well So you can put in colors and formatting into team prefixes and suffixes they’re a bunch of changes to teleportation as well Italian a little bit with what we talked about with the context and execution before the /tp and teleport commands are now aliases that means there’s no special functionality for Teleporting with /tp relative to a previous entry in the command anymore no special case anymore it’s just a teleport that works consistently across the board very happy about this there are number of forms and some of them that are used for simplicity have been simplified so they no longer support all The fancy arguments so you can still do slash teleport or /tp to just an entity that will teleport yourself to that entity but it doesn’t allow rotation or facing arguments it will teleport you directly to that entity and it will rotate you the same way that that entity Is rotated you’d also do teleport XY and z values and it will just teleport you directly to those XYZ values and it allow rotation are facing at all the more advanced forms take a victim parameter so if you want to do more advanced forms for still teleport Yourself just to slash teleport and then add s to teleport yourself and then you can put in an entity which doesn’t allow rotation are facing again because it teleports the victim to that entity and copies the rotation as well can also do slash teleport with a victim selector And then XYZ and then optionally a wire rotation and an X rotation and that will teleport the victim to that position with that rotation and if either Y rotation or X rotations are not specified then they will be whatever the rotation of the context is there’s also a new facing functionality brought over From the bedrock edition you can do such teleport with the victim x y&z facing another XYZ and that will teleport the victim to the first XYZ and rotated to look at that second position or you can do teleport the victim selector X Y and C facing entity and then another entity Selector and optionally feet or eyes and that will teleport the victim selector targets to the position specified and then looking at the entity’s feet or eyes and the default for that is feet one more change to teleport is the teleporting to an entity in a different dimension than the one you’re in right Now is allowed and even teleporting to another dimension by just using slash executors to switch which dimension the command runs in is also allowed so you can actually do slash execute in the nether run and then a teleport to certain coordinates and that will teleport you to that position in the Nether rather than in the overworld or wherever you are right now /xp command has changed it is now slash experience and XP is just an alias and it’s been changed to remove the dependence on this el postfix weird notation the noose in Texas slash experienced add and a Selector followed by an amount and then either points or levels the default for this is points and negative numbers are supported which removes points if you specify points it will add that number points which of course can make you level up and then if you put a negative Number in then that can actually remove points and make you level down if you put in levels instead it will add a certain number of levels and the percentage of the current level completed will remain at the same there’s also a slash experience set and a selector and an amount and appoints or Levels which if you specify points will set the number of points within the current level and if we specify levels we’ll specify the number of levels but leave the percentage unchanged there’s also slight experienced query and a selector and points or levels which lets you get as a result value the Exact number of levels the player has or the number of points within the level the player has now let’s get into the entirely new commands in this version one of the absolutely most important one is slash data it comes out of a slash entity data and slash block data and it Replaces those but it does so much more as well first form we’re gonna talk about is a slash data merge and what that does is exactly what slash entity data and slash block data used to do so you put data merge block and then position and an MB T specifier or data Merge entity and the selector and an NB T specifier and it will change the block or entity MBT to merge in that new data but there’s more you can also do slash data and get with block and a position and a path and a scale or slash data get Entity with the selector and a path and the scale so here again the path and the scale come in as we saw in slash execute before and this lets you get a value from the NBT of our block or on entity scale it up or down and then return it As the result value of a command which means that you can store something from an MB T value directly into a scoreboard or into a boss bar or whatever you like or even copy it into a different entity field or a different entity very powerful the path here is optional as is The scale and if you don’t give them then your result value might not be very interesting but the matching MBT field will be printed too with the output if you use it from the command line in game which means that it’s very convenient way to inspect the NBT Of an entity or block live and note that this also does work on players even if you still cannot change the NB t of a player in this version you can actually read the NBT of a player properly the final form of the slash data command is slash data remove slash data remove Block with a position and a path or slash data remove entity with a selector and a path and they do what should be obviously remove that field from that piece of NBT the second new command that we’re gonna look at is slash boss bar it is used to create and manage custom boss Bars just like you see when you fight the ender dragon or the wizard basic form of this is slash boss part create with an ID and a name to create a new boss bar the ID is a normal text identifier that you used to refer to the Boss bar similar to how an objective ID works and the name just like objectives in this version is a JSON text component so you can create a boss bar with fancy coloring formatting or even selector names and other dynamic information in the name you can also change things for The most part by using the slash boss bar set command that takes an ID an option name and a value the available options are name which de sets the name JSON text component color which sets the color of the boss bar and the default for that is some white style which Changes the style and the visual appearance of the boss bar there are five options for it they are progress notched underscore six not just underscore ten not just underscore twelve and notched underscore twenty default for this is progress you can also set the value of the boss bar that Is the current value of the wasp R and the default for this is zero and you can set the max value of the boss bar and the default for that is 100 finally bounce bars are not necessarily visible to all players you can control the visible status by setting the visible Option to true or false and the default is true and the players option which defaults to an empty set of players players option controls to which players the boss bar is visible of course you can manage which bus bars exist as well you can get a list of them with smash Boss bar lists you move one with Slash boss bar remove and then the ID and there’s also a slash boss bar get with an ID and then max or players or value or visible to get one of those options as the command results another new command is a slash data pack It like the name implies he controls data packs in the game you can use slash data pack enable or disable with the name of a data pack to enable or disable it and for slash data pack enable you can also control the order in which the Data packs end up and you do this by specifying a second argument that argument is first last before and another data pack or after and another data pack and you can also do slash data pack lists and that also takes an optional parameter which can be set to Available or enabled there are more changes to commands to mostly to support the new syntax of blocks items and selectors but also other things slash protocol has changed the parameters field no longer exists and instead if you specify particle type that needs parameters then that parameter is specified directly after that so for Instance the block breaking particles take the block type directly after another changes that the Delta the speed and the count diameters now defaults to zeros you don’t have to specify them a number of commands have changed syntax only to remove fields that are no longer needed because the item and block Specifiers now include them by default these are slashed clear slash clone slash fail /setblock slash give and slash replace item you can see the differences in syntax on screen right now I’m not going to go through them in voice in this the slash replace item command has one more syntax update and That is that this lot don’t prefix is no longer needed when specifying slots slash effect has been changed is now has to specified modes one is slash effect give and the other slash effect clear and you specify what you want to give or what you want to clear another change to That command is that it now fails if you try to give an effect and it does nothing that means that if your target was immune or already had a stronger effect active then the command will fail and return zero success count bunch of commands have become a little more Strict when it comes to their input and numeration z’ that is / default game mode and / game mode will now only accept the full game mode identifier so you can’t specify – or s anymore you have to actually specify survival or spectator or creative in the same way / Difficulty now only accept difficulty identifier snot numbers and such difficulty cannot be used without arguments to return the current difficulty / gamer will no longer accepts invalid game rules that means you can’t use this to make custom game rules anymore one change true / stop sound and now Accepts an asterisk for any channel and by she changes to / locate it will now accept names for structures that were previously all called temple that included desert underscore pyramid igloo jungle underscore pyramid and swamp underscore hut of course there are new structures in the update aquatic as well They are buried underscore treasure ocean underscore ruin and shipwreck running the slash locate command now also gives a clickable link and if you click that you get a teleport command to the structure into your chat box and the y-coordinate is now reported as tilde rather than question mark which means You can teleport to the structure after the height you are currently at it also returns the result the result is the distance to the structure the target of the slash kill command is now mandatory so if you want the same result as you got with just slash kill before you now Have to input slash kill at s the /list command can now be used in single-player / up for operator now except selectors as well as specified names and the slash trigger command with only an objective name is now an accepted shorthand for slash trigger with the same objective Name add one the two new named time-space virus that I added to bedrock edition have been brought over they are noon and midnight so you can now do slash time set midnight and the default timeout for the slash of weather command has changed used to be a small but R and Time and is now five minutes specified instead /c the command now also has a clickable link to get to the seed into the chat bar and that means that you can then copy it I’ve mentioned some of these but let’s go through them quickly there are a number of commands that have Been removed in this version they are slash block data slash entity data slash stats slash test for slash test for block slash test for blocks and slash total downfall and the last one there is the only one I haven’t mentioned before and you are now just meant to you slash Weather instead which should really not be a problem for anyone there are some new changes to the f3 screen the debug screen and specifically the debug keys that you should know about that relates to commands for this version the f3 + C command has been added that copies a Teleport command which teleports you to the current dimension location and rotation which immediately gives you a way to get back to exactly where you were and the f3 and I command has been added to copy entity or block and BT data depending on what you’re looking at If you shift an f3 and I then you get the client-side only data otherwise you get to server-side data which is normally what you want and you get that as a /setblock command or I say /summer in command depending on if you were looking at a block or an entity also to Note there stick rate information inside of the f3 screen now so you can keep an eye on that to make sure that your commands don’t lag the server too much finally a bunch of NBT format changes that you should know the inch tag for enchantments is now called enchantments With a capital e numeric IDs have been removed from this as well so you no longer specify a numeric IDs for enchantments references to goods of things have also changed thrower and owner keys of item entities are no longer strings they are now compounds With an L and M long field and the same goes for the owner NB t key of snowballs eggs and ender pearls also custom name fields are now JSON text components encoded as strings instead of plain strings so you can put formatting into these fields just like you would with For instance a sine line and there we are ladies and gentlemen at the end of the long list of command changes for Minecraft 1.13 I did mention it was a huge one and I’m sure we’ve just scratched the surface thus far on what’s possible to do with these new Capabilities blimey that’s a lot of things and with that it is time for me to say goodbye for this video thank you for watching all the way to the end of this I hope you found it useful and if you did please help me out in return and Leave a like if you liked this video please consider subscribing to my channel where you can find minecraft news and new and interesting things for commands and map making including tutorials again thank you for watching this has been sliced lamb see you next time take care bye bye Video Information
This video, titled ‘Advanced Commands Tutorial – Command News in Minecraft 1.13’, was uploaded by slicedlime on 2018-07-27 15:30:04. It has garnered 102607 views and 1712 likes. The duration of the video is 00:43:01 or 2581 seconds.
Minecraft 1.13 came with an entirely new Commmand system – the biggest change to commands in Minecraft history. This video walks you through all of the changes to how commands work. #minecraftemployee
slicedlime works as a Tech Lead for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time.
Sections: – Brigadier Parser: 1:06 – General: 1:45 – Functions: 3:40 – Coordinates: 5:59 – Selectors: 7:19 – Blocks: 11:55 – Items: 13:08 – /execute: 13:52 – Context Manipulation: 16:45 – Conditionals: 19:53 – Storing Results: 22:22 – Scoreboard: 25:59 – Teleports: 27:51 – XP: 30:30 – New Commands: 31:42 – Minor Changes: 36:11 – F3: 40:23 – NBT Format: 41:15
Non-command Minecraft 1.13 news: https://www.youtube.com/watch?v=6uWV1zEPml0
General: – New command parser: Brigadier – Now only have SuccessCount + Result, Command blocks output Result
Functions: – Parsed on load, in data packs – Can be grouped in tags – /function #(namespace):tag runs all functions in a tag – gameLoopFunction game rule removed – #minecraft:tick runs every tick – #minecraft:load runs on data pack (re-)load
Coordinates: – Local coordinates specified as ^left ^up ^forwards
Selectors: – Numeric matching ranges: min..max – Decimal support – Renames: c – limit, m – gamemode, lm & l – level, – r & rm — distance, rx & rxm – x_rotation, ry & rym – y_rotation – Can quote string arguments – sort: nearest, furthest, random, arbitrary – scores={obj=range,obj2=range2,…} – advancements={foo=true,custom:something={criterion=true}} – nbt={nbt} – Can use multiple arguments where it makes sense – @r is now only players – @a, @e default sort now arbitrary
Blocks: – Block specifiers can always include block states, nbt – minecraft:block_name[state=true,another=2]{NbtField:{Blah:1s}} – Can match block tag, #(namespace):(tag)
Items: – Item specifiers can always include nbt – minecraft:item_name{NbtField:1s} – Can match item tag, #(namespace):(tag)
Contexts and /execute: – /execute (specifier chain) run (command) – Direct upgrade: /execute as (target) at @s positioned (x y z) run (command)
Context manipulation: – as (target) – at (target) – positioned (xyz) – positioned as (target) – align (axes) – rotated (y x) – rotated as (target) – facing (xyz) – facing entity (target) (anchor) – in (dimension) – anchored (feet|eyes)
Conditionals: – if|unless block (xyz) (block) – if|unless blocks (begin) (end) (destination) (all|masked) – if|unless entity (target) – if|unless score (target) (targetObjective) (operator) (source) (sourceObjective) – if|unless score (target) (objective) matches (range) – Conditionals used without a run specifier acts as their own commands, return match number
Result management: – store (result|success) score (name) (objective) – store (result|success) block (xyz) (path) (type) (scale) – store (result|success) entity (target) (path) (type) (scale) – type: byte|double|float|int|long|short – Paths: [] for array access, . for member access, “” to quote field names – store (result|success) bossbar (id) (value|max)
Scoreboards: – New subcommand: /scoreboard players get (target) (objective) – Objective names are now text components – /scoreboard objectives modify (objective) rendertype (integer|hearts) – /tag, /team split out – prefix, suffix fields are now text components
Teleportation: – /tp & /teleport now aliases – /teleport (entity) – /teleport (xyz) – /teleport (victim) (entity) – /teleport (victim) (xyz) [yRot xRot] – /teleport (victim) (xyz) facing [xyz] – /teleport (victim) (xyz) facing entity (target) [feet|eyes] – Teleporting to another dimension now allowed
XP: – /xp & /experience now aliases – /experience add (target) (amount) [points|levels] – default points – /experience set (target) (amount) [points|levels] – /experience query (target) (points|levels)
New commands: – /data merge block (xyz) (nbt) – /data merge entity (target) (nbt) – /data get block (xyz) [path] [scale]
– /data get entity (target) [path] [scale]
– /data remove block (xyz) (path) – /data remove entity (target) (path)
– /bossbar create (id) (name) – name is a text component – /bossbar set (id) (option) (value) – name, color, style, value, max, visible, players – /bossbar remove (id) – /bossbar list – /bossbar get (id) max|players|value|visible
– /datapack enable (name) [first|last|before (another)|after (another)] – /datapack disable (name) – /datapack list [available|enabled]
Music: “Little Heart”, “Possession”, “Lucid”, “UltraViolet”, “Fiery”, “Breathe In”, “The Antagonist”, “Wrong”, “Control”, “The Manic” & “The Fire” by Amarante (http://amarante.bandcamp.com) licensed under CC-BY 3.0 (http://creativecommons.org/licenses/by/3.0/)
—
Second channel: https://youtube.com/limeuncut Twitch: http://www.twitch.tv/slicedlime Twitter: http://twitter.com/slicedlime Facebook: https://www.facebook.com/SlicedlimeYT Patreon: https://www.patreon.com/slicedlime Discord: https://discord.gg/aFAnsdv