Jump to content

[1.16.4] How do I make my ore generate thru the world?


meta

Recommended Posts

17 hours ago, ChampionAsh5357 said:

1. Create a ConfiguredFeature and register it (look at the Features class for examples).

2. Attach it via BiomeLoadingEvent (read the javadocs on the event as applicable to your situation).

I have the same questions. From what I gathered from this reply I made a ModFeatures class, where I register the ConfiguredFeatures, however how do I attach it to the BiomeLoadingEvent? I tried using the deferred registries the same way I did for blocks and items but it errors out because the block to generate isn't registered yet, even tho I am calling the register method in the Features Deferred Register after the Blocks Deferred Register

  • Like 1
Link to comment
Share on other sites

2 hours ago, kiou.23 said:

I tried using the deferred registries the same way I did for blocks and items but it errors out because the block to generate isn't registered yet, even tho I am calling the register method in the Features Deferred Register after the Blocks Deferred Register

You should post your repo so that we don't have to guess. If I had to, you're probably create static final variables without considering loading order for the configured feature. In which case, they need to be registered during common setup or at least after placements. 

2 hours ago, kiou.23 said:

From what I gathered from this reply I made a ModFeatures class, where I register the ConfiguredFeatures, however how do I attach it to the BiomeLoadingEvent?

BiomeLoadingEvent holds methods. Read the javadoc and look through the method to find which one is used to add a configured feature.

Link to comment
Share on other sites

1 hour ago, ChampionAsh5357 said:

You should post your repo so that we don't have to guess. If I had to, you're probably create static final variables without considering loading order for the configured feature. In which case, they need to be registered during common setup or at least after placements. 

BiomeLoadingEvent holds methods. Read the javadoc and look through the method to find which one is used to add a configured feature.

I managed to get it working! thanks, I want to know if this is the proper way of doing it tho

this is my ModFeatures class:

public class ModFeatures {

    public static final DeferredRegister<Feature<?>> FEATURES = DeferredRegister.create(ForgeRegistries.FEATURES, TutorialMod.MOD_ID);

    public static final ConfiguredFeature<?, ?> ORE_SILVER = register("ore_silver",
        Feature.ORE.withConfiguration(
            new OreFeatureConfig(
                OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD,
                ModBlocks.SILVER_ORE.get().getDefaultState(), 9
        )).range(64).square().func_242731_b(20)
    );

    private static <FC extends IFeatureConfig> ConfiguredFeature<FC, ?> register(String key, ConfiguredFeature<FC, ?> configuredFeature) {
        return Registry.register(WorldGenRegistries.CONFIGURED_FEATURE, key, configuredFeature);
    }
}

And this is the main Mod class:

@Mod(TutorialMod.MOD_ID)
public class TutorialMod
{
    public static final String MOD_ID = "tutorial";
    public static final Logger LOGGER = LogManager.getLogger();

    public TutorialMod() {
        IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();

        ModEntities.ENTITY_TYPES.register(modEventBus);
        ModContainerTypes.CONTAINER_TYPES.register(modEventBus);
        ModTileEntityTypes.TILE_ENTITY_TYPES.register(modEventBus);
        ModBlocks.BLOCKS.register(modEventBus);
        ModItems.ITEMS.register(modEventBus);

        modEventBus.addListener(this::setup);
        modEventBus.addListener(this::doClientStuff);

        MinecraftForge.EVENT_BUS.register(this);
    }

    private void setup(final FMLCommonSetupEvent event) {
        IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();

        ModFeatures.FEATURES.register(modEventBus);
    }

    private void doClientStuff(final FMLClientSetupEvent event) {
        DeferredWorkQueue.runLater(() -> {
            ScreenManager.registerFactory(ModContainerTypes.TRANSMUTER.get(), TransmuterScreen::new);
            ScreenManager.registerFactory(ModContainerTypes.CHARGER.get(), ChargerScreen::new);
        });
    }

    @SubscribeEvent
    public void biomeGeneration(final BiomeLoadingEvent event) {
        event.getGeneration().getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES)
            .add(() -> ModFeatures.ORE_SILVER);
    }

    public static final ItemGroup ITEM_GROUP = new ItemGroup(TutorialMod.MOD_ID) {
        @Override
        public ItemStack createIcon() {
            return new ItemStack(ModItems.SILVER_INGOT.get());
        }
    };
}

 

 

Additionally, I would like to know how this piece of code works, I have a vgue idea, but I basically just copied it from the Iron Ore Feature

Feature.ORE.withConfiguration(
            new OreFeatureConfig(
                OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD,
                ModBlocks.SILVER_ORE.get().getDefaultState(), 9
        )).range(64).square().func_242731_b(20)

 

Link to comment
Share on other sites

10 hours ago, kiou.23 said:

public static final ConfiguredFeature<?, ?> ORE_SILVER = register("ore_silver", Feature.ORE.withConfiguration( new OreFeatureConfig( OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD, ModBlocks.SILVER_ORE.get().getDefaultState(), 9 )).range(64).square().func_242731_b(20) );

The configured feature should be deferred and registered during common setup. In most cases, this would throw an NPE as the registries would not have been populated yet. You're technically cheating by lazily loading the class using a register method for a deferred registry. They should always be attached within the constructor. Just simply register normally in common setup instead of lazily loading a class in a potential error way. Since you're also not creating a feature, it makes no sense to attach the register.

