Commit Graph

453 Commits

Author SHA1 Message Date
BONNe
d3bf5a157f Fix issue when Has_Island option in UserList did not show players if they have not done any challenge. 2019-01-23 20:46:04 +02:00
BONNe
22205265f6 Fix issue when UniqueID was not accepted. Logical error. 2019-01-23 20:36:50 +02:00
BONNe
3d0f01f2dd Fix issue when icons cannot be changed via parse.
Parser does not work with materials. Use materials directly instead.
2019-01-23 20:31:26 +02:00
BONNe
ca32c53510 Update To BentoBox 1.1
Use new approach to hooking addons into game-mode.
2019-01-23 20:19:18 +02:00
BONNe
53da2d67c7 Fix logical error that opens all levels instead of locking them.
WaiverAmount should be reducer, not from whom reduces.
2019-01-23 19:50:15 +02:00
BONNe
38fce9a4b0 Fix issue when Challenge and ChallengeLevel icons were stored with glowing effect and lore from admin panel.
This issue happened because PanelItem overwrites ItemStack metaData.
It is fixed by returning clone of icon element instead of returning actual icon.
2019-01-23 19:49:13 +02:00
BONNe1704
9c4c5b7d86 Fix issue when Levels were not loaded with world name in unique ID.
Fix crash that appears after renaming Level to Other challenge type.
2019-01-23 18:01:19 +02:00
BONNe1704
bf22a50124 Add ToDoes about Economy. 2019-01-23 17:33:51 +02:00
BONNe1704
590b3f114c Rework ChallengesManager.
Implement all methods that were only placeholders.
Remove all unnecessary old methods.
Implement new methods in all classes.

User and Admin command now opens new GUI.
2019-01-23 17:30:30 +02:00
BONNe1704
1bc6bb2b76 Move LevelStatus to utils, as it is more Util then necessary class object. 2019-01-23 16:34:37 +02:00
BONNe1704
f75e4e080c Rework Challenge, ChallengeLevel and ChallengesPlayerData classes.
Challenge now will not know their world, as it is not necessary.
Remove ICON type, as it is useless.
Rename Level to Other, as under it will be not only level things.
Rename slot to order, as it was weird that users could define slot but not order. Order is easier to understand and use.

ChallengesLevel now knows all their levels.
Each challenge level only will be for single world.
Rename some variables.

