54 StarSystemAPI system = context.system;
55 SectorEntityToken parent = context.center;
56 if (context.parent !=
null) parent = context.parent;
62 float bandWidth = 256f;
68 numBands += (int) spiralFactor;
74 for (
float i = 0; i < numBands; i++) {
78 float radius = orbitRadius - i * bandWidth * 0.25f - i * bandWidth * 0.1f;
85 RingBandAPI visual = system.addRingBand(parent,
"misc", tex.tex, 256f, tex.index, color, bandWidth,
86 radius + bandWidth / 2f, -orbitDays);
89 visual.setSpiral(
true);
90 visual.setMinSpiralRadius(0);
91 visual.setSpiralFactor(spiralFactor);
95 List<SectorEntityToken> rings =
new ArrayList<SectorEntityToken>();
96 SectorEntityToken ring = system.addTerrain(Terrain.RING,
new RingParams(orbitRadius, orbitRadius / 2f, parent,
null));
97 ring.addTag(Tags.ACCRETION_DISK);
98 if (((CampaignTerrainAPI)ring).getPlugin() instanceof RingSystemTerrainPlugin) {
99 ((RingSystemTerrainPlugin)((CampaignTerrainAPI)ring).getPlugin()).setNameForTooltip(
"Accretion Disk");
102 ring.setCircularOrbit(parent, 0, 0, -100);
106 GenResult result =
new GenResult();
107 result.onlyIncrementByWidth =
false;
108 result.orbitalWidth = orbitRadius;
109 result.entities.addAll(rings);