11 hours ago, kiou.23 said:

Feature.ORE.withConfiguration( new OreFeatureConfig( OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD, ModBlocks.SILVER_ORE.get().getDefaultState(), 9 )).range(64).square().func_242731_b(20)

This creates a configured feature using the standard ore algorithm feature which replaces anything within the stone tag (BASE_STONE_OVERWORLD) with silver ore in up to veins of 9. Reading inward, the feature is placed 20 times (func_242731_b) based on a random x/z position in the chunk (square) from 0 - 64. If the block the placement lands on is not valid, it will not generate the ore in that location. 

Link to comment
Share on other sites

8 hours ago, ChampionAsh5357 said:

The configured feature should be deferred and registered during common setup. In most cases, this would throw an NPE as the registries would not have been populated yet. You're technically cheating by lazily loading the class using a register method for a deferred registry. They should always be attached within the constructor. Just simply register normally in common setup instead of lazily loading a class in a potential error way. Since you're also not creating a feature, it makes no sense to attach the register.

So instead of calling Registry.register, I should call FEATURES.register? and since I'm registering FEATURES in the setup it should be fine, right?

 

edit: I tried that, but FEATURES.register complains that Feature.ORE.withConfiguration doesn't extends Feature<?>, so how should I go about registering the feature?

Edited by kiou.23
update
Link to comment
Share on other sites

Okay, I declared a Deferred Register of type Feature<?> and registered to it like so:

    public static final DeferredRegister<Feature<?>> FEATURES = DeferredRegister.create(ForgeRegistries.FEATURES, TutorialMod.MOD_ID);

    public static final RegistryObject<Feature<?>> ORE_SILVER = FEATURES.register("ore_silver", () ->
        Feature.ORE.withConfiguration(
            new OreFeatureConfig(
                OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD,
                ModBlocks.SILVER_ORE.get().getDefaultState(),
                9
            )
        ).range(64).square().func_242731_b(20).feature
    );

This doesn't seem to be correct also as for adding the feature to the biome it asks for a configured feature

Link to comment
Share on other sites

like this? this doesn't look right at all

public class ModFeatures {

    public static final DeferredRegister<Feature<?>> FEATURES = DeferredRegister.create(ForgeRegistries.FEATURES, TutorialMod.MOD_ID);

    public static final ConfiguredFeature<?, ?> ORE_SILVER_CONFIG = Feature.ORE.withConfiguration(
        new OreFeatureConfig(
            OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD,
            ModBlocks.SILVER_ORE.get().getDefaultState(),
            9
        )
    ).range(64).square().func_242731_b(20);

    public static final RegistryObject<Feature<?>> ORE_SILVER = FEATURES.register("ore_silver", () ->
        ORE_SILVER_CONFIG.feature
    );
}
    @SubscribeEvent
    public void biomeGeneration(final BiomeLoadingEvent biome) {
        if(biome.getCategory() == Biome.Category.NETHER || biome.getCategory() == Biome.Category.THEEND) return;

        biome.getGeneration().getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES)
            .add(() -> ModFeatures.ORE_SILVER_CONFIG);
    }

 

sorry for posting repeatedly, I'm just trying to undesrtand how to do this

Link to comment
Share on other sites

2 hours ago, kiou.23 said:

So instead of calling Registry.register, I should call FEATURES.register? and since I'm registering FEATURES in the setup it should be fine, right?

 

edit: I tried that, but FEATURES.register complains that Feature.ORE.withConfiguration doesn't extends Feature<?>, so how should I go about registering the feature?

No, that's not what I said. I said the feature registry is irrelevant, you're not using it. The ConfiguredFeature should be initialized and registered during common setup.

Link to comment
Share on other sites

17 minutes ago, ChampionAsh5357 said:

No, that's not what I said. I said the feature registry is irrelevant, you're not using it. The ConfiguredFeature should be initialized and registered during common setup.

OHHHHH I got it, I don't need the Feature Register at all! I commented it out to check and it still generates, I just need the ConfiguredFeatures and then add them to the biomes in a BiomeLoadingEvent Handler (right?)

I would need the Feature Register if I were to register a whole new type of feature, correct?

Edited by kiou.23
corrected spelling
Link to comment
Share on other sites

5 minutes ago, I'mBadAtModding said:

how do you get the filler block to be End Stone? I got it working in the overworld, but not in The End

I would think you need to create your own Rule Test, and match it against the End Stone Block, like so:

 new BlockMatchRuleTest(Blocks.END_STONE)

and then pass it in the place for the Filler Block Type in the Configured Feature. And in your BiomeLoadingEvent Handler you can test if the Category is equal to Biome.Category.THEEND

Link to comment
Share on other sites

3 hours ago, kiou.23 said:

OHHHHH I got it, I don't need the Feature Register at all! I commented it out to check and it still generates, I just need the ConfiguredFeatures and then add them to the biomes in a BiomeLoadingEvent Handler (right?)

I would need the Feature Register if I were to register a whole new type of feature, correct?

Yes, I would still like to verify that you deferred initialization and registry of the ConfiguredFeature to the common setup event.

