bw mirror 2.5 preps

This commit is contained in:
vjurenka 2016-02-28 12:38:00 +01:00
parent 528b7b077b
commit cf00018043
70 changed files with 934 additions and 1045 deletions

View file

@ -6844,7 +6844,7 @@ const TilePosition first_elem_ptr = cresult.first;
jobject first = env->NewObject(firstElemClass, firstElemConsID, first_elem_ptr.x, first_elem_ptr.y);
const double second_elem_ptr = cresult.second;
jobject second = env->NewObject(secondElemClass, secondElemConsID,second_elem_ptr);
jclass retcls = FindCachedClass(env, "bwta/Pair");
jclass retcls = FindCachedClass(env, "bwapi/Pair");
jmethodID retConsID = FindCachedMethod(env, retcls, "<init>", "(Ljava/lang/Object;Ljava/lang/Object;)V");
jobject result = env->NewObject(retcls, retConsID, first, second);
return result;
@ -6930,6 +6930,38 @@ TilePosition start((int)env->GetIntField(p_start, FindCachedField(env, env->GetO
TilePosition end((int)env->GetIntField(p_end, FindCachedField(env, env->GetObjectClass(p_end), "x", "I")), (int)env->GetIntField(p_end, FindCachedField(env, env->GetObjectClass(p_end), "y", "I")));
return BWTA::getGroundDistance2(start, end);
}
JNIEXPORT jobject JNICALL Java_bwta_Chokepoint_getRegions_1native(JNIEnv * env, jobject obj, jlong pointer){
BWTA::Chokepoint* x_chokepoint = (BWTA::Chokepoint*)pointer;
std::pair<BWTA::Region*, BWTA::Region*> cresult = x_chokepoint->getRegions();
jclass firstElemClass = FindCachedClass(env, "bwta/Region");
jmethodID firstGetMethodID = FindCachedMethodStatic(env, firstElemClass, "get", "(J)Lbwta/Region;");
jclass secondElemClass = FindCachedClass(env, "bwta/Region");
jmethodID secondGetMethodID = FindCachedMethodStatic(env, secondElemClass, "get", "(J)Lbwta/Region;");
const BWTA::Region* first_elem_ptr = cresult.first;
jobject first = env->CallStaticObjectMethod(firstElemClass, firstGetMethodID, (jlong)first_elem_ptr) ;
const BWTA::Region* second_elem_ptr = cresult.second;
jobject second = env->CallStaticObjectMethod(secondElemClass, secondGetMethodID, (jlong)second_elem_ptr) ;
jclass retcls = FindCachedClass(env, "bwapi/Pair");
jmethodID retConsID = FindCachedMethod(env, retcls, "<init>", "(Ljava/lang/Object;Ljava/lang/Object;)V");
jobject result = env->NewObject(retcls, retConsID, first, second);
return result;
}
JNIEXPORT jobject JNICALL Java_bwta_Chokepoint_getSides_1native(JNIEnv * env, jobject obj, jlong pointer){
BWTA::Chokepoint* x_chokepoint = (BWTA::Chokepoint*)pointer;
std::pair<Position, Position> cresult = x_chokepoint->getSides();
jclass firstElemClass = FindCachedClass(env, "bwapi/Position");
jmethodID firstElemConsID = FindCachedMethod(env, firstElemClass, "<init>", "(II)V");
jclass secondElemClass = FindCachedClass(env, "bwapi/Position");
jmethodID secondElemConsID = FindCachedMethod(env, secondElemClass, "<init>", "(II)V");
const Position first_elem_ptr = cresult.first;
jobject first = env->NewObject(firstElemClass, firstElemConsID, first_elem_ptr.x, first_elem_ptr.y);
const Position second_elem_ptr = cresult.second;
jobject second = env->NewObject(secondElemClass, secondElemConsID, second_elem_ptr.x, second_elem_ptr.y);
jclass retcls = FindCachedClass(env, "bwapi/Pair");
jmethodID retConsID = FindCachedMethod(env, retcls, "<init>", "(Ljava/lang/Object;Ljava/lang/Object;)V");
jobject result = env->NewObject(retcls, retConsID, first, second);
return result;
}
JNIEXPORT jobject JNICALL Java_bwta_Chokepoint_getCenter_1native(JNIEnv * env, jobject obj, jlong pointer){
BWTA::Chokepoint* x_chokepoint = (BWTA::Chokepoint*)pointer;
Position cresult = x_chokepoint->getCenter();
@ -7098,6 +7130,7 @@ void println(const char * text){
JNIEXPORT void JNICALL Java_bwapi_Mirror_startGame(JNIEnv * env, jobject obj){
jclass cls;
jmethodID getId;
jobject cst;
cls = env->FindClass("Lbwapi/BulletType;");
getId = env->GetStaticMethodID(cls, "get", "(J)Lbwapi/BulletType;");
env->SetStaticObjectField(cls, env->GetStaticFieldID(cls, "Melee", "Lbwapi/BulletType;"), env->CallStaticObjectMethod(cls, getId, (jlong)&BulletTypes::Melee));

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -10088,6 +10088,22 @@ JNIEXPORT jint JNICALL Java_bwta_BWTA_getGroundDistance2
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: bwta_Chokepoint
* Method: getRegions_native
* Signature: (J)Lbwapi/Pair;
*/
JNIEXPORT jobject JNICALL Java_bwta_Chokepoint_getRegions_1native
(JNIEnv *, jobject, jlong);
/*
* Class: bwta_Chokepoint
* Method: getSides_native
* Signature: (J)Lbwapi/Pair;
*/
JNIEXPORT jobject JNICALL Java_bwta_Chokepoint_getSides_1native
(JNIEnv *, jobject, jlong);
/*
* Class: bwta_Chokepoint
* Method: getCenter_native

View file

@ -19,79 +19,79 @@ public class BulletType {
return toString_native(pointer);
}
public static BulletType Melee;
public static final BulletType Melee = new BulletType(0);
public static BulletType Fusion_Cutter_Hit;
public static final BulletType Fusion_Cutter_Hit = new BulletType(0);
public static BulletType Gauss_Rifle_Hit;
public static final BulletType Gauss_Rifle_Hit = new BulletType(0);
public static BulletType C_10_Canister_Rifle_Hit;
public static final BulletType C_10_Canister_Rifle_Hit = new BulletType(0);
public static BulletType Gemini_Missiles;
public static final BulletType Gemini_Missiles = new BulletType(0);
public static BulletType Fragmentation_Grenade;
public static final BulletType Fragmentation_Grenade = new BulletType(0);
public static BulletType Longbolt_Missile;
public static final BulletType Longbolt_Missile = new BulletType(0);
public static BulletType ATS_ATA_Laser_Battery;
public static final BulletType ATS_ATA_Laser_Battery = new BulletType(0);
public static BulletType Burst_Lasers;
public static final BulletType Burst_Lasers = new BulletType(0);
public static BulletType Arclite_Shock_Cannon_Hit;
public static final BulletType Arclite_Shock_Cannon_Hit = new BulletType(0);
public static BulletType EMP_Missile;
public static final BulletType EMP_Missile = new BulletType(0);
public static BulletType Dual_Photon_Blasters_Hit;
public static final BulletType Dual_Photon_Blasters_Hit = new BulletType(0);
public static BulletType Particle_Beam_Hit;
public static final BulletType Particle_Beam_Hit = new BulletType(0);
public static BulletType Anti_Matter_Missile;
public static final BulletType Anti_Matter_Missile = new BulletType(0);
public static BulletType Pulse_Cannon;
public static final BulletType Pulse_Cannon = new BulletType(0);
public static BulletType Psionic_Shockwave_Hit;
public static final BulletType Psionic_Shockwave_Hit = new BulletType(0);
public static BulletType Psionic_Storm;
public static final BulletType Psionic_Storm = new BulletType(0);
public static BulletType Yamato_Gun;
public static final BulletType Yamato_Gun = new BulletType(0);
public static BulletType Phase_Disruptor;
public static final BulletType Phase_Disruptor = new BulletType(0);
public static BulletType STA_STS_Cannon_Overlay;
public static final BulletType STA_STS_Cannon_Overlay = new BulletType(0);
public static BulletType Sunken_Colony_Tentacle;
public static final BulletType Sunken_Colony_Tentacle = new BulletType(0);
public static BulletType Acid_Spore;
public static final BulletType Acid_Spore = new BulletType(0);
public static BulletType Glave_Wurm;
public static final BulletType Glave_Wurm = new BulletType(0);
public static BulletType Seeker_Spores;
public static final BulletType Seeker_Spores = new BulletType(0);
public static BulletType Queen_Spell_Carrier;
public static final BulletType Queen_Spell_Carrier = new BulletType(0);
public static BulletType Plague_Cloud;
public static final BulletType Plague_Cloud = new BulletType(0);
public static BulletType Consume;
public static final BulletType Consume = new BulletType(0);
public static BulletType Ensnare;
public static final BulletType Ensnare = new BulletType(0);
public static BulletType Needle_Spine_Hit;
public static final BulletType Needle_Spine_Hit = new BulletType(0);
public static BulletType Invisible;
public static final BulletType Invisible = new BulletType(0);
public static BulletType Optical_Flare_Grenade;
public static final BulletType Optical_Flare_Grenade = new BulletType(0);
public static BulletType Halo_Rockets;
public static final BulletType Halo_Rockets = new BulletType(0);
public static BulletType Subterranean_Spines;
public static final BulletType Subterranean_Spines = new BulletType(0);
public static BulletType Corrosive_Acid_Shot;
public static final BulletType Corrosive_Acid_Shot = new BulletType(0);
public static BulletType Neutron_Flare;
public static final BulletType Neutron_Flare = new BulletType(0);
public static BulletType None;
public static final BulletType None = new BulletType(0);
public static BulletType Unknown;
public static final BulletType Unknown = new BulletType(0);
private static Map<Long, BulletType> instances = new HashMap<Long, BulletType>();

View file

@ -19,19 +19,19 @@ public class DamageType {
return toString_native(pointer);
}
public static DamageType Independent;
public static final DamageType Independent = new DamageType(0);
public static DamageType Explosive;
public static final DamageType Explosive = new DamageType(0);
public static DamageType Concussive;
public static final DamageType Concussive = new DamageType(0);
public static DamageType Normal;
public static final DamageType Normal = new DamageType(0);
public static DamageType Ignore_Armor;
public static final DamageType Ignore_Armor = new DamageType(0);
public static DamageType None;
public static final DamageType None = new DamageType(0);
public static DamageType Unknown;
public static final DamageType Unknown = new DamageType(0);
private static Map<Long, DamageType> instances = new HashMap<Long, DamageType>();

View file

@ -19,61 +19,61 @@ public class Error {
return toString_native(pointer);
}
public static Error Unit_Does_Not_Exist;
public static final Error Unit_Does_Not_Exist = new Error(0);
public static Error Unit_Not_Visible;
public static final Error Unit_Not_Visible = new Error(0);
public static Error Unit_Not_Owned;
public static final Error Unit_Not_Owned = new Error(0);
public static Error Unit_Busy;
public static final Error Unit_Busy = new Error(0);
public static Error Incompatible_UnitType;
public static final Error Incompatible_UnitType = new Error(0);
public static Error Incompatible_TechType;
public static final Error Incompatible_TechType = new Error(0);
public static Error Incompatible_State;
public static final Error Incompatible_State = new Error(0);
public static Error Already_Researched;
public static final Error Already_Researched = new Error(0);
public static Error Fully_Upgraded;
public static final Error Fully_Upgraded = new Error(0);
public static Error Currently_Researching;
public static final Error Currently_Researching = new Error(0);
public static Error Currently_Upgrading;
public static final Error Currently_Upgrading = new Error(0);
public static Error Insufficient_Minerals;
public static final Error Insufficient_Minerals = new Error(0);
public static Error Insufficient_Gas;
public static final Error Insufficient_Gas = new Error(0);
public static Error Insufficient_Supply;
public static final Error Insufficient_Supply = new Error(0);
public static Error Insufficient_Energy;
public static final Error Insufficient_Energy = new Error(0);
public static Error Insufficient_Tech;
public static final Error Insufficient_Tech = new Error(0);
public static Error Insufficient_Ammo;
public static final Error Insufficient_Ammo = new Error(0);
public static Error Insufficient_Space;
public static final Error Insufficient_Space = new Error(0);
public static Error Invalid_Tile_Position;
public static final Error Invalid_Tile_Position = new Error(0);
public static Error Unbuildable_Location;
public static final Error Unbuildable_Location = new Error(0);
public static Error Unreachable_Location;
public static final Error Unreachable_Location = new Error(0);
public static Error Out_Of_Range;
public static final Error Out_Of_Range = new Error(0);
public static Error Unable_To_Hit;
public static final Error Unable_To_Hit = new Error(0);
public static Error Access_Denied;
public static final Error Access_Denied = new Error(0);
public static Error File_Not_Found;
public static final Error File_Not_Found = new Error(0);
public static Error Invalid_Parameter;
public static final Error Invalid_Parameter = new Error(0);
public static Error None;
public static final Error None = new Error(0);
public static Error Unknown;
public static final Error Unknown = new Error(0);
private static Map<Long, Error> instances = new HashMap<Long, Error>();

View file

@ -19,55 +19,55 @@ public class ExplosionType {
return toString_native(pointer);
}
public static ExplosionType None;
public static final ExplosionType None = new ExplosionType(0);
public static ExplosionType Normal;
public static final ExplosionType Normal = new ExplosionType(0);
public static ExplosionType Radial_Splash;
public static final ExplosionType Radial_Splash = new ExplosionType(0);
public static ExplosionType Enemy_Splash;
public static final ExplosionType Enemy_Splash = new ExplosionType(0);
public static ExplosionType Lockdown;
public static final ExplosionType Lockdown = new ExplosionType(0);
public static ExplosionType Nuclear_Missile;
public static final ExplosionType Nuclear_Missile = new ExplosionType(0);
public static ExplosionType Parasite;
public static final ExplosionType Parasite = new ExplosionType(0);
public static ExplosionType Broodlings;
public static final ExplosionType Broodlings = new ExplosionType(0);
public static ExplosionType EMP_Shockwave;
public static final ExplosionType EMP_Shockwave = new ExplosionType(0);
public static ExplosionType Irradiate;
public static final ExplosionType Irradiate = new ExplosionType(0);
public static ExplosionType Ensnare;
public static final ExplosionType Ensnare = new ExplosionType(0);
public static ExplosionType Plague;
public static final ExplosionType Plague = new ExplosionType(0);
public static ExplosionType Stasis_Field;
public static final ExplosionType Stasis_Field = new ExplosionType(0);
public static ExplosionType Dark_Swarm;
public static final ExplosionType Dark_Swarm = new ExplosionType(0);
public static ExplosionType Consume;
public static final ExplosionType Consume = new ExplosionType(0);
public static ExplosionType Yamato_Gun;
public static final ExplosionType Yamato_Gun = new ExplosionType(0);
public static ExplosionType Restoration;
public static final ExplosionType Restoration = new ExplosionType(0);
public static ExplosionType Disruption_Web;
public static final ExplosionType Disruption_Web = new ExplosionType(0);
public static ExplosionType Corrosive_Acid;
public static final ExplosionType Corrosive_Acid = new ExplosionType(0);
public static ExplosionType Mind_Control;
public static final ExplosionType Mind_Control = new ExplosionType(0);
public static ExplosionType Feedback;
public static final ExplosionType Feedback = new ExplosionType(0);
public static ExplosionType Optical_Flare;
public static final ExplosionType Optical_Flare = new ExplosionType(0);
public static ExplosionType Maelstrom;
public static final ExplosionType Maelstrom = new ExplosionType(0);
public static ExplosionType Air_Splash;
public static final ExplosionType Air_Splash = new ExplosionType(0);
public static ExplosionType Unknown;
public static final ExplosionType Unknown = new ExplosionType(0);
private static Map<Long, ExplosionType> instances = new HashMap<Long, ExplosionType>();

View file

@ -125,7 +125,7 @@ Retrieves the GameType of the current game. Returns GameType indicating the rule
}
/**
Retrieves the current latency setting that the game is set to. Latency indicates the delay between issuing a command and having it processed. Returns The latency setting of the game, which is of Latency::Enum. See also Latency::Enum Todo: Change return type to Latency::Enum without breaking everything.
Retrieves the current latency setting that the game is set to. Latency indicates the delay between issuing a command and having it processed. Returns The latency setting of the game, which is of Latency::Enum. See also Latency::Enum
*/
public int getLatency() {
return getLatency_native(pointer);
@ -216,14 +216,14 @@ Pings the minimap at the given position. Minimap pings are visible to allied pla
}
/**
Checks if the state of the given flag is enabled or not. Note Flags may only be enabled at the start of the match during the AIModule::onStart callback. Parameters flag The Flag::Enum entry describing the flag's effects on BWAPI. Returns true if the given flag is enabled, false if the flag is disabled. See also Flag::Enum Todo: Take Flag::Enum as parameter instead of int
Checks if the state of the given flag is enabled or not. Note Flags may only be enabled at the start of the match during the AIModule::onStart callback. Parameters flag The Flag::Enum entry describing the flag's effects on BWAPI. Returns true if the given flag is enabled, false if the flag is disabled. See also Flag::Enum
*/
public boolean isFlagEnabled(int flag) {
return isFlagEnabled_native(pointer, flag);
}
/**
Enables the state of a given flag. Note Flags may only be enabled at the start of the match during the AIModule::onStart callback. Parameters flag The Flag::Enum entry describing the flag's effects on BWAPI. See also Flag::Enum Todo: Take Flag::Enum as parameter instead of int
Enables the state of a given flag. Note Flags may only be enabled at the start of the match during the AIModule::onStart callback. Parameters flag The Flag::Enum entry describing the flag's effects on BWAPI. See also Flag::Enum
*/
public void enableFlag(int flag) {
enableFlag_native(pointer, flag);
@ -304,14 +304,14 @@ Retrieves the height of the map in build tile units. Returns Height of the map i
}
/**
Retrieves the file name of the currently loaded map. Returns Map file name as std::string object. See also mapPathName, mapName Todo: : Note on campaign files.
Retrieves the file name of the currently loaded map. Returns Map file name as std::string object. See also mapPathName, mapName
*/
public String mapFileName() {
return mapFileName_native(pointer);
}
/**
Retrieves the full path name of the currently loaded map. Returns Map file name as std::string object. See also mapFileName, mapName Todo: : Note on campaign files.
Retrieves the full path name of the currently loaded map. Returns Map file name as std::string object. See also mapFileName, mapName
*/
public String mapPathName() {
return mapPathName_native(pointer);
@ -325,7 +325,7 @@ Retrieves the title of the currently loaded map. Returns Map title as std::strin
}
/**
Calculates the SHA-1 hash of the currently loaded map file. Returns std::string object containing SHA-1 hash. Note Campaign maps will return a hash of their internal map chunk components(.chk), while standard maps will return a hash of their entire map archive (.scm,.scx). Todo: : Note on replays.
Calculates the SHA-1 hash of the currently loaded map file. Returns std::string object containing SHA-1 hash. Note Campaign maps will return a hash of their internal map chunk components(.chk), while standard maps will return a hash of their entire map archive (.scm,.scx).
*/
public String mapHash() {
return mapHash_native(pointer);
@ -623,14 +623,14 @@ Leaves the current game by surrendering and enters the post-game statistics/scor
}
/**
Restarts the match. Works the same as if the match was restarted from the in-game menu (F10). This option is only available in single player games. Todo: return a bool indicating success, document error code for invalid state
Restarts the match. Works the same as if the match was restarted from the in-game menu (F10). This option is only available in single player games.
*/
public void restartGame() {
restartGame_native(pointer);
}
/**
Sets the number of milliseconds Broodwar spends in each frame. The default values are as follows: Fastest: 42ms/frame Faster: 48ms/frame Fast: 56ms/frame Normal: 67ms/frame Slow: 83ms/frame Slower: 111ms/frame Slowest: 167ms/frame Note Specifying a value of 0 will not guarantee that logical frames are executed as fast as possible. If that is the intention, use this in combination with setFrameSkip. Bug: Changing this value will cause the execution of Use Map Settings scenario triggers to glitch. This will only happen in campaign maps and custom scenarios (non-melee). Parameters speed The time spent per frame, in milliseconds. A value of 0 indicates that frames are executed immediately with no delay. Negative values will restore the default value as listed above. See also setFrameSkip, getFPS
Sets the number of milliseconds Broodwar spends in each frame. The default values are as follows: Fastest: 42ms/frame Faster: 48ms/frame Fast: 56ms/frame Normal: 67ms/frame Slow: 83ms/frame Slower: 111ms/frame Slowest: 167ms/frame Note Specifying a value of 0 will not guarantee that logical frames are executed as fast as possible. If that is the intention, use this in combination with setFrameSkip. Parameters speed The time spent per frame, in milliseconds. A value of 0 indicates that frames are executed immediately with no delay. Negative values will restore the default value as listed above. See also setFrameSkip, getFPS
*/
public void setLocalSpeed(int speed) {
setLocalSpeed_native(pointer, speed);

View file

@ -19,35 +19,35 @@ public class GameType {
return toString_native(pointer);
}
public static GameType Melee;
public static final GameType Melee = new GameType(0);
public static GameType Free_For_All;
public static final GameType Free_For_All = new GameType(0);
public static GameType One_on_One;
public static final GameType One_on_One = new GameType(0);
public static GameType Capture_The_Flag;
public static final GameType Capture_The_Flag = new GameType(0);
public static GameType Greed;
public static final GameType Greed = new GameType(0);
public static GameType Slaughter;
public static final GameType Slaughter = new GameType(0);
public static GameType Sudden_Death;
public static final GameType Sudden_Death = new GameType(0);
public static GameType Ladder;
public static final GameType Ladder = new GameType(0);
public static GameType Use_Map_Settings;
public static final GameType Use_Map_Settings = new GameType(0);
public static GameType Team_Melee;
public static final GameType Team_Melee = new GameType(0);
public static GameType Team_Free_For_All;
public static final GameType Team_Free_For_All = new GameType(0);
public static GameType Team_Capture_The_Flag;
public static final GameType Team_Capture_The_Flag = new GameType(0);
public static GameType Top_vs_Bottom;
public static final GameType Top_vs_Bottom = new GameType(0);
public static GameType None;
public static final GameType None = new GameType(0);
public static GameType Unknown;
public static final GameType Unknown = new GameType(0);
private static Map<Long, GameType> instances = new HashMap<Long, GameType>();

View file

@ -19,317 +19,317 @@ public class Order {
return toString_native(pointer);
}
public static Order Die;
public static final Order Die = new Order(0);
public static Order Stop;
public static final Order Stop = new Order(0);
public static Order Guard;
public static final Order Guard = new Order(0);
public static Order PlayerGuard;
public static final Order PlayerGuard = new Order(0);
public static Order TurretGuard;
public static final Order TurretGuard = new Order(0);
public static Order BunkerGuard;
public static final Order BunkerGuard = new Order(0);
public static Order Move;
public static final Order Move = new Order(0);
public static Order AttackUnit;
public static final Order AttackUnit = new Order(0);
public static Order AttackTile;
public static final Order AttackTile = new Order(0);
public static Order Hover;
public static final Order Hover = new Order(0);
public static Order AttackMove;
public static final Order AttackMove = new Order(0);
public static Order InfestedCommandCenter;
public static final Order InfestedCommandCenter = new Order(0);
public static Order UnusedNothing;
public static final Order UnusedNothing = new Order(0);
public static Order UnusedPowerup;
public static final Order UnusedPowerup = new Order(0);
public static Order TowerGuard;
public static final Order TowerGuard = new Order(0);
public static Order VultureMine;
public static final Order VultureMine = new Order(0);
public static Order Nothing;
public static final Order Nothing = new Order(0);
public static Order CastInfestation;
public static final Order CastInfestation = new Order(0);
public static Order InfestingCommandCenter;
public static final Order InfestingCommandCenter = new Order(0);
public static Order PlaceBuilding;
public static final Order PlaceBuilding = new Order(0);
public static Order CreateProtossBuilding;
public static final Order CreateProtossBuilding = new Order(0);
public static Order ConstructingBuilding;
public static final Order ConstructingBuilding = new Order(0);
public static Order Repair;
public static final Order Repair = new Order(0);
public static Order PlaceAddon;
public static final Order PlaceAddon = new Order(0);
public static Order BuildAddon;
public static final Order BuildAddon = new Order(0);
public static Order Train;
public static final Order Train = new Order(0);
public static Order RallyPointUnit;
public static final Order RallyPointUnit = new Order(0);
public static Order RallyPointTile;
public static final Order RallyPointTile = new Order(0);
public static Order ZergBirth;
public static final Order ZergBirth = new Order(0);
public static Order ZergUnitMorph;
public static final Order ZergUnitMorph = new Order(0);
public static Order ZergBuildingMorph;
public static final Order ZergBuildingMorph = new Order(0);
public static Order IncompleteBuilding;
public static final Order IncompleteBuilding = new Order(0);
public static Order BuildNydusExit;
public static final Order BuildNydusExit = new Order(0);
public static Order EnterNydusCanal;
public static final Order EnterNydusCanal = new Order(0);
public static Order Follow;
public static final Order Follow = new Order(0);
public static Order Carrier;
public static final Order Carrier = new Order(0);
public static Order ReaverCarrierMove;
public static final Order ReaverCarrierMove = new Order(0);
public static Order CarrierIgnore2;
public static final Order CarrierIgnore2 = new Order(0);
public static Order Reaver;
public static final Order Reaver = new Order(0);
public static Order TrainFighter;
public static final Order TrainFighter = new Order(0);
public static Order InterceptorAttack;
public static final Order InterceptorAttack = new Order(0);
public static Order ScarabAttack;
public static final Order ScarabAttack = new Order(0);
public static Order RechargeShieldsUnit;
public static final Order RechargeShieldsUnit = new Order(0);
public static Order RechargeShieldsBattery;
public static final Order RechargeShieldsBattery = new Order(0);
public static Order ShieldBattery;
public static final Order ShieldBattery = new Order(0);
public static Order InterceptorReturn;
public static final Order InterceptorReturn = new Order(0);
public static Order BuildingLand;
public static final Order BuildingLand = new Order(0);
public static Order BuildingLiftOff;
public static final Order BuildingLiftOff = new Order(0);
public static Order DroneLiftOff;
public static final Order DroneLiftOff = new Order(0);
public static Order LiftingOff;
public static final Order LiftingOff = new Order(0);
public static Order ResearchTech;
public static final Order ResearchTech = new Order(0);
public static Order Upgrade;
public static final Order Upgrade = new Order(0);
public static Order Larva;
public static final Order Larva = new Order(0);
public static Order SpawningLarva;
public static final Order SpawningLarva = new Order(0);
public static Order Harvest1;
public static final Order Harvest1 = new Order(0);
public static Order Harvest2;
public static final Order Harvest2 = new Order(0);
public static Order MoveToGas;
public static final Order MoveToGas = new Order(0);
public static Order WaitForGas;
public static final Order WaitForGas = new Order(0);
public static Order HarvestGas;
public static final Order HarvestGas = new Order(0);
public static Order ReturnGas;
public static final Order ReturnGas = new Order(0);
public static Order MoveToMinerals;
public static final Order MoveToMinerals = new Order(0);
public static Order WaitForMinerals;
public static final Order WaitForMinerals = new Order(0);
public static Order MiningMinerals;
public static final Order MiningMinerals = new Order(0);
public static Order Harvest3;
public static final Order Harvest3 = new Order(0);
public static Order Harvest4;
public static final Order Harvest4 = new Order(0);
public static Order ReturnMinerals;
public static final Order ReturnMinerals = new Order(0);
public static Order Interrupted;
public static final Order Interrupted = new Order(0);
public static Order EnterTransport;
public static final Order EnterTransport = new Order(0);
public static Order PickupIdle;
public static final Order PickupIdle = new Order(0);
public static Order PickupTransport;
public static final Order PickupTransport = new Order(0);
public static Order PickupBunker;
public static final Order PickupBunker = new Order(0);
public static Order Pickup4;
public static final Order Pickup4 = new Order(0);
public static Order PowerupIdle;
public static final Order PowerupIdle = new Order(0);
public static Order Sieging;
public static final Order Sieging = new Order(0);
public static Order Unsieging;
public static final Order Unsieging = new Order(0);
public static Order InitCreepGrowth;
public static final Order InitCreepGrowth = new Order(0);
public static Order SpreadCreep;
public static final Order SpreadCreep = new Order(0);
public static Order StoppingCreepGrowth;
public static final Order StoppingCreepGrowth = new Order(0);
public static Order GuardianAspect;
public static final Order GuardianAspect = new Order(0);
public static Order ArchonWarp;
public static final Order ArchonWarp = new Order(0);
public static Order CompletingArchonSummon;
public static final Order CompletingArchonSummon = new Order(0);
public static Order HoldPosition;
public static final Order HoldPosition = new Order(0);
public static Order Cloak;
public static final Order Cloak = new Order(0);
public static Order Decloak;
public static final Order Decloak = new Order(0);
public static Order Unload;
public static final Order Unload = new Order(0);
public static Order MoveUnload;
public static final Order MoveUnload = new Order(0);
public static Order FireYamatoGun;
public static final Order FireYamatoGun = new Order(0);
public static Order CastLockdown;
public static final Order CastLockdown = new Order(0);
public static Order Burrowing;
public static final Order Burrowing = new Order(0);
public static Order Burrowed;
public static final Order Burrowed = new Order(0);
public static Order Unburrowing;
public static final Order Unburrowing = new Order(0);
public static Order CastDarkSwarm;
public static final Order CastDarkSwarm = new Order(0);
public static Order CastParasite;
public static final Order CastParasite = new Order(0);
public static Order CastSpawnBroodlings;
public static final Order CastSpawnBroodlings = new Order(0);
public static Order CastEMPShockwave;
public static final Order CastEMPShockwave = new Order(0);
public static Order NukeWait;
public static final Order NukeWait = new Order(0);
public static Order NukeTrain;
public static final Order NukeTrain = new Order(0);
public static Order NukeLaunch;
public static final Order NukeLaunch = new Order(0);
public static Order NukePaint;
public static final Order NukePaint = new Order(0);
public static Order NukeUnit;
public static final Order NukeUnit = new Order(0);
public static Order CastNuclearStrike;
public static final Order CastNuclearStrike = new Order(0);
public static Order NukeTrack;
public static final Order NukeTrack = new Order(0);
public static Order CloakNearbyUnits;
public static final Order CloakNearbyUnits = new Order(0);
public static Order PlaceMine;
public static final Order PlaceMine = new Order(0);
public static Order RightClickAction;
public static final Order RightClickAction = new Order(0);
public static Order CastRecall;
public static final Order CastRecall = new Order(0);
public static Order Teleport;
public static final Order Teleport = new Order(0);
public static Order CastScannerSweep;
public static final Order CastScannerSweep = new Order(0);
public static Order Scanner;
public static final Order Scanner = new Order(0);
public static Order CastDefensiveMatrix;
public static final Order CastDefensiveMatrix = new Order(0);
public static Order CastPsionicStorm;
public static final Order CastPsionicStorm = new Order(0);
public static Order CastIrradiate;
public static final Order CastIrradiate = new Order(0);
public static Order CastPlague;
public static final Order CastPlague = new Order(0);
public static Order CastConsume;
public static final Order CastConsume = new Order(0);
public static Order CastEnsnare;
public static final Order CastEnsnare = new Order(0);
public static Order CastStasisField;
public static final Order CastStasisField = new Order(0);
public static Order CastHallucination;
public static final Order CastHallucination = new Order(0);
public static Order Hallucination2;
public static final Order Hallucination2 = new Order(0);
public static Order ResetCollision;
public static final Order ResetCollision = new Order(0);
public static Order Patrol;
public static final Order Patrol = new Order(0);
public static Order CTFCOPInit;
public static final Order CTFCOPInit = new Order(0);
public static Order CTFCOPStarted;
public static final Order CTFCOPStarted = new Order(0);
public static Order CTFCOP2;
public static final Order CTFCOP2 = new Order(0);
public static Order ComputerAI;
public static final Order ComputerAI = new Order(0);
public static Order AtkMoveEP;
public static final Order AtkMoveEP = new Order(0);
public static Order HarassMove;
public static final Order HarassMove = new Order(0);
public static Order AIPatrol;
public static final Order AIPatrol = new Order(0);
public static Order GuardPost;
public static final Order GuardPost = new Order(0);
public static Order RescuePassive;
public static final Order RescuePassive = new Order(0);
public static Order Neutral;
public static final Order Neutral = new Order(0);
public static Order ComputerReturn;
public static final Order ComputerReturn = new Order(0);
public static Order SelfDestructing;
public static final Order SelfDestructing = new Order(0);
public static Order Critter;
public static final Order Critter = new Order(0);
public static Order HiddenGun;
public static final Order HiddenGun = new Order(0);
public static Order OpenDoor;
public static final Order OpenDoor = new Order(0);
public static Order CloseDoor;
public static final Order CloseDoor = new Order(0);
public static Order HideTrap;
public static final Order HideTrap = new Order(0);
public static Order RevealTrap;
public static final Order RevealTrap = new Order(0);
public static Order EnableDoodad;
public static final Order EnableDoodad = new Order(0);
public static Order DisableDoodad;
public static final Order DisableDoodad = new Order(0);
public static Order WarpIn;
public static final Order WarpIn = new Order(0);
public static Order Medic;
public static final Order Medic = new Order(0);
public static Order MedicHeal;
public static final Order MedicHeal = new Order(0);
public static Order HealMove;
public static final Order HealMove = new Order(0);
public static Order MedicHealToIdle;
public static final Order MedicHealToIdle = new Order(0);
public static Order CastRestoration;
public static final Order CastRestoration = new Order(0);
public static Order CastDisruptionWeb;
public static final Order CastDisruptionWeb = new Order(0);
public static Order CastMindControl;
public static final Order CastMindControl = new Order(0);
public static Order DarkArchonMeld;
public static final Order DarkArchonMeld = new Order(0);
public static Order CastFeedback;
public static final Order CastFeedback = new Order(0);
public static Order CastOpticalFlare;
public static final Order CastOpticalFlare = new Order(0);
public static Order CastMaelstrom;
public static final Order CastMaelstrom = new Order(0);
public static Order JunkYardDog;
public static final Order JunkYardDog = new Order(0);
public static Order Fatal;
public static final Order Fatal = new Order(0);
public static Order None;
public static final Order None = new Order(0);
public static Order Unknown;
public static final Order Unknown = new Order(0);
private static Map<Long, Order> instances = new HashMap<Long, Order>();

View file

@ -33,27 +33,27 @@ Identifies whether or not this type is used in-game. A type such as PlayerTypes:
return isGameType_native(pointer);
}
public static PlayerType None;
public static final PlayerType None = new PlayerType(0);
public static PlayerType Computer;
public static final PlayerType Computer = new PlayerType(0);
public static PlayerType Player;
public static final PlayerType Player = new PlayerType(0);
public static PlayerType RescuePassive;
public static final PlayerType RescuePassive = new PlayerType(0);
public static PlayerType EitherPreferComputer;
public static final PlayerType EitherPreferComputer = new PlayerType(0);
public static PlayerType EitherPreferHuman;
public static final PlayerType EitherPreferHuman = new PlayerType(0);
public static PlayerType Neutral;
public static final PlayerType Neutral = new PlayerType(0);
public static PlayerType Closed;
public static final PlayerType Closed = new PlayerType(0);
public static PlayerType PlayerLeft;
public static final PlayerType PlayerLeft = new PlayerType(0);
public static PlayerType ComputerLeft;
public static final PlayerType ComputerLeft = new PlayerType(0);
public static PlayerType Unknown;
public static final PlayerType Unknown = new PlayerType(0);
private static Map<Long, PlayerType> instances = new HashMap<Long, PlayerType>();

View file

@ -54,17 +54,17 @@ Retrieves the default supply provider UnitType for this race that is used to con
return getSupplyProvider_native(pointer);
}
public static Race Zerg;
public static final Race Zerg = new Race(0);
public static Race Terran;
public static final Race Terran = new Race(0);
public static Race Protoss;
public static final Race Protoss = new Race(0);
public static Race Random;
public static final Race Random = new Race(0);
public static Race None;
public static final Race None = new Race(0);
public static Race Unknown;
public static final Race Unknown = new Race(0);
private static Map<Long, Race> instances = new HashMap<Long, Race>();

View file

@ -89,77 +89,77 @@ Retrieves the Order that a Unit uses when using this ability. Returns Order repr
return getOrder_native(pointer);
}
public static TechType Stim_Packs;
public static final TechType Stim_Packs = new TechType(0);
public static TechType Lockdown;
public static final TechType Lockdown = new TechType(0);
public static TechType EMP_Shockwave;
public static final TechType EMP_Shockwave = new TechType(0);
public static TechType Spider_Mines;
public static final TechType Spider_Mines = new TechType(0);
public static TechType Scanner_Sweep;
public static final TechType Scanner_Sweep = new TechType(0);
public static TechType Tank_Siege_Mode;
public static final TechType Tank_Siege_Mode = new TechType(0);
public static TechType Defensive_Matrix;
public static final TechType Defensive_Matrix = new TechType(0);
public static TechType Irradiate;
public static final TechType Irradiate = new TechType(0);
public static TechType Yamato_Gun;
public static final TechType Yamato_Gun = new TechType(0);
public static TechType Cloaking_Field;
public static final TechType Cloaking_Field = new TechType(0);
public static TechType Personnel_Cloaking;
public static final TechType Personnel_Cloaking = new TechType(0);
public static TechType Burrowing;
public static final TechType Burrowing = new TechType(0);
public static TechType Infestation;
public static final TechType Infestation = new TechType(0);
public static TechType Spawn_Broodlings;
public static final TechType Spawn_Broodlings = new TechType(0);
public static TechType Dark_Swarm;
public static final TechType Dark_Swarm = new TechType(0);
public static TechType Plague;
public static final TechType Plague = new TechType(0);
public static TechType Consume;
public static final TechType Consume = new TechType(0);
public static TechType Ensnare;
public static final TechType Ensnare = new TechType(0);
public static TechType Parasite;
public static final TechType Parasite = new TechType(0);
public static TechType Psionic_Storm;
public static final TechType Psionic_Storm = new TechType(0);
public static TechType Hallucination;
public static final TechType Hallucination = new TechType(0);
public static TechType Recall;
public static final TechType Recall = new TechType(0);
public static TechType Stasis_Field;
public static final TechType Stasis_Field = new TechType(0);
public static TechType Archon_Warp;
public static final TechType Archon_Warp = new TechType(0);
public static TechType Restoration;
public static final TechType Restoration = new TechType(0);
public static TechType Disruption_Web;
public static final TechType Disruption_Web = new TechType(0);
public static TechType Mind_Control;
public static final TechType Mind_Control = new TechType(0);
public static TechType Dark_Archon_Meld;
public static final TechType Dark_Archon_Meld = new TechType(0);
public static TechType Feedback;
public static final TechType Feedback = new TechType(0);
public static TechType Optical_Flare;
public static final TechType Optical_Flare = new TechType(0);
public static TechType Maelstrom;
public static final TechType Maelstrom = new TechType(0);
public static TechType Lurker_Aspect;
public static final TechType Lurker_Aspect = new TechType(0);
public static TechType Healing;
public static final TechType Healing = new TechType(0);
public static TechType None;
public static final TechType None = new TechType(0);
public static TechType Nuclear_Strike;
public static final TechType Nuclear_Strike = new TechType(0);
public static TechType Unknown;
public static final TechType Unknown = new TechType(0);
private static Map<Long, TechType> instances = new HashMap<Long, TechType>();

View file

@ -927,7 +927,7 @@ Checks if this unit is currently taking damage from a Psionic Storm. Returns tru
}
/**
Checks if this unit has power. Most structures are powered by default, but Protoss structures require a Pylon to be powered and functional. Returns true if this unit has power or is inaccessible, and false if this unit is unpowered.
Checks if this unit has power. Most structures are powered by default, but Protoss structures require a Pylon to be powered and functional. Returns true if this unit has power or is inaccessible, and false if this unit is unpowered. Since 4.0.1 Beta (previously isUnpowered)
*/
public boolean isPowered() {
return isPowered_native(pointer);

View file

@ -19,97 +19,97 @@ public class UnitCommandType {
return toString_native(pointer);
}
public static UnitCommandType Attack_Move;
public static final UnitCommandType Attack_Move = new UnitCommandType(0);
public static UnitCommandType Attack_Unit;
public static final UnitCommandType Attack_Unit = new UnitCommandType(0);
public static UnitCommandType Build;
public static final UnitCommandType Build = new UnitCommandType(0);
public static UnitCommandType Build_Addon;
public static final UnitCommandType Build_Addon = new UnitCommandType(0);
public static UnitCommandType Train;
public static final UnitCommandType Train = new UnitCommandType(0);
public static UnitCommandType Morph;
public static final UnitCommandType Morph = new UnitCommandType(0);
public static UnitCommandType Research;
public static final UnitCommandType Research = new UnitCommandType(0);
public static UnitCommandType Upgrade;
public static final UnitCommandType Upgrade = new UnitCommandType(0);
public static UnitCommandType Set_Rally_Position;
public static final UnitCommandType Set_Rally_Position = new UnitCommandType(0);
public static UnitCommandType Set_Rally_Unit;
public static final UnitCommandType Set_Rally_Unit = new UnitCommandType(0);
public static UnitCommandType Move;
public static final UnitCommandType Move = new UnitCommandType(0);
public static UnitCommandType Patrol;
public static final UnitCommandType Patrol = new UnitCommandType(0);
public static UnitCommandType Hold_Position;
public static final UnitCommandType Hold_Position = new UnitCommandType(0);
public static UnitCommandType Stop;
public static final UnitCommandType Stop = new UnitCommandType(0);
public static UnitCommandType Follow;
public static final UnitCommandType Follow = new UnitCommandType(0);
public static UnitCommandType Gather;
public static final UnitCommandType Gather = new UnitCommandType(0);
public static UnitCommandType Return_Cargo;
public static final UnitCommandType Return_Cargo = new UnitCommandType(0);
public static UnitCommandType Repair;
public static final UnitCommandType Repair = new UnitCommandType(0);
public static UnitCommandType Burrow;
public static final UnitCommandType Burrow = new UnitCommandType(0);
public static UnitCommandType Unburrow;
public static final UnitCommandType Unburrow = new UnitCommandType(0);
public static UnitCommandType Cloak;
public static final UnitCommandType Cloak = new UnitCommandType(0);
public static UnitCommandType Decloak;
public static final UnitCommandType Decloak = new UnitCommandType(0);
public static UnitCommandType Siege;
public static final UnitCommandType Siege = new UnitCommandType(0);
public static UnitCommandType Unsiege;
public static final UnitCommandType Unsiege = new UnitCommandType(0);
public static UnitCommandType Lift;
public static final UnitCommandType Lift = new UnitCommandType(0);
public static UnitCommandType Land;
public static final UnitCommandType Land = new UnitCommandType(0);
public static UnitCommandType Load;
public static final UnitCommandType Load = new UnitCommandType(0);
public static UnitCommandType Unload;
public static final UnitCommandType Unload = new UnitCommandType(0);
public static UnitCommandType Unload_All;
public static final UnitCommandType Unload_All = new UnitCommandType(0);
public static UnitCommandType Unload_All_Position;
public static final UnitCommandType Unload_All_Position = new UnitCommandType(0);
public static UnitCommandType Right_Click_Position;
public static final UnitCommandType Right_Click_Position = new UnitCommandType(0);
public static UnitCommandType Right_Click_Unit;
public static final UnitCommandType Right_Click_Unit = new UnitCommandType(0);
public static UnitCommandType Halt_Construction;
public static final UnitCommandType Halt_Construction = new UnitCommandType(0);
public static UnitCommandType Cancel_Construction;
public static final UnitCommandType Cancel_Construction = new UnitCommandType(0);
public static UnitCommandType Cancel_Addon;
public static final UnitCommandType Cancel_Addon = new UnitCommandType(0);
public static UnitCommandType Cancel_Train;
public static final UnitCommandType Cancel_Train = new UnitCommandType(0);
public static UnitCommandType Cancel_Train_Slot;
public static final UnitCommandType Cancel_Train_Slot = new UnitCommandType(0);
public static UnitCommandType Cancel_Morph;
public static final UnitCommandType Cancel_Morph = new UnitCommandType(0);
public static UnitCommandType Cancel_Research;
public static final UnitCommandType Cancel_Research = new UnitCommandType(0);
public static UnitCommandType Cancel_Upgrade;
public static final UnitCommandType Cancel_Upgrade = new UnitCommandType(0);
public static UnitCommandType Use_Tech;
public static final UnitCommandType Use_Tech = new UnitCommandType(0);
public static UnitCommandType Use_Tech_Position;
public static final UnitCommandType Use_Tech_Position = new UnitCommandType(0);
public static UnitCommandType Use_Tech_Unit;
public static final UnitCommandType Use_Tech_Unit = new UnitCommandType(0);
public static UnitCommandType Place_COP;
public static final UnitCommandType Place_COP = new UnitCommandType(0);
public static UnitCommandType None;
public static final UnitCommandType None = new UnitCommandType(0);
public static UnitCommandType Unknown;
public static final UnitCommandType Unknown = new UnitCommandType(0);
private static Map<Long, UnitCommandType> instances = new HashMap<Long, UnitCommandType>();

View file

@ -19,17 +19,17 @@ public class UnitSizeType {
return toString_native(pointer);
}
public static UnitSizeType Independent;
public static final UnitSizeType Independent = new UnitSizeType(0);
public static UnitSizeType Small;
public static final UnitSizeType Small = new UnitSizeType(0);
public static UnitSizeType Medium;
public static final UnitSizeType Medium = new UnitSizeType(0);
public static UnitSizeType Large;
public static final UnitSizeType Large = new UnitSizeType(0);
public static UnitSizeType None;
public static final UnitSizeType None = new UnitSizeType(0);
public static UnitSizeType Unknown;
public static final UnitSizeType Unknown = new UnitSizeType(0);
private static Map<Long, UnitSizeType> instances = new HashMap<Long, UnitSizeType>();

View file

@ -286,21 +286,21 @@ Retrieves this unit type's top movement speed with no upgrades. Note That some u
}
/**
Retrieves the unit's acceleration amount. Returns How fast the unit can accelerate to its top speed. Todo: Figure out the units this quantity is measured in.
Retrieves the unit's acceleration amount. Returns How fast the unit can accelerate to its top speed.
*/
public int acceleration() {
return acceleration_native(pointer);
}
/**
Retrieves the unit's halting distance. This determines how fast a unit can stop moving. Returns A halting distance value. Todo: Figure out the units this quantity is measured in.
Retrieves the unit's halting distance. This determines how fast a unit can stop moving. Returns A halting distance value.
*/
public int haltDistance() {
return haltDistance_native(pointer);
}
/**
Retrieves a unit's turning radius. This determines how fast a unit can turn. Returns A turn radius value. Todo: Figure out the units this quantity is measured in.
Retrieves a unit's turning radius. This determines how fast a unit can turn. Returns A turn radius value.
*/
public int turnRadius() {
return turnRadius_native(pointer);
@ -503,7 +503,7 @@ Checks if this unit type is a beacon. Each race has exactly one beacon each. The
}
/**
Checks if this unit type is a flag beacon. Each race has exactly one flag beacon each. They are UnitTypes::Special_Zerg_Flag_Beacon, UnitTypes::Special_Terran_Flag_Beacon, and UnitTypes::Special_Protoss_Flag_Beacon. Flag beacons spawn a Flag after some ARBITRARY I FORGOT AMOUNT OF FRAMES. See also isBeacon Returns true if this unit type is one of the three race flag beacons, and false otherwise. Todo: specify number of frames for flag spawner
Checks if this unit type is a flag beacon. Each race has exactly one flag beacon each. They are UnitTypes::Special_Zerg_Flag_Beacon, UnitTypes::Special_Terran_Flag_Beacon, and UnitTypes::Special_Protoss_Flag_Beacon. Flag beacons spawn a Flag after some ARBITRARY I FORGOT AMOUNT OF FRAMES. See also isBeacon Returns true if this unit type is one of the three race flag beacons, and false otherwise.
*/
public boolean isFlagBeacon() {
return isFlagBeacon_native(pointer);
@ -551,427 +551,427 @@ Checks if this unit type is capable of constructing an add-on. An add-on is an e
return canBuildAddon_native(pointer);
}
public static UnitType Terran_Marine;
public static final UnitType Terran_Marine = new UnitType(0);
public static UnitType Terran_Ghost;
public static final UnitType Terran_Ghost = new UnitType(0);
public static UnitType Terran_Vulture;
public static final UnitType Terran_Vulture = new UnitType(0);
public static UnitType Terran_Goliath;
public static final UnitType Terran_Goliath = new UnitType(0);
public static UnitType Terran_Siege_Tank_Tank_Mode;
public static final UnitType Terran_Siege_Tank_Tank_Mode = new UnitType(0);
public static UnitType Terran_SCV;
public static final UnitType Terran_SCV = new UnitType(0);
public static UnitType Terran_Wraith;
public static final UnitType Terran_Wraith = new UnitType(0);
public static UnitType Terran_Science_Vessel;
public static final UnitType Terran_Science_Vessel = new UnitType(0);
public static UnitType Hero_Gui_Montag;
public static final UnitType Hero_Gui_Montag = new UnitType(0);
public static UnitType Terran_Dropship;
public static final UnitType Terran_Dropship = new UnitType(0);
public static UnitType Terran_Battlecruiser;
public static final UnitType Terran_Battlecruiser = new UnitType(0);
public static UnitType Terran_Vulture_Spider_Mine;
public static final UnitType Terran_Vulture_Spider_Mine = new UnitType(0);
public static UnitType Terran_Nuclear_Missile;
public static final UnitType Terran_Nuclear_Missile = new UnitType(0);
public static UnitType Terran_Civilian;
public static final UnitType Terran_Civilian = new UnitType(0);
public static UnitType Hero_Sarah_Kerrigan;
public static final UnitType Hero_Sarah_Kerrigan = new UnitType(0);
public static UnitType Hero_Alan_Schezar;
public static final UnitType Hero_Alan_Schezar = new UnitType(0);
public static UnitType Hero_Jim_Raynor_Vulture;
public static final UnitType Hero_Jim_Raynor_Vulture = new UnitType(0);
public static UnitType Hero_Jim_Raynor_Marine;
public static final UnitType Hero_Jim_Raynor_Marine = new UnitType(0);
public static UnitType Hero_Tom_Kazansky;
public static final UnitType Hero_Tom_Kazansky = new UnitType(0);
public static UnitType Hero_Magellan;
public static final UnitType Hero_Magellan = new UnitType(0);
public static UnitType Hero_Edmund_Duke_Tank_Mode;
public static final UnitType Hero_Edmund_Duke_Tank_Mode = new UnitType(0);
public static UnitType Hero_Edmund_Duke_Siege_Mode;
public static final UnitType Hero_Edmund_Duke_Siege_Mode = new UnitType(0);
public static UnitType Hero_Arcturus_Mengsk;
public static final UnitType Hero_Arcturus_Mengsk = new UnitType(0);
public static UnitType Hero_Hyperion;
public static final UnitType Hero_Hyperion = new UnitType(0);
public static UnitType Hero_Norad_II;
public static final UnitType Hero_Norad_II = new UnitType(0);
public static UnitType Terran_Siege_Tank_Siege_Mode;
public static final UnitType Terran_Siege_Tank_Siege_Mode = new UnitType(0);
public static UnitType Terran_Firebat;
public static final UnitType Terran_Firebat = new UnitType(0);
public static UnitType Spell_Scanner_Sweep;
public static final UnitType Spell_Scanner_Sweep = new UnitType(0);
public static UnitType Terran_Medic;
public static final UnitType Terran_Medic = new UnitType(0);
public static UnitType Zerg_Larva;
public static final UnitType Zerg_Larva = new UnitType(0);
public static UnitType Zerg_Egg;
public static final UnitType Zerg_Egg = new UnitType(0);
public static UnitType Zerg_Zergling;
public static final UnitType Zerg_Zergling = new UnitType(0);
public static UnitType Zerg_Hydralisk;
public static final UnitType Zerg_Hydralisk = new UnitType(0);
public static UnitType Zerg_Ultralisk;
public static final UnitType Zerg_Ultralisk = new UnitType(0);
public static UnitType Zerg_Broodling;
public static final UnitType Zerg_Broodling = new UnitType(0);
public static UnitType Zerg_Drone;
public static final UnitType Zerg_Drone = new UnitType(0);
public static UnitType Zerg_Overlord;
public static final UnitType Zerg_Overlord = new UnitType(0);
public static UnitType Zerg_Mutalisk;
public static final UnitType Zerg_Mutalisk = new UnitType(0);
public static UnitType Zerg_Guardian;
public static final UnitType Zerg_Guardian = new UnitType(0);
public static UnitType Zerg_Queen;
public static final UnitType Zerg_Queen = new UnitType(0);
public static UnitType Zerg_Defiler;
public static final UnitType Zerg_Defiler = new UnitType(0);
public static UnitType Zerg_Scourge;
public static final UnitType Zerg_Scourge = new UnitType(0);
public static UnitType Hero_Torrasque;
public static final UnitType Hero_Torrasque = new UnitType(0);
public static UnitType Hero_Matriarch;
public static final UnitType Hero_Matriarch = new UnitType(0);
public static UnitType Zerg_Infested_Terran;
public static final UnitType Zerg_Infested_Terran = new UnitType(0);
public static UnitType Hero_Infested_Kerrigan;
public static final UnitType Hero_Infested_Kerrigan = new UnitType(0);
public static UnitType Hero_Unclean_One;
public static final UnitType Hero_Unclean_One = new UnitType(0);
public static UnitType Hero_Hunter_Killer;
public static final UnitType Hero_Hunter_Killer = new UnitType(0);
public static UnitType Hero_Devouring_One;
public static final UnitType Hero_Devouring_One = new UnitType(0);
public static UnitType Hero_Kukulza_Mutalisk;
public static final UnitType Hero_Kukulza_Mutalisk = new UnitType(0);
public static UnitType Hero_Kukulza_Guardian;
public static final UnitType Hero_Kukulza_Guardian = new UnitType(0);
public static UnitType Hero_Yggdrasill;
public static final UnitType Hero_Yggdrasill = new UnitType(0);
public static UnitType Terran_Valkyrie;
public static final UnitType Terran_Valkyrie = new UnitType(0);
public static UnitType Zerg_Cocoon;
public static final UnitType Zerg_Cocoon = new UnitType(0);
public static UnitType Protoss_Corsair;
public static final UnitType Protoss_Corsair = new UnitType(0);
public static UnitType Protoss_Dark_Templar;
public static final UnitType Protoss_Dark_Templar = new UnitType(0);
public static UnitType Zerg_Devourer;
public static final UnitType Zerg_Devourer = new UnitType(0);
public static UnitType Protoss_Dark_Archon;
public static final UnitType Protoss_Dark_Archon = new UnitType(0);
public static UnitType Protoss_Probe;
public static final UnitType Protoss_Probe = new UnitType(0);
public static UnitType Protoss_Zealot;
public static final UnitType Protoss_Zealot = new UnitType(0);
public static UnitType Protoss_Dragoon;
public static final UnitType Protoss_Dragoon = new UnitType(0);
public static UnitType Protoss_High_Templar;
public static final UnitType Protoss_High_Templar = new UnitType(0);
public static UnitType Protoss_Archon;
public static final UnitType Protoss_Archon = new UnitType(0);
public static UnitType Protoss_Shuttle;
public static final UnitType Protoss_Shuttle = new UnitType(0);
public static UnitType Protoss_Scout;
public static final UnitType Protoss_Scout = new UnitType(0);
public static UnitType Protoss_Arbiter;
public static final UnitType Protoss_Arbiter = new UnitType(0);
public static UnitType Protoss_Carrier;
public static final UnitType Protoss_Carrier = new UnitType(0);
public static UnitType Protoss_Interceptor;
public static final UnitType Protoss_Interceptor = new UnitType(0);
public static UnitType Hero_Dark_Templar;
public static final UnitType Hero_Dark_Templar = new UnitType(0);
public static UnitType Hero_Zeratul;
public static final UnitType Hero_Zeratul = new UnitType(0);
public static UnitType Hero_Tassadar_Zeratul_Archon;
public static final UnitType Hero_Tassadar_Zeratul_Archon = new UnitType(0);
public static UnitType Hero_Fenix_Zealot;
public static final UnitType Hero_Fenix_Zealot = new UnitType(0);
public static UnitType Hero_Fenix_Dragoon;
public static final UnitType Hero_Fenix_Dragoon = new UnitType(0);
public static UnitType Hero_Tassadar;
public static final UnitType Hero_Tassadar = new UnitType(0);
public static UnitType Hero_Mojo;
public static final UnitType Hero_Mojo = new UnitType(0);
public static UnitType Hero_Warbringer;
public static final UnitType Hero_Warbringer = new UnitType(0);
public static UnitType Hero_Gantrithor;
public static final UnitType Hero_Gantrithor = new UnitType(0);
public static UnitType Protoss_Reaver;
public static final UnitType Protoss_Reaver = new UnitType(0);
public static UnitType Protoss_Observer;
public static final UnitType Protoss_Observer = new UnitType(0);
public static UnitType Protoss_Scarab;
public static final UnitType Protoss_Scarab = new UnitType(0);
public static UnitType Hero_Danimoth;
public static final UnitType Hero_Danimoth = new UnitType(0);
public static UnitType Hero_Aldaris;
public static final UnitType Hero_Aldaris = new UnitType(0);
public static UnitType Hero_Artanis;
public static final UnitType Hero_Artanis = new UnitType(0);
public static UnitType Critter_Rhynadon;
public static final UnitType Critter_Rhynadon = new UnitType(0);
public static UnitType Critter_Bengalaas;
public static final UnitType Critter_Bengalaas = new UnitType(0);
public static UnitType Special_Cargo_Ship;
public static final UnitType Special_Cargo_Ship = new UnitType(0);
public static UnitType Special_Mercenary_Gunship;
public static final UnitType Special_Mercenary_Gunship = new UnitType(0);
public static UnitType Critter_Scantid;
public static final UnitType Critter_Scantid = new UnitType(0);
public static UnitType Critter_Kakaru;
public static final UnitType Critter_Kakaru = new UnitType(0);
public static UnitType Critter_Ragnasaur;
public static final UnitType Critter_Ragnasaur = new UnitType(0);
public static UnitType Critter_Ursadon;
public static final UnitType Critter_Ursadon = new UnitType(0);
public static UnitType Zerg_Lurker_Egg;
public static final UnitType Zerg_Lurker_Egg = new UnitType(0);
public static UnitType Hero_Raszagal;
public static final UnitType Hero_Raszagal = new UnitType(0);
public static UnitType Hero_Samir_Duran;
public static final UnitType Hero_Samir_Duran = new UnitType(0);
public static UnitType Hero_Alexei_Stukov;
public static final UnitType Hero_Alexei_Stukov = new UnitType(0);
public static UnitType Special_Map_Revealer;
public static final UnitType Special_Map_Revealer = new UnitType(0);
public static UnitType Hero_Gerard_DuGalle;
public static final UnitType Hero_Gerard_DuGalle = new UnitType(0);
public static UnitType Zerg_Lurker;
public static final UnitType Zerg_Lurker = new UnitType(0);
public static UnitType Hero_Infested_Duran;
public static final UnitType Hero_Infested_Duran = new UnitType(0);
public static UnitType Spell_Disruption_Web;
public static final UnitType Spell_Disruption_Web = new UnitType(0);
public static UnitType Terran_Command_Center;
public static final UnitType Terran_Command_Center = new UnitType(0);
public static UnitType Terran_Comsat_Station;
public static final UnitType Terran_Comsat_Station = new UnitType(0);
public static UnitType Terran_Nuclear_Silo;
public static final UnitType Terran_Nuclear_Silo = new UnitType(0);
public static UnitType Terran_Supply_Depot;
public static final UnitType Terran_Supply_Depot = new UnitType(0);
public static UnitType Terran_Refinery;
public static final UnitType Terran_Refinery = new UnitType(0);
public static UnitType Terran_Barracks;
public static final UnitType Terran_Barracks = new UnitType(0);
public static UnitType Terran_Academy;
public static final UnitType Terran_Academy = new UnitType(0);
public static UnitType Terran_Factory;
public static final UnitType Terran_Factory = new UnitType(0);
public static UnitType Terran_Starport;
public static final UnitType Terran_Starport = new UnitType(0);
public static UnitType Terran_Control_Tower;
public static final UnitType Terran_Control_Tower = new UnitType(0);
public static UnitType Terran_Science_Facility;
public static final UnitType Terran_Science_Facility = new UnitType(0);
public static UnitType Terran_Covert_Ops;
public static final UnitType Terran_Covert_Ops = new UnitType(0);
public static UnitType Terran_Physics_Lab;
public static final UnitType Terran_Physics_Lab = new UnitType(0);
public static UnitType Terran_Machine_Shop;
public static final UnitType Terran_Machine_Shop = new UnitType(0);
public static UnitType Terran_Engineering_Bay;
public static final UnitType Terran_Engineering_Bay = new UnitType(0);
public static UnitType Terran_Armory;
public static final UnitType Terran_Armory = new UnitType(0);
public static UnitType Terran_Missile_Turret;
public static final UnitType Terran_Missile_Turret = new UnitType(0);
public static UnitType Terran_Bunker;
public static final UnitType Terran_Bunker = new UnitType(0);
public static UnitType Special_Crashed_Norad_II;
public static final UnitType Special_Crashed_Norad_II = new UnitType(0);
public static UnitType Special_Ion_Cannon;
public static final UnitType Special_Ion_Cannon = new UnitType(0);
public static UnitType Powerup_Uraj_Crystal;
public static final UnitType Powerup_Uraj_Crystal = new UnitType(0);
public static UnitType Powerup_Khalis_Crystal;
public static final UnitType Powerup_Khalis_Crystal = new UnitType(0);
public static UnitType Zerg_Infested_Command_Center;
public static final UnitType Zerg_Infested_Command_Center = new UnitType(0);
public static UnitType Zerg_Hatchery;
public static final UnitType Zerg_Hatchery = new UnitType(0);
public static UnitType Zerg_Lair;
public static final UnitType Zerg_Lair = new UnitType(0);
public static UnitType Zerg_Hive;
public static final UnitType Zerg_Hive = new UnitType(0);
public static UnitType Zerg_Nydus_Canal;
public static final UnitType Zerg_Nydus_Canal = new UnitType(0);
public static UnitType Zerg_Hydralisk_Den;
public static final UnitType Zerg_Hydralisk_Den = new UnitType(0);
public static UnitType Zerg_Defiler_Mound;
public static final UnitType Zerg_Defiler_Mound = new UnitType(0);
public static UnitType Zerg_Greater_Spire;
public static final UnitType Zerg_Greater_Spire = new UnitType(0);
public static UnitType Zerg_Queens_Nest;
public static final UnitType Zerg_Queens_Nest = new UnitType(0);
public static UnitType Zerg_Evolution_Chamber;
public static final UnitType Zerg_Evolution_Chamber = new UnitType(0);
public static UnitType Zerg_Ultralisk_Cavern;
public static final UnitType Zerg_Ultralisk_Cavern = new UnitType(0);
public static UnitType Zerg_Spire;
public static final UnitType Zerg_Spire = new UnitType(0);
public static UnitType Zerg_Spawning_Pool;
public static final UnitType Zerg_Spawning_Pool = new UnitType(0);
public static UnitType Zerg_Creep_Colony;
public static final UnitType Zerg_Creep_Colony = new UnitType(0);
public static UnitType Zerg_Spore_Colony;
public static final UnitType Zerg_Spore_Colony = new UnitType(0);
public static UnitType Zerg_Sunken_Colony;
public static final UnitType Zerg_Sunken_Colony = new UnitType(0);
public static UnitType Special_Overmind_With_Shell;
public static final UnitType Special_Overmind_With_Shell = new UnitType(0);
public static UnitType Special_Overmind;
public static final UnitType Special_Overmind = new UnitType(0);
public static UnitType Zerg_Extractor;
public static final UnitType Zerg_Extractor = new UnitType(0);
public static UnitType Special_Mature_Chrysalis;
public static final UnitType Special_Mature_Chrysalis = new UnitType(0);
public static UnitType Special_Cerebrate;
public static final UnitType Special_Cerebrate = new UnitType(0);
public static UnitType Special_Cerebrate_Daggoth;
public static final UnitType Special_Cerebrate_Daggoth = new UnitType(0);
public static UnitType Protoss_Nexus;
public static final UnitType Protoss_Nexus = new UnitType(0);
public static UnitType Protoss_Robotics_Facility;
public static final UnitType Protoss_Robotics_Facility = new UnitType(0);
public static UnitType Protoss_Pylon;
public static final UnitType Protoss_Pylon = new UnitType(0);
public static UnitType Protoss_Assimilator;
public static final UnitType Protoss_Assimilator = new UnitType(0);
public static UnitType Protoss_Observatory;
public static final UnitType Protoss_Observatory = new UnitType(0);
public static UnitType Protoss_Gateway;
public static final UnitType Protoss_Gateway = new UnitType(0);
public static UnitType Protoss_Photon_Cannon;
public static final UnitType Protoss_Photon_Cannon = new UnitType(0);
public static UnitType Protoss_Citadel_of_Adun;
public static final UnitType Protoss_Citadel_of_Adun = new UnitType(0);
public static UnitType Protoss_Cybernetics_Core;
public static final UnitType Protoss_Cybernetics_Core = new UnitType(0);
public static UnitType Protoss_Templar_Archives;
public static final UnitType Protoss_Templar_Archives = new UnitType(0);
public static UnitType Protoss_Forge;
public static final UnitType Protoss_Forge = new UnitType(0);
public static UnitType Protoss_Stargate;
public static final UnitType Protoss_Stargate = new UnitType(0);
public static UnitType Special_Stasis_Cell_Prison;
public static final UnitType Special_Stasis_Cell_Prison = new UnitType(0);
public static UnitType Protoss_Fleet_Beacon;
public static final UnitType Protoss_Fleet_Beacon = new UnitType(0);
public static UnitType Protoss_Arbiter_Tribunal;
public static final UnitType Protoss_Arbiter_Tribunal = new UnitType(0);
public static UnitType Protoss_Robotics_Support_Bay;
public static final UnitType Protoss_Robotics_Support_Bay = new UnitType(0);
public static UnitType Protoss_Shield_Battery;
public static final UnitType Protoss_Shield_Battery = new UnitType(0);
public static UnitType Special_Khaydarin_Crystal_Form;
public static final UnitType Special_Khaydarin_Crystal_Form = new UnitType(0);
public static UnitType Special_Protoss_Temple;
public static final UnitType Special_Protoss_Temple = new UnitType(0);
public static UnitType Special_XelNaga_Temple;
public static final UnitType Special_XelNaga_Temple = new UnitType(0);
public static UnitType Resource_Mineral_Field;
public static final UnitType Resource_Mineral_Field = new UnitType(0);
public static UnitType Resource_Mineral_Field_Type_2;
public static final UnitType Resource_Mineral_Field_Type_2 = new UnitType(0);
public static UnitType Resource_Mineral_Field_Type_3;
public static final UnitType Resource_Mineral_Field_Type_3 = new UnitType(0);
public static UnitType Special_Independant_Starport;
public static final UnitType Special_Independant_Starport = new UnitType(0);
public static UnitType Resource_Vespene_Geyser;
public static final UnitType Resource_Vespene_Geyser = new UnitType(0);
public static UnitType Special_Warp_Gate;
public static final UnitType Special_Warp_Gate = new UnitType(0);
public static UnitType Special_Psi_Disrupter;
public static final UnitType Special_Psi_Disrupter = new UnitType(0);
public static UnitType Special_Zerg_Beacon;
public static final UnitType Special_Zerg_Beacon = new UnitType(0);
public static UnitType Special_Terran_Beacon;
public static final UnitType Special_Terran_Beacon = new UnitType(0);
public static UnitType Special_Protoss_Beacon;
public static final UnitType Special_Protoss_Beacon = new UnitType(0);
public static UnitType Special_Zerg_Flag_Beacon;
public static final UnitType Special_Zerg_Flag_Beacon = new UnitType(0);
public static UnitType Special_Terran_Flag_Beacon;
public static final UnitType Special_Terran_Flag_Beacon = new UnitType(0);
public static UnitType Special_Protoss_Flag_Beacon;
public static final UnitType Special_Protoss_Flag_Beacon = new UnitType(0);
public static UnitType Special_Power_Generator;
public static final UnitType Special_Power_Generator = new UnitType(0);
public static UnitType Special_Overmind_Cocoon;
public static final UnitType Special_Overmind_Cocoon = new UnitType(0);
public static UnitType Spell_Dark_Swarm;
public static final UnitType Spell_Dark_Swarm = new UnitType(0);
public static UnitType Special_Floor_Missile_Trap;
public static final UnitType Special_Floor_Missile_Trap = new UnitType(0);
public static UnitType Special_Floor_Hatch;
public static final UnitType Special_Floor_Hatch = new UnitType(0);
public static UnitType Special_Upper_Level_Door;
public static final UnitType Special_Upper_Level_Door = new UnitType(0);
public static UnitType Special_Right_Upper_Level_Door;
public static final UnitType Special_Right_Upper_Level_Door = new UnitType(0);
public static UnitType Special_Pit_Door;
public static final UnitType Special_Pit_Door = new UnitType(0);
public static UnitType Special_Right_Pit_Door;
public static final UnitType Special_Right_Pit_Door = new UnitType(0);
public static UnitType Special_Floor_Gun_Trap;
public static final UnitType Special_Floor_Gun_Trap = new UnitType(0);
public static UnitType Special_Wall_Missile_Trap;
public static final UnitType Special_Wall_Missile_Trap = new UnitType(0);
public static UnitType Special_Wall_Flame_Trap;
public static final UnitType Special_Wall_Flame_Trap = new UnitType(0);
public static UnitType Special_Right_Wall_Missile_Trap;
public static final UnitType Special_Right_Wall_Missile_Trap = new UnitType(0);
public static UnitType Special_Right_Wall_Flame_Trap;
public static final UnitType Special_Right_Wall_Flame_Trap = new UnitType(0);
public static UnitType Special_Start_Location;
public static final UnitType Special_Start_Location = new UnitType(0);
public static UnitType Powerup_Flag;
public static final UnitType Powerup_Flag = new UnitType(0);
public static UnitType Powerup_Young_Chrysalis;
public static final UnitType Powerup_Young_Chrysalis = new UnitType(0);
public static UnitType Powerup_Psi_Emitter;
public static final UnitType Powerup_Psi_Emitter = new UnitType(0);
public static UnitType Powerup_Data_Disk;
public static final UnitType Powerup_Data_Disk = new UnitType(0);
public static UnitType Powerup_Khaydarin_Crystal;
public static final UnitType Powerup_Khaydarin_Crystal = new UnitType(0);
public static UnitType Powerup_Mineral_Cluster_Type_1;
public static final UnitType Powerup_Mineral_Cluster_Type_1 = new UnitType(0);
public static UnitType Powerup_Mineral_Cluster_Type_2;
public static final UnitType Powerup_Mineral_Cluster_Type_2 = new UnitType(0);
public static UnitType Powerup_Protoss_Gas_Orb_Type_1;
public static final UnitType Powerup_Protoss_Gas_Orb_Type_1 = new UnitType(0);
public static UnitType Powerup_Protoss_Gas_Orb_Type_2;
public static final UnitType Powerup_Protoss_Gas_Orb_Type_2 = new UnitType(0);
public static UnitType Powerup_Zerg_Gas_Sac_Type_1;
public static final UnitType Powerup_Zerg_Gas_Sac_Type_1 = new UnitType(0);
public static UnitType Powerup_Zerg_Gas_Sac_Type_2;
public static final UnitType Powerup_Zerg_Gas_Sac_Type_2 = new UnitType(0);
public static UnitType Powerup_Terran_Gas_Tank_Type_1;
public static final UnitType Powerup_Terran_Gas_Tank_Type_1 = new UnitType(0);
public static UnitType Powerup_Terran_Gas_Tank_Type_2;
public static final UnitType Powerup_Terran_Gas_Tank_Type_2 = new UnitType(0);
public static UnitType None;
public static final UnitType None = new UnitType(0);
public static UnitType AllUnits;
public static final UnitType AllUnits = new UnitType(0);
public static UnitType Men;
public static final UnitType Men = new UnitType(0);
public static UnitType Buildings;
public static final UnitType Buildings = new UnitType(0);
public static UnitType Factories;
public static final UnitType Factories = new UnitType(0);
public static UnitType Unknown;
public static final UnitType Unknown = new UnitType(0);
private static Map<Long, UnitType> instances = new HashMap<Long, UnitType>();

View file

@ -105,111 +105,111 @@ Returns the type of unit that is required for the upgrade. The player must have
return whatsRequired_native(pointer, level);
}
public static UpgradeType Terran_Infantry_Armor;
public static final UpgradeType Terran_Infantry_Armor = new UpgradeType(0);
public static UpgradeType Terran_Vehicle_Plating;
public static final UpgradeType Terran_Vehicle_Plating = new UpgradeType(0);
public static UpgradeType Terran_Ship_Plating;
public static final UpgradeType Terran_Ship_Plating = new UpgradeType(0);
public static UpgradeType Zerg_Carapace;
public static final UpgradeType Zerg_Carapace = new UpgradeType(0);
public static UpgradeType Zerg_Flyer_Carapace;
public static final UpgradeType Zerg_Flyer_Carapace = new UpgradeType(0);
public static UpgradeType Protoss_Ground_Armor;
public static final UpgradeType Protoss_Ground_Armor = new UpgradeType(0);
public static UpgradeType Protoss_Air_Armor;
public static final UpgradeType Protoss_Air_Armor = new UpgradeType(0);
public static UpgradeType Terran_Infantry_Weapons;
public static final UpgradeType Terran_Infantry_Weapons = new UpgradeType(0);
public static UpgradeType Terran_Vehicle_Weapons;
public static final UpgradeType Terran_Vehicle_Weapons = new UpgradeType(0);
public static UpgradeType Terran_Ship_Weapons;
public static final UpgradeType Terran_Ship_Weapons = new UpgradeType(0);
public static UpgradeType Zerg_Melee_Attacks;
public static final UpgradeType Zerg_Melee_Attacks = new UpgradeType(0);
public static UpgradeType Zerg_Missile_Attacks;
public static final UpgradeType Zerg_Missile_Attacks = new UpgradeType(0);
public static UpgradeType Zerg_Flyer_Attacks;
public static final UpgradeType Zerg_Flyer_Attacks = new UpgradeType(0);
public static UpgradeType Protoss_Ground_Weapons;
public static final UpgradeType Protoss_Ground_Weapons = new UpgradeType(0);
public static UpgradeType Protoss_Air_Weapons;
public static final UpgradeType Protoss_Air_Weapons = new UpgradeType(0);
public static UpgradeType Protoss_Plasma_Shields;
public static final UpgradeType Protoss_Plasma_Shields = new UpgradeType(0);
public static UpgradeType U_238_Shells;
public static final UpgradeType U_238_Shells = new UpgradeType(0);
public static UpgradeType Ion_Thrusters;
public static final UpgradeType Ion_Thrusters = new UpgradeType(0);
public static UpgradeType Titan_Reactor;
public static final UpgradeType Titan_Reactor = new UpgradeType(0);
public static UpgradeType Ocular_Implants;
public static final UpgradeType Ocular_Implants = new UpgradeType(0);
public static UpgradeType Moebius_Reactor;
public static final UpgradeType Moebius_Reactor = new UpgradeType(0);
public static UpgradeType Apollo_Reactor;
public static final UpgradeType Apollo_Reactor = new UpgradeType(0);
public static UpgradeType Colossus_Reactor;
public static final UpgradeType Colossus_Reactor = new UpgradeType(0);
public static UpgradeType Ventral_Sacs;
public static final UpgradeType Ventral_Sacs = new UpgradeType(0);
public static UpgradeType Antennae;
public static final UpgradeType Antennae = new UpgradeType(0);
public static UpgradeType Pneumatized_Carapace;
public static final UpgradeType Pneumatized_Carapace = new UpgradeType(0);
public static UpgradeType Metabolic_Boost;
public static final UpgradeType Metabolic_Boost = new UpgradeType(0);
public static UpgradeType Adrenal_Glands;
public static final UpgradeType Adrenal_Glands = new UpgradeType(0);
public static UpgradeType Muscular_Augments;
public static final UpgradeType Muscular_Augments = new UpgradeType(0);
public static UpgradeType Grooved_Spines;
public static final UpgradeType Grooved_Spines = new UpgradeType(0);
public static UpgradeType Gamete_Meiosis;
public static final UpgradeType Gamete_Meiosis = new UpgradeType(0);
public static UpgradeType Metasynaptic_Node;
public static final UpgradeType Metasynaptic_Node = new UpgradeType(0);
public static UpgradeType Singularity_Charge;
public static final UpgradeType Singularity_Charge = new UpgradeType(0);
public static UpgradeType Leg_Enhancements;
public static final UpgradeType Leg_Enhancements = new UpgradeType(0);
public static UpgradeType Scarab_Damage;
public static final UpgradeType Scarab_Damage = new UpgradeType(0);
public static UpgradeType Reaver_Capacity;
public static final UpgradeType Reaver_Capacity = new UpgradeType(0);
public static UpgradeType Gravitic_Drive;
public static final UpgradeType Gravitic_Drive = new UpgradeType(0);
public static UpgradeType Sensor_Array;
public static final UpgradeType Sensor_Array = new UpgradeType(0);
public static UpgradeType Gravitic_Boosters;
public static final UpgradeType Gravitic_Boosters = new UpgradeType(0);
public static UpgradeType Khaydarin_Amulet;
public static final UpgradeType Khaydarin_Amulet = new UpgradeType(0);
public static UpgradeType Apial_Sensors;
public static final UpgradeType Apial_Sensors = new UpgradeType(0);
public static UpgradeType Gravitic_Thrusters;
public static final UpgradeType Gravitic_Thrusters = new UpgradeType(0);
public static UpgradeType Carrier_Capacity;
public static final UpgradeType Carrier_Capacity = new UpgradeType(0);
public static UpgradeType Khaydarin_Core;
public static final UpgradeType Khaydarin_Core = new UpgradeType(0);
public static UpgradeType Argus_Jewel;
public static final UpgradeType Argus_Jewel = new UpgradeType(0);
public static UpgradeType Argus_Talisman;
public static final UpgradeType Argus_Talisman = new UpgradeType(0);
public static UpgradeType Caduceus_Reactor;
public static final UpgradeType Caduceus_Reactor = new UpgradeType(0);
public static UpgradeType Chitinous_Plating;
public static final UpgradeType Chitinous_Plating = new UpgradeType(0);
public static UpgradeType Anabolic_Synthesis;
public static final UpgradeType Anabolic_Synthesis = new UpgradeType(0);
public static UpgradeType Charon_Boosters;
public static final UpgradeType Charon_Boosters = new UpgradeType(0);
public static UpgradeType Upgrade_60;
public static final UpgradeType Upgrade_60 = new UpgradeType(0);
public static UpgradeType None;
public static final UpgradeType None = new UpgradeType(0);
public static UpgradeType Unknown;
public static final UpgradeType Unknown = new UpgradeType(0);
private static Map<Long, UpgradeType> instances = new HashMap<Long, UpgradeType>();

View file

@ -27,7 +27,7 @@ Retrieves the technology type that must be researched before this weapon can be
}
/**
Retrieves the unit type that is intended to use this weapon type. Note There is a rare case where some hero unit types use the same weapon. Todo: specify which types use the same weapon Returns The UnitType that uses this weapon. See also UnitType::groundWeapon, UnitType::airWeapon
Retrieves the unit type that is intended to use this weapon type. Note There is a rare case where some hero unit types use the same weapon. Returns The UnitType that uses this weapon. See also UnitType::groundWeapon, UnitType::airWeapon
*/
public UnitType whatUses() {
return whatUses_native(pointer);
@ -97,21 +97,21 @@ Retrieves the maximum attack range of the weapon, measured in pixels. Returns Ma
}
/**
Retrieves the inner radius used for splash damage calculations, in pixels. Returns Radius of the inner splash area, in pixels. Todo: Add damage calculation.
Retrieves the inner radius used for splash damage calculations, in pixels. Returns Radius of the inner splash area, in pixels.
*/
public int innerSplashRadius() {
return innerSplashRadius_native(pointer);
}
/**
Retrieves the middle radius used for splash damage calculations, in pixels. Returns Radius of the middle splash area, in pixels. Todo: Add damage calculation.
Retrieves the middle radius used for splash damage calculations, in pixels. Returns Radius of the middle splash area, in pixels.
*/
public int medianSplashRadius() {
return medianSplashRadius_native(pointer);
}
/**
Retrieves the outer radius used for splash damage calculations, in pixels. Returns Radius of the outer splash area, in pixels. Todo: Add damage calculation.
Retrieves the outer radius used for splash damage calculations, in pixels. Returns Radius of the outer splash area, in pixels.
*/
public int outerSplashRadius() {
return outerSplashRadius_native(pointer);
@ -180,209 +180,209 @@ Checks if this weapon type can only target units owned by the same player. This
return targetsOwn_native(pointer);
}
public static WeaponType Gauss_Rifle;
public static final WeaponType Gauss_Rifle = new WeaponType(0);
public static WeaponType Gauss_Rifle_Jim_Raynor;
public static final WeaponType Gauss_Rifle_Jim_Raynor = new WeaponType(0);
public static WeaponType C_10_Canister_Rifle;
public static final WeaponType C_10_Canister_Rifle = new WeaponType(0);
public static WeaponType C_10_Canister_Rifle_Sarah_Kerrigan;
public static final WeaponType C_10_Canister_Rifle_Sarah_Kerrigan = new WeaponType(0);
public static WeaponType C_10_Canister_Rifle_Samir_Duran;
public static final WeaponType C_10_Canister_Rifle_Samir_Duran = new WeaponType(0);
public static WeaponType C_10_Canister_Rifle_Infested_Duran;
public static final WeaponType C_10_Canister_Rifle_Infested_Duran = new WeaponType(0);
public static WeaponType C_10_Canister_Rifle_Alexei_Stukov;
public static final WeaponType C_10_Canister_Rifle_Alexei_Stukov = new WeaponType(0);
public static WeaponType Fragmentation_Grenade;
public static final WeaponType Fragmentation_Grenade = new WeaponType(0);
public static WeaponType Fragmentation_Grenade_Jim_Raynor;
public static final WeaponType Fragmentation_Grenade_Jim_Raynor = new WeaponType(0);
public static WeaponType Spider_Mines;
public static final WeaponType Spider_Mines = new WeaponType(0);
public static WeaponType Twin_Autocannons;
public static final WeaponType Twin_Autocannons = new WeaponType(0);
public static WeaponType Twin_Autocannons_Alan_Schezar;
public static final WeaponType Twin_Autocannons_Alan_Schezar = new WeaponType(0);
public static WeaponType Hellfire_Missile_Pack;
public static final WeaponType Hellfire_Missile_Pack = new WeaponType(0);
public static WeaponType Hellfire_Missile_Pack_Alan_Schezar;
public static final WeaponType Hellfire_Missile_Pack_Alan_Schezar = new WeaponType(0);
public static WeaponType Arclite_Cannon;
public static final WeaponType Arclite_Cannon = new WeaponType(0);
public static WeaponType Arclite_Cannon_Edmund_Duke;
public static final WeaponType Arclite_Cannon_Edmund_Duke = new WeaponType(0);
public static WeaponType Fusion_Cutter;
public static final WeaponType Fusion_Cutter = new WeaponType(0);
public static WeaponType Gemini_Missiles;
public static final WeaponType Gemini_Missiles = new WeaponType(0);
public static WeaponType Gemini_Missiles_Tom_Kazansky;
public static final WeaponType Gemini_Missiles_Tom_Kazansky = new WeaponType(0);
public static WeaponType Burst_Lasers;
public static final WeaponType Burst_Lasers = new WeaponType(0);
public static WeaponType Burst_Lasers_Tom_Kazansky;
public static final WeaponType Burst_Lasers_Tom_Kazansky = new WeaponType(0);
public static WeaponType ATS_Laser_Battery;
public static final WeaponType ATS_Laser_Battery = new WeaponType(0);
public static WeaponType ATS_Laser_Battery_Hero;
public static final WeaponType ATS_Laser_Battery_Hero = new WeaponType(0);
public static WeaponType ATS_Laser_Battery_Hyperion;
public static final WeaponType ATS_Laser_Battery_Hyperion = new WeaponType(0);
public static WeaponType ATA_Laser_Battery;
public static final WeaponType ATA_Laser_Battery = new WeaponType(0);
public static WeaponType ATA_Laser_Battery_Hero;
public static final WeaponType ATA_Laser_Battery_Hero = new WeaponType(0);
public static WeaponType ATA_Laser_Battery_Hyperion;
public static final WeaponType ATA_Laser_Battery_Hyperion = new WeaponType(0);
public static WeaponType Flame_Thrower;
public static final WeaponType Flame_Thrower = new WeaponType(0);
public static WeaponType Flame_Thrower_Gui_Montag;
public static final WeaponType Flame_Thrower_Gui_Montag = new WeaponType(0);
public static WeaponType Arclite_Shock_Cannon;
public static final WeaponType Arclite_Shock_Cannon = new WeaponType(0);
public static WeaponType Arclite_Shock_Cannon_Edmund_Duke;
public static final WeaponType Arclite_Shock_Cannon_Edmund_Duke = new WeaponType(0);
public static WeaponType Longbolt_Missile;
public static final WeaponType Longbolt_Missile = new WeaponType(0);
public static WeaponType Claws;
public static final WeaponType Claws = new WeaponType(0);
public static WeaponType Claws_Devouring_One;
public static final WeaponType Claws_Devouring_One = new WeaponType(0);
public static WeaponType Claws_Infested_Kerrigan;
public static final WeaponType Claws_Infested_Kerrigan = new WeaponType(0);
public static WeaponType Needle_Spines;
public static final WeaponType Needle_Spines = new WeaponType(0);
public static WeaponType Needle_Spines_Hunter_Killer;
public static final WeaponType Needle_Spines_Hunter_Killer = new WeaponType(0);
public static WeaponType Kaiser_Blades;
public static final WeaponType Kaiser_Blades = new WeaponType(0);
public static WeaponType Kaiser_Blades_Torrasque;
public static final WeaponType Kaiser_Blades_Torrasque = new WeaponType(0);
public static WeaponType Toxic_Spores;
public static final WeaponType Toxic_Spores = new WeaponType(0);
public static WeaponType Spines;
public static final WeaponType Spines = new WeaponType(0);
public static WeaponType Acid_Spore;
public static final WeaponType Acid_Spore = new WeaponType(0);
public static WeaponType Acid_Spore_Kukulza;
public static final WeaponType Acid_Spore_Kukulza = new WeaponType(0);
public static WeaponType Glave_Wurm;
public static final WeaponType Glave_Wurm = new WeaponType(0);
public static WeaponType Glave_Wurm_Kukulza;
public static final WeaponType Glave_Wurm_Kukulza = new WeaponType(0);
public static WeaponType Seeker_Spores;
public static final WeaponType Seeker_Spores = new WeaponType(0);
public static WeaponType Subterranean_Tentacle;
public static final WeaponType Subterranean_Tentacle = new WeaponType(0);
public static WeaponType Suicide_Infested_Terran;
public static final WeaponType Suicide_Infested_Terran = new WeaponType(0);
public static WeaponType Suicide_Scourge;
public static final WeaponType Suicide_Scourge = new WeaponType(0);
public static WeaponType Particle_Beam;
public static final WeaponType Particle_Beam = new WeaponType(0);
public static WeaponType Psi_Blades;
public static final WeaponType Psi_Blades = new WeaponType(0);
public static WeaponType Psi_Blades_Fenix;
public static final WeaponType Psi_Blades_Fenix = new WeaponType(0);
public static WeaponType Phase_Disruptor;
public static final WeaponType Phase_Disruptor = new WeaponType(0);
public static WeaponType Phase_Disruptor_Fenix;
public static final WeaponType Phase_Disruptor_Fenix = new WeaponType(0);
public static WeaponType Psi_Assault;
public static final WeaponType Psi_Assault = new WeaponType(0);
public static WeaponType Psionic_Shockwave;
public static final WeaponType Psionic_Shockwave = new WeaponType(0);
public static WeaponType Psionic_Shockwave_TZ_Archon;
public static final WeaponType Psionic_Shockwave_TZ_Archon = new WeaponType(0);
public static WeaponType Dual_Photon_Blasters;
public static final WeaponType Dual_Photon_Blasters = new WeaponType(0);
public static WeaponType Dual_Photon_Blasters_Mojo;
public static final WeaponType Dual_Photon_Blasters_Mojo = new WeaponType(0);
public static WeaponType Dual_Photon_Blasters_Artanis;
public static final WeaponType Dual_Photon_Blasters_Artanis = new WeaponType(0);
public static WeaponType Anti_Matter_Missiles;
public static final WeaponType Anti_Matter_Missiles = new WeaponType(0);
public static WeaponType Anti_Matter_Missiles_Mojo;
public static final WeaponType Anti_Matter_Missiles_Mojo = new WeaponType(0);
public static WeaponType Anti_Matter_Missiles_Artanis;
public static final WeaponType Anti_Matter_Missiles_Artanis = new WeaponType(0);
public static WeaponType Phase_Disruptor_Cannon;
public static final WeaponType Phase_Disruptor_Cannon = new WeaponType(0);
public static WeaponType Phase_Disruptor_Cannon_Danimoth;
public static final WeaponType Phase_Disruptor_Cannon_Danimoth = new WeaponType(0);
public static WeaponType Pulse_Cannon;
public static final WeaponType Pulse_Cannon = new WeaponType(0);
public static WeaponType STS_Photon_Cannon;
public static final WeaponType STS_Photon_Cannon = new WeaponType(0);
public static WeaponType STA_Photon_Cannon;
public static final WeaponType STA_Photon_Cannon = new WeaponType(0);
public static WeaponType Scarab;
public static final WeaponType Scarab = new WeaponType(0);
public static WeaponType Neutron_Flare;
public static final WeaponType Neutron_Flare = new WeaponType(0);
public static WeaponType Halo_Rockets;
public static final WeaponType Halo_Rockets = new WeaponType(0);
public static WeaponType Corrosive_Acid;
public static final WeaponType Corrosive_Acid = new WeaponType(0);
public static WeaponType Subterranean_Spines;
public static final WeaponType Subterranean_Spines = new WeaponType(0);
public static WeaponType Warp_Blades;
public static final WeaponType Warp_Blades = new WeaponType(0);
public static WeaponType Warp_Blades_Hero;
public static final WeaponType Warp_Blades_Hero = new WeaponType(0);
public static WeaponType Warp_Blades_Zeratul;
public static final WeaponType Warp_Blades_Zeratul = new WeaponType(0);
public static WeaponType Independant_Laser_Battery;
public static final WeaponType Independant_Laser_Battery = new WeaponType(0);
public static WeaponType Twin_Autocannons_Floor_Trap;
public static final WeaponType Twin_Autocannons_Floor_Trap = new WeaponType(0);
public static WeaponType Hellfire_Missile_Pack_Wall_Trap;
public static final WeaponType Hellfire_Missile_Pack_Wall_Trap = new WeaponType(0);
public static WeaponType Flame_Thrower_Wall_Trap;
public static final WeaponType Flame_Thrower_Wall_Trap = new WeaponType(0);
public static WeaponType Hellfire_Missile_Pack_Floor_Trap;
public static final WeaponType Hellfire_Missile_Pack_Floor_Trap = new WeaponType(0);
public static WeaponType Yamato_Gun;
public static final WeaponType Yamato_Gun = new WeaponType(0);
public static WeaponType Nuclear_Strike;
public static final WeaponType Nuclear_Strike = new WeaponType(0);
public static WeaponType Lockdown;
public static final WeaponType Lockdown = new WeaponType(0);
public static WeaponType EMP_Shockwave;
public static final WeaponType EMP_Shockwave = new WeaponType(0);
public static WeaponType Irradiate;
public static final WeaponType Irradiate = new WeaponType(0);
public static WeaponType Parasite;
public static final WeaponType Parasite = new WeaponType(0);
public static WeaponType Spawn_Broodlings;
public static final WeaponType Spawn_Broodlings = new WeaponType(0);
public static WeaponType Ensnare;
public static final WeaponType Ensnare = new WeaponType(0);
public static WeaponType Dark_Swarm;
public static final WeaponType Dark_Swarm = new WeaponType(0);
public static WeaponType Plague;
public static final WeaponType Plague = new WeaponType(0);
public static WeaponType Consume;
public static final WeaponType Consume = new WeaponType(0);
public static WeaponType Stasis_Field;
public static final WeaponType Stasis_Field = new WeaponType(0);
public static WeaponType Psionic_Storm;
public static final WeaponType Psionic_Storm = new WeaponType(0);
public static WeaponType Disruption_Web;
public static final WeaponType Disruption_Web = new WeaponType(0);
public static WeaponType Restoration;
public static final WeaponType Restoration = new WeaponType(0);
public static WeaponType Mind_Control;
public static final WeaponType Mind_Control = new WeaponType(0);
public static WeaponType Feedback;
public static final WeaponType Feedback = new WeaponType(0);
public static WeaponType Optical_Flare;
public static final WeaponType Optical_Flare = new WeaponType(0);
public static WeaponType Maelstrom;
public static final WeaponType Maelstrom = new WeaponType(0);
public static WeaponType None;
public static final WeaponType None = new WeaponType(0);
public static WeaponType Unknown;
public static final WeaponType Unknown = new WeaponType(0);
private static Map<Long, WeaponType> instances = new HashMap<Long, WeaponType>();

