Minecraft Blogs / Article

10 reasons why project Aquatic (1.13) totally *rules*!

  • 1,083 views, 3 today
  • 5
  • 2
ShelLuser's Avatar ShelLuser
Level 57 : Grandmaster Engineer
89
Hi gang!

Editorial

I know, I know... one moment you don't hear in 2 - 3 months from me (in the blog section anyway), the other moment you get bombed with posts ;) This is one of my "ad-hoc" posts, I just logged onto my (private) LAN server waiting for someone else to hop on. My weekend started a bit early, I'm a bit in 'that' mood; really into the "This is amazing" mood. No: not talking about my somewhat crappy admin room (though I do think it looks nice enough) but the game of Minecraft itself :-)

My admin room :)

I know it isn't too much but it's home and therefor I like it. I even added a nice viewing point for the survival n00bies :)

1.13 is amazing! but, uhm...

Amazing, not perfect, but still perfectly amazing ;) There is just so much Mojang managed to fix, add, redesign and plain out improve that I think this update truly lives up to any hype that may have preceded it. Sure, if you're a little grumpy like me sometimes then it might seem a bit underwhelming. Seriously, no joking... Let's be honest: to perform an upgrade is going to be a lot of trouble, it will take plenty of effort and most of your own existing coding is going to break.

And what do you get anyway? A few new mobs, new underwater blocks and on top of that you also have to re-learn most of the commands. Thank you Mojang for making our lives even harder than it already was.

Some players honestly feel this way. Yet instead of ignoring them or shooing them off I decided to also address those concerns. Because one way or another they do have a valid point. It is going to be hard, at least in the beginning.

Amazing I tell you! :)

But once you dive into it all, once you embrace the change and all the new stuff that it offers. Honestly? I think you'll end up amazed. SO... because I am in 'that mood' here's my top 10 reasons why I think Minecraft 1.13, aka Project Aquatic, totally rules.

In order of personal preferences, and obviously we go from low to high ;)

#10 New world type: Buffet.

Customizing the way in which a new world gets generated has been possible for years already, but there was always one major limitation: the generated area would only affect the Overworld. You couldn't, for example, create the cave system which you see in the Nether nor the large collection of islands as seen in The End.

Well, that got changed in 1.13:

Total madness ;)
A deep frozen ocean biome generated using the floating islands setting.

This opens up ways which can create some pretty radical and weird worlds, a good example is seen above. Rumor has it that we might be getting even more customization options in the future.

#9 Massive amounts of bug fixes

Disclaimer: the only reason this sits so low on my feature list is because many bugs never really bothered or affected me all that much. Sure, some things were annoying and many bugs also only affected problems which got introduced by 1.13 in the first place! Even so... You cannot deny the massive effort that Mojang put into all this. And they didn't only work on "1.13 bugs" mind you: even bugs which had been annoying players for years got squashed.

For example: try using "Open to LAN" with your friend(s) and ask them what they see when they look at you. The host used to be shown as a default skin (Steve or Alex) ever since 1.7.10 but with 1.13 that got fixed: now all your visitors get to see your customized skin (provided you use one of course)!

Stuff like that is easily overlooked but it demands a place in this list. This is a really impressive list of improvements.

#8 New (and useful!) world list options

My world list

If you've been playing Minecraft for a while then chances are that you also collected quite a few worlds to play in. So how to tell them apart from each other? Fortunately Mojang also thought of this and they revamped this section quite nicely.

The most obvious change: whenever you try to open an older world (so: a world which you last played using an older Minecraft version) then you'll get a warning which urges you to back up your world. Safety first! So... if you start playing on the new version and for whatever reason you don't like it then you can always go back to your old setup.

But there's more: select a world and click the 'edit' button (lower left corner). Now you can perform plenty of actions. Reset the icon which was made, open your world folder directly, make a backup, open the backup folder, etc.

Tons of new options which can make "world administration" a whole lot easier (and safer!) than before.

#7 New blocks & mobs

Ever wanted to have your own aquarium in Minecraft? Now you can, and you can even make it a tropical aquarium too with coral and bubble columns and everything. Just like the real deal :)



Sure: every new Minecraft version usually introduces new blocks and mobs. But I still think 1.13 is special. Take for example the turtles (as shown above). You can breed turtles, but it won't be a simple task of feeding the animals, watch them get cozy and then suddenly a new infant appears. Minecraft actually tried to add a bit of realism: turtles lay eggs. And eggs take time to hatch :)

And not just that: while they hatch they're even in danger from hostile mobs such as zombies and drowned which love to trample on them.

So.. we didn't just get new blocks and mobs, there's also something "extra" to them. Turtle eggs are vulnerable, zombies can drown and change into drowned, coral can be placed outside the water but then it will die... And then I haven't even mentioned the stuff you can do with kelp!

#6 The conduit

I know, I know: strictly speaking this should be part of the previous section about new mobs and blocks, I agree. However... this block is special; it can open up a whole new world. Therefor I decided to mention it explicitly in its own section. This is cool stuff!

A fully activated conduit

So what is a conduit? The conduit is the floating "eye" thingie which you can see in the middle of that green structure. The structure itself (only buildable using prismarine type blocks) is what gives the conduit its power. So what does a conduit do? It helps you to live under water!

Once you activated the conduit then it will give you the so called "conduit power" which is basically a combined set of effects: you can breath under water (so: the minecraft:water_breathing effect), you can see better under water (comparable to minecraft:night_vision) and finally you can break blocks much quicker (comparable to minecraft:haste). And the best part: this effect will apply to anyone within a radius of approximately 90 blocks around the conduit itself. Which means that you got plenty of space to start building underwater structures to live in :)

And there's even a bonus :) Once fully activated (the conduit will display an eye to indicate this) then it will also hurt any nearby hostile mobs within 8 blocks of the conduit. Which can makes this the most idea place to AFK underwater.

#5 The debug stick

It is time to stick it to the blocks! (oh dear, such bad puns ;))

Even though this sits high in my top 10 list do be warned that the debug stick is a fully unsupported feature. So if you got problems with it then don't expect help from Mojang because they never made it for us players.

The debug stick is basically your magic wand within Minecraft :) And I'm even somewhat serious because it actually is an enchanted stick, so: magical :) It can help you change the so called block state of any given block (as long as it has any properties to change of course). For example...

My LAN servers "admin platform"

This is my teleportation platform, it sits at location 3, 13, 3 which makes it very easy to remember. But as you can see it's also somewhat special: this kind of thing is impossible to make without a debug stick. How did I make it? Simple really: I placed four dark prismarine slabs, then I left clicked on them with the debug stick to select the 'type' property. I then changed that to 'top' by right clicking. So: floating bricks. This part can also be simply done manually.

But then I selected the "waterlogged" property and changed that as well, the result can be seen above. It's actually a little bit cheating because the very moment a block update happens (for example by placing a block next to this) then all the water will start flowing out.

The debug stick can be used for tons of stuff. Do you enjoy the new glazed terracotta blocks? Then you will probably also know that it can be tricky to place them in such a way that you'll get a right pattern. Not if you have a debug stick... Just left click to select the 'facing' property and then right click to change all that.

You'll need to use a command to get this item, it is not available in your creative inventory: /give @p debug_stick.

#4 Strict JSON

If you need to specify properties in a Minecraft command then you do so using JSON formatting, also known as the JavaScript Object Notation. Strict JSON is, as its name somewhat implies, a more restricted way in which we can use it. Yet as a result we gain tons of extra customization options. Basically we use strict JSON to create so called text components. And we can use those text components in specific sections, such as the name of an item or mob.

For example: /give @p diamond_sword{Enchantments:[{id:"minecraft:unbreaking",lvl:2}]}

This will give us a diamond sword with the Unbreaking II enchantment. Why don't we give it a special name too? Let's name this: A sturdy sword. (so: in gray).

Prior to 1.13 this was impossible without using some tricks (like MCEdit). But thanks to strict JSON we can now easily work this out using vanilla commands:

/give @p diamond_sword{display:{Name:"{\"text\":\"A sturdy sword\",\"color\":\"gray\",\"italic\":false}"},Enchantments:[{id:"minecraft:unbreaking",lvl:2}]}

And don't worry: if you don't want to bother with any extra properties but merely want to give an item a different name then you can still do that quite easily. Just keep the 'strict' part in mind: to specify a name (also known as a String) you need to encapsulate it in quotes. But because you also need quotes for the command itself you need to escape the extra pair. This is why I used backslashes (\) in the command above as well.

So, this same command without all the extra bother like color and formatting:

/give @p diamond_sword{display:{Name:"\"A sturdy sword\""},Enchantments:[{id:"minecraft:unbreaking",lvl:2}]}

Not too hard I think?

But the decision to start using strict JSON for many specific name properties honestly opens up tons of new options.



If you want to learn more about how I made this book then check out my other blog about coding books ;)


And now we're entering the top 3!


#3 The overhauled command set

Sure, I know: this change made sure that every map in existence which uses command blocks or commands of some sort is now most likely b0rk. Can't be played on 1.13 without proper fixes. I'm well aware.

