Jump to content

how do i add my custom tulips to a vanilla-biome?


Drachenbauer

Recommended Posts

Use DeferredWorkQueue to add features to the biomes you want during the FMLCommonSetupEvent.

 

Check out classes in the net.minecraft.world.gen.feature package and the DefaultBiomeFeatures class in net.minecraft.world.biome.

Link to comment
Share on other sites

Now i have this in my FMLCommonSetupEvent:

        DeferredWorkQueue.runLater(() ->
        {
            addModTulips(biomeIn);
        }
        );

But i´m not sure, how to put a specific biome into my method-call...

I don´t know, where the methods are called, wich i found in DefaultBiomeFeatures...

I must find this to see how a biome is given in there...

 

should i do it as a new instance of the biome-class?

Edited by Drachenbauer
Link to comment
Share on other sites

Learn to use your IDE. If you want to find out how to get the biome instances, search for references of the Biome class.

This will show you something like this:

image.png.85aa0ce36640093faece1a925d9513d4.png

 

Now, how are things stored in Java? In fields. So we look at the "Field declaration" category:

image.png.ad4b0bc81782cdd6f18ebf0abf4d2399.png

 

We don't care about advancements at the moment, so we can ignore the first two packages.

The third one looks promising, lets open it:

image.png.02a158858b2a9f7604d03a40336bd413.png

 

I'll leave the rest as an exercise for the reader.

 

Please, learn to use your IDE and use it to navigate the code. It is the most important tool you have. If you cannot use it, you cannot write mods effectively.

  • Like 1
Link to comment
Share on other sites

now i found, what i looked for.

time for a test in a world with a flowerforest biome nearby.

 

Edit:

this is now my main-class:

Spoiler

package drachenbauer32.moretulipsmod;

import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

import com.google.common.collect.Ordering;

import drachenbauer32.moretulipsmod.init.MoreTulipsBlocks;
import drachenbauer32.moretulipsmod.init.MoreTulipsItems;
import drachenbauer32.moretulipsmod.util.MoreTulipsItemGroup;
import drachenbauer32.moretulipsmod.util.Reference;

import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.FlowerBlock;
import net.minecraft.block.FlowerPotBlock;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.RenderTypeLookup;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Rarity;
import net.minecraft.potion.Effects;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.biome.Biomes;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.DeferredWorkQueue;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraft.world.gen.GenerationStage;
import net.minecraft.world.gen.blockplacer.SimpleBlockPlacer;
import net.minecraft.world.gen.blockstateprovider.SimpleBlockStateProvider;
import net.minecraft.world.gen.feature.BlockClusterFeatureConfig;
import net.minecraft.world.gen.feature.Feature;
import net.minecraft.world.gen.placement.FrequencyConfig;
import net.minecraft.world.gen.placement.Placement;

@SuppressWarnings("deprecation")
@Mod(Reference.MOD_ID)
public class MoreTulips
{   
    public static Comparator<ItemStack> itemSorter;
    private static final BlockState BLACK_TULIP = MoreTulipsBlocks.black_tulip.getDefaultState();
    public static final BlockClusterFeatureConfig BLACK_TULIP_CONFIG = (new BlockClusterFeatureConfig.Builder(new SimpleBlockStateProvider(BLACK_TULIP), new SimpleBlockPlacer())).tries(64).build();
    
