Foreign ladies and gentle ladies and welcome back to another Ford modding tutorial for Minecraft 1.20 and in this tutorial we are going to be covering all generation so let’s get started so the first thing we’re going to do is come into our resources and inside of data And inside of our mod ID which is tutorial mod you need to make sure you have a folder for Forge and inside of that a folder for biome underscore modifier you’ll see I already have that because I’ve created that for the entity tutorial which is coming soon however you would not Already have that so you just need to make sure you create these two folders here inside of tutorial mod next we’re going to create another folder inside of tutorial mod and we’re going to call this world gin and inside of there you want a new folder for placed underscore feature and Then we’re going to create another folder inside of a tutorial mod once again World gen but this time it’s going to be configured underscore feature and we will fill those out later so what we need to do next is we need to do the usual and register our blocks and block Items for the ores so we’ll first come into block init we’ll come down to the bottom and we’ll go public static final registry object now for your ores you can either make it a normal block like we have up here or you might want it to drop experience As most ORS do so I’m going to make mine drop experience so I’m going to go drop experience block and I’ll start with example or is equal blocks.register we’ll give it our name so example or and then we’ll go A supplier of a new drop the experience block We first want the properties which I’m going to copy from diamond ore so blockbehavior.properties.copy and I’m going to copy from blocks.diamond or and then we also want a uniform int or an inch provider is what it wants so I will be using uniform int like uniform inch Dot off and effectively this allows you to set a range of experience that you want it to drop so for example between four and seven would be uniform.int for seven if you wanted a constant amount of experience for example you can do constant ins dot of and give it a constant value and There’s also some other ones as well which you can find by going into int provider if I just find in provider there we go if I go to implementations you can see the different other in providers that you can use but I’ll be sticking with uniform and constant since those are the Simplest to understand then we’re just going to do the exact same for the Deep slate the never and the end so I’m going to go ahead and just copy those in so we’ve got deep slate example or we got nether example or and end example or Obviously if you don’t want an end or or you don’t want another or or you don’t want it to generate in deep slate or you don’t want it to generating Stone then you wouldn’t have to do those ones but I want those ones to all be possible so I’m going to use all of those next we’re going to need to register our block items so I’ll come into item in it and everything here is just going to be as usual so once again I’m just going to copy this across we just do our usual Add to tab items.read register give it our name give it a new block item of the block and then pass in the properties nothing too special there okay and with all of those done we can go ahead and actually create the features But first you might just want to do the usual with These blocks so you’ll want to do the Lang for example so hopefully copilot can once again fill me in here and then you can do your loot tables which I have already done so I’ve already done the loop tables for all of these ores I’ve just copied most of the vanilla ores for Those loot tables keeps it nice and simple and then you’re also going to want your block State and your block models and obviously your textures and obviously your item models as well I’m not going to bother doing those because I might do them before we actually get into the Game but I’m not going to bother doing them right now and instead we’ll move on to the actual features so first we want a configured feature and what is a configured feature well it’s pretty much in the name effectively is a feature with a specific configuration so to create this we’re Going to use the wonderful website misode.github.io forward slash World gen forward slash feature so this will be the first link in the description and inside of here you’ll instantly see it starts us off with a tree feature so you can obviously change that to an or feature and you can add anything you Want in here what we’re going to do first is we’re going to um let’s see this is the configured feature so we’re going to want to say for example a size of the or that we want so I’m going to say for example 12 and then you can say Whether you want it to discard on air exposure this is the chance that that will happen you could put like 0.2 for example and then you can add your targets so you add a Target and we’re going to start with a tag match and the tag we want is Minecraft colon Stone or replaceables and effectively what this will do is it will check if the block that is found is matches this tag so you can actually click on this follow reference here and it will bring you to the tag showing that it will only match for Stone Granite diorite or Andersite and then we just say what we want to actually generate in as that or in that block so we want to generate tutorial mod colon example underscore or inside of the stone now instead if we match deep slate so we’re going once again going to want to do a tag match And we’re going to say deep slate or replaceables then instead we want to do tutorial mod colon deep slate underscore example underscore or now if you had any special properties on your block such as for example furnaces have the lit property for whether they’re on or not Then you would need to add in your property cheese here as well just to make sure they spawn correctly with said properties but we don’t have anything special like this so this will work fine so all we’re going to do is we’re going to press copy down here we’re going to Come back into IntelliJ and inside of configured feature we’re going to want a new file and we’re just going to call this whatever we want to call our feature now since this is just for the normal or we’re going to call it Overworld unsure example underscore or Dot Json paste in that Json there and boom then we basically want to do the exact same thing for the never and for the end except the end will be slightly different let’s first look at the Never So I’ve already created a Json for this but I will just show you roughly what You need to do so for example for example instead of doing a tag match for uh whatever tag you might instead want to do a block match for maybe never and that means when it matches never act it will generate our never example or and you might want to for example turn that Off and maybe turn down the size but I’ll keep that at 12 and then you could use this for the NADA alternatively I think there is actually a tag for the never so yeah you have bass Stone never right there as a tag which would be never act passel and Blackstone which Would be fine but you might just want never act because otherwise it might look a bit weird it’s completely up to you I’m just going to do a block match of neverack because the or Texture that I will be using will use neverack as that texture And then you can use that now I already have that copied so I’m going to come in here I’m going to do a new file and I’m going to call it never example or dot Json and paste it in there then we do the exact same thing for the End which I already have copied so I’m going to create a new file end example or dot Json and paste that in there okay the next thing we need to do is the placed feature so the placed feature will Define how this specific feature should get placed in the world so it’ll Define For example the count and things like that what we’ll do is we’ll come to the second link in the description which I’ll bring over here and this is once again miso.gith.io but this time it is placed feature and you’ll see here we are starting with something that you can’t really read So effectively what this is defined up here this quote unquote reference is a reference to your configured feature that we just made so if we come back into IntelliJ we can see that we called our configured features Overworld example or so what we would do inside of there is Do tutorial mode colon Overworld I really can’t read that because of how this is um poorly designed but over a world honest quick example underscore or we can check inside of this Json here to see if that is correct so tutorial mode over World example or you need to make Sure that’s obviously the exact same name as what you did put in IntelliJ and then we can effectively give some presets inside of here or some rules for how it should generate so I’m going to also leave another Link in the description will it which will explain a Bunch of these different modifiers what they do and what they change but I’m just going to add some of the sort of common ones since this is the example or the Overworld one we have the count modifier here by default now this is set to a constant but you can obviously Change this I’m going to give this a constant of 10 and you will see that it updates over here to respect roughly what this would do so if I said for example 100 and you look at this up here you see it’s now super common if I set It to one you see it’s super rare so I’m going to set it to 10 since I think that’s sort of okay and you can obviously zoom in and zoom out to this as well I believe each of these squares will be a chunk I’m not entirely sure but I believe that’s how That works then you just want the in square modifier almost every single ore will have that since that just means that it offsets in the horizontal Direction in a chunk so it won’t always be in the same place every single time then we specify some sort of height Modifier now you see here it’s been set to height map ocean floor that’s just because we were using the tree preset before but we will actually want a or so for oars you generally do a height range and here you can Define your different range things So I’m not going to cover all of these but you have I’ll briefly come over some of the more important ones so you have constant which is just means it will be constantly at that specific height then you have constant plus which I believe is a squared constant but I’m not entirely sure Then you have uniform which just means it’s uniformly distributed across the height that you provide then you have bias to bottom which means it’s just biased to the bottom you’re very biased to the bottom which once again means it’s very biased to the bottom you have trapezoid Which just means it would be In a sort of triangular kind of shape um or more of like a diamond-ish kind of shape and then you also have a weighted list which allows you to define specific weights for um specific ones but the one I’m going to be using is trapezoid because that is Most common for Diamond which is effectively what I am going to be attempting to mimic and I’m going to start with the Min inclusive I’m going to say an absolute value of negative 40 will be the minimum height and then I’ll give a Max inclusive of a Below the top you can also do above bottom which would be above zero below top is above the uh is is the world height so I’m going to say below top of 10. so that means this all can generate anywhere from an absolute value of negative 40 to a um Below the top of the world of 10. and you can also say that it should maybe Plateau at a certain height as well if you wish to do that but you don’t have to specify that one and another modifier we might want to add here is also the biome modifier Which just means that it will check for biomes which is rather important to add for most or Generations so once we’ve done that we can effectively copy this Json we can come back into IntelliJ once again and we can create a new placed feature now this is The Overworld so we’re going to keep the exact same name over World example or dot Json paste it in and boom that will work then you want to do the exact same thing for the never and the end so I’m going to do never example or dot Json and I believe I should already have this ready to go since I created this previously and then you’ll need the end as well so end example or dot Json let’s see do I have the end one um I believe I accidentally removed the end one so we’ll have to go ahead and Create that one but it should be fairly simple in fact we can keep it pretty much exactly the same only difference is for example Overworld here we change to end that’s very important and where you specify your Heights you might want to just modify that so I’m going to say Maybe above bottom maybe 10 above the bottom and Below top yeah I’ll keep that at 10 and maybe that plateaus at about 50. and yeah we’ll we’ll do something like that and we’ll copy that and we’ll come into IntelliJ paste it in make sure that the Netherland is also Another example or which it is okay the final thing we need to do is the biome modifiers and effectively what this does is it specifies what biomes it should spawn in and effectively what generation stage that should work in so we’ll create a new file in here and We’re going to call it the exact same thing as what we called our features so we’ll start with Overworld example or John dot Jason we’re going to specify a Json object we’re first going to say the type now the type that we want to be using is Forge colon add underscore Features then we want to specify the actual features that we want to add so the feature we want to add is going to be tutorial mod colon Overworld underscore example underscore or then we want to specify the biomes now for this you can either specify a singular biome Like copilot has suggested here so minecraft planes or you can specify a tag now I want it to be able to spawn in any Overworld biome so I’m just going to do hashtag Minecraft colon is underscore Overworld then we need to say the generation step so at what stage During the World Generation should this add to now I want to add it during underground underscore ores but there’s also a bunch of other generation steps so if you look that up generation step and you can see all of the different generation steps for example vegetable decoration would be like trees And then you’ve got like lakes here which are lakes as you can guess most of these are fairly self-explanatory then we just want to do the exact same thing for the never and the end so once again never example or dot Json now you don’t actually have To name these all the exact same thing however I’m just going to do that just to keep it simple and I think it’s also a lot easier to um link them together since you’re not accidentally going to get the wrong name for the wrong thing which would be very Easy to do otherwise okay beyond that obviously models Etc I’m I’m just not going to do those actually because I think it’ll be easier to just find the oars if we have a missing texture for the models so I will see you in the game now first Things first I’m actually going to turn on a resource pack which is an x-ray pack and that just means I’ll be able to find our ores way way easier since we can just see through the world so I’m going to go spectator mode I’m going to go down I’m going to give Myself night vision as well and if I go down a little bit there you go I can instantly see our or there and yeah it’s there as well and it just makes it super easy to find when we have all this x-ray you can see all the oars are very clearly visible I’ll leave a link to this resource pack in the description uh as I think it is quite useful obviously don’t use it in survival guys come on now it’s it is a bit cheaty um but yeah it is very handy for testing things like this And yeah you can see you can see the oars really really easily we should be able to find some down here as well foreign [Applause] [Applause] [Applause] [Applause] tastic and that is it for the or generation the next tutorial will be recipes and it’ll be coming out straight after this one since I accidentally missed the video yesterday and then probably on uh Thursday will be um the start of the entity tutorials which I have already Recorded as you can see I’m going to spawn it in like this and it has animations and stuff so the start of that series will start on Thursday and we’ll cover all of those things but yeah that is it for all generation so if you guys obviously enjoyed please Do be sure to give it a like And subscribe um also if you have any problems feel free to join my Discord server which is linked in the description below and yeah I’ll see you in the next tutorial good bye Video Information
This video, titled ‘1.20 Minecraft Forge Modding Tutorial – Ore Generation’, was uploaded by TurtyWurty on 2023-06-27 17:30:01. It has garnered views and [vid_likes] likes. The duration of the video is or seconds.
In this video, I show you how to create ores that can generate in the overworld, nether and end. In the next tutorial, I will show you …