I've looked at the two tutorials by Paul but I continue to get the same error; A compiling error by my FishyGen.java file. It is always the same line and word, but no matter what I enter it does not work.
Now I've been modifying and mangling this code probably beyond recognition for over an hour now as I am not too experienced with this sort of coding.
I was hoping you guys could help me find the problem and fix it, I am too tired to carry on now.
Starfarer.log
Spoiler
java.lang.RuntimeException: Error compiling [data.scripts.world.FishyGen]
at com.fs.starfarer.loading.scripts.ScriptStore$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: Compiling unit "data/scripts/world/FishyGen.java"
at org.codehaus.janino.JavaSourceClassLoader.generateBytecodes(JavaSourceClassLoader.java:205)
at org.codehaus.janino.JavaSourceClassLoader.findClass(JavaSourceClassLoader.java:157)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 2 more
Caused by: org.codehaus.commons.compiler.CompileException: File data/scripts/world/FishyGen.java, Line 25, Column 56: Unknown variable or type "CorvusIV"
at org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:9014)
at org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:4685)
at org.codehaus.janino.UnitCompiler.access$10000(UnitCompiler.java:104)
at org.codehaus.janino.UnitCompiler$17.visitPackage(UnitCompiler.java:4438)
at org.codehaus.janino.Java$Package.accept(Java.java:2231)
at org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:4476)
at org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:4682)
at org.codehaus.janino.UnitCompiler.access$12500(UnitCompiler.java:104)
at org.codehaus.janino.UnitCompiler$17.visitAmbiguousName(UnitCompiler.java:4466)
at org.codehaus.janino.Java$AmbiguousName.accept(Java.java:2216)
at org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:4476)
at org.codehaus.janino.UnitCompiler.findMostSpecificIInvocable(UnitCompiler.java:6688)
at org.codehaus.janino.UnitCompiler.invokeConstructor(UnitCompiler.java:5695)
at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3673)
at org.codehaus.janino.UnitCompiler.access$6900(UnitCompiler.java:104)
at org.codehaus.janino.UnitCompiler$11.visitNewClassInstance(UnitCompiler.java:2875)
at org.codehaus.janino.Java$NewClassInstance.accept(Java.java:2922)
at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:2890)
at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:3897)
at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3503)
at org.codehaus.janino.UnitCompiler.access$6300(UnitCompiler.java:104)
at org.codehaus.janino.UnitCompiler$11.visitMethodInvocation(UnitCompiler.java:2869)
at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:2890)
at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:3897)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2326)
at org.codehaus.janino.UnitCompiler.access$3800(UnitCompiler.java:104)
at org.codehaus.janino.UnitCompiler$8.visitMethodInvocation(UnitCompiler.java:2299)
at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2831)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2320)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1353)
at org.codehaus.janino.UnitCompiler.access$800(UnitCompiler.java:104)
at org.codehaus.janino.UnitCompiler$5.visitExpressionStatement(UnitCompiler.java:868)
at org.codehaus.janino.Java$ExpressionStatement.accept(Java.java:1457)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:888)
at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:914)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1999)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:789)
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:770)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:464)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:357)
at org.codehaus.janino.UnitCompiler$3.visitPackageMemberClassDeclaration(UnitCompiler.java:312)
at org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:770)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:319)
at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:288)
at org.codehaus.janino.JavaSourceClassLoader.generateBytecodes(JavaSourceClassLoader.java:203)
... 5 more
FishyGen.java
Spoiler
package data.scripts.world;
import java.awt.Color;
import java.util.List;
import com.fs.starfarer.api.campaign.CampaignFleetAPI;
import com.fs.starfarer.api.campaign.CargoAPI;
import com.fs.starfarer.api.campaign.FactionAPI;
import com.fs.starfarer.api.campaign.FleetAssignment;
import com.fs.starfarer.api.campaign.SectorAPI;
import com.fs.starfarer.api.campaign.SectorEntityToken;
import com.fs.starfarer.api.campaign.SectorGeneratorPlugin;
import com.fs.starfarer.api.campaign.StarSystemAPI;
import com.fs.starfarer.api.campaign.CargoAPI.CrewXPLevel;
import com.fs.starfarer.api.fleet.FleetMemberType;
@SuppressWarnings("unchecked")
public class FishyGen extends SectorGen {
public void generate(SectorAPI sector) {
StarSystemAPI system = sector.getStarSystem("Corvus");
SectorEntityToken token = system.createToken(15000, 0);
system.addSpawnPoint(new UnknownSpawnPoint(CorvusIV, 45, 30, 1, token));
token = system.createToken(15000, -15000);
system.addSpawnPoint(new UnknownSpawnPoint(sector, system, 14, 1, token, station2));
FactionAPI unknown = sector.getFaction("unknown");
unknown.setRelationship("hegemony", -1);
unknown.setRelationship("tritachyon", -1);
unknown.setRelationship("pirates", 0);
unknown.setRelationship("independent", 0);
unknown.setRelationship("player", 0);
}
}
UnknownSpawnPoint.java
Spoiler
package data.scripts.world;
import com.fs.starfarer.api.campaign.CampaignFleetAPI;
import com.fs.starfarer.api.campaign.FleetAssignment;
import com.fs.starfarer.api.campaign.LocationAPI;
import com.fs.starfarer.api.campaign.SectorAPI;
import com.fs.starfarer.api.campaign.SectorEntityToken;
import data.scripts.world.BaseSpawnPoint;
public class UnknownSpawnPoint extends BaseSpawnPoint {
private final SectorEntityToken station;
public UnknownSpawnPoint(SectorAPI sector, LocationAPI location,
float daysInterval, int maxFleets, SectorEntityToken anchor,
SectorEntityToken station) {
super(sector, location, daysInterval, maxFleets, anchor);
this.station = station;
}
@Override
protected CampaignFleetAPI spawnFleet() {
//if ((float) Math.random() < 0.5f) return null;
String type = null;
float r = (float) Math.random();
if (r > .8f) {
type = "scout";
} else if (r > 0.5f) {
type = "raiders";
} else if (r > 0.2f) {
type = "attackFleet";
} else {
type = "securityDetachment";
}
CampaignFleetAPI fleet = getSector().createFleet("tritachyon", type);
getLocation().spawnFleet(getAnchor(), 0, 0, fleet);
fleet.setPreferredResupplyLocation(getAnchor());
if (type.equals("scout") || type.equals("raiders")) {
fleet.addAssignment(FleetAssignment.RAID_SYSTEM, null, 30);
fleet.addAssignment(FleetAssignment.GO_TO_LOCATION_AND_DESPAWN, getAnchor(), 1000);
} else {
if ((float) Math.random() > 0.3f) {
//fleet.addAssignment(FleetAssignment.RAID_SYSTEM, null, 30);
fleet.addAssignment(FleetAssignment.ATTACK_LOCATION, station, 50);
fleet.addAssignment(FleetAssignment.GO_TO_LOCATION_AND_DESPAWN, getAnchor(), 1000);
} else {
fleet.addAssignment(FleetAssignment.DEFEND_LOCATION, getAnchor(), 20);
fleet.addAssignment(FleetAssignment.GO_TO_LOCATION_AND_DESPAWN, getAnchor(), 1000);
}
}
return fleet;
}
}
Thanks in advance!