ChallengesPlayerData was just adapted with changes in challenges and level classes.
2019-01-23 16:33:33 +02:00
BONNe1704
dba5a44461 Rename Challenges and ChallengeLevels classes. 2019-01-23 16:09:38 +02:00
BONNe1704
59c0f6bfea Deprecate all classes that are not necessary anymore. 2019-01-23 16:08:18 +02:00
BONNe
20dfc6a760 Perform LevelStatus improvements in ChallengesGUI. 2019-01-22 09:12:12 +02:00
BONNe
8711d7ad08 Rework Challenges Level Status checking.
In previous code challenges level status holds information for next level. It is fixed now, and current implementation allows to get everything that is needed.
2019-01-22 09:10:13 +02:00
BONNe1704
10a5dc1940 Apply single GUI style to all admin GUIs. 2019-01-21 15:23:16 +02:00
BONNe1704
c78c690818 Remove item name from Border Items 2019-01-21 14:00:13 +02:00
BONNe1704
60789276be Set all util guis to 45 element size.
Add Glass Pane Borders to these guis.
2019-01-21 12:21:53 +02:00
BONNe
ce794d771c Create ChallengesGUI that will be opened for users. 2019-01-21 00:01:26 +02:00
BONNe
d902e4b615 Add ability to move free challenges from start of the list to end of it. 2019-01-20 22:25:38 +02:00
BONNe
8143059e17 Add ManageEntitiesGUI and ManageBlocksGUI to EditChallengesGUI. 2019-01-20 19:35:08 +02:00
BONNe
a90f29e472 Add GUI that allows to edit required blocks. 2019-01-20 19:33:27 +02:00
BONNe
e9b20feac4 Remove unnecessary else if. 2019-01-20 19:29:55 +02:00
BONNe
7e3876f391 Fix issue when WALL_TORCH and WALL_SING was without icon. 2019-01-20 19:28:32 +02:00
BONNe
24646678bf Remove code duplication.
Material icon and Entities icon creation now are in GuiUtils class.
2019-01-20 17:54:51 +02:00
BONNe1704
7b0df2d5a7 Add Material to ItemStack transformation in GuiUtils class. 2019-01-20 16:12:20 +02:00
BONNe1704
0645f7cb11 Create new class GuiUtils that contains methods, that is frequently used and can be static. 2019-01-20 15:55:12 +02:00
BONNe
dadf907efb Create SelectBlocksGUI that allows to select single Material that is block from GUI. 2019-01-20 11:54:40 +02:00
BONNe
3d5dbca422 Improves panel border creating method.
Allow to change row count in panel and border material.
2019-01-19 23:48:38 +02:00
BONNe
43fe78e0f9 Fix issue when delete function was not working. 2019-01-19 22:20:42 +02:00
BONNe
16be7f26a1 Create class that allows to change required entities for challenge. 2019-01-19 21:26:16 +02:00
BONNe
0109431262 Create new method in CommonGUI, that allows to fill border with black stained glass around Panel. 2019-01-19 21:25:48 +02:00
BONNe
88f9d32862 Implement Reset and Complete Challenge for ListUsersGUI. 2019-01-19 18:29:08 +02:00
BONNe
be7435f73a Implement AnvilGUI into StringListGui so users could edit text via Anvil. 2019-01-19 18:21:37 +02:00
BONNe
faa237ddf0 Integrate AnvilGUI into NumberGUI so users could manually write numbers in GUI.
Add error messages, if number is not valid.
2019-01-19 18:13:15 +02:00
BONNe
c42652dde8 Implement add and remove challenge from challenge level panels in EditLevelGUI. 2019-01-19 18:02:19 +02:00
BONNe
6125eb5d34 Create SelectChallengeGUI that allows to choose one challenge from input challenge list and return it into GUI. 2019-01-19 17:53:50 +02:00
BONNe
9415452e33 Implement AnvilGUIs into EditLevelGUI for editing Text fields. 2019-01-19 17:41:27 +02:00
BONNe
1d0f090948 Implement existing GUIs in EditChallengeGUI.
Change Challenges.environment from list to set.
2019-01-19 17:27:41 +02:00
BONNe
865fa626af Create SelectEnvironmentGUI that allows to select and deselect different world environments. 2019-01-19 17:12:00 +02:00
BONNe
17d0f0b8f3 Create SelectEntityGUI that allows to select an entity from all living creatures.
It displays mobs in two ways: as Mob eggs or as Mob Heads.
2019-01-19 16:54:43 +02:00
BONNe
433484d9f7 Add new enum HeadLib that contains library with all mob heads from Minecraft. 2019-01-19 15:49:54 +02:00
BONNe
11c3637b2a Add error messages when unique ID is not unique. 2019-01-18 19:28:12 +02:00
BONNe
1ecbac43bf Add last missing element in AdminGUI.
Now AdminGUI all icons are functional.
2019-01-18 19:26:03 +02:00
BONNe
870bf6d232 Implement ResetAllChallenges confirmation GUI to ListUsersGUI. 2019-01-18 19:13:39 +02:00
BONNe1704
0f56eb7185 Add EditSettingsGUI to AdminGUI.
Fix issue when other GUIs were not opened.
2019-01-18 17:40:01 +02:00
BONNe1704
6cdc619cf0 Implement existing GUIs in EditLevelGUI. 2019-01-18 17:38:34 +02:00
BONNe1704
1b1b081a42 Add existing GUIs in EditChallengeGUI. 2019-01-18 17:29:24 +02:00
BONNe1704
97174930d5 Create constructor that allows to input any String Collection. 2019-01-18 17:22:44 +02:00
BONNe1704
fb06dae7ab Add constructors that allows to set minimal and maximal return value. 2019-01-18 17:03:08 +02:00
BONNe1704
25371fc6aa Replace setValue method with BiConsumer.
This will provide ability to use setters directly in caller GUIs.
2019-01-18 16:50:34 +02:00
BONNe1704
09f69bd46a Implement Consumer in ConfirmationGUI instead of depending on setValue method. 2019-01-18 16:49:39 +02:00
BONNe
13291b450c Implement ConfirmationGUIs in Delete operation for ListLevelsGUI and ListChallengesGUI. 2019-01-17 23:09:32 +02:00
BONNe
29dadf3841 Implement existing GUIs in AdminGUI. Update TODO comments. 2019-01-17 22:56:05 +02:00
BONNe
dab5f2b331 Remove commands from UtilGuis, instead use CommonGUI.valueObject to store new value.
Proper ItemSwitchGUI implementation.
2019-01-17 22:44:48 +02:00
BONNe
bd48e85fcc Create method that allows to change ValueObject value. 2019-01-17 22:38:45 +02:00
BONNe1704
2ae8a5d634 Create ItemGUI class that will be used to change all required and reward item stacks. 2019-01-17 17:49:51 +02:00
BONNe1704
1508492a69 Create StringListGUI class that allows to edit list of strings. 2019-01-17 16:55:32 +02:00
BONNe1704
c79173b411 Remove command existing check from ConfirmationGUI.
Add CompositeCommand as class variable.
2019-01-17 16:27:16 +02:00
BONNe1704
6903fa5d40 Create NumberGUI that allows to change integer value and run command that will apply this integer. 2019-01-17 16:23:03 +02:00
BONNe1704
e1f6cc8b47 Create ConfirmationGUI class that creates GUI with 2 buttons.
On Cancel it should return to previous GUI.
On Accept it should process given command. If command does not exist, it should throw error message in chat. At the end it should return to previous GUI.
2019-01-17 13:16:42 +02:00
BONNe1704
35cea3344a Add different operation modes for ListUsersGUI. 2019-01-17 12:19:33 +02:00
BONNe1704
aaaf774952 Create ListChallengesGUI that allows to view all challenges and Edit or Remove them, depending on given mode. 2019-01-17 12:10:29 +02:00
BONNe1704
7060afd33d Create ListLevelsGUI class that allows to view all Levels.
It has 2 modes: edit mode and delete mode.
2019-01-17 12:04:16 +02:00
BONNe1704
efab8f7e24 Improve GUIs naming. 2019-01-17 11:36:39 +02:00
BONNe1704
dbe8cc50df Rename some GUIs. 2019-01-17 11:33:13 +02:00
BONNe
818892e618 Create GUI that could edit challenges levels. 2019-01-16 22:23:12 +02:00
BONNe1704
016deec34c Create ChallengesEditGUI class that will allow to edit challenges via ingame GUI.
This GUI currently does not have ability to change values. It only contains skeleton for each option, that user should be able to change.
Add new parameters to Challenges class.
2019-01-16 19:25:01 +02:00
BONNe1704
d5f19310c8 Create ChallengesUserListGUI that will display user heads in rows and allows to select specific user. 2019-01-14 17:21:45 +02:00
BONNe1704
594fa0f27f Create common buttons in CommonGUI panel. 2019-01-14 17:21:00 +02:00
BONNe1704
6a5ec144d1 Create ChallengesSettingsGUI class that allows to change Challenges Addon Settings via ingame menu. 2019-01-14 15:20:37 +02:00
BONNe1704
291239e244 Create Challenges Admin Gui, so admin could choose action that needs to be processed. 2019-01-14 15:05:06 +02:00
BONNe1704
c7aafa63ef Create CommonGUI panel that will be used in all other GUIs where it is necessary. 2019-01-14 13:29:10 +02:00
BONNe1704
6c0ac96251 Use proper Addon settings getters. 2019-01-10 11:40:23 +02:00
BONNe1704
b8e0ca4331 Rework ChallengesAddon main class.
Add dependencies to AcidIsland and BSkyBlock addons in pom.xml.
Use proper way how to get GameMode admin and user commands.
Init Settings object and implement onReload() method.