Link to comment
Share on other sites

57 minutes ago, ChampionAsh5357 said:

Yes, I would still like to verify that you deferred initialization and registry of the ConfiguredFeature to the common setup event.

And how would I do that?... I think so, but I'm not sure I did because I only had the Features deferred Register in the common setup

public class ModFeatures {

    public static final ConfiguredFeature<?, ?> ORE_SILVER_CONFIG = Feature.ORE.withConfiguration(
        new OreFeatureConfig(
            OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD,
            ModBlocks.SILVER_ORE.get().getDefaultState(),
            9
        )
    ).range(64).square().func_242731_b(20);

}
@Mod(TutorialMod.MOD_ID)
public class TutorialMod
{
    public static final String MOD_ID = "tutorial";
    public static final Logger LOGGER = LogManager.getLogger();

    public TutorialMod() {
        IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();

        ModEntities.ENTITY_TYPES.register(modEventBus);
        ModContainerTypes.CONTAINER_TYPES.register(modEventBus);
        ModTileEntityTypes.TILE_ENTITY_TYPES.register(modEventBus);
        ModBlocks.BLOCKS.register(modEventBus);
        ModItems.ITEMS.register(modEventBus);

        modEventBus.addListener(this::setup);
        modEventBus.addListener(this::clientSetup);

        MinecraftForge.EVENT_BUS.register(this);
    }

    private void setup(final FMLCommonSetupEvent event) {
        
    }

    private void clientSetup(final FMLClientSetupEvent event) {
        DeferredWorkQueue.runLater(() -> {
            ScreenManager.registerFactory(ModContainerTypes.TRANSMUTER.get(), TransmuterScreen::new);
            ScreenManager.registerFactory(ModContainerTypes.CHARGER.get(), ChargerScreen::new);
        });
    }

    @SubscribeEvent
    public void onBiomeLoading(final BiomeLoadingEvent biome) {
        if(biome.getCategory() == Biome.Category.NETHER || biome.getCategory() == Biome.Category.THEEND) return;

        biome.getGeneration().getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES)
            .add(() -> ModFeatures.ORE_SILVER_CONFIG);
    }

    public static final ItemGroup ITEM_GROUP = new ItemGroup(TutorialMod.MOD_ID) {
        @Override
        public ItemStack createIcon() {
            return new ItemStack(ModItems.SILVER_INGOT.get());
        }
    };
}

 

Link to comment
Share on other sites

11 minutes ago, ChampionAsh5357 said:

Initialize the variable within the method event.

Like so?

