|
|
如题,本人参考补给制造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语法的了解十分浅薄,还望大佬们不吝赐教
|
|