关于CargoAPI里getQuantity函数的疑问
如题,本人参考补给制造mod统计舰队货舱内锻炉数量的代码写了如下代码,希望能实现相同的统计功能,但返回值始终是0。public float iCalculateBonus(CargoAPI cargo) {
float iCorrupted = cargo.getQuantity(CargoItemType.SPECIAL, Items.CORRUPTED_NANOFORGE);
float iPristine = cargo.getQuantity(CargoItemType.SPECIAL, Items.PRISTINE_NANOFORGE);
float iMaxBonus = PristineForgeMultiplier;
float iBonus = CorruptedForgeMultiplier * iCorrupted + PristineForgeMultiplier * iPristine;
if (iBonus > iMaxBonus) {
iBonus = iMaxBonus;
};
Global.getSector().getCampaignUI().addMessage("iBonus: " + iBonus, Misc.getTextColor());
Global.getSector().getCampaignUI().addMessage("iPristine: " + iPristine, Misc.getTextColor());
Global.getSector().getCampaignUI().addMessage("iCorrupted: " + iCorrupted, Misc.getTextColor());
return iBonus+1;
}
翻看API文件内函数输入值的要求是float getQuantity(CargoItemType paramCargoItemType, Object paramObject);
如果直接照抄原代码的话会出现Cannot determine simple type name "SpecialItemData"的数据类型报错
本人对Java语法的了解十分浅薄,还望大佬们不吝赐教
第二个参数填String是不行的,纳米熔炉这种你得new一个SpecialItemData的实例对象
SpecialItemData只要id和param一致,哈希值就是一样的,用==比较使用同一个id来new的两个SpecialItemData是能通过的 cjy4312 发表于 2025-4-14 03:01
第二个参数填String是不行的,纳米熔炉这种你得new一个SpecialItemData的实例对象
SpecialItemData只要id和 ...
谢谢cjy大佬,我检查了几遍发现是漏import了一个东西,现在解决了{:5_124:}
页:
[1]