Commit Graph

563 Commits

Author SHA1 Message Date
BONNe
d59b047555 Fixes missing "required level" string.
I forgot to add correct reference text to the level.

Fixes #298
2022-07-25 11:00:05 +03:00
BONNe
26fb55748f Solves "Comparison method violates its general contract!" crash.
I reworked a comparator for challenges a bit. I did not find the reason why previous was wrong, as it should return the same result as the new one, but for some reason this works, and previous do not.

Fixes #296
2022-07-07 11:27:11 +03:00
BONNe
218e5fc6c4 Fixes an incorrect permission assignment for global admin and global player command.
Reported via discord.
2022-05-13 18:02:42 +03:00
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
9cccfa02ba Remove various code smells. 2022-04-16 15:54:49 -07:00
tastybento
6c0915544e Require non-nulls.
getInventory never returns null.
2022-04-16 15:27:35 -07:00
tastybento
37d2039a67 Added null check 2022-04-16 15:21:29 -07:00
tastybento
44ad32df50 Null check 2022-04-16 15:15:26 -07:00
tastybento
e8b4129c3a Check for null world 2022-04-16 15:13:55 -07:00
tastybento
5c2f2ecfc7 Avoid potential call with a null parameter to User.getInstance 2022-04-16 15:12:19 -07:00
tastybento
10d8352f1c Fixed test failures. 2022-04-16 15:03:11 -07:00
tastybento
aff6fcec22 Fix failing test. Make player default to being on island. 2022-04-16 14:49:17 -07:00
gitlocalize-app[bot]
f851a96c9b
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>
2022-04-16 18:34:54 +03:00
BONNe
36ad61b4b9
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.
2022-03-22 12:49:57 +02:00
BONNe
e96e2c7e72
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.
2022-03-22 12:41:27 +02:00
BONNe
6bffb2088b
Fix a bug with completion broadcasting
Reported via Discord.
2022-02-20 12:08:58 +02:00
BONNe
b9e57fdebb 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
2022-01-08 13:23:48 +02:00
BONNe
fc1d4fcf06 Update lv translation. 2022-01-04 21:48:36 +02:00
BONNe
23778ffca2 Fix an issue when edit menu did not display item amount. 2022-01-04 21:47:20 +02:00
BONNe
88215b6f0c Implement MetaData ignoring for rewards.
While required items had a metadata grouping, reward items did not have it. This will fix that.

Fixes #289
2022-01-04 21:45:34 +02:00
BONNe
71e0029d46 Fixes incorrect NEXT and PREVIOUS button descriptions.
Fixes #289
2022-01-04 21:38:52 +02:00
BONNe
7fbffbb6d2 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.
2021-12-01 11:30:02 +02:00
BONNe
8f6abf2434 Link templates to the docs. 2021-11-22 13:55:51 +02:00
BONNe
e9f37e8dee Replace GuiUtils and HeadLib to the PanelUtils library. 2021-10-02 14:04:30 +03:00
BONNe
08d1561138 Implement an option to set which item type will ignore metadata per challenge.
Fixes #261
Fixes #252
2021-09-24 17:16:33 +03:00
BONNe
99a3e3f165 Implement changing Timeout in the Challenge Edit GUI.
Relates #71
2021-09-24 16:16:48 +03:00
BONNe
bb5e861b30 Implement timeout respecting in challenges completion.
Implement timeout in GUI's.

