You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同路径不同导入的处理:如何指定使用Forge的CompoundNBT类

解决同包同名类的导入优先级问题

方法1:直接使用全限定类名调用

代码里无需导入,直接用完整类路径指定Forge的CompoundNBT,编译器会明确识别目标类:

net.minecraft.nbt.CompoundNBT forgeNbt = new net.minecraft.nbt.CompoundNBT();
// 调用Forge专属方法示例
forgeNbt.putUUID("player_id", UUID.randomUUID());

方法2:调整构建依赖的加载顺序

如果用Gradle构建,在build.gradle里把Forge依赖放在Yarn依赖之前,让构建工具优先加载Forge的类文件:

dependencies {
    // 优先声明Forge依赖
    implementation 'net.minecraftforge:forge:1.16.5-36.2.34'
    // 后声明Yarn相关依赖
    implementation 'net.fabricmc:yarn:1.16.5+build.40'
}

Maven环境则在pom.xml中把Forge依赖放在Yarn依赖前面,Maven会按声明顺序优先解析靠前的依赖。

方法3:IDE导入别名(辅助区分)

部分IDE(如IntelliJ IDEA)支持给导入类设置别名,方便代码里区分同包同名类:

import net.minecraft.nbt.CompoundNBT as ForgeCompoundNBT;

// 通过别名直接调用
ForgeCompoundNBT forgeNbt = new ForgeCompoundNBT();

注意这是IDE层面的语法糖,编译时仍需依赖方法2的依赖优先级配置,二者配合使用效果最佳。

内容的提问来源于stack exchange,提问作者Stronwood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 15:24:54