But even so I honestly still think those changes are for the better. They dramatically optimize the way in which Minecraft processes those commands, and they also gave us tons of new features to work with.

/execute unless entity AyanamiKun run kill @e[type=minecraft:llama,name=LlamayamiKun]

This command would only run unless Aya is online and it would kill her favorite pet <whistles innocently> ;)

Now, of course I am trolling a little bit here but still: command structures like these were impossible in previous versions, and it gives you a lot of new features.

Want to teleport yourself to the End to build some stuff there? In 1.12 you'd need to find yourself a Stronghold, repair the portal (so: take away the challenge for any survival players) and then use that. Or build a portal yourself I suppose... In 1.13 on the other hand you can just teleport yourself over with a single command:

/execute in minecraft:the_end run tp @s 5 65 5

So: run the following command in the end: teleport @s (= the person who runs the command, so you!) to coordinates: x 5, y 65 and z 5. You should end up on the main island, right next to the (probably disabled) end portal.

Say hello to the Ender Dragon for me would you? ;)

But there's so much more besides the new commands alone. What about command completion?

lots of criteria!

Once again something which wasn't easily possible with previous versions. I've messed quite a bit with the scoreboard over the years and I've 'abused' tab completion quite a lot. So: I'd type in the command up to this point, then I'd press tab. Pause my game, open the main logfile using Notepad and then search for whatever criteria I was looking for.

1.13, as can be seen above, makes this a lot easier by giving us automated command completion. It tries to complete the commands itself, but also most of the arguments and properties which we can use with those commands.

Better yet: it will also warn you when there's something wrong (then the full command shows up in red).

Sure, Mojang does make our lives a little bit more difficult with all those new commands. But on the other end they're also trying to ease the pain as best as they can through command completion and making some features much more logical.

For example, one of my favorite changes is the removal of 'tags' from the /scoreboard command; instead of having to craft a long command to tag a player you can now use: /tag @p add yourit (this was /scoreboard players @p tag add yourit).

#2 The /data command

data output
Output from running: /data get entity @p

I know, I know: I'm cheating again ;)

But just like before I think this command really stands out from the rest and therefor it deserves to be explicitly mentioned. It can honestly change your entire game once you learned how to use it.

So what does it do?

The /data command allows you to list, merge ('add') and remove properties from entities and block entities. And by doing so even makes programs such as NBTExplorer somewhat obsolete! It takes getting used to, but this is truly an amazing command to have (it didn't make my top 3 without any good reasons!).

Sounds cool, but what does that all mean?

Ok, fair enough ;)

If you look at the screenshot above (the bottom section) you'll notice some interesting properties. For example: SelectedItemSlot and Inventory. Notice the square brackets behind Inventory (the [])? That tells us that this is a so called list.

A few days ago my friend asked me to repair her trident, I haven't had time for that yet, so lets now use it to demonstrate some of the cool features of the /data command.

The full output of the /data command is a so called compound, you can see this for yourself by looking at the last character in the screenshot: notice the closing curly bracket? This means that we basically get a collection ("compound") of individual components. Such as... SelectedItemSlot, Inventory, EnderItems, and so on.

Let's check my inventory while I'm holding Aya's trident. So: /data get entity @p Inventory:

Ignore the '<admin>' prefix, that's the result of some experimentation with the /team command.

So... we got a list of items. In this case I only got one item in my inventory, but I could easily hold more (then the list would be longer). In this list (= everything between []) is one compound (= everything between {}). This is actually comparable to the full /data output which I've showed above. Meaning... Notice Damage in there? How about we check specifically for this item damage value?

First we need to get the information about this one particular inventory item (vs. the full inventory as shown above) and then we need to tell data to get the Damage property. If you look closer then you'll notice that Damage sits within the tag compound, so we'll need to select tag first. This leads us to:

/data get entity @p Inventory[6].tag.Damage

Sure: in the above example the command isn't very useful. After all: I know that we need to check the 7th item in my hotbar (counting starts at 0), but that's not really the point here. This is only an example after all.

Let's imagine an adventure map where the player just got 1 item: a trident. This trident is the most important item in the game, so you decide to check up on its damage, and if the item gets damaged too much you warn the player about that. We're also going to do something which was previously only possible with mods: we'll add a damage indicator as well.

First thing you need to realize: Inventory[6] as used above doesn't mean "get the 7th slot of the players inventory". It only means "get the 7th item in the Inventory list". So: if a player has only one item then Inventory[0] will always point you to that one particular item.

Using F3-h turns on 'advanced tooltips' which allows me to see that Aya's trident durability is: 97 / 250. So 250 is the maximum amount of health (and therefor the maximum amount of damage it can take). And guess what? 250 - 153 (as shown above) = 97!

