Awesome. Thanks for the response Zaphide. I feel a bit silly not realizing the naming issue myself.
@Sparten
Both mods implement the same class in same file (although different case).
[...]
Workaround is to rename one of the class files (i.e. hii_addMarketplace.java), and then the class inside it to match (i.e. public class hii_addMarketplace), and then the references to it in calling code (I think just HiiPolarisGen.java).
I tested renaming the suggested Hiigaran file name, public class, public static label, and PolarisGen reference first. The error persisted as something inside Hiigaran (same log error) was still attempting to reference the previously loaded
addMarketplace.java file. Instead of spending more time digging through code outside of
HiiPolarisGen.java,
HiiModPlugin.java, and
addMarketplace.java, I swapped to the Fleaden mod.
I altered all 3 labels on the single Fleaden
AddMarketplace.java (
Renamed F_AddMarketplace), and everything loaded normally. Since Fleaden loaded first due to StarSector's alphabetical load order (thanks for that tip too), Fleaden's preloaded
addMarketplace.java did not exist once Hiigaran attempted a load. It was able to use the default Hiigaran
addMarketplace.java while Fleaden used
F_AddMarketplace.java.
I have not done thorough testing of these changes, or looked at many marketplace\economy oddities (should be nil). New games did allow me to start as a member of Fleaden or Hiigaran factions without error. Feel free to use the changes provided below at your own discretion:
Fleaden\Hiigaran AddMarketplace.java Load Error WorkaroundSpoiler
If you are having trouble loading Fleaden and Hiigaran mods alongside each other, please consider making the following changes to the Fleaden ..\data\scripts\world\AddMarketplace.java file.
Rename File:
AddMarketplace.java
TO
F_AddMarketplace.java
Change:
Line 9 - public class AddMarketplace{
TO
public class F_AddMarketplace{
Line 11 - public static MarketAPI F_AddMarketplace
TO
public static MarketAPI F_AddMarketplace
Explained by Zaphide:
"Both mods implement the same class in same file (although different case).
Fleaden mod contains:
\data\scripts\world\AddMarketplace.java
Hiigaran mod contains:
\data\scripts\world\addMarketplace.java
The Fleaden mod gets loaded first (as mods get loaded in alphabetical order), and so Java loads and compiles 'data.scripts.world.AddMarketplace' from the file '\data\scripts\world\AddMarketplace.java' which (on Windows) can't coexist with 'data.scripts.world.addMarketplace' in the file '\data\scripts\world\addMarketplace.java'. However, I think this would probably work OK on Linux with a case-sensitive filesystem...
Then, once it gets round to compiling HiiModPlugin later, it's looking for '\data\scripts\world\addMarketplace.java' which on Windows is actually the same as '\data\scripts\world\AddMarketplace.java' and so Java says 'I know this one already! Here you go!' but unfortunately it doesn't contain the expected class.
Workaround is to rename one of the class files (i.e. hii_addMarketplace.java), and then the class inside it to match (i.e. public class hii_addMarketplace), and then the references to it in calling code (I think just HiiPolarisGen.java)."
Thanks again for the assistance. I've added this information to the other post as well.