From eae92aa6a207317d57625c1908aa301ec61a509d Mon Sep 17 00:00:00 2001 From: Cekis Date: Tue, 23 Mar 2021 08:55:33 -0700 Subject: [PATCH] Properties management nearly complete. --- pom.xml | 10 + src/main/java/swg/SwgRestApiApplication.java | 3 + .../swg/controller/AccountController.java | 2 +- .../swg/controller/CityObjectController.java | 37 + .../swg/controller/MetricsController.java | 22 + .../java/swg/controller/PlayerController.java | 31 + .../controller/ResourceTypeController.java | 30 + .../swg/controller/SettingsController.java | 41 + src/main/java/swg/dao/AccountDao.java | 2 - src/main/java/swg/dao/CityObjectDao.java | 16 + src/main/java/swg/dao/PlayerDao.java | 13 + src/main/java/swg/dao/PropertyListDao.java | 14 + src/main/java/swg/dao/ResourceTypeDao.java | 15 + src/main/java/swg/entity/Account.java | 1 - src/main/java/swg/entity/ActiveResource.java | 9 + src/main/java/swg/entity/CityObject.java | 36 + src/main/java/swg/entity/MetricsModel.java | 107 + src/main/java/swg/entity/Player.java | 91 + src/main/java/swg/entity/PropertyList.java | 73 + src/main/java/swg/entity/ResourceType.java | 78 + .../java/swg/entity/SwgConfiguration.java | 2527 +++++++++++++++++ .../java/swg/service/CityObjectService.java | 36 + src/main/java/swg/service/PlayerService.java | 26 + .../java/swg/service/PropertyListService.java | 21 + .../java/swg/service/ResourceTypeService.java | 22 + src/main/resources/application.properties | 3 + src/main/resources/swg-defaults.yml | 316 +++ 27 files changed, 3578 insertions(+), 4 deletions(-) create mode 100644 src/main/java/swg/controller/CityObjectController.java create mode 100644 src/main/java/swg/controller/MetricsController.java create mode 100644 src/main/java/swg/controller/PlayerController.java create mode 100644 src/main/java/swg/controller/ResourceTypeController.java create mode 100644 src/main/java/swg/controller/SettingsController.java create mode 100644 src/main/java/swg/dao/CityObjectDao.java create mode 100644 src/main/java/swg/dao/PlayerDao.java create mode 100644 src/main/java/swg/dao/PropertyListDao.java create mode 100644 src/main/java/swg/dao/ResourceTypeDao.java create mode 100644 src/main/java/swg/entity/ActiveResource.java create mode 100644 src/main/java/swg/entity/CityObject.java create mode 100644 src/main/java/swg/entity/MetricsModel.java create mode 100644 src/main/java/swg/entity/Player.java create mode 100644 src/main/java/swg/entity/PropertyList.java create mode 100644 src/main/java/swg/entity/ResourceType.java create mode 100644 src/main/java/swg/entity/SwgConfiguration.java create mode 100644 src/main/java/swg/service/CityObjectService.java create mode 100644 src/main/java/swg/service/PlayerService.java create mode 100644 src/main/java/swg/service/PropertyListService.java create mode 100644 src/main/java/swg/service/ResourceTypeService.java create mode 100644 src/main/resources/swg-defaults.yml diff --git a/pom.xml b/pom.xml index 87c9fea..bc6325e 100644 --- a/pom.xml +++ b/pom.xml @@ -47,6 +47,16 @@ ojdbc10 runtime + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + 2.11.1 + + + org.hibernate + hibernate-validator + 6.0.16.Final + diff --git a/src/main/java/swg/SwgRestApiApplication.java b/src/main/java/swg/SwgRestApiApplication.java index 24e136f..94d09bd 100644 --- a/src/main/java/swg/SwgRestApiApplication.java +++ b/src/main/java/swg/SwgRestApiApplication.java @@ -2,10 +2,13 @@ package swg; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.web.bind.annotation.RestController; +import swg.entity.SwgConfiguration; @SpringBootApplication @RestController +@EnableConfigurationProperties(SwgConfiguration.class) public class SwgRestApiApplication { public static void main(String[] args) { SpringApplication.run(SwgRestApiApplication.class, args); diff --git a/src/main/java/swg/controller/AccountController.java b/src/main/java/swg/controller/AccountController.java index a697388..0ded676 100644 --- a/src/main/java/swg/controller/AccountController.java +++ b/src/main/java/swg/controller/AccountController.java @@ -8,7 +8,7 @@ import swg.service.AccountService; import java.util.List; @RestController -@RequestMapping("/account") +@RequestMapping("/api/account") public class AccountController { @Autowired AccountService accountService; diff --git a/src/main/java/swg/controller/CityObjectController.java b/src/main/java/swg/controller/CityObjectController.java new file mode 100644 index 0000000..e5c0af2 --- /dev/null +++ b/src/main/java/swg/controller/CityObjectController.java @@ -0,0 +1,37 @@ +package swg.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.*; +import swg.entity.CityObject; +import swg.service.CityObjectService; + +import java.util.List; + +@CrossOrigin +@RestController +@RequestMapping("/api/city") +public class CityObjectController { + @Autowired + CityObjectService cityObjectService; + + @ResponseStatus(code = HttpStatus.NOT_FOUND, reason = "City could not be found.") + public static class CityNotFoundException extends RuntimeException {} + + @RequestMapping(value = "/all", method = RequestMethod.GET) + public List getAllPropertyLists() { + return cityObjectService.getAllCityObjects(); + } + + @RequestMapping(value = "/detail", method = RequestMethod.GET) + public CityObject getCityByCityName(@RequestParam("name") String name) { + CityObject co = cityObjectService.getCityObjectByCityName(name); + if(co == null) throw new CityNotFoundException(); + return co; + } + + @RequestMapping(value = "/detail/{objectId}", method = RequestMethod.GET) + public CityObject getCityObjectsByObjectId(@PathVariable("objectId") Long objectId) { + return cityObjectService.getCityObjectByObjectId(objectId); + } +} \ No newline at end of file diff --git a/src/main/java/swg/controller/MetricsController.java b/src/main/java/swg/controller/MetricsController.java new file mode 100644 index 0000000..bda6573 --- /dev/null +++ b/src/main/java/swg/controller/MetricsController.java @@ -0,0 +1,22 @@ +package swg.controller; + +import org.springframework.web.bind.annotation.*; +import swg.entity.MetricsModel; + +@CrossOrigin +@RestController +@RequestMapping("/api/metrics") +public class MetricsController { + MetricsModel currentMetrics; + + @PostMapping(consumes = "application/json") + public boolean setMetrics(@RequestBody MetricsModel metrics) { + this.currentMetrics = metrics; + return true; + } + + @GetMapping(produces = "application/json") + public MetricsModel retrieveMetrics() { + return currentMetrics; + } +} \ No newline at end of file diff --git a/src/main/java/swg/controller/PlayerController.java b/src/main/java/swg/controller/PlayerController.java new file mode 100644 index 0000000..6cd0ef4 --- /dev/null +++ b/src/main/java/swg/controller/PlayerController.java @@ -0,0 +1,31 @@ +package swg.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import swg.entity.Player; +import swg.service.PlayerService; + +import java.util.List; + +@CrossOrigin +@RestController +@RequestMapping("/api/player") +public class PlayerController { + @Autowired + PlayerService playerService; + + @RequestMapping(value = "/all", method = RequestMethod.GET) + public List getAllPlayers() { + return playerService.getAllPlayers(); + } + + @RequestMapping(value = "/station/{stationId}", method = RequestMethod.GET) + public List getAllByStationId(@PathVariable("stationId") Long stationId) { + return playerService.getAllPlayersByStationId(stationId); + } + + @RequestMapping(value = "/{objectId}", method = RequestMethod.GET) + public Player getByObjectId(@PathVariable("objectId") Long objectId) { + return playerService.getPlayerByObjectId(objectId); + } +} \ No newline at end of file diff --git a/src/main/java/swg/controller/ResourceTypeController.java b/src/main/java/swg/controller/ResourceTypeController.java new file mode 100644 index 0000000..e735757 --- /dev/null +++ b/src/main/java/swg/controller/ResourceTypeController.java @@ -0,0 +1,30 @@ +package swg.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; +import swg.entity.ActiveResource; +import swg.entity.ResourceType; +import swg.service.ResourceTypeService; + +import java.util.List; + +@CrossOrigin +@RestController +@RequestMapping("/api/resource") +public class ResourceTypeController { + @Autowired + ResourceTypeService resourceTypeService; + + @RequestMapping(value = "/historical/all", method = RequestMethod.GET) + public List getAllResources() { + return resourceTypeService.getAllResources(); + } + + @RequestMapping(value = "/current", method = RequestMethod.GET) + public List getSpawnedResources() { + return resourceTypeService.getSpawnedResources(); + } +} \ No newline at end of file diff --git a/src/main/java/swg/controller/SettingsController.java b/src/main/java/swg/controller/SettingsController.java new file mode 100644 index 0000000..f20bacc --- /dev/null +++ b/src/main/java/swg/controller/SettingsController.java @@ -0,0 +1,41 @@ +package swg.controller; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; +import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.*; + +import swg.entity.SwgConfiguration; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; + +@CrossOrigin +@RestController +@RequestMapping("/api/settings") +public class SettingsController { + @Autowired + SwgConfiguration swgConfiguration; + + @Value(value = "${swg.log.config.path}customOptions.cfg") + String swgConfigFile; + + @RequestMapping(value = "/server", method = RequestMethod.GET) + public SwgConfiguration getAllSettings() { + return swgConfiguration; + } + + @RequestMapping(value = "/server", method = RequestMethod.POST) + public void saveSwgConfiguration(@RequestBody SwgConfiguration swgConfiguration) throws IOException { + this.swgConfiguration = swgConfiguration; + ObjectMapper mapper = new ObjectMapper(new YAMLFactory().disable(YAMLGenerator.Feature.WRITE_DOC_START_MARKER)); + mapper.writeValue(new File("./swg-local.yml"), swgConfiguration); + BufferedWriter writer = new BufferedWriter(new FileWriter(this.swgConfigFile)); + writer.write(swgConfiguration.toString()); + writer.close(); + } +} \ No newline at end of file diff --git a/src/main/java/swg/dao/AccountDao.java b/src/main/java/swg/dao/AccountDao.java index 580e6a8..b467919 100644 --- a/src/main/java/swg/dao/AccountDao.java +++ b/src/main/java/swg/dao/AccountDao.java @@ -4,8 +4,6 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; import swg.entity.Account; -import java.util.List; - @Repository public interface AccountDao extends JpaRepository { public Account findByStationId(Long stationId); diff --git a/src/main/java/swg/dao/CityObjectDao.java b/src/main/java/swg/dao/CityObjectDao.java new file mode 100644 index 0000000..4ad7930 --- /dev/null +++ b/src/main/java/swg/dao/CityObjectDao.java @@ -0,0 +1,16 @@ +package swg.dao; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; +import swg.entity.CityObject; +import swg.entity.PropertyList; + +import java.util.List; + +@Repository +public interface CityObjectDao extends JpaRepository { + public CityObject findByObjectId(Long objectId); + @Query(value = "SELECT * FROM CITY_OBJECTS WHERE object_id = (SELECT object_id from PROPERTY_LISTS WHERE LIST_ID = 12 AND VALUE LIKE '%::%')", nativeQuery = true) + public CityObject findByName(String name); +} \ No newline at end of file diff --git a/src/main/java/swg/dao/PlayerDao.java b/src/main/java/swg/dao/PlayerDao.java new file mode 100644 index 0000000..8668f78 --- /dev/null +++ b/src/main/java/swg/dao/PlayerDao.java @@ -0,0 +1,13 @@ +package swg.dao; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import swg.entity.Player; + +import java.util.List; + +@Repository +public interface PlayerDao extends JpaRepository { + public List findByStationId(Long stationId); + public Player findByObjectId(Long objectId); +} \ No newline at end of file diff --git a/src/main/java/swg/dao/PropertyListDao.java b/src/main/java/swg/dao/PropertyListDao.java new file mode 100644 index 0000000..8abc93f --- /dev/null +++ b/src/main/java/swg/dao/PropertyListDao.java @@ -0,0 +1,14 @@ +package swg.dao; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import swg.entity.Player; +import swg.entity.PropertyList; +import swg.entity.ResourceType; + +import java.util.List; + +@Repository +public interface PropertyListDao extends JpaRepository { + public List findByObjectId(Long objectId); +} \ No newline at end of file diff --git a/src/main/java/swg/dao/ResourceTypeDao.java b/src/main/java/swg/dao/ResourceTypeDao.java new file mode 100644 index 0000000..616981b --- /dev/null +++ b/src/main/java/swg/dao/ResourceTypeDao.java @@ -0,0 +1,15 @@ +package swg.dao; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; +import swg.entity.ActiveResource; +import swg.entity.ResourceType; + +import java.util.List; + +@Repository +public interface ResourceTypeDao extends JpaRepository { + @Query(value = "SELECT * FROM active_resources_data", nativeQuery = true) + public List findAllSpawned(); +} \ No newline at end of file diff --git a/src/main/java/swg/entity/Account.java b/src/main/java/swg/entity/Account.java index 7394a51..d8a4942 100644 --- a/src/main/java/swg/entity/Account.java +++ b/src/main/java/swg/entity/Account.java @@ -3,7 +3,6 @@ package swg.entity; import javax.persistence.*; @Entity -@NamedQuery(name = "Account.findByStationId", query = "SELECT a FROM Account a WHERE a.stationId = ?1") @Table(name = "ACCOUNTS") public class Account { @Column(name = "STATION_ID") diff --git a/src/main/java/swg/entity/ActiveResource.java b/src/main/java/swg/entity/ActiveResource.java new file mode 100644 index 0000000..b6b186e --- /dev/null +++ b/src/main/java/swg/entity/ActiveResource.java @@ -0,0 +1,9 @@ +package swg.entity; + +public interface ActiveResource { + Long getResource_id(); + String getResource_name(); + String getResource_class(); + String getAttribute_name(); + String getAttribute_value(); +} diff --git a/src/main/java/swg/entity/CityObject.java b/src/main/java/swg/entity/CityObject.java new file mode 100644 index 0000000..531615e --- /dev/null +++ b/src/main/java/swg/entity/CityObject.java @@ -0,0 +1,36 @@ +package swg.entity; + +import javax.persistence.*; +import java.util.Date; +import java.util.List; + +@Entity +@Table(name = "CITY_OBJECTS") +public class CityObject { + @Column(name = "OBJECT_ID") + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long objectId; + + @OneToMany(mappedBy = "objectId") + private List propertyLists; + + protected CityObject() { + } + + public Long getObjectId() { + return objectId; + } + + public void setObjectId(Long objectId) { + this.objectId = objectId; + } + + public List getPropertyLists() { + return propertyLists; + } + + public void setPropertyLists(List propertyLists) { + this.propertyLists = propertyLists; + } +} diff --git a/src/main/java/swg/entity/MetricsModel.java b/src/main/java/swg/entity/MetricsModel.java new file mode 100644 index 0000000..5f25187 --- /dev/null +++ b/src/main/java/swg/entity/MetricsModel.java @@ -0,0 +1,107 @@ +package swg.entity; + +public class MetricsModel { + private String clusterName; + private int totalPlayerCount; + private int totalGameServers; + private int totalPlanetServers; + private int totalTutorialSceneCount; + private long lastLoadingStateTime; + private long clusterStartupTime; + private long timeClusterWentIntoLoadingState; + private int webUpdateIntervalSeconds; + private long lastUpdateTime; + private String secretKey; + + public MetricsModel() { + this.lastUpdateTime = System.currentTimeMillis(); + } + + public String getClusterName() { + return clusterName; + } + + public void setClusterName(String clusterName) { + this.clusterName = clusterName; + } + + public int getTotalPlayerCount() { + return totalPlayerCount; + } + + public void setTotalPlayerCount(int totalPlayerCount) { + this.totalPlayerCount = totalPlayerCount; + } + + public int getTotalGameServers() { + return totalGameServers; + } + + public void setTotalGameServers(int totalGameServers) { + this.totalGameServers = totalGameServers; + } + + public int getTotalPlanetServers() { + return totalPlanetServers; + } + + public void setTotalPlanetServers(int totalPlanetServers) { + this.totalPlanetServers = totalPlanetServers; + } + + public int getTotalTutorialSceneCount() { + return totalTutorialSceneCount; + } + + public void setTotalTutorialSceneCount(int totalTutorialSceneCount) { + this.totalTutorialSceneCount = totalTutorialSceneCount; + } + + public long getLastLoadingStateTime() { + return lastLoadingStateTime; + } + + public void setLastLoadingStateTime(long lastLoadingStateTime) { + this.lastLoadingStateTime = lastLoadingStateTime; + } + + public long getClusterStartupTime() { + return clusterStartupTime; + } + + public void setClusterStartupTime(long clusterStartupTime) { + this.clusterStartupTime = clusterStartupTime; + } + + public long getTimeClusterWentIntoLoadingState() { + return timeClusterWentIntoLoadingState; + } + + public void setTimeClusterWentIntoLoadingState(long timeClusterWentIntoLoadingState) { + this.timeClusterWentIntoLoadingState = timeClusterWentIntoLoadingState; + } + + public int getWebUpdateIntervalSeconds() { + return webUpdateIntervalSeconds; + } + + public void setWebUpdateIntervalSeconds(int webUpdateIntervalSeconds) { + this.webUpdateIntervalSeconds = webUpdateIntervalSeconds; + } + + public long getLastUpdateTime() { + return lastUpdateTime; + } + + public void setLastUpdateTime(long lastUpdateTime) { + this.lastUpdateTime = lastUpdateTime; + } + + public String getSecretKey() { + return secretKey; + } + + public void setSecretKey(String secretKey) { + this.secretKey = secretKey; + } +} diff --git a/src/main/java/swg/entity/Player.java b/src/main/java/swg/entity/Player.java new file mode 100644 index 0000000..bb9b685 --- /dev/null +++ b/src/main/java/swg/entity/Player.java @@ -0,0 +1,91 @@ +package swg.entity; + +import javax.persistence.*; +import java.util.Date; +import java.util.List; + +@Entity +@Table(name = "PLAYERS") +public class Player { + @Column(name = "CHARACTER_OBJECT") + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long objectId; + + @Column(name = "STATION_ID", nullable = true, length =38) + private Long stationId; + + @Column(name = "UC_CHARACTER_NAME", nullable = true, length = 127) + private String characterName; + + @Column(name = "CHARACTER_FULL_NAME", nullable = true, length = 127) + private String characterFullName; + + @Column(name = "CREATE_TIME", nullable = true) + private Date createTime; + + @Column(name = "LAST_LOGIN_TIME", nullable = true) + private Date lastLoginTime; + + @OneToMany(mappedBy = "objectId") + private List propertyLists; + + protected Player() { + } + + public Long getObjectId() { + return objectId; + } + + public void setObjectId(Long objectId) { + this.objectId = objectId; + } + + public Long getStationId() { + return stationId; + } + + public void setStationId(Long stationId) { + this.stationId = stationId; + } + + public String getCharacterName() { + return characterName; + } + + public void setCharacterName(String characterName) { + this.characterName = characterName; + } + + public String getCharacterFullName() { + return characterFullName; + } + + public void setCharacterFullName(String characterFullName) { + this.characterFullName = characterFullName; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getLastLoginTime() { + return lastLoginTime; + } + + public void setLastLoginTime(Date lastLoginTime) { + this.lastLoginTime = lastLoginTime; + } + + public List getPropertyList() { + return propertyLists; + } + + public void setPropertyList(List propertyLists) { + this.propertyLists = propertyLists; + } +} diff --git a/src/main/java/swg/entity/PropertyList.java b/src/main/java/swg/entity/PropertyList.java new file mode 100644 index 0000000..3c58c41 --- /dev/null +++ b/src/main/java/swg/entity/PropertyList.java @@ -0,0 +1,73 @@ +package swg.entity; + +import javax.persistence.*; +import java.io.Serializable; + +class PropertyListCompositeKey implements Serializable { + private Long objectId; + private Long listId; + private String value; +} + +@Entity +@Table(name = "PROPERTY_LISTS") +@IdClass(PropertyListCompositeKey.class) +public class PropertyList { + @Id + @Column(name = "OBJECT_ID", nullable = false, length = 20) + private Long objectId; + + @Id + @Column(name = "LIST_ID", nullable = false, length = 38) + private Long listId; + + @Id + @Column(name = "VALUE", nullable = false, length = 500) + private String value; + + protected PropertyList() { + } + + public Long getObjectId() { + return objectId; + } + + public void setObjectId(Long objectId) { + this.objectId = objectId; + } + + public Long getListId() { + return listId; + } + + /* + * The following are valid List ID's: + * + * LI_Commands=0, + * LI_DraftSchematics=1, + * // removed: LI_PvpEnemies=2, + * LI_Allowed=3, + * LI_Banned=4, + * LI_GuildNames=5, + * LI_GuildAbbrevs=6, + * LI_GuildMembers=7, + * LI_GuildEnemies=8, + * LI_GuildLeaders=10, + * LI_Skills=11, + * LI_Cities=12, + * LI_Citizens=13, + * LI_CityStructures=14 + * + */ + public void setListId(Long listId) { + this.listId = listId; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/src/main/java/swg/entity/ResourceType.java b/src/main/java/swg/entity/ResourceType.java new file mode 100644 index 0000000..47dfb27 --- /dev/null +++ b/src/main/java/swg/entity/ResourceType.java @@ -0,0 +1,78 @@ +package swg.entity; + +import javax.persistence.*; + +@Entity +@Table(name = "RESOURCE_TYPES") +public class ResourceType { + @Column(name = "RESOURCE_ID") + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long resourceId; + + @Column(name = "RESOURCE_NAME", nullable = true, length = 100) + private String resourceName; + + @Column(name = "RESOURCE_CLASS", nullable = true, length = 100) + private String resourceClass; + + @Column(name = "ATTRIBUTES", nullable = true, length = 1024) + private String attributes; + + @Column(name = "FRACTAL_SEEDS", nullable = true, length = 1024) + private String fractalSeeds; + + @Column(name = "DEPLETED_TIMESTAMP", nullable = true, length = 38) + private Long depletedTimestamp; + + protected ResourceType() { + } + + public Long getResourceId() { + return resourceId; + } + + public void setResourceId(Long resourceId) { + this.resourceId = resourceId; + } + + public String getResourceName() { + return resourceName; + } + + public void setResourceName(String resourceName) { + this.resourceName = resourceName; + } + + public String getResourceClass() { + return resourceClass; + } + + public void setResourceClass(String resourceClass) { + this.resourceClass = resourceClass; + } + + public String getAttributes() { + return attributes; + } + + public void setAttributes(String attributes) { + this.attributes = attributes; + } + + public String getFractalSeeds() { + return fractalSeeds; + } + + public void setFractalSeeds(String fractalSeeds) { + this.fractalSeeds = fractalSeeds; + } + + public Long getDepletedTimestamp() { + return depletedTimestamp; + } + + public void setDepletedTimestamp(Long depletedTimestamp) { + this.depletedTimestamp = depletedTimestamp; + } +} diff --git a/src/main/java/swg/entity/SwgConfiguration.java b/src/main/java/swg/entity/SwgConfiguration.java new file mode 100644 index 0000000..abe2417 --- /dev/null +++ b/src/main/java/swg/entity/SwgConfiguration.java @@ -0,0 +1,2527 @@ +package swg.entity; + +import org.springframework.boot.context.properties.ConfigurationProperties; + +import java.util.List; + +@ConfigurationProperties +public class SwgConfiguration { + private final GameServer gameServer = new GameServer(); + private final CentralServer centralServer = new CentralServer(); + private final ServerMetrics serverMetrics = new ServerMetrics(); + private final ChatServer chatServer = new ChatServer(); + private final CommodityServer commodityServer = new CommodityServer(); + private final PlanetServer planetServer = new PlanetServer(); + private final ConnectionServer connectionServer = new ConnectionServer(); + private final LoginServer loginServer = new LoginServer(); + private final ScriptFlags scriptFlags = new ScriptFlags(); + private final Quest quest = new Quest(); + private final BestineEvents bestineEvents = new BestineEvents(); + private final SharedLog sharedLog = new SharedLog(); + private final SharedNetwork sharedNetwork = new SharedNetwork(); + private final SharedFoundation sharedFoundation = new SharedFoundation(); + private final Dungeon dungeon = new Dungeon(); + private final EventTeam eventTeam = new EventTeam(); + private final CharacterBuilder characterBuilder = new CharacterBuilder(); + private final Custom custom = new Custom(); + + SwgConfiguration() {} + + public GameServer getGameServer() { + return gameServer; + } + + public CentralServer getCentralServer() { + return centralServer; + } + + public ServerMetrics getServerMetrics() { + return serverMetrics; + } + + public ChatServer getChatServer() { + return chatServer; + } + + public CommodityServer getCommodityServer() { + return commodityServer; + } + + public PlanetServer getPlanetServer() { + return planetServer; + } + + public ConnectionServer getConnectionServer() { + return connectionServer; + } + + public LoginServer getLoginServer() { + return loginServer; + } + + public ScriptFlags getScriptFlags() { + return scriptFlags; + } + + public Quest getQuest() { + return quest; + } + + public BestineEvents getBestineEvents() { + return bestineEvents; + } + + public SharedLog getSharedLog() { + return sharedLog; + } + + public SharedNetwork getSharedNetwork() { + return sharedNetwork; + } + + public SharedFoundation getSharedFoundation() { + return sharedFoundation; + } + + public Dungeon getDungeon() { + return dungeon; + } + + public EventTeam getEventTeam() { + return eventTeam; + } + + public CharacterBuilder getCharacterBuilder() { + return characterBuilder; + } + + public Custom getCustom() { + return custom; + } + + public String toString() { + String output = "[CentralServer]" + centralServer.toString(); + output += "[ServerMetrics]" + serverMetrics.toString(); + output += "[ChatServer]" + chatServer.toString(); + output += "[CommodityServer]" + commodityServer.toString(); + output += "[PlanetServer]" + planetServer.toString(); + output += "[ConnectionServer]" + connectionServer.toString(); + output += "[LoginServer]" + loginServer.toString(); + output += "[ScriptFlags]" + scriptFlags.toString(); + output += "[Quest]" + quest.toString(); + output += "[BestineEvents]" + bestineEvents.toString(); + output += "[SharedLog]" + sharedLog.toString(); + output += "[SharedNetwork]" + sharedNetwork.toString(); + output += "[SharedFoundation]" + sharedFoundation.toString(); + output += "[Dungeon]" + dungeon.toString(); + output += "[EventTeam]" + eventTeam.toString(); + output += "[GameServer]" + gameServer.toString(); + output += "[CharacterBuilder]" + characterBuilder.toString(); + output += "[Custom]" + custom.toString(); + return output + "\n\n"; + } + + public static class CentralServer { + private boolean auctionEnabled; + private boolean developmentMode; + private String clusterName; + private String metricsDataURL; + private int webUpdateIntervalSeconds; + private boolean newbieTutorialEnabled; + private List startPlanet; + + CentralServer() {} + + public String toString() { + String output = "\nauctionEnabled=" + auctionEnabled; + output += "\ndevelopmentMode=" + developmentMode; + output += "\nclusterName=" + clusterName; + output += "\nmetricsDataURL=" + metricsDataURL; + output += "\nnewbieTutorialEnabled=" + newbieTutorialEnabled; + output += "\nwebUpdateIntervalSeconds=" + webUpdateIntervalSeconds; + for(StartPlanet planet : startPlanet) { + output += planet.toString(); + } + return output + "\n\n"; + } + + public String getClusterName() { + return clusterName; + } + + public void setClusterName(String clusterName) { + this.clusterName = clusterName; + } + + public String getMetricsDataURL() { + return metricsDataURL; + } + + public void setMetricsDataURL(String metricsDataURL) { + this.metricsDataURL = metricsDataURL; + } + + public int getWebUpdateIntervalSeconds() { + return webUpdateIntervalSeconds; + } + + public void setWebUpdateIntervalSeconds(int webUpdateIntervalSeconds) { + this.webUpdateIntervalSeconds = webUpdateIntervalSeconds; + } + + public boolean isNewbieTutorialEnabled() { + return newbieTutorialEnabled; + } + + public void setNewbieTutorialEnabled(boolean newbieTutorialEnabled) { + this.newbieTutorialEnabled = newbieTutorialEnabled; + } + + public List getStartPlanet() { + return startPlanet; + } + + public void setStartPlanet(List startPlanet) { + this.startPlanet = startPlanet; + } + + public boolean isAuctionEnabled() { + return auctionEnabled; + } + + public void setAuctionEnabled(boolean auctionEnabled) { + this.auctionEnabled = auctionEnabled; + } + + public boolean isDevelopmentMode() { + return developmentMode; + } + + public void setDevelopmentMode(boolean developmentMode) { + this.developmentMode = developmentMode; + } + + public static class StartPlanet { + private String name; + private boolean active; + + StartPlanet() {} + + public String toString() { + String output = "\nstartPlanet=" + name; + return active ? output : ""; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public boolean isActive() { + return active; + } + + public void setActive(boolean active) { + this.active = active; + } + } + } + + public static class ServerMetrics { + private int metricsServerPort; + + ServerMetrics() {} + + public String toString() { + String output = "\nmetricsServerPort=" + metricsServerPort; + return output + "\n\n"; + } + + public int getMetricsServerPort() { + return metricsServerPort; + } + + public void setMetricsServerPort(int metricsServerPort) { + this.metricsServerPort = metricsServerPort; + } + } + + public static class ChatServer { + private String centralServerAddress; + private String clusterName; + private String gatewayServerIp; + private int gatewayServerPort; + private boolean loggingEnabled; + private String registrarHost; + private int registrarPort; + + ChatServer() {} + + public String toString() { + String output = "\ncentralServerAddress=" + centralServerAddress; + output += "\nclusterName=" + clusterName; + output += "\ngatewayServerIP=" + gatewayServerIp; + output += "\ngatewayServerPort=" + gatewayServerPort; + output += "\nloggingEnabled=" + loggingEnabled; + output += "\nregistrarHost=" + registrarHost; + output += "\nregistrarPort=" + registrarPort; + return output + "\n\n"; + } + + public String getCentralServerAddress() { + return centralServerAddress; + } + + public void setCentralServerAddress(String centralServerAddress) { + this.centralServerAddress = centralServerAddress; + } + + public String getClusterName() { + return clusterName; + } + + public void setClusterName(String clusterName) { + this.clusterName = clusterName; + } + + public String getGatewayServerIp() { + return gatewayServerIp; + } + + public void setGatewayServerIp(String gatewayServerIp) { + this.gatewayServerIp = gatewayServerIp; + } + + public int getGatewayServerPort() { + return gatewayServerPort; + } + + public void setGatewayServerPort(int gatewayServerPort) { + this.gatewayServerPort = gatewayServerPort; + } + + public boolean isLoggingEnabled() { + return loggingEnabled; + } + + public void setLoggingEnabled(boolean loggingEnabled) { + this.loggingEnabled = loggingEnabled; + } + + public String getRegistrarHost() { + return registrarHost; + } + + public void setRegistrarHost(String registrarHost) { + this.registrarHost = registrarHost; + } + + public int getRegistrarPort() { + return registrarPort; + } + + public void setRegistrarPort(int registrarPort) { + this.registrarPort = registrarPort; + } + } + + public static class CommodityServer { + private boolean developmentMode; + private int maxAuctionsPerPlayer; + private int minutesActiveToUnaccessed; + private int minutesBazaarAuctionTimer; + private int minutesBazaarItemTimer; + private int minutesEmptyToEndangered; + private int minutesUnaccessedToEndangered; + private int minutesEndangeredToRemoved; + private int minutesVendorAuctionTimer; + private int minutesVendorItemTimer; + + CommodityServer() {} + + public String toString() { + String output = "\ndevelopmentMode=" + developmentMode; + output += "\nmaxAuctionsPerPlayer=" + maxAuctionsPerPlayer; + output += "\nminutesActiveToUnaccessed=" + minutesActiveToUnaccessed; + output += "\nminutesBazaarAuctionTimer=" + minutesBazaarAuctionTimer; + output += "\nminutesBazaarItemTimer=" + minutesBazaarItemTimer; + output += "\nminutesEmptyToEndangered=" + minutesEmptyToEndangered; + output += "\nminutesUnaccessedToEndangered=" + minutesUnaccessedToEndangered; + output += "\nminutesEndangeredToRemoved=" + minutesEndangeredToRemoved; + output += "\nminutesVendorAuctionTimer=" + minutesVendorAuctionTimer; + output += "\nminutesVendorItemTimer=" + minutesVendorItemTimer; + return output + "\n\n"; + } + + public boolean isDevelopmentMode() { + return developmentMode; + } + + public void setDevelopmentMode(boolean developmentMode) { + this.developmentMode = developmentMode; + } + + public int getMaxAuctionsPerPlayer() { + return maxAuctionsPerPlayer; + } + + public void setMaxAuctionsPerPlayer(int maxAuctionsPerPlayer) { + this.maxAuctionsPerPlayer = maxAuctionsPerPlayer; + } + + public int getMinutesBazaarAuctionTimer() { + return minutesBazaarAuctionTimer; + } + + public void setMinutesBazaarAuctionTimer(int minutesBazaarAuctionTimer) { + this.minutesBazaarAuctionTimer = minutesBazaarAuctionTimer; + } + + public int getMinutesBazaarItemTimer() { + return minutesBazaarItemTimer; + } + + public void setMinutesBazaarItemTimer(int minutesBazaarItemTimer) { + this.minutesBazaarItemTimer = minutesBazaarItemTimer; + } + + public int getMinutesActiveToUnaccessed() { + return minutesActiveToUnaccessed; + } + + public void setMinutesActiveToUnaccessed(int minutesActiveToUnaccessed) { + this.minutesActiveToUnaccessed = minutesActiveToUnaccessed; + } + + public int getMinutesEmptyToEndangered() { + return minutesEmptyToEndangered; + } + + public void setMinutesEmptyToEndangered(int minutesEmptyToEndangered) { + this.minutesEmptyToEndangered = minutesEmptyToEndangered; + } + + public int getMinutesUnaccessedToEndangered() { + return minutesUnaccessedToEndangered; + } + + public void setMinutesUnaccessedToEndangered(int minutesUnaccessedToEndangered) { + this.minutesUnaccessedToEndangered = minutesUnaccessedToEndangered; + } + + public int getMinutesEndangeredToRemoved() { + return minutesEndangeredToRemoved; + } + + public void setMinutesEndangeredToRemoved(int minutesEndangeredToRemoved) { + this.minutesEndangeredToRemoved = minutesEndangeredToRemoved; + } + + public int getMinutesVendorAuctionTimer() { + return minutesVendorAuctionTimer; + } + + public void setMinutesVendorAuctionTimer(int minutesVendorAuctionTimer) { + this.minutesVendorAuctionTimer = minutesVendorAuctionTimer; + } + + public int getMinutesVendorItemTimer() { + return minutesVendorItemTimer; + } + + public void setMinutesVendorItemTimer(int minutesVendorItemTimer) { + this.minutesVendorItemTimer = minutesVendorItemTimer; + } + } + + public static class PlanetServer { + private boolean loadWholePlanet; + private boolean loadWholePlanetMultiserver; + private int numTutorialServers; + + PlanetServer() {} + + public String toString() { + String output = "\nloadWholePlanet=" + loadWholePlanet; + output += "\nloadWholePlanetMultiserver=" + loadWholePlanetMultiserver; + output += "\nnumTutorialServers=" + numTutorialServers; + return output + "\n\n"; + } + + public boolean isLoadWholePlanet() { + return loadWholePlanet; + } + + public void setLoadWholePlanet(boolean loadWholePlanet) { + this.loadWholePlanet = loadWholePlanet; + } + + public boolean isLoadWholePlanetMultiserver() { + return loadWholePlanetMultiserver; + } + + public void setLoadWholePlanetMultiserver(boolean loadWholePlanetMultiserver) { + this.loadWholePlanetMultiserver = loadWholePlanetMultiserver; + } + + public int getNumTutorialServers() { + return numTutorialServers; + } + + public void setNumTutorialServers(int numTutorialServers) { + this.numTutorialServers = numTutorialServers; + } + } + + public static class ConnectionServer { + private String adminAccountDataTable; + private int pingPort; + private String customerServiceBindInterface; + private String chatServiceBindInterface; + private boolean disableWorldSnapshot; + private boolean validateClientVersion; + private boolean validateStationKey; + private int clientOverflowLimit; + + ConnectionServer() {} + + public String toString() { + String output = "\nadminAccountDataTable=" + adminAccountDataTable; + output += "\npingPort=" + pingPort; + output += "\ncustomerServiceBindInterface=" + customerServiceBindInterface; + output += "\nchatServiceBindInterface=" + chatServiceBindInterface; + output += "\ndisableWorldSnapshot=" + disableWorldSnapshot; + output += "\nvalidateClientVersion=" + validateClientVersion; + output += "\nvalidateStationKey=" + validateStationKey; + output += "\nclientOverflowLimit=" + clientOverflowLimit; + return output + "\n\n"; + } + + public String getAdminAccountDataTable() { + return adminAccountDataTable; + } + + public void setAdminAccountDataTable(String adminAccountDataTable) { + this.adminAccountDataTable = adminAccountDataTable; + } + + public int getPingPort() { + return pingPort; + } + + public void setPingPort(int pingPort) { + this.pingPort = pingPort; + } + + public String getCustomerServiceBindInterface() { + return customerServiceBindInterface; + } + + public void setCustomerServiceBindInterface(String customerServiceBindInterface) { + this.customerServiceBindInterface = customerServiceBindInterface; + } + + public String getChatServiceBindInterface() { + return chatServiceBindInterface; + } + + public void setChatServiceBindInterface(String chatServiceBindInterface) { + this.chatServiceBindInterface = chatServiceBindInterface; + } + + public boolean isDisableWorldSnapshot() { + return disableWorldSnapshot; + } + + public void setDisableWorldSnapshot(boolean disableWorldSnapshot) { + this.disableWorldSnapshot = disableWorldSnapshot; + } + + public boolean isValidateClientVersion() { + return validateClientVersion; + } + + public void setValidateClientVersion(boolean validateClientVersion) { + this.validateClientVersion = validateClientVersion; + } + + public boolean isValidateStationKey() { + return validateStationKey; + } + + public void setValidateStationKey(boolean validateStationKey) { + this.validateStationKey = validateStationKey; + } + + public int getClientOverflowLimit() { + return clientOverflowLimit; + } + + public void setClientOverflowLimit(int clientOverflowLimit) { + this.clientOverflowLimit = clientOverflowLimit; + } + } + + public static class LoginServer { + private boolean validateClientVersion; + private boolean validateStationKey; + private boolean easyExternalAccess; + + LoginServer() {} + + public String toString() { + String output = "\nvalidateClientVersion=" + validateClientVersion; + output += "\nvalidateStationKey=" + validateStationKey; + output += "\neasyExternalAccess=" + easyExternalAccess; + return output + "\n\n"; + } + + public boolean isValidateClientVersion() { + return validateClientVersion; + } + + public void setValidateClientVersion(boolean validateClientVersion) { + this.validateClientVersion = validateClientVersion; + } + + public boolean isValidateStationKey() { + return validateStationKey; + } + + public void setValidateStationKey(boolean validateStationKey) { + this.validateStationKey = validateStationKey; + } + + public boolean isEasyExternalAccess() { + return easyExternalAccess; + } + + public void setEasyExternalAccess(boolean easyExternalAccess) { + this.easyExternalAccess = easyExternalAccess; + } + } + + public static class ScriptFlags { + private boolean liveSpaceServer; + private boolean spawnersOn; + private boolean npeSequencersActive; + + ScriptFlags() {} + + public String toString() { + String output = "\nliveSpaceServer=" + liveSpaceServer; + output += "\nspawnersOn=" + spawnersOn; + output += "\nnpeSequencersActive=" + npeSequencersActive; + return output + "\n\n"; + } + + public boolean isLiveSpaceServer() { + return liveSpaceServer; + } + + public void setLiveSpaceServer(boolean liveSpaceServer) { + this.liveSpaceServer = liveSpaceServer; + } + + public boolean isSpawnersOn() { + return spawnersOn; + } + + public void setSpawnersOn(boolean spawnersOn) { + this.spawnersOn = spawnersOn; + } + + public boolean isNpeSequencersActive() { + return npeSequencersActive; + } + + public void setNpeSequencersActive(boolean npeSequencersActive) { + this.npeSequencersActive = npeSequencersActive; + } + } + + public static class Quest { + private boolean craftingContract; + private boolean crowdPleaser; + private int communityCraftingLimit; + + Quest() {} + + public String toString() { + String output = "\nCraftingContract=" + craftingContract; + output += "\nCrowdPleaser=" + crowdPleaser; + output += "\nCommunityCraftingLimit=" + communityCraftingLimit; + return output + "\n\n"; + } + + public boolean isCraftingContract() { + return craftingContract; + } + + public void setCraftingContract(boolean craftingContract) { + this.craftingContract = craftingContract; + } + + public boolean isCrowdPleaser() { + return crowdPleaser; + } + + public void setCrowdPleaser(boolean crowdPleaser) { + this.crowdPleaser = crowdPleaser; + } + + public int getCommunityCraftingLimit() { + return communityCraftingLimit; + } + + public void setCommunityCraftingLimit(int communityCraftingLimit) { + this.communityCraftingLimit = communityCraftingLimit; + } + } + + public static class BestineEvents { + private int politicianEventDuration; + private int museumEventDuration; + + BestineEvents() {} + + public String toString() { + String output = "\nPoliticianEventDuration=" + politicianEventDuration; + output += "\nMuseumEventDuration=" + museumEventDuration; + return output + "\n\n"; + } + + public int getPoliticianEventDuration() { + return politicianEventDuration; + } + + public void setPoliticianEventDuration(int politicianEventDuration) { + this.politicianEventDuration = politicianEventDuration; + } + + public int getMuseumEventDuration() { + return museumEventDuration; + } + + public void setMuseumEventDuration(int museumEventDuration) { + this.museumEventDuration = museumEventDuration; + } + } + + public static class SharedLog { + private String logTarget; + + SharedLog() {} + + public String toString() { + String output = "\nlogTarget=" + logTarget; + return output + "\n\n"; + } + + public String getLogTarget() { + return logTarget; + } + + public void setLogTarget(String logTarget) { + this.logTarget = logTarget; + } + } + + public static class SharedNetwork { + private int oldestUnacknowledgedTimeout; + private int noDataTimeout; + + SharedNetwork() {} + + public String toString() { + String output = "\noldestUnacknowledgedTimeout=" + oldestUnacknowledgedTimeout; + output += "\nnoDataTimeout=" + noDataTimeout; + return output + "\n\n"; + } + + public int getOldestUnacknowledgedTimeout() { + return oldestUnacknowledgedTimeout; + } + + public void setOldestUnacknowledgedTimeout(int oldestUnacknowledgedTimeout) { + this.oldestUnacknowledgedTimeout = oldestUnacknowledgedTimeout; + } + + public int getNoDataTimeout() { + return noDataTimeout; + } + + public void setNoDataTimeout(int noDataTimeout) { + this.noDataTimeout = noDataTimeout; + } + } + + public static class SharedFoundation { + private float frameRateLimit; + private int fatalCallStackDepth; + private int warningCallStackDepth; + + SharedFoundation() {} + + public String toString() { + String output = "\nframeRateLimit=" + frameRateLimit; + output += "\nfatalCallStackDepth=" + fatalCallStackDepth; + output += "\nwarningCallStackDepth=" + warningCallStackDepth; + return output + "\n\n"; + } + + public float getFrameRateLimit() { + return frameRateLimit; + } + + public void setFrameRateLimit(float frameRateLimit) { + this.frameRateLimit = frameRateLimit; + } + + public int getFatalCallStackDepth() { + return fatalCallStackDepth; + } + + public void setFatalCallStackDepth(int fatalCallStackDepth) { + this.fatalCallStackDepth = fatalCallStackDepth; + } + + public int getWarningCallStackDepth() { + return warningCallStackDepth; + } + + public void setWarningCallStackDepth(int warningCallStackDepth) { + this.warningCallStackDepth = warningCallStackDepth; + } + } + + public static class Dungeon { + private boolean deathWatch; + private boolean corellianCorvetteNeutral; + private boolean corellianCorvetteImperial; + private boolean corellianCorvetteRebel; + private boolean serverSwitch; + private boolean geonosian; + + Dungeon() {} + + public String toString() { + String output = "\nDeath_Watch=" + deathWatch; + output += "\nCorellian_Corvette_Neutral=" + corellianCorvetteNeutral; + output += "\nCorellian_Corvette_Imperial=" + corellianCorvetteImperial; + output += "\nCorellian_Corvette_Rebel=" + corellianCorvetteRebel; + output += "\nserverSwitch=" + serverSwitch; + output += "\nGeonosian=" + geonosian; + return output + "\n\n"; + } + + public boolean isDeathWatch() { + return deathWatch; + } + + public void setDeathWatch(boolean deathWatch) { + this.deathWatch = deathWatch; + } + + public boolean isCorellianCorvetteNeutral() { + return corellianCorvetteNeutral; + } + + public void setCorellianCorvetteNeutral(boolean corellianCorvetteNeutral) { + this.corellianCorvetteNeutral = corellianCorvetteNeutral; + } + + public boolean isCorellianCorvetteImperial() { + return corellianCorvetteImperial; + } + + public void setCorellianCorvetteImperial(boolean corellianCorvetteImperial) { + this.corellianCorvetteImperial = corellianCorvetteImperial; + } + + public boolean isCorellianCorvetteRebel() { + return corellianCorvetteRebel; + } + + public void setCorellianCorvetteRebel(boolean corellianCorvetteRebel) { + this.corellianCorvetteRebel = corellianCorvetteRebel; + } + + public boolean isServerSwitch() { + return serverSwitch; + } + + public void setServerSwitch(boolean serverSwitch) { + this.serverSwitch = serverSwitch; + } + + public boolean isGeonosian() { + return geonosian; + } + + public void setGeonosian(boolean geonosian) { + this.geonosian = geonosian; + } + } + + public static class EventTeam { + private boolean gcwRaid; + private boolean forceFoolsDay; + private boolean anniversary; + private boolean restussEvent; + private int restussPhase; + private boolean restussProgressionOn; + + EventTeam() {} + + public String toString() { + String output = "\ngcwraid=" + gcwRaid; + output += "\nforceFoolsDay=" + forceFoolsDay; + output += "\nanniversary=" + anniversary; + output += "\nrestussEvent=" + restussEvent; + output += "\nrestussPhase=" + restussPhase; + output += "\nrestussProgressionOn=" + restussProgressionOn; + return output + "\n\n"; + } + + public boolean isGcwRaid() { + return gcwRaid; + } + + public void setGcwRaid(boolean gcwraid) { + this.gcwRaid = gcwraid; + } + + public boolean isForceFoolsDay() { + return forceFoolsDay; + } + + public void setForceFoolsDay(boolean forceFoolsDay) { + this.forceFoolsDay = forceFoolsDay; + } + + public boolean isAnniversary() { + return anniversary; + } + + public void setAnniversary(boolean anniversary) { + this.anniversary = anniversary; + } + + public boolean isRestussEvent() { + return restussEvent; + } + + public void setRestussEvent(boolean restussEvent) { + this.restussEvent = restussEvent; + } + + public int getRestussPhase() { + return restussPhase; + } + + public void setRestussPhase(int restussPhase) { + this.restussPhase = restussPhase; + } + + public boolean isRestussProgressionOn() { + return restussProgressionOn; + } + + public void setRestussProgressionOn(boolean restussProgressionOn) { + this.restussProgressionOn = restussProgressionOn; + } + } + + public static class GameServer { + private String adminAccountDataTable; + private boolean adminGodToAll; + private int adminGodToAllGodLevel; + private boolean adminPersistAllCreates; + private float aiAssistRadius; + private float aiBaseAggroRadius; + private boolean aiClientDebugEnabled; + private float aiLeashRadius; + private boolean aiLoggingEnabled; + private float aiMaxAggroRadius; + private float armorDamageReduction; + private float buddyPointTimeBonus; + private boolean buildoutAreaEditingEnabled; + private int cityCitizenshipInactivePackupInactiveTimeSeconds; + private boolean commoditiesShowAllDebugInfo; + private int craftingXpChance; + private boolean deactivateHarvesterIfDamaged; + private float defaultActionRegen; + private int defaultAutoExpireTargetDuration; + private float defaultHealthRegen; + private boolean disableMissions; + private boolean disableResources; + private boolean disableTravel; + private boolean enableNewVeteranRewards; + private boolean enableOneYearAnniversary; + private boolean enableVeteranRewards; + private int gcwDaysRequiredForGcwRegionDefenderBonus; + private int gcwFactionalPresenceAlignedCityAgeBonusPct; + private int gcwFactionalPresenceAlignedCityBonusPct; + private int gcwFactionalPresenceAlignedCityRankBonusPct; + private int gcwFactionalPresenceGcwRankBonusPct; + private int gcwFactionalPresenceLevelPct; + private int gcwFactionalPresenceMountedPct; + private int gcwGuildMinMembersForGcwRegionDefender; + private int gcwRecalcTimeDayOfWeek; + private int gcwRecalcTimeHour; + private int gcwRecalcTimeMinute; + private int gcwRecalcTimeSecond; + private int gcwRegionDefenderTotalBonusPct; + private int gcwScoreDecayTimeDayOfWeek; + private int gcwScoreDecayTimeHour; + private int gcwScoreDecayTimeMinute; + private int gcwScoreDecayTimeSecond; + private float gcwXpBonus; + private float harvesterExtractionRateMultiplier; + private int houseItemLimitMultiplier; + private int idleLogoutTimeSec; + private boolean javaConsoleDebugMessages; + private boolean javaEngineProfiling; + private String javaVMName; + private List javaOptions; + private float manufactureTimeOverride; + private int maxCombatRange; + private int maxGalacticReserveDepositBillion; + private int maxHouseItemLimit; + private int maxItemAttribBonus; + private int maxLotsPerAccount; + private int maxMoney; + private int maxMoneyTransfer; + private int maxObjectSkillModBonus; + private int maxReimburseAmount; + private int maxSocketSkillModBonus; + private int maxTotalAttribBonus; + private boolean mountsEnabled; + private boolean nameValidationAcceptAll; + private boolean newbieTutorialEnabled; + private boolean pvpDisableCombat; + private int pvpGuildWarCoolDownPeriodTimeMs; + private boolean reportAiWarnings; + private int resourceTimeScale; + private int secondsPerResourceTick; + private boolean sendBreadcrumbs; + private boolean shipsEnabled; + private boolean spawnAllResources; + private int unclaimedAuctionItemDestroyTimeSec; + private int debugMode; + private String serverLoadLevel; + private int suiListLimit; + private boolean createZoneObjects; + private String centralServerAddress; + private String maxGoldNetworkId; + private int scriptWatcherWarnTime; + private int scriptWatcherInterruptTime; + private boolean commoditiesMarketEnabled; + private boolean createAppearances; + private boolean fatalOnGoldPobChange; + private boolean allowMasterObjectCreation; + private int reservedObjectIds; + private boolean enablePreload; + private boolean allowPlayersToPackVendors; + private String grantGift; + private int serverSpawnLimit; + private boolean disableAreaSpawners; + private boolean disablePatrolSpawners; + private boolean veteranDebugEnableOverrideAccountAge; + private boolean veteranDebugTriggerAll; + private int veteranRewardTradeInWaitPeriodSeconds; + private int weatherUpdateSeconds; + private boolean flashSpeederReward; + private int combatUpgradeReward; + private boolean lifeday; + private boolean loveday; + private boolean deleteEventProps; + private boolean halloween; + private boolean foolsDay; + private boolean empireday_ceremony; + private boolean enableCovertImperialMercenary; + private boolean enableOvertImperialMercenary; + private boolean enableCovertRebelMercenary; + private boolean enableOvertRebelMercenary; + private float hibernateDistance; + private boolean hibernateEnabled; + private boolean hibernateProxies; + private boolean gcwCityKeren; + private boolean gcwCityBestine; + private boolean gcwCityDearic; + private int gcwInvasionCityMaximumRunning; + private int gcwInvasionCycleTime; + private boolean sendPlayerTransform; + private int xpMultiplier; + private float chroniclesXpModifier; + private int chroniclesQuestorGoldTokenChanceOverride; + private int chroniclesChroniclerGoldTokenChanceOverride; + private float chroniclesChroniclerSilverTokenNumModifier; + private float chroniclesQuestorSilverTokenNumModifier; + private float gcwPointBonus; + private float gcwTokenBonus; + private int triggerVolumeSystem; + + GameServer() {} + + public String toString() { + String output = "\nadminAccountDataTable=" + adminAccountDataTable; + output += "\nadminGodToAll=" + adminGodToAll; + output += "\nadminGodToAllGodLevel=" + adminGodToAllGodLevel; + output += "\nadminPersistAllCreates=" + adminPersistAllCreates; + output += "\naiAssistRadius=" + aiAssistRadius; + output += "\naiBaseAggroRadius=" + aiBaseAggroRadius; + output += "\naiClientDebugEnabled=" + aiClientDebugEnabled; + output += "\naiLeashRadius=" + aiLeashRadius; + output += "\naiLoggingEnabled=" + aiLoggingEnabled; + output += "\naiMaxAggroRadius=" + aiMaxAggroRadius; + output += "\narmorDamageReduction=" + armorDamageReduction; + output += "\nbuddyPointTimeBonus=" + buddyPointTimeBonus; + output += "\nbuildoutAreaEditingEnabled=" + buildoutAreaEditingEnabled; + output += "\ncityCitizenshipInactivePackupInactiveTimeSeconds=" + cityCitizenshipInactivePackupInactiveTimeSeconds; + output += "\ncommoditiesShowAllDebugInfo=" + commoditiesShowAllDebugInfo; + output += "\ncraftingXpChance=" + craftingXpChance; + output += "\ndeactivateHarvesterIfDamaged=" + deactivateHarvesterIfDamaged; + output += "\ndefaultActionRegen=" + defaultActionRegen; + output += "\ndefaultAutoExpireTargetDuration=" + defaultAutoExpireTargetDuration; + output += "\ndefaultHealthRegen=" + defaultHealthRegen; + output += "\ndisableMissions=" + disableMissions; + output += "\ndisableResources=" + disableResources; + output += "\ndisableTravel=" + disableTravel; + output += "\nenableNewVeteranRewards=" + enableNewVeteranRewards; + output += "\nenableVeteranRewards=" + enableVeteranRewards; + output += "\nenableOneYearAnniversary=" + enableOneYearAnniversary; + output += "\ngcwDaysRequiredForGcwRegionDefenderBonus=" + gcwDaysRequiredForGcwRegionDefenderBonus; + output += "\ngcwFactionalPresenceAlignedCityAgeBonusPct=" + gcwFactionalPresenceAlignedCityAgeBonusPct; + output += "\ngcwFactionalPresenceAlignedCityBonusPct=" + gcwFactionalPresenceAlignedCityBonusPct; + output += "\ngcwFactionalPresenceAlignedCityRankBonusPct=" + gcwFactionalPresenceAlignedCityRankBonusPct; + output += "\ngcwFactionalPresenceGcwRankBonusPct=" + gcwFactionalPresenceGcwRankBonusPct; + output += "\ngcwFactionalPresenceLevelPct=" + gcwFactionalPresenceLevelPct; + output += "\ngcwFactionalPresenceMountedPct=" + gcwFactionalPresenceMountedPct; + output += "\ngcwGuildMinMembersForGcwRegionDefender=" + gcwGuildMinMembersForGcwRegionDefender; + output += "\ngcwRecalcTimeDayOfWeek=" + gcwRecalcTimeDayOfWeek; + output += "\ngcwRecalcTimeHour=" + gcwRecalcTimeHour; + output += "\ngcwRecalcTimeMinute=" + gcwRecalcTimeMinute; + output += "\ngcwRecalcTimeSecond=" + gcwRecalcTimeSecond; + output += "\ngcwRegionDefenderTotalBonusPct=" + gcwRegionDefenderTotalBonusPct; + output += "\ngcwScoreDecayTimeDayOfWeek=" + gcwScoreDecayTimeDayOfWeek; + output += "\ngcwScoreDecayTimeHour=" + gcwScoreDecayTimeHour; + output += "\ngcwScoreDecayTimeMinute=" + gcwScoreDecayTimeMinute; + output += "\ngcwScoreDecayTimeSecond=" + gcwScoreDecayTimeSecond; + output += "\ngcwXpBonus=" + gcwXpBonus; + output += "\nharvesterExtractionRateMultiplier=" + harvesterExtractionRateMultiplier; + output += "\nhouseItemLimitMultiplier=" + houseItemLimitMultiplier; + output += "\nidleLogoutTimeSec=" + idleLogoutTimeSec; + output += "\njavaConsoleDebugMessages=" + javaConsoleDebugMessages; + output += "\njavaEngineProfiling=" + javaEngineProfiling; + output += "\njavaVMName=" + javaVMName; + for(String javaOption : javaOptions) { + output += "\njavaOptions=" + javaOption; + } + output += "\nmanufactureTimeOverride=" + manufactureTimeOverride; + output += "\nmaxCombatRange=" + maxCombatRange; + output += "\nmaxGalacticReserveDepositBillion=" + maxGalacticReserveDepositBillion; + output += "\nmaxHouseItemLimit=" + maxHouseItemLimit; + output += "\nmaxItemAttribBonus=" + maxItemAttribBonus; + output += "\nmaxLotsPerAccount=" + maxLotsPerAccount; + output += "\nmaxMoney=" + maxMoney; + output += "\nmaxMoneyTransfer=" + maxMoneyTransfer; + output += "\nmaxObjectSkillModBonus=" + maxObjectSkillModBonus; + output += "\nmaxReimburseAmount=" + maxReimburseAmount; + output += "\nmaxSocketSkillModBonus=" + maxSocketSkillModBonus; + output += "\nmaxTotalAttribBonus=" + maxTotalAttribBonus; + output += "\nmountsEnabled=" + mountsEnabled; + output += "\nnameValidationAcceptAll=" + nameValidationAcceptAll; + output += "\nnewbieTutorialEnabled=" + newbieTutorialEnabled; + output += "\npvpDisableCombat=" + pvpDisableCombat; + output += "\npvpGuildWarCoolDownPeriodTimeMs=" + pvpGuildWarCoolDownPeriodTimeMs; + output += "\nreportAiWarnings=" + reportAiWarnings; + output += "\nresourceTimeScale=" + resourceTimeScale; + output += "\nsecondsPerResourceTick=" + secondsPerResourceTick; + output += "\nsendBreadcrumbs=" + sendBreadcrumbs; + output += "\nshipsEnabled=" + shipsEnabled; + output += "\nspawnAllResources=" + spawnAllResources; + output += "\ndebugMode=" + debugMode; + output += "\nserverLoadLevel=" + serverLoadLevel; + output += "\nsuiListLimit=" + suiListLimit; + output += "\ncreateZoneObjects=" + createZoneObjects; + output += "\ncentralServerAddress=" + centralServerAddress; + output += "\nmaxGoldNetworkId=" + maxGoldNetworkId; + output += "\nscriptWatcherWarnTime=" + scriptWatcherWarnTime; + output += "\nscriptWatcherInterruptTime=" + scriptWatcherInterruptTime; + output += "\ncommoditiesMarketEnabled=" + commoditiesMarketEnabled; + output += "\ncreateAppearances=" + createAppearances; + output += "\nfatalOnGoldPobChange=" + fatalOnGoldPobChange; + output += "\nallowMasterObjectCreation=" + allowMasterObjectCreation; + output += "\nreservedObjectIds=" + reservedObjectIds; + output += "\nenablePreload=" + enablePreload; + output += "\nallowPlayersToPackVendors=" + allowPlayersToPackVendors; + output += "\ngrantGift=" + grantGift; + output += "\nserverSpawnLimit=" + serverSpawnLimit; + output += "\ndisableAreaSpawners=" + disableAreaSpawners; + output += "\ndisablePatrolSpawners=" + disablePatrolSpawners; + output += "\nveteranDebugTriggerAll=" + veteranDebugTriggerAll; + output += "\nveteranDebugEnableOverrideAccountAge=" + veteranDebugEnableOverrideAccountAge; + output += "\nflashSpeederReward=" + flashSpeederReward; + output += "\ncombatUpgradeReward=" + combatUpgradeReward; + output += "\nlifeday=" + lifeday; + output += "\nloveday=" + loveday; + output += "\ndeleteEventProps=" + deleteEventProps; + output += "\nhalloween=" + halloween; + output += "\nfoolsDay=" + foolsDay; + output += "\nempireday_ceremony=" + empireday_ceremony; + output += "\nenableCovertImperialMercenary=" + enableCovertImperialMercenary; + output += "\nenableOvertImperialMercenary=" + enableOvertImperialMercenary; + output += "\nenableCovertRebelMercenary=" + enableCovertRebelMercenary; + output += "\nenableOvertRebelMercenary=" + enableOvertRebelMercenary; + output += "\nhibernateDistance=" + hibernateDistance; + output += "\nhibernateEnabled=" + hibernateEnabled; + output += "\nhibernateProxies=" + hibernateProxies; + output += "\ngcwcitykeren=" + gcwCityKeren; + output += "\ngcwcitybestine=" + gcwCityBestine; + output += "\ngcwcitydearic=" + gcwCityDearic; + output += "\ngcwInvasionCityMaximumRunning=" + gcwInvasionCityMaximumRunning; + output += "\ngcwInvasionCycleTime=" + gcwInvasionCycleTime; + output += "\nsendPlayerTransform=" + sendPlayerTransform; + output += "\nxpMultiplier=" + xpMultiplier; + output += "\nchroniclesXpModifier=" + chroniclesXpModifier; + output += "\nchroniclesQuestorGoldTokenChanceOverride=" + chroniclesQuestorGoldTokenChanceOverride; + output += "\nchroniclesChroniclerGoldTokenChanceOverride=" + chroniclesChroniclerGoldTokenChanceOverride; + output += "\nchroniclesChroniclerSilverTokenNumModifier=" + chroniclesChroniclerSilverTokenNumModifier; + output += "\nchroniclesQuestorSilverTokenNumModifier=" + chroniclesQuestorSilverTokenNumModifier; + output += "\ngcwPointBonus=" + gcwPointBonus; + output += "\ngcwTokenBonus=" + gcwTokenBonus; + output += "\ntriggerVolumeSystem=" + triggerVolumeSystem; + output += "\nunclaimedAuctionItemDestroyTimeSec=" + unclaimedAuctionItemDestroyTimeSec; + output += "\nveteranRewardTradeInWaitPeriodSeconds=" + veteranRewardTradeInWaitPeriodSeconds; + output += "\nweatherUpdateSeconds=" + weatherUpdateSeconds; + return output + "\n\n"; + } + + public boolean isEnableOneYearAnniversary() { + return enableOneYearAnniversary; + } + + public void setEnableOneYearAnniversary(boolean enableOneYearAnniversary) { + this.enableOneYearAnniversary = enableOneYearAnniversary; + } + + public boolean isNewbieTutorialEnabled() { + return newbieTutorialEnabled; + } + + public void setNewbieTutorialEnabled(boolean newbieTutorialEnabled) { + this.newbieTutorialEnabled = newbieTutorialEnabled; + } + + public int getUnclaimedAuctionItemDestroyTimeSec() { + return unclaimedAuctionItemDestroyTimeSec; + } + + public void setUnclaimedAuctionItemDestroyTimeSec(int unclaimedAuctionItemDestroyTimeSec) { + this.unclaimedAuctionItemDestroyTimeSec = unclaimedAuctionItemDestroyTimeSec; + } + + public int getVeteranRewardTradeInWaitPeriodSeconds() { + return veteranRewardTradeInWaitPeriodSeconds; + } + + public void setVeteranRewardTradeInWaitPeriodSeconds(int veteranRewardTradeInWaitPeriodSeconds) { + this.veteranRewardTradeInWaitPeriodSeconds = veteranRewardTradeInWaitPeriodSeconds; + } + + public int getWeatherUpdateSeconds() { + return weatherUpdateSeconds; + } + + public void setWeatherUpdateSeconds(int weatherUpdateSeconds) { + this.weatherUpdateSeconds = weatherUpdateSeconds; + } + + public String getAdminAccountDataTable() { + return adminAccountDataTable; + } + + public void setAdminAccountDataTable(String adminAccountDataTable) { + this.adminAccountDataTable = adminAccountDataTable; + } + + public boolean isAdminGodToAll() { + return adminGodToAll; + } + + public void setAdminGodToAll(boolean adminGodToAll) { + this.adminGodToAll = adminGodToAll; + } + + public int getAdminGodToAllGodLevel() { + return adminGodToAllGodLevel; + } + + public void setAdminGodToAllGodLevel(int adminGodToAllGodLevel) { + this.adminGodToAllGodLevel = adminGodToAllGodLevel; + } + + public int getDebugMode() { + return debugMode; + } + + public void setDebugMode(int debugMode) { + this.debugMode = debugMode; + } + + public String getServerLoadLevel() { + return serverLoadLevel; + } + + public void setServerLoadLevel(String serverLoadLevel) { + this.serverLoadLevel = serverLoadLevel; + } + + public int getIdleLogoutTimeSec() { + return idleLogoutTimeSec; + } + + public void setIdleLogoutTimeSec(int idleLogoutTimeSec) { + this.idleLogoutTimeSec = idleLogoutTimeSec; + } + + public int getSuiListLimit() { + return suiListLimit; + } + + public void setSuiListLimit(int suiListLimit) { + this.suiListLimit = suiListLimit; + } + + public boolean getCreateZoneObjects() { + return createZoneObjects; + } + + public void setCreateZoneObjects(boolean createZoneObjects) { + this.createZoneObjects = createZoneObjects; + } + + public String getCentralServerAddress() { + return centralServerAddress; + } + + public void setCentralServerAddress(String centralServerAddress) { + this.centralServerAddress = centralServerAddress; + } + + public boolean isJavaConsoleDebugMessages() { + return javaConsoleDebugMessages; + } + + public void setJavaConsoleDebugMessages(boolean javaConsoleDebugMessages) { + this.javaConsoleDebugMessages = javaConsoleDebugMessages; + } + + public boolean isJavaEngineProfiling() { + return javaEngineProfiling; + } + + public void setJavaEngineProfiling(boolean javaEngineProfiling) { + this.javaEngineProfiling = javaEngineProfiling; + } + + public String getJavaVMName() { + return javaVMName; + } + + public void setJavaVMName(String javaVMName) { + this.javaVMName = javaVMName; + } + + public List getJavaOptions() { + return javaOptions; + } + + public void setJavaOptions(List javaOptions) { + this.javaOptions = javaOptions; + } + + public String getMaxGoldNetworkId() { + return maxGoldNetworkId; + } + + public void setMaxGoldNetworkId(String maxGoldNetworkId) { + this.maxGoldNetworkId = maxGoldNetworkId; + } + + public boolean isNameValidationAcceptAll() { + return nameValidationAcceptAll; + } + + public void setNameValidationAcceptAll(boolean nameValidationAcceptAll) { + this.nameValidationAcceptAll = nameValidationAcceptAll; + } + + public int getScriptWatcherWarnTime() { + return scriptWatcherWarnTime; + } + + public void setScriptWatcherWarnTime(int scriptWatcherWarnTime) { + this.scriptWatcherWarnTime = scriptWatcherWarnTime; + } + + public int getScriptWatcherInterruptTime() { + return scriptWatcherInterruptTime; + } + + public void setScriptWatcherInterruptTime(int scriptWatcherInterruptTime) { + this.scriptWatcherInterruptTime = scriptWatcherInterruptTime; + } + + public boolean isCommoditiesMarketEnabled() { + return commoditiesMarketEnabled; + } + + public void setCommoditiesMarketEnabled(boolean commoditiesMarketEnabled) { + this.commoditiesMarketEnabled = commoditiesMarketEnabled; + } + + public boolean isCreateAppearances() { + return createAppearances; + } + + public void setCreateAppearances(boolean createAppearances) { + this.createAppearances = createAppearances; + } + + public boolean isFatalOnGoldPobChange() { + return fatalOnGoldPobChange; + } + + public void setFatalOnGoldPobChange(boolean fatalOnGoldPobChange) { + this.fatalOnGoldPobChange = fatalOnGoldPobChange; + } + + public boolean isAllowMasterObjectCreation() { + return allowMasterObjectCreation; + } + + public void setAllowMasterObjectCreation(boolean allowMasterObjectCreation) { + this.allowMasterObjectCreation = allowMasterObjectCreation; + } + + public int getReservedObjectIds() { + return reservedObjectIds; + } + + public void setReservedObjectIds(int reservedObjectIds) { + this.reservedObjectIds = reservedObjectIds; + } + + public boolean isEnablePreload() { + return enablePreload; + } + + public void setEnablePreload(boolean enablePreload) { + this.enablePreload = enablePreload; + } + + public boolean isAllowPlayersToPackVendors() { + return allowPlayersToPackVendors; + } + + public void setAllowPlayersToPackVendors(boolean allowPlayersToPackVendors) { + this.allowPlayersToPackVendors = allowPlayersToPackVendors; + } + + public float getManufactureTimeOverride() { + return manufactureTimeOverride; + } + + public void setManufactureTimeOverride(float manufactureTimeOverride) { + this.manufactureTimeOverride = manufactureTimeOverride; + } + + public boolean isDisableResources() { + return disableResources; + } + + public void setDisableResources(boolean disableResources) { + this.disableResources = disableResources; + } + + public boolean isSpawnAllResources() { + return spawnAllResources; + } + + public void setSpawnAllResources(boolean spawnAllResources) { + this.spawnAllResources = spawnAllResources; + } + + public String getGrantGift() { + return grantGift; + } + + public void setGrantGift(String grantGift) { + this.grantGift = grantGift; + } + + public int getMaxSocketSkillModBonus() { + return maxSocketSkillModBonus; + } + + public void setMaxSocketSkillModBonus(int maxSocketSkillModBonus) { + this.maxSocketSkillModBonus = maxSocketSkillModBonus; + } + + public int getMaxObjectSkillModBonus() { + return maxObjectSkillModBonus; + } + + public void setMaxObjectSkillModBonus(int maxObjectSkillModBonus) { + this.maxObjectSkillModBonus = maxObjectSkillModBonus; + } + + public int getMaxItemAttribBonus() { + return maxItemAttribBonus; + } + + public void setMaxItemAttribBonus(int maxItemAttribBonus) { + this.maxItemAttribBonus = maxItemAttribBonus; + } + + public boolean isCreateZoneObjects() { + return createZoneObjects; + } + + public int getMaxTotalAttribBonus() { + return maxTotalAttribBonus; + } + + public void setMaxTotalAttribBonus(int maxTotalAttribBonus) { + this.maxTotalAttribBonus = maxTotalAttribBonus; + } + + public boolean isAiLoggingEnabled() { + return aiLoggingEnabled; + } + + public void setAiLoggingEnabled(boolean aiLoggingEnabled) { + this.aiLoggingEnabled = aiLoggingEnabled; + } + + public int getServerSpawnLimit() { + return serverSpawnLimit; + } + + public void setServerSpawnLimit(int serverSpawnLimit) { + this.serverSpawnLimit = serverSpawnLimit; + } + + public boolean isDisableAreaSpawners() { + return disableAreaSpawners; + } + + public void setDisableAreaSpawners(boolean disableAreaSpawners) { + this.disableAreaSpawners = disableAreaSpawners; + } + + public boolean isDisablePatrolSpawners() { + return disablePatrolSpawners; + } + + public void setDisablePatrolSpawners(boolean disablePatrolSpawners) { + this.disablePatrolSpawners = disablePatrolSpawners; + } + + public float getHarvesterExtractionRateMultiplier() { + return harvesterExtractionRateMultiplier; + } + + public void setHarvesterExtractionRateMultiplier(float harvesterExtractionRateMultiplier) { + this.harvesterExtractionRateMultiplier = harvesterExtractionRateMultiplier; + } + + public boolean isEnableVeteranRewards() { + return enableVeteranRewards; + } + + public void setEnableVeteranRewards(boolean enableVeteranRewards) { + this.enableVeteranRewards = enableVeteranRewards; + } + + public boolean isVeteranDebugTriggerAll() { + return veteranDebugTriggerAll; + } + + public void setVeteranDebugTriggerAll(boolean veteranDebugTriggerAll) { + this.veteranDebugTriggerAll = veteranDebugTriggerAll; + } + + public boolean isVeteranDebugEnableOverrideAccountAge() { + return veteranDebugEnableOverrideAccountAge; + } + + public void setVeteranDebugEnableOverrideAccountAge(boolean veteranDebugEnableOverrideAccountAge) { + this.veteranDebugEnableOverrideAccountAge = veteranDebugEnableOverrideAccountAge; + } + + public boolean isFlashSpeederReward() { + return flashSpeederReward; + } + + public void setFlashSpeederReward(boolean flashSpeederReward) { + this.flashSpeederReward = flashSpeederReward; + } + + public int getCombatUpgradeReward() { + return combatUpgradeReward; + } + + public void setCombatUpgradeReward(int combatUpgradeReward) { + this.combatUpgradeReward = combatUpgradeReward; + } + + public boolean isLifeday() { + return lifeday; + } + + public void setLifeday(boolean lifeday) { + this.lifeday = lifeday; + } + + public boolean isLoveday() { + return loveday; + } + + public void setLoveday(boolean loveday) { + this.loveday = loveday; + } + + public boolean isDeleteEventProps() { + return deleteEventProps; + } + + public void setDeleteEventProps(boolean deleteEventProps) { + this.deleteEventProps = deleteEventProps; + } + + public boolean isHalloween() { + return halloween; + } + + public void setHalloween(boolean halloween) { + this.halloween = halloween; + } + + public boolean isFoolsDay() { + return foolsDay; + } + + public void setFoolsDay(boolean foolsDay) { + this.foolsDay = foolsDay; + } + + public boolean isEmpireday_ceremony() { + return empireday_ceremony; + } + + public void setEmpireday_ceremony(boolean empireday_ceremony) { + this.empireday_ceremony = empireday_ceremony; + } + + public boolean isEnableCovertImperialMercenary() { + return enableCovertImperialMercenary; + } + + public void setEnableCovertImperialMercenary(boolean enableCovertImperialMercenary) { + this.enableCovertImperialMercenary = enableCovertImperialMercenary; + } + + public boolean isEnableOvertImperialMercenary() { + return enableOvertImperialMercenary; + } + + public void setEnableOvertImperialMercenary(boolean enableOvertImperialMercenary) { + this.enableOvertImperialMercenary = enableOvertImperialMercenary; + } + + public boolean isEnableCovertRebelMercenary() { + return enableCovertRebelMercenary; + } + + public void setEnableCovertRebelMercenary(boolean enableCovertRebelMercenary) { + this.enableCovertRebelMercenary = enableCovertRebelMercenary; + } + + public boolean isEnableOvertRebelMercenary() { + return enableOvertRebelMercenary; + } + + public void setEnableOvertRebelMercenary(boolean enableOvertRebelMercenary) { + this.enableOvertRebelMercenary = enableOvertRebelMercenary; + } + + public float getHibernateDistance() { + return hibernateDistance; + } + + public void setHibernateDistance(float hibernateDistance) { + this.hibernateDistance = hibernateDistance; + } + + public boolean isHibernateEnabled() { + return hibernateEnabled; + } + + public void setHibernateEnabled(boolean hibernateEnabled) { + this.hibernateEnabled = hibernateEnabled; + } + + public boolean isHibernateProxies() { + return hibernateProxies; + } + + public void setHibernateProxies(boolean hibernateProxies) { + this.hibernateProxies = hibernateProxies; + } + + public boolean isGcwCityKeren() { + return gcwCityKeren; + } + + public void setGcwCityKeren(boolean gcwCityKeren) { + this.gcwCityKeren = gcwCityKeren; + } + + public boolean isGcwCityBestine() { + return gcwCityBestine; + } + + public void setGcwCityBestine(boolean gcwCityBestine) { + this.gcwCityBestine = gcwCityBestine; + } + + public boolean isGcwCityDearic() { + return gcwCityDearic; + } + + public void setGcwCityDearic(boolean gcwCityDearic) { + this.gcwCityDearic = gcwCityDearic; + } + + public int getGcwInvasionCityMaximumRunning() { + return gcwInvasionCityMaximumRunning; + } + + public void setGcwInvasionCityMaximumRunning(int gcwInvasionCityMaximumRunning) { + this.gcwInvasionCityMaximumRunning = gcwInvasionCityMaximumRunning; + } + + public int getGcwInvasionCycleTime() { + return gcwInvasionCycleTime; + } + + public void setGcwInvasionCycleTime(int gcwInvasionCycleTime) { + this.gcwInvasionCycleTime = gcwInvasionCycleTime; + } + + public boolean isMountsEnabled() { + return mountsEnabled; + } + + public void setMountsEnabled(boolean mountsEnabled) { + this.mountsEnabled = mountsEnabled; + } + + public boolean isSendBreadcrumbs() { + return sendBreadcrumbs; + } + + public void setSendBreadcrumbs(boolean sendBreadcrumbs) { + this.sendBreadcrumbs = sendBreadcrumbs; + } + + public boolean isSendPlayerTransform() { + return sendPlayerTransform; + } + + public void setSendPlayerTransform(boolean sendPlayerTransform) { + this.sendPlayerTransform = sendPlayerTransform; + } + + public int getXpMultiplier() { + return xpMultiplier; + } + + public void setXpMultiplier(int xpMultiplier) { + this.xpMultiplier = xpMultiplier; + } + + public float getChroniclesXpModifier() { + return chroniclesXpModifier; + } + + public void setChroniclesXpModifier(float chroniclesXpModifier) { + this.chroniclesXpModifier = chroniclesXpModifier; + } + + public int getChroniclesQuestorGoldTokenChanceOverride() { + return chroniclesQuestorGoldTokenChanceOverride; + } + + public void setChroniclesQuestorGoldTokenChanceOverride(int chroniclesQuestorGoldTokenChanceOverride) { + this.chroniclesQuestorGoldTokenChanceOverride = chroniclesQuestorGoldTokenChanceOverride; + } + + public int getChroniclesChroniclerGoldTokenChanceOverride() { + return chroniclesChroniclerGoldTokenChanceOverride; + } + + public void setChroniclesChroniclerGoldTokenChanceOverride(int chroniclesChroniclerGoldTokenChanceOverride) { + this.chroniclesChroniclerGoldTokenChanceOverride = chroniclesChroniclerGoldTokenChanceOverride; + } + + public float getChroniclesChroniclerSilverTokenNumModifier() { + return chroniclesChroniclerSilverTokenNumModifier; + } + + public void setChroniclesChroniclerSilverTokenNumModifier(float chroniclesChroniclerSilverTokenNumModifier) { + this.chroniclesChroniclerSilverTokenNumModifier = chroniclesChroniclerSilverTokenNumModifier; + } + + public float getChroniclesQuestorSilverTokenNumModifier() { + return chroniclesQuestorSilverTokenNumModifier; + } + + public void setChroniclesQuestorSilverTokenNumModifier(float chroniclesQuestorSilverTokenNumModifier) { + this.chroniclesQuestorSilverTokenNumModifier = chroniclesQuestorSilverTokenNumModifier; + } + + public float getGcwPointBonus() { + return gcwPointBonus; + } + + public void setGcwPointBonus(float gcwPointBonus) { + this.gcwPointBonus = gcwPointBonus; + } + + public float getGcwTokenBonus() { + return gcwTokenBonus; + } + + public void setGcwTokenBonus(float gcwTokenBonus) { + this.gcwTokenBonus = gcwTokenBonus; + } + + public int getTriggerVolumeSystem() { + return triggerVolumeSystem; + } + + public void setTriggerVolumeSystem(int triggerVolumeSystem) { + this.triggerVolumeSystem = triggerVolumeSystem; + } + + public boolean isAdminPersistAllCreates() { + return adminPersistAllCreates; + } + + public void setAdminPersistAllCreates(boolean adminPersistAllCreates) { + this.adminPersistAllCreates = adminPersistAllCreates; + } + + public float getAiAssistRadius() { + return aiAssistRadius; + } + + public void setAiAssistRadius(float aiAssistRadius) { + this.aiAssistRadius = aiAssistRadius; + } + + public float getAiBaseAggroRadius() { + return aiBaseAggroRadius; + } + + public void setAiBaseAggroRadius(float aiBaseAggroRadius) { + this.aiBaseAggroRadius = aiBaseAggroRadius; + } + + public boolean isAiClientDebugEnabled() { + return aiClientDebugEnabled; + } + + public void setAiClientDebugEnabled(boolean aiClientDebugEnabled) { + this.aiClientDebugEnabled = aiClientDebugEnabled; + } + + public float getAiLeashRadius() { + return aiLeashRadius; + } + + public void setAiLeashRadius(float aiLeashRadius) { + this.aiLeashRadius = aiLeashRadius; + } + + public float getAiMaxAggroRadius() { + return aiMaxAggroRadius; + } + + public void setAiMaxAggroRadius(float aiMaxAggroRadius) { + this.aiMaxAggroRadius = aiMaxAggroRadius; + } + + public float getArmorDamageReduction() { + return armorDamageReduction; + } + + public void setArmorDamageReduction(float armorDamageReduction) { + this.armorDamageReduction = armorDamageReduction; + } + + public float getBuddyPointTimeBonus() { + return buddyPointTimeBonus; + } + + public void setBuddyPointTimeBonus(float buddyPointTimeBonus) { + this.buddyPointTimeBonus = buddyPointTimeBonus; + } + + public boolean isBuildoutAreaEditingEnabled() { + return buildoutAreaEditingEnabled; + } + + public void setBuildoutAreaEditingEnabled(boolean buildoutAreaEditingEnabled) { + this.buildoutAreaEditingEnabled = buildoutAreaEditingEnabled; + } + + public int getCityCitizenshipInactivePackupInactiveTimeSeconds() { + return cityCitizenshipInactivePackupInactiveTimeSeconds; + } + + public void setCityCitizenshipInactivePackupInactiveTimeSeconds(int cityCitizenshipInactivePackupInactiveTimeSeconds) { + this.cityCitizenshipInactivePackupInactiveTimeSeconds = cityCitizenshipInactivePackupInactiveTimeSeconds; + } + + public boolean isCommoditiesShowAllDebugInfo() { + return commoditiesShowAllDebugInfo; + } + + public void setCommoditiesShowAllDebugInfo(boolean commoditiesShowAllDebugInfo) { + this.commoditiesShowAllDebugInfo = commoditiesShowAllDebugInfo; + } + + public int getCraftingXpChance() { + return craftingXpChance; + } + + public void setCraftingXpChance(int craftingXpChance) { + this.craftingXpChance = craftingXpChance; + } + + public boolean isDeactivateHarvesterIfDamaged() { + return deactivateHarvesterIfDamaged; + } + + public void setDeactivateHarvesterIfDamaged(boolean deactivateHarvesterIfDamaged) { + this.deactivateHarvesterIfDamaged = deactivateHarvesterIfDamaged; + } + + public float getDefaultActionRegen() { + return defaultActionRegen; + } + + public void setDefaultActionRegen(float defaultActionRegen) { + this.defaultActionRegen = defaultActionRegen; + } + + public int getDefaultAutoExpireTargetDuration() { + return defaultAutoExpireTargetDuration; + } + + public void setDefaultAutoExpireTargetDuration(int defaultAutoExpireTargetDuration) { + this.defaultAutoExpireTargetDuration = defaultAutoExpireTargetDuration; + } + + public float getDefaultHealthRegen() { + return defaultHealthRegen; + } + + public void setDefaultHealthRegen(float defaultHealthRegen) { + this.defaultHealthRegen = defaultHealthRegen; + } + + public boolean isDisableMissions() { + return disableMissions; + } + + public void setDisableMissions(boolean disableMissions) { + this.disableMissions = disableMissions; + } + + public boolean isDisableTravel() { + return disableTravel; + } + + public void setDisableTravel(boolean disableTravel) { + this.disableTravel = disableTravel; + } + + public boolean isEnableNewVeteranRewards() { + return enableNewVeteranRewards; + } + + public void setEnableNewVeteranRewards(boolean enableNewVeteranRewards) { + this.enableNewVeteranRewards = enableNewVeteranRewards; + } + + public int getGcwDaysRequiredForGcwRegionDefenderBonus() { + return gcwDaysRequiredForGcwRegionDefenderBonus; + } + + public void setGcwDaysRequiredForGcwRegionDefenderBonus(int gcwDaysRequiredForGcwRegionDefenderBonus) { + this.gcwDaysRequiredForGcwRegionDefenderBonus = gcwDaysRequiredForGcwRegionDefenderBonus; + } + + public int getGcwFactionalPresenceAlignedCityAgeBonusPct() { + return gcwFactionalPresenceAlignedCityAgeBonusPct; + } + + public void setGcwFactionalPresenceAlignedCityAgeBonusPct(int gcwFactionalPresenceAlignedCityAgeBonusPct) { + this.gcwFactionalPresenceAlignedCityAgeBonusPct = gcwFactionalPresenceAlignedCityAgeBonusPct; + } + + public int getGcwFactionalPresenceAlignedCityBonusPct() { + return gcwFactionalPresenceAlignedCityBonusPct; + } + + public void setGcwFactionalPresenceAlignedCityBonusPct(int gcwFactionalPresenceAlignedCityBonusPct) { + this.gcwFactionalPresenceAlignedCityBonusPct = gcwFactionalPresenceAlignedCityBonusPct; + } + + public int getGcwFactionalPresenceAlignedCityRankBonusPct() { + return gcwFactionalPresenceAlignedCityRankBonusPct; + } + + public void setGcwFactionalPresenceAlignedCityRankBonusPct(int gcwFactionalPresenceAlignedCityRankBonusPct) { + this.gcwFactionalPresenceAlignedCityRankBonusPct = gcwFactionalPresenceAlignedCityRankBonusPct; + } + + public int getGcwFactionalPresenceGcwRankBonusPct() { + return gcwFactionalPresenceGcwRankBonusPct; + } + + public void setGcwFactionalPresenceGcwRankBonusPct(int gcwFactionalPresenceGcwRankBonusPct) { + this.gcwFactionalPresenceGcwRankBonusPct = gcwFactionalPresenceGcwRankBonusPct; + } + + public int getGcwFactionalPresenceLevelPct() { + return gcwFactionalPresenceLevelPct; + } + + public void setGcwFactionalPresenceLevelPct(int gcwFactionalPresenceLevelPct) { + this.gcwFactionalPresenceLevelPct = gcwFactionalPresenceLevelPct; + } + + public int getGcwFactionalPresenceMountedPct() { + return gcwFactionalPresenceMountedPct; + } + + public void setGcwFactionalPresenceMountedPct(int gcwFactionalPresenceMountedPct) { + this.gcwFactionalPresenceMountedPct = gcwFactionalPresenceMountedPct; + } + + public int getGcwGuildMinMembersForGcwRegionDefender() { + return gcwGuildMinMembersForGcwRegionDefender; + } + + public void setGcwGuildMinMembersForGcwRegionDefender(int gcwGuildMinMembersForGcwRegionDefender) { + this.gcwGuildMinMembersForGcwRegionDefender = gcwGuildMinMembersForGcwRegionDefender; + } + + public int getGcwRecalcTimeDayOfWeek() { + return gcwRecalcTimeDayOfWeek; + } + + public void setGcwRecalcTimeDayOfWeek(int gcwRecalcTimeDayOfWeek) { + this.gcwRecalcTimeDayOfWeek = gcwRecalcTimeDayOfWeek; + } + + public int getGcwRecalcTimeHour() { + return gcwRecalcTimeHour; + } + + public void setGcwRecalcTimeHour(int gcwRecalcTimeHour) { + this.gcwRecalcTimeHour = gcwRecalcTimeHour; + } + + public int getGcwRecalcTimeMinute() { + return gcwRecalcTimeMinute; + } + + public void setGcwRecalcTimeMinute(int gcwRecalcTimeMinute) { + this.gcwRecalcTimeMinute = gcwRecalcTimeMinute; + } + + public int getGcwRecalcTimeSecond() { + return gcwRecalcTimeSecond; + } + + public void setGcwRecalcTimeSecond(int gcwRecalcTimeSecond) { + this.gcwRecalcTimeSecond = gcwRecalcTimeSecond; + } + + public int getGcwRegionDefenderTotalBonusPct() { + return gcwRegionDefenderTotalBonusPct; + } + + public void setGcwRegionDefenderTotalBonusPct(int gcwRegionDefenderTotalBonusPct) { + this.gcwRegionDefenderTotalBonusPct = gcwRegionDefenderTotalBonusPct; + } + + public int getGcwScoreDecayTimeDayOfWeek() { + return gcwScoreDecayTimeDayOfWeek; + } + + public void setGcwScoreDecayTimeDayOfWeek(int gcwScoreDecayTimeDayOfWeek) { + this.gcwScoreDecayTimeDayOfWeek = gcwScoreDecayTimeDayOfWeek; + } + + public int getGcwScoreDecayTimeHour() { + return gcwScoreDecayTimeHour; + } + + public void setGcwScoreDecayTimeHour(int gcwScoreDecayTimeHour) { + this.gcwScoreDecayTimeHour = gcwScoreDecayTimeHour; + } + + public int getGcwScoreDecayTimeMinute() { + return gcwScoreDecayTimeMinute; + } + + public void setGcwScoreDecayTimeMinute(int gcwScoreDecayTimeMinute) { + this.gcwScoreDecayTimeMinute = gcwScoreDecayTimeMinute; + } + + public int getGcwScoreDecayTimeSecond() { + return gcwScoreDecayTimeSecond; + } + + public void setGcwScoreDecayTimeSecond(int gcwScoreDecayTimeSecond) { + this.gcwScoreDecayTimeSecond = gcwScoreDecayTimeSecond; + } + + public float getGcwXpBonus() { + return gcwXpBonus; + } + + public void setGcwXpBonus(float gcwXpBonus) { + this.gcwXpBonus = gcwXpBonus; + } + + public int getHouseItemLimitMultiplier() { + return houseItemLimitMultiplier; + } + + public void setHouseItemLimitMultiplier(int houseItemLimitMultiplier) { + this.houseItemLimitMultiplier = houseItemLimitMultiplier; + } + + public int getMaxCombatRange() { + return maxCombatRange; + } + + public void setMaxCombatRange(int maxCombatRange) { + this.maxCombatRange = maxCombatRange; + } + + public int getMaxGalacticReserveDepositBillion() { + return maxGalacticReserveDepositBillion; + } + + public void setMaxGalacticReserveDepositBillion(int maxGalacticReserveDepositBillion) { + this.maxGalacticReserveDepositBillion = maxGalacticReserveDepositBillion; + } + + public int getMaxHouseItemLimit() { + return maxHouseItemLimit; + } + + public void setMaxHouseItemLimit(int maxHouseItemLimit) { + this.maxHouseItemLimit = maxHouseItemLimit; + } + + public int getMaxLotsPerAccount() { + return maxLotsPerAccount; + } + + public void setMaxLotsPerAccount(int maxLotsPerAccount) { + this.maxLotsPerAccount = maxLotsPerAccount; + } + + public int getMaxMoney() { + return maxMoney; + } + + public void setMaxMoney(int maxMoney) { + this.maxMoney = maxMoney; + } + + public int getMaxMoneyTransfer() { + return maxMoneyTransfer; + } + + public void setMaxMoneyTransfer(int maxMoneyTransfer) { + this.maxMoneyTransfer = maxMoneyTransfer; + } + + public int getMaxReimburseAmount() { + return maxReimburseAmount; + } + + public void setMaxReimburseAmount(int maxReimburseAmount) { + this.maxReimburseAmount = maxReimburseAmount; + } + + public boolean isPvpDisableCombat() { + return pvpDisableCombat; + } + + public void setPvpDisableCombat(boolean pvpDisableCombat) { + this.pvpDisableCombat = pvpDisableCombat; + } + + public int getPvpGuildWarCoolDownPeriodTimeMs() { + return pvpGuildWarCoolDownPeriodTimeMs; + } + + public void setPvpGuildWarCoolDownPeriodTimeMs(int pvpGuildWarCoolDownPeriodTimeMs) { + this.pvpGuildWarCoolDownPeriodTimeMs = pvpGuildWarCoolDownPeriodTimeMs; + } + + public boolean isReportAiWarnings() { + return reportAiWarnings; + } + + public void setReportAiWarnings(boolean reportAiWarnings) { + this.reportAiWarnings = reportAiWarnings; + } + + public int getResourceTimeScale() { + return resourceTimeScale; + } + + public void setResourceTimeScale(int resourceTimeScale) { + this.resourceTimeScale = resourceTimeScale; + } + + public int getSecondsPerResourceTick() { + return secondsPerResourceTick; + } + + public void setSecondsPerResourceTick(int secondsPerResourceTick) { + this.secondsPerResourceTick = secondsPerResourceTick; + } + + public boolean isShipsEnabled() { + return shipsEnabled; + } + + public void setShipsEnabled(boolean shipsEnabled) { + this.shipsEnabled = shipsEnabled; + } + } + + public static class CharacterBuilder { + private boolean builderEnabled; + private boolean devEnabled; + private boolean weaponsEnabled; + private boolean armorEnabled; + private boolean skillsEnabled; + private boolean commandsEnabled; + private boolean resourcesEnabled; + private boolean creditsEnabled; + private boolean factionEnabled; + private boolean vehiclesEnabled; + private boolean shipsEnabled; + private boolean craftingEnabled; + private boolean deedsEnabled; + private boolean pahallEnabled; + private boolean miscitemEnabled; + private boolean jediEnabled; + private boolean BestResourcesEnabled; + private boolean HeroicFlagEnabled; + private boolean DraftSchematicsEnabled; + private boolean buffsEnabled; + private boolean warpsEnabled; + private boolean questEnabled; + private boolean petsEnabled; + private int itvMinUsageLevel; + + CharacterBuilder() {} + + public String toString() { + String output = "\nbuilderEnabled=" + builderEnabled; + output += "\ndevEnabled=" + devEnabled; + output += "\nweaponsEnabled=" + weaponsEnabled; + output += "\narmorEnabled=" + armorEnabled; + output += "\nskillsEnabled=" + skillsEnabled; + output += "\ncommandsEnabled=" + commandsEnabled; + output += "\nresourcesEnabled=" + resourcesEnabled; + output += "\ncreditsEnabled=" + creditsEnabled; + output += "\nfactionEnabled=" + factionEnabled; + output += "\nvehiclesEnabled=" + vehiclesEnabled; + output += "\nshipsEnabled=" + shipsEnabled; + output += "\ncraftingEnabled=" + craftingEnabled; + output += "\ndeedsEnabled=" + deedsEnabled; + output += "\npahallEnabled=" + pahallEnabled; + output += "\nmiscitemEnabled=" + miscitemEnabled; + output += "\njediEnabled=" + jediEnabled; + output += "\nBestResourcesEnabled=" + BestResourcesEnabled; + output += "\nHeroicFlagEnabled=" + HeroicFlagEnabled; + output += "\nDraftSchematicsEnabled=" + DraftSchematicsEnabled; + output += "\nbuffsEnabled=" + buffsEnabled; + output += "\nwarpsEnabled=" + warpsEnabled; + output += "\nquestEnabled=" + questEnabled; + output += "\npetsEnabled=" + petsEnabled; + output += "\nitvMinUsageLevel=" + itvMinUsageLevel; + return output + "\n\n"; + } + + public int getItvMinUsageLevel() { + return itvMinUsageLevel; + } + + public boolean isBuilderEnabled() { + return builderEnabled; + } + + public void setBuilderEnabled(boolean builderEnabled) { + this.builderEnabled = builderEnabled; + } + + public boolean isDevEnabled() { + return devEnabled; + } + + public void setDevEnabled(boolean devEnabled) { + this.devEnabled = devEnabled; + } + + public boolean isWeaponsEnabled() { + return weaponsEnabled; + } + + public void setWeaponsEnabled(boolean weaponsEnabled) { + this.weaponsEnabled = weaponsEnabled; + } + + public boolean isArmorEnabled() { + return armorEnabled; + } + + public void setArmorEnabled(boolean armorEnabled) { + this.armorEnabled = armorEnabled; + } + + public boolean isSkillsEnabled() { + return skillsEnabled; + } + + public void setSkillsEnabled(boolean skillsEnabled) { + this.skillsEnabled = skillsEnabled; + } + + public boolean isCommandsEnabled() { + return commandsEnabled; + } + + public void setCommandsEnabled(boolean commandsEnabled) { + this.commandsEnabled = commandsEnabled; + } + + public boolean isResourcesEnabled() { + return resourcesEnabled; + } + + public void setResourcesEnabled(boolean resourcesEnabled) { + this.resourcesEnabled = resourcesEnabled; + } + + public boolean isCreditsEnabled() { + return creditsEnabled; + } + + public void setCreditsEnabled(boolean creditsEnabled) { + this.creditsEnabled = creditsEnabled; + } + + public boolean isFactionEnabled() { + return factionEnabled; + } + + public void setFactionEnabled(boolean factionEnabled) { + this.factionEnabled = factionEnabled; + } + + public boolean isVehiclesEnabled() { + return vehiclesEnabled; + } + + public void setVehiclesEnabled(boolean vehiclesEnabled) { + this.vehiclesEnabled = vehiclesEnabled; + } + + public boolean isShipsEnabled() { + return shipsEnabled; + } + + public void setShipsEnabled(boolean shipsEnabled) { + this.shipsEnabled = shipsEnabled; + } + + public boolean isCraftingEnabled() { + return craftingEnabled; + } + + public void setCraftingEnabled(boolean craftingEnabled) { + this.craftingEnabled = craftingEnabled; + } + + public boolean isDeedsEnabled() { + return deedsEnabled; + } + + public void setDeedsEnabled(boolean deedsEnabled) { + this.deedsEnabled = deedsEnabled; + } + + public boolean isPahallEnabled() { + return pahallEnabled; + } + + public void setPahallEnabled(boolean pahallEnabled) { + this.pahallEnabled = pahallEnabled; + } + + public boolean isMiscitemEnabled() { + return miscitemEnabled; + } + + public void setMiscitemEnabled(boolean miscitemEnabled) { + this.miscitemEnabled = miscitemEnabled; + } + + public boolean isJediEnabled() { + return jediEnabled; + } + + public void setJediEnabled(boolean jediEnabled) { + this.jediEnabled = jediEnabled; + } + + public boolean isBestResourcesEnabled() { + return BestResourcesEnabled; + } + + public void setBestResourcesEnabled(boolean bestResourcesEnabled) { + BestResourcesEnabled = bestResourcesEnabled; + } + + public boolean isHeroicFlagEnabled() { + return HeroicFlagEnabled; + } + + public void setHeroicFlagEnabled(boolean heroicFlagEnabled) { + HeroicFlagEnabled = heroicFlagEnabled; + } + + public boolean isDraftSchematicsEnabled() { + return DraftSchematicsEnabled; + } + + public void setDraftSchematicsEnabled(boolean draftSchematicsEnabled) { + DraftSchematicsEnabled = draftSchematicsEnabled; + } + + public boolean isBuffsEnabled() { + return buffsEnabled; + } + + public void setBuffsEnabled(boolean buffsEnabled) { + this.buffsEnabled = buffsEnabled; + } + + public boolean isWarpsEnabled() { + return warpsEnabled; + } + + public void setWarpsEnabled(boolean warpsEnabled) { + this.warpsEnabled = warpsEnabled; + } + + public boolean isQuestEnabled() { + return questEnabled; + } + + public void setQuestEnabled(boolean questEnabled) { + this.questEnabled = questEnabled; + } + + public boolean isPetsEnabled() { + return petsEnabled; + } + + public void setPetsEnabled(boolean petsEnabled) { + this.petsEnabled = petsEnabled; + } + + public int isItvMinUsageLevel() { + return itvMinUsageLevel; + } + + public void setItvMinUsageLevel(int itvMinUsageLevel) { + this.itvMinUsageLevel = itvMinUsageLevel; + } + } + + public static class Custom { + private float reverseEngineeringBonusMultiplier; + private int dailyMissionXpLimit; + // TODO: grantElderBuff should really be a boolean value. Script that reads this is not looking for "true" or "false". + // check live_conversions.java + private int grantElderBuff; + + Custom() {} + + public String toString() { + String output = "\nreverseEngineeringBonusMultiplier=" + reverseEngineeringBonusMultiplier; + output += "\ndailyMissionXpLimit=" + dailyMissionXpLimit; + output += "\ngrantElderBuff=" + grantElderBuff; + return output + "\n\n"; + } + + public float getReverseEngineeringBonusMultiplier() { + return reverseEngineeringBonusMultiplier; + } + + public void setReverseEngineeringBonusMultiplier(float reverseEngineeringBonusMultiplier) { + this.reverseEngineeringBonusMultiplier = reverseEngineeringBonusMultiplier; + } + + public int getDailyMissionXpLimit() { + return dailyMissionXpLimit; + } + + public void setDailyMissionXpLimit(int dailyMissionXpLimit) { + this.dailyMissionXpLimit = dailyMissionXpLimit; + } + + public int isGrantElderBuff() { + return grantElderBuff; + } + + public void setGrantElderBuff(int grantElderBuff) { + this.grantElderBuff = grantElderBuff; + } + } +} diff --git a/src/main/java/swg/service/CityObjectService.java b/src/main/java/swg/service/CityObjectService.java new file mode 100644 index 0000000..1bca73e --- /dev/null +++ b/src/main/java/swg/service/CityObjectService.java @@ -0,0 +1,36 @@ +package swg.service; + +import org.hibernate.mapping.Property; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import swg.dao.CityObjectDao; +import swg.dao.PropertyListDao; +import swg.entity.CityObject; +import swg.entity.PropertyList; + +import java.util.List; +import java.util.Optional; + +@Service +public class CityObjectService { + @Autowired + CityObjectDao cityObjectDao; + + public List getAllCityObjects() { return this.cityObjectDao.findAll(); } + public CityObject getCityObjectByObjectId(Long objectId) { + return this.cityObjectDao.findByObjectId(objectId); + } + public CityObject getCityObjectByCityName(String name) { + List cobs = getAllCityObjects(); + for (CityObject cob : cobs) { + Optional pl = cob.getPropertyLists().stream().filter(p -> p.getListId() == 12).findAny(); + if(pl.isPresent()) { + PropertyList p = pl.get(); + if(p.getValue().split(":")[2].equals(name)) { + return cob; + } + }; + } + return null; + } +} \ No newline at end of file diff --git a/src/main/java/swg/service/PlayerService.java b/src/main/java/swg/service/PlayerService.java new file mode 100644 index 0000000..2829d3f --- /dev/null +++ b/src/main/java/swg/service/PlayerService.java @@ -0,0 +1,26 @@ +package swg.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import swg.dao.PlayerDao; +import swg.entity.Player; + +import java.util.List; + +@Service +public class PlayerService { + @Autowired + PlayerDao playerDao; + + public List getAllPlayers() { + return this.playerDao.findAll(); + } + + public List getAllPlayersByStationId(Long stationId) { + return this.playerDao.findByStationId(stationId); + } + + public Player getPlayerByObjectId(Long objectId) { + return this.playerDao.findByObjectId(objectId); + }; +} \ No newline at end of file diff --git a/src/main/java/swg/service/PropertyListService.java b/src/main/java/swg/service/PropertyListService.java new file mode 100644 index 0000000..0220232 --- /dev/null +++ b/src/main/java/swg/service/PropertyListService.java @@ -0,0 +1,21 @@ +package swg.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import swg.dao.PropertyListDao; +import swg.dao.ResourceTypeDao; +import swg.entity.PropertyList; +import swg.entity.ResourceType; + +import java.util.List; + +@Service +public class PropertyListService { + @Autowired + PropertyListDao propertyListDao; + + public List getAllPropertyLists() { return this.propertyListDao.findAll(); } + public List getPropertyListsByObjectId(Long objectId) { + return this.propertyListDao.findByObjectId(objectId); + } +} \ No newline at end of file diff --git a/src/main/java/swg/service/ResourceTypeService.java b/src/main/java/swg/service/ResourceTypeService.java new file mode 100644 index 0000000..4a1508b --- /dev/null +++ b/src/main/java/swg/service/ResourceTypeService.java @@ -0,0 +1,22 @@ +package swg.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import swg.entity.ActiveResource; +import swg.dao.ResourceTypeDao; +import swg.entity.ResourceType; + +import java.util.List; + +@Service +public class ResourceTypeService { + @Autowired + ResourceTypeDao resourceTypeDao; + + public List getAllResources() { + return this.resourceTypeDao.findAll(); + } + public List getSpawnedResources() { + return this.resourceTypeDao.findAllSpawned(); + } +} \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 947a253..a923f3a 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -8,3 +8,6 @@ spring.datasource.password=swg spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver ## this shows the sql actions in the terminal logs spring.jpa.show-sql=true +spring.application.name=swg-api +spring.config.import=optional:swg-defaults.yml,optional:file:./swg-local.yml +swg.log.config.path=./exe/linux/ diff --git a/src/main/resources/swg-defaults.yml b/src/main/resources/swg-defaults.yml new file mode 100644 index 0000000..cd8257d --- /dev/null +++ b/src/main/resources/swg-defaults.yml @@ -0,0 +1,316 @@ +centralServer: + auctionEnabled: true + developmentMode: true + clusterName: swg + loggingEnabled: false + metricsDataURL: http://localhost:8080/api/metrics + newbieTutorialEnabled: true + webUpdateIntervalSeconds: 10 + startPlanet: + - name: corellia + active: true + - name: dantooine + active: true + - name: dathomir + active: true + - name: endor + active: true + - name: lok + active: true + - name: kashyyyk_dead_forest + active: true + - name: kashyyyk_hunting + active: true + - name: kashyyyk_main + active: true + - name: kashyyyk_north_dungeons + active: true + - name: kashyyyk_pob_dungeons + active: true + - name: kashyyyk_rryatt_trail + active: true + - name: kashyyyk_south_dungeons + active: true + - name: mustafar + active: true + - name: naboo + active: true + - name: rori + active: true + - name: talus + active: true + - name: tatooine + active: true + - name: yavin4 + active: true + - name: space_heavy1 + active: true + - name: space_light1 + active: true + - name: tutorial + active: true + - name: dungeon1 + active: true + - name: adventure1 + active: true + - name: adventure2 + active: true + - name: space_npe_falcon + active: true + - name: space_npe_falcon_2 + active: true + - name: space_npe_falcon_3 + active: true + - name: space_ord_mantell + active: true + - name: space_corellia + active: true + - name: space_naboo + active: true + - name: space_tatooine + active: true + - name: space_lok + active: true + - name: space_dantooine + active: true + - name: space_dathomir + active: true + - name: space_yavin4 + active: true + - name: space_endor + active: true + - name: space_nova_orion + active: true + - name: space_kashyyyk + active: true +serverMetrics: + metricsServerPort: 0 +chatServer: + centralServerAddress: 127.0.0.1 + clusterName: swg + gatewayServerIP: 127.0.0.1 + gatewayServerPort: 5001 + loggingEnabled: true + registrarHost: 127.0.0.1 + registrarPort: 5000 +commodityServer: + developmentMode: true + maxAuctionsPerPlayer: 25 + minutesActiveToUnaccessed: 43200 + minutesBazaarAuctionTimer: 10080 + minutesBazaarItemTimer: 10080 + minutesEmptyToEndangered: 21600 + minutesUnaccessedToEndangered: 7200 + minutesEndangeredToRemoved: 21600 + minutesVendorAuctionTimer: 43200 + minutesVendorItemTimer: 43200 +planetServer: + loadWholePlanet: true + loadWholePlanetMultiserver: false + numTutorialServers: 1 +connectionServer: + adminAccountDataTable: datatables/admin/stella_admin.iff + pingPort: 44462 + customerServiceBindInterface: eth0 + chatServiceBindInterface: eth0 + disableWorldSnapshot: false + validateClientVersion: false + validateStationKey: false + clientOverflowLimit: 5242880 +loginServer: + validateClientVersion: true + validateStationKey: false + easyExternalAccess: false +scriptFlags: + liveSpaceServer: true + spawnersOn: true + npeSequencersActive: true +quest: + craftingContract: true + crowdPleaser: true + communityCraftingLimit: 200 +bestineEvents: + politicianEventDuration: 2592000 + museumEventDuration: 1209600 +sharedLog: + logTarget: net:127.0.0.1:44467 +sharedNetwork: + oldestUnacknowledgedTimeout: 0 + noDataTimeout: 1000000 +sharedFoundation: + frameRateLimit: 10.0 + fatalCallStackDepth: 10 + warningCallStackDepth: -1 +dungeon: + deathWatch: true + corellianCorvetteNeutral: true + corellianCorvetteImperial: true + corellianCorvetteRebel: true + serverSwitch: true + geonosian: true +eventTeam: + gcwRaid: true + forceFoolsDay: false + anniversary: true + restussEvent: false + restussPhase: 2 + restussProgressionOn: true +gameServer: + adminAccountDataTable: "datatables/admin/stella_admin.iff" + adminGodToAll: true + adminGodToAllGodLevel: 50 + adminPersistAllCreates: false + aiAssistRadius: 12.0 + aiBaseAggroRadius: 24.0 + aiClientDebugEnabled: false + aiLeashRadius: 256.0 + aiMaxAggroRadius: 96.0 + armorDamageReduction: 80.0 + buddyPointTimeBonus: 7.5 + buildoutAreaEditingEnabled: false + cityCitizenshipInactivePackupInactiveTimeSeconds: 7776000 + commoditiesShowAllDebugInfo: false + craftingXpChance: 50 + deactivateHarvesterIfDamaged: true + defaultActionRegen: 20.0 + defaultAutoExpireTargetDuration: 6 + defaultHealthRegen: 40.0 + disableMissions: false + disableTravel: false + enableNewVeteranRewards: true + enableOneYearAnniversary: true + gcwDaysRequiredForGcwRegionDefenderBonus: 3 + gcwFactionalPresenceAlignedCityAgeBonusPct: 5 + gcwFactionalPresenceAlignedCityBonusPct: 100 + gcwFactionalPresenceAlignedCityRankBonusPct: 10 + gcwFactionalPresenceGcwRankBonusPct: 10 + gcwFactionalPresenceLevelPct: 10 + gcwFactionalPresenceMountedPct: 20 + gcwGuildMinMembersForGcwRegionDefender: 10 + gcwRecalcTimeDayOfWeek: 4 + gcwRecalcTimeHour: 19 + gcwRecalcTimeMinute: 0 + gcwRecalcTimeSecond: 0 + gcwRegionDefenderTotalBonusPct: 20 + gcwScoreDecayTimeDayOfWeek: 1 + gcwScoreDecayTimeHour: 19 + gcwScoreDecayTimeMinute: 0 + gcwScoreDecayTimeSecond: 0 + gcwXpBonus: 15.0 + houseItemLimitMultiplier: 100 + maxCombatRange: 96.0 + maxGalacticReserveDepositBillion: 3 + maxHouseItemLimit: 500 + maxLotsPerAccount: 165 + maxMoney: 1000000000 + maxMoneyTransfer: 100000000 + maxReimburseAmount: 0 + pvpDisableCombat: false + pvpGuildWarCoolDownPeriodTimeMs: 60000 + reportAiWarnings: false + resourceTimeScale: 86400 + secondsPerResourceTick: 60 + shipsEnabled: true + unclaimedAuctionItemDestroyTimeSec: 2592000 + veteranRewardTradeInWaitPeriodSeconds: 2592000 + weatherUpdateSeconds: 900 + debugMode: 1 + serverLoadLevel: heavy + idleLogoutTimeSec: 300 + suiListLimit: 50 + createZoneObjects: true + centralServerAddress: localhost + javaConsoleDebugMessages: false + javaEngineProfiling: false + javaVMName: sun + javaOptions: + - -Xoss4096k + - -Xss4096k + maxGoldNetworkId: 10000000 + nameValidationAcceptAll: true + scriptWatcherWarnTime: 5000 + scriptWatcherInterruptTime: 0 + commoditiesMarketEnabled: true + createAppearances: true + fatalOnGoldPobChange: false +# allowMasterObjectCreation: false + reservedObjectIds: 1000000 + enablePreload: false + allowPlayersToPackVendors: true + manufactureTimeOverride: 0.0 + disableResources: false + spawnAllResources: true + grantGift: true + maxSocketSkillModBonus: 999 + maxObjectSkillModBonus: 999 + maxItemAttribBonus: 500 + maxTotalAttribBonus: 2000 + aiLoggingEnabled: false + serverSpawnLimit: 60000 + disableAreaSpawners: false + disablePatrolSpawners: false + harvesterExtractionRateMultiplier: 5.0 + enableVeteranRewards: true + veteranDebugTriggerAll: true + veteranDebugEnableOverrideAccountAge: false + flashSpeederReward: true + combatUpgradeReward: 2 + lifeday: false + loveday: false + deleteEventProps: false + halloween: false + foolsDay: false + empireday_ceremony: false + enableCovertImperialMercenary: true + enableOvertImperialMercenary: true + enableCovertRebelMercenary: true + enableOvertRebelMercenary: true + hibernateDistance: 65.0 + hibernateEnabled: true + hibernateProxies: true + gcwCityKeren: true + gcwCityBestine: true + gcwCityDearic: true + gcwInvasionCityMaximumRunning: 1 + gcwInvasionCycleTime: 1 + mountsEnabled: true + sendBreadcrumbs: true + sendPlayerTransform: true + xpMultiplier: 3 + chroniclesXpModifier: 1.0 + chroniclesQuestorGoldTokenChanceOverride: 15 + chroniclesChroniclerGoldTokenChanceOverride: 15 + chroniclesChroniclerSilverTokenNumModifier: 2.0 + chroniclesQuestorSilverTokenNumModifier: 2.0 + gcwPointBonus: 5.0 + gcwTokenBonus: 5.0 + triggerVolumeSystem: 2 +characterBuilder: + builderEnabled: true + devEnabled: true + weaponsEnabled: true + armorEnabled: true + skillsEnabled: true + commandsEnabled: true + resourcesEnabled: true + creditsEnabled: true + factionEnabled: true + vehiclesEnabled: true + shipsEnabled: true + craftingEnabled: true + deedsEnabled: true + pahallEnabled: true + miscitemEnabled: true + jediEnabled: true + BestResourcesEnabled: true + HeroicFlagEnabled: true + DraftSchematicsEnabled: true + buffsEnabled: true + warpsEnabled: true + questEnabled: true + petsEnabled: true + itvMinUsageLevel: 0 +custom: + reverseEngineeringBonusMultiplier: 1.0 + dailyMissionXpLimit: 10 + grantElderBuff: 1 \ No newline at end of file