Skip to content

[1.10] Mapping source name conflicts in common project for 1.21.1 #287

@benjaminiserman

Description

@benjaminiserman

This is a Kotlin Neoforge 21.1.152 + Fabric 0.16.14 project for Minecraft 1.21.1. I'm currently upgrading from a working 1.20.1 version.
The common project also depends on Forge Config API Port 21.1.3 and Architectury API 13.0.8, and has optional dependencies for CC: Tweaked, Create, and Ponder.

I am using only Mojang's loom.officialMojangMappings().

Things I've tried to fix this error:

  • ./gradlew --refresh-dependencies
  • ./gradlew genSources
  • ./gradlew clean
  • rm -rf all .gradle and build files in all subdirectories
  • downgrade Loom to 1.7-SNAPSHOT (Could not create an instance of type net.fabricmc.loom.extension.LoomProblemReporter.)
  • downgrade NeoForge to 21.1.100
  • downgrade Forge Config API Port to 21.1.0
  • ./gradlew migrateMappings --mappings "1.21.1+build.1" --input common/src/main/kotlin/
  • rewriting all of my classes that appear in the error log (successfully removed my classes from the error log, but did not resolve Minecraft's own methods conflicting with themselves)

I wonder if maybe the migrateMappings script doesn't work on Kotlin projects? Not sure how I can resolve that if so, but I'm confused that wiping the loom caches didn't seem to fix anything either.

Relevant files:

Error logs:

> Task :common:remapJar FAILED
Mapping source name conflicts detected:
  net/minecraft/world/SimpleContainer METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/SimpleContainer/method_59984]
  net/minecraft/world/level/block/entity/CrafterBlockEntity METHOD isEmpty (()Z) -> [net/minecraft/world/level/block/entity/CrafterBlockEntity/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/level/block/entity/CrafterBlockEntity METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/level/block/entity/CrafterBlockEntity/method_59984]
  net/minecraft/world/inventory/MerchantContainer METHOD isEmpty (()Z) -> [net/minecraft/world/inventory/MerchantContainer/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/inventory/ResultContainer METHOD isEmpty (()Z) -> [net/minecraft/world/inventory/ResultContainer/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/level/block/entity/BaseContainerBlockEntity METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/level/block/entity/BaseContainerBlockEntity/method_59984]
  net/minecraft/world/item/crafting/RecipeInput METHOD isEmpty (()Z) -> [net/minecraft/world/item/crafting/RecipeInput/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity/method_59984]
  net/minecraft/world/level/block/entity/LecternBlockEntity$1 METHOD isEmpty (()Z) -> [net/minecraft/world/level/block/entity/LecternBlockEntity$1/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/entity/vehicle/AbstractMinecartContainer METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/entity/vehicle/AbstractMinecartContainer/method_59984]
  net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity METHOD isEmpty (()Z) -> [net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/entity/player/Inventory METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/entity/player/Inventory/method_59984]
  net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity/method_59984]
  net/minecraft/world/inventory/TransientCraftingContainer METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/inventory/TransientCraftingContainer/method_59984, net/minecraft/world/Container/method_5438]
  dev/biserman/wingscontracts/block/ContractPortalBlockEntity METHOD isEmpty (()Z) -> [dev/biserman/wingscontracts/block/ContractPortalBlockEntity/method_59987, net/minecraft/world/Container/method_5442]
  dev/biserman/wingscontracts/container/AvailableContractsContainer METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, dev/biserman/wingscontracts/container/AvailableContractsContainer/method_59984]
  net/minecraft/world/level/block/entity/LecternBlockEntity$1 METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/level/block/entity/LecternBlockEntity$1/method_59984]
  net/minecraft/world/inventory/MerchantContainer METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/inventory/MerchantContainer/method_59984]
  net/minecraft/world/SimpleContainer METHOD isEmpty (()Z) -> [net/minecraft/world/SimpleContainer/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/CompoundContainer METHOD isEmpty (()Z) -> [net/minecraft/world/CompoundContainer/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/item/crafting/CraftingInput METHOD isEmpty (()Z) -> [net/minecraft/world/item/crafting/CraftingInput/method_59987, net/minecraft/world/Container/method_5442]
  com/simibubi/create/foundation/blockEntity/LegacyRecipeWrapper METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, com/simibubi/create/foundation/blockEntity/LegacyRecipeWrapper/method_59984]
  com/simibubi/create/foundation/recipe/DummyCraftingContainer METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, com/simibubi/create/foundation/recipe/DummyCraftingContainer/method_59984]
  net/minecraft/world/inventory/ResultContainer METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/inventory/ResultContainer/method_59984, net/minecraft/world/Container/method_5438]
  net/minecraft/world/ticks/ContainerSingleItem METHOD isEmpty (()Z) -> [net/minecraft/world/ticks/ContainerSingleItem/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/entity/player/Inventory METHOD isEmpty (()Z) -> [net/minecraft/world/entity/player/Inventory/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/inventory/TransientCraftingContainer METHOD isEmpty (()Z) -> [net/minecraft/world/inventory/TransientCraftingContainer/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity METHOD isEmpty (()Z) -> [net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity/method_59987, net/minecraft/world/Container/method_5442]
  com/simibubi/create/foundation/recipe/DummyCraftingContainer METHOD isEmpty (()Z) -> [com/simibubi/create/foundation/recipe/DummyCraftingContainer/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/Container METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/Container/method_59984]
  net/minecraft/world/item/crafting/CraftingInput METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/item/crafting/CraftingInput/method_59984]
  net/minecraft/world/CompoundContainer METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/CompoundContainer/method_59984]
  dev/biserman/wingscontracts/block/ContractPortalBlockEntity METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, dev/biserman/wingscontracts/block/ContractPortalBlockEntity/method_59984]
  net/minecraft/world/entity/vehicle/ChestBoat METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/entity/vehicle/ChestBoat/method_59984]
  net/minecraft/world/entity/vehicle/ContainerEntity METHOD isEmpty (()Z) -> [net/minecraft/world/Container/method_5442, net/minecraft/world/entity/vehicle/ContainerEntity/method_59987]
  com/simibubi/create/foundation/blockEntity/LegacyRecipeWrapper METHOD isEmpty (()Z) -> [com/simibubi/create/foundation/blockEntity/LegacyRecipeWrapper/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/item/crafting/SmithingRecipeInput METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/item/crafting/SmithingRecipeInput/method_59984]
  net/minecraft/world/item/crafting/SmithingRecipeInput METHOD isEmpty (()Z) -> [net/minecraft/world/item/crafting/SmithingRecipeInput/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/ticks/ContainerSingleItem METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/ticks/ContainerSingleItem/method_59984]
  net/minecraft/world/level/block/entity/BaseContainerBlockEntity METHOD isEmpty (()Z) -> [net/minecraft/world/Container/method_5442, net/minecraft/world/level/block/entity/BaseContainerBlockEntity/method_59987]
  net/minecraft/world/Container METHOD isEmpty (()Z) -> [net/minecraft/world/Container/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/item/crafting/RecipeInput METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/item/crafting/RecipeInput/method_59984]
  dev/biserman/wingscontracts/container/AvailableContractsContainer METHOD isEmpty (()Z) -> [dev/biserman/wingscontracts/container/AvailableContractsContainer/method_59987, net/minecraft/world/Container/method_5442]
  net/minecraft/world/item/crafting/SingleRecipeInput METHOD getItem ((I)Lnet/minecraft/world/item/ItemStack;) -> [net/minecraft/world/Container/method_5438, net/minecraft/world/item/crafting/SingleRecipeInput/method_59984]

Notably every mapping issue seems to be related to net/minecraft/world/Container, of which I have three overriders AvailableContractsContainer directly, ContractPortalBlockEntity via WorldlyContainer, and CompactingContainer via SimpleContainer. Removing the erroring overrides did not help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions