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
+