Soooo:
  • /bossbar add trident "Tridents damage"
  • /bossbar set minecraft:trident max 250
  • /bossbar set minecraft:trident color red
  • /bossbar set minecraft:trident players @p
Now the only thing we need to do is to get the Damage value of our item into this bossbar. Easily done:

/execute store result bossbar minecraft:trident value run data get entity @p Inventory[0].tag.Damage

Of course; if we run this command ourselves then it would only copy the current damage value. We need this updated all the time, therefor I'm dumping this into a repeating command block.

Also: if the player gets items into their inventory which sit before the trident then it will mess things up ;) Even so, this could easily form the basis for an interesting gaming experience:

hunting
sshhht, I'm hunting the most dangerous creature in the entire game! ;)

... and all it took were some 'preparation commands' and a repeating command block.

Giving your users an unbiased gift

Now, the previous example might be overdoing it a little bit, so let's demonstrate something easier as well. Let's say that we want to give a player something nice. However... without overdoing it. So no bias allowed (sorry Aya, that set of God armor will have to wait ;)).

A very easy way to do this is to apply a so called loot table to a chest. A loot table is basically a collection of item definitions which all have a chance value assigned to them. This value defines the likelihood of that item actually being selected and used. So: more expensive items usually have less chances to drop whereas more regular items have more chances.

This sounds very difficult but it honestly isn't. Just place a chest somewhere, point to it and then use the /data command to assign a loot table:

End City treasure
/data merge block 503 63 -296 {LootTable:"minecraft:chests/end_city_treasure"}

So the fun part here is that at this moment I have no idea what's inside the chest. I do know some of the possible entries: diamonds, iron or gold ingot, horse armor (gold or iron), and some tools (diamond or iron) which can also have some random enchantments on them. But I don't know what item(s) got selected and at which amounts.

Once again /data to the rescue :)

Warning: keep in mind that although /data can do a lot of stuff you cannot change the inventory of players and entities, there are other commands you need for that (like /replaceitem for example).

#1 Datapacks

I think datapacks are soon going to change the way we play with Minecraft in a dramatic way, because they allow regular players to share game customizations and without having to program mods in Java.

datapack list
This is the output of /datapack list on my server

So what is a datapack?

A datapack is a collection of customization options which either add to the game or replace existing aspects of the game:
  • Advancements - If you press 'L' you get to see several default advancements. A datapack allows you to add custom advancements of your own. Either a fully dedicated tab or simply something which adds to an already existing tab (or whic replaces it).
  • Recipes - You know the recipe book I hope? A recipe determines how you can create certain items using crafting or smelting. Unfortunately this doesn't allow us to bring in customized items (for example: the option to craft an enchanted or renamed pickaxe) but it does allow you to add new options to the game.
  • Loot tables - A loot table decides what items ("loot") will drop (or be made available). This can apply when you kill a certain mob or when you find certain treasure chests. This section in a datapack allows you to create your own loot tables (or to override existing ones of course).
  • Functions - A command block can hold only 1 command and it will only be available as long as the command block has been loaded into memory. A function on the other hand is a collection of commands which will always be available in the game no matter what.
  • Tags - This is a completely new concept in Minecraft. A tag is basically a name which targets a collection of blocks, items, fluids or functions. So: if you somehow want to do something with that collection you don't have to mention all the individual things (blocks, items, fluids, etc.) but can use the tag instead. For example: #minecraft:buttons could be used to access all types of buttons using one name (vs. oak_button, acacia_button, etc.).
  • Structures - A structure is building which got saved using a structure block (max. size of 35x35x35) and which has been made available to import into your world again.
So if you want to provide one (or more) of these properties then you're going to need a datapack.

What makes a datapack so useful is that you can use them in a multitude of ways. If you're still working on the datapack then simply create the right folder structure(s), add all your needed file(s) and Minecraft will easily pick that up as a valid datapack. Once your pack is ready you can then compress it into a zip file which makes datapacks extremely portable. All you have to do to use it is to put the zip file into the 'datapacks' folder and Minecraft will do the rest. Convenient, right?

And the sky is almost the limit. Want to add a customized mob which has a custom loot table? A datapack can do that. Or maybe you think Minecraft is too easy or difficult and therefor you want existing mobs to drop less (or more) loot. That's where a datapack comes in handy.

Having to give yourself (or your users?) a collection of enchanted items by hand all the time is tedious. A function could be so much easier... And guess what? ;)

And there you have it!

These are my top 10 features and which make me convinced that 1.13 simply rules!

Thanks for reading, I hope you enjoyed this :)
Tags

Create an account or sign in to comment.

Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome