Let’s update from 1192 to 119 3. oh all right defenses back and challenge once more and in this tutorial we’re going to be updating our Forge tutorial mod over here from 119 2 to 119 3. and there are about well 1 million and a half things To do but the first thing we of course need to do is go into our build.gradle file and change all of our dependencies and all of that craziness now all of the code will be available to you in the description below in the GitHub repository so going through this quite Fast because there’s a lot of changes that we have to make so do keep that in mind so first of all we want to change to 119 3 this is 44 one five so that is the new version then we also want to change all of our you know the ji stuff And that we sadly have to completely ax because ji has not yet been updated so the same thing goes for mechanism the only thing that has updated is gecko lib so far that is on 119 3 and that is now gecko live version four point I believe we’re at 4.0.3 but we can double check this on the gecko lib 403 that’s actually true and this should also be inside right here in the installation guide Forge 403 that’s perfect and then here this is the latest version 4415 so do cover my we can use the latest version here and that Should be fine right then let’s go to the reloading the Gradle stuff and you know you can also just open the Gradle window and click the reload all Gradle projects button now this should you know take once again anywhere from a few seconds up to a minute or maybe even a Little bit longer depending on how fast your PC is on how much you know it has to download and stuff like that so just be patient let this run through and then we can continue alrighty there we go build successful in three minutes 39 seconds any warnings you might be Getting are totally fine you can ignore the warnings only if there’s an error and you’re not getting a bull successful that’s the only thing that you should be worried about but if you get a build successful with a load of Errors absolutely no worries and that should be Fine right and once it’s changed all of this then of course you still need to go up to the mappings over here and change those now the change mappings I already have those prepared it is 2022 12 18 119 3 and that is actually also quite important so just add this and then Reload this as well and then we should be good to go now the first thing to do is of course because we’re no longer having jei over here we can immediately go into the integration and just pretty much get rid of all of this so I’m just Holding alt and then dragging down the classes here are no longer available so you can just basically comment all of this out press Ctrl alt o to get rid of the Imports and then the same thing goes right here we’re just going to get rid Of all of this same here Ctrl alt o and then that should be fine and well those things just are not used because there’s no more integration right here but that’s okay and then we’re going to start from the very top we’re not going To use the we’re not going to go to the tutorial mode class right now we’re actually going to start in the custom block classes so blueberry crop nothing the station block entity block also nothing jumpy block right here mod flammable rotated pillar block Zircon block nothing at all so all of those are Fine that’s great and you can see in the renderer we have the first issue and that is actually the vector 3 right here because this is now a new class so you can see we actually have to import this and this is now under the orc jumble Vector 3F so before there was a in-house Vector 3 F class and this one no longer has the XP right here so the positive X Direction This is the positive Z Direction this no longer exists so for this we actually need to use axis from com mojic math and then everything Should be fine so pretty much just replace this and then we should be good to go with that in the block entity itself we have nothing great mod block entities we also got nothing wrapped Handler nothing mod blocks this is actually something because the dot tab Over here no longer works and for this we actually need to do something else but for the time being what we can do is we can just get rid of this we can get rid of the tab right here we can get rid of the tab right here and then also as The parameteria and then this is going to basically make it so that we have to delete the tab for every one of our blocks because well the tab is now being added differently but we’ll see this in a little bit it’s actually fairly straightforward to do this it doesn’t Actually require that much craziness alright so I removed the tab from all of them and then the mob blocks class is good to go as well lion class client thirds data there’s overlay should all be totally fine The Entity now we’re getting to the very juicy stuff as the Entity is very interesting indeed because well we are now using gecko lip 4 which means there’s a bunch of changes instead of the animated Geo model this is now only the Geo model there you go now the chomper entity still has an issue because there is one thing that Has changed in there as well we’re going to do that in a moment regardless of this this should be pretty much all that we need here the Trump rendra is now also it actually stays this one however what it is is we want to import the class because it’s a in a different Location and the get a render type over here has changed so I’m going to copy this over and you can see it basically just has a different method signature so we just need to use this one now and then there you go we can press Ctrl alt O to delete all of the Imports that we no longer need same here and then we can proceed to the chomper entity which is going to actually have quite a few errors but no worries at all we’re going to get through this the first thing is This is no longer an eye animatable this is now a Geo actually Geo entity Geo entity there you go and then instead of a animation Factory this is now actually the following it is a animatable instance cache I still have it called Factory and this is equal to a new Single animatable instance cache passing in this class so we can delete this one right here and then this should also so be the thing that we’re returning this is no longer the get a factory well can you guess what it is well it is now the get animatable instance cache we’re Still returning the same thing over here this one so no worries at all now the register controllers is also fairly similar I’m just going to copy this over so you can see it now takes in an animatable manager dot controller registrar and the rest is pretty much The same idea right as you can see the predicates here are also different I’m going to copy over the attack predicate first and we’re going to basically look at the differences but you will see that it is almost the same thing you can see this starts swinging still the same and Then instead of getting the controller via the event we now have an animation state that we’re passing in here and we’re saying State get controller get animation State this is equal to stopped which is exactly the same idea as this one then we’re saying we’re going to get The controller again where instead of marking this as reload we’re now saying Force animation reset and then when we’re setting the animation instead of making a new animation Builder we’re just getting a raw animation saying begin then you should choose this animation animation Chomper attack and this is only played once that’s pretty Much all that there is to it it isn’t that complicated really of a change the idea is still all the same it just looks a little bit different and that is pretty much it same with the normal predicate right here and then there you go no more errors should be present the Only one is in the import and that is once again Ctrl alt o they’re leading all of the Imports now the renderer and the model should also work and with that gecko Loop 4 has been successfully added basically mod entity types nothing here so we can proceed let’s just close all Of the stuff we already have the events I’m pretty sure the events should all be fine there’s no differences in the events over here that’s great fluid there has been something has changed in the fluid now this should just be the new Vector so if we just import the new Vector and then press Ctrl alt o this should all be fine there you go and indeed it is mod fluids there is no issue mod fluid types there’s just the issue once again with the vector over here just import this Ctrl alt o and all of the errors should go away beautiful While integration we’ve already done this basically just comment everything out because ji is no longer present item the custom item 8 ball over here nothing creative mode tab oh yes the creative mode tab the bane of 1193 well this is going to be very interesting indeed because this is Actually going to well there’s a few ways that we can basically deal with this I suggest doing the following so what we want to do is we just want this to be a static creative mode tab non-final this time and then what we’re actually going to do is we’re going to Make a public static void register creative mode tabs and this is going to be a creative mode tab event dot register old event and this is going to well basically actually add this so let’s get rid of all of this and let’s say the tutorial tab is going to be Equal to event.register creative mode tab with a new resource location tutorial Mod Dot mod ID and then this is going to be the tutorial underscore Tab and then after the first closing parentheses we’re going to say Builder and you can see it already suggests to Us a consumer and this is going to be a builder dot icon the icon is going to be a supplier of a new item stack mod items dot Zircon dot get and then after the third parentheses a title this is going to be a component in my case I’m just Going to do a component.literal I highly suggest doing a component.translatable and then translating it in the LA in the en underscore us Json file but for this time this is going to be fine tutorial tab after the second closing parenthesis dot build and then ending it with a Semicolon there you go now we still need to do at subscribe event extremely important here because it’s of course an event and then at the top we want to add the event bus over here so you can see this is for the mod bus so that should Be pretty much fine how to add things to our creative mode tab we’ll we’ll see in just a moment for the time being in the mod items class we first of all have to get rid of all the dot tabs over here so what I’m just going to do is just Getting rid of all of them let’s just do the Creative Mode stuff now so for this what we’re just going to do is we’re going to do this in the mood tutorial mode class and we’re just going to make a new method right here and that is Going to be the private void add creative and this method is going to be the creative mode tab event dot build contents I’m going to call this the event parameter there you go and this is going to be cold right here so after the event bus register this we’re going to say mod Event bus dot add listener this colon colon add creative and then how do we add stuff to the creative mode tab well we’re just saying if event dot get tab and if this is equal to the creative mode tab dot tutorial tab then we’re going to add stuff how do we add stuff Event dot accept and then for example mod items.zercon done that’s it now the Zircon is added to our tutorial tab now the positive thing about this is we can do we can just duplicate this and say you know I also want our Zircon to be added to the creative mode tab Dot no it’s actually creative mode tabs dot ingredients no inventory ingredients let’s say ingredients so now it is added to both the ingredients tab as well as our custom tutorial tab the great thing about this is you can add your items to multiple tabs and then you just continue Along and just make sure that all of them are added as well of course you don’t necessarily have to but this is definitely the thing that you would want to do we have the counting sword over here we got the soap bucket we got the pickaxe as well the ziricon pickaxe and Last but not least the chomper egg and then the same thing goes for the blocks right so we can just do let’s do this on building blocks for example and then we can just do the mod blocks in this case mod blocks that and then we just go through those while The crop actually should not be added that’s a good point and there you go let’s just do this all right in theory that should be all of them so we can then do the add them to the building blocks and then just for the sake of Argument we’re also going to add them to the tutorial tab right here right now that should pretty much be the creative mode tabs not nice okay let’s continue along with the correct order over here so this is going to be the loot uh loot should have nothing changed over here and indeed it Does not networking should also all work the only thing I think the example yeah the example one for whatever reason the spawning has changed now because this is just the example packet I’ve not looked into this we’re just going to comment this out and we’re going to be fine Because it was just an example and then the rest here should all be fine beautiful mod messages should also have nothing so this is all done painting nothing here recipe I think also everything is fine beautiful screen I think there’s something here in the fluid renderer indeed so we have is the Matrix Four I think that this also just changed positions or changed packages so just importing it again and then we should be fine up here Ctrl alt o if there’s a an import that does not work info area so that’s all fine then we get To the menu and here we got nothing the screen here we got nothing beautiful the mod menu types also all are great first there’s provider we’re cruising through this at a Breakneck speed but this is absolutely amazing right you can see nothing going on in the YouTube package At all that’s great villager I think there’s nothing in the Villager and then we get to our favorite thing the world gen and now you’re all going to lose your mind because they change worldjin again yeah of course of course they change version again now there is a Great new way of doing things so first of all we can see this no longer works because this is now I believe this is no longer a holder even right I’m not even sure regardless though we basically have to do some other stuff and we’re not actually doing the tree Grower first we’re first of all going to into our mod configure features and you are going to see that there’s a few things that don’t work anymore so right now the registry here does not work because this is actually now under I think it’s now on Registries right or is This not even a thing no it just doesn’t exist at all anymore so that’s perfect I guess uh regardless though we don’t need any of this craziness anymore because this is now done completely via Json files now the good thing is that when it’s done we have Json files so we can actually use data generation to generate all of this stuff or Json files now what you will find is that I have actually not done data generation in one nineteen two in the tutorial series for Forge because well you know I basically always go back and Forth whether or not data generation is something that’s like worthwhile or not um I think at this point yeah it’s probably going to be worthwhile simply because of the fact that um well either you can just generate it with pretty much all of this code which Is very very similar or you can make all of the Json files by hand however if the Json files look uh let me just like show you one of them if the Json files look you know kind of like this you probably don’t want to make them by hand so I Think that at that point it makes more sense to have this code and then have it generate the Json files now we’re going to go through this quite fast once again the code is going to be all available to you in the description below in the GitHub repository and I will in the 119 3 Series go through this a little bit slower once again you know when we get there in the 193 Series so do keep that in mind but we’re going to get through this quite quickly so first of all configured features the Deferred Register absolutely gone now we actually need resource Keys over here for all of our different things so you can see we need a resource key for the red maple a spawn one Overworld Zircon or end Bam Bam Bam so all of our different things that we’ve registered before are now all Keys so we want the keys next point of order we now want a bootstrap method that looks kind of like this it has a bootstrap con context here of configured feature because of course we’re in the mod configured features class right and this is the case now the registered key Method that’s a custom method same with another method that I will be copying over and we no longer need this register method because we no longer have a deferred register so you can see the register key and a new register method that now has these different parameters So you can see bootstrap context once again of configured feature a resource key of configured feature a feature and a feature configuration okay now how does this all work well the first thing in the bootstrap method is we’re going to get a holder getter now this is a Crazy name basically the thing that this does is we can now with this place features lookup what we can do is we can look up all of the place features just by passing in a resource key the idea of this is because in for example the spawn Right here we’re using the red maple checked mod placed feature and this is a way in which we can actually reference that now I’m going to make one of them and copy the rest over what we want to do is we want to call the just made register method that we’ve just made Passing in the context then passing in the resource key so in this case it would be red maple key exactly and then right here we just want to copy everything that we’ve put into the configure feature so the feature tree and then the feature configuration just copy all of this over Paste it in here and in theory oh we got one too many closing parentheses we should get no errors and that is what we need this is what we need to do so basically we want to change it from there to there now there’s one thing That we can change and that is instead of the or features Stone replaceables this is no longer a static you know field we actually need to make this ourselves very annoying new tag Match test block tags dot this is a base Stone Overworld there you go and then this is The same thing just with instead of Base stain Overworld it is deep slate or replaceables I think you can also do or replaceables I think stone or replaceables I think you can use either or I don’t think it really matters one way or the other this one we already had To have made a custom one and in this one it is a new block Match test block start Netherrack now here you could also use a tag there’s another tag that is nether nope there’s another K but there should be a tag over here nether replace a base Stone nether you Could use that as well it doesn’t really matter all that much you know one you know either one is fine I’m just going to move all of those fields up here and there we go so that’s going to be fine and now I’m just going to copy over the Rest of this method because well it is just you know this is just what we need there’s one thing where we’re going to get an error here because that is the mod Place features because we’ve not introduced the resource keys in the mod Place features but you can see overall This is pretty much the same idea right so you can see right here we’re getting the Overworld Zircon ores with size 7 and then here we’re getting the overall Zircon ores with size 12 in this case it’s feature or it is pretty much almost the same idea it’s just done a little Bit differently right so let’s get rid of all of this craziness we can get rid of all of this app absolutely and then this is the only two errors that should remain now what I have found and that is one thing that is very important when You are making the ores I have found that the size here has to be a little bit bigger than before I don’t know if they change something with the size and the generation but both this size and the veins in chunk number you should increase that for testing purposes Because I found that if it’s like I don’t know if it’s like an eight or something then it’s like almost impossible to find anything which is very very strange anyway first of all we can go back to the tree grower and then let’s just like get rid of this let’s Import the method again there you go this is what we want and then we can just say mod configure features dot red maple key and that should be fine because we only need to pass in the key and that’s all that we need so that’s Great and now we can go on to the mod Place features right here the same thing goes we no longer need the Deferred register what we do need is a bunch of resource keys this time of course of placed features once again we need the create key method absolutely no worries We’re going to copy those methods over once again those are all available to you in the description below so they create key method here creates a resource key of placed feature beautiful beautiful beautiful and then we also need a bootstrap method now this is going to look kind of like this which Reported placed features and here we actually want a holder getter for the configured features because once again in the place features we are always referencing our configured features this is why we need this now here I’m just going to copy over the entire thing because that should be fine and then This is just common pla or placement there you go and you can see I put this up to 12 before I had it on seven it’s just what I found for whatever reason you know what you want to increase this a little bit otherwise it’s not going to Be as prevalent as you might expect but best thing to do is just play around with this anyway and then you should be fine right and that is pretty much all that we need to do so let’s just delete all of this no more errors present no more errors present absolutely beautiful And then let’s just continue Village editions I think the the only thing here is that this is in a different class and that should be registries.processor list there you go and then here same thing goes instead of registry this is now Registries and I believe it’s called a little bit Different so this is now a template pool and this is once again the processor list and that should pretty much be all the changes needed here and then in the tutorial mode class first of all we can get rid of both the configured features and the place features methods right Here this one has just changed its location so gecko lived and initialize we still want to do this Ctrl alt o and no more errors should be present now of course this is not quite done just yet because we still need to somehow get these boost strap methods to actually Create the the Json files so for this we are going to use datagen however this is just going to show you the data gen for the configured and the place features right now because that is you know we’re already running quite long on this video So that you go so this is going to be data gen and this is going to be a new class called the data generators and this is going to be fine and then we also want another new class and that is the mod World gen provider there we Freaking go the mod wheelchair provider let’s actually start with that I think that that makes the most sense and this is going to look kind of like this so this is going to extend the data pack built-in entries provider quite the mouthful we’re going to hover over let’s Create Constructor matching super and I believe we can just choose the first one that should be fine I believe yes there you go and then here we want to do the following we just wanted to make a public static final a registry registry set builder called Builder this is going To be equal to a new registry set builder dot add Registries dot configured feature there you go and this is going to call mod configure features colon colon bootstrap and then we’re gonna do another ad and that is going to be Registries dot placed feature and This is then going to be the mod list features Olen colon bootstrap and that should be fine that should be fine and then instead of passing in the Registries right here what we actually want to do is we want to pass in the Builder right here and then here it’s Going to be a little bit weird this is going to be collections.singleton and then just tutorial oh tutorial mod it’s another gate tutorial bot that mod ID there you go and that should be fine and that should be okay with this we can go now to the oh debt generator no not quite The case we actually want this to be the data generators there you go the data generators are going to look like this it’s going to have a admod plus subscriber for the modbus right here a public static void gather data method with the gather data event called event Don’t forget to add a subscribe event annotation and then here we’re gonna have the data generator no generator import class or generator equal to event.getgenerator we then have a output we do need this pack output called pack output equal to generator.getpack Output beautiful we don’t need anything else And then we just need to also do a completable future of holder look up oh a DOT provider holder lookup.provider and there you go this is the lookup provider this is needed for the so that we can reference that stuff that I’ve told you about before in the bootstrap Methods and this is equal to the event.getlookup provider there you go should be totally fine and then we just want to do generator.adp provider and do event.include server if I recall correctly and then mod new mod World provider hack out lookup provider and then there you go and then we do need to Change the the method over here oh yeah of course we don’t need the mod IDs because we’re already passing in ourselves and then no errors should be present here no errors should be present here beautiful beautiful and now what we can do is we can go to the Gradle Tab And run data right here and this should if everything is going to work generate ourselves some data in the generated folder right here and that’s going to just generate ourselves the place features and the configure features which is all that we need in this case so let’s just let this run through and Then we’ll see all right so this is actually the thing that we want to see if you can see all providers took whatever how many milliseconds then you know everything is fine so if you get this this is actually the thing that you want fail is no worries at all as long As you have all providers took X milliseconds then you know everything work because you can now go to the generated folder and you can see data tutorial mod World gen configured features and you can see all of our configured features are here all of our place features are here absolutely Beautiful and now those thing those Json files still have to be referenced in the in the bio modifiers right here so these ones still have to stay right here and they still have to be in here what’s important though is that there is some way that you can actually also generate The biomodifiers for the time being I have not found out how to do this properly there is no documentation on it or at least I haven’t found it let’s say so yeah I don’t know about this 100 regardless though once again in their 119 3 Series that has just started I Will be talking about this in more detail we’re going to be looking at data generators in more detail as well for all of the other things like recipes loot tables all of that we’re going to be looking at that in the 119 3 Series and then also for the world gen for the Time being this is going to be hopefully enough that you can update the mod your mod or the tutorial mod from 1192 to 119 3 and with this let’s just run the client and see if everything works alright so the game seems to start let’s make a new world and see if everything Works in there as well well there you go failed to load Registries that’s a great beginning over here so let’s see what the issue might be indeed the reason why this does not work is because there is a mismatch between the names of the place features right here and the names inside Of the biomodifiers so you can see right here it says Unbound values in registry Place features meaning that the place features are so for some reason can’t be found you can see end underscore the aircon underscore or underscore placed which is the exact same thing that I Have here right and zero Corner replaced it’s looking for this however that does not exist because it is called end Zircon placed so it we just need to make sure that the name right here is the same as this name and then the same thing probably happens in the nether one As well where we can see it is looking for nether under the zero underscore or placed and then here the same thing goes where it’s looking for this instead the names here are zerocom plays and nether zero complaced and that should fix this error and now we should be good to go Alrighty so we found ourselves in Minecraft and first of all let’s take a look at whether or not our blocks have been added and they have been added in the ingredients as well there we go we got the Zircon and we also got our custom tab right here with seemingly Everything working pretty much as we would expect it to let’s just spawn our entity right here so it definitely has the animations as well we can get some water over here let’s just see so this does not no it does seem to be fine that’s beautiful so this all works Absolutely exactly like we wanted to get the German fusing station this seems good now of course right now we can’t really test this because we’d have no way of actually generating any energy because mechanism is not updated so that’s a little bit of an issue but you Know I’m hoping that this is pretty similar to the fabric situation that everything here just should work the only thing might be the energy display but you know we’re probably going to be fine let’s go into spectator mode with a little bit of night night vision potion Here and let’s see if we can’t find some of our oars you know one of them there you go that’s that should already be pretty much enough that’s then also locate the lanes biome and let’s take a look there whether or not we’re going to be finding our trees That’s a great planes buy them right there um well I mean you know at least we got one of them so that is going to be okay and yeah that is pretty much all of our things added and still working in one 1903. pretty freaking cool That’s it for this tutorial right here I hope you found this useful and you learn something new and I’ll see all in the next tutorial so yeah Video Information
This video, titled ‘Minecraft 1.19.2 Forge Modding Tutorial | UPDATE TO 1.19.3 | #41’, was uploaded by Modding by Kaupenjoe on 2023-01-19 15:59:46. It has garnered 9504 views and 151 likes. The duration of the video is 00:30:11 or 1811 seconds.
In this Minecraft Modding Tutorial, we are updating our tutorial mod from Minecraft 1.19.2 to 1.19.3 using Forge.
== SUPPORT ME ON PATREON == ▶️ https://www.patreon.com/Kaupenjoe
== ASSETS & DOWNLOAD LINKS == GitHub Repo: https://github.com/Tutorials-By-Kaupenjoe/Forge-Tutorial-1.19/tree/40-update1193
== 25% OFF FOR GAMING SERVERS == ▶️ https://www.bisecthosting.com/Kaupenjoe
== TAKE A LOOK AT MY COURSES WITH COUPON CODES == ▶️ NEW Forge Modding with Minecraft 1.20.X: https://url.kaupenjoe.net/CourseForge120X ▶️ Learn Forge Modding with Minecraft 1.18: https://url.kaupenjoe.net/CourseForge118 * ▶️ Learn Fabric Modding with Minecraft 1.18: https://url.kaupenjoe.net/CourseFabric118 * ▶️ Complete and Roblox Lua Game Development: https://url.kaupenjoe.net/RobloxCoupon *
== 1 MONTH SKILLSHARE FOR FREE == ▶️ https://www.skillshare.com/r/user/kaupenjoe *
== SUPPORT ME ON PATREON == ▶️ https://www.patreon.com/Kaupenjoe
== SOCIALS == Discord: https://discord.com/invite/yqxykanpWf Personal Twitter: https://twitter.com/Kaupenjoe
Instagram: https://url.kaupenjoe.net/tutorials/instagram Facebook: https://url.kaupenjoe.net/tutorials/facebook Twitter: https://url.kaupenjoe.net/tutorials/twitter TikTok: https://url.kaupenjoe.net/tutorials/tiktok Written Tutorials: https://url.kaupenjoe.net/tutorials/blog
== LICENSE == Source Code is distributed under the MIT License. Additional Licenses for other assets can be seen below or in the accompanying CREDITS.txt on download.
== ADDITIONAL CREDITS ==
== AFFILIATE DISCLAIMER == * Some of the links and other products that appear in the video description are from companies which I will earn an affiliate commission or referral bonus from or are my own products. This means that if you click on one of the product links, I’ll receive a small commission or additional kickback without any additional cost for you. This helps support the channel and allows me to continue to make videos. Thank you for the support!
== HASHTAGS == #Minecraft #MinecraftModding #MinecraftTutorial #Kaupenjoe