Add check on disabled game modes, to avoid loading challenges in addons, where it should be disabled by settings.
2019-01-10 11:36:06 +02:00
BONNe1704
dd6f8caed6 Add Settings class that will process ChallengesAddon configuration. 2019-01-10 11:30:54 +02:00
BONNe1704
3971519d1d Rename FreshSqueezedChallenges to ChallengesImportManager.
ChallengesImportManager name makes more sense then FreshSqueezedChallenges
2019-01-10 11:16:04 +02:00
Florian CUNY
4c3026f3c1 Version 0.3.0 (BentoBox 1.0) 2019-01-05 11:17:03 +01:00
tastybento
32dbebd607 Removing async and updating to 1.13.2 API
The async saving is not the right thing to do here anyway, so I'm
removing it.

https://github.com/BentoBoxWorld/Challenges/issues/45
2018-12-31 18:43:32 -08:00
Florian CUNY
bf1890c392 Final harsh way to fix the ambiguity??? 2018-12-30 15:01:21 +01:00
Florian CUNY
11a86b1445 Using the hard way to fix the ambiguity 2018-12-30 14:53:58 +01:00
Florian CUNY
0041d07151 Fixed ambiguous lambda
IDEA wouldn't let me build the addon with the method reference :/
2018-12-30 14:42:54 +01:00
Florian CUNY
ba3f6b4b8b Renamed addon to Challenges 2018-12-30 14:32:25 +01:00
Florian CUNY
8f51ddb634 Moved everything to world.bentobox.challenges package 2018-12-30 14:31:26 +01:00
tastybento
5009729300
Merge pull request #41 from BONNe/autosaver
Implement AutoSaving
2018-12-21 12:48:13 -08:00
BONNe1704
b1c12e7454 Improve SaveListener.
Save challenges un world save event only if in current world has any challenge.
2018-12-18 11:26:29 +02:00
BONNe1704
4edc1c5c62 Create WorldSaveEvent listener that stores challenges, when event occur.
Partial fix of issue #21.
2018-12-18 10:58:56 +02:00
BONNe
b37fee1423 Fix issue #23 - ChallengesToDo shows wrong number.
This issue happens, because LevelStatus keeps record about current level completion. So "novice" level knows how much it needs to unlock the next level and so on.
My proposed fix is just workaround of current behavior, but I think there is necessary better rework of LevelStatus object.
2018-12-18 00:26:46 +02:00
BONNe1704
cd503d7f71 Add missing message variables. 2018-12-17 15:10:42 +02:00
BONNe1704
3dd23addc4 Change spacing from tab to space. 2018-12-17 15:03:12 +02:00
BONNe1704
c2051d23e5 Implement Money support for challenges. #25
If VaultHook is found, then add money to user account.
Add check on Required XP and Required Money.
Enable Money withdraw if isTakeMoney() is true.
2018-12-17 15:00:22 +02:00
tastybento
cb046894b5 Merge remote-tracking branch 'origin/master' into develop 2018-12-04 16:45:16 -08:00
tastybento
278bd822c3 Revert SURROUNDING to ISLAND for now as it doesn't match enum. 2018-12-01 20:35:01 -08:00
Li Keqing
ab77df3e78 Translate into Chinese 2018-11-26 18:13:14 +08:00
tastybento
5f7581f09c Challenges reset when island is reset.
Fixed locale duplication.

