Commit Graph

212 Commits

Author SHA1 Message Date
BONNe
28d61870a7 Fix issue when complete wipe did not work, even when selected. 2019-09-05 13:10:02 +03:00
BONNe
a5022bea7a Improve Wipe Button behaviour.
Add 2 new buttons:
- User wipe - deletes all challenges addon player data.
- challenges wipe - deletes only challenges and levels.

By clicking on challenges wipe with right click, it will switch to compelte wipe, and via versa.
2019-09-05 12:19:05 +03:00
BONNe1704
ecbb8ef1f2 Merge branch 'develop' of https://github.com/BentoBoxWorld/addon-challenges into develop 2019-09-05 12:01:41 +03:00
BONNe
5f1ea920f5 Add download button in Challenges Libraries panel.
Disable access to Library panel if github api is disabled.
2019-09-05 09:36:53 +03:00
BONNe
e854bbd294 Fix issue when Lore GUI buttons were not colored and splitted. 2019-09-03 11:14:26 +03:00
BONNe
c7fe138d78 Add GUI for editing Challenge and Challenge Level lore messages.
Rework Lore message construction.
2019-09-03 09:03:21 +03:00
BONNe1704
f611727d4e Implement WebManager that will download Challenges Libraries from GitHub.
Implement GUI for selecting and downloading Challenges Libraries.
2019-09-02 17:56:24 +03:00
BONNe
29a77147b5 Fix issue when each save added unnecessary "|" at the end of rewards and unlock message. (#123)
Algorithm that I used to join output list into single string, always added "|" at the end. Last "|" should be removed.
2019-09-02 13:20:59 +03:00
BONNe
0026cb7404 Separate all enums from Settings class into SettingsUtils. 2019-09-01 15:17:34 +03:00
BuildTools
235da81ba0 Move Settings class to separate package. 2019-09-01 15:10:05 +03:00
BONNe1704
8e0448eac7 Reintroduce Multiple Completions
Add [gamemode].complete.multiple permission that will allow/prevent to complete challenge multiple times at once.
Introduce new MultipleGUI that opens GUI with 5 buttons that allows to choose how many times challenge should be completed.
2019-08-28 16:55:18 +03:00
BuildTools
12dd740959 Merge remote-tracking branch 'origin/develop' into develop 2019-08-26 09:09:10 +03:00
BuildTools
ac79fa5d56 Completely drop ability to import ASkyBlock challenges.
This option was not working properly and were used wrongly. To avoid that, importing challenges and player data will be handled by converter.
2019-08-26 09:08:56 +03:00
NotMyFault
36255d07a2 Fixing various typos (#172) 2019-08-26 07:55:22 +03:00
BuildTools
7fce1a1fd4 Fix compilation error. 2019-08-25 23:09:44 +03:00
BuildTools
c516d53907 Update to v1.6.0 version.
Remove AnvilGUI, as it is broken. Replaced with Spigot Conversation API.
Remove lore-config from GUI (broken).
Remove RIGHT_CLICK to complete multiple times (broken).
2019-08-25 22:43:15 +03:00
BuildTools
15f4c8abd4 Fix error in Challenge Level description.
Copy-paste error, instead of experience, it returned waiver-amount.
Reported in discord.
2019-08-19 00:37:26 +03:00
tastybento
a50d00b2e7 Fixes JavaDoc warnings. (#164)
@inheritDoc cannot be used on Constructors.

Fixed some other warnings.
2019-08-05 13:00:03 +03:00
BONNe1704
e9f9b1b8d5 Rework how challenges are stored.
This is old change that was declined (#105), but unfortunately it is necessary.
If every ID is based on world names, than addon cannot process "/" in it. It mean that worlds cannot be put into different folders.
This change will fix it, but it is not completed.

In progress.
There does not exist converter, so old data is not usable with this version.
2019-08-01 13:19:15 +03:00
BONNe
cfad9150c7
Increase max value to order number
Previous 54 was a limitation of slot count. Remove it as it is redundant.
#146
2019-07-08 20:30:34 +03:00
BONNe
071c6ca83a Improve item description management. 2019-06-16 20:22:42 +03:00
BONNe
68a26e4d28 Fix unstackable reward item displaying (#135) 2019-06-16 15:59:41 +03:00
BONNe
a7f9e01d61 Fix issue when unstackable items flood challenge description (#135) 2019-06-16 15:57:05 +03:00
BONNe
1a70ee3ad8 Fix issue with Entity and Block selecting GUIs.
Items were not selected unless player use right click. Not it will work correctly.
2019-06-16 11:43:05 +03:00
BONNe1704
94c3fd9fa4 Add Complete Wipe button in AdminGUI that allows to remove all Challenges Addon data from database.
This request comes from Discord.

It also mention to format DiskDrive to avoid ability to restore database, but it is not implemented yet. Will be implemented in future releases.
2019-06-05 12:30:48 +03:00
BONNe
330034ea8e Add SIGN_MATERIAL constant in ChallengesAddon which value depends on Minecraft version.
This will allow to drop down 1.14 branch.
2019-05-20 08:28:35 +03:00
BONNe
c3f93fd797 Implement ability to select multiple Entities and Blocks in SelectBlockGUI and SelectEntityGUI. (#121)
Fix issue with unsplitted text in ManageBlocksGUI and ManageEntitiesGUI. (#121)
2019-05-18 00:01:03 +03:00
BONNe
9f8bf03708 Fix wrongly display message for required money in edit challenge gui (#119)
It showed required level instead of required money in element description.
2019-05-14 09:20:17 +03:00
BONNe1704
6c10fcdca9 Fix NPE when opening ChallengesGUI (#116).
Add code that removes challenges level from all its challenges, if level is deleted.
Add protection code that shows admins that something is not correct if challenge level is not in database.
2019-05-09 11:22:01 +03:00
BONNe
c8088f275d
Rework TryToComplete. (#109)
* Rework TryToComplete.

Implement ability to complete challenge multiple times at once.
To do it, I split everything in checking/removing/rewarding steps.

In checking step, it calculates if it is possible to complete with minimal requirements and then calculates maximal repeating factor.
In removing step, it removes everything that is necessary.
In rewarding step, it give rewards by necessary factor (multilayer).

I rework item/block/entity removing as factors may be influenced at the last element, so I improve everything by memory usage. Create necessary sets/lists/queues for faster access to already collected items.

* Add method that returns removed items, if somehow algorithm did not manage to remove all items.
Fix issue when removeItems method did not merge ItemStacks as they had different item amount.

Return and fix TryToCompleteTest.

* Implement Multiple Challenge Completion command and GUI. (#73)

/[gamemode] challenges complete [number] allows to complete challenges [number] amount (or less if not enough items)
Via GUI users can right click on challenge and if it is repeatable, then it will open AnvilGUI that accepts only numbers as input.
2019-05-06 12:10:02 +03:00
BONNe
d9486bbbdb Fix issue when Import Default Challenges Button did not work 2019-05-05 23:54:35 +03:00
BONNe
d60f20e394 Fix issue when Color codes did not work in opened Panels and Titles (#110)
These text element colors were not translated correctly.
Now it should work.
2019-05-04 11:16:41 +03:00
BONNe
a2f0765de1 Add proper message when user opens challenges gui in world without a challenges. 2019-05-01 23:18:12 +03:00
BONNe
ca5cfcc841 Add button in Challenges admin GUI that allows to import default challenges. 2019-05-01 23:14:41 +03:00
BONNe
b24f7ebcb0 Implement title messages on first challenge/level completion (#108).
Add settings option that can enable/disable title message and its length.
Add ability to edit these settings via admin GUI.
Add ability to use some variables in title and subtitle in translation files.
2019-05-01 22:57:24 +03:00
BONNe
c05015716f Enable Level and Money editing, even when required addons or plugins are not provided. 2019-04-26 21:27:52 +03:00
BONNe
a41859459f Implement ability to change text via Chat instead of AnvilGUI (#97).
It was necessary as Anvil has limited char input, while chat is almost unlimited.
2019-04-26 21:20:36 +03:00
BONNe
507c68d683 Add ability to edit string messages from StringListGUI via Chat. 2019-04-26 20:59:52 +03:00
BONNe
337defb452 Add protective code that prevents for setting search radius too large.
Now it will be caped at island radius.
2019-04-21 10:13:41 +03:00
BONNe1704
8d238a5789 Remove all deprecated code.
Remove Challenges.yml from resources, as old standard is outdated and there is no point to support it.
2019-04-11 12:49:43 +03:00
BONNe
a957dc3a62 Update to BentoBox API 1.4.0 2019-03-29 00:42:51 +02:00
BONNe
6bf439cef6 Add Single GUI enabling button in Settings GUI. 2019-03-05 10:55:44 +02:00
BONNe
c737c874da Improve Settings Icon. 2019-03-05 10:42:41 +02:00
BONNe1704
0f32e0e3d4 Implement configurable locked level icon (#98)
- Implement LockedIcon in ChallengeLevel (can be null)
- Implement defaultLockedIcon in Settings (can be overwritten by ChallengeLevel)
- Reformat Config File. !!!
2019-02-25 12:09:26 +02:00
BONNe1704
f77c141772 Add new Buttons to settings GUI 2019-02-22 16:58:58 +02:00
BONNe1704
0bb3171c5c Cleanup button creation in Settings panel. 2019-02-22 16:36:28 +02:00
BONNe1704
7bb2ad09d3 Move TryToComplete from panel Package to tasks package. 2019-02-19 19:58:06 +02:00
BONNe1704
8649409cbb Add Single Challenges GUI. (#89)
Add ability to enable Single GUI in config.
Add configurable admin and player method (in config) that will open GUI with GameModes.
Add ability to define default player GameMode GUI.

Add new commands that will process config options.
2019-02-18 15:25:45 +02:00
BONNe
ffaffde734 Implement history data storing in ChallengesPlayerData object (#90).
- Add new variable "history" in ChallengesPlayerData.
- Add new methods in ChallengesManager that populates LogEntry and adds it to history variable.
- Add ability to enable/disable history storing in config (default: disabled).

- Fix issue when resetAllChallenges resets only caller challenges.
2019-02-18 11:28:07 +02:00
BONNe
19aab998dc Fix copy-paste issue.
Generating Level Lore does not use proper settings.
2019-02-18 02:35:48 +02:00
BONNe
4db59d6c19 Implement completed challenge storage by island (#55).
Rework methods that access to ChallengesPlayerData object. Methods that access to this object will be private and use UUID and String where possible.
Add public methods that could use previously mentioned methods to access ChallengesPlayerData object.
Implement these methods in all places.

Add ability to enable/disable island storage in config (no-gui for now).
Disable challenge GUI opening, if user does not have island.
2019-02-18 01:29:42 +02:00
BONNe1704
f9b941059e Remove Deprecated Classes. 2019-02-18 00:32:51 +02:00
BONNe1704
3b4a64bb39 Merge changes in develop branch. 2019-02-14 14:31:07 +02:00
BONNe1704
e26c957797 Fix issue with Reward Item changing (#84).
This issue may happened because Player#getInventory()#addItem(ItemStack) tries to add element into existing items in player inventory. If it did not manage to add it, it splits it in parts. This splitting created this issue.
It was fixed, by using clone of reward items, instead of using original elements.
2019-02-14 14:20:08 +02:00
BONNe1704
bf9d71077b Fix issue when selecting single challenge does nothing.
It was not added to challenge set :(
2019-02-14 11:59:48 +02:00
BONNe1704
8f9aa78435 Fix confusing Select Challenge GUI. #86
Left Click on challenge will immediately return to previous panel (status = true), right click will select challenge.
2019-02-14 11:46:37 +02:00
BONNe1704
14660dd42c Fix NumberGUI item description issue.
There was missing lineLength parameter in most of NumberGui calls.
2019-02-14 10:46:56 +02:00
BONNe1704
68b0fa3b2e Improve debugging in Creative GameMode.
Add ability to Creative GameMode complete inventory and exp challenge without necessary items and exp.
2019-02-14 10:28:06 +02:00
BONNe1704
78fa459aa4 Implement ability to Fix player Data from GUI.
Fix issue when accept and decline buttons were with wrong names.
2019-02-13 16:17:44 +02:00
BONNe
fa6f70dc5b Fix issue when reset was blocked if user is in team and is not team owner. 2019-02-12 19:43:55 +02:00
BONNe
31b2fed8bc Implement remove one time challenge option in ChallengesGUI. 2019-02-12 16:24:41 +02:00
BONNe
810d57e042 Implement complete glow option. 2019-02-12 16:18:21 +02:00
BONNe
7fd4e4cd0f Allow to edit Challenge and Level description properties from Admin GUI 2019-02-12 15:58:10 +02:00
BONNe
250aea2f27 Fix issue when active level was not displayed.
This was implemented as in ASkyBlock, but it is not necessary. Better to display active level.
2019-02-12 15:48:27 +02:00
BONNe
6c3c097fbb Fix issue when uncompleted challenge was creating description as completed. 2019-02-12 15:42:09 +02:00
BONNe
d33a763cbe Add single method that generates level description. 2019-02-12 15:36:16 +02:00
BONNe
0317d057ab Implement Challenge Description into SelectChallengeGUI.
Fix issue, when reset and complete user challenges showed all challenges, instead of mission one.
2019-02-12 13:03:13 +02:00
BONNe
7778426b1e Implement Challenge Description customization.
Admins now can define Order of elements in challenge description, and remove elements, if they are not necessary.
2019-02-12 12:24:00 +02:00
BONNe
ab3275cd69 Rework Challenges Addon Language structure.
Reorganize structure.
Add missing translations.
Add colors.
2019-02-12 01:38:16 +02:00
BONNe
b2201ec48d Add ability to specify Lore line length via Settings. 2019-02-11 15:29:19 +02:00
BONNe
94a54c2156 Fix null-pointer issue in ChallengeLevel creation. 2019-02-05 09:13:39 +02:00
BONNe
fa03ea0669 Fix issue when users could open challenges gui, even if challenges in that world does not exist (#69) 2019-02-05 08:43:58 +02:00
BONNe
21cf82fe8e Fix slot-index issue.
NextSlotIndex value were not updated.
2019-02-02 22:22:04 +02:00
BONNe
93a9490cad
Fix some logic issue.
Add proper logic check for invalid Other Type challenges.
- If VaultHook is enabled required money should be more then 0, otherwise challenge is not valid.
- If LevelAddon is exists required level should be more then 0, otherwise challenge is not valid.
- If required experience is less then 0, challenge is not valid.
- If Level addon is missing, nut it requires some level, then challenge is not valid.
- If VaultHook is missing, nut it requires some money, then challenge is not valid.
2019-01-30 19:11:27 +02:00
tastybento
c9909f4b76 Refreshes challenge icon after completion
https://github.com/BentoBoxWorld/Challenges/issues/60
2019-01-29 15:03:41 -08:00
BONNe
f1f9072dc0 Add GuiButton that allows to switch MobHeads vs MobEggs... 2019-01-28 23:45:05 +02:00
BONNe
9918752589 Fix issue when completing challenge was not displayed in ChallengesGUI. (#60) 2019-01-28 21:01:26 +02:00
BONNe
7384afa262 Disable broadcast message for user. #62 2019-01-28 20:25:28 +02:00
BONNe1704
abfe81c5e6 Add GuiButton that allows to load 0.3 challenges.
Add Necessary methods in ImportManager.
2019-01-28 17:53:23 +02:00
BONNe
37a8bd72c9 Fix issue when ConfirmationGUI never closes. 2019-01-28 01:21:37 +02:00
BONNe
d8812cd1ee Tweak ListUsersGUI.
- Complete and Reset challenges will be opened until pressed back button.
- Fix issue when confirm reset never closes.
2019-01-28 01:19:40 +02:00
BONNe
5bea79d263 Remove Light Gray Glass Panes at the end of each row in ChallengesGUI. 2019-01-27 13:10:43 +02:00
BONNe
f3fe85ab2e Fix issue when SettingsGUI did not display updated values. 2019-01-26 15:36:21 +02:00
BONNe
586b076860 Fix issues when Description were to long to fit in window. 2019-01-26 14:46:03 +02:00
BONNe
d6a39b2600 Add completion blockage for un-deployed challenges. 2019-01-26 13:58:00 +02:00
BONNe
2a6127b0f6 Remove repeating blockage for Island Challenge type. 2019-01-26 13:53:49 +02:00
BONNe
ab22651425 Fix an issue when users could do challenges in other gamemodes.
Fix an issue when users could complete challenges outside their island.
2019-01-26 13:47:56 +02:00
BONNe
01482b926b Fix issue, when new challenges and levels were without world name. 2019-01-26 13:17:38 +02:00
BONNe
4b2f974b56 Add correct language references. 2019-01-26 00:12:42 +02:00
BONNe
087ee07f45 Add glowing effect on challenge level icons that are completed. 2019-01-25 00:59:06 +02:00
BONNe
089f09dd45 Implement ChallengeLevel completion rewards.
Add methods isLevelDone() and addCompletedLevel() to ChallengesPlayerData object.
Add isLevelCompleted(), validateLevelCompletion() and setLevelComplete() to ChallengesManager.

Add check in TryToComplete after completing challenges first time.
2019-01-25 00:54:21 +02:00
BONNe
2a4b892ed7 Create EMPTY_RESULT variable to avoid so many new ChallengeResult object initializations. 2019-01-25 00:28:12 +02:00
BONNe
e0f38206aa Add check on permission. 2019-01-25 00:20:33 +02:00
BONNe
0943a48c3c Add Environment check when completing challenge. 2019-01-24 23:57:50 +02:00
BONNe
52b02e06bf Rework TryToComplete class.
Remove unnecessary code.
2019-01-24 23:29:56 +02:00
BONNe
e68c5b2773 Fix issue, when top command was not displayed in Description. 2019-01-23 21:50:10 +02:00
BONNe
96cb4488c3 Disable Money and Level buttons in admin panel, if EconomyPlugin or Level addon is missing. 2019-01-23 21:44:33 +02:00
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