1package com.fs.starfarer.api.impl.campaign.world;
4import java.util.Random;
6import org.lwjgl.util.vector.Vector2f;
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.campaign.JumpPointAPI;
10import com.fs.starfarer.api.campaign.LocationAPI;
11import com.fs.starfarer.api.campaign.PlanetAPI;
12import com.fs.starfarer.api.campaign.SectorAPI;
13import com.fs.starfarer.api.campaign.SectorEntityToken;
14import com.fs.starfarer.api.campaign.SpecialItemData;
15import com.fs.starfarer.api.campaign.StarSystemAPI;
16import com.fs.starfarer.api.impl.campaign.JumpPointInteractionDialogPluginImpl;
17import com.fs.starfarer.api.impl.campaign.enc.AbyssalRogueStellarObjectEPEC;
18import com.fs.starfarer.api.impl.campaign.ids.Conditions;
19import com.fs.starfarer.api.impl.campaign.ids.Entities;
20import com.fs.starfarer.api.impl.campaign.ids.Factions;
21import com.fs.starfarer.api.impl.campaign.ids.Planets;
22import com.fs.starfarer.api.impl.campaign.ids.Tags;
23import com.fs.starfarer.api.impl.campaign.procgen.StarSystemGenerator;
24import com.fs.starfarer.api.impl.campaign.procgen.StarSystemGenerator.StarSystemType;
25import com.fs.starfarer.api.impl.campaign.procgen.themes.BaseThemeGenerator;
26import com.fs.starfarer.api.impl.campaign.procgen.themes.BaseThemeGenerator.AddedEntity;
27import com.fs.starfarer.api.impl.campaign.procgen.themes.BaseThemeGenerator.EntityLocation;
28import com.fs.starfarer.api.impl.campaign.shared.WormholeManager;
29import com.fs.starfarer.api.util.Misc;
30import com.fs.starfarer.api.util.Misc.CatalogEntryType;
40 system.
setType(StarSystemType.DEEP_SPACE);
52 float angle = 180f + random.nextFloat() * 90f;
53 float systemDist = 4000f + random.nextFloat() * 2000f;
55 systemLoc.scale(systemDist);
58 system.
getLocation().set(-w/2f + systemLoc.x, -h/2f + systemLoc.y);
85 EntityLocation loc =
new EntityLocation();
86 float orbitRadius = 7000f;
103 orbitDays = orbitRadius / (20f + random.nextFloat() * 5f);
105 loc =
new EntityLocation();
107 orbitRadius, orbitDays, spin);
static SettingsAPI getSettings()
static FactoryAPI getFactory()
static SectorAPI getSector()
static final String UNSTABLE_KEY
static void setAbyssalDetectedRanges(StarSystemAPI system)
static final String DENSE_ATMOSPHERE
static final String VOLATILES_TRACE
static final String HIGH_GRAVITY
static final String STABLE_LOCATION
static final String DERELICT_GATEHAULER
static final String NEUTRAL
static final String ICE_GIANT
static AddedEntity addEntity(Random random, StarSystemAPI system, WeightedRandomPicker< EntityLocation > locs, String type, String faction)
static AddedEntity addNonSalvageEntity(LocationAPI system, EntityLocation loc, String type, String faction)
JumpPointAPI addWormhole(SpecialItemData item, SectorEntityToken stableLocation, InteractionDialogAPI dialog)
static WormholeManager get()
static SpecialItemData createWormholeAnchor(String id, String name)
void generate(SectorAPI sector)
static Color ABYSS_AMBIENT_LIGHT_COLOR
static Vector2f getUnitVectorAtDegreeAngle(float degrees)
static String genEntityCatalogId(CatalogEntryType type)
OrbitAPI createCircularOrbitWithSpin(SectorEntityToken focus, float angle, float orbitRadius, float orbitDays, float spin)
OrbitAPI createCircularOrbit(SectorEntityToken focus, float angle, float orbitRadius, float orbitDays)
float getFloat(String key)
PlanetAPI addPlanet(String id, SectorEntityToken focus, String name, String type, float angle, float radius, float orbitRadius, float orbitDays)
List< SectorEntityToken > getEntitiesWithTag(String tag)
void setName(String name)
void setBackgroundTextureFilename(String backgroundTextureFilename)
StarSystemAPI createStarSystem(String name)
LocationAPI getHyperspace()
void setLocation(float x, float y)
void setOrbit(OrbitAPI orbit)
MemoryAPI getMemoryWithoutUpdate()
SectorEntityToken initNonStarCenter()
void setLightColor(Color lightColor)
void setType(StarSystemType type)
void autogenerateHyperspaceJumpPoints()
String addCondition(String id)
void set(String key, Object value)