Posted August 5, 20205 yr Hello again. My mod now crashes when loading into Minecraft. And I'm out of filler text :< Pastebin to latest.log: https://pastebin.com/zgxHvxun Any help is appreciated (again). Edited August 5, 20205 yr by Pickle_Face5 Have some lorem ispum.
August 5, 20205 yr Author 13 minutes ago, diesieben07 said: Post your code. Here you go: https://pastebin.com/E1rcgTEz Have some lorem ispum.
August 5, 20205 yr Author 1 hour ago, diesieben07 said: You cannot just call get() on your registry objects in a static initializer. They are not initialized by then. In general do not store the result of get(), just call get() when you need the block/item/etc. So what do I do? Sorry, but I'm really bad at following tips. :< 1 hour ago, diesieben07 said: Also: You cannot add features in FMLLoadCompleteEvent. Use FMLCommonSetupEvent and DeferredWorkQueue. This tip I get. The weird thing is is that this is almost exactly the same code than other mods I have made, like the registry and the main java file. That's why I said I think the Flower Gen is the problem, I havent't really done it before. TL,DR: please elaborate a little more. Have some lorem ispum.
August 5, 20205 yr Author 21 minutes ago, diesieben07 said: Do it where you use the config. I'm probably bugging you, I'm sorry, but what do you mean "it"? Have some lorem ispum.
August 5, 20205 yr Author // Initialize Stuff public static final BlockClusterFeatureConfig BLUEBERRY_BUSH_CONFIG = (new net.minecraft.world.gen.feature.BlockClusterFeatureConfig.Builder(new SimpleBlockStateProvider(Registry.BLUEBERRY_BUSH.get().getDefaultState().with(SweetBerryBushBlock.AGE, 3)), SimpleBlockPlacer.field_236447_c_)).tries(64).whitelist(ImmutableSet.of(Blocks.GRASS_BLOCK.getDefaultState().getBlock())).func_227317_b_().build(); } So do this? Have some lorem ispum.
August 5, 20205 yr Author Alright, here's the final code: package com.pickleface.survival.world.gen; import com.google.common.collect.ImmutableSet; import com.pickleface.survival.Registry; import com.pickleface.survival.Survival; import net.minecraft.block.Blocks; import net.minecraft.block.SweetBerryBushBlock; import net.minecraft.world.biome.Biome; import net.minecraft.world.gen.GenerationStage; import net.minecraft.world.gen.blockplacer.SimpleBlockPlacer; import net.minecraft.world.gen.blockstateprovider.SimpleBlockStateProvider; import net.minecraft.world.gen.feature.BlockClusterFeatureConfig; import net.minecraft.world.gen.feature.Feature; import net.minecraft.world.gen.placement.FrequencyConfig; import net.minecraft.world.gen.placement.Placement; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.registries.ForgeRegistries; @Mod.EventBusSubscriber(modid = Survival.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) public class SurfaceGen { public static final BlockClusterFeatureConfig BLUEBERRY_BUSH_CONFIG = (new net.minecraft.world.gen.feature.BlockClusterFeatureConfig.Builder (new SimpleBlockStateProvider (Registry.BLUEBERRY_BUSH.get().getDefaultState().with (SweetBerryBushBlock.AGE, 3)), SimpleBlockPlacer.field_236447_c_)).tries(64).whitelist (ImmutableSet.of(Blocks.GRASS_BLOCK.getDefaultState().getBlock())) .func_227317_b_().build(); @SubscribeEvent public static void genSurfaceDecorations(FMLCommonSetupEvent event) { for (Biome biome: ForgeRegistries.BIOMES) { biome.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Feature.RANDOM_PATCH.withConfiguration(BLUEBERRY_BUSH_CONFIG).withPlacement(Placement.COUNT_HEIGHTMAP_DOUBLE.configure(new FrequencyConfig(1)))); } } } Like I said earlier, I'm bad at listening to tips, so a little list of instructions and a clear saying of what to do will speed this up. Like I said earlier, I'm sorry this is taking a while and thank you for helping. Have some lorem ispum.
August 5, 20205 yr Author Now that I think of it, I think it might be because of my terrible coding skills for the blueberry bush If you can't fix it, I understand, but thanks for trying. :] This might help. Pastebin to BlueberryBush.java: https://pastebin.com/4Vr4uujN Have some lorem ispum.
August 5, 20205 yr Assign their values when they are being registered. For example public static Item TEST_ITEM = null; @SubscribeEvent public static void registerItems(RegistryEvent.Register<Item> event) { event.getRegistry().registerAll( TEST_ITEM = new Item(); ); } Edited August 5, 20205 yr by poopoodice
August 5, 20205 yr Author 2 hours ago, poopoodice said: Assign their values when they are being registered. For example public static Item TEST_ITEM = null; @SubscribeEvent public static void registerItems(RegistryEvent.Register<Item> event) { event.getRegistry().registerAll( TEST_ITEM = new Item(); ); } I can’t test this right now, but thank you! Have some lorem ispum.
August 6, 20205 yr Author 6 hours ago, poopoodice said: Assign their values when they are being registered. For example public static Item TEST_ITEM = null; @SubscribeEvent public static void registerItems(RegistryEvent.Register<Item> event) { event.getRegistry().registerAll( TEST_ITEM = new Item(); ); } Final message hopefully: // Items @SubscribeEvent public static void registerItems(RegistryEvent.Register<Item> event) { event.getRegistry().registerAll( NETHERITE_HORSE_ARMOR = new HorseArmorItem(16, new ResourceLocation(Survival.MOD_ID + ":textures/entity/horse/armor/horse_armor_netherite.png"), new Item.Properties().group(ItemGroup.MISC)), BLUEBERRY = new BlockItem(BLUEBERRY_BUSH.getBlock(), new Item.Properties().group(ItemGroup.FOOD).food(new Food.Builder().hunger(2).build())) ); } So this? Also, if I do this way how would I make the model for it in the resources folder (like the modid:name thing)? I nevered specified a name. Have some lorem ispum.
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.