    public MoreTulips() 
    {
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientRegistries);
        MinecraftForge.EVENT_BUS.register(this);
    }
    
    private void setup(final FMLCommonSetupEvent event)
    {
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.black_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.blue_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.brown_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.cyan_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.gray_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.green_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.light_blue_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.light_gray_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.lime_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.magenta_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.purple_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.yellow_tulip, RenderType.getCutout());
        
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.potted_black_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.potted_blue_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.potted_brown_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.potted_cyan_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.potted_gray_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.potted_green_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.potted_light_blue_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.potted_light_gray_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.potted_lime_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.potted_magenta_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.potted_purple_tulip, RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MoreTulipsBlocks.potted_yellow_tulip, RenderType.getCutout());
        
        List<Item> items = Arrays.asList(MoreTulipsItems.yellow_tulip,
                                         MoreTulipsItems.lime_tulip,
                                         MoreTulipsItems.cyan_tulip,
                                         MoreTulipsItems.blue_tulip,
                                         MoreTulipsItems.purple_tulip,
                                         MoreTulipsItems.magenta_tulip,
                                         MoreTulipsItems.light_blue_tulip,
                                         MoreTulipsItems.green_tulip,
                                         MoreTulipsItems.brown_tulip,
                                         MoreTulipsItems.black_tulip,
                                         MoreTulipsItems.gray_tulip,
                                         MoreTulipsItems.light_gray_tulip);
        
        itemSorter = Ordering.explicit(items).onResultOf(ItemStack::getItem);
        
        DeferredWorkQueue.runLater(() ->
        {
            addModTulips(Biomes.FLOWER_FOREST);
        }
        );
        
    }
    
    private void clientRegistries(final FMLClientSetupEvent event)
    {
        
    }
    
    @Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD)
    public static class RegistryEvents
    {
        public static final ItemGroup MORE_TULIPS = new MoreTulipsItemGroup();
        
        @SubscribeEvent
        public static void registerBlocks(final RegistryEvent.Register<Block> event)
        {
            event.getRegistry().registerAll(MoreTulipsBlocks.black_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("black_tulip"),
                                            MoreTulipsBlocks.blue_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("blue_tulip"),
                                            MoreTulipsBlocks.brown_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("brown_tulip"),
                                            MoreTulipsBlocks.cyan_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("cyan_tulip"),
                                            MoreTulipsBlocks.gray_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("gray_tulip"),
                                            MoreTulipsBlocks.green_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("green_tulip"),
                                            MoreTulipsBlocks.light_blue_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("light_blue_tulip"),
                                            MoreTulipsBlocks.light_gray_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("light_gray_tulip"),
                                            MoreTulipsBlocks.lime_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("lime_tulip"),
                                            MoreTulipsBlocks.magenta_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("magenta_tulip"),
                                            MoreTulipsBlocks.purple_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("purple_tulip"),
                                            MoreTulipsBlocks.yellow_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("yellow_tulip"),
                                            
                                            MoreTulipsBlocks.potted_black_tulip = new FlowerPotBlock(MoreTulipsBlocks.black_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_black_tulip"),
                                            MoreTulipsBlocks.potted_blue_tulip = new FlowerPotBlock(MoreTulipsBlocks.blue_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_blue_tulip"),
                                            MoreTulipsBlocks.potted_brown_tulip = new FlowerPotBlock(MoreTulipsBlocks.brown_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_brown_tulip"),
                                            MoreTulipsBlocks.potted_cyan_tulip = new FlowerPotBlock(MoreTulipsBlocks.cyan_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_cyan_tulip"),
                                            MoreTulipsBlocks.potted_gray_tulip = new FlowerPotBlock(MoreTulipsBlocks.gray_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_gray_tulip"),
                                            MoreTulipsBlocks.potted_green_tulip = new FlowerPotBlock(MoreTulipsBlocks.green_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_green_tulip"),
                                            MoreTulipsBlocks.potted_light_blue_tulip = new FlowerPotBlock(MoreTulipsBlocks.light_blue_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_light_blue_tulip"),
                                            MoreTulipsBlocks.potted_light_gray_tulip = new FlowerPotBlock(MoreTulipsBlocks.light_gray_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_light_gray_tulip"),
                                            MoreTulipsBlocks.potted_lime_tulip = new FlowerPotBlock(MoreTulipsBlocks.lime_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_lime_tulip"),
                                            MoreTulipsBlocks.potted_magenta_tulip = new FlowerPotBlock(MoreTulipsBlocks.magenta_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_magenta_tulip"),
                                            MoreTulipsBlocks.potted_purple_tulip = new FlowerPotBlock(MoreTulipsBlocks.purple_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_purple_tulip"),
                                            MoreTulipsBlocks.potted_yellow_tulip = new FlowerPotBlock(MoreTulipsBlocks.yellow_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_yellow_tulip"));
        }
        
        @SubscribeEvent
        public static void registerItems(final RegistryEvent.Register<Item> event)
        {
            event.getRegistry().registerAll(MoreTulipsItems.black_tulip = new BlockItem(MoreTulipsBlocks.black_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("black_tulip"),
                                            MoreTulipsItems.blue_tulip = new BlockItem(MoreTulipsBlocks.blue_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("blue_tulip"),
                                            MoreTulipsItems.brown_tulip = new BlockItem(MoreTulipsBlocks.brown_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("brown_tulip"),
                                            MoreTulipsItems.cyan_tulip = new BlockItem(MoreTulipsBlocks.cyan_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("cyan_tulip"),
                                            MoreTulipsItems.gray_tulip = new BlockItem(MoreTulipsBlocks.gray_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("gray_tulip"),
                                            MoreTulipsItems.green_tulip = new BlockItem(MoreTulipsBlocks.green_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("green_tulip"),
                                            MoreTulipsItems.light_blue_tulip = new BlockItem(MoreTulipsBlocks.light_blue_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("light_blue_tulip"),
                                            MoreTulipsItems.light_gray_tulip = new BlockItem(MoreTulipsBlocks.light_gray_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("light_gray_tulip"),
                                            MoreTulipsItems.lime_tulip = new BlockItem(MoreTulipsBlocks.lime_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("lime_tulip"),
                                            MoreTulipsItems.magenta_tulip = new BlockItem(MoreTulipsBlocks.magenta_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("magenta_tulip"),
                                            MoreTulipsItems.purple_tulip = new BlockItem(MoreTulipsBlocks.purple_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("purple_tulip"),
                                            MoreTulipsItems.yellow_tulip = new BlockItem(MoreTulipsBlocks.yellow_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("yellow_tulip"));
        }
    }
    
    public static void addModTulips(Biome biomeIn) {
      biomeIn.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Feature.FLOWER.withConfiguration(BLACK_TULIP_CONFIG).withPlacement(Placement.COUNT_HEIGHTMAP_32.configure(new FrequencyConfig(100))));
   }
}

I made a method, that should ad my tulips to the flowerforest biome.

For a first test, it only includes the black tulip now.

 

But as i created a flower-forest-world, i cannot find any black tulips in there...

Edited by Drachenbauer
Link to comment
Share on other sites

46 minutes ago, Drachenbauer said:

private static final BlockState BLACK_TULIP = MoreTulipsBlocks.black_tulip.getDefaultState(); public static final BlockClusterFeatureConfig BLACK_TULIP_CONFIG = (new BlockClusterFeatureConfig.Builder(new SimpleBlockStateProvider(BLACK_TULIP), new SimpleBlockPlacer())).tries(64).build();

You cannot initialize these things here.

The fact that the first line does not produce a NullPointerException suggests that you are also incorrectly initializing your blocks in a static initializer. You cannot do that. Please use DeferredRegister to register your Blocks.

 

48 minutes ago, Drachenbauer said:

RenderTypeLookup.setRenderLayer

This should be done in FMLClientSetupEvent, not common.

Link to comment
Share on other sites

Quote

This should be done in FMLClientSetupEvent, not common.

some posts above, an user told me to work in common.

 

Quote

The fact that the first line does not produce a NullPointerException suggests that you are also incorrectly initializing your blocks in a static initializer. You cannot do that. Please use DeferredRegister to register your Blocks.

If i registered my blocks wrong, why i can place them in a world and plant the tulips in pots ?

Edited by Drachenbauer
Link to comment
Share on other sites

2 minutes ago, Drachenbauer said:

some posts above, an user told me to work in common.

Yes, regarding adding the biome features...

 

2 minutes ago, Drachenbauer said:

If i registered my blocks wrong, why i can place them in a world and plant the tulips in pots ? 

Just because one part of it works, doesn't mean you did things correctly.

Link to comment
Share on other sites

Quote

Yes, regarding adding the biome features...

Do you mean the lines for making the tulips transparent should be in client?

I thaught, you mean my biome-thing.

 

Spoiler

You cannot initialize these things here.

where else should i initialize them?

Link to comment
Share on other sites

17 minutes ago, Drachenbauer said:

Do you mean the lines for making the tulips transparent should be in client?

I thaught, you mean my biome-thing.

Lord have mercy. Do you look at the things I am quoting? I am quoting them for a reason, so you know what I am talking about...

 

19 minutes ago, Drachenbauer said:

where else should i initialize them?

In FMLCommonSetupEvent, before you use them to register the "biome-thing".

 

However you first need to fix your block registration.

Link to comment
Share on other sites

Now i register my blocks and items like shown in the sample in the "DeferredRegister"-class.

Can i remoce the integrated "RegistryEvents"-class from my main-class, if i finished the new way to register my stuff?

 

Can i put the lines for the single blocks and items, like:

    public static final RegistryObject<Block> BLACK_TULIP_BLOCK = BLOCKS.register("black_tulip", () -> new FlowerBlock(Effects.WEAKNESS, 9,
                        Block.Properties.create(Material.PLANTS).doesNotBlockMovement().hardnessAndResistance(0f).sound(SoundType.PLANT)));

into my blocks- and items-classes, where i already had them listed?

Link to comment
Share on other sites

35 minutes ago, Drachenbauer said:

Can i remoce the integrated "RegistryEvents"-class from my main-class, if i finished the new way to register my stuff?

Yes, but you need to register the modbus or something else in your main class (am writing from mobile and have forgot the name). If you still need help then pls provide a link to your Github

Edited by DragonITA

New in Modding? == Still learning!

Link to comment
Share on other sites

Now i get an error:

Spoiler

[m[1;31m[18:29:10] [Render thread/ERROR] [ne.mi.fm.ja.FMLModContainer/LOADING]: Failed to load class drachenbauer32.moretulipsmod.MoreTulips
java.lang.ExceptionInInitializerError: null
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_241] {}
    at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.javafmlmod.FMLModContainer.<init>(FMLModContainer.java:71) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:31.1] {re:classloading}
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_241] {}
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.javafmlmod.FMLJavaModLanguageProvider$FMLModTarget.loadMod(FMLJavaModLanguageProvider.java:73) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:31.1] {}
    at net.minecraftforge.fml.ModLoader.buildModContainerFromTOML(ModLoader.java:234) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at net.minecraftforge.fml.ModLoader.lambda$buildMods$26(ModLoader.java:214) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.HashMap$EntrySpliterator.forEachRemaining(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReferencePipeline.collect(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.ModLoader.buildMods(ModLoader.java:216) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$18(ModLoader.java:173) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReferencePipeline.collect(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:175) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at net.minecraftforge.fml.client.ClientModLoader.lambda$begin$2(ClientModLoader.java:97) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraftforge.fml.client.ClientModLoader.lambda$createRunnableWithCatch$5(ClientModLoader.java:113) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraftforge.fml.client.ClientModLoader.begin(ClientModLoader.java:97) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraft.client.Minecraft.<init>(Minecraft.java:398) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
    at net.minecraft.client.main.Main.main(Main.java:141) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_241] {}
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] {}
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] {}
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {}
    at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at cpw.mods.modlauncher.Launcher.run(Launcher.java:81) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at cpw.mods.modlauncher.Launcher.main(Launcher.java:65) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:102) [forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {}
Caused by: java.lang.IllegalArgumentException: Duplicate registration purple_tulip
    at net.minecraftforge.registries.DeferredRegister.register(DeferredRegister.java:85) ~[?:?] {re:classloading}
    at drachenbauer32.moretulipsmod.MoreTulips.<clinit>(MoreTulips.java:75) ~[?:?] {re:classloading}
    ... 44 more
[m[1;31m[18:29:10] [Render thread/FATAL] [ne.mi.fm.ja.FMLJavaModLanguageProvider/LOADING]: Unable to load FMLModContainer, wut?
java.lang.reflect.InvocationTargetException: null
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_241] {}
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.javafmlmod.FMLJavaModLanguageProvider$FMLModTarget.loadMod(FMLJavaModLanguageProvider.java:73) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:31.1] {}
    at net.minecraftforge.fml.ModLoader.buildModContainerFromTOML(ModLoader.java:234) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at net.minecraftforge.fml.ModLoader.lambda$buildMods$26(ModLoader.java:214) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.HashMap$EntrySpliterator.forEachRemaining(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReferencePipeline.collect(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.ModLoader.buildMods(ModLoader.java:216) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$18(ModLoader.java:173) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReferencePipeline.collect(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:175) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at net.minecraftforge.fml.client.ClientModLoader.lambda$begin$2(ClientModLoader.java:97) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraftforge.fml.client.ClientModLoader.lambda$createRunnableWithCatch$5(ClientModLoader.java:113) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraftforge.fml.client.ClientModLoader.begin(ClientModLoader.java:97) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraft.client.Minecraft.<init>(Minecraft.java:398) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
    at net.minecraft.client.main.Main.main(Main.java:141) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_241] {}
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] {}
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] {}
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {}
    at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at cpw.mods.modlauncher.Launcher.run(Launcher.java:81) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at cpw.mods.modlauncher.Launcher.main(Launcher.java:65) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:102) [forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {}
Caused by: net.minecraftforge.fml.ModLoadingException: More Tulips Mod has class loading errors
§7null
    at net.minecraftforge.fml.javafmlmod.FMLModContainer.<init>(FMLModContainer.java:77) ~[?:31.1] {re:classloading}
    ... 41 more
Caused by: java.lang.ExceptionInInitializerError
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_241] {}
    at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.javafmlmod.FMLModContainer.<init>(FMLModContainer.java:71) ~[?:31.1] {re:classloading}
    ... 41 more
Caused by: java.lang.IllegalArgumentException: Duplicate registration purple_tulip
    at net.minecraftforge.registries.DeferredRegister.register(DeferredRegister.java:85) ~[?:?] {re:classloading}
    at drachenbauer32.moretulipsmod.MoreTulips.<clinit>(MoreTulips.java:75) ~[?:?] {re:classloading}
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_241] {}
    at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.javafmlmod.FMLModContainer.<init>(FMLModContainer.java:71) ~[?:31.1] {re:classloading}
    ... 41 more
[m[36m[18:29:11] [Render thread/DEBUG] [ne.mi.ve.fo.ForgeVersion/CORE]: Forge Version package package net.minecraftforge.versions.forge, Forge, version 31.1 from cpw.mods.modlauncher.TransformingClassLoader@67427b69
[m[36m[18:29:11] [Render thread/DEBUG] [ne.mi.ve.fo.ForgeVersion/CORE]: Found Forge version 31.1.18
[m[36m[18:29:11] [Render thread/DEBUG] [ne.mi.ve.fo.ForgeVersion/CORE]: Found Forge spec 31.1
[m[36m[18:29:11] [Render thread/DEBUG] [ne.mi.ve.fo.ForgeVersion/CORE]: Found Forge group net.minecraftforge
[m[32m[18:29:11] [Render thread/INFO] [STDOUT/]: [net.minecraft.util.registry.Bootstrap:printToSYSOUT:110]: ---- Minecraft Crash Report ----
// You're mean.

Time: 03.03.20 18:29
Description: Initializing game

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at net.minecraftforge.fml.javafmlmod.FMLJavaModLanguageProvider$FMLModTarget.loadMod(FMLJavaModLanguageProvider.java:78) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:31.1] {}
    at net.minecraftforge.fml.ModLoader.buildModContainerFromTOML(ModLoader.java:234) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at net.minecraftforge.fml.ModLoader.lambda$buildMods$26(ModLoader.java:214) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.HashMap$EntrySpliterator.forEachRemaining(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReferencePipeline.collect(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.ModLoader.buildMods(ModLoader.java:216) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$18(ModLoader.java:173) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:1.8.0_241] {}
    at java.util.stream.ReferencePipeline.collect(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:175) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at net.minecraftforge.fml.client.ClientModLoader.lambda$begin$2(ClientModLoader.java:97) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraftforge.fml.client.ClientModLoader.lambda$createRunnableWithCatch$5(ClientModLoader.java:113) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraftforge.fml.client.ClientModLoader.begin(ClientModLoader.java:97) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraft.client.Minecraft.<init>(Minecraft.java:398) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
    at net.minecraft.client.main.Main.main(Main.java:141) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_241] {}
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] {}
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] {}
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {}
    at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at cpw.mods.modlauncher.Launcher.run(Launcher.java:81) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at cpw.mods.modlauncher.Launcher.main(Launcher.java:65) [modlauncher-5.0.0-milestone.4.jar:?] {}
    at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:102) [forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {}
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_241] {}
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.javafmlmod.FMLJavaModLanguageProvider$FMLModTarget.loadMod(FMLJavaModLanguageProvider.java:73) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:31.1] {}
    ... 36 more
Caused by: net.minecraftforge.fml.ModLoadingException: More Tulips Mod has class loading errors
null
    at net.minecraftforge.fml.javafmlmod.FMLModContainer.<init>(FMLModContainer.java:77) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:31.1] {re:classloading}
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_241] {}
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.javafmlmod.FMLJavaModLanguageProvider$FMLModTarget.loadMod(FMLJavaModLanguageProvider.java:73) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:31.1] {}
    ... 36 more
Caused by: java.lang.ExceptionInInitializerError
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_241] {}
    at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.javafmlmod.FMLModContainer.<init>(FMLModContainer.java:71) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:31.1] {re:classloading}
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_241] {}
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.javafmlmod.FMLJavaModLanguageProvider$FMLModTarget.loadMod(FMLJavaModLanguageProvider.java:73) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:31.1] {}
    ... 36 more
Caused by: java.lang.IllegalArgumentException: Duplicate registration purple_tulip
    at net.minecraftforge.registries.DeferredRegister.register(DeferredRegister.java:85) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:?] {re:classloading}
    at drachenbauer32.moretulipsmod.MoreTulips.<clinit>(MoreTulips.java:75) ~[main/:?] {re:classloading}
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_241] {}
    at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.javafmlmod.FMLModContainer.<init>(FMLModContainer.java:71) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:31.1] {re:classloading}
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_241] {}
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_241] {}
    at net.minecraftforge.fml.javafmlmod.FMLJavaModLanguageProvider$FMLModTarget.loadMod(FMLJavaModLanguageProvider.java:73) ~[forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-recomp.jar:31.1] {}
    ... 36 more


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
    at net.minecraftforge.fml.javafmlmod.FMLJavaModLanguageProvider$FMLModTarget.loadMod(FMLJavaModLanguageProvider.java:78)
    at net.minecraftforge.fml.ModLoader.buildModContainerFromTOML(ModLoader.java:234)
    at net.minecraftforge.fml.ModLoader.lambda$buildMods$26(ModLoader.java:214)
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
    at java.util.HashMap$EntrySpliterator.forEachRemaining(Unknown Source)
    at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
    at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
    at java.util.stream.ReferencePipeline.collect(Unknown Source)
    at net.minecraftforge.fml.ModLoader.buildMods(ModLoader.java:216)
    at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$18(ModLoader.java:173)
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
    at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
    at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
    at java.util.stream.ReferencePipeline.collect(Unknown Source)
    at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:175)
    at net.minecraftforge.fml.client.ClientModLoader.lambda$begin$2(ClientModLoader.java:97)
    at net.minecraftforge.fml.client.ClientModLoader.lambda$createRunnableWithCatch$5(ClientModLoader.java:113)
    at net.minecraftforge.fml.client.ClientModLoader.begin(ClientModLoader.java:97)
    at net.minecraft.client.Minecraft.<init>(Minecraft.java:398)

-- Initialization --
Details:
Stacktrace:
    at net.minecraft.client.main.Main.main(Main.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55)
    at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37)
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54)
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72)
    at cpw.mods.modlauncher.Launcher.run(Launcher.java:81)
    at cpw.mods.modlauncher.Launcher.main(Launcher.java:65)
    at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:102)

-- System Details --
Details:
    Minecraft Version: 1.15.2
    Minecraft Version ID: 1.15.2
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_241, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 550546400 bytes (525 MB) / 1038614528 bytes (990 MB) up to 1884815360 bytes (1797 MB)
    CPUs: 8
    JVM Flags: 1 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump
    ModLauncher: 5.0.0-milestone.4+67+b1a340b
    ModLauncher launch target: fmluserdevclient
    ModLauncher naming: mcp
    ModLauncher services:
        /eventbus-2.0.0-milestone.1-service.jar eventbus PLUGINSERVICE
        /forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-launcher.jar object_holder_definalize PLUGINSERVICE
        /forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-launcher.jar runtime_enum_extender PLUGINSERVICE
        /accesstransformers-2.0.3-shadowed.jar accesstransformer PLUGINSERVICE
        /forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-launcher.jar capability_inject_definalize PLUGINSERVICE
        /forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-launcher.jar runtimedistcleaner PLUGINSERVICE
        /forge-1.15.2-31.1.18_mapped_snapshot_20200229-1.15.1-launcher.jar fml TRANSFORMATIONSERVICE
    FML: 31.1
    Forge: net.minecraftforge:31.1.18
    FML Language Providers:
        javafml@31.1
        minecraft@1
    Mod List: ~~ERROR~~ NullPointerException: null
    Launched Version: MOD_DEV
    Backend library: LWJGL version 3.2.2 build 10
    Backend API: Intel(R) HD Graphics 4000 GL version 4.0.0 - Build 10.18.10.4358, Intel
    GL Caps: Using framebuffer using OpenGL 3.0
    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'forge'
    Type: Client (map_client.txt)
    CPU: 8x Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz
[m[32m[18:29:11] [Render thread/INFO] [STDOUT/]: [net.minecraft.util.registry.Bootstrap:printToSYSOUT:110]: #@!@# Game crashed! Crash report saved to: #@!@# D:\Mods\1_15_1\MoreTulipsMod\run\.\crash-reports\crash-2020-03-03_18.29.11-client.txt

 

In the error i found a line, that says "Duplicate registration purple_tulip"

I wonder where this registration is duplicated...

 

This is now my main-class:

Spoiler

package drachenbauer32.moretulipsmod;

import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

import com.google.common.collect.Ordering;

import drachenbauer32.moretulipsmod.util.MoreTulipsItemGroup;
import drachenbauer32.moretulipsmod.util.Reference;

import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.FlowerBlock;
import net.minecraft.block.FlowerPotBlock;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.RenderTypeLookup;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Rarity;
import net.minecraft.potion.Effects;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.biome.Biomes;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.DeferredWorkQueue;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraft.world.gen.GenerationStage;
import net.minecraft.world.gen.blockplacer.SimpleBlockPlacer;
import net.minecraft.world.gen.blockstateprovider.SimpleBlockStateProvider;
import net.minecraft.world.gen.feature.BlockClusterFeatureConfig;
import net.minecraft.world.gen.feature.Feature;
import net.minecraft.world.gen.placement.FrequencyConfig;
import net.minecraft.world.gen.placement.Placement;

@SuppressWarnings("deprecation")
@Mod(Reference.MOD_ID)
public class MoreTulips
{   
    public static final ItemGroup MORE_TULIPS = new MoreTulipsItemGroup();
    private static final DeferredRegister<Item> ITEMS = new DeferredRegister<>(ForgeRegistries.ITEMS, Reference.MOD_ID);
    private static final DeferredRegister<Block> BLOCKS = new DeferredRegister<>(ForgeRegistries.BLOCKS, Reference.MOD_ID);
    
    public static final RegistryObject<Block> BLACK_TULIP_BLOCK = BLOCKS.register("black_tulip", () -> new FlowerBlock(Effects.WEAKNESS, 9,
                        Block.Properties.create(Material.PLANTS).doesNotBlockMovement().hardnessAndResistance(0f).sound(SoundType.PLANT)));
    public static final RegistryObject<Block> BLUE_TULIP_BLOCK = BLOCKS.register("blue_tulip", () -> new FlowerBlock(Effects.WEAKNESS, 9,
                        Block.Properties.create(Material.PLANTS).doesNotBlockMovement().hardnessAndResistance(0f).sound(SoundType.PLANT)));
    public static final RegistryObject<Block> BROWN_TULIP_BLOCK = BLOCKS.register("brown_tulip", () -> new FlowerBlock(Effects.WEAKNESS, 9,
                        Block.Properties.create(Material.PLANTS).doesNotBlockMovement().hardnessAndResistance(0f).sound(SoundType.PLANT)));
    public static final RegistryObject<Block> CYAN_TULIP_BLOCK = BLOCKS.register("cyan_tulip", () -> new FlowerBlock(Effects.WEAKNESS, 9,
                        Block.Properties.create(Material.PLANTS).doesNotBlockMovement().hardnessAndResistance(0f).sound(SoundType.PLANT)));
    public static final RegistryObject<Block> GRAY_TULIP_BLOCK = BLOCKS.register("gray_tulip", () -> new FlowerBlock(Effects.WEAKNESS, 9,
                        Block.Properties.create(Material.PLANTS).doesNotBlockMovement().hardnessAndResistance(0f).sound(SoundType.PLANT)));
    public static final RegistryObject<Block> GREEN_TULIP_BLOCK = BLOCKS.register("green_tulip", () -> new FlowerBlock(Effects.WEAKNESS, 9,
                        Block.Properties.create(Material.PLANTS).doesNotBlockMovement().hardnessAndResistance(0f).sound(SoundType.PLANT)));
    public static final RegistryObject<Block> LIGHT_BLUE_TULIP_BLOCK = BLOCKS.register("light_blue_tulip", () -> new FlowerBlock(Effects.WEAKNESS, 9,
                        Block.Properties.create(Material.PLANTS).doesNotBlockMovement().hardnessAndResistance(0f).sound(SoundType.PLANT)));
    public static final RegistryObject<Block> LIGHT_GRAY_TULIP_BLOCK = BLOCKS.register("light_gray_tulip", () -> new FlowerBlock(Effects.WEAKNESS, 9,
                        Block.Properties.create(Material.PLANTS).doesNotBlockMovement().hardnessAndResistance(0f).sound(SoundType.PLANT)));
    public static final RegistryObject<Block> LIME_TULIP_BLOCK = BLOCKS.register("lime_tulip", () -> new FlowerBlock(Effects.WEAKNESS, 9,
                        Block.Properties.create(Material.PLANTS).doesNotBlockMovement().hardnessAndResistance(0f).sound(SoundType.PLANT)));
    public static final RegistryObject<Block> MAGENTA_TULIP_BLOCK = BLOCKS.register("magenta_tulip", () -> new FlowerBlock(Effects.WEAKNESS, 9,
                        Block.Properties.create(Material.PLANTS).doesNotBlockMovement().hardnessAndResistance(0f).sound(SoundType.PLANT)));
    public static final RegistryObject<Block> PURPLE_TULIP_BLOCK = BLOCKS.register("purple_tulip", () -> new FlowerBlock(Effects.WEAKNESS, 9,
                        Block.Properties.create(Material.PLANTS).doesNotBlockMovement().hardnessAndResistance(0f).sound(SoundType.PLANT)));
    public static final RegistryObject<Block> YELLOW_TULIP_BLOCK = BLOCKS.register("purple_tulip", () -> new FlowerBlock(Effects.WEAKNESS, 9,
                        Block.Properties.create(Material.PLANTS).doesNotBlockMovement().hardnessAndResistance(0f).sound(SoundType.PLANT)));
    
    public static final RegistryObject<Block> POTTED_BLACK_TULIP_BLOCK = BLOCKS.register("potted_black_tulip", () -> new FlowerPotBlock(BLACK_TULIP_BLOCK.get(),
                        Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()));
    public static final RegistryObject<Block> POTTED_BLUE_TULIP_BLOCK = BLOCKS.register("potted_blue_tulip", () -> new FlowerPotBlock(BLUE_TULIP_BLOCK.get(),
                        Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()));
    public static final RegistryObject<Block> POTTED_BROWN_TULIP_BLOCK = BLOCKS.register("potted_brown_tulip", () -> new FlowerPotBlock(BROWN_TULIP_BLOCK.get(),
                        Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()));
    public static final RegistryObject<Block> POTTED_CYAN_TULIP_BLOCK = BLOCKS.register("potted_cyan_tulip", () -> new FlowerPotBlock(CYAN_TULIP_BLOCK.get(),
                        Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()));
    public static final RegistryObject<Block> POTTED_GRAY_TULIP_BLOCK = BLOCKS.register("potted_gray_tulip", () -> new FlowerPotBlock(GRAY_TULIP_BLOCK.get(),
                        Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()));
    public static final RegistryObject<Block> POTTED_GREEN_TULIP_BLOCK = BLOCKS.register("potted_green_tulip", () -> new FlowerPotBlock(GREEN_TULIP_BLOCK.get(),
                        Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()));
    public static final RegistryObject<Block> POTTED_LIGHT_BLUE_TULIP_BLOCK = BLOCKS.register("potted_light_blue_tulip", () -> new FlowerPotBlock(LIGHT_BLUE_TULIP_BLOCK.get(),
                        Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()));
    public static final RegistryObject<Block> POTTED_LIGHT_GRAY_TULIP_BLOCK = BLOCKS.register("potted_light_gray_tulip", () -> new FlowerPotBlock(LIGHT_GRAY_TULIP_BLOCK.get(),
                        Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()));
    public static final RegistryObject<Block> POTTED_LIME_TULIP_BLOCK = BLOCKS.register("potted_lime_tulip", () -> new FlowerPotBlock(LIME_TULIP_BLOCK.get(),
                        Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()));
    public static final RegistryObject<Block> POTTED_MAGENTA_TULIP_BLOCK = BLOCKS.register("potted_magenta_tulip", () -> new FlowerPotBlock(MAGENTA_TULIP_BLOCK.get(),
                        Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()));
    public static final RegistryObject<Block> POTTED_PURPLE_TULIP_BLOCK = BLOCKS.register("potted_purple_tulip", () -> new FlowerPotBlock(PURPLE_TULIP_BLOCK.get(),
                        Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()));
    public static final RegistryObject<Block> POTTED_YELLOW_TULIP_BLOCK = BLOCKS.register("potted_yellow_tulip", () -> new FlowerPotBlock(YELLOW_TULIP_BLOCK.get(),
                        Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()));
    
    public static final RegistryObject<Item> BLACK_TULIP_ITEM = ITEMS.register("black_tulip", () -> new BlockItem(BLACK_TULIP_BLOCK.get(),
                        new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair()));
    public static final RegistryObject<Item> BLUE_TULIP_ITEM = ITEMS.register("blue_tulip", () -> new BlockItem(BLUE_TULIP_BLOCK.get(),
                        new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair()));
    public static final RegistryObject<Item> BROWN_TULIP_ITEM = ITEMS.register("brown_tulip", () -> new BlockItem(BROWN_TULIP_BLOCK.get(),
                        new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair()));
    public static final RegistryObject<Item> CYAN_TULIP_ITEM = ITEMS.register("cyan_tulip", () -> new BlockItem(CYAN_TULIP_BLOCK.get(),
                        new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair()));
    public static final RegistryObject<Item> GRAY_TULIP_ITEM = ITEMS.register("gray_tulip", () -> new BlockItem(GRAY_TULIP_BLOCK.get(),
                        new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair()));
    public static final RegistryObject<Item> GREEN_TULIP_ITEM = ITEMS.register("green_tulip", () -> new BlockItem(GREEN_TULIP_BLOCK.get(),
                        new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair()));
    public static final RegistryObject<Item> LIGHT_BLUE_TULIP_ITEM = ITEMS.register("light_blue_tulip", () -> new BlockItem(LIGHT_BLUE_TULIP_BLOCK.get(),
                        new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair()));
    public static final RegistryObject<Item> LIGHT_GRAY_TULIP_ITEM = ITEMS.register("light_gray_tulip", () -> new BlockItem(LIGHT_GRAY_TULIP_BLOCK.get(),
                        new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair()));
    public static final RegistryObject<Item> LIME_TULIP_ITEM = ITEMS.register("lime_tulip", () -> new BlockItem(LIME_TULIP_BLOCK.get(),
                        new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair()));
    public static final RegistryObject<Item> MAGENTA_TULIP_ITEM = ITEMS.register("magenta_tulip", () -> new BlockItem(MAGENTA_TULIP_BLOCK.get(),
                        new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair()));
    public static final RegistryObject<Item> PURPLE_TULIP_ITEM = ITEMS.register("purple_tulip", () -> new BlockItem(PURPLE_TULIP_BLOCK.get(),
                        new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair()));
    public static final RegistryObject<Item> YELLOW_TULIP_ITEM = ITEMS.register("yellow_tulip", () -> new BlockItem(YELLOW_TULIP_BLOCK.get(),
                        new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair()));
    
    static BlockState BLACK_TULIP;
    static BlockClusterFeatureConfig BLACK_TULIP_CONFIG;
    
    public static Comparator<ItemStack> itemSorter;
    
    public MoreTulips() 
    {
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientRegistries);
        ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus());
        BLOCKS.register(FMLJavaModLoadingContext.get().getModEventBus());
        MinecraftForge.EVENT_BUS.register(this);
    }
    
    private void setup(final FMLCommonSetupEvent event)
    {
        BLACK_TULIP = BLACK_TULIP_BLOCK.get().getDefaultState();
        BLACK_TULIP_CONFIG = (new BlockClusterFeatureConfig.Builder(new SimpleBlockStateProvider(BLACK_TULIP), new SimpleBlockPlacer())).tries(64).build();
        
        List<Item> items = Arrays.asList(YELLOW_TULIP_ITEM.get(),
                                         LIME_TULIP_ITEM.get(),
                                         CYAN_TULIP_ITEM.get(),
                                         BLUE_TULIP_ITEM.get(),
                                         PURPLE_TULIP_ITEM.get(),
                                         MAGENTA_TULIP_ITEM.get(),
                                         LIGHT_BLUE_TULIP_ITEM.get(),
                                         GREEN_TULIP_ITEM.get(),
                                         BROWN_TULIP_ITEM.get(),
                                         BLACK_TULIP_ITEM.get(),
                                         GRAY_TULIP_ITEM.get(),
                                         LIGHT_GRAY_TULIP_ITEM.get());
        
        itemSorter = Ordering.explicit(items).onResultOf(ItemStack::getItem);
        
        DeferredWorkQueue.runLater(() ->
        {
            addModTulips(Biomes.FLOWER_FOREST);
        }
        );
        
    }
    
    private void clientRegistries(final FMLClientSetupEvent event)
    {
        RenderTypeLookup.setRenderLayer(BLACK_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(BLUE_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(BROWN_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(CYAN_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(GRAY_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(GREEN_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(LIGHT_BLUE_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(LIGHT_GRAY_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(LIME_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(MAGENTA_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(PURPLE_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(YELLOW_TULIP_BLOCK.get(), RenderType.getCutout());
        
        RenderTypeLookup.setRenderLayer(POTTED_BLACK_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(POTTED_BLUE_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(POTTED_BROWN_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(POTTED_CYAN_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(POTTED_GRAY_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(POTTED_GREEN_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(POTTED_LIGHT_BLUE_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(POTTED_LIGHT_GRAY_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(POTTED_LIME_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(POTTED_MAGENTA_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(POTTED_PURPLE_TULIP_BLOCK.get(), RenderType.getCutout());
        RenderTypeLookup.setRenderLayer(POTTED_YELLOW_TULIP_BLOCK.get(), RenderType.getCutout());
    }
    
    /*@Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD)
    public static class RegistryEvents
    {
        @SubscribeEvent
        public static void registerBlocks(final RegistryEvent.Register<Block> event)
        {
            event.getRegistry().registerAll(MoreTulipsBlocks.black_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("black_tulip"),
                                            MoreTulipsBlocks.blue_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("blue_tulip"),
                                            MoreTulipsBlocks.brown_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("brown_tulip"),
                                            MoreTulipsBlocks.cyan_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("cyan_tulip"),
                                            MoreTulipsBlocks.gray_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("gray_tulip"),
                                            MoreTulipsBlocks.green_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("green_tulip"),
                                            MoreTulipsBlocks.light_blue_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("light_blue_tulip"),
                                            MoreTulipsBlocks.light_gray_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("light_gray_tulip"),
                                            MoreTulipsBlocks.lime_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("lime_tulip"),
                                            MoreTulipsBlocks.magenta_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("magenta_tulip"),
                                            MoreTulipsBlocks.purple_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("purple_tulip"),
                                            MoreTulipsBlocks.yellow_tulip = new FlowerBlock(Effects.WEAKNESS, 9,
                                            Block.Properties.create(Material.PLANTS).doesNotBlockMovement().
                                            hardnessAndResistance(0f).sound(SoundType.PLANT)).setRegistryName("yellow_tulip"),
                                            
                                            MoreTulipsBlocks.potted_black_tulip = new FlowerPotBlock(MoreTulipsBlocks.black_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_black_tulip"),
                                            MoreTulipsBlocks.potted_blue_tulip = new FlowerPotBlock(MoreTulipsBlocks.blue_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_blue_tulip"),
                                            MoreTulipsBlocks.potted_brown_tulip = new FlowerPotBlock(MoreTulipsBlocks.brown_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_brown_tulip"),
                                            MoreTulipsBlocks.potted_cyan_tulip = new FlowerPotBlock(MoreTulipsBlocks.cyan_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_cyan_tulip"),
                                            MoreTulipsBlocks.potted_gray_tulip = new FlowerPotBlock(MoreTulipsBlocks.gray_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_gray_tulip"),
                                            MoreTulipsBlocks.potted_green_tulip = new FlowerPotBlock(MoreTulipsBlocks.green_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_green_tulip"),
                                            MoreTulipsBlocks.potted_light_blue_tulip = new FlowerPotBlock(MoreTulipsBlocks.light_blue_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_light_blue_tulip"),
                                            MoreTulipsBlocks.potted_light_gray_tulip = new FlowerPotBlock(MoreTulipsBlocks.light_gray_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_light_gray_tulip"),
                                            MoreTulipsBlocks.potted_lime_tulip = new FlowerPotBlock(MoreTulipsBlocks.lime_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_lime_tulip"),
                                            MoreTulipsBlocks.potted_magenta_tulip = new FlowerPotBlock(MoreTulipsBlocks.magenta_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_magenta_tulip"),
                                            MoreTulipsBlocks.potted_purple_tulip = new FlowerPotBlock(MoreTulipsBlocks.purple_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_purple_tulip"),
                                            MoreTulipsBlocks.potted_yellow_tulip = new FlowerPotBlock(MoreTulipsBlocks.yellow_tulip,
                                            Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).
                                            notSolid()).setRegistryName("potted_yellow_tulip"));
        }
        
        @SubscribeEvent
        public static void registerItems(final RegistryEvent.Register<Item> event)
        {
            event.getRegistry().registerAll(MoreTulipsItems.black_tulip = new BlockItem(MoreTulipsBlocks.black_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("black_tulip"),
                                            MoreTulipsItems.blue_tulip = new BlockItem(MoreTulipsBlocks.blue_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("blue_tulip"),
                                            MoreTulipsItems.brown_tulip = new BlockItem(MoreTulipsBlocks.brown_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("brown_tulip"),
                                            MoreTulipsItems.cyan_tulip = new BlockItem(MoreTulipsBlocks.cyan_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("cyan_tulip"),
                                            MoreTulipsItems.gray_tulip = new BlockItem(MoreTulipsBlocks.gray_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("gray_tulip"),
                                            MoreTulipsItems.green_tulip = new BlockItem(MoreTulipsBlocks.green_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("green_tulip"),
                                            MoreTulipsItems.light_blue_tulip = new BlockItem(MoreTulipsBlocks.light_blue_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("light_blue_tulip"),
                                            MoreTulipsItems.light_gray_tulip = new BlockItem(MoreTulipsBlocks.light_gray_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("light_gray_tulip"),
                                            MoreTulipsItems.lime_tulip = new BlockItem(MoreTulipsBlocks.lime_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("lime_tulip"),
                                            MoreTulipsItems.magenta_tulip = new BlockItem(MoreTulipsBlocks.magenta_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("magenta_tulip"),
                                            MoreTulipsItems.purple_tulip = new BlockItem(MoreTulipsBlocks.purple_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("purple_tulip"),
                                            MoreTulipsItems.yellow_tulip = new BlockItem(MoreTulipsBlocks.yellow_tulip,
                                            new Item.Properties().defaultMaxDamage(0).group(MORE_TULIPS).maxStackSize(64).
                                            rarity(Rarity.COMMON).setNoRepair()).setRegistryName("yellow_tulip"));
        }
    }*/
    
    public static void addModTulips(Biome biomeIn)
    {
        biomeIn.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Feature.FLOWER.withConfiguration(BLACK_TULIP_CONFIG).withPlacement(Placement.COUNT_HEIGHTMAP_32.configure(new FrequencyConfig(100))));
    }
}

Edit:

 

i think i found it now, saw, that the yellow tulip at the blocks registry had the registry name "purple_tulip".

fixed it now and test it

Edited by Drachenbauer
Link to comment
Share on other sites

Now it works.

I created a new flower forest world and started directly in a patch of my own black tulips.

Now i just have to register the other tulips to biome the same way.

 

Edit:

Now i modifyed my Config-line for the biome, that it makes patches with a mix of all my tulip-colors.

 

Now i hace some more questions:

Where are the Blockstates from the vanilla-tulips?

I want to add them to my mixed tulip patches, too.

 

How can i make, that only my code adds tulips to the biomes?

Edited by Drachenbauer
Link to comment
Share on other sites

private static final BlockState DANDELION = Blocks.DANDELION.getDefaultState();

I mean code-lines like this for the tulips.

This sample is the one for the dandelion and is located in the DefaultBiomeFeatures..

 

Or can i write my own into my code?

Now i´fe written my own lines of this.

 

How can i now make only my code generate tulips in the biomes?

 

I want to use my code for all biomes with tulips.

My idea is to use the set BIOMES in the class Biome and make a for-loop, that goes through the biomes:

for (Biome biome : Biome.BIOMES)
{

}

And inside therei want to check for tuips in the biomes and if yes, use my code..

For this i have a question

 

How can i check, if a biome has tulips?

Edited by Drachenbauer
Link to comment
Share on other sites

Now i try this to check for tulips:

        DeferredWorkQueue.runLater(() ->
        {
            for (Biome biome : Biome.BIOMES)
            {
                /*if (biome.getFlowers().contains(o))
                {
                    
                }*/
                System.out.print(biome.getFlowers());
            }
            
            addModTulips(Biomes.FLOWER_FOREST);
        }
        );

At first i want to use an output to see, how the content of the flower-list looks.

But i find no result in the console...

Do i just not know, where in the console output i have to find output from the common-setup?

Or is there any reason, that this gives no output?

 

In another mod i used this output-command in a model-class and found it´s output in the console.

Link to comment
Share on other sites

12 hours ago, Drachenbauer said:

private static final BlockState DANDELION = Blocks.DANDELION.getDefaultState();

I mean code-lines like this for the tulips.

This sample is the one for the dandelion and is located in the DefaultBiomeFeatures..

 

Or can i write my own into my code?

Now i´fe written my own lines of this.

 

How can i now make only my code generate tulips in the biomes?

 

I want to use my code for all biomes with tulips.

My idea is to use the set BIOMES in the class Biome and make a for-loop, that goes through the biomes:


for (Biome biome : Biome.BIOMES)
{

}

And inside therei want to check for tuips in the biomes and if yes, use my code..

For this i have a question

 

How can i check, if a biome has tulips?

No, i think you should see the Json Blockstate.

New in Modding? == Still learning!

Link to comment
Share on other sites

Now i have this:

 

        DeferredWorkQueue.runLater(() ->
        {
            System.out.println("Blumenliste:");
            
            for (Biome biome : Biome.BIOMES)
            {
                /*if (biome.getFlowers().contains(o))
                {
                    
                }*/
                
                System.out.println(biome);
                System.out.println(biome.getFlowers());
            }
            
            addModTulips(Biomes.FLOWER_FOREST);
            System.out.println("FLOWER_FOREST:");
            System.out.println(Biomes.FLOWER_FOREST);
            System.out.println(Biomes.FLOWER_FOREST.getFlowers());
        }
        );

 

and in the console i found this:

Spoiler

[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:217]: Blumenliste:
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.OceanBiome@706d2bae
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@504f2bcd]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.JungleEdgeBiome@42db955e
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@3c7e7ffd]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.SnowyMountainsBiome@5ddf5118
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@45d28ab7]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.JungleHillsBiome@64fc6470
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@51dd74a0]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.DesertHillsBiome@512dc0e0
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@78652c15]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.TaigaBiome@43b45ce4
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@372b2573]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.FrozenRiverBiome@bea283b
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@66fd9613]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.BadlandsPlateauBiome@7474196
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: []
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.ForestBiome@4b240276
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@5c3f9618]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.WoodedHillsBiome@75063bd0
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@deb0c0e]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.DarkForestBiome@7f5e9949
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@6385b07d]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.GiantTreeTaigaHillsBiome@69419d59
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@6942ff10]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.DeepOceanBiome@6c8ad6d7
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@49ed3b76]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.BirchForestHillsBiome@1b10f60e
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@1c33d539]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.GiantTreeTaigaBiome@186d6033
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@527b989a]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.WoodedBadlandsPlateauBiome@744fb110
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: []
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.WoodedMountainsBiome@96075c0
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@2c3f47ba]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.MushroomFieldsBiome@fcd3a6f
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: []
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.RiverBiome@2459333a
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@ca9ffc0]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.StoneShoreBiome@33e8694b
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@e316971]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.PlainsBiome@54e06788
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@808f65]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.JungleBiome@43cbafa6
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@56540a58]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.SnowyTundraBiome@22854f2b
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@15c0a8ad]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.DesertBiome@5751e53e
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@10bf2185]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.BadlandsBiome@5bba9949
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: []
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.SavannaBiome@4679554d
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@14c06f50]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.SnowyTaigaBiome@2e02cc37
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@6230a15a]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.SwampBiome@1835b783
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@7225f871]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.TaigaHillsBiome@5c60f096
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@1bff4cb9]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.SavannaPlateauBiome@49353d43
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@c521a79]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.SnowyBeachBiome@75c15f76
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@6b0f50d8]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.MountainsBiome@19ce19b7
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@36b4cbb8]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.BirchForestBiome@1344f7fe
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@57cfd353]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.BeachBiome@7030b74c
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@4bd29a01]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.SnowyTaigaHillsBiome@652a1a17
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: [net.minecraft.world.gen.feature.ConfiguredFeature@5a4a8a33]
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:226]: net.minecraft.world.biome.MushroomFieldShoreBiome@5f35370b
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:227]: []
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:231]: FLOWER_FOREST:
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:232]: net.minecraft.world.biome.FlowerForestBiome@2d3eb1ea
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:233]: [net.minecraft.world.gen.feature.ConfiguredFeature@4a3363c9, net.minecraft.world.gen.feature.ConfiguredFeature@63cf6497]

