Posted June 29, 20223 yr Hello. I'm making my first mod. I'm trying to make some block spawn in caves. I wrote a class, that extends Feature class, but how do I made spawn it in the world? I don't know anything about world generation, and I don't know where should I take information from. Thank you very much
June 29, 20223 yr It depends what version of forge you are using. The old way (1.18 and before) is to use BiomeLoadingEvent. Then use event.getGeneration().addFeature() to add it to the appropriate GenerationStep. For an example, here is Botania adding mystical flowers and mushrooms to the vegetation step https://github.com/VazkiiMods/Botania/blob/0cfa08ebb4828aa48b3231d6db6dd3b70dc7942b/Forge/src/main/java/vazkii/botania/forge/ForgeCommonInitializer.java#L250 Of course you need to register your features to make them useful, see https://github.com/VazkiiMods/Botania/blob/0cfa08ebb4828aa48b3231d6db6dd3b70dc7942b/Xplat/src/main/java/vazkii/botania/common/world/ModFeatures.java 1.19 (still in beta) has overhauled this to use BiomeModifiers:https://forge.gemwire.uk/wiki/Biome_Modifier Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
June 29, 20223 yr Quote This is not ideal. The recommended way to register things is using DeferredRegister, which also provides you with the Holder. Pretty sure it does it that way because it shares the same code with the fabric implementation which doesn't have deferred registration. Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
June 29, 20223 yr Do you know a good example? I just tried to find a good example in well known mods and they seem to use a variant of the RegistryEvent/manual register like botania, except mekanism which has its own specialised FeatureDeferredRegistry implementation. Edited June 29, 20223 yr by warjort Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
June 29, 20223 yr first of all guys, did you read the version of this thread, it's 1.16.5 there are not Holders, etc? 2 hours ago, KastyaLimoness said: I'm trying to make some block spawn in caves. like Ores? If so, you don't need a custom Feature you can use Feature.ORE instead create a static ConfiguredFeature field, then create the ConfiguredFeature in FMLCommonSetupEvent and store it in your field you then be able to use BiomeLoadingEvent to add the Feature to the World you can create the ConfiguredFeature via Feature#configured you can use the vanilla Features class as an example 1 hour ago, warjort said: Do you know a good example? why do you need a example? if you provide a example it is helpful but you should know that a few people will copy the code without understanding what the code is doing and then they come back and say the code is not working (they turn off their brain) if you want to show examples i would recommend you to use the examples which are provied by Forge in the Forge Community Wiki, or you create a standalone example (for example with https://gist.github.com/), which you then can link if you want an example for Features & Placements you can take at: Features & Placements Edit: in the most cases there are vanilla examples and for the stuff which is added by Forge you can take a look at the Test Mods Edited June 29, 20223 yr by Luis_ST
June 29, 20223 yr Author 2 hours ago, Luis_ST said: like Ores? No, something like flower, but in underground
June 29, 20223 yr Author Thank you, guys, for your help, but I've just invented a strange bycicle and now all works
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.