I bet the reason the barrier block shell generates when a test fails is because sometimes if a test fails, water will spill everywhere if you're using water in your test.
why would that matter? water flowing doesnt break the game, and even if it annoys the player, they built it so it is a consequence of their own actions.
@ I didn't say it broke the game. The "consequence of their own actions" doesn't apply because we're in a testing context, we're not actually playing the game.
@@Paint_The_Future and i get what you mean about water spilling everywhere, it could spill into another test/affect things outside the scope of the barriers. it just felt like an edge case that you would have to intentionally design in order for water to be poured outside the barrier. thats why i dont think the barrier is intended for water specifically.
Its definitely that. A failed test might send tnt flying all around for example (if youre testing explosions for example) and that might break other tests running beside it or even other structure templates that you have built and stuff like that. Basically, to control the chaos.
Yes, but the inverted mode outputs a redstone signal at all times except "high noon". So there are times when the day version and the night version both output a signal (albeit at different strengths). What I needed was a system where if one is outputting anything, the other is completely off.
I REALLY want to use these tests for my mini game world, but I’m way too dumb to figure them out on my own. Thank you for imparting your knowledge, Father
I'm 99% sure the reason why it prints "The test is running." twice is because a redstone tick is two game ticks, and the log blocks logs the message every game tick, meaning that because it is powered for 1 redstone tick (2 game ticks) it prints twice. If you set up a one-tick pulse for the log block it would probably be fixed.
this is actually really cool and its a shame people are grieving over a movement bugfix rather than paying attention to this. i dont know much building or redstone but i can imagine this being really useful if ever i learn it
For the insane people who use Structure Blocks as dummy items (because they're useless specifically in survival), I'm pretty sure these work the same way lmao
Another cool change is how we can now define in the [equippable] component if an item is able to be applied to an entity the same way saddles and horse armor is. Which is to say, we can make our own saddles and horse armor now.
I'm gonna resist my natural urge to be snarky and say, this is good! I doubt Minecraft had unit tests before, most games don't. But they're great at preventing bugs from slipping through, especially recurring ones, speeding up development and improving stability. And releasing the tools in a way where datapack devs and modders can use them too is the kind of community-oriented decision that I love to see. It'd be really cool if bug reports started coming with unit tests and Mojang just added them to their test suite.
They actually have had unit tests before this, but only the devs have had access to them and they didn't use the new blocks. I would recommend seeing the video by EightSidedSquare on the hidden dev functionality if you want more info.
These have actually been in the game for a while, but are disabled in production. EightSidedSquare made a video on this titled "What Minecraft Looks Like for a Mojang Dev" and it shows this around the 4 minute mark!
"...most games don't." Press F to doubt that. Most professional software, including video games, has unit testing. The testing code and framework just aren't usually released to the public with the game.
@@BryanLu0okay... yea that will take a while... their priority atm is making items data driven then they'll start Converting Entity NBT to Components and then there is a chance that they'll add ETF/EMF
its useful for game devs bc they have to test alot of things while they are changing the code. i think this is more for datapack developers and modders
I believe the devs implemented it mostly for themselves (Xisuma talked about their testing world in his video and how these make it way easier), although there are surely some situations in which having these in a datapack would be easier than just brute forcing a command unit test.
For occasionally running a test or two, I'm sure command blocks are easier. But automatically running thousands of tests in sequence to make sure your changes didn't accidentally break something requires something more powerful and scalable like this.
@@Huntracony Yep. On that note, according to the changelog, you can use wildcards in the `test run` command to run all matching tests at once, which is really cool.
I agree that this is not that useful for data packs yet, however mods will heavily take advantage of this in order to keep things behave the same way throughout their versions, allowing developers to easily find bugs and unexpected behavior
If i understand correctly it may be only good if you use command blocks when making an adventure map. Or putting function commands inside command blocks.
No, it can also be good if you're developing a datapack without command blocks, but your datapack interacts with things in the world. You can set up a test structure that has whatever it should interact with and succeeds if your datapack behaves correctly with those things.
I was trying to think about how these blocks will affect redstone testing, but then you started going over the data pack stuff and my brain went to mush. But from a redstone perspective, they don’t seem that groundbreaking. It’s easy enough to just use existing components to set up indicators for success or failure. Maybe in computational redstone… But the block textures are an absolute W for creative building.
imagine you have 500 redstone contraptions with different setups and scenarios. Its going to be unfathomably long procces to check every single one after an update to a newer version. Instead, you just open unit test world and start all the tests at once, check if any had failed and poceed with knowledge about particular changes. I am talking about particular scnerios btw, like one shown in the vid. Imagine QC contraptions, they are very sensible to any changes and updates.
@ ah yeah I didn’t think about things across versions. My mind just went to the testing phase of building a new contraption. It could definitely be helpful for things like that.
Lil nitpick, but use comparators instead of repeater locking for the "sun test". The reason is that the repeater will keep its powered state, making and later tests not work properly as the block is already powered... It would need to be unpowered first before it can succeed again. At least that's what I understand here would happen...
For any other normal redstone build, you'd have a point - but the game tests have this nice feature where they reset to their starting configuration every time you run them, so either way would work fine here.
Welcome to software dev, kid. 50% is debugging, and that includes testing; no one likes testing, but it's necessary to make working code that stays working.
I bet the reason the barrier block shell generates when a test fails is because sometimes if a test fails, water will spill everywhere if you're using water in your test.
Maybe! I'd be willing to bet it's another bug tho hahaha
why would that matter? water flowing doesnt break the game, and even if it annoys the player, they built it so it is a consequence of their own actions.
@ I didn't say it broke the game. The "consequence of their own actions" doesn't apply because we're in a testing context, we're not actually playing the game.
@@Paint_The_Future and i get what you mean about water spilling everywhere, it could spill into another test/affect things outside the scope of the barriers. it just felt like an edge case that you would have to intentionally design in order for water to be poured outside the barrier. thats why i dont think the barrier is intended for water specifically.
Its definitely that. A failed test might send tnt flying all around for example (if youre testing explosions for example) and that might break other tests running beside it or even other structure templates that you have built and stuff like that. Basically, to control the chaos.
You can right click on a daylight sensor to convert to a "nightlight" sensor.
Yes, but the inverted mode outputs a redstone signal at all times except "high noon". So there are times when the day version and the night version both output a signal (albeit at different strengths). What I needed was a system where if one is outputting anything, the other is completely off.
That's going to be useful not only for Mojang devs, but also mod and data pack devs. Really cool that they're adding those dev tools to vanilla game.
mojang has had this for ages its just base game now
Unit Tests - the most necessary and evil of the necessary evils of development
they are such a pain
We all know real men test in production
@@Personalessso you would test the rm -rf command in production?
Unit Testing separates boys from men and men from victims
@@JKBot-hq6hf daddy stallman tests that bad boy for me
I REALLY want to use these tests for my mini game world, but I’m way too dumb to figure them out on my own. Thank you for imparting your knowledge, Father
I'm 99% sure the reason why it prints "The test is running." twice is because a redstone tick is two game ticks, and the log blocks logs the message every game tick, meaning that because it is powered for 1 redstone tick (2 game ticks) it prints twice. If you set up a one-tick pulse for the log block it would probably be fixed.
Hahaha the intro was literally the same thing I said to my friends when we first noticed
this is actually really cool and its a shame people are grieving over a movement bugfix rather than paying attention to this. i dont know much building or redstone but i can imagine this being really useful if ever i learn it
don't downplay the recent "bugfixes" they have been detrimental
Mathematicians proving a triangle has three sides:
ok but can they be dummy items
For the insane people who use Structure Blocks as dummy items (because they're useless specifically in survival), I'm pretty sure these work the same way lmao
You can use the test fail block as a crate or something it kind of looks like that
Another cool change is how we can now define in the [equippable] component if an item is able to be applied to an entity the same way saddles and horse armor is. Which is to say, we can make our own saddles and horse armor now.
the double logging isn't a bug i dont think, its just that it prints it as both the Server and the Client, same happens with logging in mods
I'm gonna resist my natural urge to be snarky and say, this is good! I doubt Minecraft had unit tests before, most games don't. But they're great at preventing bugs from slipping through, especially recurring ones, speeding up development and improving stability. And releasing the tools in a way where datapack devs and modders can use them too is the kind of community-oriented decision that I love to see. It'd be really cool if bug reports started coming with unit tests and Mojang just added them to their test suite.
That's a great thought! Submitting a unit test datapack along with your report would probably make the reviewing process much easier for the devs.
They actually have had unit tests before this, but only the devs have had access to them and they didn't use the new blocks. I would recommend seeing the video by EightSidedSquare on the hidden dev functionality if you want more info.
These have actually been in the game for a while, but are disabled in production. EightSidedSquare made a video on this titled "What Minecraft Looks Like for a Mojang Dev" and it shows this around the 4 minute mark!
"...most games don't." Press F to doubt that. Most professional software, including video games, has unit testing. The testing code and framework just aren't usually released to the public with the game.
@@IceMetalPunk games are notoriously hard to unit test.
you'll usually unit test computation functions, but anything gameplay related is a pain.
4:11 Why invert the daylight signal with a redstone torch when you can just right-click the sensor to turn it to night mode?
He didn't. He inverted the redstone signal
When the sensor is in the night mode, there is a time where both modes are on, he doesnt want that as he explained in another comment
I hope they add a vanilla custom texture models as new pigs like the custom model data revamp
What?
@@SatwrLike how they changed custom model data, OP hopes Mojang does the same for entities, since they added the cold and hot variants for pigs
@@BryanLu0okay... yea that will take a while... their priority atm is making items data driven then they'll start Converting Entity NBT to Components and then there is a chance that they'll add ETF/EMF
cool that they added this
I'm telling you man, I try to escape but TDD is taking over the universe. This is Uncle Bob's fault
And from my experience, *no one* is good at the sort of reverse thinking you need to do true TDD anyway 😅
kinda unnecessary? I would rather test myself with hand than setting that thing up that's so much pain for such little thing
its useful for game devs bc they have to test alot of things while they are changing the code. i think this is more for datapack developers and modders
Fruitier aero
When would you ever need this over using a command block for feedback?
I believe the devs implemented it mostly for themselves (Xisuma talked about their testing world in his video and how these make it way easier), although there are surely some situations in which having these in a datapack would be easier than just brute forcing a command unit test.
For occasionally running a test or two, I'm sure command blocks are easier. But automatically running thousands of tests in sequence to make sure your changes didn't accidentally break something requires something more powerful and scalable like this.
@@Huntracony Yep. On that note, according to the changelog, you can use wildcards in the `test run` command to run all matching tests at once, which is really cool.
@@conure512 I saw a video from EightSidedSquare named "what minecraft looks for mojang dev". He uncovered this test world and shown it in action
I agree that this is not that useful for data packs yet, however mods will heavily take advantage of this in order to keep things behave the same way throughout their versions, allowing developers to easily find bugs and unexpected behavior
Is it possible that the weater part didn't seem to work because it doesn't rain in this biome?
No, it was an error in the server logs. The server wouldn't start because the weather option apparently doesn't exist and it made the game freak out.
He could use daylight sensor and night sensor
If i understand correctly it may be only good if you use command blocks when making an adventure map. Or putting function commands inside command blocks.
No, it can also be good if you're developing a datapack without command blocks, but your datapack interacts with things in the world. You can set up a test structure that has whatever it should interact with and succeeds if your datapack behaves correctly with those things.
I was trying to think about how these blocks will affect redstone testing, but then you started going over the data pack stuff and my brain went to mush.
But from a redstone perspective, they don’t seem that groundbreaking. It’s easy enough to just use existing components to set up indicators for success or failure. Maybe in computational redstone… But the block textures are an absolute W for creative building.
imagine you have 500 redstone contraptions with different setups and scenarios. Its going to be unfathomably long procces to check every single one after an update to a newer version. Instead, you just open unit test world and start all the tests at once, check if any had failed and poceed with knowledge about particular changes. I am talking about particular scnerios btw, like one shown in the vid. Imagine QC contraptions, they are very sensible to any changes and updates.
@ ah yeah I didn’t think about things across versions. My mind just went to the testing phase of building a new contraption. It could definitely be helpful for things like that.
Lil nitpick, but use comparators instead of repeater locking for the "sun test". The reason is that the repeater will keep its powered state, making and later tests not work properly as the block is already powered... It would need to be unpowered first before it can succeed again.
At least that's what I understand here would happen...
For any other normal redstone build, you'd have a point - but the game tests have this nice feature where they reset to their starting configuration every time you run them, so either way would work fine here.
@@conure512 Still good idea to treat it as if it wouldn't reset.
Yay, new building blocks for creative mode!
🤣🤣👍
here before this blows up :P
Bot comment?
@PhoenixSC review these blocks now 😈
he challenged us, the viewers, to a game of Tic Tac Toe with the ❌ and ✅ blocks...
Last
This is the most boring thing I've ever seen
Welcome to software dev, kid. 50% is debugging, and that includes testing; no one likes testing, but it's necessary to make working code that stays working.
sorry, I'll add Subway Surfers gameplay next time