Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

EnderPoint

Members
  • Joined

  • Last visited

Everything posted by EnderPoint

  1. i need help in generating ores oregen class: package com.mymod.world.gen; import com.mymod.MyMod; import com.mymod.Registration; import net.minecraft.data.BuiltinRegistries; import net.minecraft.data.worldgen.features.OreFeatures; import net.minecraft.data.worldgen.placement.PlacementUtils; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.VerticalAnchor; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; import net.minecraft.world.level.levelgen.feature.configurations.OreConfiguration; import net.minecraft.world.level.levelgen.placement.*; import net.minecraft.world.level.levelgen.structure.templatesystem.RuleTest; import net.minecraft.world.level.levelgen.structure.templatesystem.TagMatchTest; import net.minecraftforge.common.Tags; import net.minecraftforge.event.world.BiomeLoadingEvent; import net.minecraftforge.eventbus.api.EventPriority; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.registries.ObjectHolder; @Mod.EventBusSubscriber(modid = MyMod.MODID, bus= Mod.EventBusSubscriber.Bus.FORGE) public class OreGen { public static final int OVERWORLD_VEINSIZE = 5; public static final int OVERWORLD_AMOUNT = 3; public static final int DEEPSLATE_VEINSIZE = 5; public static final int DEEPSLATE_AMOUNT = 3; public static final int NETHER_VEINSIZE = 5; public static final int NETHER_AMOUNT = 3; public static final int END_VEINSIZE = 10; public static final int END_AMOUNT = 6; public static RuleTest IN_ENDSTONE = new TagMatchTest(Tags.Blocks.END_STONES); public static PlacedFeature OVERWORLD_OREGEN; public static PlacedFeature DEEPSLATE_OREGEN; public static PlacedFeature NETHER_OREGEN; public static PlacedFeature END_OREGEN; public static BlockState ore_uranium = Registration.UraniumOre.get().defaultBlockState(); public static void registerConfiguredFeatures() { OreConfiguration overworldConfig = new OreConfiguration(OreFeatures.STONE_ORE_REPLACEABLES, Registration.UraniumOre.get().defaultBlockState(), OVERWORLD_VEINSIZE); OVERWORLD_OREGEN = registerPlacedFeature("uranium_ore", Feature.ORE.configured(overworldConfig), CountPlacement.of(OVERWORLD_AMOUNT), InSquarePlacement.spread(), BiomeFilter.biome(), HeightRangePlacement.uniform(VerticalAnchor.absolute(0), VerticalAnchor.absolute(265))); OreConfiguration deepslateConfig = new OreConfiguration(OreFeatures.DEEPSLATE_ORE_REPLACEABLES, Registration.UraniumOre.get().defaultBlockState(), OVERWORLD_VEINSIZE); OVERWORLD_OREGEN = registerPlacedFeature("uranium_ore", Feature.ORE.configured(overworldConfig), CountPlacement.of(DEEPSLATE_AMOUNT), InSquarePlacement.spread(), BiomeFilter.biome(), HeightRangePlacement.uniform(VerticalAnchor.bottom(), VerticalAnchor.aboveBottom(64))); OreConfiguration netherConfig = new OreConfiguration(OreFeatures.NETHER_ORE_REPLACEABLES, Registration.UraniumOre.get().defaultBlockState(), OVERWORLD_VEINSIZE); NETHER_OREGEN = registerPlacedFeature("uranium_ore", Feature.ORE.configured(overworldConfig), CountPlacement.of(NETHER_AMOUNT), InSquarePlacement.spread(), BiomeFilter.biome(), HeightRangePlacement.uniform(VerticalAnchor.absolute(0), VerticalAnchor.absolute(265))); OreConfiguration endConfig = new OreConfiguration(IN_ENDSTONE, Registration.UraniumOre.get().defaultBlockState(), OVERWORLD_VEINSIZE); END_OREGEN = registerPlacedFeature("uranium_ore", Feature.ORE.configured(overworldConfig), CountPlacement.of(END_AMOUNT), InSquarePlacement.spread(), BiomeFilter.biome(), HeightRangePlacement.uniform(VerticalAnchor.absolute(0), VerticalAnchor.absolute(265))); } private static <C extends FeatureConfiguration, F extends Feature<C>> PlacedFeature registerPlacedFeature(String registeryName, ConfiguredFeature<C, F> feature, PlacementModifier ... placementModifiers) { PlacedFeature placed = BuiltinRegistries.register(BuiltinRegistries.CONFIGURED_FEATURE, new ResourceLocation(registeryName), feature).placed(placementModifiers); return PlacementUtils.register(registeryName, placed); } @SubscribeEvent(priority = EventPriority.HIGH) public static void biomeLoading(final BiomeLoadingEvent event) { if (event.getCategory() == Biome.BiomeCategory.THEEND) { event.getGeneration().addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, END_OREGEN); } else if (event.getCategory() == Biome.BiomeCategory.NETHER) { event.getGeneration().addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, NETHER_OREGEN); } else { event.getGeneration().addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, OVERWORLD_OREGEN); event.getGeneration().addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, DEEPSLATE_OREGEN); } } } Registration class: package com.mymod; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.Rarity; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.OreBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.Material; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; public class Registration { public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MyMod.MODID); public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MyMod.MODID); public static void init() { IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus(); BLOCKS.register(bus); ITEMS.register(bus); } public static final RegistryObject<Block> UraniumBlock = BLOCKS.register("uraniumblock", () -> new Block(BlockBehaviour.Properties.of(Material.METAL).noOcclusion().strength(2).sound(SoundType.AMETHYST).lightLevel(value -> 20).requiresCorrectToolForDrops())); public static final RegistryObject<Item> UraniumBlock_Item = fromBlock(UraniumBlock, new Item.Properties().tab(MyMod.UraniumMod_Tab).rarity(Rarity.EPIC).stacksTo(64)); public static final RegistryObject<Block> UraniumOre = BLOCKS.register("uranium_ore", () -> new OreBlock(BlockBehaviour.Properties.of(Material.METAL).strength(2.2f).sound(SoundType.METAL).lightLevel(value -> 5).requiresCorrectToolForDrops())); public static final RegistryObject<Item> UraniumOre_Item = fromBlock(UraniumOre, new Item.Properties().tab(MyMod.UraniumMod_Tab).stacksTo(64).rarity(Rarity.UNCOMMON)); public static final RegistryObject<Item> UraniumShards = ITEMS.register("uranium_shard", () -> new Item(new Item.Properties().stacksTo(64).tab(MyMod.UraniumMod_Tab).rarity(Rarity.RARE))); public static final RegistryObject<Item> RawUranium = ITEMS.register("raw_uranium", () -> new Item(new Item.Properties().rarity(Rarity.RARE).tab(MyMod.UraniumMod_Tab ).stacksTo(68))); public static <B extends Block> RegistryObject<Item> fromBlock(RegistryObject<B> block, Item.Properties properties) { return ITEMS.register(block.getId().getPath(), () -> new BlockItem(block.get(), properties)); } } with this i get the error: ---- Minecraft Crash Report ---- // There are four lights! Time: 14/03/22, 8:31 pm Description: Mod loading error has occurred java.lang.Exception: Mod Loading has failed at net.minecraftforge.logging.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:55) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2376%2382!/:?] {re:classloading} at net.minecraftforge.client.loading.ClientModLoader.completeModLoading(ClientModLoader.java:169) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2376%2382!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.lambda$new$1(Minecraft.java:554) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.Util.ifElse(Util.java:409) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading} at net.minecraft.client.Minecraft.lambda$new$2(Minecraft.java:548) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.LoadingOverlay.render(LoadingOverlay.java:135) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:875) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.runTick(Minecraft.java:1041) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:661) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:205) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {} at net.minecraftforge.fml.loading.targets.ForgeClientUserdevLaunchHandler.lambda$launchService$0(ForgeClientUserdevLaunchHandler.java:38) ~[fmlloader-1.18.1-39.1.2.jar%230!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace: at java.util.Objects.requireNonNull(Objects.java:334) ~[?:?] {} -- MOD mymod -- Details: Caused by 0: java.lang.ExceptionInInitializerError at java.lang.Class.forName0(Native Method) ~[?:?] {} at java.lang.Class.forName(Class.java:467) ~[?:?] {} at net.minecraftforge.fml.javafmlmod.AutomaticEventSubscriber.lambda$inject$6(AutomaticEventSubscriber.java:75) ~[javafmllanguage-1.18.1-39.1.2.jar%2378!/:?] {} at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?] {} at net.minecraftforge.fml.javafmlmod.AutomaticEventSubscriber.inject(AutomaticEventSubscriber.java:62) ~[javafmllanguage-1.18.1-39.1.2.jar%2378!/:?] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:91) ~[javafmllanguage-1.18.1-39.1.2.jar%2378!/:?] {} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[fmlcore-1.18.1-39.1.2.jar%2380!/:?] {} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {} at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {} at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {} at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {} Mod File: main Failure message: Uranium Mod (mymod) has failed to load correctly java.lang.ExceptionInInitializerError: null Mod Version: 0.0NONE Mod Issue URL: NOT PROVIDED Exception message: java.lang.NullPointerException: Registry Object not present: mymod:uranium_ore Stacktrace: at java.util.Objects.requireNonNull(Objects.java:334) ~[?:?] {} at net.minecraftforge.registries.RegistryObject.get(RegistryObject.java:109) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2376%2382!/:?] {re:classloading} at com.mymod.world.gen.OreGen.<clinit>(OreGen.java:48) ~[%2381!/:?] {re:classloading} at java.lang.Class.forName0(Native Method) ~[?:?] {} at java.lang.Class.forName(Class.java:467) ~[?:?] {} at net.minecraftforge.fml.javafmlmod.AutomaticEventSubscriber.lambda$inject$6(AutomaticEventSubscriber.java:75) ~[javafmllanguage-1.18.1-39.1.2.jar%2378!/:?] {} at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?] {} at net.minecraftforge.fml.javafmlmod.AutomaticEventSubscriber.inject(AutomaticEventSubscriber.java:62) ~[javafmllanguage-1.18.1-39.1.2.jar%2378!/:?] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:91) ~[javafmllanguage-1.18.1-39.1.2.jar%2378!/:?] {} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[fmlcore-1.18.1-39.1.2.jar%2380!/:?] {} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {} at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {} at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {} at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {} -- System Details -- Details: Minecraft Version: 1.18.1 Minecraft Version ID: 1.18.1 Operating System: Windows 10 (amd64) version 10.0 Java Version: 17.0.2, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode, sharing), Oracle Corporation Memory: 1225686496 bytes (1168 MiB) / 2170552320 bytes (2070 MiB) up to 4253024256 bytes (4056 MiB) CPUs: 16 Processor Vendor: GenuineIntel Processor Name: Intel(R) Core(TM) i7-10870H CPU @ 2.20GHz Identifier: Intel64 Family 6 Model 165 Stepping 2 Microarchitecture: unknown Frequency (GHz): 2.21 Number of physical packages: 1 Number of physical CPUs: 8 Number of logical CPUs: 16 Graphics card #0 name: Intel(R) UHD Graphics Graphics card #0 vendor: Intel Corporation (0x8086) Graphics card #0 VRAM (MB): 1024.00 Graphics card #0 deviceId: 0x9bc4 Graphics card #0 versionInfo: DriverVersion=26.20.100.7985 Graphics card #1 name: NVIDIA GeForce GTX 1650 Ti Graphics card #1 vendor: NVIDIA (0x10de) Graphics card #1 VRAM (MB): 4095.00 Graphics card #1 deviceId: 0x1f95 Graphics card #1 versionInfo: DriverVersion=30.0.15.1165 Memory slot #0 capacity (MB): 8192.00 Memory slot #0 clockSpeed (GHz): 3.20 Memory slot #0 type: DDR4 Memory slot #1 capacity (MB): 8192.00 Memory slot #1 clockSpeed (GHz): 3.20 Memory slot #1 type: DDR4 Virtual memory max (MB): 34651.71 Virtual memory used (MB): 21266.60 Swap memory total (MB): 18432.00 Swap memory used (MB): 767.10 JVM Flags: 1 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump ModLauncher: 9.1.3+9.1.3+main.9b69c82a ModLauncher launch target: forgeclientuserdev ModLauncher naming: mcp ModLauncher services: mixin PLUGINSERVICE eventbus PLUGINSERVICE object_holder_definalize PLUGINSERVICE runtime_enum_extender PLUGINSERVICE capability_token_subclass PLUGINSERVICE accesstransformer PLUGINSERVICE runtimedistcleaner PLUGINSERVICE mixin TRANSFORMATIONSERVICE fml TRANSFORMATIONSERVICE FML Language Providers: [email protected] javafml@null Mod List: forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.|Minecraft |minecraft |1.18.1 |COMMON_SET|Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f |Forge |forge |39.1.2 |COMMON_SET|Manifest: NOSIGNATURE main |Uranium Mod |mymod |0.0NONE |ERROR |Manifest: NOSIGNATURE Crash Report UUID: 10a5a039-e2f9-4882-b185-d02096ca67d1 FML: 39.1 Forge: net.minecraftforge:39.1.2 which i think means that the default blockstate for Registration.UraniumOre.get().defaultBlockState() is null
  2. i want to know how to make UraniumOre from Registration into a Block so i can do .defaultBlockState() on it
  3. from what i have seen i think i have to use @ObjectHolder but i cant seem to figure out how
  4. the problem im getting is that i dont understand how to make ore_uranium into a block as it is a registryObject in this file: package com.mymod; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.Rarity; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.OreBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.Material; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; public class Registration { public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MyMod.MODID); public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MyMod.MODID); public static void init() { IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus(); BLOCKS.register(bus); ITEMS.register(bus); } public static final RegistryObject<Block> UraniumBlock = BLOCKS.register("uraniumblock", () -> new Block(BlockBehaviour.Properties.of(Material.METAL).noOcclusion().strength(2).sound(SoundType.AMETHYST).lightLevel(value -> 20).requiresCorrectToolForDrops())); public static final RegistryObject<Item> UraniumBlock_Item = fromBlock(UraniumBlock, new Item.Properties().tab(MyMod.UraniumMod_Tab).rarity(Rarity.EPIC).stacksTo(64)); public static final RegistryObject<Block> UraniumOre = BLOCKS.register("uranium_ore", () -> new OreBlock(BlockBehaviour.Properties.of(Material.METAL).strength(2.2f).sound(SoundType.METAL).lightLevel(value -> 5).requiresCorrectToolForDrops())); public static final RegistryObject<Item> UraniumOre_Item = fromBlock(UraniumOre, new Item.Properties().tab(MyMod.UraniumMod_Tab).stacksTo(64).rarity(Rarity.UNCOMMON)); public static final RegistryObject<Item> UraniumShards = ITEMS.register("uranium_shard", () -> new Item(new Item.Properties().stacksTo(64).tab(MyMod.UraniumMod_Tab).rarity(Rarity.RARE))); public static final RegistryObject<Item> RawUranium = ITEMS.register("raw_uranium", () -> new Item(new Item.Properties().rarity(Rarity.RARE).tab(MyMod.UraniumMod_Tab ).stacksTo(68))); public static <B extends Block> RegistryObject<Item> fromBlock(RegistryObject<B> block, Item.Properties properties) { return ITEMS.register(block.getId().getPath(), () -> new BlockItem(block.get(), properties)); } }
  5. package com.mymod.world.gen; import com.mymod.MyMod; import com.mymod.Registration; import net.minecraft.data.BuiltinRegistries; import net.minecraft.data.worldgen.features.OreFeatures; import net.minecraft.data.worldgen.placement.PlacementUtils; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.VerticalAnchor; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; import net.minecraft.world.level.levelgen.feature.configurations.OreConfiguration; import net.minecraft.world.level.levelgen.placement.*; import net.minecraft.world.level.levelgen.structure.templatesystem.RuleTest; import net.minecraft.world.level.levelgen.structure.templatesystem.TagMatchTest; import net.minecraftforge.common.Tags; import net.minecraftforge.event.world.BiomeLoadingEvent; import net.minecraftforge.eventbus.api.EventPriority; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.registries.ObjectHolder; @Mod.EventBusSubscriber(modid = MyMod.MODID, bus= Mod.EventBusSubscriber.Bus.FORGE) public class OreGen { public static final int OVERWORLD_VEINSIZE = 5; public static final int OVERWORLD_AMOUNT = 3; public static final int DEEPSLATE_VEINSIZE = 5; public static final int DEEPSLATE_AMOUNT = 3; public static final int NETHER_VEINSIZE = 5; public static final int NETHER_AMOUNT = 3; public static final int END_VEINSIZE = 10; public static final int END_AMOUNT = 6; public static RuleTest IN_ENDSTONE = new TagMatchTest(Tags.Blocks.END_STONES); public static PlacedFeature OVERWORLD_OREGEN; public static PlacedFeature DEEPSLATE_OREGEN; public static PlacedFeature NETHER_OREGEN; public static PlacedFeature END_OREGEN; public static void registerConfiguredFeatures() { //idk what to put here. //ik that it has to be a blockstate OreConfiguration overworldConfig = new OreConfiguration(OreFeatures.STONE_ORE_REPLACEABLES, ore_uranium.defaultBlockState(), OVERWORLD_VEINSIZE); OVERWORLD_OREGEN = registerPlacedFeature("uranium_ore", Feature.ORE.configured(overworldConfig), CountPlacement.of(OVERWORLD_AMOUNT), InSquarePlacement.spread(), BiomeFilter.biome(), HeightRangePlacement.uniform(VerticalAnchor.absolute(0), VerticalAnchor.absolute(265))); OreConfiguration deepslateConfig = new OreConfiguration(OreFeatures.DEEPSLATE_ORE_REPLACEABLES, ore_uranium.defaultBlockState(), OVERWORLD_VEINSIZE); OVERWORLD_OREGEN = registerPlacedFeature("uranium_ore", Feature.ORE.configured(overworldConfig), CountPlacement.of(DEEPSLATE_AMOUNT), InSquarePlacement.spread(), BiomeFilter.biome(), HeightRangePlacement.uniform(VerticalAnchor.bottom(), VerticalAnchor.aboveBottom(64))); OreConfiguration netherConfig = new OreConfiguration(OreFeatures.NETHER_ORE_REPLACEABLES, ore_uranium.defaultBlockState(), OVERWORLD_VEINSIZE); NETHER_OREGEN = registerPlacedFeature("uranium_ore", Feature.ORE.configured(overworldConfig), CountPlacement.of(NETHER_AMOUNT), InSquarePlacement.spread(), BiomeFilter.biome(), HeightRangePlacement.uniform(VerticalAnchor.absolute(0), VerticalAnchor.absolute(265))); OreConfiguration endConfig = new OreConfiguration(IN_ENDSTONE, ore_uranium.defaultBlockState(), OVERWORLD_VEINSIZE); END_OREGEN = registerPlacedFeature("uranium_ore", Feature.ORE.configured(overworldConfig), CountPlacement.of(END_AMOUNT), InSquarePlacement.spread(), BiomeFilter.biome(), HeightRangePlacement.uniform(VerticalAnchor.absolute(0), VerticalAnchor.absolute(265))); } private static <C extends FeatureConfiguration, F extends Feature<C>> PlacedFeature registerPlacedFeature(String registeryName, ConfiguredFeature<C, F> feature, PlacementModifier ... placementModifiers) { PlacedFeature placed = BuiltinRegistries.register(BuiltinRegistries.CONFIGURED_FEATURE, new ResourceLocation(registeryName), feature).placed(placementModifiers); return PlacementUtils.register(registeryName, placed); } @SubscribeEvent(priority = EventPriority.HIGH) public static void biomeLoading(final BiomeLoadingEvent event) { if (event.getCategory() == Biome.BiomeCategory.THEEND) { event.getGeneration().addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, END_OREGEN); } else if (event.getCategory() == Biome.BiomeCategory.NETHER) { event.getGeneration().addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, NETHER_OREGEN); } else { event.getGeneration().addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, OVERWORLD_OREGEN); event.getGeneration().addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, DEEPSLATE_OREGEN); } } } my current oregen file
  6. Yooooooooo it works tysm
  7. Yooooooooo it works tysm
  8. i think the block isnt getting registered properly
  9. still doesnt work
  10. https://github.com/EnderPoint07/Uranium-Mod i think i made it properly
  11. https://github.com/EnderPoint07/Uranium-Mod i think i made it properly
  12. oh lol i had called it but i forgot that i had put it into a comment for something
  13. idk how to use github
  14. package com.mymod; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.Rarity; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.Material; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; public class Registration { public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MyMod.MODID); public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MyMod.MODID); public static void init() { IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus(); BLOCKS.register(bus); ITEMS.register(bus); } public static final RegistryObject<Block> UraniumBlock = BLOCKS.register("uraniumblock", () -> new Block(BlockBehaviour.Properties.of(Material.METAL).noOcclusion().strength(2).sound(SoundType.AMETHYST).lightLevel(value -> 20).requiresCorrectToolForDrops())); public static final RegistryObject<Item> UraniumBlock_Item = fromBlock(UraniumBlock, new Item.Properties().tab(CreativeModeTab.TAB_MATERIALS).rarity(Rarity.EPIC).stacksTo(64)); public static <B extends Block> RegistryObject<Item> fromBlock(RegistryObject<B> block, Item.Properties properties) { return ITEMS.register(block.getId().getPath(), () -> new BlockItem(block.get(), properties)); } } this is not working. am i missing something here?
  15. package com.mymod; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.Rarity; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.Material; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; public class Registration { public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MyMod.MODID); public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MyMod.MODID); public static void init() { IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus(); BLOCKS.register(bus); ITEMS.register(bus); } public static final RegistryObject<Block> UraniumBlock = BLOCKS.register("uraniumblock", () -> new Block(BlockBehaviour.Properties.of(Material.METAL).noOcclusion().strength(2).sound(SoundType.AMETHYST).lightLevel(value -> 20).requiresCorrectToolForDrops())); public static final RegistryObject<Item> UraniumBlock_Item = fromBlock(UraniumBlock, new Item.Properties().tab(CreativeModeTab.TAB_MATERIALS).rarity(Rarity.EPIC).stacksTo(64)); public static <B extends Block> RegistryObject<Item> fromBlock(RegistryObject<B> block, Item.Properties properties) { return ITEMS.register(block.getId().getPath(), () -> new BlockItem(block.get(), properties)); } } is this how you ment i should be registering blocks and items and itemblocks?
  16. it crashes when i click on create new world
  17. ---- Minecraft Crash Report ---- // Daisy, daisy... Time: 14/03/22, 4:23 pm Description: mouseClicked event handler java.lang.NullPointerException: mouseClicked event handler at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) ~[?:?] {} at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?] {} at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?] {} at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) ~[?:?] {} at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) ~[?:?] {} at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?] {} at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?] {} at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] {} at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?] {} at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] {} at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?] {} at net.minecraft.world.level.biome.BiomeGenerationSettings.<init>(BiomeGenerationSettings.java:50) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading} at net.minecraft.world.level.biome.BiomeGenerationSettings$Builder.build(BiomeGenerationSettings.java:110) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraftforge.common.ForgeHooks.enhanceBiome(ForgeHooks.java:888) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2376%2382!/:?] {re:classloading} at net.minecraft.world.level.biome.Biome.lambda$static$6(Biome.java:55) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at com.mojang.datafixers.util.Function6.lambda$null$4(Function6.java:18) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.DataResult$Instance.ap3(DataResult.java:337) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$5.decode(RecordCodecBuilder.java:321) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.codecs.RecordCodecBuilder$2.decode(RecordCodecBuilder.java:107) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.MapDecoder.lambda$compressedDecode$0(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.MapDecoder.compressedDecode(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.MapCodec$MapCodecCodec.decode(MapCodec.java:91) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.Decoder.parse(Decoder.java:18) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at net.minecraft.resources.RegistryResourceAccess$InMemoryStorage.parseElement(RegistryResourceAccess.java:143) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading} at net.minecraft.resources.RegistryReadOps.readAndRegisterElement(RegistryReadOps.java:102) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.resources.RegistryReadOps.lambda$decodeElements$5(RegistryReadOps.java:86) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at net.minecraft.resources.RegistryReadOps.decodeElements(RegistryReadOps.java:85) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.core.RegistryAccess.readRegistry(RegistryAccess.java:154) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading} at net.minecraft.core.RegistryAccess.load(RegistryAccess.java:146) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading} at net.minecraft.resources.RegistryReadOps.createAndLoad(RegistryReadOps.java:35) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.core.RegistryAccess.builtin(RegistryAccess.java:104) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading} at net.minecraft.client.gui.screens.worldselection.CreateWorldScreen.create(CreateWorldScreen.java:118) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.worldselection.SelectWorldScreen.lambda$init$4(SelectWorldScreen.java:60) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.Button.onPress(Button.java:29) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.AbstractButton.onClick(AbstractButton.java:17) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.AbstractWidget.mouseClicked(AbstractWidget.java:111) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.events.ContainerEventHandler.mouseClicked(ContainerEventHandler.java:28) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.lambda$onPress$0(MouseHandler.java:88) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.Screen.wrapScreenError(Screen.java:527) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.onPress(MouseHandler.java:85) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.lambda$setup$4(MouseHandler.java:185) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.util.thread.BlockableEventLoop.execute(BlockableEventLoop.java:90) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.MouseHandler.lambda$setup$5(MouseHandler.java:184) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:36) ~[lwjgl-glfw-3.2.2.jar%2355!/:build 10] {} at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.2.2.jar%2361!/:build 10] {} at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3174) ~[lwjgl-glfw-3.2.2.jar%2355!/:build 10] {} at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:185) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.runTick(Minecraft.java:1066) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:661) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:205) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {} at net.minecraftforge.fml.loading.targets.ForgeClientUserdevLaunchHandler.lambda$launchService$0(ForgeClientUserdevLaunchHandler.java:38) ~[fmlloader-1.18.1-39.1.2.jar%230!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace: at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) ~[?:?] {} at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?] {} at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?] {} at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) ~[?:?] {} at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) ~[?:?] {} at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?] {} at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?] {} at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] {} at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?] {} at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] {} at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?] {} at net.minecraft.world.level.biome.BiomeGenerationSettings.<init>(BiomeGenerationSettings.java:50) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading} at net.minecraft.world.level.biome.BiomeGenerationSettings$Builder.build(BiomeGenerationSettings.java:110) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraftforge.common.ForgeHooks.enhanceBiome(ForgeHooks.java:888) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2376%2382!/:?] {re:classloading} at net.minecraft.world.level.biome.Biome.lambda$static$6(Biome.java:55) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at com.mojang.datafixers.util.Function6.lambda$null$4(Function6.java:18) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.DataResult$Instance.ap3(DataResult.java:337) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$5.decode(RecordCodecBuilder.java:321) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.codecs.RecordCodecBuilder$2.decode(RecordCodecBuilder.java:107) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.MapDecoder.lambda$compressedDecode$0(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.MapDecoder.compressedDecode(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.MapCodec$MapCodecCodec.decode(MapCodec.java:91) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.Decoder.parse(Decoder.java:18) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at net.minecraft.resources.RegistryResourceAccess$InMemoryStorage.parseElement(RegistryResourceAccess.java:143) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading} at net.minecraft.resources.RegistryReadOps.readAndRegisterElement(RegistryReadOps.java:102) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.resources.RegistryReadOps.lambda$decodeElements$5(RegistryReadOps.java:86) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar%2343!/:?] {} at net.minecraft.resources.RegistryReadOps.decodeElements(RegistryReadOps.java:85) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.core.RegistryAccess.readRegistry(RegistryAccess.java:154) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading} at net.minecraft.core.RegistryAccess.load(RegistryAccess.java:146) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading} at net.minecraft.resources.RegistryReadOps.createAndLoad(RegistryReadOps.java:35) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.core.RegistryAccess.builtin(RegistryAccess.java:104) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading} at net.minecraft.client.gui.screens.worldselection.CreateWorldScreen.create(CreateWorldScreen.java:118) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.worldselection.SelectWorldScreen.lambda$init$4(SelectWorldScreen.java:60) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.Button.onPress(Button.java:29) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.AbstractButton.onClick(AbstractButton.java:17) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.AbstractWidget.mouseClicked(AbstractWidget.java:111) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.components.events.ContainerEventHandler.mouseClicked(ContainerEventHandler.java:28) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.lambda$onPress$0(MouseHandler.java:88) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.gui.screens.Screen.wrapScreenError(Screen.java:527) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.onPress(MouseHandler.java:85) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.lambda$setup$4(MouseHandler.java:185) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.util.thread.BlockableEventLoop.execute(BlockableEventLoop.java:90) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.MouseHandler.lambda$setup$5(MouseHandler.java:184) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:36) ~[lwjgl-glfw-3.2.2.jar%2355!/:build 10] {} at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.2.2.jar%2361!/:build 10] {} at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3174) ~[lwjgl-glfw-3.2.2.jar%2355!/:build 10] {} -- Affected screen -- Details: Screen name: net.minecraft.client.gui.screens.worldselection.SelectWorldScreen Stacktrace: at net.minecraft.client.gui.screens.Screen.wrapScreenError(Screen.java:527) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.onPress(MouseHandler.java:85) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.MouseHandler.lambda$setup$4(MouseHandler.java:185) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.util.thread.BlockableEventLoop.execute(BlockableEventLoop.java:90) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.MouseHandler.lambda$setup$5(MouseHandler.java:184) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:36) ~[lwjgl-glfw-3.2.2.jar%2355!/:build 10] {} at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.2.2.jar%2361!/:build 10] {} at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3174) ~[lwjgl-glfw-3.2.2.jar%2355!/:build 10] {} at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:185) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.runTick(Minecraft.java:1066) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:661) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:205) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {} at net.minecraftforge.fml.loading.targets.ForgeClientUserdevLaunchHandler.lambda$launchService$0(ForgeClientUserdevLaunchHandler.java:38) ~[fmlloader-1.18.1-39.1.2.jar%230!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?] {} -- Last reload -- Details: Reload number: 1 Reload reason: initial Finished: Yes Packs: Default, Mod Resources Stacktrace: at net.minecraft.client.ResourceLoadStateTracker.fillCrashReport(ResourceLoadStateTracker.java:51) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.fillReport(Minecraft.java:2256) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:678) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:205) ~[forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.jar%2377!/:?] {re:classloading,pl:runtimedistcleaner:A} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {} at net.minecraftforge.fml.loading.targets.ForgeClientUserdevLaunchHandler.lambda$launchService$0(ForgeClientUserdevLaunchHandler.java:38) ~[fmlloader-1.18.1-39.1.2.jar%230!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.3.jar%2310!/:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?] {} -- System Details -- Details: Minecraft Version: 1.18.1 Minecraft Version ID: 1.18.1 Operating System: Windows 10 (amd64) version 10.0 Java Version: 17.0.2, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode, sharing), Oracle Corporation Memory: 1406385608 bytes (1341 MiB) / 2558525440 bytes (2440 MiB) up to 4253024256 bytes (4056 MiB) CPUs: 16 Processor Vendor: GenuineIntel Processor Name: Intel(R) Core(TM) i7-10870H CPU @ 2.20GHz Identifier: Intel64 Family 6 Model 165 Stepping 2 Microarchitecture: unknown Frequency (GHz): 2.21 Number of physical packages: 1 Number of physical CPUs: 8 Number of logical CPUs: 16 Graphics card #0 name: Intel(R) UHD Graphics Graphics card #0 vendor: Intel Corporation (0x8086) Graphics card #0 VRAM (MB): 1024.00 Graphics card #0 deviceId: 0x9bc4 Graphics card #0 versionInfo: DriverVersion=26.20.100.7985 Graphics card #1 name: NVIDIA GeForce GTX 1650 Ti Graphics card #1 vendor: NVIDIA (0x10de) Graphics card #1 VRAM (MB): 4095.00 Graphics card #1 deviceId: 0x1f95 Graphics card #1 versionInfo: DriverVersion=30.0.15.1165 Memory slot #0 capacity (MB): 8192.00 Memory slot #0 clockSpeed (GHz): 3.20 Memory slot #0 type: DDR4 Memory slot #1 capacity (MB): 8192.00 Memory slot #1 clockSpeed (GHz): 3.20 Memory slot #1 type: DDR4 Virtual memory max (MB): 34651.71 Virtual memory used (MB): 19607.91 Swap memory total (MB): 18432.00 Swap memory used (MB): 173.55 JVM Flags: 1 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump Launched Version: MOD_DEV Backend library: LWJGL version 3.2.2 SNAPSHOT Backend API: NVIDIA GeForce GTX 1650 Ti/PCIe/SSE2 GL version 3.2.0 NVIDIA 511.65, NVIDIA Corporation Window size: 1920x1080 GL Caps: Using framebuffer using OpenGL 3.2 GL debug messages: Using VBOs: Yes Is Modded: Definitely; Client brand changed to 'forge' Type: Client (map_client.txt) Graphics mode: fancy Resource Packs: Current Language: English (US) CPU: 16x Intel(R) Core(TM) i7-10870H CPU @ 2.20GHz ModLauncher: 9.1.3+9.1.3+main.9b69c82a ModLauncher launch target: forgeclientuserdev ModLauncher naming: mcp ModLauncher services: mixin PLUGINSERVICE eventbus PLUGINSERVICE object_holder_definalize PLUGINSERVICE runtime_enum_extender PLUGINSERVICE capability_token_subclass PLUGINSERVICE accesstransformer PLUGINSERVICE runtimedistcleaner PLUGINSERVICE mixin TRANSFORMATIONSERVICE fml TRANSFORMATIONSERVICE FML Language Providers: [email protected] javafml@null Mod List: forge-1.18.1-39.1.2_mapped_official_1.18.1-recomp.|Minecraft |minecraft |1.18.1 |DONE |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f |Forge |forge |39.1.2 |DONE |Manifest: NOSIGNATURE main |Uranium Mod |mymod |0.0NONE |DONE |Manifest: NOSIGNATURE Crash Report UUID: 949b0f9a-861f-4a6c-858c-b474acdc06ea FML: 39.1 Forge: net.minecraftforge:39.1.2 my oregen class: package com.mymod.world.gen; import com.mymod.MyMod; import net.minecraft.data.BuiltinRegistries; import net.minecraft.data.worldgen.features.OreFeatures; import net.minecraft.data.worldgen.placement.PlacementUtils; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.VerticalAnchor; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; import net.minecraft.world.level.levelgen.feature.configurations.OreConfiguration; import net.minecraft.world.level.levelgen.placement.*; import net.minecraft.world.level.levelgen.structure.templatesystem.RuleTest; import net.minecraft.world.level.levelgen.structure.templatesystem.TagMatchTest; import net.minecraftforge.common.Tags; import net.minecraftforge.event.world.BiomeLoadingEvent; import net.minecraftforge.eventbus.api.EventPriority; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; @Mod.EventBusSubscriber(modid = MyMod.MODID, bus= Mod.EventBusSubscriber.Bus.FORGE) public class OreGen { public static final int OVERWORLD_VEINSIZE = 5; public static final int OVERWORLD_AMOUNT = 3; public static final int DEEPSLATE_VEINSIZE = 5; public static final int DEEPSLATE_AMOUNT = 3; public static final int NETHER_VEINSIZE = 5; public static final int NETHER_AMOUNT = 3; public static final int END_VEINSIZE = 10; public static final int END_AMOUNT = 6; public static RuleTest IN_ENDSTONE = new TagMatchTest(Tags.Blocks.END_STONES); public static PlacedFeature OVERWORLD_OREGEN; public static PlacedFeature DEEPSLATE_OREGEN; public static PlacedFeature NETHER_OREGEN; public static PlacedFeature END_OREGEN; public static void registerConfiguredFeatures() { OreConfiguration overworldConfig = new OreConfiguration(OreFeatures.STONE_ORE_REPLACEABLES, MyMod.RegistryEvents.UraniumOre.defaultBlockState(), OVERWORLD_VEINSIZE); OVERWORLD_OREGEN = registerPlacedFeature("uranium_ore", Feature.ORE.configured(overworldConfig), CountPlacement.of(OVERWORLD_AMOUNT), InSquarePlacement.spread(), BiomeFilter.biome(), HeightRangePlacement.uniform(VerticalAnchor.absolute(0), VerticalAnchor.absolute(265))); OreConfiguration deepslateConfig = new OreConfiguration(OreFeatures.DEEPSLATE_ORE_REPLACEABLES, MyMod.RegistryEvents.UraniumOre.defaultBlockState(), OVERWORLD_VEINSIZE); OVERWORLD_OREGEN = registerPlacedFeature("uranium_ore", Feature.ORE.configured(overworldConfig), CountPlacement.of(DEEPSLATE_AMOUNT), InSquarePlacement.spread(), BiomeFilter.biome(), HeightRangePlacement.uniform(VerticalAnchor.bottom(), VerticalAnchor.aboveBottom(64))); OreConfiguration netherConfig = new OreConfiguration(OreFeatures.NETHER_ORE_REPLACEABLES, MyMod.RegistryEvents.UraniumOre.defaultBlockState(), OVERWORLD_VEINSIZE); NETHER_OREGEN = registerPlacedFeature("uranium_ore", Feature.ORE.configured(overworldConfig), CountPlacement.of(NETHER_AMOUNT), InSquarePlacement.spread(), BiomeFilter.biome(), HeightRangePlacement.uniform(VerticalAnchor.absolute(0), VerticalAnchor.absolute(265))); OreConfiguration endConfig = new OreConfiguration(IN_ENDSTONE, MyMod.RegistryEvents.UraniumOre.defaultBlockState(), OVERWORLD_VEINSIZE); END_OREGEN = registerPlacedFeature("uranium_ore", Feature.ORE.configured(overworldConfig), CountPlacement.of(END_AMOUNT), InSquarePlacement.spread(), BiomeFilter.biome(), HeightRangePlacement.uniform(VerticalAnchor.absolute(0), VerticalAnchor.absolute(265))); } private static <C extends FeatureConfiguration, F extends Feature<C>> PlacedFeature registerPlacedFeature(String registeryName, ConfiguredFeature<C, F> feature, PlacementModifier ... placementModifiers) { PlacedFeature placed = BuiltinRegistries.register(BuiltinRegistries.CONFIGURED_FEATURE, new ResourceLocation(registeryName), feature).placed(placementModifiers); return PlacementUtils.register(registeryName, placed); } @SubscribeEvent(priority = EventPriority.HIGH) public static void biomeLoading(final BiomeLoadingEvent event) { if (event.getCategory() == Biome.BiomeCategory.THEEND) { event.getGeneration().addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, END_OREGEN); } else if (event.getCategory() == Biome.BiomeCategory.NETHER) { event.getGeneration().addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, NETHER_OREGEN); } else { event.getGeneration().addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, OVERWORLD_OREGEN); event.getGeneration().addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, DEEPSLATE_OREGEN); } } } my "main" class: package com.mymod; import com.mymod.world.gen.OreGen; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.Rarity; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.OreBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.Material; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.event.server.ServerStartingEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.InterModComms; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent; import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.util.stream.Collectors; // The value here should match an entry in the META-INF/mods.toml file @Mod(MyMod.MODID) public class MyMod { public static final String MODID = "mymod"; // Directly reference a log4j logger. private static final Logger LOGGER = LogManager.getLogger(); public MyMod() { // Register the setup method for modloading FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup); // Register the enqueueIMC method for modloading FMLJavaModLoadingContext.get().getModEventBus().addListener(this::enqueueIMC); // Register the processIMC method for modloading FMLJavaModLoadingContext.get().getModEventBus().addListener(this::processIMC); // Register ourselves for server and other game events we are interested in MinecraftForge.EVENT_BUS.register(this); } private void setup(final FMLCommonSetupEvent event) { // some preinit code LOGGER.info("HELLO FROM PREINIT"); LOGGER.info("DIRT BLOCK >> {}", Blocks.DIRT.getRegistryName()); event.enqueueWork(OreGen::registerConfiguredFeatures); } private void enqueueIMC(final InterModEnqueueEvent event) { // some example code to dispatch IMC to another mod InterModComms.sendTo("MyMod", "helloworld", () -> { LOGGER.info("Hello world from the MDK"); return "Hello world";}); } private void processIMC(final InterModProcessEvent event) { // some example code to receive and process InterModComms from other mods LOGGER.info("Got IMC {}", event.getIMCStream(). map(m->m.messageSupplier().get()). collect(Collectors.toList())); } // You can use SubscribeEvent and let the Event Bus discover methods to call @SubscribeEvent public void onServerStarting(ServerStartingEvent event) { // do something when the server starts LOGGER.info("HELLO from server starting"); } // You can use EventBusSubscriber to automatically subscribe events on the contained class (this is subscribing to the MOD // Event bus for receiving Registry Events) @Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD) public static class RegistryEvents { public static final Block MyBlock = new Block(BlockBehaviour.Properties.of(Material.STONE).friction(0.5f)).setRegistryName(MODID, "myblock"); public static final Block UraniumBlock = new Block(BlockBehaviour.Properties.of(Material.METAL).noOcclusion().strength(2).sound(SoundType.AMETHYST).lightLevel(value -> 20).requiresCorrectToolForDrops()).setRegistryName(MODID, "uraniumblock"); public static final Block UraniumOre = new OreBlock(BlockBehaviour.Properties.of(Material.METAL).strength(2.2f).sound(SoundType.METAL).lightLevel(value -> 5).requiresCorrectToolForDrops()).setRegistryName("uranium_ore"); public static final Item UraniumShards = new Item(new Item.Properties().stacksTo(64).tab(CreativeModeTab.TAB_MATERIALS).rarity(Rarity.RARE)).setRegistryName(MODID, "uranium_shard"); public static final Item RawUranium = new Item((new Item.Properties().rarity(Rarity.RARE).tab(CreativeModeTab.TAB_MATERIALS).stacksTo(68))).setRegistryName(MODID, "raw_uranium"); @SubscribeEvent public static void RegisterBlocks(final RegistryEvent.Register<Block> event) { // register a new block here event.getRegistry().register(MyBlock); event.getRegistry().register(UraniumBlock); event.getRegistry().register(UraniumOre); LOGGER.info("HELLO from Register Block"); } @SubscribeEvent public static void RegisterItemBlocks(final RegistryEvent.Register<Item> event) { event.getRegistry().register(new BlockItem(RegistryEvents.MyBlock, new Item.Properties().stacksTo(2).tab(CreativeModeTab.TAB_BUILDING_BLOCKS)).setRegistryName(MyBlock.getRegistryName())); event.getRegistry().register(new BlockItem(RegistryEvents.UraniumBlock, new Item.Properties().tab(CreativeModeTab.TAB_MATERIALS).rarity(Rarity.EPIC).stacksTo(64)).setRegistryName(UraniumBlock.getRegistryName())); event.getRegistry().register(new BlockItem(RegistryEvents.UraniumOre, new Item.Properties().tab(CreativeModeTab.TAB_MATERIALS).stacksTo(64).rarity(Rarity.UNCOMMON)).setRegistryName(UraniumOre.getRegistryName())); event.getRegistry().register(UraniumShards); event.getRegistry().register(RawUranium); } } } i was following this tutorial :
  18. is there any mod that adds custom ores in 1.18.1 which i can use as an example?
  19. i dont understand anything i think my mind is gonna explode. i learned java like last week and now i dont understand anything. all i wanted to do was generate ores in 1.18.1
  20. im new to java. I know basic java and yes i releaize it has a parameter i was asking what do i put in it cause all the examples i found online of it didnt do anything for me

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.