Commit Graph

553 Commits

Author SHA1 Message Date
BONNe 7ac1ab4a61
Prepare 1.0 Release (#287)
* Version 0.8.5

* Retranslated zh-CN.yml (#273)

* 50% completed.

* 60% completed.

* 63% completed.

* Completed.

* Change the indentation, some improvements.

Co-authored-by: zhangYi <apachezy@hotmail.com>

* Updated german language file (#278)

fixed double & and double whitespace

* Fixes a mistaken permission for completing multiple challenges at once.

* Fixes translated placeholders in PL translation.

Note: translation looks bad.

* Update CompleteChallengeCommandTest.java

* Upgrade to BentoBox 1.17 API changes.

Implement Pladdon functionality.
Compile against java 16 and Spigot 1.17

* Fix Java 16 compilation.

* Use BentoBox 1.17.0

* Update pom.xml

* Create Statistic Requirement for Challenges addon.

Statistic requirement is a new type of challenge that is based on Statistic page for clients.

* Switch to annotations instead of plugin.yml file.

* Move managers to a separate directory.

* Add mojang authLib instead of NMS.

* Rename classes to Selectors.

Split single and multiple item selectors for easier implementation.
Update proper locales.

* Implement customizable user panels.

Server owners can customize 3 panels:
- main panel
- gamemode selector
- multiple completions

Panel functions will be explained in docs later.

* Update all admin panels.

Admin panels will not contain better locales codding and easier-to-improve design.

Remove old and unused GUIs.

* Remove unused adapters.

Updates Challenges and ChallengesLevel objects.
Add TypeMigrationAdapter that will fix issue with renamed challenge type.

* Update commands.

Commands will now call correct GUI.

* Update Settings file.

Remove unused parts.

* Fixes ChallengesManager and Completer.

* Adds panel saving to the `/challenges/panels` directory.

* Updates locales file.

Complete rework of the locales file.
Very sorry translators :( no migration.

* Updates pom.xml

* Updates tests.

ChallengesGUITest is removed because GUI is removed.

* Update default.json

Split text into multiple lines.

* Create template YAML file.

This file format is for people who has an alergy with ingame GUI.

* Implements Template reading.

Add template loading via Admin Panel.
Improve LibraryPanel so it could find json and yml files.

* Improve coloring scheme a bit.

* Change settings file.

Add ability to change commands for addon.
Change default mode from player challenges to island challenges.

* Update Main addon class.

Move vault and level detection after everything is loaded.
Update command names.

* Update all commands.

Commands now will have an option to change their call values.

* Update default config value.

* Fixes #264

Challenges Menu will be opened only if player is in correct world.

* Changes User#sendMessage to Utils#sendMessage

This allows add "prefix" to all messages send from Challenges addon.

* Separate singe and multiple listings.

* Clean up Constants a bit.

* Add meta for items translations.

* Fix permission link.

* Translates color codes for database texts.

* Fixes a bug when global commands does not displays in tab-complete.

Remove DefaultsCommand.java as it is not used anymore.

* Fixes small bugs in translation.

* Remove unnecessary "admin" tag.

* Update default locale.

* Update latvian locale to the latest version.

* Implement multi-linguistic server support.

Now server owners can specify different name, description and reward text for each challenge and level via locales file.

Add showcase example.

* Comment out showcase translation.

* Update BentoBox version

* Update missing icons for blocks.

Some blocks cannot be displayed in GUI's, and were leaving empty spaces.
This replaces their icon with a close representative.

Fixes #286

* Add missing mob heads.

* Fixes illegal stack issues in default challenges.

#249

* Change from click-to-select to a proper next/previous page tooltip

* Add search field to the PagedSelectors.

Add missing tooltips.

* Change download icon from hopper to cobweb.

* Add missing tooltips to the CommonPagedPanel

* Add search button to the CommonPagedPanel.

Search button will allow to search elements if there are more than displayed elements.

* Add missing strings into locale.

* Reorder dependencies

The Mojang dependency was blocking out the needed Google common
packages.

* Prevent errors in TryToCompleteTest

Note - tests still fail.

* Fixed errors and tests for CompleteChallengeCommandTest

* Fixed ChallengesCommandTest tests

* Fixes tests

* Fix JavaDoc, Shade plugin settings

* Updated .gitignore

* Try different spigot API version

* Remove Vault repo because it is not needed.

* Excluded unnecessary files from shading.

* Fixes #253

Adds TeamKick and TeamLeave events to the reset check.
Do not reset challenges if data is stored per island. As in that case, they will already lose their data.

* Fixes #187

Add a new method that updates unlocked level list without changing active level. This method returns if last unlocked level was changed, and in that case it triggers whole gui rebuilding.

* Fixes #269

Disable waiver amount message for last challenge level.

* Add timeout for repeatable challenges.

Relates #71

* Implement timeout respecting in challenges completion.

Implement timeout in GUI's.

Relates #71

* Implement changing Timeout in the Challenge Edit GUI.

Relates #71

* Implement an option to set which item type will ignore metadata per challenge.

Fixes #261
Fixes #252

* Fixes failing unit-test

* Removed shade plugin from POM

* Replace GuiUtils and HeadLib to the PanelUtils library.

* Link templates to the docs.

* Remove unnecessary NMS dependency.

NMS code was used for Player Heads, but instead of NMS now it uses public mojang lib.

* Address some code quality reports from SonarCloud.

Most of the errors are just sanity checks, as the most of null-pointers were already checked in other ways.

* Fixes incorrect NEXT and PREVIOUS button descriptions.

Fixes #289

* Implement MetaData ignoring for rewards.

While required items had a metadata grouping, reward items did not have it. This will fix that.

Fixes #289

* Fix an issue when edit menu did not display item amount.

* Update lv translation.

* Fixes some small bugs with translation potion base effect.

There was an issue that it tried to translate extra effects and ignored main one.

Relates to #290

* Fix a bug with completion broadcasting

Reported via Discord.

* Update pom.xml

* Fixes a bug with `-1` repeat-times

There was a bug that prevented the challenge to be completed if negative numbers were set in the "max-repeats" value.

* Improve equal item listing.

Change when items should be grouped.
Instead of relaying strictly from ignoreMetaData set, now try to group equal elements without durability check, and use set only if that fails.

* Update German translation (#295)

* Translate de.yml via GitLocalize

* Translate de.yml via GitLocalize

* Translate de.yml via GitLocalize

Co-authored-by: Patrick <patrick.wassmuth@gmx.de>
Co-authored-by: Michael F <unhappyangel83@googlemail.com>
Co-authored-by: DAge030 <dage030@web.de>

* Fix NPEs when running tests.

Note that there are still test failures, but these are assertions and
not errors.

* Fix error in test class.

Note this does not fix the failing assertion.

* Fix failing test. Make player default to being on island.

* Fixed test failures.

* Avoid potential call with a null parameter to User.getInstance

* Check for null world

* Null check

* Added null check

* Require non-nulls.

getInventory never returns null.

* Remove various code smells.

Co-authored-by: tastybento <tastybento@wasteofplastic.com>
Co-authored-by: apachezy <50116371+apachezy@users.noreply.github.com>
Co-authored-by: zhangYi <apachezy@hotmail.com>
Co-authored-by: Qumoo <76853697+Qumoo@users.noreply.github.com>
Co-authored-by: tastybento <tastybento@users.noreply.github.com>
Co-authored-by: gitlocalize-app[bot] <55277160+gitlocalize-app[bot]@users.noreply.github.com>
Co-authored-by: Patrick <patrick.wassmuth@gmx.de>
Co-authored-by: Michael F <unhappyangel83@googlemail.com>
Co-authored-by: DAge030 <dage030@web.de>
2022-05-06 19:51:54 +03:00
tastybento 24fa0fe2d5 Merge branch 'develop' 2021-03-07 13:30:31 -08:00
tastybento 462c27f2df Fix sonar cloud bugs 2021-03-07 11:15:09 -08:00
tastybento c26b27afa1 Clean up databbase_backup after tests. 2021-03-07 11:00:39 -08:00
tastybento edc7f5f9a6 Upgrade Maven plugins to enable Java 11 compilation. 2021-03-07 11:00:20 -08:00
tastybento db527ecd3c Use GitHubs workflow SonarCloud 2021-03-07 10:40:34 -08:00
gitlocalize-app[bot] 824d9a272a
Translate de.yml via GitLocalize (#271)
Co-authored-by: Rikamo045 <rik.amos.krajinovic@gmail.com>
2021-02-13 11:40:11 +02:00
gitlocalize-app[bot] 88789df5db
Add CS translaiton (#270)
* Translate cs.yml via GitLocalize

* Translate cs.yml via GitLocalize

Co-authored-by: mt-gitlocalize <mt@gitlocalize.com>
Co-authored-by: Šimon Čecháček <dj@life-games.cz>
2021-02-13 11:36:33 +02:00
BONNe 8ad527b462 Update to BentoBox 1.15.4 API 2021-01-02 13:32:59 +02:00
BONNe 2a31fc9f67 Add proper Bukkit API event usage. 2020-12-27 21:12:38 +02:00
BONNe e1f27c88bd Fixes #265 2020-12-16 10:32:06 +02:00
BONNe 7215e88706 Ignore testBuildNoChallenges() test as it cannot be tested with current approach. 2020-12-05 18:16:00 +02:00
BONNe 93f07b95ed Fixes #263
Thanks to @sgdc3 who found my mistake with checking if challenges exists when opening GUI.
2020-11-29 00:25:02 +02:00
BONNe b4e62f1e89 Merge branch 'develop' of https://github.com/BentoBoxWorld/addon-challenges into develop 2020-11-05 09:25:09 +02:00
BONNe 3e542036a0 Fixes failing UnitTests for Challenges Addon. 2020-11-05 09:24:06 +02:00
gitlocalize-app[bot] 0753d4ebd6
Add Polish translation (#262)
* Translate pl.yml via GitLocalize

* Translate pl.yml via GitLocalize

Co-authored-by: DevAkisea <akisanauki@gmail.com>
Co-authored-by: mt-gitlocalize <mt@gitlocalize.com>
2020-10-02 14:32:34 +03:00
BONNe 27d10f2d16 Fix a bug with Vault Economy not found in loading process.
If plugin that enables Vault do it after BentoBox, then a lot of addons disabled their economy settings. This should fix it.
2020-10-02 13:47:35 +03:00
BONNe e6f82937c0
Update README.md 2020-09-06 22:17:27 +03:00
BONNe 504c0b410e Add validation methods to challenge and challengeLevel.
Do not load into local cache invalid data. Add error warnings about it.
2020-07-26 12:10:35 +03:00
tastybento 7060799bcc
Rewards lore (#248)
* Ignore failing test because method now doesn't do anything.

* Add spaces after color codes to make gitLocalize more accurate.

* Added a rewards title and made the lore prettier.
2020-07-12 14:43:15 +03:00
BONNe dfeef0ab8c
Init next release 2020-07-10 01:01:23 +03:00
BONNe 88027805e6 Release 0.8.3
# Conflicts:
#	pom.xml
2020-07-10 01:00:03 +03:00
BONNe 15655b821d Fixes #222 2020-07-10 00:55:11 +03:00
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 d69049b919 Update readMe file. 2020-07-09 22:48:01 +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 4caeee6d64 Fast bug fix when users could not write a valid input via chat message. 2020-05-02 00:17:26 +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 4ab706b207 Move back to 9.0.0 version 2020-04-22 01:42:38 +03:00
BONNe 8383c93cf9
Bug fix release (#228)
* Fix issue when users could not select non-block items as icons for challenges and levels. (#190)

* English update (#193)

* Organized imports

* Minor code cleanup

* Updated English locale file.

* Translate zh-CN.yml via GitLocalize (#188)

* 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

* Fix novice level

Update `chiseledmaker` name in `novice` level.

* Adapt literal style (#197)

Improve translations and process as a YAML string.

* 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

* 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.

* Fixes tests

* Updated travis.yml

* All strings to spanish (#200)

* Translate es.yml via GitLocalize

* Translate es.yml via GitLocalize

* Translate es.yml via GitLocalize

* Fix LevelListRequestHandler.
This handler did not return list of strings but list of challenge levels, that is incorrect.
Not it should work correctly.

* Create ro.yml

* Create id.yml

* Remove blanks files now that GitLocalize is fixed.

* Initial Russian translation (#207)

* Translate ru.yml via GitLocalize

Co-authored-by: @mt-gitlocalize @IPeredero @LoveBiscuit

* Changed build character from # to b

* 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>

* Czech translation. Credit @Polda18

* Added a uniqueId sanitization when creating challenges/levels
This will help fixing issues with spaces, hyphens and accents in non-English languages.

* Fixes bug with checking entities in nether and end (#219)

https://github.com/BentoBoxWorld/Challenges/issues/218

Adds test case to check for compliance.

* 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

* 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

* Fix broken tests due to placeholder additions.

b5ecffb725
2958ca8b6c

* Added default perms for aoneblock

* Downgrade to 0.8.1 version

* Add option to quit from conversation by writing "cancel" in chat.
Move sanitizeInput to a GuiUtil class.

* Change latest version to 0.8.1
2020-04-22 01:19:46 +03:00
BONNe 2c9f1a6057 Change latest version to 0.8.1 2020-04-22 01:16:22 +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
BONNe 3fd0aa7219 Downgrade to 0.8.1 version 2020-04-22 01:10:31 +03:00
tastybento a52cabf5b9 Added default perms for aoneblock 2020-04-19 08:38:47 -07:00