https://github.com/BentoBoxWorld/addon-challenges/issues/2
https://github.com/BentoBoxWorld/addon-challenges/issues/3
2018-11-23 17:06:42 -08:00
tastybento
97bec0f870 Challenges can only be done in the world that they belong.
https://github.com/BentoBoxWorld/addon-challenges/issues/24
2018-11-23 16:40:06 -08:00
tastybento
edc2c455c4 Fixes inventory item removal bug (for sure this time).
Also saves player data after player completes a challenge or the
challenge is reset. Now reloading challenges doesn't cause challenge
completion loss.

https://github.com/BentoBoxWorld/addon-challenges/issues/27
https://github.com/BentoBoxWorld/addon-challenges/issues/30
2018-11-23 10:42:20 -08:00
tastybento
326b8ca0cf Fixed item removal. Added unit tests.
https://github.com/BentoBoxWorld/addon-challenges/issues/27
2018-11-19 08:54:31 -08:00
tastybento
ac80a7e7e4 Fix for taking items even if challenge incomplete
https://github.com/BentoBoxWorld/addon-challenges/issues/27

Also added admin challenge reset command.
2018-11-18 19:39:14 -08:00
tastybento
e5e022754b Added challenges reload admin command.
This reloads from the database files so admins can edit the challenges
and then reload them without restarting the server.

