Jump to content

troublemaker_47

Members
  • Posts

    31
  • Joined

  • Last visited

Posts posted by troublemaker_47

  1. Hello guys, i am trying to create a mod in Minceraft 1.20.1 for a armor set that gives special effects when worn, and i want to use the onArmorTick method overridden in my custom armor class, but i came to find out that it is being deprecated, and i can't use it anymore.

    Can you help me find a substitute for this method?

    I really appreciate all help!

  2. 7 minutes ago, samjviana said:

    The add function needs an "Supplier<ConfiguredFeature<?, ?>>" your lambda function is returning a type Ingredient you would need to return an ConfiguredFeature, like so:

    
    if (event.getCategory() != Biome.Category.NETHER && event.getCategory() != Biome.Category.THEEND) {
    	event.getGeneration().getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES).add(
    		() -> Feature.ORE.withConfiguration(
    			new OreFeatureConfig(OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD, RegistryHandler.MY_ORE.get().getDefaultState(), 6)
    		)
    	);
    }

     

    Thank you but do i have to declare Feature

  3. 3 minutes ago, samjviana said:

    The add function needs an "Supplier<ConfiguredFeature<?, ?>>" your lambda function is returning a type Ingredient you would need to return an ConfiguredFeature, like so:

    
    if (event.getCategory() != Biome.Category.NETHER && event.getCategory() != Biome.Category.THEEND) {
    	event.getGeneration().getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES).add(
    		() -> Feature.ORE.withConfiguration(
    			new OreFeatureConfig(OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD, RegistryHandler.MY_ORE.get().getDefaultState(), 6)
    		)
    	);
    }

     

    Thank you but do i have to declare Feature

  4. By the way do you know how to resolve this???

    Bad return type in lambda expression: Ingredient cannot be converted to ConfiguredFeature<?, ?>

    @SubscribeEvent
    public static void onBiomeLoading(final BiomeLoadingEvent event) {
        if (event.getCategory() != Biome.Category.NETHER && event.getCategory() != Biome.Category.THEEND) {
            OreFeatureConfig feature = new OreFeatureConfig(OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD,
                    RegistryHandler.MY_ORE.get().getDefaultState(), 6);
            event.getGeneration().getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES).add( () -> {
                    Ingredient.fromItems(RegistryHandler.MY_ORE.get());
                        return Ingredient.fromItems(RegistryHandler.MY_ORE.get());<------- //here is the error
                    }
            );
        }
    }
  5. 2 minutes ago, samjviana said:

    You can use your IDE to look the source code of Vanilla Classes ...
    The classes you would like to see are net.minecraft.world.gen.feature.Feature and net.minecraft.world.gen.feature.Features.

     

    Thank you so much i think i now hava everything i need

    • Like 1
  6. 3 minutes ago, samjviana said:

    It might have an better way to do this by checking the dimension of the biome, but i have to admit that i don't know how to check the dimension XD
    So ... you could check if the biome is NOT NETHER or THEEND Category, something like:

    
    if (event.getCategory() != Biome.Category.NETHER && event.getCategory() != Biome.Category.THEEND)

     

    Thank You So Much. But can you tell me where can i find the vanilla default ore generation file

  7. 4 minutes ago, troublemaker_47 said:

    I know that i can take a look at that but i dont know where to find it

    Btw can i substitute 

    if (event.getCategory() == Biome.Category.TAIGA || event.getCategory() == Biome.Category.SWAMP)

    for something that can include all the overworld biomes

  8. 10 minutes ago, samjviana said:

    You would need to listen to BiomeLoadingEvent (), you could register an function to it like this:

    
    MinecraftForge.EVENT_BUS.addListener(EventPriority.HIGH, onBiomeLoading);

    As from the javadocs of the event: "This event fires when a Biome is created from json or when a registered biome is re-created for worldgen"

    With this done you would just need to "treat" the biome in the listener and add any feature (like ore generation) you need.
    An exemple of listener:

    
    public static void onBiomeLoading(final BiomeLoadingEvent event) {
        /* Check which biome are being loaded, example: if the biome is TAIGA or SWAMP */
        if (event.getCategory() == Biome.Category.TAIGA || event.getCategory() == Biome.Category.SWAMP) {
            /* Get UNDERGROUND_ORES features of the biome */
            event.getGeneration().getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES ).add(
                /* adding COAL_ORE with some configuration */
                () -> Blocks.COAL_ORE.withConfiguration(...)
            );
        }
    }

    As from the configuration you could look at the Vanilla default ore generation features to get what you want. 

    I know that i can take a look at that but i dont know where to find it

  9. Hello, i am trting to create a mod in minecraft, i pretty much completed it all, but the part that i cant get to work is the custom ore generation.

    Can somebody please tell me what else can i use besides CountRangeConfig which does not exist.

×
×
  • Create New...

Important Information

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