Oh Hey there and welcome to another mapmaking video of mine and today I want to show you a dungeon generator I created like you might have already guessed from the cinematics this dungeon generator is available as object D package that means you can integrate it in object D and generate your own Dungeons with it I want to walk you through how it works and how you can create something similar obviously a bit more beautiful than this because it is a object D package is highly customizable so you can adjust the size the way it generates which structures it uses and So on so we will take a look at this later but now I want to explain the concept to you so I have loaded a slightly different version of this and we always start with the start function so in my case this would be the function dungeon start and this generates a room That goes in all directions I turned all the structure files into these errors so we can see in which direction we are heading if you take a closer look and enable the invisible entities we can see we have some armor stands here so we have the main armor stand here we can Actually toggle the rotation of it and we can see it looks in this direction so when we execute this start function it loads or a starch structure here as well as our rest out armor stand and it also generates four new armor stones that look away from the start Object D also gives us this function right here so dungeon generate and now we can go from this entity here I also defined it to have the tech dungeon room we can run the function at the position what this will do is it will pick a random structure and Generate new AMA stands in the direction of the doors in my case these arrows here and of course we can do that over and over again though I can do it with this almost and again and then again with this armorstand and these would always generate a new armorstand With a specific tag and the rotation is in the direction the doors looking I have a system in place that loads the structures also rotates them and morose them depending on the armorstands direction that way we get the structure loaded in your world in the right place And everything fits together I also have I also have this dungeon clear function enabled so this will just clear all the loaded space and the AMA stands of course we can also execute these generate functions in our data pack I configured it to run the generate function from each armorstand that is Near the player so me and that way we get a dynamic loading though I have to add myself a tag dungeon active and we can immediately see if I come near to an almost and we can see it generates these structures of course you can also define how many iterations it should go Through so you can see it is not an infinite has a clear end in my case this is after eight almost since this is an object the extension that means you need object D for this if you don’t know what of object years I recommend you this Video up here and also check out the documentation where you can install the whole thing we want to create a new object D project and we just type pop mobile activate object D and this will install object in globally and enable us to generate a project so to generate a Project we have to type up mobile run object the new to create a new object D project and we name it dungeon on this word here creates a few files to get us started with object D so let’s open that folder with and open vicious 2d code here you can see we have Some errors here that’s because we have the wrong version here we need to currently we need the version zero point one point two and we wanted the object the dungeon package so we also need we also need to include that and that’s the version zero point one point one Currently of course it will be updated in the future and three you need to enter the current version in here though but let’s save that here and on the side we can see that already it automatically ran the command up get and our errors are gone and our project This project is going to be relatively simple so we don’t need this structure here and in our index apart obviously we have to remove the import here and also to you have a different project name let’s call a dungeon generator and obviously I want to have it in the data packs folder so One follower buff and then we want to generate a dungeon course it gives us an arrow because it is not included in the core package of objective so we can click this light bulb here and import it here it’s object D dungeon generator dart and then we can Use the dungeon widget and our first property is aim is a pools property where we define our structure pools let’s up let’s insert a map here name of our structure pool let’s call it test and then we have to assign a structure pool to it and here we need a list of structures Just a string pointing to our structure so in my case this would be minecraft called an end that’s the end structure you saw this structure pool can also have properties like front left right Muro and these are just and with these properties you say were the doors brought the next structure should appear Though Ronde would be budged straight left aqua is the left turn right is a right turn and mirror is a special property and we can be used to mirror a structure so that we have just have to build a left turn and it automatically gets generated aids ass Right turn or our and structure we don’t have any more doors so we don’t have to specified here but let’s add a split structure and we obviously want to have the split structure loaded here oops be split structure this split structure actually goes to the left so you say Left true and the right through so this will just split our path generate new structures in the left direction and the right direction what this dungeon widget will do now is generate a data pack for us and this generate function that I showed earlier and that will randomly pick between the Split type and the end type pick a random structure out of this list here so we could also add more structures here and at which randomly choose one and inserted at the current position with the rotation but the split structure pool it would also check if the left and right spaces are not Occupied by another armorstand and it would also generate a few more entities to generate new structure pools at the left and the right location but our dungeon widget is not satisfied yet it says the parameter pack is required so we actually have to give it a pack to Define which pet in which pack it should generate and let’s give it a name called dungeon we also need a load function here because the dungeon widget will actually extend from this file here and put some scoreboard values in it we also need to customize which entities Who want to spawn so we can say summon and here we can insert an array effect load and armorstand or adjust a summon widget in my case I use the armor stand for that let’s pick the almost and the location is location dot here just the current location and I also Want to give it some tax the one tech would be dungeon room to mark a room another tech would be dungeon you say that this is a new dungeon here we actually want to run regenerate function from this entity with detect dungeon new we also have to tell our dungeon widget From which entity we want to go from we have to give it an entity property and this entity has a type of entity type dot almost and we can just insert it like that and this should also have the tags that we defined up here so just copy it in there And now our dungeon which it is ready and we can press f5 and we can see on the cipher here this is actually a quite big project it generates many files but we have only this bit of code here which is not that much so I also loaded the Dungeon generator data pack in and you can see all the functions here this gives us the generator dempsey function and it splits up into multiple other functions each having a separate task for example we have one function that sets the structure block randomly and we do offer also have a function that adds Some tags to it so our entity actually gets some tags for example dungeon door right dungeon door front then there is a separate function to rotate the structure block depending on the entity’s rotation and then we create some new entities depending on how you specified these properties here let’s Actually try that in Minecraft so first we have to use summon the armor stand with our specified tags and then we can execute as this new almost and and run the dungeon generate front function from it well this did not quite work and it’s pretty simple because we specified the Pack so in our case minecraft in our structure files but if you take a look at the structure pool this has an argument called pack and the default pack is the current pack so our pack down here and that is not minecraft so we have to change the pack to Minecraft The same down here and this should generate the ballot functions so now we can run the function and we can see it placed our structure here and it’s summoned some new armor stands here and we can also go from the dungeon mu entities and generate from there and it randomly chooses We do have our generate generate function here but I showed a few more files before let’s take a look how you can do that remember before we had also the start function we can’t find it in here because we have to specified in an argument we can say start and then we need Another structure puh for that well the start area remember it goes to all it goes to all sides so we want to load the minecraft column start structure here so we need to paste the pack again if you generate it now we can see there is a start at MC function Execute something undone here you can also see that the repeater is called and that loops the dungeon generate function four times with get yo command let’s try that in game now we can just call the start function here it generated this dungeon here of course we only have two Ariens of truck chassis ax so that is pretty limited but you can have more I would also have would also like to have a key a method here let’s put that in and we can just say after this entity here I want to have a clear entity and This just says which entities to clear this is really similar to this entity up here but of course not all entities have to be dungeon in new tag and now we can see we have the clear function here and that just filled the area under kills the entity so let’s reload and called The dungeon clear function now Atkins called start again so now I have root replaced these structure pools with all available structure pools you can set a bias here a random percentage is calculated and it is divided by each category here but with this bias we can Override that and if this for example a five percent chance there will feed generate that and take a look at the set structure function we can see the ranges here from the percentage until last year have just sent and every other as 15% chance to activate it Oh let’s reload and start it again unruhe conceived degenerated dungeon is much bigger now because we have more exits but we can also see there are some entities left here that had just had an open end and the dungeon extension also of us said that we can fill these with An end though obviously there’s he start value but there’s also an end value but we can just paste it in here and that’s pretty much the same as up here but the structure pool with the structure end from Minecraft and we can generate that and we can see here is a new function That loads this structure block and in the generator MC function there’s also some bits added here but let’s try it in the game we just reloaded and clear it and then we can say start again and we can see the dungeon has completed every Exit has as an end here so there are no open spaces though there are a few more arguments here you can set the iteration durations for example though by default is this five I believe yes Anja we can set it to age and that’s just the amount of our merchants that Get generated and how many nodes are in the dungeon and we can also set the timer for the start or the delay between these single generations by default that is ten let’s set it to three so it should be a bit more faster now you can Also set this to minus 1 then we get completely read of the timer and we can do it manually so let’s generate that on reload the game here uncleared again and then we can start it again and it is pretty fast other there’s also another structure in There but is also a less bit more less performant oh I hope this video was kinda helpful I don’t know if you can use this generator for your project it’s a cool first extension for object D there’s also a documentation linked in the description so can you read Everything in detail and object D also got many updates so I would recommend you to look at the change lock and try the framework it’s pretty awful awesome to to find just some arguments and get a whole package that can generate a huge dungeon like that here so I hope you Liked this video on height Video Information
This video, titled ‘Fully Customizable Dungeon Generator For Vanilla Minecraft! – objD Extension’, was uploaded by Stevertus on 2019-03-21 20:58:12. It has garnered 4067 views and 82 likes. The duration of the video is 00:19:55 or 1195 seconds.
The objd_dungeon package is a set of widgets that allow you to build a dungeon generator as a datapack easily by just defining some arguments in objD.
Documentation: https://stevertus.com/objD/documentation/dungeon
Install it: https://pub.dartlang.org/packages/objd_dungeon#-installing-tab-
objD: https://www.youtube.com/watch?v=yJLpQVRSLD8&list=PL5AxRIlgrL5GnKz69w4AUyqpZC35BlxdD
It’s open source, come take a look: https://github.com/Stevertus/objd-dungeon ___ Youtube: https://www.youtube.com/c/Stevertus Planet-Minecraft: http://www.planetminecraft.com/member/stevertus/ Twitter: https://twitter.com/stevertus Teamspeak: bit-craft.de Minecraftserver: bit-craft.de Discord: https://discord.gg/WvtCkyg
Music: Sad Puppy – You Have The Blame: https://soundcloud.com/sadpuppymusic/sad-puppy-you-have-the-blame-1 Lucy Daydream – Somebody Else: https://soundcloud.com/lucydaydream/somebody-else-1 Tobu – Wait For Love: https://soundcloud.com/7obu/wait-for-love