From d1ffdb783bd835e478ebab29a267636b3b2dfff2 Mon Sep 17 00:00:00 2001 From: AlexPresso <15526962+AlexPresso@users.noreply.github.com> Date: Tue, 23 Dec 2025 14:21:28 +0100 Subject: [PATCH] Cleaning + submodule + lombok refactoring --- pom.xml | 150 +++++++------ .../classes/challenge/ChallengeProgress.java | 34 --- .../zuninja/classes/config/Cost.java | 15 -- .../zuninja/classes/item/InventoryType.java | 22 -- .../zuninja/domain/nodes/item/Item.java | 206 ------------------ .../zuninja/domain/nodes/user/User.java | 115 ---------- .../domain/nodes/user/UserStatistics.java | 122 ----------- zuninja-core/pom.xml | 64 ++++++ .../me/alexpresso/zuninja/Application.java | 0 .../zuninja/ApplicationConfiguration.java | 0 .../zuninja/PluginConfiguration.java | 0 .../zuninja/classes/activity/Loot.java | 27 +-- .../zuninja/classes/activity/LootType.java | 12 +- .../zuninja/classes/cache/CacheEntry.java | 0 .../zuninja/classes/cache/MemoryCache.java | 0 .../zuninja/classes/challenge/Challenge.java | 20 +- .../classes/challenge/ChallengeLog.java | 6 +- .../classes/challenge/ChallengeProgress.java | 18 ++ .../classes/challenge/ChallengeType.java | 3 +- .../zuninja/classes/config/Config.java | 9 +- .../zuninja/classes/config/ConfigPart.java | 21 +- .../zuninja/classes/config/Cost.java | 12 + .../classes/config/InvocationType.java | 15 +- .../zuninja/classes/config/Reward.java | 13 +- .../zuninja/classes/config/ShinyLevel.java | 24 +- .../classes/corporation/Corporation.java | 0 .../classes/corporation/CorporationBonus.java | 10 +- .../corporation/CorporationBonusType.java | 14 +- .../zuninja/classes/item/EvolutionDetail.java | 10 +- .../zuninja/classes/item/Inventory.java | 10 +- .../zuninja/classes/item/InventoryType.java | 14 ++ .../classes/item/ItemEvolutionDetail.java | 15 +- .../zuninja/classes/item/MoneyType.java | 11 +- .../zuninja/classes/item/RarityType.java | 0 .../zuninja/classes/mode/GameMode.java | 0 .../classes/plugins/ZUNinjaPlugin.java | 0 .../projection/InventoryProjection.java | 0 .../projection/ItemCountProjection.java | 0 .../classes/projection/ItemProjection.java | 4 + .../classes/projection/ProjectionState.java | 8 +- .../classes/projection/ProjectionSummary.java | 10 +- .../classes/projection/action/Action.java | 9 +- .../projection/action/ActionElement.java | 0 .../projection/action/ActionElementList.java | 0 .../classes/projection/action/ActionList.java | 0 .../classes/projection/action/ActionType.java | 11 +- .../projection/action/ShinyElement.java | 0 .../classes/projection/summary/Change.java | 0 .../projection/summary/SummaryElement.java | 0 .../projection/summary/SummaryType.java | 13 +- .../classes/vortex/VortexActivity.java | 8 +- .../zuninja/classes/vortex/VortexDetail.java | 7 +- .../zuninja/classes/vortex/VortexStats.java | 14 +- .../zuninja/components/TaskManager.java | 25 +-- .../zuninja/controllers/AdviceController.java | 0 .../zuninja/domain/base/BaseGraphObject.java | 18 +- .../zuninja/domain/nodes/event/Event.java | 59 +---- .../zuninja/domain/nodes/item/Fusion.java | 19 +- .../zuninja/domain/nodes/item/Item.java | 60 +++++ .../zuninja/domain/nodes/item/Pack.java | 23 +- .../zuninja/domain/nodes/user/User.java | 41 ++++ .../domain/nodes/user/UserStatistics.java | 40 ++++ .../domain/relations/FusionToInput.java | 20 +- .../domain/relations/InputToFusion.java | 16 +- .../domain/relations/InventoryItem.java | 39 +--- .../exceptions/BaseCustomException.java | 3 + .../exceptions/NodeNotFoundException.java | 0 .../exceptions/ProjectionException.java | 0 .../zuninja/repositories/EventRepository.java | 0 .../repositories/FusionRepository.java | 0 .../zuninja/repositories/ItemRepository.java | 0 .../zuninja/repositories/PackRepository.java | 0 .../zuninja/repositories/UserRepository.java | 0 .../UserStatisticsRepository.java | 0 .../services/advise/AdviceService.java | 0 .../services/advise/AdviceServiceImpl.java | 18 +- .../services/config/ConfigService.java | 0 .../services/config/ConfigServiceImpl.java | 7 +- .../corporation/CorporationService.java | 0 .../corporation/CorporationServiceImpl.java | 11 +- .../services/dispatch/DispatchService.java | 0 .../dispatch/DispatchServiceImpl.java | 7 +- .../zuninja/services/event/EventService.java | 0 .../services/event/EventServiceImpl.java | 18 +- .../zuninja/services/item/ItemService.java | 0 .../services/item/ItemServiceImpl.java | 28 +-- .../projection/ProjectionService.java | 0 .../projection/ProjectionServiceImpl.java | 36 +-- .../services/request/RequestService.java | 0 .../services/request/RequestServiceImpl.java | 15 +- .../taskexecutor/TaskExecutorService.java | 0 .../taskexecutor/TaskExecutorServiceImpl.java | 0 .../zuninja/services/user/UserService.java | 0 .../services/user/UserServiceImpl.java | 20 +- .../services/vortex/VortexService.java | 0 .../services/vortex/VortexServiceImpl.java | 0 .../alexpresso/zuninja/utils/StreamUtils.java | 0 .../src}/main/resources/application.yml | 0 zuninja-plugin-example/pom.xml | 41 +++- 99 files changed, 534 insertions(+), 1106 deletions(-) delete mode 100644 src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeProgress.java delete mode 100644 src/main/java/me/alexpresso/zuninja/classes/config/Cost.java delete mode 100644 src/main/java/me/alexpresso/zuninja/classes/item/InventoryType.java delete mode 100644 src/main/java/me/alexpresso/zuninja/domain/nodes/item/Item.java delete mode 100644 src/main/java/me/alexpresso/zuninja/domain/nodes/user/User.java delete mode 100644 src/main/java/me/alexpresso/zuninja/domain/nodes/user/UserStatistics.java create mode 100644 zuninja-core/pom.xml rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/Application.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/ApplicationConfiguration.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/PluginConfiguration.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/activity/Loot.java (71%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/activity/LootType.java (62%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/cache/CacheEntry.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/cache/MemoryCache.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/challenge/Challenge.java (86%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeLog.java (78%) create mode 100644 zuninja-core/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeProgress.java rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeType.java (96%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/config/Config.java (82%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/config/ConfigPart.java (65%) create mode 100644 zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/Cost.java rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/config/InvocationType.java (69%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/config/Reward.java (52%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/config/ShinyLevel.java (56%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/corporation/Corporation.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonus.java (64%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonusType.java (77%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/item/EvolutionDetail.java (71%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/item/Inventory.java (86%) create mode 100644 zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/InventoryType.java rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/item/ItemEvolutionDetail.java (64%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/item/MoneyType.java (81%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/item/RarityType.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/mode/GameMode.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/plugins/ZUNinjaPlugin.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/InventoryProjection.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/ItemCountProjection.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/ItemProjection.java (98%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/ProjectionState.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/ProjectionSummary.java (88%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/action/Action.java (92%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/action/ActionElement.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/action/ActionElementList.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/action/ActionList.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/action/ActionType.java (83%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/action/ShinyElement.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/summary/Change.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/summary/SummaryElement.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/projection/summary/SummaryType.java (58%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/vortex/VortexActivity.java (83%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/vortex/VortexDetail.java (87%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/classes/vortex/VortexStats.java (86%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/components/TaskManager.java (74%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/controllers/AdviceController.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/domain/base/BaseGraphObject.java (62%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/domain/nodes/event/Event.java (56%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/domain/nodes/item/Fusion.java (88%) create mode 100644 zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Item.java rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/domain/nodes/item/Pack.java (60%) create mode 100644 zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/user/User.java create mode 100644 zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/user/UserStatistics.java rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/domain/relations/FusionToInput.java (69%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/domain/relations/InputToFusion.java (66%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/domain/relations/InventoryItem.java (56%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/exceptions/BaseCustomException.java (92%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/exceptions/NodeNotFoundException.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/exceptions/ProjectionException.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/repositories/EventRepository.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/repositories/FusionRepository.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/repositories/ItemRepository.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/repositories/PackRepository.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/repositories/UserRepository.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/repositories/UserStatisticsRepository.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/advise/AdviceService.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/advise/AdviceServiceImpl.java (72%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/config/ConfigService.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/config/ConfigServiceImpl.java (88%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/corporation/CorporationService.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/corporation/CorporationServiceImpl.java (73%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/dispatch/DispatchService.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/dispatch/DispatchServiceImpl.java (94%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/event/EventService.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/event/EventServiceImpl.java (80%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/item/ItemService.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/item/ItemServiceImpl.java (83%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/projection/ProjectionService.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/projection/ProjectionServiceImpl.java (95%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/request/RequestService.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/request/RequestServiceImpl.java (89%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/taskexecutor/TaskExecutorService.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/taskexecutor/TaskExecutorServiceImpl.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/user/UserService.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/user/UserServiceImpl.java (91%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/vortex/VortexService.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/services/vortex/VortexServiceImpl.java (100%) rename {src => zuninja-core/src}/main/java/me/alexpresso/zuninja/utils/StreamUtils.java (100%) rename {src => zuninja-core/src}/main/resources/application.yml (100%) diff --git a/pom.xml b/pom.xml index 77d4be3..3913e37 100644 --- a/pom.xml +++ b/pom.xml @@ -6,16 +6,22 @@ me.alexpresso zunivers-ninja - ${zuninjaversion} + 999-SNAPSHOT + pom 21 21 UTF-8 - 1.9.4 3.2.4 + 1.18.30 + + zuninja-core + zuninja-plugin-example + + github @@ -30,76 +36,78 @@ 3.2.4 - - - org.springframework.boot - spring-boot-starter-data-neo4j - ${spring.version} - - - org.springframework.boot - spring-boot-starter-web - ${spring.version} - - - com.fasterxml.jackson.core - jackson-databind - 2.14.2 - - - club.minnced - discord-webhooks - 0.8.4 - - - org.pf4j - pf4j-spring - 0.8.0 - provided - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - 2.14.0 - - - org.springframework.boot - spring-boot-starter-actuator - - + + + + org.springframework.boot + spring-boot-starter-data-neo4j + ${spring.version} + + + org.springframework.boot + spring-boot-starter-web + ${spring.version} + + + com.fasterxml.jackson.core + jackson-databind + 2.14.2 + + + club.minnced + discord-webhooks + 0.8.4 + + + org.pf4j + pf4j-spring + 0.8.0 + provided + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.14.0 + + + org.projectlombok + lombok + ${lombok.version} + provided + + + me.alexpresso + zuninja-core + ${zuninjaversion} + + + - - - org.springframework.boot - spring-boot-maven-plugin - - exec - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 21 - 21 - - - - org.apache.maven.plugins - maven-jar-plugin - 3.1.0 - - - - true - lib/ - me.alexpresso.zuninja.Application - - - - - + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 21 + 21 + + + org.projectlombok + lombok + ${lombok.version} + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.1.0 + + + diff --git a/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeProgress.java b/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeProgress.java deleted file mode 100644 index 2f35264..0000000 --- a/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeProgress.java +++ /dev/null @@ -1,34 +0,0 @@ -package me.alexpresso.zuninja.classes.challenge; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -@JsonIgnoreProperties(ignoreUnknown = true) -public class ChallengeProgress { - private String type; - private int current; - private int max; - - - public ChallengeProgress() {} - public ChallengeProgress(final String type, final int current, final int max) { - this.type = type; - this.current = current; - this.max = max; - } - - - public String getType() { - return this.type; - } - - public int getCurrent() { - return this.current; - } - public void setCurrent(final int progress) { - this.current = progress; - } - - public int getMax() { - return this.max; - } -} diff --git a/src/main/java/me/alexpresso/zuninja/classes/config/Cost.java b/src/main/java/me/alexpresso/zuninja/classes/config/Cost.java deleted file mode 100644 index 0e875e2..0000000 --- a/src/main/java/me/alexpresso/zuninja/classes/config/Cost.java +++ /dev/null @@ -1,15 +0,0 @@ -package me.alexpresso.zuninja.classes.config; - -public enum Cost { - ASCENSION(20); - - private final int value; - - Cost(final int value) { - this.value = value; - } - - public int getValue() { - return this.value; - } -} diff --git a/src/main/java/me/alexpresso/zuninja/classes/item/InventoryType.java b/src/main/java/me/alexpresso/zuninja/classes/item/InventoryType.java deleted file mode 100644 index b07693d..0000000 --- a/src/main/java/me/alexpresso/zuninja/classes/item/InventoryType.java +++ /dev/null @@ -1,22 +0,0 @@ -package me.alexpresso.zuninja.classes.item; - -public enum InventoryType { - CLASSIC(0, "Cartes"), - UPGRADE(1, "Constellations"); - - private final int rarityOffset; - private final String displayName; - - InventoryType(final int rarityOffset, final String displayName) { - this.rarityOffset = rarityOffset; - this.displayName = displayName; - } - - public int getRarityOffset() { - return rarityOffset; - } - - public String getDisplayName() { - return displayName; - } -} diff --git a/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Item.java b/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Item.java deleted file mode 100644 index d61e7d2..0000000 --- a/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Item.java +++ /dev/null @@ -1,206 +0,0 @@ -package me.alexpresso.zuninja.domain.nodes.item; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; -import me.alexpresso.zuninja.classes.projection.action.ActionElement; -import me.alexpresso.zuninja.domain.base.BaseGraphObject; -import me.alexpresso.zuninja.domain.relations.InputToFusion; -import me.alexpresso.zuninja.domain.relations.InventoryItem; -import org.springframework.data.neo4j.core.schema.Node; -import org.springframework.data.neo4j.core.schema.Relationship; - -import java.util.HashSet; -import java.util.Set; - -@Node -public class Item extends BaseGraphObject implements ActionElement { - @Relationship(type = "INVENTORY_ITEM", direction = Relationship.Direction.INCOMING) - private Set inventories = new HashSet<>(); - @Relationship(type = "HOLDS", direction = Relationship.Direction.INCOMING) - private Pack pack; - @Relationship(type = "FUSION_INPUT", direction = Relationship.Direction.OUTGOING) - private Set inputOfFusions = new HashSet<>(); - @Relationship(type = "FUSION_RESULT", direction = Relationship.Direction.INCOMING) - private Set resultOfFusions = new HashSet<>(); - @JsonProperty("identifier") - private Long itemIdentifier; - private String name; - private String genre; - private int rarity; - private String slug; - private Set urls; - private int score; - private int scoreGolden; - @JsonProperty("isCounting") - private boolean counting; - @JsonProperty("isCraftable") - private boolean craftable; - @JsonProperty("isInvocable") - private boolean invocable; - @JsonProperty("isRecyclable") - private boolean recyclable; - @JsonProperty("isTradable") - private boolean tradable; - @JsonProperty("isGoldable") - private boolean goldable; - @JsonProperty("isUpgradable") - private boolean upgradable; - - - public Long getItemIdentifier() { - return itemIdentifier; - } - public Item setItemIdentifier(Long itemIdentifier) { - this.itemIdentifier = itemIdentifier; - return this; - } - - public String getName() { - return name; - } - public Item setName(String name) { - this.name = name; - return this; - } - - public String getGenre() { - return genre; - } - public Item setGenre(String genre) { - this.genre = genre; - return this; - } - - public int getRarity() { - return this.rarity; - } - - public Item setRarity(int rarity) { - this.rarity = rarity; - return this; - } - - public String getSlug() { - return slug; - } - public Item setSlug(String slug) { - this.slug = slug; - return this; - } - - public Set getUrls() { - return urls; - } - public Item setUrls(Set urls) { - this.urls = urls; - return this; - } - - public Pack getPack() { - return pack; - } - public Item setPack(Pack pack) { - this.pack = pack; - return this; - } - - public Set getInputOfFusions() { - return inputOfFusions; - } - public Item setInputOfFusions(Set inputOfFusions) { - this.inputOfFusions = inputOfFusions; - return this; - } - - public Set getResultOfFusions() { - return resultOfFusions; - } - public Item setResultOfFusions(Set resultOfFusions) { - this.resultOfFusions = resultOfFusions; - return this; - } - - public Set getInventories() { - return this.inventories; - } - public Item setInventories(Set inventories) { - this.inventories = inventories; - return this; - } - - public int getScore() { - return score; - } - public void setScore(int score) { - this.score = score; - } - - public int getScoreGolden() { - return scoreGolden; - } - public void setScoreGolden(int scoreGolden) { - this.scoreGolden = scoreGolden; - } - - public boolean isCounting() { - return counting; - } - public Item setCounting(boolean counting) { - this.counting = counting; - return this; - } - - public boolean isCraftable() { - return craftable; - } - public Item setCraftable(boolean craftable) { - this.craftable = craftable; - return this; - } - - public boolean isInvocable() { - return invocable; - } - public Item setInvocable(boolean invocable) { - this.invocable = invocable; - return this; - } - - public boolean isRecyclable() { - return recyclable; - } - public Item setRecyclable(boolean recyclable) { - this.recyclable = recyclable; - return this; - } - - public boolean isTradable() { - return tradable; - } - public Item setTradable(boolean tradable) { - this.tradable = tradable; - return this; - } - - public boolean isGoldable() { - return goldable; - } - public Item setGoldable(boolean goldable) { - this.goldable = goldable; - return this; - } - - public boolean isUpgradable() { - return this.upgradable; - } - public Item setUpgradable(boolean upgradable) { - this.upgradable = upgradable; - return this; - } - - @Override - @JsonIgnore - public String getIdentifier() { - return this.itemIdentifier.toString(); - } -} diff --git a/src/main/java/me/alexpresso/zuninja/domain/nodes/user/User.java b/src/main/java/me/alexpresso/zuninja/domain/nodes/user/User.java deleted file mode 100644 index aea4db1..0000000 --- a/src/main/java/me/alexpresso/zuninja/domain/nodes/user/User.java +++ /dev/null @@ -1,115 +0,0 @@ -package me.alexpresso.zuninja.domain.nodes.user; - -import me.alexpresso.zuninja.classes.item.MoneyType; -import me.alexpresso.zuninja.domain.base.BaseGraphObject; -import me.alexpresso.zuninja.domain.relations.InventoryItem; -import org.springframework.data.neo4j.core.schema.Node; -import org.springframework.data.neo4j.core.schema.Relationship; - -import java.util.HashSet; -import java.util.Set; - -@Node -public class User extends BaseGraphObject { - private String discordId; - private String discordUserName; - private int position; - private int loreDust; - private int loreFragment; - private int upgradeDust; - private int balance; - private String lastAdviceMd5; - @Relationship(type = "USER_STATISTICS", direction = Relationship.Direction.OUTGOING) - private UserStatistics statistics; - @Relationship(type = "INVENTORY_ITEM", direction = Relationship.Direction.OUTGOING) - private Set inventory = new HashSet<>(); - - - public String getDiscordId() { - return discordId; - } - public User setDiscordId(String discordId) { - this.discordId = discordId; - return this; - } - - public String getDiscordUserName() { - return discordUserName; - } - public User setDiscordUserName(String discordUserName) { - this.discordUserName = discordUserName; - return this; - } - - public int getPosition() { - return position; - } - public User setPosition(int position) { - this.position = position; - return this; - } - - public int getLoreDust() { - return loreDust; - } - public User setLoreDust(int loreDust) { - this.loreDust = loreDust; - return this; - } - - public int getLoreFragment() { - return loreFragment; - } - public User setLoreFragment(int loreFragment) { - this.loreFragment = loreFragment; - return this; - } - - public int getUpgradeDust() { - return this.upgradeDust; - } - public User setUpgradeDust(int upgradeDust) { - this.upgradeDust = upgradeDust; - return this; - } - - public int getBalance() { - return balance; - } - public User setBalance(int balance) { - this.balance = balance; - return this; - } - - public String getLastAdviceMd5() { - return this.lastAdviceMd5; - } - public void setLastAdviceMd5(String lastAdviceMd5) { - this.lastAdviceMd5 = lastAdviceMd5; - } - - public UserStatistics getStatistics() { - return statistics; - } - public User setStatistics(UserStatistics statistics) { - this.statistics = statistics; - return this; - } - - public Set getInventory() { - return inventory; - } - public User setInventory(Set inventory) { - this.inventory = inventory; - return this; - } - - public int getMoneyAmount(final MoneyType type) { - return switch(type) { - case BALANCE -> this.balance; - case LORE_DUST -> this.loreDust; - case LORE_FRAGMENT -> this.loreFragment; - case UPGRADE_DUST -> this.upgradeDust; - }; - } -} diff --git a/src/main/java/me/alexpresso/zuninja/domain/nodes/user/UserStatistics.java b/src/main/java/me/alexpresso/zuninja/domain/nodes/user/UserStatistics.java deleted file mode 100644 index 059c95c..0000000 --- a/src/main/java/me/alexpresso/zuninja/domain/nodes/user/UserStatistics.java +++ /dev/null @@ -1,122 +0,0 @@ -package me.alexpresso.zuninja.domain.nodes.user; - -import com.fasterxml.jackson.annotation.JsonProperty; -import me.alexpresso.zuninja.domain.base.BaseGraphObject; -import org.springframework.data.neo4j.core.schema.Node; -import org.springframework.data.neo4j.core.schema.Relationship; - -import java.util.Map; - -@Node -public class UserStatistics extends BaseGraphObject { - private int achievementCount; - private int achievementLogCount; - private int inventoryCount; - private int inventoryUniqueCount; - private int inventoryUniqueGoldenCount; - private int itemCount; - private int luckyCount; - private int tradeCount; - private String corporationId; - @JsonProperty("isSubscribed") - private boolean subscribed; - @Relationship(type = "USER_STATISTICS", direction = Relationship.Direction.INCOMING) - private User user; - - public int getAchievementCount() { - return achievementCount; - } - public UserStatistics setAchievementCount(int achievementCount) { - this.achievementCount = achievementCount; - return this; - } - - public int getAchievementLogCount() { - return achievementLogCount; - } - public UserStatistics setAchievementLogCount(int achievementLogCount) { - this.achievementLogCount = achievementLogCount; - return this; - } - - public int getInventoryCount() { - return inventoryCount; - } - public UserStatistics setInventoryCount(int inventoryCount) { - this.inventoryCount = inventoryCount; - return this; - } - - public int getInventoryUniqueCount() { - return inventoryUniqueCount; - } - public UserStatistics setInventoryUniqueCount(int inventoryUniqueCount) { - this.inventoryUniqueCount = inventoryUniqueCount; - return this; - } - - public int getInventoryUniqueGoldenCount() { - return inventoryUniqueGoldenCount; - } - public UserStatistics setInventoryUniqueGoldenCount(int inventoryUniqueGoldenCount) { - this.inventoryUniqueGoldenCount = inventoryUniqueGoldenCount; - return this; - } - - public int getItemCount() { - return itemCount; - } - public UserStatistics setItemCount(int itemCount) { - this.itemCount = itemCount; - return this; - } - - public int getLuckyCount() { - return luckyCount; - } - public UserStatistics setLuckyCount(int luckyCount) { - this.luckyCount = luckyCount; - return this; - } - - public int getTradeCount() { - return tradeCount; - } - public UserStatistics setTradeCount(int tradeCount) { - this.tradeCount = tradeCount; - return this; - } - - public User getUser() { - return this.user; - } - public UserStatistics setUser(final User user) { - this.user = user; - return this; - } - - public boolean isSubscribed() { - return this.subscribed; - } - public UserStatistics setSubscribed(final boolean subscribed) { - this.subscribed = subscribed; - return this; - } - - public String getCorporationId() { - return this.corporationId; - } - public UserStatistics setCorporationId(final String corporationId) { - this.corporationId = corporationId; - return this; - } - - @JsonProperty("userCorporation") - private void unpackCorporation(final Map userCorporation) { - if(!userCorporation.containsKey("corporation")) - return; - - final Map corporation = (Map) userCorporation.get("corporation"); - corporation.computeIfPresent("id", (k, v) -> this.corporationId = v.toString()); - } -} diff --git a/zuninja-core/pom.xml b/zuninja-core/pom.xml new file mode 100644 index 0000000..4ef8319 --- /dev/null +++ b/zuninja-core/pom.xml @@ -0,0 +1,64 @@ + + + 4.0.0 + + + me.alexpresso + zunivers-ninja + 999-SNAPSHOT + + + zuninja-core + jar + + + + org.springframework.boot + spring-boot-starter-data-neo4j + + + org.springframework.boot + spring-boot-starter-web + + + com.fasterxml.jackson.core + jackson-databind + + + club.minnced + discord-webhooks + + + org.pf4j + pf4j-spring + provided + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + + org.springframework.boot + spring-boot-starter-actuator + + + org.projectlombok + lombok + provided + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + exec + + + + + diff --git a/src/main/java/me/alexpresso/zuninja/Application.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/Application.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/Application.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/Application.java diff --git a/src/main/java/me/alexpresso/zuninja/ApplicationConfiguration.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/ApplicationConfiguration.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/ApplicationConfiguration.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/ApplicationConfiguration.java diff --git a/src/main/java/me/alexpresso/zuninja/PluginConfiguration.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/PluginConfiguration.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/PluginConfiguration.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/PluginConfiguration.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/activity/Loot.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/activity/Loot.java similarity index 71% rename from src/main/java/me/alexpresso/zuninja/classes/activity/Loot.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/activity/Loot.java index 35a031d..00d51bd 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/activity/Loot.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/activity/Loot.java @@ -2,12 +2,16 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.NoArgsConstructor; import me.alexpresso.zuninja.classes.config.Reward; import java.util.*; import java.util.function.Supplier; import java.util.stream.Collectors; +@Getter +@NoArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) public class Loot { private int amount; @@ -16,8 +20,6 @@ public class Loot { private int subscriptionAmount; private LootType type; - - public Loot() {} public Loot(final LootType type, final int corporationAmount, final boolean isSubscribed) { @@ -27,25 +29,4 @@ public Loot(final LootType type, this.subscriptionAmount = isSubscribed ? Reward.SUBSCRIPTION.getValue() : 0; this.amount = baseAmount + corporationAmount + subscriptionAmount; } - - - public int getAmount() { - return amount; - } - - public int getBaseAmount() { - return baseAmount; - } - - public int getCorporationAmount() { - return corporationAmount; - } - - public int getSubscriptionAmount() { - return subscriptionAmount; - } - - public LootType getType() { - return type; - } } diff --git a/src/main/java/me/alexpresso/zuninja/classes/activity/LootType.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/activity/LootType.java similarity index 62% rename from src/main/java/me/alexpresso/zuninja/classes/activity/LootType.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/activity/LootType.java index 7a7018f..0a26d99 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/activity/LootType.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/activity/LootType.java @@ -1,18 +1,14 @@ package me.alexpresso.zuninja.classes.activity; +import lombok.Getter; +import lombok.RequiredArgsConstructor; import me.alexpresso.zuninja.classes.config.Reward; +@Getter +@RequiredArgsConstructor public enum LootType { DAILY(Reward.DAILY), WEEKLY(Reward.DAILY); private final Reward reward; - - LootType(Reward reward) { - this.reward = reward; - } - - public Reward getReward() { - return reward; - } } diff --git a/src/main/java/me/alexpresso/zuninja/classes/cache/CacheEntry.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/cache/CacheEntry.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/cache/CacheEntry.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/cache/CacheEntry.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/cache/MemoryCache.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/cache/MemoryCache.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/cache/MemoryCache.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/cache/MemoryCache.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/challenge/Challenge.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/challenge/Challenge.java similarity index 86% rename from src/main/java/me/alexpresso/zuninja/classes/challenge/Challenge.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/challenge/Challenge.java index bc3c756..5b32663 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/challenge/Challenge.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/challenge/Challenge.java @@ -2,11 +2,13 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; import me.alexpresso.zuninja.classes.projection.summary.SummaryElement; import me.alexpresso.zuninja.classes.projection.summary.SummaryType; import java.util.Map; +@Getter @JsonIgnoreProperties(ignoreUnknown = true) public class Challenge implements SummaryElement { private String id; @@ -18,11 +20,6 @@ public class Challenge implements SummaryElement { private ChallengeLog challengeLog; private String description; - - public int getRewardLoreDust() { - return this.rewardLoreDust; - } - public ChallengeProgress getProgress() { if(this.progress == null) return new ChallengeProgress("???", this.challengeLog != null ? 1 : 0, 1); @@ -30,19 +27,6 @@ public ChallengeProgress getProgress() { return this.progress; } - public ChallengeType getType() { - return this.type; - } - - public String getId() { - return this.id; - } - - public String getDescription() { - return this.description; - } - - @JsonProperty("challenge") public void unpackChallenge(final Map challenge) { challenge.computeIfPresent("id", (k, v) -> this.id = v.toString()); diff --git a/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeLog.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeLog.java similarity index 78% rename from src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeLog.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeLog.java index 35f2908..ac2a66c 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeLog.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeLog.java @@ -1,12 +1,10 @@ package me.alexpresso.zuninja.classes.challenge; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +@Getter @JsonIgnoreProperties(ignoreUnknown = true) public class ChallengeLog { private String id; - - public String getId() { - return this.id; - } } diff --git a/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeProgress.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeProgress.java new file mode 100644 index 0000000..804a0e8 --- /dev/null +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeProgress.java @@ -0,0 +1,18 @@ +package me.alexpresso.zuninja.classes.challenge; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +public class ChallengeProgress { + private String type; + private int current; + private int max; +} diff --git a/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeType.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeType.java similarity index 96% rename from src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeType.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeType.java index e89b2af..35e8ac7 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeType.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/challenge/ChallengeType.java @@ -1,9 +1,11 @@ package me.alexpresso.zuninja.classes.challenge; +import lombok.Getter; import me.alexpresso.zuninja.classes.projection.action.ActionType; import java.util.Optional; +@Getter public enum ChallengeType { FUSE(ActionType.FUSION), INVOKE(ActionType.INVOCATION), @@ -20,7 +22,6 @@ public enum ChallengeType { WEEKLY(ActionType.WEEKLY), UNKNOWN; - private final ActionType actionType; ChallengeType(){ diff --git a/src/main/java/me/alexpresso/zuninja/classes/config/Config.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/Config.java similarity index 82% rename from src/main/java/me/alexpresso/zuninja/classes/config/Config.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/Config.java index d6cae19..4391997 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/config/Config.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/Config.java @@ -1,15 +1,17 @@ package me.alexpresso.zuninja.classes.config; +import lombok.Getter; + import java.util.Map; import java.util.Set; import java.util.function.Function; import java.util.stream.Collectors; +@Getter public class Config { private final Map> configParts; - public Config(final Set parts) { this.configParts = parts.stream() .collect(Collectors.groupingBy( @@ -17,9 +19,4 @@ public Config(final Set parts) { Collectors.toMap(ConfigPart::getShinyLevel, Function.identity()) )); } - - - public Map> getConfigParts() { - return this.configParts; - } } diff --git a/src/main/java/me/alexpresso/zuninja/classes/config/ConfigPart.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/ConfigPart.java similarity index 65% rename from src/main/java/me/alexpresso/zuninja/classes/config/ConfigPart.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/ConfigPart.java index b7a0d64..9153276 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/config/ConfigPart.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/ConfigPart.java @@ -2,7 +2,11 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +@Getter +@Setter @JsonIgnoreProperties(ignoreUnknown = true) public class ConfigPart { private int rarity; @@ -12,23 +16,6 @@ public class ConfigPart { private Boolean golden; private ShinyLevel shinyLevel; - public int getRarity() { - return this.rarity; - } - - public int getCraftValue() { - return this.craftValue; - } - - public int getRecycleValue() { - return this.recycleValue; - } - - public ShinyLevel getShinyLevel() { - return this.shinyLevel; - } - - @JsonProperty("shinyLevel") public void unpackShinyLevel(int shinyLevel) { this.shinyLevel = ShinyLevel.valueOf(shinyLevel); diff --git a/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/Cost.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/Cost.java new file mode 100644 index 0000000..661d5ba --- /dev/null +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/Cost.java @@ -0,0 +1,12 @@ +package me.alexpresso.zuninja.classes.config; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@Getter +@RequiredArgsConstructor +public enum Cost { + ASCENSION(20); + + private final int value; +} diff --git a/src/main/java/me/alexpresso/zuninja/classes/config/InvocationType.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/InvocationType.java similarity index 69% rename from src/main/java/me/alexpresso/zuninja/classes/config/InvocationType.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/InvocationType.java index 4b2fe02..9c52414 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/config/InvocationType.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/InvocationType.java @@ -1,27 +1,20 @@ package me.alexpresso.zuninja.classes.config; +import lombok.Getter; +import lombok.RequiredArgsConstructor; import me.alexpresso.zuninja.classes.projection.action.ActionElement; +@Getter +@RequiredArgsConstructor public enum InvocationType implements ActionElement { BASIC(1000, ""), GOLDEN(1500, "doré"), CHROMA(2000, "chroma"), STAR(3000, "star"); - private final int cost; private final String identifier; - InvocationType(final int cost, final String identifier) { - this.cost = cost; - this.identifier = identifier; - } - - - public int getCost() { - return cost; - } - @Override public String getIdentifier() { return this.identifier; diff --git a/src/main/java/me/alexpresso/zuninja/classes/config/Reward.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/Reward.java similarity index 52% rename from src/main/java/me/alexpresso/zuninja/classes/config/Reward.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/Reward.java index b628649..2028203 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/config/Reward.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/Reward.java @@ -1,16 +1,13 @@ package me.alexpresso.zuninja.classes.config; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@Getter +@RequiredArgsConstructor public enum Reward { DAILY(1000), SUBSCRIPTION(200); private final int value; - - Reward(final int value) { - this.value = value; - } - - public int getValue() { - return this.value; - } } diff --git a/src/main/java/me/alexpresso/zuninja/classes/config/ShinyLevel.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/ShinyLevel.java similarity index 56% rename from src/main/java/me/alexpresso/zuninja/classes/config/ShinyLevel.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/ShinyLevel.java index 7fd4653..fd98fd4 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/config/ShinyLevel.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/config/ShinyLevel.java @@ -1,36 +1,22 @@ package me.alexpresso.zuninja.classes.config; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + import java.util.Arrays; +@Getter +@RequiredArgsConstructor public enum ShinyLevel { NORMAL(0, "", "Normales"), GOLDEN(1, "+", "Dorées"), CHROMA(2, "*", "Chromas"), UNKNOWN(-1, "?", "???"); - private final int value; private final String discriminator; private final String displayName; - ShinyLevel(final int value, final String discriminator, final String displayName) { - this.value = value; - this.discriminator = discriminator; - this.displayName = displayName; - } - - public int getValue() { - return this.value; - } - - public String getDiscriminator() { - return this.discriminator; - } - - public String getDisplayName() { - return this.displayName; - } - public static ShinyLevel valueOf(final int shinyLevel) { return Arrays.stream(values()) .filter(v -> v.getValue() == shinyLevel) diff --git a/src/main/java/me/alexpresso/zuninja/classes/corporation/Corporation.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/corporation/Corporation.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/corporation/Corporation.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/corporation/Corporation.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonus.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonus.java similarity index 64% rename from src/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonus.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonus.java index ecdeb82..a779e9f 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonus.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonus.java @@ -1,17 +1,11 @@ package me.alexpresso.zuninja.classes.corporation; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +@Getter @JsonIgnoreProperties(ignoreUnknown = true) public class CorporationBonus { private int level; private CorporationBonusType type; - - public int getLevel() { - return this.level; - } - - public CorporationBonusType getType() { - return this.type; - } } diff --git a/src/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonusType.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonusType.java similarity index 77% rename from src/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonusType.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonusType.java index 0a5ceec..e4d6604 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonusType.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/corporation/CorporationBonusType.java @@ -1,5 +1,8 @@ package me.alexpresso.zuninja.classes.corporation; +import lombok.Getter; + +@Getter public enum CorporationBonusType { MEMBER_COUNT, @@ -7,11 +10,9 @@ public enum CorporationBonusType { RECYCLE_LORE_DUST(true, 0.01), RECYCLE_LORE_FRAGMENT(true, 0.01); - private final boolean rewarding; private final double multiplier; - CorporationBonusType() { this(false, 0); } @@ -19,13 +20,4 @@ public enum CorporationBonusType { this.rewarding = rewarding; this.multiplier = multiplier; } - - - public boolean isRewarding() { - return rewarding; - } - - public double getMultiplier() { - return multiplier; - } } diff --git a/src/main/java/me/alexpresso/zuninja/classes/item/EvolutionDetail.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/EvolutionDetail.java similarity index 71% rename from src/main/java/me/alexpresso/zuninja/classes/item/EvolutionDetail.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/EvolutionDetail.java index 147ff95..0abe529 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/item/EvolutionDetail.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/EvolutionDetail.java @@ -2,21 +2,15 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; import java.util.List; +@Getter @JsonIgnoreProperties(ignoreUnknown = true) public class EvolutionDetail { @JsonProperty("evolutionUpgradeDustCost") private List upgradeCosts; @JsonProperty("evolutionItems") private List items; - - public List getUpgradeCosts() { - return this.upgradeCosts; - } - - public List getItems() { - return this.items; - } } diff --git a/src/main/java/me/alexpresso/zuninja/classes/item/Inventory.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/Inventory.java similarity index 86% rename from src/main/java/me/alexpresso/zuninja/classes/item/Inventory.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/Inventory.java index 783ed05..c4192ff 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/item/Inventory.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/Inventory.java @@ -1,5 +1,6 @@ package me.alexpresso.zuninja.classes.item; +import lombok.Getter; import me.alexpresso.zuninja.classes.config.ShinyLevel; import me.alexpresso.zuninja.classes.projection.ItemProjection; import me.alexpresso.zuninja.classes.projection.summary.SummaryElement; @@ -7,6 +8,7 @@ import java.util.concurrent.ConcurrentHashMap; +@Getter public class Inventory extends ConcurrentHashMap implements SummaryElement { private final InventoryType type; @@ -19,14 +21,6 @@ public Inventory(final InventoryType type, final ShinyLevel shinyLevel) { this.shinyLevel = shinyLevel; } - public InventoryType getType() { - return this.type; - } - - public ShinyLevel getShinyLevel() { - return this.shinyLevel; - } - @Override public String getDisplayName() { return String.format("%s %s", this.type.getDisplayName(), this.shinyLevel.getDisplayName()); diff --git a/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/InventoryType.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/InventoryType.java new file mode 100644 index 0000000..fbd3565 --- /dev/null +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/InventoryType.java @@ -0,0 +1,14 @@ +package me.alexpresso.zuninja.classes.item; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@Getter +@RequiredArgsConstructor +public enum InventoryType { + CLASSIC(0, "Cartes"), + UPGRADE(1, "Constellations"); + + private final int rarityOffset; + private final String displayName; +} diff --git a/src/main/java/me/alexpresso/zuninja/classes/item/ItemEvolutionDetail.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/ItemEvolutionDetail.java similarity index 64% rename from src/main/java/me/alexpresso/zuninja/classes/item/ItemEvolutionDetail.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/ItemEvolutionDetail.java index 7becc7d..8a2e681 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/item/ItemEvolutionDetail.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/ItemEvolutionDetail.java @@ -2,22 +2,15 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; import me.alexpresso.zuninja.domain.nodes.item.Item; +@Getter +@Setter @JsonIgnoreProperties(ignoreUnknown = true) public class ItemEvolutionDetail { @JsonProperty("isOwned") private boolean owned; private Item item; - - public boolean isOwned() { - return this.owned; - } - public void setOwned(final boolean owned) { - this.owned = owned; - } - - public Item getItem() { - return this.item; - } } diff --git a/src/main/java/me/alexpresso/zuninja/classes/item/MoneyType.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/MoneyType.java similarity index 81% rename from src/main/java/me/alexpresso/zuninja/classes/item/MoneyType.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/MoneyType.java index 2d9c41f..ce8accf 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/item/MoneyType.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/MoneyType.java @@ -1,14 +1,15 @@ package me.alexpresso.zuninja.classes.item; +import lombok.Getter; import me.alexpresso.zuninja.classes.corporation.CorporationBonusType; +@Getter public enum MoneyType { BALANCE("Z Monnaie", CorporationBonusType.LOOT), LORE_DUST("Poudre créatrice", CorporationBonusType.RECYCLE_LORE_DUST), LORE_FRAGMENT("Cristaux d'histoire", CorporationBonusType.RECYCLE_LORE_FRAGMENT), UPGRADE_DUST("Eclats d'étoile"); - private final String name; private final CorporationBonusType bonusType; @@ -19,12 +20,4 @@ public enum MoneyType { this.name = name; this.bonusType = bonusType; } - - public String getName() { - return this.name; - } - - public CorporationBonusType getBonusType() { - return this.bonusType; - } } diff --git a/src/main/java/me/alexpresso/zuninja/classes/item/RarityType.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/RarityType.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/item/RarityType.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/item/RarityType.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/mode/GameMode.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/mode/GameMode.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/mode/GameMode.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/mode/GameMode.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/plugins/ZUNinjaPlugin.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/plugins/ZUNinjaPlugin.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/plugins/ZUNinjaPlugin.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/plugins/ZUNinjaPlugin.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/InventoryProjection.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/InventoryProjection.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/projection/InventoryProjection.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/InventoryProjection.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/ItemCountProjection.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/ItemCountProjection.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/projection/ItemCountProjection.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/ItemCountProjection.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/ItemProjection.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/ItemProjection.java similarity index 98% rename from src/main/java/me/alexpresso/zuninja/classes/projection/ItemProjection.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/ItemProjection.java index b217a46..ceb7dec 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/projection/ItemProjection.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/ItemProjection.java @@ -99,6 +99,10 @@ public int getUpgradeLevel() { return this.upgradeLevel; } + public ShinyLevel getShinyLevel() { + return this.shinyLevel; + } + public void consume(final int quantity) { this.quantity -= quantity; } diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/ProjectionState.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/ProjectionState.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/projection/ProjectionState.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/ProjectionState.java index a939cc2..0f28c26 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/projection/ProjectionState.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/ProjectionState.java @@ -121,6 +121,10 @@ public Long getPoolStarItemsCount() { return this.poolStarItemsCount; } + public EvolutionDetail getEvolutionDetail() { + return this.evolutionDetail; + } + public ConfigPart getConfigFor(final int rarity, final ShinyLevel shinyLevel) { return this.config.getConfigParts().get(rarity) .get(shinyLevel); @@ -147,8 +151,4 @@ public Set getChallenges() { public Map> getDailyMap() { return this.dailyMap; } - - public EvolutionDetail getEvolutionDetail() { - return this.evolutionDetail; - } } diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/ProjectionSummary.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/ProjectionSummary.java similarity index 88% rename from src/main/java/me/alexpresso/zuninja/classes/projection/ProjectionSummary.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/ProjectionSummary.java index 330a53a..ecb74d7 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/projection/ProjectionSummary.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/ProjectionSummary.java @@ -1,5 +1,6 @@ package me.alexpresso.zuninja.classes.projection; +import lombok.Getter; import me.alexpresso.zuninja.classes.projection.summary.Change; import me.alexpresso.zuninja.classes.projection.action.ActionList; import me.alexpresso.zuninja.classes.projection.summary.SummaryElement; @@ -8,6 +9,7 @@ import java.util.HashMap; import java.util.Map; +@Getter public class ProjectionSummary { private final ActionList actions; private final Map changes; @@ -17,14 +19,6 @@ public ProjectionSummary(final ActionList actions) { this.changes = new HashMap<>(); } - public ActionList getActions() { - return this.actions; - } - - public Map getChanges() { - return this.changes; - } - public void put(final SummaryElement element, final Change change) { if(change.before().equals(change.after())) return; diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/action/Action.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/Action.java similarity index 92% rename from src/main/java/me/alexpresso/zuninja/classes/projection/action/Action.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/Action.java index f39e608..ce8d941 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/projection/action/Action.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/Action.java @@ -1,13 +1,15 @@ package me.alexpresso.zuninja.classes.projection.action; +import lombok.Getter; + import java.util.Optional; +@Getter public class Action { private final ActionType type; private final ActionElement target; private final Runnable runnable; - public Action(final ActionType type, final ActionElement target) { this(type, target, null); } @@ -17,11 +19,6 @@ public Action(final ActionType type, final ActionElement target, final Runnable this.runnable = runnable; } - - public ActionType getType() { - return type; - } - public Optional getTarget() { return Optional.ofNullable(this.target); } diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionElement.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionElement.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionElement.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionElement.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionElementList.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionElementList.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionElementList.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionElementList.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionList.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionList.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionList.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionList.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionType.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionType.java similarity index 83% rename from src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionType.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionType.java index 5bacc53..fd86264 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionType.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/ActionType.java @@ -1,5 +1,8 @@ package me.alexpresso.zuninja.classes.projection.action; +import lombok.Getter; + +@Getter public enum ActionType { RECYCLE("recyclage", true), CRAFT("création", true), @@ -26,12 +29,4 @@ public enum ActionType { this.command = command; this.combinable = combinable; } - - public String getCommand() { - return this.command; - } - - public boolean isCombinable() { - return this.combinable; - } } diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/action/ShinyElement.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/ShinyElement.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/projection/action/ShinyElement.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/action/ShinyElement.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/summary/Change.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/summary/Change.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/projection/summary/Change.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/summary/Change.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/summary/SummaryElement.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/summary/SummaryElement.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/classes/projection/summary/SummaryElement.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/summary/SummaryElement.java diff --git a/src/main/java/me/alexpresso/zuninja/classes/projection/summary/SummaryType.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/summary/SummaryType.java similarity index 58% rename from src/main/java/me/alexpresso/zuninja/classes/projection/summary/SummaryType.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/summary/SummaryType.java index aa737cb..410214f 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/projection/summary/SummaryType.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/projection/summary/SummaryType.java @@ -1,5 +1,10 @@ package me.alexpresso.zuninja.classes.projection.summary; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@Getter +@RequiredArgsConstructor public enum SummaryType { INVENTORY("Inventaires"), CHALLENGE("Challenges"), @@ -7,12 +12,4 @@ public enum SummaryType { MONEY("Monnaies"); private final String displayName; - - SummaryType(final String displayName) { - this.displayName = displayName; - } - - public String getDisplayName() { - return this.displayName; - } } diff --git a/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexActivity.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexActivity.java similarity index 83% rename from src/main/java/me/alexpresso/zuninja/classes/vortex/VortexActivity.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexActivity.java index 0ce25b9..a354617 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexActivity.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexActivity.java @@ -2,22 +2,18 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; import java.util.ArrayList; import java.util.List; +@Getter @JsonIgnoreProperties(ignoreUnknown = true) public class VortexActivity { @JsonProperty("towerStats") private final List vortexStats; - public VortexActivity() { this.vortexStats = new ArrayList<>(); } - - - public List getVortexStats() { - return this.vortexStats; - } } diff --git a/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexDetail.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexDetail.java similarity index 87% rename from src/main/java/me/alexpresso/zuninja/classes/vortex/VortexDetail.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexDetail.java index 353f351..cf6b381 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexDetail.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexDetail.java @@ -2,19 +2,16 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; import java.util.Map; +@Getter @JsonIgnoreProperties(ignoreUnknown = true) public class VortexDetail { private String packId; - - public String getPackId() { - return this.packId; - } - @JsonProperty("tower") public void unpackVortex(final Map data) { data.computeIfPresent("pack", (k, v) -> this.packId = ((Map) v).get("id").toString()); diff --git a/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexStats.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexStats.java similarity index 86% rename from src/main/java/me/alexpresso/zuninja/classes/vortex/VortexStats.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexStats.java index a3d0f6a..c767c0e 100644 --- a/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexStats.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/classes/vortex/VortexStats.java @@ -6,12 +6,14 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; +import lombok.Getter; import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; +@Getter @JsonIgnoreProperties(ignoreUnknown = true) public class VortexStats { @JsonProperty("towerLogCount") @@ -29,22 +31,10 @@ public class VortexStats { @JsonDeserialize(using = LocalDateDeserializer.class) private LocalDate endDate; - public int getLogCount() { - return this.logCount; - } - public int getFloor() { return this.floorIndex + 1; } - public LocalDate getBeginDate() { - return this.beginDate; - } - - public LocalDate getEndDate() { - return this.endDate; - } - public Long getTotalAchievable(final LocalDateTime now) { final var beginNoon = LocalDateTime.of(this.beginDate, LocalTime.NOON); return Duration.between(beginNoon, now).toDays(); diff --git a/src/main/java/me/alexpresso/zuninja/components/TaskManager.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/components/TaskManager.java similarity index 74% rename from src/main/java/me/alexpresso/zuninja/components/TaskManager.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/components/TaskManager.java index a421614..e82b31f 100644 --- a/src/main/java/me/alexpresso/zuninja/components/TaskManager.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/components/TaskManager.java @@ -1,13 +1,13 @@ package me.alexpresso.zuninja.components; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import me.alexpresso.zuninja.exceptions.NodeNotFoundException; import me.alexpresso.zuninja.services.advise.AdviceService; import me.alexpresso.zuninja.services.event.EventService; import me.alexpresso.zuninja.services.item.ItemService; import me.alexpresso.zuninja.services.taskexecutor.TaskExecutorService; import me.alexpresso.zuninja.services.user.UserService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -16,11 +16,11 @@ import java.security.NoSuchAlgorithmException; import java.util.stream.Collectors; +@Slf4j @Component +@RequiredArgsConstructor public class TaskManager { - private static final Logger logger = LoggerFactory.getLogger(TaskManager.class); - private final ItemService itemService; private final EventService eventService; private final UserService userService; @@ -33,28 +33,15 @@ public class TaskManager { private boolean runAutomatedTasks; - public TaskManager(final ItemService is, - final EventService es, - final UserService us, - final AdviceService as, - final TaskExecutorService tes) { - this.itemService = is; - this.eventService = es; - this.userService = us; - this.adviceService = as; - this.taskExecutorService = tes; - } - - @Scheduled(fixedDelay = 30 * 60 * 1000) public void updateLore() throws IOException, InterruptedException, NodeNotFoundException, NoSuchAlgorithmException { - logger.info("Updating lore..."); + log.info("Updating lore..."); final var items = this.itemService.updateItems(); this.itemService.updateFusions(items); this.eventService.updateEvents(); - logger.info("Done updating lore."); + log.info("Done updating lore."); for(final var tag : this.discordTags) { this.userService.updateUserAndInventory(tag); diff --git a/src/main/java/me/alexpresso/zuninja/controllers/AdviceController.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/controllers/AdviceController.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/controllers/AdviceController.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/controllers/AdviceController.java diff --git a/src/main/java/me/alexpresso/zuninja/domain/base/BaseGraphObject.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/base/BaseGraphObject.java similarity index 62% rename from src/main/java/me/alexpresso/zuninja/domain/base/BaseGraphObject.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/domain/base/BaseGraphObject.java index f19759c..cc5c96d 100644 --- a/src/main/java/me/alexpresso/zuninja/domain/base/BaseGraphObject.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/base/BaseGraphObject.java @@ -1,25 +1,19 @@ package me.alexpresso.zuninja.domain.base; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; import org.springframework.data.annotation.Id; import org.springframework.data.neo4j.core.schema.GeneratedValue; +@Getter +@Setter +@Accessors(chain = true) @JsonIgnoreProperties(ignoreUnknown = true) public class BaseGraphObject { @Id @GeneratedValue protected String graphObjectId; protected String id; - - public String getGraphObjectId() { - return this.graphObjectId; - } - - public String getId() { - return this.id; - } - public BaseGraphObject setId(String id) { - this.id = id; - return this; - } } diff --git a/src/main/java/me/alexpresso/zuninja/domain/nodes/event/Event.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/event/Event.java similarity index 56% rename from src/main/java/me/alexpresso/zuninja/domain/nodes/event/Event.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/event/Event.java index 136c76e..16302bf 100644 --- a/src/main/java/me/alexpresso/zuninja/domain/nodes/event/Event.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/event/Event.java @@ -5,6 +5,9 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; import me.alexpresso.zuninja.classes.projection.action.ActionElement; import me.alexpresso.zuninja.domain.base.BaseGraphObject; import org.springframework.data.neo4j.core.schema.Node; @@ -12,6 +15,9 @@ import java.time.LocalDateTime; import java.util.Map; +@Getter +@Setter +@Accessors(chain = true) @Node public class Event extends BaseGraphObject implements ActionElement { @@ -27,59 +33,6 @@ public class Event extends BaseGraphObject implements ActionElement { private boolean oneTime; private String packId; - public int getBalanceCost() { - return balanceCost; - } - - public Event setBalanceCost(int balanceCost) { - this.balanceCost = balanceCost; - return this; - } - - public String getName() { - return name; - } - - public Event setName(String name) { - this.name = name; - return this; - } - - public LocalDateTime getBeginDate() { - return beginDate; - } - - public Event setBeginDate(LocalDateTime beginDate) { - this.beginDate = beginDate; - return this; - } - - public LocalDateTime getEndDate() { - return endDate; - } - - public Event setEndDate(LocalDateTime endDate) { - this.endDate = endDate; - return this; - } - - public boolean isOneTime() { - return this.oneTime; - } - - public Event setOneTime(final boolean oneTime) { - this.oneTime = oneTime; - return this; - } - - public String getPackId() { - return this.packId; - } - - public Event setPackId(final String packId) { - this.packId = packId; - return this; - } @JsonProperty("pack") public void unpackEvent(final Map pack) { diff --git a/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Fusion.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Fusion.java similarity index 88% rename from src/main/java/me/alexpresso/zuninja/domain/nodes/item/Fusion.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Fusion.java index 9f37a0e..f7fe384 100644 --- a/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Fusion.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Fusion.java @@ -3,6 +3,9 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; import me.alexpresso.zuninja.domain.base.BaseGraphObject; import me.alexpresso.zuninja.domain.relations.FusionToInput; import org.springframework.data.neo4j.core.schema.Node; @@ -14,6 +17,9 @@ import java.util.function.Function; import java.util.stream.Collectors; +@Getter +@Setter +@Accessors(chain = true) @Node public class Fusion extends BaseGraphObject { @Relationship(type = "FUSION_INPUT", direction = Relationship.Direction.INCOMING) @@ -21,11 +27,6 @@ public class Fusion extends BaseGraphObject { @Relationship(type = "FUSION_RESULT", direction = Relationship.Direction.OUTGOING) private Item result; - - public Set getInputs() { - return this.inputs; - } - @JsonIgnore public Fusion setInputs(final Map items) { this.inputs.clear(); @@ -50,14 +51,6 @@ private void fillInputs(final Set items) { this.inputs = new HashSet<>(inputs.values()); } - public Item getResult() { - return this.result; - } - public Fusion setResult(final Item item) { - this.result = item; - return this; - } - @JsonProperty("item") public void unpackResultItem(final Item item) { this.result = item; diff --git a/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Item.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Item.java new file mode 100644 index 0000000..6cc2c90 --- /dev/null +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Item.java @@ -0,0 +1,60 @@ +package me.alexpresso.zuninja.domain.nodes.item; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; +import me.alexpresso.zuninja.classes.projection.action.ActionElement; +import me.alexpresso.zuninja.domain.base.BaseGraphObject; +import me.alexpresso.zuninja.domain.relations.InputToFusion; +import me.alexpresso.zuninja.domain.relations.InventoryItem; +import org.springframework.data.neo4j.core.schema.Node; +import org.springframework.data.neo4j.core.schema.Relationship; + +import java.util.HashSet; +import java.util.Set; + +@Getter +@Setter +@Accessors(chain = true) +@Node +public class Item extends BaseGraphObject implements ActionElement { + @Relationship(type = "INVENTORY_ITEM", direction = Relationship.Direction.INCOMING) + private Set inventories = new HashSet<>(); + @Relationship(type = "HOLDS", direction = Relationship.Direction.INCOMING) + private Pack pack; + @Relationship(type = "FUSION_INPUT", direction = Relationship.Direction.OUTGOING) + private Set inputOfFusions = new HashSet<>(); + @Relationship(type = "FUSION_RESULT", direction = Relationship.Direction.INCOMING) + private Set resultOfFusions = new HashSet<>(); + @JsonProperty("identifier") + private Long itemIdentifier; + private String name; + private String genre; + private int rarity; + private String slug; + private Set urls; + private int score; + private int scoreGolden; + @JsonProperty("isCounting") + private boolean counting; + @JsonProperty("isCraftable") + private boolean craftable; + @JsonProperty("isInvocable") + private boolean invocable; + @JsonProperty("isRecyclable") + private boolean recyclable; + @JsonProperty("isTradable") + private boolean tradable; + @JsonProperty("isGoldable") + private boolean goldable; + @JsonProperty("isUpgradable") + private boolean upgradable; + + @Override + @JsonIgnore + public String getIdentifier() { + return this.itemIdentifier.toString(); + } +} diff --git a/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Pack.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Pack.java similarity index 60% rename from src/main/java/me/alexpresso/zuninja/domain/nodes/item/Pack.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Pack.java index 0373537..465d07d 100644 --- a/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Pack.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/item/Pack.java @@ -1,5 +1,8 @@ package me.alexpresso.zuninja.domain.nodes.item; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; import me.alexpresso.zuninja.domain.base.BaseGraphObject; import org.springframework.data.neo4j.core.schema.Node; import org.springframework.data.neo4j.core.schema.Relationship; @@ -7,26 +10,12 @@ import java.util.HashSet; import java.util.Set; +@Getter +@Setter +@Accessors(chain = true) @Node public class Pack extends BaseGraphObject { private String name; @Relationship(type = "HOLDS", direction = Relationship.Direction.OUTGOING) private Set items = new HashSet<>(); - - - public String getName() { - return name; - } - public Pack setName(String name) { - this.name = name; - return this; - } - - public Set getItems() { - return items; - } - public Pack setItems(Set items) { - this.items = items; - return this; - } } diff --git a/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/user/User.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/user/User.java new file mode 100644 index 0000000..07e4e15 --- /dev/null +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/user/User.java @@ -0,0 +1,41 @@ +package me.alexpresso.zuninja.domain.nodes.user; + +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; +import me.alexpresso.zuninja.classes.item.MoneyType; +import me.alexpresso.zuninja.domain.base.BaseGraphObject; +import me.alexpresso.zuninja.domain.relations.InventoryItem; +import org.springframework.data.neo4j.core.schema.Node; +import org.springframework.data.neo4j.core.schema.Relationship; + +import java.util.HashSet; +import java.util.Set; + +@Getter +@Setter +@Accessors(chain = true) +@Node +public class User extends BaseGraphObject { + private String discordId; + private String discordUserName; + private int position; + private int loreDust; + private int loreFragment; + private int upgradeDust; + private int balance; + private String lastAdviceMd5; + @Relationship(type = "USER_STATISTICS", direction = Relationship.Direction.OUTGOING) + private UserStatistics statistics; + @Relationship(type = "INVENTORY_ITEM", direction = Relationship.Direction.OUTGOING) + private Set inventory = new HashSet<>(); + + public int getMoneyAmount(final MoneyType type) { + return switch(type) { + case BALANCE -> this.balance; + case LORE_DUST -> this.loreDust; + case LORE_FRAGMENT -> this.loreFragment; + case UPGRADE_DUST -> this.upgradeDust; + }; + } +} diff --git a/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/user/UserStatistics.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/user/UserStatistics.java new file mode 100644 index 0000000..6056c14 --- /dev/null +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/nodes/user/UserStatistics.java @@ -0,0 +1,40 @@ +package me.alexpresso.zuninja.domain.nodes.user; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; +import me.alexpresso.zuninja.domain.base.BaseGraphObject; +import org.springframework.data.neo4j.core.schema.Node; +import org.springframework.data.neo4j.core.schema.Relationship; + +import java.util.Map; + +@Getter +@Setter +@Accessors(chain = true) +@Node +public class UserStatistics extends BaseGraphObject { + private int achievementCount; + private int achievementLogCount; + private int inventoryCount; + private int inventoryUniqueCount; + private int inventoryUniqueGoldenCount; + private int itemCount; + private int luckyCount; + private int tradeCount; + private String corporationId; + @JsonProperty("isSubscribed") + private boolean subscribed; + @Relationship(type = "USER_STATISTICS", direction = Relationship.Direction.INCOMING) + private User user; + + @JsonProperty("userCorporation") + private void unpackCorporation(final Map userCorporation) { + if(!userCorporation.containsKey("corporation")) + return; + + final Map corporation = (Map) userCorporation.get("corporation"); + corporation.computeIfPresent("id", (k, v) -> this.corporationId = v.toString()); + } +} diff --git a/src/main/java/me/alexpresso/zuninja/domain/relations/FusionToInput.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/relations/FusionToInput.java similarity index 69% rename from src/main/java/me/alexpresso/zuninja/domain/relations/FusionToInput.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/domain/relations/FusionToInput.java index 8dcc674..0005d75 100644 --- a/src/main/java/me/alexpresso/zuninja/domain/relations/FusionToInput.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/relations/FusionToInput.java @@ -1,32 +1,24 @@ package me.alexpresso.zuninja.domain.relations; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; import me.alexpresso.zuninja.domain.base.BaseGraphObject; import me.alexpresso.zuninja.domain.nodes.item.Item; import org.springframework.data.neo4j.core.schema.RelationshipProperties; import org.springframework.data.neo4j.core.schema.TargetNode; +@Getter +@Setter +@NoArgsConstructor @RelationshipProperties public class FusionToInput extends BaseGraphObject { @TargetNode private Item item; private int quantity; - - public FusionToInput() {} public FusionToInput(final Item item, final int quantity) { this.item = item; this.quantity = quantity; } - - - public Item getItem() { - return this.item; - } - - public int getQuantity() { - return this.quantity; - } - public void setQuantity(final int quantity) { - this.quantity = quantity; - } } diff --git a/src/main/java/me/alexpresso/zuninja/domain/relations/InputToFusion.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/relations/InputToFusion.java similarity index 66% rename from src/main/java/me/alexpresso/zuninja/domain/relations/InputToFusion.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/domain/relations/InputToFusion.java index 7d7a751..1614ab4 100644 --- a/src/main/java/me/alexpresso/zuninja/domain/relations/InputToFusion.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/relations/InputToFusion.java @@ -1,25 +1,17 @@ package me.alexpresso.zuninja.domain.relations; +import lombok.Getter; +import lombok.Setter; import me.alexpresso.zuninja.domain.base.BaseGraphObject; import me.alexpresso.zuninja.domain.nodes.item.Fusion; import org.springframework.data.neo4j.core.schema.RelationshipProperties; import org.springframework.data.neo4j.core.schema.TargetNode; +@Getter +@Setter @RelationshipProperties public class InputToFusion extends BaseGraphObject { @TargetNode private Fusion fusion; private int quantity; - - - public Fusion getFusion() { - return this.fusion; - } - - public int getQuantity() { - return this.quantity; - } - public void setQuantity(final int quantity) { - this.quantity = quantity; - } } diff --git a/src/main/java/me/alexpresso/zuninja/domain/relations/InventoryItem.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/relations/InventoryItem.java similarity index 56% rename from src/main/java/me/alexpresso/zuninja/domain/relations/InventoryItem.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/domain/relations/InventoryItem.java index af0b8d3..6c99984 100644 --- a/src/main/java/me/alexpresso/zuninja/domain/relations/InventoryItem.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/domain/relations/InventoryItem.java @@ -1,12 +1,18 @@ package me.alexpresso.zuninja.domain.relations; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; import me.alexpresso.zuninja.classes.config.ShinyLevel; import me.alexpresso.zuninja.domain.base.BaseGraphObject; import me.alexpresso.zuninja.domain.nodes.item.Item; import org.springframework.data.neo4j.core.schema.RelationshipProperties; import org.springframework.data.neo4j.core.schema.TargetNode; +@Getter +@Setter +@Accessors(chain = true) @RelationshipProperties public class InventoryItem extends BaseGraphObject { @@ -18,42 +24,9 @@ public class InventoryItem extends BaseGraphObject { @TargetNode private Item item; - - public ShinyLevel getShinyLevel() { - return this.shinyLevel; - } - public InventoryItem setShinyLevel(final ShinyLevel shinyLevel) { - this.shinyLevel = shinyLevel; - return this; - } - public boolean isUpgrade() { return this.upgradeLevel > 0; } - public Integer getUpgradeLevel() { - return this.upgradeLevel; - } - public InventoryItem setUpgradeLevel(int upgradeLevel) { - this.upgradeLevel = upgradeLevel; - return this; - } - - public int getQuantity() { - return quantity; - } - public InventoryItem setQuantity(int quantity) { - this.quantity = quantity; - return this; - } - - public Item getItem() { - return item; - } - public InventoryItem setItem(Item item) { - this.item = item; - return this; - } - public Boolean isGolden() { return this.golden; diff --git a/src/main/java/me/alexpresso/zuninja/exceptions/BaseCustomException.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/exceptions/BaseCustomException.java similarity index 92% rename from src/main/java/me/alexpresso/zuninja/exceptions/BaseCustomException.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/exceptions/BaseCustomException.java index 975ef61..37c0f89 100644 --- a/src/main/java/me/alexpresso/zuninja/exceptions/BaseCustomException.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/exceptions/BaseCustomException.java @@ -1,7 +1,10 @@ package me.alexpresso.zuninja.exceptions; +import lombok.Getter; + import java.util.Map; +@Getter public class BaseCustomException extends Exception { private final Object errors; diff --git a/src/main/java/me/alexpresso/zuninja/exceptions/NodeNotFoundException.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/exceptions/NodeNotFoundException.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/exceptions/NodeNotFoundException.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/exceptions/NodeNotFoundException.java diff --git a/src/main/java/me/alexpresso/zuninja/exceptions/ProjectionException.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/exceptions/ProjectionException.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/exceptions/ProjectionException.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/exceptions/ProjectionException.java diff --git a/src/main/java/me/alexpresso/zuninja/repositories/EventRepository.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/repositories/EventRepository.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/repositories/EventRepository.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/repositories/EventRepository.java diff --git a/src/main/java/me/alexpresso/zuninja/repositories/FusionRepository.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/repositories/FusionRepository.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/repositories/FusionRepository.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/repositories/FusionRepository.java diff --git a/src/main/java/me/alexpresso/zuninja/repositories/ItemRepository.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/repositories/ItemRepository.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/repositories/ItemRepository.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/repositories/ItemRepository.java diff --git a/src/main/java/me/alexpresso/zuninja/repositories/PackRepository.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/repositories/PackRepository.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/repositories/PackRepository.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/repositories/PackRepository.java diff --git a/src/main/java/me/alexpresso/zuninja/repositories/UserRepository.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/repositories/UserRepository.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/repositories/UserRepository.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/repositories/UserRepository.java diff --git a/src/main/java/me/alexpresso/zuninja/repositories/UserStatisticsRepository.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/repositories/UserStatisticsRepository.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/repositories/UserStatisticsRepository.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/repositories/UserStatisticsRepository.java diff --git a/src/main/java/me/alexpresso/zuninja/services/advise/AdviceService.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/advise/AdviceService.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/services/advise/AdviceService.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/advise/AdviceService.java diff --git a/src/main/java/me/alexpresso/zuninja/services/advise/AdviceServiceImpl.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/advise/AdviceServiceImpl.java similarity index 72% rename from src/main/java/me/alexpresso/zuninja/services/advise/AdviceServiceImpl.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/advise/AdviceServiceImpl.java index b7e9cb6..5792527 100644 --- a/src/main/java/me/alexpresso/zuninja/services/advise/AdviceServiceImpl.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/advise/AdviceServiceImpl.java @@ -1,5 +1,7 @@ package me.alexpresso.zuninja.services.advise; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import me.alexpresso.zuninja.classes.plugins.ZUNinjaPlugin; import me.alexpresso.zuninja.classes.projection.ProjectionSummary; import me.alexpresso.zuninja.exceptions.NodeNotFoundException; @@ -7,32 +9,24 @@ import me.alexpresso.zuninja.services.projection.ProjectionService; import org.pf4j.PluginManager; import org.pf4j.PluginWrapper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import java.io.IOException; import java.security.NoSuchAlgorithmException; +@Slf4j @Service +@RequiredArgsConstructor public class AdviceServiceImpl implements AdviceService { - private static final Logger logger = LoggerFactory.getLogger(AdviceServiceImpl.class); private final ProjectionService projectionService; private final DispatchService dispatchService; private final PluginManager pluginManager; - public AdviceServiceImpl(final ProjectionService ps, final DispatchService ds, final PluginManager pm) { - this.projectionService = ps; - this.dispatchService = ds; - this.pluginManager = pm; - } - - @Override public ProjectionSummary adviseUser(final String discordTag) throws NodeNotFoundException, IOException, InterruptedException, NoSuchAlgorithmException { - logger.info("Preparing to advise {}...", discordTag); + log.info("Preparing to advise {}...", discordTag); final var summary = this.projectionService.makeProjectionsFor(discordTag); this.dispatchService.dispatch(summary, discordTag); @@ -41,7 +35,7 @@ public ProjectionSummary adviseUser(final String discordTag) throws NodeNotFound .map(PluginWrapper::getPlugin) .forEach(p -> ((ZUNinjaPlugin) p).onAdvice(summary)); - logger.info("Done advising {}.", discordTag); + log.info("Done advising {}.", discordTag); return summary; } diff --git a/src/main/java/me/alexpresso/zuninja/services/config/ConfigService.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/config/ConfigService.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/services/config/ConfigService.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/config/ConfigService.java diff --git a/src/main/java/me/alexpresso/zuninja/services/config/ConfigServiceImpl.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/config/ConfigServiceImpl.java similarity index 88% rename from src/main/java/me/alexpresso/zuninja/services/config/ConfigServiceImpl.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/config/ConfigServiceImpl.java index 689a042..7945e8e 100644 --- a/src/main/java/me/alexpresso/zuninja/services/config/ConfigServiceImpl.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/config/ConfigServiceImpl.java @@ -1,6 +1,7 @@ package me.alexpresso.zuninja.services.config; import com.fasterxml.jackson.core.type.TypeReference; +import lombok.RequiredArgsConstructor; import me.alexpresso.zuninja.classes.config.Config; import me.alexpresso.zuninja.classes.config.ConfigPart; import me.alexpresso.zuninja.services.request.RequestService; @@ -10,16 +11,12 @@ import java.util.Set; @Service +@RequiredArgsConstructor public class ConfigServiceImpl implements ConfigService { private final RequestService requestService; - public ConfigServiceImpl(final RequestService rs) { - this.requestService = rs; - } - - @Override public Config fetchConfiguration() throws IOException, InterruptedException { final var parts = (Set) this.requestService.request("/public/recycle/config", "GET", new TypeReference>() {}); diff --git a/src/main/java/me/alexpresso/zuninja/services/corporation/CorporationService.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/corporation/CorporationService.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/services/corporation/CorporationService.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/corporation/CorporationService.java diff --git a/src/main/java/me/alexpresso/zuninja/services/corporation/CorporationServiceImpl.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/corporation/CorporationServiceImpl.java similarity index 73% rename from src/main/java/me/alexpresso/zuninja/services/corporation/CorporationServiceImpl.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/corporation/CorporationServiceImpl.java index 6850084..20a9b06 100644 --- a/src/main/java/me/alexpresso/zuninja/services/corporation/CorporationServiceImpl.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/corporation/CorporationServiceImpl.java @@ -1,27 +1,20 @@ package me.alexpresso.zuninja.services.corporation; import com.fasterxml.jackson.core.type.TypeReference; +import lombok.RequiredArgsConstructor; import me.alexpresso.zuninja.classes.corporation.Corporation; import me.alexpresso.zuninja.services.request.RequestService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import java.io.IOException; @Service +@RequiredArgsConstructor public class CorporationServiceImpl implements CorporationService { - private final static Logger logger = LoggerFactory.getLogger(CorporationServiceImpl.class); - private final RequestService requestService; - public CorporationServiceImpl(RequestService requestService) { - this.requestService = requestService; - } - - @Override public Corporation fetchCorporation(final String id) throws IOException, InterruptedException { return (Corporation) this.requestService.request( diff --git a/src/main/java/me/alexpresso/zuninja/services/dispatch/DispatchService.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/dispatch/DispatchService.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/services/dispatch/DispatchService.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/dispatch/DispatchService.java diff --git a/src/main/java/me/alexpresso/zuninja/services/dispatch/DispatchServiceImpl.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/dispatch/DispatchServiceImpl.java similarity index 94% rename from src/main/java/me/alexpresso/zuninja/services/dispatch/DispatchServiceImpl.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/dispatch/DispatchServiceImpl.java index f3cef1b..0d7adb0 100644 --- a/src/main/java/me/alexpresso/zuninja/services/dispatch/DispatchServiceImpl.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/dispatch/DispatchServiceImpl.java @@ -5,12 +5,11 @@ import club.minnced.discord.webhook.send.WebhookEmbed; import club.minnced.discord.webhook.send.WebhookEmbedBuilder; import club.minnced.discord.webhook.send.WebhookMessageBuilder; +import lombok.extern.slf4j.Slf4j; import me.alexpresso.zuninja.classes.projection.ProjectionSummary; import me.alexpresso.zuninja.classes.projection.action.ActionElement; import me.alexpresso.zuninja.exceptions.NodeNotFoundException; import me.alexpresso.zuninja.repositories.UserRepository; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -22,10 +21,10 @@ import java.util.Optional; import java.util.stream.Collectors; +@Slf4j @Service public class DispatchServiceImpl implements DispatchService { - private final static Logger logger = LoggerFactory.getLogger(DispatchServiceImpl.class); private final WebhookClient client; private final UserRepository userRepository; @@ -50,7 +49,7 @@ public DispatchServiceImpl(@Value(value = "${webhookUrl}") final String webhookU @Override public void dispatch(final WebhookMessageBuilder message) { if (this.client == null) { - logger.info("Not dispatching to Discord because no webhook URL was provided."); + log.info("Not dispatching to Discord because no webhook URL was provided."); return; } diff --git a/src/main/java/me/alexpresso/zuninja/services/event/EventService.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/event/EventService.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/services/event/EventService.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/event/EventService.java diff --git a/src/main/java/me/alexpresso/zuninja/services/event/EventServiceImpl.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/event/EventServiceImpl.java similarity index 80% rename from src/main/java/me/alexpresso/zuninja/services/event/EventServiceImpl.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/event/EventServiceImpl.java index 0a78acf..b0264d6 100644 --- a/src/main/java/me/alexpresso/zuninja/services/event/EventServiceImpl.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/event/EventServiceImpl.java @@ -1,11 +1,11 @@ package me.alexpresso.zuninja.services.event; import com.fasterxml.jackson.core.type.TypeReference; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import me.alexpresso.zuninja.domain.nodes.event.Event; import me.alexpresso.zuninja.repositories.EventRepository; import me.alexpresso.zuninja.services.request.RequestService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import java.io.IOException; @@ -13,21 +13,15 @@ import java.util.function.Function; import java.util.stream.Collectors; +@Slf4j @Service +@RequiredArgsConstructor public class EventServiceImpl implements EventService { - private final static Logger logger = LoggerFactory.getLogger(EventServiceImpl.class); - private final RequestService requestService; private final EventRepository eventRepository; - public EventServiceImpl(final RequestService rs, final EventRepository er) { - this.requestService = rs; - this.eventRepository = er; - } - - @Override public List fetchEvents() throws IOException, InterruptedException { return (List) this.requestService.request("/public/event/current", "GET", new TypeReference>() {}); @@ -40,7 +34,7 @@ public List getEvents() { @Override public void updateEvents() throws IOException, InterruptedException { - logger.info("Updating events..."); + log.info("Updating events..."); final var events = this.fetchEvents(); final var dbEvents = this.getEvents().stream() @@ -56,6 +50,6 @@ public void updateEvents() throws IOException, InterruptedException { this.eventRepository.saveAll(dbEvents.values()); - logger.info("Events updated."); + log.info("Events updated."); } } diff --git a/src/main/java/me/alexpresso/zuninja/services/item/ItemService.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/item/ItemService.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/services/item/ItemService.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/item/ItemService.java diff --git a/src/main/java/me/alexpresso/zuninja/services/item/ItemServiceImpl.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/item/ItemServiceImpl.java similarity index 83% rename from src/main/java/me/alexpresso/zuninja/services/item/ItemServiceImpl.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/item/ItemServiceImpl.java index 6830c1f..ab33a01 100644 --- a/src/main/java/me/alexpresso/zuninja/services/item/ItemServiceImpl.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/item/ItemServiceImpl.java @@ -1,6 +1,8 @@ package me.alexpresso.zuninja.services.item; import com.fasterxml.jackson.core.type.TypeReference; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import me.alexpresso.zuninja.domain.nodes.item.Fusion; import me.alexpresso.zuninja.domain.nodes.item.Item; import me.alexpresso.zuninja.domain.nodes.item.Pack; @@ -10,8 +12,6 @@ import me.alexpresso.zuninja.repositories.PackRepository; import me.alexpresso.zuninja.services.request.RequestService; import me.alexpresso.zuninja.utils.StreamUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import java.io.IOException; @@ -21,25 +21,17 @@ import java.util.function.Function; import java.util.stream.Collectors; +@Slf4j @Service +@RequiredArgsConstructor public class ItemServiceImpl implements ItemService { - private static final Logger logger = LoggerFactory.getLogger(ItemServiceImpl.class); - private final FusionRepository fusionRepository; private final ItemRepository itemRepository; private final PackRepository packRepository; private final RequestService requestService; - public ItemServiceImpl(final FusionRepository fr, final ItemRepository ir, final PackRepository pr, final RequestService rs) { - this.fusionRepository = fr; - this.itemRepository = ir; - this.packRepository = pr; - this.requestService = rs; - } - - @Override public List fetchItems() throws IOException, InterruptedException { return (List) this.requestService.request("/public/item", "GET", new TypeReference>() {}); @@ -52,7 +44,7 @@ public List getItems() { @Override public Map updateItems() throws IOException, InterruptedException { - logger.debug("Updating items..."); + log.debug("Updating items..."); final var items = this.fetchItems(); final var dbItems = this.getItems().stream() @@ -82,14 +74,14 @@ public Map updateItems() throws IOException, InterruptedException .setUpgradable(item.isUpgradable()) ); - logger.info("({}/{}) Updated {} ", count.getAndIncrement(), items.size(), item.getName()); + log.info("({}/{}) Updated {} ", count.getAndIncrement(), items.size(), item.getName()); } catch (Exception e) { - logger.error("An error occurred while fetching {}: {}", item.getName(), e.getMessage()); + log.error("An error occurred while fetching {}: {}", item.getName(), e.getMessage()); } }); this.itemRepository.saveAll(dbItems.values()); - logger.debug("Updated items."); + log.debug("Updated items."); return dbItems; } @@ -106,7 +98,7 @@ public List getFusions() { @Override public void updateFusions(final Map items) throws IOException, InterruptedException { - logger.debug("Updating fusions..."); + log.debug("Updating fusions..."); final var fusions = this.fetchFusions(); final var dbFusions = this.getFusions().stream() @@ -120,6 +112,6 @@ public void updateFusions(final Map items) throws IOException, Int )); this.fusionRepository.saveAll(dbFusions.values()); - logger.debug("Updated fusions."); + log.debug("Updated fusions."); } } diff --git a/src/main/java/me/alexpresso/zuninja/services/projection/ProjectionService.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/projection/ProjectionService.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/services/projection/ProjectionService.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/projection/ProjectionService.java diff --git a/src/main/java/me/alexpresso/zuninja/services/projection/ProjectionServiceImpl.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/projection/ProjectionServiceImpl.java similarity index 95% rename from src/main/java/me/alexpresso/zuninja/services/projection/ProjectionServiceImpl.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/projection/ProjectionServiceImpl.java index c4bd077..6bc2a28 100644 --- a/src/main/java/me/alexpresso/zuninja/services/projection/ProjectionServiceImpl.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/projection/ProjectionServiceImpl.java @@ -1,5 +1,7 @@ package me.alexpresso.zuninja.services.projection; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import me.alexpresso.zuninja.classes.activity.Loot; import me.alexpresso.zuninja.classes.activity.LootType; import me.alexpresso.zuninja.classes.cache.CacheEntry; @@ -7,7 +9,6 @@ import me.alexpresso.zuninja.classes.challenge.Challenge; import me.alexpresso.zuninja.classes.config.Cost; import me.alexpresso.zuninja.classes.config.InvocationType; -import me.alexpresso.zuninja.classes.config.Reward; import me.alexpresso.zuninja.classes.config.ShinyLevel; import me.alexpresso.zuninja.classes.corporation.Corporation; import me.alexpresso.zuninja.classes.item.InventoryType; @@ -31,8 +32,6 @@ import me.alexpresso.zuninja.services.corporation.CorporationService; import me.alexpresso.zuninja.services.user.UserService; import me.alexpresso.zuninja.services.vortex.VortexService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import java.io.IOException; @@ -44,11 +43,11 @@ import java.util.function.Function; import java.util.stream.Collectors; +@Slf4j @Service +@RequiredArgsConstructor public class ProjectionServiceImpl implements ProjectionService { - private static final Logger logger = LoggerFactory.getLogger(ProjectionServiceImpl.class); - private final FusionRepository fusionRepository; private final UserService userService; private final EventRepository eventRepository; @@ -63,25 +62,6 @@ public class ProjectionServiceImpl implements ProjectionService { private final static int BONUS_CONSECUTIVE_DAYS = 7; - public ProjectionServiceImpl(final FusionRepository fr, - final UserService us, - final EventRepository er, - final MemoryCache mc, - final ConfigService cs, - final VortexService vs, - final CorporationService cps, - final ItemRepository ir) { - this.fusionRepository = fr; - this.userService = us; - this.eventRepository = er; - this.memoryCache = mc; - this.configService = cs; - this.corporationService = cps; - this.vortexService = vs; - this.itemRepository = ir; - } - - @Override public ProjectionSummary makeProjectionsFor(final String discordTag) throws NodeNotFoundException, IOException, InterruptedException { final var actions = new ActionList(); @@ -241,7 +221,7 @@ private void projectFusions(final ActionList actions, final ProjectionState stat this.produceItem(state, fusion.getResult(), shinyLevel); this.addAction(state, actions, ActionType.FUSION, new ShinyElement(fusion.getResult(), shinyLevel)); } catch (ProjectionException e) { - logger.error(e.getMessage()); + log.error(e.getMessage()); } } } @@ -275,7 +255,7 @@ private void projectGoldUpgrades(final ActionList actions, final ProjectionState moneyAmount.getAndAdd(-cost); iProj.getCountProjection().updateCount(ActionType.ENCHANT, 1); } catch (ProjectionException e) { - logger.error(e.getMessage()); + log.error(e.getMessage()); } }); } @@ -428,7 +408,7 @@ private void projectRecycle(final ActionList actions, final ProjectionState stat moneyAmount.getAndAdd(recycleValue * count); toRecycle.add(new ShinyElement(iProj.getItem(), shinyLevel), count); } catch (ProjectionException e) { - logger.error(e.getMessage()); + log.error(e.getMessage()); } } @@ -458,7 +438,7 @@ private void projectUpgrades(final ActionList actions, final ProjectionState sta iProj.getCountProjection().updateCount(ActionType.CONSTELLATION, 1); } } catch (ProjectionException e) { - logger.error(e.getMessage()); + log.error(e.getMessage()); } } diff --git a/src/main/java/me/alexpresso/zuninja/services/request/RequestService.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/request/RequestService.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/services/request/RequestService.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/request/RequestService.java diff --git a/src/main/java/me/alexpresso/zuninja/services/request/RequestServiceImpl.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/request/RequestServiceImpl.java similarity index 89% rename from src/main/java/me/alexpresso/zuninja/services/request/RequestServiceImpl.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/request/RequestServiceImpl.java index 056656c..9fad5b8 100644 --- a/src/main/java/me/alexpresso/zuninja/services/request/RequestServiceImpl.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/request/RequestServiceImpl.java @@ -2,9 +2,9 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import me.alexpresso.zuninja.classes.mode.GameMode; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -15,11 +15,11 @@ import java.net.http.HttpResponse; import java.time.Duration; +@Slf4j @Service +@RequiredArgsConstructor public class RequestServiceImpl implements RequestService { - private final static Logger logger = LoggerFactory.getLogger(RequestServiceImpl.class); - private final ObjectMapper mapper; @Value(value = "${zunivers.apiBaseUrl}") @@ -30,14 +30,9 @@ public class RequestServiceImpl implements RequestService { private GameMode gameMode; - public RequestServiceImpl() { - this.mapper = new ObjectMapper(); - } - - @Override public Object request(final String uri, final String method, final Object data, final TypeReference type) throws IOException, InterruptedException { - logger.debug("Requesting {} - {}", method, uri); + log.debug("Requesting {} - {}", method, uri); final HttpRequest.Builder builder = HttpRequest.newBuilder() .version(HttpClient.Version.HTTP_2) diff --git a/src/main/java/me/alexpresso/zuninja/services/taskexecutor/TaskExecutorService.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/taskexecutor/TaskExecutorService.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/services/taskexecutor/TaskExecutorService.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/taskexecutor/TaskExecutorService.java diff --git a/src/main/java/me/alexpresso/zuninja/services/taskexecutor/TaskExecutorServiceImpl.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/taskexecutor/TaskExecutorServiceImpl.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/services/taskexecutor/TaskExecutorServiceImpl.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/taskexecutor/TaskExecutorServiceImpl.java diff --git a/src/main/java/me/alexpresso/zuninja/services/user/UserService.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/user/UserService.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/services/user/UserService.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/user/UserService.java diff --git a/src/main/java/me/alexpresso/zuninja/services/user/UserServiceImpl.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/user/UserServiceImpl.java similarity index 91% rename from src/main/java/me/alexpresso/zuninja/services/user/UserServiceImpl.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/user/UserServiceImpl.java index 817d6c7..cdad73d 100644 --- a/src/main/java/me/alexpresso/zuninja/services/user/UserServiceImpl.java +++ b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/user/UserServiceImpl.java @@ -1,6 +1,8 @@ package me.alexpresso.zuninja.services.user; import com.fasterxml.jackson.core.type.TypeReference; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import me.alexpresso.zuninja.classes.activity.Loot; import me.alexpresso.zuninja.classes.challenge.Challenge; import me.alexpresso.zuninja.classes.config.ShinyLevel; @@ -13,8 +15,6 @@ import me.alexpresso.zuninja.repositories.UserStatisticsRepository; import me.alexpresso.zuninja.services.item.ItemService; import me.alexpresso.zuninja.services.request.RequestService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import java.io.IOException; @@ -27,25 +27,17 @@ import java.util.function.Function; import java.util.stream.Collectors; +@Slf4j @Service +@RequiredArgsConstructor public class UserServiceImpl implements UserService { - private static final Logger logger = LoggerFactory.getLogger(UserServiceImpl.class); - private final UserRepository userRepository; private final UserStatisticsRepository userStatsRepository; private final RequestService requestService; private final ItemService itemService; - public UserServiceImpl(final UserRepository ur, final UserStatisticsRepository ussr, final RequestService rs, final ItemService is) { - this.userRepository = ur; - this.userStatsRepository = ussr; - this.requestService = rs; - this.itemService = is; - } - - @Override public UserStatistics fetchUserStatistics(final String discordTag) throws IOException, InterruptedException { return (UserStatistics) this.requestService.request( @@ -80,7 +72,7 @@ public Optional getUser(final String discordTag) { @Override public void updateUserAndInventory(final String discordTag) throws IOException, InterruptedException { - logger.debug("Updating {}'s inventory...", discordTag); + log.debug("Updating {}'s inventory...", discordTag); final var statistics = this.fetchUserStatistics(discordTag); final var inventory = this.fetchUserInventory(discordTag); @@ -130,7 +122,7 @@ public void updateUserAndInventory(final String discordTag) throws IOException, this.userRepository.save(newUser); - logger.debug("Updated {}'s inventory.", discordTag); + log.debug("Updated {}'s inventory.", discordTag); } @Override diff --git a/src/main/java/me/alexpresso/zuninja/services/vortex/VortexService.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/vortex/VortexService.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/services/vortex/VortexService.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/vortex/VortexService.java diff --git a/src/main/java/me/alexpresso/zuninja/services/vortex/VortexServiceImpl.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/services/vortex/VortexServiceImpl.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/services/vortex/VortexServiceImpl.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/services/vortex/VortexServiceImpl.java diff --git a/src/main/java/me/alexpresso/zuninja/utils/StreamUtils.java b/zuninja-core/src/main/java/me/alexpresso/zuninja/utils/StreamUtils.java similarity index 100% rename from src/main/java/me/alexpresso/zuninja/utils/StreamUtils.java rename to zuninja-core/src/main/java/me/alexpresso/zuninja/utils/StreamUtils.java diff --git a/src/main/resources/application.yml b/zuninja-core/src/main/resources/application.yml similarity index 100% rename from src/main/resources/application.yml rename to zuninja-core/src/main/resources/application.yml diff --git a/zuninja-plugin-example/pom.xml b/zuninja-plugin-example/pom.xml index c6cb897..423f1f2 100644 --- a/zuninja-plugin-example/pom.xml +++ b/zuninja-plugin-example/pom.xml @@ -2,14 +2,21 @@ + 4.0.0 + + + me.alexpresso + zunivers-ninja + 999-SNAPSHOT + ../pom.xml + + zuninja-plugin-example - me.alexpresso 1.0-SNAPSHOT - 4.0.0 - 11 - 11 + 21 + 21 UTF-8 UTF-8 zuninja-plugin-example @@ -21,18 +28,35 @@ me.alexpresso - zunivers-ninja - ${zuninjaversion + zuninja-core + 999-SNAPSHOT + provided org.pf4j pf4j-spring - 0.7.0 + + + org.projectlombok + lombok + provided + + + org.slf4j + slf4j-api + + + org.springframework + spring-context + + org.apache.maven.plugins + maven-compiler-plugin + org.apache.maven.plugins maven-antrun-plugin @@ -56,7 +80,6 @@ org.apache.maven.plugins maven-jar-plugin - 2.4 @@ -92,4 +115,4 @@ - \ No newline at end of file +