@Mod.EventBusSubscriber(modid = TutorialMod.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
public class ModFeatures {

    @SubscribeEvent
    public void onBiomeLoading(BiomeLoadingEvent biome) {
        final ConfiguredFeature<?, ?> ORE_SILVER_CONFIG = Feature.ORE.withConfiguration(
            new OreFeatureConfig(
                OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD,
                ModBlocks.SILVER_ORE.get().getDefaultState(),
                9
            )
        ).range(64).square().func_242731_b(20);

        if(biome.getCategory() == Biome.Category.NETHER || biome.getCategory() == Biome.Category.THEEND) return;

        biome.getGeneration().getFeatures(GenerationStage.Decoration.UNDERGROUND_ORES)
                .add(() -> ORE_SILVER_CONFIG);
        
    }
}

 

Link to comment
Share on other sites

3 minutes ago, ChampionAsh5357 said:

No, that will create the ConfiguredFeature every single time the event is called, which is too many times. This is not to mention you are no longer registering the ConfiguredFeature. Create a global field and initialize it within the common setup.

So like so?

public class ModFeatures {

    public static ConfiguredFeature<?, ?> ORE_SILVER_CONFIG;

    @SubscribeEvent
    public void setup(FMLCommonSetupEvent event) {
        ORE_SILVER_CONFIG = Feature.ORE.withConfiguration(
            new OreFeatureConfig(
                    OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD,
                    ModBlocks.SILVER_ORE.get().getDefaultState(),
                    9
            )
        ).range(64).square().func_242731_b(20);
    }
}

 

and then adding it to the biomes in the main Class like I was doing before

Link to comment
Share on other sites

16 minutes ago, ChampionAsh5357 said:

You still need to register it but yes, that's exactly how you would do it. Take a look at the Features class for the registry method to copy and use. Since it returns the object itself, you can just modify as needed.

Got it, so just to confirm, like this right?

@Mod.EventBusSubscriber(modid = TutorialMod.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
public class ModFeatures {

    public static ConfiguredFeature<?, ?> ORE_SILVER_CONFIG;

    @SubscribeEvent
    public void setup(FMLCommonSetupEvent event) {
        ORE_SILVER_CONFIG = register("ore_silver",
            Feature.ORE.withConfiguration(
                new OreFeatureConfig(
                    OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD,
                    ModBlocks.SILVER_ORE.get().getDefaultState(),
                    9
                )
        ).range(64).square().func_242731_b(20));
    }

    private <FC extends IFeatureConfig> ConfiguredFeature<FC, ?> register(String key, ConfiguredFeature<FC, ?> configuredFeature) {
        return Registry.register(WorldGenRegistries.CONFIGURED_FEATURE, key, configuredFeature);
    }
}

 

What happens if I don't register it tho? because it was generating just fine

Link to comment
Share on other sites

1 hour ago, kiou.23 said:

Got it, so just to confirm, like this right?

Yes, the method should be static though.

1 hour ago, kiou.23 said:

What happens if I don't register it tho? because it was generating just fine

You won't see any issues in a standalone, but with other mods it will bottleneck other features from generating due to how codecs are handled with unregistered objects.

  • Thanks 1
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

    • ---- Minecraft Crash Report ---- // Who set us up the TNT? Time: 2023-06-08 19:24:03 Description: Exception in server tick loop java.util.concurrent.CompletionException: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered     at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?] {re:mixin}     at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?] {re:mixin}     at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1159) ~[?:?] {}     at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {}     at net.minecraft.server.level.ChunkTaskPriorityQueueSorter.m_143188_(ChunkTaskPriorityQueueSorter.java:62) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.util.thread.ProcessorMailbox.m_18759_(ProcessorMailbox.java:91) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.util.thread.ProcessorMailbox.m_18747_(ProcessorMailbox.java:146) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.util.thread.ProcessorMailbox.run(ProcessorMailbox.java:102) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395) ~[?:?] {}     at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {}     at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {}     at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {}     at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {}     at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {} Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.8.jar:10.0.8+10.0.8+main.0ef7e830] {}     at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.6.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.6.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.6.jar:?] {}     at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] {}     at net.minecraft.world.entity.ai.behavior.VillagerGoalPackages.m_24607_(VillagerGoalPackages.java:231) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.entity.npc.Villager.m_35424_(Villager.java:182) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector,pl:mixin:APP:canary.mixins.json:calc.if_else.entity.handle_entity_event.villager.VillagerMixin,pl:mixin:A}     at net.minecraft.world.entity.npc.Villager.m_8075_(Villager.java:155) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector,pl:mixin:APP:canary.mixins.json:calc.if_else.entity.handle_entity_event.villager.VillagerMixin,pl:mixin:A}     at net.minecraft.world.entity.LivingEntity.<init>(LivingEntity.java:241) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,re:computing_frames,re:classloading,pl:mixin:APP:canary.mixins.json:alloc.enum_values.living_entity.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.collisions.unpushable_cramming.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.fast_elytra_check.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.fast_hand_swing.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.fast_powder_snow_check.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.skip_equipment_change_check.LivingEntityMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorLivingEntity,pl:mixin:APP:bookshelf.common.mixins.json:patches.entity.MixinLivingEntity,pl:mixin:A}     at net.minecraft.world.entity.Mob.<init>(Mob.java:124) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:canary.mixins.json:entity.inactive_navigations.MobMixin,pl:mixin:APP:canary.mixins.json:entity.skip_equipment_change_check.MobMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorMob,pl:mixin:A}     at net.minecraft.world.entity.PathfinderMob.<init>(PathfinderMob.java:14) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,re:mixin}     at net.minecraft.world.entity.AgeableMob.<init>(AgeableMob.java:29) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,re:mixin}     at net.minecraft.world.entity.npc.AbstractVillager.<init>(AbstractVillager.java:49) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,re:classloading}     at net.minecraft.world.entity.npc.Villager.<init>(Villager.java:138) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector,pl:mixin:APP:canary.mixins.json:calc.if_else.entity.handle_entity_event.villager.VillagerMixin,pl:mixin:A}     at net.minecraft.world.entity.npc.Villager.<init>(Villager.java:134) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector,pl:mixin:APP:canary.mixins.json:calc.if_else.entity.handle_entity_event.villager.VillagerMixin,pl:mixin:A}     at net.minecraft.world.entity.EntityType.m_20615_(EntityType.java:525) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.entity.EntityType.m_185996_(EntityType.java:530) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector}     at java.util.Optional.map(Optional.java:260) ~[?:?] {re:mixin}     at net.minecraft.world.entity.EntityType.m_20642_(EntityType.java:529) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.m_74543_(StructureTemplate.java:438) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.addEntitiesToWorld(StructureTemplate.java:421) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.m_230328_(StructureTemplate.java:336) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.level.levelgen.structure.pools.SinglePoolElement.m_213695_(SinglePoolElement.java:122) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.levelgen.structure.PoolElementStructurePiece.m_226509_(PoolElementStructurePiece.java:89) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.levelgen.structure.PoolElementStructurePiece.m_213694_(PoolElementStructurePiece.java:85) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.levelgen.structure.StructureStart.m_226850_(StructureStart.java:90) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.chunk.ChunkGenerator.m_223080_(ChunkGenerator.java:320) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422) ~[guava-31.1-jre.jar%23105!/:?] {re:mixin}     at net.minecraft.world.level.chunk.ChunkGenerator.m_213609_(ChunkGenerator.java:319) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.chunk.ChunkStatus.m_223313_(ChunkStatus.java:146) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.world.level.chunk.ChunkStatus.m_223279_(ChunkStatus.java:293) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$25(ChunkMap.java:634) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:canary.mixins.json:world.player_chunk_tick.ChunkMapMixin,pl:mixin:A}     at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.6.jar%23110!/:?] {}     at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$27(ChunkMap.java:632) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:canary.mixins.json:world.player_chunk_tick.ChunkMapMixin,pl:mixin:A}     at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?] {}     ... 11 more Caused by: org.spongepowered.asm.mixin.throwables.MixinApplyError: Mixin [canary.mixins.json:ai.poi.tasks.LocateHidingPlaceMixin] from phase [DEFAULT] in config [canary.mixins.json] FAILED during APPLY     at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinError(MixinProcessor.java:636) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinApplyError(MixinProcessor.java:588) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:379) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.8.jar:10.0.8+10.0.8+main.0ef7e830] {}     at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.6.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.6.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.6.jar:?] {}     at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] {}     at net.minecraft.world.entity.ai.behavior.VillagerGoalPackages.m_24607_(VillagerGoalPackages.java:231) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.entity.npc.Villager.m_35424_(Villager.java:182) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector,pl:mixin:APP:canary.mixins.json:calc.if_else.entity.handle_entity_event.villager.VillagerMixin,pl:mixin:A}     at net.minecraft.world.entity.npc.Villager.m_8075_(Villager.java:155) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector,pl:mixin:APP:canary.mixins.json:calc.if_else.entity.handle_entity_event.villager.VillagerMixin,pl:mixin:A}     at net.minecraft.world.entity.LivingEntity.<init>(LivingEntity.java:241) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,re:computing_frames,re:classloading,pl:mixin:APP:canary.mixins.json:alloc.enum_values.living_entity.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.collisions.unpushable_cramming.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.fast_elytra_check.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.fast_hand_swing.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.fast_powder_snow_check.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.skip_equipment_change_check.LivingEntityMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorLivingEntity,pl:mixin:APP:bookshelf.common.mixins.json:patches.entity.MixinLivingEntity,pl:mixin:A}     at net.minecraft.world.entity.Mob.<init>(Mob.java:124) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:canary.mixins.json:entity.inactive_navigations.MobMixin,pl:mixin:APP:canary.mixins.json:entity.skip_equipment_change_check.MobMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorMob,pl:mixin:A}     at net.minecraft.world.entity.PathfinderMob.<init>(PathfinderMob.java:14) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,re:mixin}     at net.minecraft.world.entity.AgeableMob.<init>(AgeableMob.java:29) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,re:mixin}     at net.minecraft.world.entity.npc.AbstractVillager.<init>(AbstractVillager.java:49) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,re:classloading}     at net.minecraft.world.entity.npc.Villager.<init>(Villager.java:138) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector,pl:mixin:APP:canary.mixins.json:calc.if_else.entity.handle_entity_event.villager.VillagerMixin,pl:mixin:A}     at net.minecraft.world.entity.npc.Villager.<init>(Villager.java:134) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector,pl:mixin:APP:canary.mixins.json:calc.if_else.entity.handle_entity_event.villager.VillagerMixin,pl:mixin:A}     at net.minecraft.world.entity.EntityType.m_20615_(EntityType.java:525) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.entity.EntityType.m_185996_(EntityType.java:530) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector}     at java.util.Optional.map(Optional.java:260) ~[?:?] {re:mixin}     at net.minecraft.world.entity.EntityType.m_20642_(EntityType.java:529) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.m_74543_(StructureTemplate.java:438) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.addEntitiesToWorld(StructureTemplate.java:421) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.m_230328_(StructureTemplate.java:336) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.level.levelgen.structure.pools.SinglePoolElement.m_213695_(SinglePoolElement.java:122) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.levelgen.structure.PoolElementStructurePiece.m_226509_(PoolElementStructurePiece.java:89) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.levelgen.structure.PoolElementStructurePiece.m_213694_(PoolElementStructurePiece.java:85) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.levelgen.structure.StructureStart.m_226850_(StructureStart.java:90) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.chunk.ChunkGenerator.m_223080_(ChunkGenerator.java:320) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422) ~[guava-31.1-jre.jar%23105!/:?] {re:mixin}     at net.minecraft.world.level.chunk.ChunkGenerator.m_213609_(ChunkGenerator.java:319) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.chunk.ChunkStatus.m_223313_(ChunkStatus.java:146) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.world.level.chunk.ChunkStatus.m_223279_(ChunkStatus.java:293) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$25(ChunkMap.java:634) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:canary.mixins.json:world.player_chunk_tick.ChunkMapMixin,pl:mixin:A}     at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.6.jar%23110!/:?] {}     at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$27(ChunkMap.java:632) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:canary.mixins.json:world.player_chunk_tick.ChunkMapMixin,pl:mixin:A}     at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?] {}     ... 11 more Caused by: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @Redirect annotation on useFasterPOILookup could not find any targets matching 'lambda$create$5' in net.minecraft.world.entity.ai.behavior.LocateHidingPlace. Using refmap canary.refmap.json [PREINJECT Applicator Phase -> canary.mixins.json:ai.poi.tasks.LocateHidingPlaceMixin -> Prepare Injections ->  -> redirect$zzl000$useFasterPOILookup(Lnet/minecraft/world/entity/ai/village/poi/PoiManager;Ljava/util/function/Predicate;Ljava/util/function/Predicate;Lnet/minecraft/world/entity/ai/village/poi/PoiManager$Occupancy;Lnet/minecraft/core/BlockPos;ILnet/minecraft/util/RandomSource;)Ljava/util/Optional; -> Parse]     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.validateTargets(InjectionInfo.java:656) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.findTargets(InjectionInfo.java:587) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.readAnnotation(InjectionInfo.java:330) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:316) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:308) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.injection.struct.RedirectInjectionInfo.<init>(RedirectInjectionInfo.java:44) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at jdk.internal.reflect.GeneratedConstructorAccessor60.newInstance(Unknown Source) ~[?:?] {}     at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] {}     at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?] {}     at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?] {}     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo$InjectorEntry.create(InjectionInfo.java:149) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.parse(InjectionInfo.java:708) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1311) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1042) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:393) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:383) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:365) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] {}     at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.8.jar:10.0.8+10.0.8+main.0ef7e830] {}     at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.8.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.6.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.6.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.6.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.6.jar:?] {}     at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] {}     at net.minecraft.world.entity.ai.behavior.VillagerGoalPackages.m_24607_(VillagerGoalPackages.java:231) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.entity.npc.Villager.m_35424_(Villager.java:182) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector,pl:mixin:APP:canary.mixins.json:calc.if_else.entity.handle_entity_event.villager.VillagerMixin,pl:mixin:A}     at net.minecraft.world.entity.npc.Villager.m_8075_(Villager.java:155) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector,pl:mixin:APP:canary.mixins.json:calc.if_else.entity.handle_entity_event.villager.VillagerMixin,pl:mixin:A}     at net.minecraft.world.entity.LivingEntity.<init>(LivingEntity.java:241) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,re:computing_frames,re:classloading,pl:mixin:APP:canary.mixins.json:alloc.enum_values.living_entity.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.collisions.unpushable_cramming.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.fast_elytra_check.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.fast_hand_swing.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.fast_powder_snow_check.LivingEntityMixin,pl:mixin:APP:canary.mixins.json:entity.skip_equipment_change_check.LivingEntityMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorLivingEntity,pl:mixin:APP:bookshelf.common.mixins.json:patches.entity.MixinLivingEntity,pl:mixin:A}     at net.minecraft.world.entity.Mob.<init>(Mob.java:124) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:canary.mixins.json:entity.inactive_navigations.MobMixin,pl:mixin:APP:canary.mixins.json:entity.skip_equipment_change_check.MobMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorMob,pl:mixin:A}     at net.minecraft.world.entity.PathfinderMob.<init>(PathfinderMob.java:14) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,re:mixin}     at net.minecraft.world.entity.AgeableMob.<init>(AgeableMob.java:29) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,re:mixin}     at net.minecraft.world.entity.npc.AbstractVillager.<init>(AbstractVillager.java:49) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,re:classloading}     at net.minecraft.world.entity.npc.Villager.<init>(Villager.java:138) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector,pl:mixin:APP:canary.mixins.json:calc.if_else.entity.handle_entity_event.villager.VillagerMixin,pl:mixin:A}     at net.minecraft.world.entity.npc.Villager.<init>(Villager.java:134) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector,pl:mixin:APP:canary.mixins.json:calc.if_else.entity.handle_entity_event.villager.VillagerMixin,pl:mixin:A}     at net.minecraft.world.entity.EntityType.m_20615_(EntityType.java:525) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.entity.EntityType.m_185996_(EntityType.java:530) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector}     at java.util.Optional.map(Optional.java:260) ~[?:?] {re:mixin}     at net.minecraft.world.entity.EntityType.m_20642_(EntityType.java:529) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.m_74543_(StructureTemplate.java:438) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.addEntitiesToWorld(StructureTemplate.java:421) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.m_230328_(StructureTemplate.java:336) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading,xf:fml:forge:forge_method_redirector}     at net.minecraft.world.level.levelgen.structure.pools.SinglePoolElement.m_213695_(SinglePoolElement.java:122) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.levelgen.structure.PoolElementStructurePiece.m_226509_(PoolElementStructurePiece.java:89) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.levelgen.structure.PoolElementStructurePiece.m_213694_(PoolElementStructurePiece.java:85) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.levelgen.structure.StructureStart.m_226850_(StructureStart.java:90) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.chunk.ChunkGenerator.m_223080_(ChunkGenerator.java:320) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422) ~[guava-31.1-jre.jar%23105!/:?] {re:mixin}     at net.minecraft.world.level.chunk.ChunkGenerator.m_213609_(ChunkGenerator.java:319) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:classloading}     at net.minecraft.world.level.chunk.ChunkStatus.m_223313_(ChunkStatus.java:146) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.world.level.chunk.ChunkStatus.m_223279_(ChunkStatus.java:293) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$25(ChunkMap.java:634) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:canary.mixins.json:world.player_chunk_tick.ChunkMapMixin,pl:mixin:A}     at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.6.jar%23110!/:?] {}     at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$27(ChunkMap.java:632) ~[client-1.19.4-20230314.122934-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:canary.mixins.json:world.player_chunk_tick.ChunkMapMixin,pl:mixin:A}     at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?] {}     ... 11 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- 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: 2385293256 bytes (2274 MiB) / 5100273664 bytes (4864 MiB) up to 8589934592 bytes (8192 MiB)     CPUs: 16     Processor Vendor: AuthenticAMD     Processor Name: AMD Ryzen 7 1700 Eight-Core Processor               Identifier: AuthenticAMD Family 23 Model 1 Stepping 1     Microarchitecture: Zen     Frequency (GHz): 2.99     Number of physical packages: 1     Number of physical CPUs: 8     Number of logical CPUs: 16     Graphics card #0 name: NVIDIA GeForce RTX 3060 Ti     Graphics card #0 vendor: NVIDIA (0x10de)     Graphics card #0 VRAM (MB): 4095.00     Graphics card #0 deviceId: 0x2489     Graphics card #0 versionInfo: DriverVersion=31.0.15.3141     Memory slot #0 capacity (MB): 8192.00     Memory slot #0 clockSpeed (GHz): 2.67     Memory slot #0 type: DDR4     Memory slot #1 capacity (MB): 8192.00     Memory slot #1 clockSpeed (GHz): 2.67     Memory slot #1 type: DDR4     Virtual memory max (MB): 27107.41     Virtual memory used (MB): 22899.67     Swap memory total (MB): 10791.24     Swap memory used (MB): 245.69     JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx8G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M     Server Running: true     Player Count: 1 / 8; [ServerPlayer['Baias01'/213, l='ServerLevel[New World]', x=884.58, y=87.00, z=-680.70]]     Data Packs: vanilla, mod:saturn (incompatible), mod:entityculling (incompatible), mod:canary (incompatible), mod:enchdesc (incompatible), mod:mousetweaks, mod:bookshelf (incompatible), mod:forge, mod:rubidium (incompatible), mod:starlight (incompatible), mod:appleskin (incompatible), mod:clumps (incompatible)     Enabled Feature Flags: minecraft:vanilla     World Generation: Experimental     Type: Integrated Server (map_client.txt)     Is Modded: Definitely; Client brand changed to 'forge'; Server brand changed to 'forge'     Launched Version: 1.19.4-forge-45.1.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.1.0.jar slf4jfixer PLUGINSERVICE          fmlloader-1.19.4-45.1.0.jar object_holder_definalize PLUGINSERVICE          fmlloader-1.19.4-45.1.0.jar runtime_enum_extender PLUGINSERVICE          fmlloader-1.19.4-45.1.0.jar capability_token_subclass PLUGINSERVICE          accesstransformers-8.0.4.jar accesstransformer PLUGINSERVICE          fmlloader-1.19.4-45.1.0.jar runtimedistcleaner PLUGINSERVICE          modlauncher-10.0.8.jar mixin TRANSFORMATIONSERVICE          modlauncher-10.0.8.jar fml TRANSFORMATIONSERVICE      FML Language Providers:          minecraft@1.0         lowcodefml@null         javafml@null     Mod List:          client-1.19.4-20230314.122934-srg.jar             |Minecraft                     |minecraft                     |1.19.4              |DONE      |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f         saturn-mc1.19.4-0.0.3.jar                         |Saturn                        |saturn                        |0.0.3               |DONE      |Manifest: NOSIGNATURE         entityculling-forge-1.6.2-mc1.19.4.jar            |EntityCulling                 |entityculling                 |1.6.2               |DONE      |Manifest: NOSIGNATURE         canary-mc1.19.4-0.2.4.jar                         |Canary                        |canary                        |0.2.4               |DONE      |Manifest: NOSIGNATURE         EnchantmentDescriptions-Forge-1.19.4-15.0.3.jar   |EnchantmentDescriptions       |enchdesc                      |15.0.3              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         MouseTweaks-forge-mc1.19.4-2.24.jar               |Mouse Tweaks                  |mousetweaks                   |2.24                |DONE      |Manifest: NOSIGNATURE         Bookshelf-Forge-1.19.4-18.0.6.jar                 |Bookshelf                     |bookshelf                     |18.0.6              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         forge-1.19.4-45.1.0-universal.jar                 |Forge                         |forge                         |45.1.0              |DONE      |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         rubidium-0.6.4.jar                                |Rubidium                      |rubidium                      |0.6.4               |DONE      |Manifest: NOSIGNATURE         starlight-1.1.1+forge.cf5b10b.jar                 |Starlight                     |starlight                     |1.1.1+forge.a3aea74 |DONE      |Manifest: NOSIGNATURE         appleskin-forge-mc1.19.4-2.4.3.jar                |AppleSkin                     |appleskin                     |2.4.3+mc1.19.4      |DONE      |Manifest: NOSIGNATURE         Clumps-forge-1.19.4-10.0.0.3.jar                  |Clumps                        |clumps                        |10.0.0.3            |DONE      |Manifest: NOSIGNATURE     Crash Report UUID: 8c5ba2e8-9cd0-41fe-8fa0-a94c16b400f8     FML: 45.1     Forge: net.minecraftforge:45.1.0
    • What is that in my files?
    • Hi! I tried the above method, but it did not work. There's my function. The message appears in the chat, but the item is not added to the inventory. I can’t figure out what the problem is, so please help. @SubscribeEvent public void onJoin(EntityJoinLevelEvent event) { if (event.getEntity() instanceof Player && event.getEntity().getCommandSenderWorld().isClientSide) { Minecraft.getInstance().player.getInventory().add(new ItemStack(Items.CARROT)); Entity playerEntity = event.getEntity(); playerEntity.sendSystemMessage(Component.nullToEmpty("Hello!")); } }  
    • Hi guys ! New around here.So my problem is,I'm trying to play modded minecraft with my gf.We played on lan perfectly.But when we try to make a server for hamachi,It displays an error message.   [08Haz2023 18:30:33.491] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeserver, --fml.forgeVersion, 43.2.8, --fml.mcVersion, 1.19.2, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20220805.130853] [08Haz2023 18:30:33.497] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.8+10.0.8+main.0ef7e830 starting: java version 19.0.1 by Oracle Corporation; OS Windows 10 arch amd64 version 10.0 [08Haz2023 18:30:33.798] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.onLoad [08Haz2023 18:30:33.799] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFine ZIP file URL: union:/C:/Users/user/Desktop/Yeni%20klasör/mods/OptiFine-OptiFine-1.19.2_HD_U_I1.jar%23118!/ [08Haz2023 18:30:33.848] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFine ZIP file: C:\Users\user\Desktop\Yeni klasör\mods\OptiFine-OptiFine-1.19.2_HD_U_I1.jar [08Haz2023 18:30:33.850] [main/INFO] [optifine.OptiFineTransformer/]: Target.PRE_CLASS is available [08Haz2023 18:30:33.916] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Users/user/Desktop/Yeni%20klasör/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2363!/ Service=ModLauncher Env=SERVER [08Haz2023 18:30:33.927] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.initialize [08Haz2023 18:30:34.282] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\user\Desktop\Yeni klasör\libraries\net\minecraftforge\fmlcore\1.19.2-43.2.8\fmlcore-1.19.2-43.2.8.jar is missing mods.toml file [08Haz2023 18:30:34.287] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\user\Desktop\Yeni klasör\libraries\net\minecraftforge\javafmllanguage\1.19.2-43.2.8\javafmllanguage-1.19.2-43.2.8.jar is missing mods.toml file [08Haz2023 18:30:34.291] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\user\Desktop\Yeni klasör\libraries\net\minecraftforge\lowcodelanguage\1.19.2-43.2.8\lowcodelanguage-1.19.2-43.2.8.jar is missing mods.toml file [08Haz2023 18:30:34.296] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\user\Desktop\Yeni klasör\libraries\net\minecraftforge\mclanguage\1.19.2-43.2.8\mclanguage-1.19.2-43.2.8.jar is missing mods.toml file [08Haz2023 18:30:34.386] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: No dependencies to load found. Skipping! [08Haz2023 18:30:35.056] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.transformers [08Haz2023 18:30:35.063] [main/INFO] [optifine.OptiFineTransformer/]: Targets: 386 [08Haz2023 18:30:35.557] [main/INFO] [optifine.OptiFineTransformationService/]: additionalClassesLocator: [optifine., net.optifine.] [08Haz2023 18:30:35.906] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 [08Haz2023 18:30:35.953] [main/ERROR] [mixin/]: Mixin config rottencreatures-common.mixins.json does not specify "minVersion" property [08Haz2023 18:30:35.957] [main/ERROR] [mixin/]: Mixin config rottencreatures.mixins.json does not specify "minVersion" property [08Haz2023 18:30:36.099] [main/INFO] [mixin/]: Successfully loaded Mixin Connector [org.tlauncher.MixinConnector] [08Haz2023 18:30:36.101] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeserver' with arguments [] [08Haz2023 18:30:36.122] [main/WARN] [mixin/]: Reference map '${refmap_target}refmap.json' for corgilib.forge.mixins.json could not be read. If this is a development environment you can ignore this message [08Haz2023 18:30:36.139] [main/WARN] [mixin/]: Reference map 'rottencreatures-forge-refmap.json' for rottencreatures.mixins.json could not be read. If this is a development environment you can ignore this message [08Haz2023 18:30:36.565] [main/ERROR] [net.minecraftforge.fml.loading.RuntimeDistCleaner/DISTXFORM]: Attempted to load class net/minecraft/client/gui/screens/Screen for invalid dist DEDICATED_SERVER [08Haz2023 18:30:36.566] [main/WARN] [mixin/]: Error loading class: net/minecraft/client/gui/screens/TitleScreen (java.lang.RuntimeException: Attempted to load class net/minecraft/client/gui/screens/Screen for invalid dist DEDICATED_SERVER) [08Haz2023 18:30:36.566] [main/WARN] [mixin/]: @Mixin target net.minecraft.client.gui.screens.TitleScreen was not found tlskincape-mixins.json:MixinMainMenu [08Haz2023 18:30:36.581] [main/WARN] [mixin/]: Error loading class: net/minecraft/client/model/PlayerModel (java.lang.ClassNotFoundException: net.minecraft.client.model.PlayerModel) [08Haz2023 18:30:36.582] [main/WARN] [mixin/]: @Mixin target net.minecraft.client.model.PlayerModel was not found tlskincape-mixins.json:MixinPlayerModel   that's from logs folder.
    • LivingAttackEvent is called inside the hurt function of LivingEntity. this means that whenever a living entity is attacked, forge will create an instance of new LivingAttackEvent and hand it to all subscribed functions 
  • Topics

×
×
  • Create New...

Important Information

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