https://github.com/BentoBoxWorld/addon-challenges/issues/27
2018-11-12 11:44:43 -08:00
tastybento
b55cc822a9 Made generic some required items.
FIREWORK_ROCKET, ENCHANTED_BOOK, WRITTEN_BOOK and FILLED_MAP will be
checked generically instead of specifically because meta data can be
different when created each time.

https://github.com/BentoBoxWorld/addon-challenges/issues/27
2018-11-12 11:35:49 -08:00
tastybento
1e07223d61 Fixes issue with Level not being referenced correctly.
https://github.com/BentoBoxWorld/addon-challenges/issues/26
2018-11-12 10:24:18 -08:00
tastybento
c70f5cf2f3 Fix error when no blocks required, only entities.
Updated POM to use correct Level org.

May be related to
https://github.com/BentoBoxWorld/addon-challenges/issues/28
2018-11-12 09:55:42 -08:00
tastybento
263390deb7 Updated to 0.12.0 API. 2018-10-30 18:26:47 -07:00
tastybento
c14b242cbd Added admin complete command
Other items are WIP
2018-10-06 08:49:49 -07:00
tastybento
65a2f19fff WIP: Added required items panel 2018-09-08 16:49:32 -07:00
tastybento
482c95d9ce Fixes parsing bug for potions.
https://github.com/BentoBoxWorld/bentobox/issues/265

