Commit Graph

582 Commits

Author SHA1 Message Date
BONNe 445e5a03e2 Fixes #241 2020-07-10 00:42:44 +03:00
BONNe d3094053eb Fixes #239 2020-07-09 23:25:25 +03:00
BONNe 6a79351685 Add 1.15.2 Compaitbility issue with pig_zombie egg. 2020-07-09 23:03:52 +03:00
BONNe fcb7634079 Downgrade to 0.8.3 version.
Added 1.16 entities to HeadLib.
Update to released BentoBox version.
2020-07-09 22:45:23 +03:00
BONNe 129f692045 Comment out code that removes player from local cache on leaving server.
It is done due #246 reported that relog could be done faster than async saving.
2020-07-08 09:56:55 +03:00
BONNe ce14c20126 Update to BentoBox 1.14-SNAPSHOT API.
Implement new API features.
Replace deprecated methods.

Add compatibility layer with Minecraft 1.16 version.
2020-07-07 11:58:09 +03:00
BONNe e85b687e36 Fixes #244
Implement 2 new placeholders.
2020-06-19 11:36:26 +03:00
BONNe dd8834f1df Fixes #243
Challenges level status for unlocking should look on previous level waiver amount, not on its value.
Also, if second level is marked as locked, then all next levels should also be marked as locked.
2020-06-17 08:32:15 +03:00
BONNe 679fe48871 Fix issue when challenges are not saved in database after importing from web or default file set. 2020-05-26 10:19:32 +03:00
tastybento 6203b92f2e Fixed tests. 2020-05-09 12:51:13 -07:00
BONNe da5fab8558 Remove settings saving on addon disabling.
Settings are saved on each Settings GUI building.
2020-05-08 10:20:44 +03:00
BONNe ffac90f84c Add NULL protection in challenge and level loading.
Remove Challenge and Level saving on server stop, as it is done in GUI after editing. Reduce load on database.
Use saveAsync, as saveObject is deprecated.
2020-05-08 10:20:01 +03:00
BONNe fdafce0b86 Add bee head in HeadLib 2020-05-08 09:48:07 +03:00
BONNe e32799a1fb Fix config issues.
Populate challenge lore and level lore with all enum values on initialization, instead of leaving them empty.

Fix wrong message about reset for some config options.
2020-05-08 09:40:13 +03:00
BONNe 1c9aa664c8 Update to BentoBox 1.13.1.
Update to Spigot 1.15.2.
2020-05-08 09:38:50 +03:00
BONNe ce6aa4ef55 Fixes #231
It should return previous level instead of current one.
2020-05-07 19:27:59 +03:00
BONNe 67971e44e8 Fix placeholder names.
Used naming scheme: [gamemode]_[addon]_[placeholder].
2020-05-07 00:26:12 +03:00
BONNe d11226d504 Fixes #231
Logic issue.
2020-05-07 00:19:21 +03:00
BONNe 8d5514325c Fix issue when AbandonedListener targeted correct input values.
I did not understand correctly how that listener worked.
2020-04-29 23:15:24 +03:00
BONNe 5a0d63a272 Add option to quit from conversation by writing "cancel" in chat.
Move sanitizeInput to a GuiUtil class.
2020-04-22 01:12:46 +03:00
tastybento a52cabf5b9 Added default perms for aoneblock 2020-04-19 08:38:47 -07:00
tastybento 30783112b1 Merge branch 'develop' of https://github.com/BentoBoxWorld/Challenges.git into develop 2020-04-06 17:21:02 -07:00
tastybento bda02fe55b Fix broken tests due to placeholder additions.
b5ecffb725
2958ca8b6c
2020-04-06 17:20:53 -07:00
BONNe b5ecffb725 Add 2 new placeholders:
- `[gamemode]_challenge_latest_level_name` returns latest unlocked challenge level name
- `[gamemode]_challenge_latest_level_id` returns latest unlocked challenge level id