View file

@ -12,22 +12,10 @@ import bwapi.Player;
import bwapi.Unit;
import bwapi.Pair;
/**
BWTA class wraps the functionality of <a href="https://code.google.com/p/bwta/">BWTA library</a>
*/
public class BWTA {
/**
Reads the contents of the map in to BWTA. This was added so analyze() can be executed in another thread.
*/
public static native void readMap();
/**
Before any other global functions can be called, the map must first be analyzed. Analyzing a starcraft map can take a long time, depending on your computer, so BWTA also automatically saves the results to a file when it is done. When you call analyze on the same map, BWTA will see that the results file for that map already exists, and load the results from file, rather than re-analyze the map.
*/
public static native void analyze();
public static native void computeDistanceTransform();
@ -38,156 +26,54 @@ Before any other global functions can be called, the map must first be analyzed.
public static native int getMaxDistanceTransform();
/**
Returns the set of regions in the map.
*/
public static native List<Region> getRegions();
/**
Returns the set of chokepoints in the map.
*/
public static native List<Chokepoint> getChokepoints();
/**
Returns the set of base locations on the map.
*/
public static native List<BaseLocation> getBaseLocations();
/**
Returns the set of base locations that are start locations.
*/
public static native List<BaseLocation> getStartLocations();
/**
Returns the set of unwalkable polygons.
*/
public static native List<Polygon> getUnwalkablePolygons();
/**
Given a pointer to a Player object, this function returns a pointer to the player's starting base location.
*/
public static native BaseLocation getStartLocation(Player player);
/**
Returns the region that the tile position is inside. Returns NULL if the tile position is not inside any valid region.
*/
public static native Region getRegion(int x, int y);
/**
Returns the region that the tile position is inside. Returns NULL if the tile position is not inside any valid region.
*/
public static native Region getRegion(TilePosition tileposition);
/**
Returns the region that the tile position is inside. Returns NULL if the tile position is not inside any valid region.
*/
public static native Region getRegion(Position position);
/**
Returns the nearest chokepoint (in ground/walking distance). Returns NULL if no chokepoint is reachable from the given tile position (such as in an island component with no chokepoints). The Position version of this function has walk tile accuracy, while the other two have build tile accuracy.
*/
public static native Chokepoint getNearestChokepoint(int x, int y);
/**
Returns the nearest chokepoint (in ground/walking distance). Returns NULL if no chokepoint is reachable from the given tile position (such as in an island component with no chokepoints). The Position version of this function has walk tile accuracy, while the other two have build tile accuracy.
*/
public static native Chokepoint getNearestChokepoint(TilePosition tileposition);
/**
Returns the nearest chokepoint (in ground/walking distance). Returns NULL if no chokepoint is reachable from the given tile position (such as in an island component with no chokepoints). The Position version of this function has walk tile accuracy, while the other two have build tile accuracy.
*/
public static native Chokepoint getNearestChokepoint(Position position);
/**
Returns the nearest base location(in ground/walking distance). Returns NULL if no base location is reachable from the given tile position. The Position version of this function has walk tile accuracy, while the other two have build tile accuracy.
*/
public static native BaseLocation getNearestBaseLocation(int x, int y);
/**
Returns the nearest base location(in ground/walking distance). Returns NULL if no base location is reachable from the given tile position. The Position version of this function has walk tile accuracy, while the other two have build tile accuracy.
*/
public static native BaseLocation getNearestBaseLocation(TilePosition tileposition);
/**
Returns the nearest base location(in ground/walking distance). Returns NULL if no base location is reachable from the given tile position. The Position version of this function has walk tile accuracy, while the other two have build tile accuracy.
*/
public static native BaseLocation getNearestBaseLocation(Position position);
/**
Returns the nearest unwalkable polygon. Note: The border of the map is not considered an unwalkable polygon.
*/
public static native Polygon getNearestUnwalkablePolygon(int x, int y);
/**
Returns the nearest unwalkable polygon. Note: The border of the map is not considered an unwalkable polygon.
*/
public static native Polygon getNearestUnwalkablePolygon(TilePosition tileposition);
/**
Returns the nearest position that is on the boundary of an unwalkable polygon, or border of the map.
*/
public static native Position getNearestUnwalkablePosition(Position position);
/**
Returns true if there exists a static path between the two given tile positions.
*/
public static native boolean isConnected(int x1, int y1, int x2, int y2);
/**
Returns true if there exists a static path between the two given tile positions.
*/
public static native boolean isConnected(TilePosition a, TilePosition b);
/**
Returns the ground distance between the two given tile positions.
*/
public static native double getGroundDistance(TilePosition start, TilePosition end);
/**
Returns the tile position in the given set that is closest to the given tile position, along with the ground distance to that tile position.
*/
public static native Pair<TilePosition, Double> getNearestTilePosition(TilePosition start, List<TilePosition> targets);
/**
Returns the distance to each target tile position.
*/
public static native Map<TilePosition, Double> getGroundDistances(TilePosition start, List<TilePosition> targets);
/**
Returns the shortest path from the start tile position to the end tile position. If no path exists, the vector will be empty.
Returns the shortest path from the start tile position to the closest target tile position. If no path exists to any of the target tile positions, the vector will be empty.
*/
public static native List<TilePosition> getShortestPath(TilePosition start, TilePosition end);
/**
Returns the shortest path from the start tile position to the end tile position. If no path exists, the vector will be empty.
Returns the shortest path from the start tile position to the closest target tile position. If no path exists to any of the target tile positions, the vector will be empty.
*/
public static native List<TilePosition> getShortestPath(TilePosition start, List<TilePosition> targets);
public static native void buildChokeNodes();

View file

@ -13,114 +13,57 @@ import bwapi.Unit;
import bwapi.Pair;
import bwapi.PositionedObject;
/**
A <a href="BaseLocation.html">BaseLocation</a> a position on the map where it makes sense to place a base (i.e. near minerals).
*/
public class BaseLocation extends PositionedObject
{
/**
Returns the position of the center of the base location.
*/
public Position getPosition() {
return getPosition_native(pointer);
}
/**
Returns the tile position of the base location.
*/
public TilePosition getTilePosition() {
return getTilePosition_native(pointer);
}
/**
Returns the region the base location is in.
*/
public Region getRegion() {
return getRegion_native(pointer);
}
/**
Returns the total mineral resource count of all accessible mineral patches.
*/
public int minerals() {
return minerals_native(pointer);
}
/**
Returns the total gas resource count of all accessible vespene geysers.
*/
public int gas() {
return gas_native(pointer);
}
/**
Returns the set of accessible mineral patches near the base location.
*/
public List<Unit> getMinerals() {
return getMinerals_native(pointer);
}
/**
Returns the set of all mineral patches near the base location, including mined out and invisible ones.
*/
public List<Unit> getStaticMinerals() {
return getStaticMinerals_native(pointer);
}
/**
Returns the set of vespene geysers near the base location. If the set is empty, the base location is mineral only.
*/
public List<Unit> getGeysers() {
return getGeysers_native(pointer);
}
/**
Returns the ground (walking) distance to the given base location. If its impossible to reach the given base location from the current one, this will return a negative value.
*/
public double getGroundDistance(BaseLocation other) {
return getGroundDistance_native(pointer, other);
}
/**
Returns the air (flying) distance to the given base location.
*/
public double getAirDistance(BaseLocation other) {
return getAirDistance_native(pointer, other);
}
/**
Returns true if the base location not in not reachable by ground from any other base location.
*/
public boolean isIsland() {
return isIsland_native(pointer);
}
/**
Returns true if the base location is mineral-only.
*/
public boolean isMineralOnly() {
return isMineralOnly_native(pointer);
}
/**
Returns true if the base location is a start location.
*/
public boolean isStartLocation() {
return isStartLocation_native(pointer);
}

View file

@ -13,26 +13,21 @@ import bwapi.Unit;
import bwapi.Pair;
import bwapi.CenteredObject;
/**
A chokepoint connects exactly two regions.
*/
public class Chokepoint extends CenteredObject
{
/**
Returns the center of the chokepoint.
public Pair<Region, Region> getRegions() {
return getRegions_native(pointer);
}
public Pair<Position, Position> getSides() {
return getSides_native(pointer);
}
*/
public Position getCenter() {
return getCenter_native(pointer);
}
/**
Returns the width of the chokepoint.
*/
public double getWidth() {
return getWidth_native(pointer);
}
@ -58,6 +53,10 @@ Returns the width of the chokepoint.
private long pointer;
private native Pair<Region, Region> getRegions_native(long pointer);
private native Pair<Position, Position> getSides_native(long pointer);
private native Position getCenter_native(long pointer);
private native double getWidth_native(long pointer);

View file

@ -12,48 +12,24 @@ import bwapi.Player;
import bwapi.Unit;
import bwapi.Pair;
/**
A Polygon is a geometric representation of <a href="Region.html">Region</a>
*/
public class Polygon {
/**
Returns the area of the polygon.
*/
public double getArea() {
return getArea_native(pointer);
}
/**
Returns the perimeter of the polygon.
*/
public double getPerimeter() {
return getPerimeter_native(pointer);
}
/**
Returns the centroid of the polygon.
*/
public Position getCenter() {
return getCenter_native(pointer);
}
/**
Returns true if the given point is inside the polygon.
*/
public boolean isInside(Position p) {
return isInside_native(pointer, p);
}
/**
Returns the point on the boundary of the polygon that is nearest to the given point.
*/
public Position getNearestPoint(Position p) {
return getNearestPoint_native(pointer, p);
}

View file

@ -13,58 +13,29 @@ import bwapi.Unit;
import bwapi.Pair;
import bwapi.CenteredObject;
/**
A region is a partition of the map with a polygon boundary, and is connected to other regions via <a href="Chokepoint.html">chokepoints</a>.
*/
public class Region extends CenteredObject
{
/**
Returns the polygon border of the region.
*/
public Polygon getPolygon() {
return getPolygon_native(pointer);
}
/**
Returns the center of the region.
*/
public Position getCenter() {
return getCenter_native(pointer);
}
/**
Returns the set of chokepoints adjacent to the region.
*/
public List<Chokepoint> getChokepoints() {
return getChokepoints_native(pointer);
}
/**
Returns the set of base locations in the region.
*/
public List<BaseLocation> getBaseLocations() {
return getBaseLocations_native(pointer);
}
/**
Returns true if its possible to walk from this region to the given region.
*/
public boolean isReachable(Region region) {
return isReachable_native(pointer, region);
}
/**
Returns the set of regions reachable from this region.
*/
public List<Region> getReachableRegions() {
return getReachableRegions_native(pointer);
}

View file

@ -7,6 +7,22 @@
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: bwta_Chokepoint
* Method: getRegions_native
* Signature: (J)Lbwapi/Pair;
*/
JNIEXPORT jobject JNICALL Java_bwta_Chokepoint_getRegions_1native
(JNIEnv *, jobject, jlong);
/*
* Class: bwta_Chokepoint
* Method: getSides_native
* Signature: (J)Lbwapi/Pair;
*/
JNIEXPORT jobject JNICALL Java_bwta_Chokepoint_getSides_1native
(JNIEnv *, jobject, jlong);
/*
* Class: bwta_Chokepoint
* Method: getCenter_native

View file

@ -11,4 +11,5 @@ public interface CDeclaration {
public DeclarationType getDeclType();
public void setJavadoc(String string);
public String getJavadoc();
}

View file

@ -9,4 +9,5 @@ package c;
public interface Field extends CDeclaration{
public String getType();
public boolean isFinal();
}

View file

@ -1,6 +1,7 @@
package generator;
import util.Generic;
import util.PointerTest;
import java.util.Arrays;
import java.util.HashMap;
@ -40,7 +41,7 @@ public class JavaContext {
javaToCType.put("String", "jstring");
}
public boolean isSelfReturnType(String clsName, String methodName){
public boolean isSelfReturnType(String clsName, String methodName) {
return packageName.equals("bwta") && selfReturnTypes.contains(clsName) && methodName.equals("getPoints");
}
@ -49,7 +50,7 @@ public class JavaContext {
}
public String getPackageName(String javaRetType) {
if (packageName.equals("bwta") && (javaRetType.equals("Position") || javaRetType.equals("Unit") || javaRetType.equals("TilePosition"))) {
if (packageName.equals("bwta") && (javaRetType.equals("Position") || javaRetType.equals("Unit") || javaRetType.equals("Pair") || javaRetType.equals("TilePosition"))) {
return "bwapi";
}
return packageName;
@ -67,11 +68,19 @@ public class JavaContext {
public String toCPair(String javaType) {
if (javaType.startsWith("Pair")) {
String[] pair = Generic.extractPair(javaType);
return "std::pair<" + javaObjectToPrimitive(pair[0]) + ", " + javaObjectToPrimitive(pair[1]) + ">";
return "std::pair<" + javaObjectToPrimitive(prefixPackageNameAndAddPointerIfNeeded(pair[0])) + ", " + javaObjectToPrimitive(prefixPackageNameAndAddPointerIfNeeded(pair[1])) + ">";
}
return javaType;
}
public String prefixPackageNameAndAddPointerIfNeeded(String javaType) {
if (isBWTA(javaType)) {
return PointerTest.test("BWTA::" + javaType);
} else {
return javaType;
}
}
public boolean isReference(String javaType) {
return javaType.equals("REF");
}
@ -169,8 +178,10 @@ public class JavaContext {
public String copyConstructor(String javaType) {
switch (javaType) {
case "Integer":
case "int":
return "I";
case "Double":
case "double":
return "D";
case "TilePosition":
@ -187,6 +198,7 @@ public class JavaContext {
case "Pair":
return "Ljava/lang/Object;Ljava/lang/Object;";
default:
System.err.println("Invalid type " + javaType);
throw new UnsupportedOperationException();
}
}
@ -204,8 +216,10 @@ public class JavaContext {
public String implementCopyReturn(String javaType, String fieldName) {
switch (javaType) {
case "Integer":
case "int":
return ", " + fieldName;
case "Double":
case "double":
return "," + fieldName;
@ -233,6 +247,7 @@ public class JavaContext {
", " + fieldName + ".getTargetPosition().y \n" +
", resolveUnitCommandExtra(" + fieldName + ")";
default:
System.err.println("Invalid type " + javaType);
throw new UnsupportedOperationException();
}
}

View file

@ -241,6 +241,7 @@ public class Bind {
private void implementVariablesBind(List<CDeclaration> declarationList) {
out.println("jclass cls;");
out.println("jmethodID getId;");
out.println("jobject cst;");
for (CDeclaration cDeclaration : declarationList) {
if (cDeclaration.getDeclType().equals(DeclarationType.CLASS)) {
bindVariables((CClass) cDeclaration);
@ -278,11 +279,20 @@ public class Bind {
");");
return;
}
/*
out.println("cst = env->GetStaticObjectField(" +
"cls, " +
"env->GetStaticFieldID(cls, \"" + classVariable.getName() + "\", \"L" + context.getPackageName() + "/" + classVariable.getType() + ";\")" + ");");
out.println("env->SetLongField(cst, env->GetFieldID(cls, \"pointer\", \"j\"), (jlong)&" + cValue+");");
*/
out.println(
"env->SetStaticObjectField(cls, " +
"env->GetStaticFieldID(cls, \"" + classVariable.getName() + "\", \"L" + context.getPackageName() + "/" + classVariable.getType() + ";\"), " +
"env->CallStaticObjectMethod(cls, getId, (jlong)&" + cValue + ")" +
");");
"env->SetStaticObjectField(cls, " +
"env->GetStaticFieldID(cls, \"" + classVariable.getName() + "\", \"L" + context.getPackageName() + "/" + classVariable.getType() + ";\"), " +
"env->CallStaticObjectMethod(cls, getId, (jlong)&" + cValue + ")" +
");");
if (cClass.getName().equals("Position") || cClass.getName().equals("TilePosition") || cClass.getName().equals("WalkPosition") || cClass.getName().equals("Point")) {
return;
}

View file

@ -393,55 +393,59 @@ public class CallImplementer {
String javaFirstType = cFirst;
String javaSecondType = cSecond;
String javaKeyType = cFirst;
// String javaKeyType = cFirst;
if (cFirst.contains("::")) {
javaKeyType = cFirst.substring(cFirst.lastIndexOf(":") + 1);
javaFirstType = cFirst.substring(cFirst.lastIndexOf(":") + 1);
}
String javaValueType = cSecond;
//String javaValueType = cSecond;
if (cSecond.contains("::")) {
javaValueType = cSecond.substring(cSecond.lastIndexOf(":") + 1);
}
if (javaContext.isPrimitive(javaKeyType)) {
cFirst = javaContext.javaObjectToPrimitive(javaKeyType);
}
if (javaContext.isPrimitive(javaValueType)) {
cSecond = javaContext.javaObjectToPrimitive(javaValueType);
javaSecondType = cSecond.substring(cSecond.lastIndexOf(":") + 1);
}
//First static part
String firstPackageName = javaContext.getPackageName(javaFirstType);
if (javaContext.isPrimitive(javaFirstType)) {
cFirst = javaContext.javaObjectToPrimitive(javaFirstType);
firstPackageName = "java/lang";
}
else{
if(!cFirst.contains("::") && javaContext.isBWTA(javaFirstType)){
cFirst = firstPackageName.toUpperCase() + "::" + cFirst;
}
}
String secondPackageName = javaContext.getPackageName(javaSecondType);
if (javaContext.isPrimitive(javaSecondType)) {
cSecond = javaContext.javaObjectToPrimitive(javaSecondType);
secondPackageName = "java/lang";
}
else{
if(!cSecond.contains("::") && javaContext.isBWTA(javaSecondType)){
cSecond = secondPackageName.toUpperCase() + "::" + cSecond;
}
}
out.println("jclass firstElemClass = FindCachedClass(env, \"" + firstPackageName + "/" + javaFirstType + "\");");
if (!javaContext.isValueType(javaFirstType)) {
out.println("jmethodID firstGetMethodID = FindCachedMethodStatic(env, firstElemClass, \"get\", \"(J)L" + firstPackageName + "/" + javaFirstType + ";\");");
} else {
out.println("jmethodID firstElemConsID = FindCachedMethod(env, firstElemClass, \"<init>\", \"(" + javaContext.copyConstructor(cFirst) + ")V\");");
}
//Second static part
String secondPackageName = javaContext.getPackageName(javaSecondType);
if (javaContext.isPrimitive(javaSecondType)) {
secondPackageName = "java/lang";
out.println("jmethodID firstElemConsID = FindCachedMethod(env, firstElemClass, \"<init>\", \"(" + javaContext.copyConstructor(javaFirstType) + ")V\");");
}
out.println("jclass secondElemClass = FindCachedClass(env, \"" + secondPackageName + "/" + javaSecondType + "\");");
if (!javaContext.isValueType(javaSecondType)) {
out.println("jmethodID secondGetMethodID = FindCachedMethodStatic(env, secondElemClass, \"get\", \"(J)L" + secondPackageName + "/" + javaSecondType + ";\");");
} else {
out.println("jmethodID secondElemConsID = FindCachedMethod(env, secondElemClass, \"<init>\", \"(" + javaContext.copyConstructor(cSecond) + ")V\");");
out.println("jmethodID secondElemConsID = FindCachedMethod(env, secondElemClass, \"<init>\", \"(" + javaContext.copyConstructor(javaSecondType) + ")V\");");
}
//first dynamic part
out.print("const " + cFirst);
if (!javaContext.isValueType(javaFirstType)) {
out.print(PointerTest.test(cFirst, false));
}
out.print("const " + PointerTest.test(cFirst));
out.print(" first_elem_ptr = ");
if (javaContext.isConstantTye(javaFirstType) && !javaContext.isPrimitive(javaFirstType)) {
out.println("table" + cFirst + ".find((cresult.first).getID())->second;");
@ -452,15 +456,12 @@ public class CallImplementer {
if (!javaContext.isValueType(javaFirstType)) {
out.println("jobject first = env->CallStaticObjectMethod(firstElemClass, firstGetMethodID, (jlong)first_elem_ptr) ;");
} else {
out.println("jobject first = env->NewObject(firstElemClass, firstElemConsID" + javaContext.implementCopyReturn(cFirst, "first_elem_ptr") + ")" + SEMICOLON);
out.println("jobject first = env->NewObject(firstElemClass, firstElemConsID" + javaContext.implementCopyReturn(javaFirstType, "first_elem_ptr") + ")" + SEMICOLON);
}
//second dynamic part
out.print("const " + cSecond);
if (!javaContext.isValueType(javaSecondType)) {
out.print(PointerTest.test(cSecond, false));
}
out.print("const " + PointerTest.test(cSecond));
out.print(" second_elem_ptr = ");
if (javaContext.isConstantTye(javaSecondType) && !javaContext.isPrimitive(javaSecondType)) {
out.println("table" + cSecond + ".find((cresult.second).getID())->second;");
@ -471,7 +472,7 @@ public class CallImplementer {
if (!javaContext.isValueType(javaSecondType)) {
out.println("jobject second = env->CallStaticObjectMethod(secondElemClass, secondGetMethodID, (jlong)second_elem_ptr) ;");
} else {
out.println("jobject second = env->NewObject(secondElemClass, secondElemConsID" + javaContext.implementCopyReturn(cSecond, "second_elem_ptr") + ")" + SEMICOLON);
out.println("jobject second = env->NewObject(secondElemClass, secondElemConsID" + javaContext.implementCopyReturn(javaSecondType, "second_elem_ptr") + ")" + SEMICOLON);
}
//for loop ends here
@ -505,7 +506,7 @@ public class CallImplementer {
return;
}
//case 2 - method returns a mape, this requires a LOT of work, so get the std::map and proceed in implementCollectionReturn
//case 2 - method returns a map, this requires a LOT of work, so get the std::map and proceed in implementCollectionReturn
if (javaContext.isMap(javaRetType)) {
String pairData[] = Generic.extractPair(javaRetType);
String key = pairData[0];

View file

@ -106,7 +106,13 @@ public class ClassMirror extends Mirror {
}
private void writeVariable(Variable variable) {
out.print(INTEND + "public" + SPACE + "static" + SPACE + context.toJavaType(variable.getType()) + SPACE + variable.getName());
if (variable.isFinal()) {
out.print(INTEND + "public" + SPACE + "static" + SPACE + "final" + SPACE + context.toJavaType(variable.getType()) + SPACE + variable.getName());
out.print(SPACE + "=" + SPACE + "new" + SPACE + context.toJavaType(variable.getType()) + "(0)");
} else {
out.print(INTEND + "public" + SPACE + "static" + SPACE + context.toJavaType(variable.getType()) + SPACE + variable.getName());
}
}
private void writeConstant(Constant constant) {

View file

@ -56,7 +56,7 @@ public abstract class Mirror {
}
} else {
if (field instanceof CClass) {
if (CJavaPipeline.isBWAPI3() || context.getPackage().equals("bwta")) {
if (CJavaPipeline.isBWAPI3() /*|| context.getPackage().equals("bwta")*/) {
Crawler cl = new Crawler();
if (context.getPackage().equals("bwta")) {

View file

@ -42,13 +42,13 @@ public class CApiParser {
//String FUNC_REGEX = "^(\\s*)(virtual)?\\s([\\w\\*]+)\\s([\\w\\*]+)\\((.*)\\)(\\s=\\s0;)?";
//String FUNC_REGEX = "^(\\s*)(virtual)?\\s(BWAPI::)?([\\w\\*]+)\\s([\\w\\*]+)\\((.*)\\)((\\sconst)?\\s=\\s0;)?";
//String FUNC_REGEX = "^(\\s*)(virtual)?\\s((BWAPI)|(std)::)?([\\w\\*]+)\\s([\\w\\*]+)\\((.*)\\)((\\sconst)?\\s=\\s0;)?";
// 1 2 3 4 56 7 891011 12 13 14 15 16 17 18 19 20
String FUNC_REGEX = "^(\\s*)(virtual\\s)?(const\\s)?(static\\s)?((BWAPI::)|(std::))?((((pair)|(vector)|(set)|(map)|(SetContainer))<(\\s*(BWAPI::)?\\w+\\*?\\s*)(\\s*,\\s*\\w+\\s*)?>)|([\\w\\*]+))&?\\s+(&?[\\w\\*]+)\\((.*)\\)(\\s*const)?(\\s*=\\s0)?(;)?\\s*";
// 1 2 3 4 56 7 891011 12 13 14 15 16 17 18 19 20 21 22
String FUNC_REGEX = "^(\\s*)(virtual\\s)?(const\\s)?(static\\s)?((BWAPI::)|(std::))?((((pair)|(vector)|(set)|(map)|(SetContainer))<(\\s*(BWAPI::)?\\w+\\*?\\s*)(\\s*,\\s*(BWAPI::)?\\w+\\*?\\s*)?>&?)|([\\w\\*]+))&?\\s+(&?[\\w\\*]+)\\((.*)\\)(\\s*const)?(\\s*=\\s0)?(;)?\\s*";
static final int F_REGEX_STATIC = 4;
static final int F_REGEX_RETURN_TYPE = 8;
static final int F_REGEX_NAME = 20;
static final int F_REGEX_PARAMS = 21;
static final int F_REGEX_NAME = 21;
static final int F_REGEX_PARAMS = 22;
String ENUM_VALUE_REGEX = "^(\\s*)(\\w+)(\\s*=\\s*(0x)?([0-9A-Fa-f]+))?\\s*[\\,;]";
@ -453,7 +453,7 @@ public class CApiParser {
line = line.trim();
line = line.substring("extern const".length(), line.lastIndexOf(";")).trim();
String[] nameType = line.split("\\s");
Variable variable = new ClassVariable(nameType[0], nameType[1]);
Variable variable = new ClassVariable(nameType[0], nameType[1], true);
return variable;
}

View file

@ -12,9 +12,12 @@ public class ClassVariable implements Variable {
private String type, name;
public ClassVariable(String type, String name) {
private boolean isFinal;
public ClassVariable(String type, String name, boolean isFinal) {
this.type = type;
this.name = name;
this.isFinal = isFinal;
}
@Override
@ -41,4 +44,9 @@ public class ClassVariable implements Variable {
public void setJavadoc(String javadoc) {
this.javadoc = javadoc;
}
@Override
public boolean isFinal() {
return isFinal;
}
}

View file

@ -55,6 +55,12 @@ public class Function implements Method {
return returnType;
}
//final functions are not supported yet
@Override
public boolean isFinal() {
return false;
}
@Override
public String getName() {
return name;

View file

@ -12,16 +12,15 @@ import java.util.regex.Pattern;
*/
public class FunctionRegexTest {
// 1 2 3 4 56 7 891011 12 13 14 15 16 17 18 19
String FUNC_REGEX = "^(\\s*)(virtual\\s)?(const\\s)?(static\\s)?((BWAPI::)|(std::))?((((pair)|(set)|(map))<(\\s*(BWAPI::)?\\w+\\*?\\s*)(\\s*,\\s*\\w+\\s*)?>)|([\\w\\*]+))&?\\s+(&?[\\w\\*]+)\\((.*)\\)(\\s*const)?(\\s*=\\s0)?(;)?\\s*";
// 1 2 3 4 56 7 891011 12 13 14 15 16 17 18 19
String FUNC_REGEX = "^(\\s*)(virtual\\s)?(const\\s)?(static\\s)?((BWAPI::)|(std::))?((((pair)|(vector)|(set)|(map)|(SetContainer))<(\\s*(BWAPI::)?\\w+\\*?\\s*)(\\s*,\\s*(BWAPI::)?\\w+\\*?\\s*)?>&?)|([\\w\\*]+))&?\\s+(&?[\\w\\*]+)\\((.*)\\)(\\s*const)?(\\s*=\\s0)?(;)?\\s*";
String ENUM_VALUE_REGEX = "^(\\s*)(\\w+)(\\s*=\\s*(0x)?([0-9A-Fa-f]+))?\\s*[\\,;]";
Pattern funcPattern = Pattern.compile(FUNC_REGEX);
public void run() {
Matcher matcher = funcPattern.matcher(" virtual std::set<Unit*>& getUnitsInRectangle(int left, int top, int right, int bottom) const = 0");
Matcher matcher = funcPattern.matcher("\t\tvirtual const std::pair<BWAPI::Position, BWAPI::Position>& getSides() const = 0;");
if (matcher.matches()) {
System.out.println("match");
System.out.print(matcher.group(18));

View file

@ -12,7 +12,7 @@ public class JavadocTest {
public static void main(String...args){
CrawlerBWAPI4 c = new CrawlerBWAPI4();
c.request("Color");
c.request("Race");
}
}

View file

@ -47,6 +47,8 @@ public class TestBot1 {
Game game = mirror.getGame();
Player self = game.self();
System.out.println(UnitType.Terran_Command_Center.toString());
System.out.println(UnitType.Terran_SCV.whatBuilds().first == UnitType.Terran_Command_Center);
@ -64,7 +66,7 @@ public class TestBot1 {
}
for (Chokepoint chokepoint : BWTA.getChokepoints()) {
//System.out.println(chokepoint.getCenter());
System.out.println(chokepoint.getCenter());
}
for (Player player : game.getPlayers()) {

View file

@ -15,7 +15,7 @@ public class PointerTest {
private static final List<String> BWAPI4_INTERFACES = Arrays.asList("Client", "Game", "AIModule" ,"Event", "Race", "Error", "Order");
private static boolean testCls(String cls){
return BWAPI4_INTERFACES.contains(cls) || cls.endsWith("set") || cls.endsWith("Type") || cls.startsWith("BWTA");
return BWAPI4_INTERFACES.contains(cls) || cls.endsWith("set") || cls.endsWith("Type") || cls.startsWith("BWTA");
}
public static String test(String cls) {