Wednesday, 21 March 2018

Limitations and Workarounds

So, I have been doing a fair bit of map making over the last week or so. I have almost completed the Animal Cell map, I am working on a Reaction Times recreation, with more automation so that anyone can pick it up and run with it, and I also, just yesterday converted my Contour Maps world from Java to EE. A huge shoutout to Joel Mills, @iLearningUK for the tutorial showing how easy it is to do it. Here is his playlist of support videos if you are interested.

I keep running into limitations within EE that I don't expect. Don't get me wrong, this is not a complaint, I am really enjoying hitting these walls. It brings back memories of 'the good old days' when we used to run into limitations in MinecraftEdu and we would work together to try to find workarounds to achieve what we wanted. I am very glad to still be part of the community that is still supporting each other to find those workarounds.

The biggest limitation I have right now, and the thing that is holding up the Animal Cell release is simply there is no 'great' way of getting relatively large amounts of text into the world without breaking the immersion I want in that map. The NPC's can have a bit of 'front facing' text, and then you can use commands to /whisper or /say the information to students nearby, but this just feels 'unclean' and has a few problems associated with it if it is a multiplayer experience, not to mention the 'wall-o-text' that students will have on the 't' screen after they have visited a few of the NPCs.

I would also like to be able to 'know' when students have gone to each location in the cell, but I am running into issues there also. Without scoreboard like commands, I have no ability to 'tag' players with extra data. So I had a look at using /give to give students named items, and then detect when they have all those items in their inventory, but can you believe it, there is no way to /give named items in EE/Bedrock edition without a whole heap of other mess involved. So I can do it, hence the workaround, but it is a very messy process that involves cloning chests on top of players, then destroying chests and hoping the item that was in the chest jumps into the correct players inventory. Which would be fine if this was only a single player experience, which it can be, but if a teacher gets multiple students in the map, a lot of things could go pear shaped with that solution.

Coupled with that, it appears that I cannot detect when players have particular things in their inventory. I could detect when those blocks are placed however, and that would be the next workaround. Essentially what I wanted, was once students have spoken to each NPC, they get swapped to creative mode and can fly around the cell having a look from different perspectives and being able to take more pictures if they so desired. I know that the teacher can do this manually, but for some silly reason I have it in my head that these things can/should be automatic, making it easier for others to use the map.

The other limitation I am working around is the lack of build tools. The /fill command, using relative coordinates is pretty neat, the lack of undo is a bit of a pain though. I have taken to grabbing a copy of the world folder before attempting any /fill (or /clone) that could take a while to undo manually. I haven't had to use the backup yet, the /fill with air command has been an adequate undo so far. I have also begun having a bit more of a crack at the /clone command, but this confuses me more times than it makes sense. It depends on which 'order' you put the coordinates in, and I am yet to see why it picks the particular corner it does for the start of the clone. I am sure there is logic there, and one day I may understand, but it is going to take some more trial and error.

The other workaround I am trying to get happening is the "execute detect setblock" group of commands, which is super helpful at swapping out large groups of blocks for another type, without ruining a structure. I used this to change the ER from netherrack to red glass in this video. I am thinking that this could be a very powerful tool if we get the ability to /summon command blocks with commands already in them, but until then, it is a tool for use in particular situations, rather than an auto-build tool. I can see this setup being able to 'auto build' almost anything for you, depending on what block you place down, but I am a long way from having that fully functional and easy to pick up and use.

I have also been streaming my lesson creation when the house is quiet enough to do so and I really enjoy it. I have been exporting these from Twitch to YouTube, so check out my YouTube channel if you want to watch my madness in almost 'real time' or follow me on Twitch if you want to see the madness in real, real time while throwing questions at me and trying to confuse me even more.

Thanks as always for reading, feel free to leave a comment below if you have another workaround I should try for any of the limitations I have mentioned, or if you have anything to say really. :D


  1. Thanks for posting and updating us on your progress. Just wondering if part of the struggle for you is having gotten used to how everything worked in Java edition. I'm asking because I don't have that background doing maps, etc. in Java. So perhaps the struggle won't be so great for me in EE, since I don't have any preconceptions on how things "should" work. Or not. Anyway, always fun and inspiring to see what you're up to!

    1. Hi Bob, thanks for pushing my thinking a little bit harder. I think there are 2 responses your question. Initially my response would be a yes, sort of. Yes I got used to the way things work in Java edition, however even when working in that space I would run into barriers and have to try and find a workaround for that. I do find it frustrating that some of the 'basic' functions within Java are still not available in EE, but the question always needs to come back to "What is it that I actually want, and will others also want this?" If I can clearly answer the first, and the second is a yes, I will put in a feature request, or start a discussion with other mentors to see if there is a common need.

      However with a little more thought the initial answer likely extends to the following. I enjoy pushing to see how far I can go. I enjoy finding the boundaries of what is possible and seeing whether I can get around them to make my map even better. Everything I try to achieve in my maps is either to make the experience better for students, more engaging, immersive or straight out simpler for students to achieve the learning outcomes. Or it is to make it better for teachers, meaning more automated, easier to manage and run. Since I no longer have my 'own' class to run these maps, I am shifting my thinking to a broader community focus, of how can I ensure the best experience for both students and teachers to grab this and run it with a high level of success in their classroom, rather than me and my own students.

      So, the conclusion is that I think the 'struggle' is of my own doing, not because the tools are no good. So start building your maps in whatever platform you like and see how you go. If you do come across barriers to getting things to happen the way you want, reach out to the community and see what the response is.

  2. As someone who has never made a map and who works with multiple versions of MC, I enjoy reading about others' adventures/struggles. At this point, I just have to choose a platform, which will likely be MCEE. Thanks for posting and keep us informed of your adventures.