From f65dbef7e2af3055840a52debea5ceaa13d51386 Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Thu, 18 Jan 2024 08:53:20 +0100 Subject: [PATCH] base for challenge system --- .../cometskyblock/challenges/Challenge.java | 29 +++++++++++++++++++ .../challenges/ChallengeDifficulty.java | 4 +++ .../challenges/ChallengeType.java | 12 ++++++++ .../ChallengesConfiguration.java | 16 ++++++++++ 4 files changed, 61 insertions(+) create mode 100644 plugin/src/main/java/com/alttd/cometskyblock/challenges/Challenge.java create mode 100644 plugin/src/main/java/com/alttd/cometskyblock/challenges/ChallengeDifficulty.java create mode 100644 plugin/src/main/java/com/alttd/cometskyblock/challenges/ChallengeType.java create mode 100644 plugin/src/main/java/com/alttd/cometskyblock/configuration/ChallengesConfiguration.java diff --git a/plugin/src/main/java/com/alttd/cometskyblock/challenges/Challenge.java b/plugin/src/main/java/com/alttd/cometskyblock/challenges/Challenge.java new file mode 100644 index 0000000..dc34678 --- /dev/null +++ b/plugin/src/main/java/com/alttd/cometskyblock/challenges/Challenge.java @@ -0,0 +1,29 @@ +package com.alttd.cometskyblock.challenges; + +import lombok.Getter; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; +import org.spongepowered.configurate.objectmapping.ConfigSerializable; + +import java.util.List; + +@Getter +@ConfigSerializable +public class Challenge { + + private String challengeName; + private String mySQLKey; + private Material shownItem; + private ChallengeDifficulty difficulty; + private ChallengeType challengeType; + private String description; + private String neededText; + private String rewardText; + private String repeatRewardText; + private List rewards; + private List repeatRewards; + private List neededItems; + private Integer neededLevel; + private Integer slot; + +} diff --git a/plugin/src/main/java/com/alttd/cometskyblock/challenges/ChallengeDifficulty.java b/plugin/src/main/java/com/alttd/cometskyblock/challenges/ChallengeDifficulty.java new file mode 100644 index 0000000..ff6cba7 --- /dev/null +++ b/plugin/src/main/java/com/alttd/cometskyblock/challenges/ChallengeDifficulty.java @@ -0,0 +1,4 @@ +package com.alttd.cometskyblock.challenges; + +public class ChallengeDifficulty { +} diff --git a/plugin/src/main/java/com/alttd/cometskyblock/challenges/ChallengeType.java b/plugin/src/main/java/com/alttd/cometskyblock/challenges/ChallengeType.java new file mode 100644 index 0000000..12687a4 --- /dev/null +++ b/plugin/src/main/java/com/alttd/cometskyblock/challenges/ChallengeType.java @@ -0,0 +1,12 @@ +package com.alttd.cometskyblock.challenges; + +import org.spongepowered.configurate.objectmapping.ConfigSerializable; + +@ConfigSerializable +public enum ChallengeType { + + onPlayer, + onIsland, + islandLevel + +} diff --git a/plugin/src/main/java/com/alttd/cometskyblock/configuration/ChallengesConfiguration.java b/plugin/src/main/java/com/alttd/cometskyblock/configuration/ChallengesConfiguration.java new file mode 100644 index 0000000..4343ebe --- /dev/null +++ b/plugin/src/main/java/com/alttd/cometskyblock/configuration/ChallengesConfiguration.java @@ -0,0 +1,16 @@ +package com.alttd.cometskyblock.configuration; + +import com.alttd.cometskyblock.challenges.Challenge; +import lombok.Getter; +import org.spongepowered.configurate.objectmapping.ConfigSerializable; + +import java.util.ArrayList; +import java.util.List; + +@ConfigSerializable +@Getter +@SuppressWarnings({"CanBeFinal", "FieldMayBeFinal"}) +public class ChallengesConfiguration implements Configuration { + + private List challenges = new ArrayList<>(); +}