Starsector API
Loading...
Searching...
No Matches
SpecialItemPlugin.java
Go to the documentation of this file.
1package com.fs.starfarer.api.campaign;
2
3import java.util.Random;
4
5import java.awt.Color;
6
7import org.json.JSONException;
8
9import com.fs.starfarer.api.campaign.CargoAPI.CargoItemType;
10import com.fs.starfarer.api.campaign.econ.MarketAPI;
11import com.fs.starfarer.api.campaign.econ.SubmarketAPI;
12import com.fs.starfarer.api.graphics.SpriteAPI;
13import com.fs.starfarer.api.ui.TooltipMakerAPI;
14
15public interface SpecialItemPlugin {
16 public static interface RightClickActionHelper {
17 void removeFromClickedStackFirst(int num);
18 void removeFromAnyStack(CargoItemType type, Object data, int num);
19 void addItems(CargoItemType type, Object data, float quantity);
20 float getNumItems(CargoItemType type, Object data);
21 }
22
23 public interface SpecialItemRendererAPI {
24 void renderSchematic(SpriteAPI sprite, float cx, float cy, float alphaMult);
25 void renderScanlines(SpriteAPI sprite, float cx, float cy, float alphaMult);
26 void renderScanlinesWithCorners(float blX, float blY, float tlX, float tlY,
27 float trX, float trY, float brX, float brY,
28 float alphaMult, boolean additive);
29 void renderSchematicWithCorners(SpriteAPI sprite, Color color,
30 float blX, float blY, float tlX, float tlY,
31 float trX, float trY, float brX, float brY,
32 float alphaMult);
33 void renderShipWithCorners(String hullOrWingId, Color bgColor,
34 float blX, float blY, float tlX, float tlY, float trX,
35 float trY, float brX, float brY, float alphaMult, float glowMult, boolean withSpotlight);
36 void renderBGWithCorners(Color bgColor, float blX, float blY,
37 float tlX, float tlY, float trX, float trY, float brX,
38 float brY, float alphaMult, float glowMult, boolean additive);
39 void renderWeaponWithCorners(String weaponId, float blX, float blY,
40 float tlX, float tlY, float trX, float trY, float brX,
41 float brY, float alphaMult, float glowMult, boolean withSpotlight);
42
43 }
44
49 void setId(String id);
50 void init(CargoStackAPI stack);
51
52 String getName();
53 int getPrice(MarketAPI market, SubmarketAPI submarket);
54
57 void performRightClickAction(RightClickActionHelper helper);
58
60
61// int getNumToRemove();
62// boolean shouldRemoveCalledAfterRightClickAction();
63// void setReadOnlyCargoForRightClickAction(CargoAPI cargo);
64
67 void createTooltip(TooltipMakerAPI tooltip, boolean expanded, CargoTransferHandlerAPI transferHandler, Object stackSource);
68
69 void render(float x, float y, float w, float h, float alphaMult, float glowMult, SpecialItemRendererAPI renderer);
70
77 String resolveDropParamsToSpecificItemData(String params, Random random) throws JSONException;
78 String getDesignType();
79
81}
82
83
84
85
86
87
88
89
void renderWeaponWithCorners(String weaponId, float blX, float blY, float tlX, float tlY, float trX, float trY, float brX, float brY, float alphaMult, float glowMult, boolean withSpotlight)
void renderSchematicWithCorners(SpriteAPI sprite, Color color, float blX, float blY, float tlX, float tlY, float trX, float trY, float brX, float brY, float alphaMult)
void renderScanlinesWithCorners(float blX, float blY, float tlX, float tlY, float trX, float trY, float brX, float brY, float alphaMult, boolean additive)
void renderScanlines(SpriteAPI sprite, float cx, float cy, float alphaMult)
void renderSchematic(SpriteAPI sprite, float cx, float cy, float alphaMult)
void renderBGWithCorners(Color bgColor, float blX, float blY, float tlX, float tlY, float trX, float trY, float brX, float brY, float alphaMult, float glowMult, boolean additive)
void renderShipWithCorners(String hullOrWingId, Color bgColor, float blX, float blY, float tlX, float tlY, float trX, float trY, float brX, float brY, float alphaMult, float glowMult, boolean withSpotlight)
void render(float x, float y, float w, float h, float alphaMult, float glowMult, SpecialItemRendererAPI renderer)
int getPrice(MarketAPI market, SubmarketAPI submarket)
void performRightClickAction(RightClickActionHelper helper)
void createTooltip(TooltipMakerAPI tooltip, boolean expanded, CargoTransferHandlerAPI transferHandler, Object stackSource)
String resolveDropParamsToSpecificItemData(String params, Random random)