Relates #71
2021-09-24 16:03:02 +03:00
BONNe
1b01995546 Add timeout for repeatable challenges.
Relates #71
2021-09-24 13:08:33 +03:00
BONNe
644c7d6ba5 Fixes #269
Disable waiver amount message for last challenge level.
2021-09-24 12:55:41 +03:00
BONNe
aa0336d62a 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.
2021-09-24 12:26:44 +03:00
BONNe
adf4e7c58b 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.
2021-09-24 11:14:07 +03:00
tastybento
7b8cab3689 Fixed ChallengesCommandTest tests 2021-09-23 17:35:26 -07:00
BONNe
ff231fae49 Add missing strings into locale. 2021-09-20 15:19:08 +03:00
BONNe
09d5bfc8cf Add search button to the CommonPagedPanel.
Search button will allow to search elements if there are more than displayed elements.
2021-09-20 15:14:42 +03:00
BONNe
8c9ddb189d Add missing tooltips to the CommonPagedPanel 2021-09-20 14:41:09 +03:00
BONNe
23fc5310b3 Change download icon from hopper to cobweb. 2021-09-20 14:40:47 +03:00
BONNe
a75c243762 Add search field to the PagedSelectors.
Add missing tooltips.
2021-09-20 14:39:21 +03:00
BONNe
b138e50376 Change from click-to-select to a proper next/previous page tooltip 2021-09-20 14:38:29 +03:00
BONNe
7f53283f78 Fixes illegal stack issues in default challenges.
#249
2021-09-20 12:23:19 +03:00
BONNe
5e94aa71da Add missing mob heads. 2021-09-20 12:16:30 +03:00
BONNe
aa4bb3d8e4 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
2021-09-20 11:49:39 +03:00
BONNe
4e0177772e Comment out showcase translation. 2021-09-20 11:16:03 +03:00
BONNe
01e6306ef2 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.
2021-09-20 11:15:24 +03:00
BONNe
477766c8f0 Update latvian locale to the latest version. 2021-09-20 10:22:43 +03:00
BONNe
25c6d0d403 Update default locale. 2021-09-20 10:22:27 +03:00
BONNe
dfd0a53fb5 Remove unnecessary "admin" tag. 2021-09-20 10:22:07 +03:00
BONNe
56fb5388c5 Fixes small bugs in translation. 2021-09-20 09:28:23 +03:00
BONNe
24828a3a1b Fixes a bug when global commands does not displays in tab-complete.
Remove DefaultsCommand.java as it is not used anymore.
2021-09-20 09:27:58 +03:00
BONNe
c1a0eaa2bf Translates color codes for database texts. 2021-09-19 22:56:50 +03:00
BONNe
5f4fc315e6 Fix permission link. 2021-09-19 21:48:19 +03:00
BONNe
54696ce8e7 Add meta for items translations. 2021-09-19 21:04:54 +03:00
BONNe
2bc71b5f52 Clean up Constants a bit. 2021-09-19 21:04:09 +03:00
BONNe
89c51211cd Separate singe and multiple listings. 2021-09-19 18:41:41 +03:00
BONNe
6fbc9d0676 Changes User#sendMessage to Utils#sendMessage
This allows add "prefix" to all messages send from Challenges addon.
2021-09-19 15:36:52 +03:00
BONNe
99c920fe8f Fixes #264
Challenges Menu will be opened only if player is in correct world.
2021-09-19 15:14:28 +03:00
BONNe
220cc20726 Update default config value. 2021-09-19 15:02:28 +03:00
BONNe
670513e37a Update all commands.
Commands now will have an option to change their call values.
2021-09-19 15:02:15 +03:00
BONNe
5da823c7e5 Update Main addon class.
Move vault and level detection after everything is loaded.
Update command names.
2021-09-19 14:21:29 +03:00
BONNe
4826b5fec7 Change settings file.
Add ability to change commands for addon.
Change default mode from player challenges to island challenges.
2021-09-19 14:20:11 +03:00
BONNe
af3a42e136 Improve coloring scheme a bit. 2021-09-19 13:11:41 +03:00
BONNe
29565538c3 Implements Template reading.
Add template loading via Admin Panel.
Improve LibraryPanel so it could find json and yml files.
2021-09-18 21:37:30 +03:00
BONNe
535cde825e Create template YAML file.
This file format is for people who has an alergy with ingame GUI.
2021-09-18 21:35:54 +03:00
BONNe
5687f1a125 Update default.json
Split text into multiple lines.
2021-09-18 21:34:18 +03:00
BONNe
d44298cb3f Updates locales file.
Complete rework of the locales file.
Very sorry translators :( no migration.
2021-09-18 13:03:27 +03:00
BONNe
dae779ea1a Adds panel saving to the /challenges/panels directory. 2021-09-18 13:02:22 +03:00
BONNe
edc6d1a5b6 Fixes ChallengesManager and Completer. 2021-09-18 13:01:35 +03:00
BONNe
c8177adb9e Update Settings file.
Remove unused parts.
2021-09-18 13:01:04 +03:00
BONNe
bfc5cefd69 Update commands.
Commands will now call correct GUI.
2021-09-18 13:00:31 +03:00
BONNe
d1f15aed8b Remove unused adapters.
Updates Challenges and ChallengesLevel objects.
Add TypeMigrationAdapter that will fix issue with renamed challenge type.
2021-09-18 12:58:52 +03:00
BONNe
3ee89af5df Update all admin panels.
Admin panels will not contain better locales codding and easier-to-improve design.

Remove old and unused GUIs.
2021-09-18 12:56:44 +03:00
BONNe
09a30f00db Implement customizable user panels.
Server owners can customize 3 panels:
- main panel
- gamemode selector
- multiple completions

Panel functions will be explained in docs later.
2021-09-18 12:54:17 +03:00
BONNe
3bb0a30657 Rename classes to Selectors.
Split single and multiple item selectors for easier implementation.
Update proper locales.
2021-09-18 12:51:00 +03:00
BONNe
703658eccc Move managers to a separate directory. 2021-08-14 21:43:42 +03:00
BONNe
7c2be91be9 Switch to annotations instead of plugin.yml file. 2021-08-14 21:42:45 +03:00
BONNe
834078e99f Merge remote-tracking branch 'origin/develop' into develop 2021-08-14 19:37:23 +03:00
BONNe
c63087c5af Create Statistic Requirement for Challenges addon.
Statistic requirement is a new type of challenge that is based on Statistic page for clients.
2021-08-14 19:25:04 +03:00
tastybento
66a4730ca0 Use BentoBox 1.17.0 2021-06-27 17:09:06 -07:00
BONNe
9ca674d2b9 Upgrade to BentoBox 1.17 API changes.
Implement Pladdon functionality.
Compile against java 16 and Spigot 1.17
2021-06-23 19:50:58 +03:00
BONNe
93c98e0c35 Fixes translated placeholders in PL translation.
Note: translation looks bad.
2021-04-28 10:38:30 +03:00
BONNe
227138a689 Fixes a mistaken permission for completing multiple challenges at once. 2021-04-16 20:38:32 +03:00
Qumoo
66779a75f7
Updated german language file (#278)
fixed double & and double whitespace
2021-03-24 20:55:23 +02:00
apachezy
cdfa68c942
Retranslated zh-CN.yml (#273)
* 50% completed.

* 60% completed.

* 63% completed.

* Completed.

* Change the indentation, some improvements.

Co-authored-by: zhangYi <apachezy@hotmail.com>
2021-03-14 01:47:35 +02:00
tastybento
462c27f2df Fix sonar cloud bugs 2021-03-07 11:15:09 -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
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
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
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
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
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