Fixes #226
2020-04-06 20:14:34 +03:00
BONNe 2958ca8b6c Add 7 new placeholders for Challenges Addon.
- `[gamemode]_challenge_total_completion_count` returns number of sum of challenge completions for user.
- `[gamemode]_challenge_completed_count` returns number of completed challenges (at least once) for user.
- `[gamemode]_challenge_uncompleted_count` returns number of uncompleted challenges for user.
- `[gamemode]_challenge_completed_level_count` returns number of completed levels for user.
- `[gamemode]_challenge_uncompleted_level_count` returns number of uncompleted levels for user.
- `[gamemode]_challenge_unlocked_level_count` returns number of unlocked levels for user.
- `[gamemode]_challenge_locked_level_count` returns number of locked levels for user.

Fixes #224
2020-04-05 21:27:09 +03:00
tastybento 6368585a57
Fixes bug with checking entities in nether and end (#219)
https://github.com/BentoBoxWorld/Challenges/issues/218

Adds test case to check for compliance.
2020-03-09 11:39:59 +02:00
Florian CUNY db971d81ab Added a uniqueId sanitization when creating challenges/levels
This will help fixing issues with spaces, hyphens and accents in non-English languages.
2020-02-08 22:28:57 +01:00
tastybento 0ae84ec850
Czech translation. Credit @Polda18 2020-01-30 10:28:36 -08:00
gitlocalize-app[bot] fca00108bb Add German translation (#210)
* Translate de.yml via GitLocalize

* Translate de.yml via GitLocalize

* Translate de.yml via GitLocalize

Co-authored-by: xXjojojXx <36734820+xXjojojXx@users.noreply.github.com>
Co-authored-by: FunnysBanana <51290016+FunnysBanana@users.noreply.github.com>
Co-authored-by: mt-gitlocalize <mt@gitlocalize.com>
2020-01-13 08:04:11 +02:00
gitlocalize-app[bot] 7b8cc8e985 Initial Russian translation (#207)
* Translate ru.yml via GitLocalize

Co-authored-by: @mt-gitlocalize @IPeredero @LoveBiscuit
2019-12-23 08:58:52 +02:00
tastybento 352e67344c Remove blanks files now that GitLocalize is fixed. 2019-11-30 09:39:48 -08:00
tastybento 8c4cadafdc
Create id.yml 2019-11-16 18:30:31 -08:00
tastybento 3a1acaf6a5
Create ro.yml 2019-11-16 18:30:21 -08:00
BONNe 4cae1ed267 Fix LevelListRequestHandler.
This handler did not return list of strings but list of challenge levels, that is incorrect.
Not it should work correctly.
2019-11-13 16:16:59 +02:00
gitlocalize-app[bot] e75d13666e All strings to spanish (#200)
* Translate es.yml via GitLocalize

* Translate es.yml via GitLocalize

* Translate es.yml via GitLocalize
2019-11-12 12:14:00 +02:00
tastybento 4cb4c7e3fb Fixes tests 2019-11-03 14:12:09 -08:00
BONNe e3e3191e6c Fix a bug with challenge deletion.
If challenge has been left in a level, then system did not remove challenge from it and was kept as ghost challenge, preventing from completing level.
2019-11-03 22:45:24 +02:00
tastybento 9d45f08fb1 Test coverage (#199)
* Test coverage for Challenges Command

* Added CompleteChallengeCommand test class

* Added Utils test class

* Added ChallengesGUI test class

* Fix code smells from sonarcloud analysis

* Added .gitignore

* Added Travis CI config file

* WIP ChallengesManager Test class

* Added ChallengesManager test class

* Removed debug

* Removed code smells.

* Added ChallengesAddon test class.

* Added onDisbale test

* Added new TryToComplete test class - WIP

Covers inventory challenges.

* Added Island Challenge entity tests to TryToComplete test class
2019-10-30 08:44:26 +02:00
NotMyFault d1c9e8fd44 Adapt literal style (#197)
Improve translations and process as a YAML string.
2019-10-25 09:36:36 +03:00
BONNe 250d8cf639
Fix novice level
Update `chiseledmaker` name in `novice` level.
2019-10-14 14:28:19 +03:00
NotMyFault 3f9e709cdd Make default translation looking a bit nicer (#192)
* Make default translation looking a bit nicer
* Updating a few friendly names and rewording some phrases
* Add generic .gitignore
2019-10-14 14:12:18 +03:00
DuckSoft 967e6e05a2 Translate zh-CN.yml via GitLocalize (#188) 2019-10-10 18:59:02 +03:00
tastybento 2aa437f071 English update (#193)
* Organized imports

* Minor code cleanup

* Updated English locale file.
2019-10-10 08:35:25 +03:00
BONNe 0c47f811dc Fix issue when users could not select non-block items as icons for challenges and levels. (#190) 2019-09-28 20:09:21 +03:00
BONNe e83f906581
Translate lv.yml via GitLocalize (#185) 2019-09-09 14:41:16 +03:00
BONNe c74fa42770 Change challenges addon status to incompatible, if it tries to run with YAML 2019-09-09 01:02:34 +03:00
BONNe 9d400fd115 Fix water-zoo challenge.
(it's level was elite but added in advanced level)
2019-09-08 21:45:03 +03:00
BONNe 902a1993a2 Add UTF-8 CharSet for file writer to avoid issues with incorrect char saving. 2019-09-08 20:33:19 +03:00
BONNe 449890def5 Drop Depricated 1.13 SIGN object.
Update to 1.7 BentoBox.
2019-09-08 20:15:30 +03:00
BONNe 4e6d37cd90 Rework Challenge Object Data storing.
Requires MIGRATION if upgrade from older version.
2019-09-08 20:03:46 +03:00
BONNe 09036a28f0 Fix typos. 2019-09-06 18:45:55 +03:00
BONNe 3501db7002 Work on fixing some crashes related to incorrect data.
Optimize some lambda functions.
Add method that validates challenge's levels. If level does not exits in database, then challenge's level is set to FREE.
Fix crash with migration: Free challenges level does not require migration.

This relates to issue #181
2019-09-06 00:14:06 +03:00
tastybento 92c2ba12b7 Updated Japanese translation (#180)
* Translate ja.yml via GitLocalize
2019-09-05 18:15:55 +03:00
BONNe 643c5e8f7c Add an option to hide undeployed challenges from challenge list (#175)
Added new config option "gui-settings.undeployed-view-mode" with 3 values
- 'VISIBLE' - all challenges are visible
- 'HIDDEN' - only deployed challenges are visible
- 'TOGGLEABLE' - users will be able to choose option for themself (not implemented)

Implement functionality in ChallengesGUI, where if option hidden is set, then all undeployed challenges are removed.
Implement ability to edit this option via admin Settings panel.
2019-09-05 15:52:14 +03:00
BONNe e5ec5d5825 Apply new Utils methods in EditChallengesGUI 2019-09-05 13:24:03 +03:00
BONNe e900f1e665 Add generic methods that allows to get next or previous elements in given array. 2019-09-05 13:23:19 +03:00
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 ae614a13d4 Merge remote-tracking branch 'origin/develop' into develop 2019-09-05 09:37:05 +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
NotMyFault 68e09d6946 Fix typos and make challenge descriptions looking a bit nicer (#177) 2019-09-04 18:21:39 +03:00
BONNe fd4a19bcb1 Add 1.14 mob types to HeadLib. 2019-09-04 09:49:58 +03:00
BONNe 40e34e7999 Add better challenge sorting in AdminGUI's
Now challenges will be sorted by their level order number, their order number, their unique id. All free challenges will always be at the start.
2019-09-04 09:30:11 +03:00
BONNe e854bbd294 Fix issue when Lore GUI buttons were not colored and splitted. 2019-09-03 11:14:26 +03:00
BuildTools f2a4ab5817 Merge remote-tracking branch 'origin/develop' into develop 2019-09-03 09:04:08 +03:00
BuildTools 7af213bb76 Add missing lore titles 2019-09-03 09:03:51 +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
tastybento 83c22f5a0d Japanese translation (#176)
* Translate ja.yml via GitLocalize

* Translate ja.yml via GitLocalize
2019-09-03 00:03:03 +03:00
BONNe 747c12f1a6 Remove all references to GitHubWebAPI4Java and use lambda instead. 2019-09-02 19:24:30 +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 707625a9da Fix the issue with incorrect unlock status. (#169)
The issue was that it never decrease challengesToDo with completed challenges from previous level, so only first level was unlocked. My mistake.
2019-09-02 09:05:18 +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 fe3a18c459 Fix copy-paste issue that prevent from completing ISLAND type challenges. 2019-08-30 17:15:36 +03:00
BuildTools f4f18c85f3 Merge remote-tracking branch 'origin/develop' into develop 2019-08-29 00:07:20 +03:00
BONNe 592a4c7310 Fix server crash when COOP player tried to complete ISLAND type challenge (#174).
The issue was that I used wrong command to check island owner. It is fixed.
Also added 2 protective code, that prevents from trying to select large areas for block searching.
2019-08-29 00:07:08 +03:00
BONNe1704 6d8b1cb761 Fix some issues in default challenges.
- remove parallel stream reading, as it may not load all challenges/levels.
- fix chef challenge not detected by level.
- fix some typos.
2019-08-28 17:21:39 +03:00
BONNe1704 9a97b5ed53 Merge remote-tracking branch 'origin/develop' into develop 2019-08-28 16:55:34 +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
BONNe 049121ec08
Update latvian locale (#173)
* Translate lv.yml via GitLocalize
2019-08-28 13:01:04 +03:00
BONNe1704 1543c329f1 Update to BentoBox 1.7-SNAPSHOT
Upgrade to Spigot 1.14.4
Change locales to gitLocalize friendly file names.
2019-08-28 12:47:16 +03:00
BONNe 9d7a5db290 Fix issue when multiple completions were not saved correctly. 2019-08-28 11:50:16 +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 b6e2133782 Fix issue with non-migrated levels.
#168
2019-08-25 00:07:44 +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
BuildTools 54f91180d6 Fix issue in importing challenges from ASkyBlock when importing crashes with null-pointer.
Null-pointer happened because there were mistake in level unique_id getting. It was leftover from old unique_id scheme...
2019-08-14 22:00:11 +03:00
BuildTools 6f357b3197 Update code to new API.
Replace PremadeEvent with BentoBoxEvent.
2019-08-13 22:49:37 +03:00
BONNe dea71358ae
Update Utils.java
Avoid null-pointer issue if given item-list contains null elements.
The issue is still that list contains these elements.
2019-08-11 18:12:56 +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 76fb30be36 Add ability to migrate challenges from 0.5.0 - 0.7.5 data storage mode to new 0.8.0 format.
Part of implementing #105
2019-08-02 12:22:52 +03:00
BONNe1704 3985efa4d0 Fix issue when uniqueID changes did not work for imported challenges. 2019-08-01 15:06:06 +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
tastybento 9800da5973 Fixed permissions check to remove dot 2019-07-31 23:21:52 -07:00
BONNe 6c22185626
Remove crashing strings.
mode-in-world and mode-with-island were not working as a used symbol were not parsable.
2019-07-31 12:03:40 +03:00
BONNe1704 4f35f69960 Fix tabComplete method. 2019-07-24 14:34:33 +03:00
BONNe1704 9681494c1c Fix issue with wrongly applied world name lowercasing.
It looks like, exist plugins that keep capital letters in world names. That mean, it is not correct to lowercasing any id's.
To fix it, now, instead of lowercasing, challenges should be case insensitive.
2019-07-24 13:43:29 +03:00
BONNe 2a30185922
Create zh-TW.yml
From #152
2019-07-14 13:44:33 +03:00
BONNe f475cc17be
Create zh-CN.yml
From #152
2019-07-14 13:43:44 +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
BONNe1704 cd85a929d0 Fix issue when custom generated default challenges were overwritten and deleted. 2019-07-08 09:36:28 +03:00
BONNe 5e0f0510d9 Add admin reset command, that allows to reset player challenges (#141)
Fix some bugs in complete command that did not display challenge list.
Add new lang parameters in en-US and lv-LV.
2019-06-23 16:51:49 +03:00
BONNe d4bcc1ee19 Fix admin message about setting up database objects. 2019-06-23 12:42:01 +03:00
BuildTools b2f2c4a0bb Fix issue with corrupted world names after upgrading from 1.13 to 1.14. 2019-06-20 08:11:38 +03:00
BONNe 4527216dc2 Add ability for admins to complete challenge without gui. (#136) 2019-06-16 21:21:25 +03:00
BONNe ca5ff504f0 Add protection code in TryToComplete task, to avoid negative numbers in max completion times. 2019-06-16 20:46:12 +03:00
BONNe 4e2181f524 Add ability to complete challenge multiple times at once via command. 2019-06-16 20:43:07 +03:00
BONNe 526fe9ce81 Update flag Registering to newest addon API. 2019-06-16 20:25:02 +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
BONNe fc4f3ca0b6 Add AutoSaver task for Challenges Addon.
Remove WorldSave event listener.
2019-06-12 22:56:52 +03:00
nivcoo daeaafd0b2 Added fr-FR translation (#131)
* Update ReadMe.

* Remove # symbol from development build name

* feat. add FR language

* feat. add FR language

* feat. add FR language

* Added nivcoo to the authors of this locale
2019-06-10 13:37:22 +02: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 a9abe32dbe Add a lot null-pointer checks and console errors about loading null-value element from database. 2019-06-03 23:14:12 +03:00
BONNe deab2d3530 Fix failing Tests.
These tests failed because in I added Server version check in ChallengesAddon class.
2019-05-24 09:39:40 +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 7e04f592ad Add custom admin message that informs about non-existing challenges in current world. 2019-05-19 13:29:02 +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
BONNe1704 413429a091 Merge remote-tracking branch 'origin/develop' into develop 2019-05-16 10:30:46 +03:00
BONNe1704 9704ed32aa Fix issue when IslandTypeChallenges required blocks were cleared if completion was uncessesfull.
The issue was that it cleared wrong map. It must clear priority queue, but cleared required elements.
2019-05-16 10:30:01 +03:00
BONNe 3521495739 Fix issue when entities has not been removed on challenge completion (#118).
I forgot to populate entity queue :(
2019-05-14 09:55:34 +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 34ed09e768 Change json adapter factory to BentoBoxTypeAdapterFactory class. 2019-05-09 16:45:53 +03:00
tastybento a25796613f Changes to fit new API for database transition. (#114)
Config files must implement the ConfigObject interface now instead of
DataObject. They no longer need to specify uniqueId.
2019-05-09 16:24:01 +03:00
BONNe1704 698473e747 Add Latvian lang file.
Address some eng file errors.
2019-05-09 15:50:14 +03:00
BONNe1704 218d952d92 Add es-ES.yml translation.
Thanks to SrAcosta.
2019-05-09 11:48:28 +03:00
BONNe1704 ec491284b6 Add missing Title for Choosing Game Mode gui. 2019-05-09 11:45:39 +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 f18c8d0dff Remove NBT editing via NMS.
Use Dummy Mojang profiles with custom skulls, instead of editing NBT with NMS.
This will work on all versions instead of just with correct NMS hacks.
2019-05-05 17:10:10 +03:00
wellnesscookie 88e84cef2a Color extends on further locale text (#112)
* Update ReadMe.

* Remove # symbol from development build name

* Color extends on further locale text

If a Friendly Name of a challenge is colored, it's color will pass on to all words after it.
Resetting it's color and setting it back after [level] will fix this.

Not really a relevant PR, but I've asked @BONNe  on Discord if it's okay with him if I change this and he confirmed.
2019-05-04 19:01:44 +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 c702dd492b Implement Challenge Complete method. (#15)
Method currently will be available only via /[gamemode] challenges complete <challenge_id>.
2019-05-02 00:31:36 +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 f0b156de31 Improve addon reload method.
Now it will call also manager.reload() that clears cache and resets database links.
Improve ReloadCommand. Now it will be able to reload both ways (soft way that clears only cache, and hard way that reassigns database connection) with reload command.
2019-05-01 17:10:05 +03:00
BONNe 93da0c714c Implement ability to import/generate default.json file.
Remove old unnecessary methods.

Improve default.json challenges.
2019-05-01 12:46:54 +03:00
BONNe 0418e64125 Improve cache management.
Do not load players in memory, and unload them when they leave.
2019-04-27 00:13:02 +03:00
BONNe ae384c433d Fix crashing build. 2019-04-26 23:45:34 +03:00
BONNe ec843856cc Replace default challenge file type from YAML to JSON 2019-04-26 23:31:41 +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 ec099cee9c Improve default challenge loading and creating.
Remove world name from challenge and challenge level ids when default file is created.
Reassign correct world name to unique id when challenges and levels are loaded.
2019-04-26 11:18:57 +03:00
BONNe1704 017147ff3f Improve and simplify default challenge data storing. 2019-04-25 18:21:10 +03:00
BONNe1704 188e86d546 Small code cleanup. 2019-04-25 11:42:04 +03:00
BONNe 5a5d2d7782 Create method that will generate default.json file from existing challenges in memory and from given world. 2019-04-25 00:48:29 +03:00
BONNe 0e89f1216d Make clone to public method. 2019-04-25 00:39:21 +03:00
BONNe e6f151ef89 Implement clone methods for Challenge and ChallengeLevel objects. 2019-04-25 00:08:13 +03:00
BONNe 5ab53d0e9d Add Potion effects to alchemist challenge 2019-04-24 21:53:45 +03:00
BONNe1704 8191b02d86 Add some more default challenges. 2019-04-24 19:04:04 +03:00
BONNe bf801a67fc Disable TryToCompleteTest as it will fail now.
Need to review and fix this test, as TryToComplete now uses Item.isSimilar() method that is not working outside bukkit environment.
2019-04-24 09:02:11 +03:00
BONNe 4b233e2246 Start to implement default challenge loading.
Work in progress.
2019-04-24 07:45:05 +03:00
BONNe f5cf5f5867 Add 2 new methods that detects if exist any challenge or level for given world. 2019-04-24 07:43:51 +03:00
BONNe 13faf478ee Use player BoundingBox to simplify code, instead of creating new boundingBox from player location. 2019-04-24 07:03:09 +03:00
BONNe f16417b630 Remove deprecated code 2019-04-23 20:47:46 +03:00
BONNe 3b8b7129ad Fix issue when players could complete ISLAND type challenges near island border and complete, if outside border are required blocks. 2019-04-23 19:54:39 +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
BONNe 6395064cbb Populate with some default Expert challenges. 2019-04-12 23:37:46 +03:00
BONNe1704 7919689993 Refactor challenges and levels with correct YML format.
Add Competent challenges.
2019-04-12 17:53:13 +03:00
BONNe1704 a52f1563a5 Create default challenges file that will contain challenges and levels for lazy people. 2019-04-11 17:24:19 +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 d5e75491e6 Add protective code in ChallengesManager to avoid getting challenges for non-existing world. #622 2019-04-02 09:14:23 +03:00
BONNe e33db6ef29 Fix issue when users were able to complete Challenges with less items than required (#101).
This issue happens because there were an issue with detecting if enough items are in player inventory. Each new required item stack forgets abouts previous founding.
Also it marked challenge as completed after items were failed to remove.
2019-04-01 10:14:31 +03:00
BONNe bc5cb2068b Improve pom.
Removes -#NUM from master build.
Replaces -#0 to -LOCAL if use local build.
2019-04-01 10:09:40 +03:00
BONNe a957dc3a62 Update to BentoBox API 1.4.0 2019-03-29 00:42:51 +02:00
BONNe 577a13a698 Inits 0.6.5-SNAPSHOT Release
Updates to BentoBox 1.4.0.

Adds build.number to maven properties.
Rename develop to ci profile.
CI profile will rename build.number instead of build version.
2019-03-29 00:32:56 +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
BONNe ef852a08a7 Add correct default permissions for '/challenges' and '/challengesadmin' commands. 2019-03-05 10:35:48 +02:00
BONNe ba5c972e5f Fix issue when Island and Other type challenges were not marked as completed. 2019-03-05 10:30:58 +02:00
BONNe e32b07b7fc
Fix wrong message. 2019-02-25 12:28:11 +02:00
BONNe1704 24be0e0450 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	src/main/resources/locales/en-US.yml
2019-02-25 12:11:28 +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 a1de95dbd9 Improve header for challenges.yml 2019-02-25 10:25:24 +02:00
BONNe 62189f0052 Merge flags into development build. 2019-02-22 19:47:36 +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 7fb5140427 Merge remote-tracking branch 'origin/develop' into develop 2019-02-22 13:00:37 +02:00
BONNe1704 3f3cfd88a0 Register all request handlers in ChallengesAddon (#92) 2019-02-22 12:59:43 +02:00
BONNe1704 dd1e689ace Create Challenges Addon Request Handlers.
- Challenge Data Request handler - returns data map about requested challenge;
- Level Data Request handler - returns data map about requested level;
- Challenge List Request handler - returns list of challenges that operates in requested world;
- Level List Request handler - returns list of levels that operates in requested world;
- Completed Challenges Request handler - returns set of completed challenges for requested user in requested world.
2019-02-22 12:56:47 +02:00
BONNe1704 ddd43d27e6 Add event callers when completing/resetting challenges (#92) 2019-02-22 12:53:38 +02:00
BONNe1704 60965eb013 Create some challenges related events:
- CompletedEvent: fires when challenge/level is competed
- ResetEvent: fires when challenge is reset
- ResetAllEvent: fires when all challenges data in world is reset
2019-02-22 11:31:09 +02:00
BONNe 5e2d3f9cc1 Fix null-pointer issue when trying to get first element of empty list. 2019-02-20 00:33:53 +02:00
BONNe 4c762dd269 Fix mistake in assumptions.
Island#uniqueId is not a UUID object.
2019-02-20 00:30:34 +02:00
BONNe1704 7bb2ad09d3 Move TryToComplete from panel Package to tasks package. 2019-02-19 19:58:06 +02:00
BONNe1704 f38aee6ed8 Add lifeSpan to history data (#90).
In configuration add ability to add lifespan to history data. Data that will be older then configured values, will be removed from database.
This operation will happen only on player data save operation.
2019-02-19 18:30:12 +02:00
BONNe1704 9328f434cc Implement Challenges protection flags.
Create a new Flag Challenges Protection (#93), that allows to define which users can complete challenges on island.
Create a new Flag Challenges Island Limitation (#95), that allows to disable check for users to be on their islands for completing challenge.
2019-02-19 17:53:03 +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
BONNe1704 a91ec9805f Fix parameters help string. 2019-02-18 13:43:17 +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