This looks like Flower Forwst does not appear in the biomes-list...

and i still don´t know, what i should place intead of the "flower" in this code:

                if (biome.getFlowers().contains(flower))
                {
                    
                }

to check, if it for sample contains red tulips...

 

Edit:

in a Minecraft wiki, i saw, that tulips only appear in Plains, Sunflower Plains and Flower Forest.

Is this right?

 

If Yes, i simply can use 3 lines of my methode-call with theese biomes given as param.

Edited by Drachenbauer
Link to comment
Share on other sites

52 minutes ago, Drachenbauer said:

This looks like Flower Forwst does not appear in the biomes-list...

52 minutes ago, Drachenbauer said:

[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:232]: net.minecraft.world.biome.FlowerForestBiome@2d3eb1ea
[m[32m[13:29:21] [Render thread/INFO] [STDOUT/]: [drachenbauer32.moretulipsmod.MoreTulips:lambda$39:233]: [net.minecraft.world.gen.feature.ConfiguredFeature@4a3363c9, net.minecraft.world.gen.feature.ConfiguredFeature@63cf6497]

???

 

54 minutes ago, Drachenbauer said:

and i still don´t know, what i should place intead of the "flower" in this code:

You cannot use contains. You have to check if any of the elements use Feature.DECORATED_FLOWER. You could use a Stream and Stream#anyMatch.

Link to comment
Share on other sites

1 hour ago, Drachenbauer said:

In a wiki i saw, there are only 3 biomes, wich contain tulips.

If this is right, i think, i just can three times call my method and give theese biomes as arguments.

You could do that, but you would miss biomes added by mods.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now


  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Okay so I redid everything and now it is working. I have no idea what I did different but it worked. Thank you for your time.
    • If you read your logs, it would be using Java 17. I assumed that you modified the JVM installation in the profile. However, it working indicates that you haven't, meaning you were just using the version of Java shipped with the client. I will reiterate that Minecraft 1.19 was compiled with Java 17, which means it will only be forward compatible with newer versions and crash on older versions with a class version error.
    • it worked before, but now I have an entirely different problem with an entirely different modpack   ---- Minecraft Crash Report ---- // Don't do that. Time: 2023-06-01 09:33:49 Description: Rendering overlay java.lang.IllegalStateException: Failed to create model for minecraft:hanging_sign     at net.minecraft.client.renderer.blockentity.BlockEntityRenderers.m_257086_(BlockEntityRenderers.java:26) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at java.util.concurrent.ConcurrentHashMap.forEach(ConcurrentHashMap.java:1603) ~[?:?] {}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderers.m_173598_(BlockEntityRenderers.java:22) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher.m_6213_(BlockEntityRenderDispatcher.java:125) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:supplementaries.mixins.json:BlockEntityRendererDispatcherMixin,pl:mixin:A}     at net.minecraft.server.packs.resources.ResourceManagerReloadListener.m_10759_(ResourceManagerReloadListener.java:15) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:classloading,re:mixin}     at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:787) ~[?:?] {}     at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {}     at net.minecraft.server.packs.resources.SimpleReloadInstance.m_143940_(SimpleReloadInstance.java:69) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:classloading}     at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:156) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,re:computing_frames,re:classloading}     at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:130) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.util.thread.BlockableEventLoop.m_18699_(BlockableEventLoop.java:115) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1108) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:combatroll.mixins.json:MinecraftClientMixin,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient,pl:mixin:APP:neat.mixins.json:MinecraftMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:carryon.mixins.json:MinecraftMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mining_helmet.mixins.json:MinecraftMixin,pl:mixin:APP:travelerstitles.mixins.json:MinecraftClientTickMixin,pl:mixin:APP:mixin.dynamic_asset_generator.json:MinecraftMixin,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientAccessor,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientInject,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:719) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:combatroll.mixins.json:MinecraftClientMixin,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient,pl:mixin:APP:neat.mixins.json:MinecraftMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:carryon.mixins.json:MinecraftMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mining_helmet.mixins.json:MinecraftMixin,pl:mixin:APP:travelerstitles.mixins.json:MinecraftClientTickMixin,pl:mixin:APP:mixin.dynamic_asset_generator.json:MinecraftMixin,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientAccessor,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientInject,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:205) ~[1.19.4-forge-45.0.66.jar:?] {re:classloading,re:mixin,pl:runtimedistcleaner:A,pl:mixin:A,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.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:27) ~[fmlloader-1.19.4-45.0.66.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {} Caused by: java.lang.IllegalArgumentException: No model for layer supplementaries:hanging_sign_extension#hanging_sign_extension     at net.minecraft.client.model.geom.EntityModelSet.m_171103_(EntityModelSet.java:17) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,re:classloading,pl:mixin:APP:witherstormmod.mixins.json:IMixinEntityModelSet,pl:mixin:A}     at net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider$Context.m_173582_(BlockEntityRendererProvider.java:52) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,re:classloading}     at net.minecraft.client.renderer.blockentity.HangingSignRenderer.handler$zkj000$initEnhancedSign(HangingSignRenderer.java:569) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,re:classloading,pl:mixin:APP:supplementaries-common.mixins.json:HangingSignRendererMixin,pl:mixin:A}     at net.minecraft.client.renderer.blockentity.HangingSignRenderer.<init>(HangingSignRenderer.java:49) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,re:classloading,pl:mixin:APP:supplementaries-common.mixins.json:HangingSignRendererMixin,pl:mixin:A}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderers.m_257086_(BlockEntityRenderers.java:24) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     ... 27 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at net.minecraft.client.renderer.blockentity.BlockEntityRenderers.m_257086_(BlockEntityRenderers.java:26) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at java.util.concurrent.ConcurrentHashMap.forEach(ConcurrentHashMap.java:1603) ~[?:?] {}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderers.m_173598_(BlockEntityRenderers.java:22) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher.m_6213_(BlockEntityRenderDispatcher.java:125) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:supplementaries.mixins.json:BlockEntityRendererDispatcherMixin,pl:mixin:A}     at net.minecraft.server.packs.resources.ResourceManagerReloadListener.m_10759_(ResourceManagerReloadListener.java:15) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:classloading,re:mixin}     at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:787) ~[?:?] {}     at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {}     at net.minecraft.server.packs.resources.SimpleReloadInstance.m_143940_(SimpleReloadInstance.java:69) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:classloading}     at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:156) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,re:computing_frames,re:classloading}     at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:130) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B} -- Overlay render details -- Details:     Overlay name: net.minecraft.client.gui.screens.LoadingOverlay Stacktrace:     at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:943) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:supplementaries-common.mixins.json:GameRendererMixin,pl:mixin:APP:witherstormmod.mixins.json:IMixinGameRenderer,pl:mixin:APP:witherstormmod.mixins.json:MixinGameRenderer,pl:mixin:APP:tombstone.mixins.json:GameRendererMixin,pl:mixin:APP:jade.mixins.json:GameRendererMixin,pl:mixin:APP:ad_astra-common.mixins.json:client.GameRendererMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1148) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:combatroll.mixins.json:MinecraftClientMixin,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient,pl:mixin:APP:neat.mixins.json:MinecraftMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:carryon.mixins.json:MinecraftMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mining_helmet.mixins.json:MinecraftMixin,pl:mixin:APP:travelerstitles.mixins.json:MinecraftClientTickMixin,pl:mixin:APP:mixin.dynamic_asset_generator.json:MinecraftMixin,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientAccessor,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientInject,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:719) ~[client-1.19.4-20230314.122934-srg.jar%23440!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:combatroll.mixins.json:MinecraftClientMixin,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient,pl:mixin:APP:neat.mixins.json:MinecraftMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:carryon.mixins.json:MinecraftMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mining_helmet.mixins.json:MinecraftMixin,pl:mixin:APP:travelerstitles.mixins.json:MinecraftClientTickMixin,pl:mixin:APP:mixin.dynamic_asset_generator.json:MinecraftMixin,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientAccessor,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientInject,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:205) ~[1.19.4-forge-45.0.66.jar:?] {re:classloading,re:mixin,pl:runtimedistcleaner:A,pl:mixin:A,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.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:27) ~[fmlloader-1.19.4-45.0.66.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {} -- Last reload -- Details:     Reload number: 1     Reload reason: initial     Finished: No     Packs: vanilla -- System Details -- Details:     Minecraft Version: 1.19.4     Minecraft Version ID: 1.19.4     Operating System: Windows 10 (amd64) version 10.0     Java Version: 17.0.3, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 609919896 bytes (581 MiB) / 1140850688 bytes (1088 MiB) up to 13958643712 bytes (13312 MiB)     CPUs: 16     Processor Vendor: AuthenticAMD     Processor Name: AMD Ryzen 9 5900HX with Radeon Graphics             Identifier: AuthenticAMD Family 25 Model 80 Stepping 0     Microarchitecture: Zen 3     Frequency (GHz): 3.29     Number of physical packages: 1     Number of physical CPUs: 8     Number of logical CPUs: 16     Graphics card #0 name: NVIDIA GeForce RTX 3060 Laptop GPU     Graphics card #0 vendor: NVIDIA (0x10de)     Graphics card #0 VRAM (MB): 4095.00     Graphics card #0 deviceId: 0x2520     Graphics card #0 versionInfo: DriverVersion=30.0.15.1278     Graphics card #1 name: AMD Radeon(TM) Graphics     Graphics card #1 vendor: Advanced Micro Devices, Inc. (0x1002)     Graphics card #1 VRAM (MB): 512.00     Graphics card #1 deviceId: 0x1638     Graphics card #1 versionInfo: DriverVersion=30.0.13002.19003     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): 23984.34     Virtual memory used (MB): 14934.35     Swap memory total (MB): 8192.00     Swap memory used (MB): 74.50     JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx13G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M     Launched Version: 1.19.4-forge-45.0.66     Backend library: LWJGL version 3.3.1 build 7     Backend API: AMD Radeon(TM) Graphics GL version 3.2.14761 Core Profile Forward-Compatible Context 21.30.02.19 30.0.13002.19003, ATI Technologies Inc.     Window size: 854x480     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: en_us     CPU: 16x AMD Ryzen 9 5900HX with Radeon Graphics      Client Crashes Since Restart: 1     Integrated Server Crashes Since Restart: 0     ModLauncher: 10.0.8+10.0.8+main.0ef7e830     ModLauncher launch target: forgeclient     ModLauncher naming: srg     ModLauncher services:          mixin-0.8.5.jar mixin PLUGINSERVICE          eventbus-6.0.3.jar eventbus PLUGINSERVICE          fmlloader-1.19.4-45.0.66.jar slf4jfixer PLUGINSERVICE          fmlloader-1.19.4-45.0.66.jar object_holder_definalize PLUGINSERVICE          fmlloader-1.19.4-45.0.66.jar runtime_enum_extender PLUGINSERVICE          fmlloader-1.19.4-45.0.66.jar capability_token_subclass PLUGINSERVICE          accesstransformers-8.0.4.jar accesstransformer PLUGINSERVICE          fmlloader-1.19.4-45.0.66.jar runtimedistcleaner PLUGINSERVICE          modlauncher-10.0.8.jar mixin TRANSFORMATIONSERVICE          modlauncher-10.0.8.jar fml TRANSFORMATIONSERVICE      FML Language Providers:          minecraft@1.0         javafml@null         kotlinforforge@4.2.0         lowcodefml@null     Mod List:          client-1.19.4-20230314.122934-srg.jar             |Minecraft                     |minecraft                     |1.19.4              |NONE      |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-1.19.4-45.0.66-universal.jar                |Forge                         |forge                         |45.0.66             |NONE      |Manifest: 84:ce:76:e8:45:35:e4:0e:63:86:df:47:59:80:0f:67:6c:c1:5f:6e:5f:4d:b3:54:47:1a:9f:7f:ed:5e:f2:90     Suspected Mods: Minecraft (minecraft)
    • https://intellimindz.com/node-js-training-in-chennai/ IntelliMindz’s Node.js training in Chennai takes you all the way from the basics to writing and deploying an application using the Express framework. Here you will learn the use of Modules, Stream, Events, how to communicate with the databases, how to test and debug the Node.js application.
    • nvm i fixed it it was the pre loading screen mod i had.  
  • Topics

×
×
  • Create New...

Important Information

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