Jump to content

Ridanis

Members
  • Posts

    18
  • Joined

  • Last visited

Everything posted by Ridanis

  1. Emendatus Enigmatica dev here, and not sure if you did ask on our Discord and got your answer already, but you can exchange all the Ores added by my mod with their Vanilla version in the Stonecutter. These recipe were added as some mods hardcode the Ore required in their recipes, and therefore only the Vanilla would work. Moving forward, as this is specific Modpack related issue, I would highly recommend reaching out to us on our Discord instead, and we will assist you where we can.
  2. I tested using object holder to Minecraft stone, and then using that to map a new FillerBlockType. It has some interesting results as it seems to stop modded ores from appearing, but vanilla ores still spawn. @ObjestHolder("minecraft:stone); However, something worked, and i think it's a little less hacky. I created the vanilla ores as part of my mod instead of using Blocks.COAL_ORE.getDefaultState(), now I can use BlockHandler.ORE_COAL.get().getDefaultState(), and that seems to have stopped them from spawning all over the place. Luckily, this mod is a unification mod that is meant to be used by modpacks as a form of unification, so even if it's a little hacky of a solution, I think it's justifiable to an extent.
  3. Oh sorry, it's a resource pack with stone texture variation. My mod does not generate the vanilla stone. I did cross my mind though, I thought if there is no other solution to force these ores to generate on "minecraft:stone" instead of "forge:stone" then I would maybe generate the Vanilla Stone through my mod with a different name, and then use it as a replacement for Vanilla Stone during world generation in the strata, so this way I get to have the Vanilla Ores target it as a modded block. I thought I would see if there is any other solution before I head that route. I forgot to mention/confirm that Vanilla Stone is also part of the Strata.
  4. That is exactly what is happening. The Vanilla Ores which have been removed and then re-added through my mod are generating on a non-Vanilla Stone Types such as those added by Create mod and Quark mod.
  5. I think it would be easier to link the whole class. https://github.com/Ridanis/Emendatus-Enigmatica/blob/master/src/main/java/com/ridanis/emendatusenigmatica/world/gen/WorldGenHandler.java
  6. But alas, all this work seems to be not sufficient enough. No sure if it is a mod loading priority, but the Vanilla Stone ores are spawning on other types of strata stones. I fear that it could be due to the fact that these other stone types have the forge Stone tag. Is there a way I can forge my custom FillerBlockType to select ONLY the Vanilla stone, disregarding other blocks with the same tag? At first I thought it could be due to mod loading priority, but the fact that I can see all the new ores I'm generating means my mod should have been initiated after TerraForged, or is my understanding in this matter incorrect? This is how I'm currently using Stone as a FillerBlockType. public static OreFeatureConfig.FillerBlockType STONE = OreFeatureConfig.FillerBlockType.create("STONE", "stone", new BlockMatcher(Blocks.STONE));
  7. Oh completely forgot about that. Thanks for reminding me. Will add them to the feature removal method to make sure they don't generate unless I push them through my mod. Working on the other types of Strata Ores now. Let's hope removing the vanilla ores and then pushing them through my mod with FillerBlockType Stone will stop them from spawning on the incorrect block. I think the issue is that all these strata blocks have the Stone forge tag, so the game is treating them as Stone. If that continues to be the case, then I will have to remove the stone tag from them, and maybe give them a new tag.
  8. That is awesome. Thanks for the tip. It seems to be working now. public static void overrideFeatures(Biome biome){ List<ConfiguredFeature> features = new ArrayList<ConfiguredFeature>(); for (ConfiguredFeature<?,?> f : biome.getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES)) { if (((DecoratedFeatureConfig)f.config).feature.feature instanceof OreFeature) { if (((OreFeatureConfig)((DecoratedFeatureConfig)f.config).feature.config).state.getBlock() == Blocks.COAL_ORE) { features.add(f); } if (((OreFeatureConfig)((DecoratedFeatureConfig)f.config).feature.config).state.getBlock() == Blocks.IRON_ORE) { features.add(f); } if (((OreFeatureConfig)((DecoratedFeatureConfig)f.config).feature.config).state.getBlock() == Blocks.GOLD_ORE) { features.add(f); } if (((OreFeatureConfig)((DecoratedFeatureConfig)f.config).feature.config).state.getBlock() == Blocks.DIAMOND_ORE) { features.add(f); } if (((OreFeatureConfig)((DecoratedFeatureConfig)f.config).feature.config).state.getBlock() == Blocks.EMERALD_ORE) { features.add(f); } if (((OreFeatureConfig)((DecoratedFeatureConfig)f.config).feature.config).state.getBlock() == Blocks.LAPIS_ORE) { features.add(f); } if (((OreFeatureConfig)((DecoratedFeatureConfig)f.config).feature.config).state.getBlock() == Blocks.REDSTONE_ORE) { features.add(f); } } } biome.getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES).removeAll(features); } and I just called it within the Loops itself. for (Biome biome : ForgeRegistries.BIOMES) { overrideFeatures(biome); and here are the fruits of this labor. Still far from finished, but it's a start. Thanks for the help man.
  9. @Mod.EventBusSubscriber(modid = Reference.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) public class WorldGenHandler { // Vanilla Fillers public static OreFeatureConfig.FillerBlockType ANDESITE = OreFeatureConfig.FillerBlockType.create("ANDESITE", "andesite", new BlockMatcher(Blocks.ANDESITE)); public static OreFeatureConfig.FillerBlockType STONE = OreFeatureConfig.FillerBlockType.create("STONE", "stone", new BlockMatcher(Blocks.STONE)); private static OreFeatureConfig.FillerBlockType CREATE_GABBRO = null; private static OreFeatureConfig.FillerBlockType CREATE_LIMESTONE = null; private static OreFeatureConfig.FillerBlockType CREATE_SCORIA = null; @ObjectHolder("create:gabbro") public static final Block blockCreateGabbro = null; @ObjectHolder("create:limestone") public static final Block blockCreateLimestone = null; @ObjectHolder("create:natural_scoria") public static final Block blockCreateScoria = null; @SubscribeEvent public static void generateWorld(FMLLoadCompleteEvent event) { if (blockCreateGabbro != null) { CREATE_GABBRO = OreFeatureConfig.FillerBlockType.create("GABBRO", "gabbro", new BlockMatcher(blockCreateGabbro.getBlock())); } if (blockCreateLimestone != null) { CREATE_LIMESTONE = OreFeatureConfig.FillerBlockType.create("LIMESTONE", "limestone", new BlockMatcher(blockCreateLimestone.getBlock())); } if (blockCreateScoria != null) { CREATE_SCORIA = OreFeatureConfig.FillerBlockType.create("SCORIA", "scoria", new BlockMatcher(blockCreateScoria.getBlock())); } for (Biome biome : ForgeRegistries.BIOMES) { biome.getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES).remove(Feature.ORE.withConfiguration(new OreFeatureConfig(OreFeatureConfig.FillerBlockType.NATURAL_STONE, Blocks.COAL_ORE.getDefaultState(), 17))); //biome.getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES).clear(); // Sediment Disks /*genSedimentDisks(biome, Blocks.SAND.getDefaultState(), 7, 2, Lists.newArrayList(Blocks.DIRT.getDefaultState(), Blocks.GRASS_BLOCK.getDefaultState()), 3); genSedimentDisks(biome, Blocks.CLAY.getDefaultState(), 4, 1, Lists.newArrayList(Blocks.DIRT.getDefaultState(), Blocks.CLAY.getDefaultState()), 1); genSedimentDisks(biome, Blocks.GRAVEL.getDefaultState(), 6, 2, Lists.newArrayList(Blocks.DIRT.getDefaultState(), Blocks.GRASS_BLOCK.getDefaultState()), 1); /*if (biome == Biomes.SWAMP || biome == Biomes.SWAMP_HILLS) { genSedimentDisks(biome, Blocks.CLAY.getDefaultState(), 4, 1, Lists.newArrayList(Blocks.DIRT.getDefaultState(), Blocks.CLAY.getDefaultState()), 1); }*/ // Stone Variant /*genStoneVariant(biome, 10, 0, 0, 256, STONE, Blocks.DIRT.getDefaultState(), 33); genStoneVariant(biome, 8, 0, 0, 256, STONE, Blocks.GRAVEL.getDefaultState(), 33); genStoneVariant(biome, 10, 0, 0, 80, STONE, Blocks.GRANITE.getDefaultState(), 33); genStoneVariant(biome, 10, 0, 0, 80, STONE, Blocks.DIORITE.getDefaultState(), 33); genStoneVariant(biome, 10, 0, 0, 80, STONE, Blocks.ANDESITE.getDefaultState(), 33);*/ // For custom biome gen, use: if (biome == Biomes.DESERT) {genOre ...} // Furthermore, you can use if (biome.getCategory() == Biome.Category.NETHER) {genOre ...} to generate these ores in the Nether, or THEEND for The End genOre(biome, 20, 0, 0, 128, STONE, Blocks.COAL_ORE.getDefaultState(), 17); genOre(biome, 20, 0, 0, 64, STONE, Blocks.IRON_ORE.getDefaultState(), 9); genOre(biome, 2, 0, 0, 32, STONE, Blocks.GOLD_ORE.getDefaultState(), 9); genOre(biome, 1, 0, 0, 16, STONE, Blocks.DIAMOND_ORE.getDefaultState(), 8); genOre(biome, 1, 0, 0, 16, STONE, Blocks.EMERALD_ORE.getDefaultState(), 4); genOre(biome, 2, 0, 0, 16, STONE, Blocks.LAPIS_ORE.getDefaultState(), 7); genOre(biome, 8, 0, 0, 16, STONE, Blocks.REDSTONE_ORE.getDefaultState(), 8); genOre(biome, 20, 45, 0, 60, STONE, BlockHandler.ORE_COPPER.get().getDefaultState(), 7); genOre(biome, 8, 50, 0, 70, STONE, BlockHandler.ORE_ALUMINUM.get().getDefaultState(), 3); genOre(biome, 8, 30, 0, 38, STONE, BlockHandler.ORE_SILVER.get().getDefaultState(), 4); genOre(biome, 8, 32, 0, 40, STONE, BlockHandler.ORE_LEAD.get().getDefaultState(), 3); genOre(biome, 8, 25, 0, 40, STONE, BlockHandler.ORE_NICKEL.get().getDefaultState(), 3); genOre(biome, 4, 5, 0, 20, STONE, BlockHandler.ORE_URANIUM.get().getDefaultState(), 3); genOre(biome, 20, 20, 0, 45, STONE, BlockHandler.ORE_OSMIUM.get().getDefaultState(), 6); genOre(biome, 20, 40, 0, 55, STONE, BlockHandler.ORE_TIN.get().getDefaultState(), 6); genOre(biome, 8, 35, 0, 50, STONE, BlockHandler.ORE_ZINC.get().getDefaultState(), 4); // Strata Ores - Andesite genOre(biome, 20, 0, 0, 128, ANDESITE, BlockHandler.ORE_COAL_ANDESITE.get().getDefaultState(), 17); genOre(biome, 20, 0, 0, 64, ANDESITE, BlockHandler.ORE_IRON_ANDESITE.get().getDefaultState(), 9); genOre(biome, 2, 0, 0, 32, ANDESITE, BlockHandler.ORE_GOLD_ANDESITE.get().getDefaultState(), 9); genOre(biome, 1, 0, 0, 16, ANDESITE, BlockHandler.ORE_DIAMOND_ANDESITE.get().getDefaultState(), 8); genOre(biome, 1, 0, 0, 16, ANDESITE, BlockHandler.ORE_EMERALD_ANDESITE.get().getDefaultState(), 4); genOre(biome, 2, 0, 0, 16, ANDESITE, BlockHandler.ORE_LAPIS_ANDESITE.get().getDefaultState(), 7); genOre(biome, 8, 0, 0, 16, ANDESITE, BlockHandler.ORE_REDSTONE_ANDESITE.get().getDefaultState(), 8); genOre(biome, 20, 45, 0, 60, ANDESITE, BlockHandler.ORE_COPPER_ANDESITE.get().getDefaultState(), 7); genOre(biome, 8, 50, 0, 70, ANDESITE, BlockHandler.ORE_ALUMINUM_ANDESITE.get().getDefaultState(), 3); genOre(biome, 8, 30, 0, 38, ANDESITE, BlockHandler.ORE_SILVER_ANDESITE.get().getDefaultState(), 4); genOre(biome, 8, 32, 0, 40, ANDESITE, BlockHandler.ORE_LEAD_ANDESITE.get().getDefaultState(), 3); genOre(biome, 8, 25, 0, 40, ANDESITE, BlockHandler.ORE_NICKEL_ANDESITE.get().getDefaultState(), 3); genOre(biome, 4, 5, 0, 20, ANDESITE, BlockHandler.ORE_URANIUM_ANDESITE.get().getDefaultState(), 3); genOre(biome, 20, 20, 0, 45, ANDESITE, BlockHandler.ORE_OSMIUM_ANDESITE.get().getDefaultState(), 6); genOre(biome, 20, 40, 0, 55, ANDESITE, BlockHandler.ORE_TIN_ANDESITE.get().getDefaultState(), 6); genOre(biome, 8, 35, 0, 50, ANDESITE, BlockHandler.ORE_ZINC_ANDESITE.get().getDefaultState(), 4); if(blockCreateGabbro != null) { // Strata Ores - Gabbro genOre(biome, 20, 0, 0, 128, CREATE_GABBRO, BlockHandler.ORE_COAL_GABBRO.get().getDefaultState(), 17); genOre(biome, 20, 0, 0, 64, CREATE_GABBRO, BlockHandler.ORE_IRON_GABBRO.get().getDefaultState(), 9); genOre(biome, 2, 0, 0, 32, CREATE_GABBRO, BlockHandler.ORE_GOLD_GABBRO.get().getDefaultState(), 9); genOre(biome, 1, 0, 0, 16, CREATE_GABBRO, BlockHandler.ORE_DIAMOND_GABBRO.get().getDefaultState(), 8); genOre(biome, 1, 0, 0, 16, CREATE_GABBRO, BlockHandler.ORE_EMERALD_GABBRO.get().getDefaultState(), 4); genOre(biome, 2, 0, 0, 16, CREATE_GABBRO, BlockHandler.ORE_LAPIS_GABBRO.get().getDefaultState(), 7); genOre(biome, 8, 0, 0, 16, CREATE_GABBRO, BlockHandler.ORE_REDSTONE_GABBRO.get().getDefaultState(), 8); genOre(biome, 20, 45, 0, 60, CREATE_GABBRO, BlockHandler.ORE_COPPER_GABBRO.get().getDefaultState(), 7); genOre(biome, 8, 50, 0, 70, CREATE_GABBRO, BlockHandler.ORE_ALUMINUM_GABBRO.get().getDefaultState(), 3); genOre(biome, 8, 30, 0, 38, CREATE_GABBRO, BlockHandler.ORE_SILVER_GABBRO.get().getDefaultState(), 4); genOre(biome, 8, 32, 0, 40, CREATE_GABBRO, BlockHandler.ORE_LEAD_GABBRO.get().getDefaultState(), 3); genOre(biome, 8, 25, 0, 40, CREATE_GABBRO, BlockHandler.ORE_NICKEL_GABBRO.get().getDefaultState(), 3); genOre(biome, 4, 5, 0, 20, CREATE_GABBRO, BlockHandler.ORE_URANIUM_GABBRO.get().getDefaultState(), 3); genOre(biome, 20, 20, 0, 45, CREATE_GABBRO, BlockHandler.ORE_OSMIUM_GABBRO.get().getDefaultState(), 6); genOre(biome, 20, 40, 0, 55, CREATE_GABBRO, BlockHandler.ORE_TIN_GABBRO.get().getDefaultState(), 6); genOre(biome, 8, 35, 0, 50, CREATE_GABBRO, BlockHandler.ORE_ZINC_GABBRO.get().getDefaultState(), 4); } if(blockCreateLimestone != null) { // Strata Ores - Limestone genOre(biome, 20, 0, 0, 128, CREATE_LIMESTONE, BlockHandler.ORE_COAL_C_LIMESTONE.get().getDefaultState(), 17); genOre(biome, 20, 0, 0, 64, CREATE_LIMESTONE, BlockHandler.ORE_IRON_C_LIMESTONE.get().getDefaultState(), 9); genOre(biome, 2, 0, 0, 32, CREATE_LIMESTONE, BlockHandler.ORE_GOLD_C_LIMESTONE.get().getDefaultState(), 9); genOre(biome, 1, 0, 0, 16, CREATE_LIMESTONE, BlockHandler.ORE_DIAMOND_C_LIMESTONE.get().getDefaultState(), 8); genOre(biome, 1, 0, 0, 16, CREATE_LIMESTONE, BlockHandler.ORE_EMERALD_C_LIMESTONE.get().getDefaultState(), 4); genOre(biome, 2, 0, 0, 16, CREATE_LIMESTONE, BlockHandler.ORE_LAPIS_C_LIMESTONE.get().getDefaultState(), 7); genOre(biome, 8, 0, 0, 16, CREATE_LIMESTONE, BlockHandler.ORE_REDSTONE_C_LIMESTONE.get().getDefaultState(), 8); genOre(biome, 20, 45, 0, 60, CREATE_LIMESTONE, BlockHandler.ORE_COPPER_C_LIMESTONE.get().getDefaultState(), 7); genOre(biome, 8, 50, 0, 70, CREATE_LIMESTONE, BlockHandler.ORE_ALUMINUM_C_LIMESTONE.get().getDefaultState(), 3); genOre(biome, 8, 30, 0, 38, CREATE_LIMESTONE, BlockHandler.ORE_SILVER_C_LIMESTONE.get().getDefaultState(), 4); genOre(biome, 8, 32, 0, 40, CREATE_LIMESTONE, BlockHandler.ORE_LEAD_C_LIMESTONE.get().getDefaultState(), 3); genOre(biome, 8, 25, 0, 40, CREATE_LIMESTONE, BlockHandler.ORE_NICKEL_C_LIMESTONE.get().getDefaultState(), 3); genOre(biome, 4, 5, 0, 20, CREATE_LIMESTONE, BlockHandler.ORE_URANIUM_C_LIMESTONE.get().getDefaultState(), 3); genOre(biome, 20, 20, 0, 45, CREATE_LIMESTONE, BlockHandler.ORE_OSMIUM_C_LIMESTONE.get().getDefaultState(), 6); genOre(biome, 20, 40, 0, 55, CREATE_LIMESTONE, BlockHandler.ORE_TIN_C_LIMESTONE.get().getDefaultState(), 6); genOre(biome, 8, 35, 0, 50, CREATE_LIMESTONE, BlockHandler.ORE_ZINC_C_LIMESTONE.get().getDefaultState(), 4); } if(blockCreateScoria != null) { // Strata Ores - Scoria genOre(biome, 20, 0, 0, 128, CREATE_SCORIA, BlockHandler.ORE_COAL_SCORIA.get().getDefaultState(), 17); genOre(biome, 20, 0, 0, 64, CREATE_SCORIA, BlockHandler.ORE_IRON_SCORIA.get().getDefaultState(), 9); genOre(biome, 2, 0, 0, 32, CREATE_SCORIA, BlockHandler.ORE_GOLD_SCORIA.get().getDefaultState(), 9); genOre(biome, 1, 0, 0, 16, CREATE_SCORIA, BlockHandler.ORE_DIAMOND_SCORIA.get().getDefaultState(), 8); genOre(biome, 1, 0, 0, 16, CREATE_SCORIA, BlockHandler.ORE_EMERALD_SCORIA.get().getDefaultState(), 4); genOre(biome, 2, 0, 0, 16, CREATE_SCORIA, BlockHandler.ORE_LAPIS_SCORIA.get().getDefaultState(), 7); genOre(biome, 8, 0, 0, 16, CREATE_SCORIA, BlockHandler.ORE_REDSTONE_SCORIA.get().getDefaultState(), 8); genOre(biome, 20, 45, 0, 60, CREATE_SCORIA, BlockHandler.ORE_COPPER_SCORIA.get().getDefaultState(), 7); genOre(biome, 8, 50, 0, 70, CREATE_SCORIA, BlockHandler.ORE_ALUMINUM_SCORIA.get().getDefaultState(), 3); genOre(biome, 8, 30, 0, 38, CREATE_SCORIA, BlockHandler.ORE_SILVER_SCORIA.get().getDefaultState(), 4); genOre(biome, 8, 32, 0, 40, CREATE_SCORIA, BlockHandler.ORE_LEAD_SCORIA.get().getDefaultState(), 3); genOre(biome, 8, 25, 0, 40, CREATE_SCORIA, BlockHandler.ORE_NICKEL_SCORIA.get().getDefaultState(), 3); genOre(biome, 4, 5, 0, 20, CREATE_SCORIA, BlockHandler.ORE_URANIUM_SCORIA.get().getDefaultState(), 3); genOre(biome, 20, 20, 0, 45, CREATE_SCORIA, BlockHandler.ORE_OSMIUM_SCORIA.get().getDefaultState(), 6); genOre(biome, 20, 40, 0, 55, CREATE_SCORIA, BlockHandler.ORE_TIN_SCORIA.get().getDefaultState(), 6); genOre(biome, 8, 35, 0, 50, CREATE_SCORIA, BlockHandler.ORE_ZINC_SCORIA.get().getDefaultState(), 4); } } } private static void genOre(Biome biome, int count, int bottomOffset, int topOffset, int max, OreFeatureConfig.FillerBlockType filler, BlockState defaultBlockstate, int size) { CountRangeConfig range = new CountRangeConfig(count, bottomOffset, topOffset, max); OreFeatureConfig feature = new OreFeatureConfig(filler, defaultBlockstate, size); ConfiguredPlacement config = Placement.COUNT_RANGE.configure(range); biome.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, Feature.ORE.withConfiguration(feature).withPlacement(config)); } public static void genSedimentDisks(Biome biome, BlockState state, int radiusIn, int ySizeIn, List<BlockState> targetsIn, int count) { SphereReplaceConfig sphere = new SphereReplaceConfig(state, radiusIn, ySizeIn, targetsIn); FrequencyConfig frequency = new FrequencyConfig(count); ConfiguredPlacement config = Placement.COUNT_TOP_SOLID.configure(frequency); biome.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, Feature.DISK.withConfiguration(sphere).withPlacement(config)); } private static void genStoneVariant(Biome biome, int count, int bottomOffset, int topOffset, int max, OreFeatureConfig.FillerBlockType filler, BlockState defaultBlockstate, int size) { CountRangeConfig range = new CountRangeConfig(count, bottomOffset, topOffset, max); OreFeatureConfig feature = new OreFeatureConfig(filler, defaultBlockstate, size); ConfiguredPlacement config = Placement.COUNT_RANGE.configure(range); biome.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, Feature.ORE.withConfiguration(feature).withPlacement(config)); } } At the moment, I'm trying with this biome.getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES).remove(Feature.ORE.withConfiguration(new OreFeatureConfig(OreFeatureConfig.FillerBlockType.NATURAL_STONE, Blocks.COAL_ORE.getDefaultState(), 17))); but needless to say, that has failed. I also found this topic: which seems to be close to what I need, but I just couldn't figure out the solution code, or how to use it. List<ConfiguredFeature> features = new ArrayList<ConfiguredFeature>(); for (ConfiguredFeature<?> f : biome.getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES)) { if (((DecoratedFeatureConfig)f.config).feature.feature instanceof OreFeature) { if (((OreFeatureConfig)((DecoratedFeatureConfig)f.config).feature.config).state.getBlock() == Blocks.IRON_ORE) { features.add(f); } } } biome.getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES).removeAll(features); Whenever I tried that, I kept getting an error on the <?> 'Wrong number of type argument'
  10. Okay, I'm struggling to figure out how to loop through the UNDERGROUND_ORES and only remove the Vanilla Ores. Any help here would be much appreciated.
  11. Damn it, yea that didn't work. It seems I have no other option but to loop through and remove. Doing a .clear() won't work as the mod integration with Create and Quark is not playing nice with this. Let's see if I can figure out how to create that loop iteration and removal.
  12. Will do. Will also post my current code snippet just in case someone had to do the same. If anyone have any question on how these are generating, please don't hesitate to let me know. for (Biome biome : ForgeRegistries.BIOMES) { biome.getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES).clear(); // Sediment Disks genSedimentDisks(biome, Blocks.SAND.getDefaultState(), 7, 2, Lists.newArrayList(Blocks.DIRT.getDefaultState(), Blocks.GRASS_BLOCK.getDefaultState()), 3); genSedimentDisks(biome, Blocks.CLAY.getDefaultState(), 4, 1, Lists.newArrayList(Blocks.DIRT.getDefaultState(), Blocks.CLAY.getDefaultState()), 1); genSedimentDisks(biome, Blocks.GRAVEL.getDefaultState(), 6, 2, Lists.newArrayList(Blocks.DIRT.getDefaultState(), Blocks.GRASS_BLOCK.getDefaultState()), 1); /*if (biome == Biomes.SWAMP || biome == Biomes.SWAMP_HILLS) { genSedimentDisks(biome, Blocks.CLAY.getDefaultState(), 4, 1, Lists.newArrayList(Blocks.DIRT.getDefaultState(), Blocks.CLAY.getDefaultState()), 1); }*/ // Stone Variant genStoneVariant(biome, 10, 0, 0, 256, STONE, Blocks.DIRT.getDefaultState(), 33); genStoneVariant(biome, 8, 0, 0, 256, STONE, Blocks.GRAVEL.getDefaultState(), 33); genStoneVariant(biome, 10, 0, 0, 80, STONE, Blocks.GRANITE.getDefaultState(), 33); genStoneVariant(biome, 10, 0, 0, 80, STONE, Blocks.DIORITE.getDefaultState(), 33); genStoneVariant(biome, 10, 0, 0, 80, STONE, Blocks.ANDESITE.getDefaultState(), 33); // Ores genOre(biome, 20, 0, 0, 128, STONE, Blocks.COAL_ORE.getDefaultState(), 17); genOre(biome, 20, 0, 0, 64, STONE, Blocks.IRON_ORE.getDefaultState(), 9); genOre(biome, 2, 0, 0, 32, STONE, Blocks.GOLD_ORE.getDefaultState(), 9); genOre(biome, 1, 0, 0, 16, STONE, Blocks.DIAMOND_ORE.getDefaultState(), 8); genOre(biome, 1, 0, 0, 16, STONE, Blocks.EMERALD_ORE.getDefaultState(), 4); genOre(biome, 2, 0, 0, 16, STONE, Blocks.LAPIS_ORE.getDefaultState(), 7); genOre(biome, 8, 0, 0, 16, STONE, Blocks.REDSTONE_ORE.getDefaultState(), 8); genOre(biome, 20, 45, 0, 60, STONE, BlockHandler.ORE_COPPER.get().getDefaultState(), 7); genOre(biome, 8, 50, 0, 70, STONE, BlockHandler.ORE_ALUMINUM.get().getDefaultState(), 3); genOre(biome, 8, 30, 0, 38, STONE, BlockHandler.ORE_SILVER.get().getDefaultState(), 4); genOre(biome, 8, 32, 0, 40, STONE, BlockHandler.ORE_LEAD.get().getDefaultState(), 3); genOre(biome, 8, 25, 0, 40, STONE, BlockHandler.ORE_NICKEL.get().getDefaultState(), 3); genOre(biome, 4, 5, 0, 20, STONE, BlockHandler.ORE_URANIUM.get().getDefaultState(), 3); genOre(biome, 20, 20, 0, 45, STONE, BlockHandler.ORE_OSMIUM.get().getDefaultState(), 6); genOre(biome, 20, 40, 0, 55, STONE, BlockHandler.ORE_TIN.get().getDefaultState(), 6); genOre(biome, 8, 35, 0, 50, STONE, BlockHandler.ORE_ZINC.get().getDefaultState(), 4); }
  13. Yes, thank you. That is what I was doing actually before checking this whole .clear() lazy code usage. However, like I said, I might actually go this route as it will allow me to have control over the stone variant generation as this mod is based around TerraForged strata with Quark and Create world blocks. Your assistance on this matter has been appreciated greatly. Thanks
  14. Actually, that might not be a bad thing. This way I get to also control the Stone Variants generation.
  15. Okay, that worked much better than what I was trying to do. However, that also removed the Stone Variation as for some reason that is flagged as ORES. Looking into a way to skip over those, and just remove the ORE Blocks.
  16. Re-reading this, I think I understand what you mean. So, I'll need to loop through all the biomes, get the Decoration UNDERGROUND_ORES and remove Feature ORES, and then loop again through the biomes, adding my own Ores. Is my understanding correct here?
  17. I did add STONE as a FillerBlockType through the .create(), but the Vanilla Ores are still generating on all NATURAL_STONES and this is what I'm trying to either disable, or override. Furthermore, how can I remove the Decoration feature (which I believe is UNDERGROUND_ORES) without effecting other methods using it such as addSedimentDisks() and addStoneVariants()? public static OreFeatureConfig.FillerBlockType STONE = OreFeatureConfig.FillerBlockType.create("STONE", "stone", new BlockMatcher(Blocks.STONE));
  18. Gday everyone, I'm new to Modding, and still learning. I encountered an issue and not 100% sure how to address it, so I thought I would come here and seek help from the community. Part of my mod tackles Ore Generation based on a pre-set world strata, and I would like to either disable the Vanilla Ore generation completely and then re-add it under my mod, preferably, or change the FillerBlockType from NATURAL STONE to just regular STONE block. Most of the things I found here, and on other sites seems to be addressing older versions of Forge, and I couldn't wrap my head around the methods used .. again, completely new to Modding Would it be possible to access/override the addOres() from DefaultBiomeFeatures , or disable it completely? A basic code snippet on how to achieve this, or any input on the matter would be much appreciated. Thanks in advance,
×
×
  • Create New...

Important Information

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