Adds version from POM to addon.yml
2018-09-03 21:32:26 -07:00
tastybento
5d2f4f3316 Merge remote-tracking branch 'origin/master' into develop 2018-09-01 17:10:02 -07:00
Dave Akers
22dc2721d7 Broadcast messages 2018-09-01 17:52:47 -05:00
tastybento
649006e1ef Minor adjustments to code 2018-08-31 10:57:03 +09:00
tastybento
4e3ebc4af8 Fixed item names in challenges.yml
https://github.com/BentoBoxWorld/addon-challenges/issues/9
2018-08-31 10:53:59 +09:00
tastybento
aa805c7c24 Fixes bug where no entities are required for surrounding challenge
https://github.com/BentoBoxWorld/addon-challenges/issues/8
2018-08-27 14:01:16 -07:00
tastybento
13a887d1b9 Removed commands that will be done via GUI. 2018-08-18 14:40:56 -07:00
tastybento
9dd0e12878 Fix island level reporting wrong number 2018-08-16 19:19:39 -07:00
tastybento
2caf744273 Restructured to use Maven resources folder 2018-08-15 20:23:38 -07:00
tastybento
c22fd34fbe WIP moved to admin challenges command
Adding a management GUI
2018-08-12 03:04:30 +09:00
tastybento
2272c5f59b Using Config and Database API naming 2018-08-06 07:46:43 -07:00
tastybento
ab32c1de80 Updated to renamed API 2018-08-05 20:39:18 -07:00
tastybento
c7b4a1ac06 Renamed to bentobox.
Fixed error if level is not enough.
2018-08-03 23:54:36 -07:00
tastybento
303d9a95dc Merge remote-tracking branch 'origin/master' into develop 2018-08-01 09:53:43 -07:00
tastybento
353a9c3309 Updated to new package name 2018-08-01 09:52:49 -07:00
tastybento
2d25850b3a Update to new API 2018-07-29 17:21:41 -07:00
tastybento
b75ec5d12b BentoBox version 2018-07-28 21:43:41 -07:00
tastybento
457a32a65d Updaed to 1.13 API 2018-07-28 17:15:30 -07:00
tastybento
14f1d04ba1 Updated to latest CompositeCommand API 2018-07-18 22:59:21 -07:00
tastybento
dd344a59f3 Updated to latest API 2018-06-30 08:25:12 -07:00
tastybento
ef7dca31de Fixed permissions 2018-06-02 19:19:57 -07:00
tastybento
43121bb739 Fixed bug with saving to flat file.
Must remember to include blank constructor so Beans can create the
object!
2018-05-29 14:57:38 -07:00
tastybento
c3c51b957c Improved challenges. 2018-05-29 08:17:27 -07:00
tastybento
a2d21f0242 Small update 2018-05-28 15:43:29 -07:00
tastybento
c778f03cf0 Converted to support multigame
Admin command cimport will import ASkyBlock-style challenges.yml file to
world.
2018-05-28 10:12:37 -07:00
tastybento
983399ec3b Reworked to support multiworld. 2018-05-27 21:13:32 -07:00
tastybento
94161d1df3 Updated to use new API 2018-05-08 09:11:01 -04:00
Tastybento
f70195f3a0 Updated to use new Panel API 2018-05-01 23:19:44 -07:00
Tastybento
c1517d38b9 Now loads player data from the database. 2018-04-21 11:15:49 -07:00
Tastybento
89220d67d3 Added challenge descriptions. 2018-04-21 10:45:40 -07:00
Tastybento
fb05ccd786 Bug fix 2018-04-16 19:31:07 -07:00
Tastybento
5c3fbc465b Fixed bug where @Expose was missing
@Expose is required for storing fields in the database.
2018-04-16 11:06:20 -07:00
Tastybento
b6dc87bfc9 Updated to work with latest BSB 2018-04-15 17:31:41 -07:00
Tastybento
18a300c801 Got challenges working to alpha level. 2018-04-14 22:30:04 -07:00
Tastybento
4e6d7d73d2 Imports levels. 2018-04-08 16:28:56 -07:00
Tastybento
823dcbafd8 Added challenges import from ASkyBlock 2018-04-08 15:37:29 -07:00
Tastybento
fcd8078249 Fixes. 2018-03-24 10:55:48 -07:00
Tastybento
fd3e7a928f WIP - updated to use latest Panel API 2018-03-11 17:36:06 -07:00
Tastybento
a11e670b0d Changed directory structure 2018-02-26 19:01:23 -08:00
Tastybento
7d22e9bfc5 Added comments to challenges. 2018-02-25 22:44:57 -08:00
Tastybento
763a8de8e4 WIP improved surrounding challenges. 2018-02-24 21:29:09 -08:00
Tastybento
22389824a7 Added surrounding challenge support.
Still a WIP.
2018-02-24 18:42:52 -08:00
Tastybento
51422108c6 WIP - challenges
Admin command cadmin to create and manage challenges in-game. Challenges
are saved as yml files. Note that admins cannot edit yml files directly
if server is running because they will be overwritten.
User UI sort of works if challenge files are hand tailored.
More to do!
2018-02-22 23:52:39 -08:00
Tastybento
0a8ba02d74 WIP - added /c create (name) command
Opens up an inventory. Drag and drop items into the inventory. Escape
out and the challenge is saved with the items as required items.
2018-02-19 19:50:34 -08:00
Tastybento
a9707b2925 A good start(tm). It compiles and registers commands.
Now for the hard work to begin.
2017-12-28 20:39:07 -08:00
Tastybento
3b74b17283 WIP: Stubbed out a lot of the classes.
Compiles, but still a lot of functions need to be added.
2017-11-26 23:13:17 -08:00
Tastybento
38a98043d5 First commit 2017-11-25 18:17:16 -08:00