Logging found the issue:
598329 [Thread-3] DEBUG data.scripts.wta_industry.wta_TechMining - wtaLOG: Farmland - item_soil_nanites
598329 [Thread-3] DEBUG data.scripts.wta_industry.wta_TechMining - wtaLOG: FINAL RESULT - item_soil_nanites
598329 [Thread-3] DEBUG data.scripts.wta_industry.wta_TechMining - wtaLOG: Final item (if any) - item_soil_nanites
598329 [Thread-3] DEBUG data.scripts.wta_industry.wta_TechMining - wtaLOG: Progress bar value - 0.100000024
598330 [Thread-3] DEBUG data.scripts.wta_industry.wta_TechMining - wtaLOG: Special items so far - 1
598330 [Thread-3] DEBUG data.scripts.wta_industry.wta_TechMining - wtaLOG: Enhanced multiplier - 1.5
It was the Enhanced Multiplier (multEnhanced) in here which was the issue - having 1.5 (first techmining find + Alpha AI + SP Improvement) gives single items an x2 multiplier, I suppose in the back-end somewhere it rounds up:
CargoAPI result = SalvageEntity.generateSalvage(random, 1f, 1f, multEnhanced, 1f, dropValue, dropRandom);
Instead I put the multipliers into the drop value groups:
// what planets will have left over after a couple of centuries of sporadic looting and damage from combat/environment/meteors
d = new DropData();
d.chances = colonySize;
d.group = "wta_ruins_sized";
d.value = 10000 * ruinsSize;
d.valueMult = multEnhanced;
dropValue.add(d);
And changed to this:
CargoAPI result = SalvageEntity.generateSalvage(random, 1f, 1f, 1f, 1f, dropValue, dropRandom);
Thanks!
PS: My logging code is now set up as follows, starting with my settings.json:
{
##############################################################
# Settings for Whisper's Techmining Alteration
# Tweak at your own risk
##############################################################
# the monthly rate at which ruins decay by size of ruins
"wta_ruins_decayrate_scattered": 0.97,
"wta_ruins_decayrate_widespread": 0.98,
"wta_ruins_decayrate_expansive": 0.995,
"wta_ruins_decayrate_vast": 0.9999,
# whether to write to logfile (default false)
"wta_logging": false,
}
And the code:
// when wta_logging in the settings.json is true, allow writing to logs
public static boolean wta_logging = Global.getSettings().getBoolean("wta_logging");
/*
* code from Ruddygreat for logging
*/
private static final Logger log = Global.getLogger(wta_TechMining.class);
static {
log.setLevel(Level.ALL);
}
// if wta_logging enabled write to starsector log
private void wtaDebug(String message) {
if (wta_logging) {
log.debug(message);
}
}