Commit Graph

36 Commits

Author SHA1 Message Date
BONNe b1fa9a9da7
Release 1.2.0 (#317)
* Init 1.2.0 version

* Fixes #311 localization errors in zn-CN.

Original translation author translated `[]` placeholders which broke locale

* Init 1.2.0 version

* Edit some unfit translation (#312)

Edit some unfit translation

* Fixes a regex bug that replaced every [player] char instead of whole word.

* Fixes a crash that prevented STATISTICS entity and material/item challenges to be completed.

* Add requirement-not-met-material and requirement-not-met-entity to display statistic required item on error.

* Add locale of Chinese-Hong Kong (zh-HK) (#313)

Addition of locale updated to latest version

* Add ${argLine} to get jacoco coverage

* Updated Jacoco POM section

* Update build.yml

Java 17 for Surefire

* Updated pladdon annotations

* Add support for gamemode-specific translations.

This was a request from Floris

* Update ChallengesManagerTest methods with world parameter.

* Implement option that excludes undeployed challenges

The new option allows to toggle if undeployed challenges should be included in level completion count. Disabling option will not include these challenges for level completion.

Fixes #315

* Create plugin.yml (#316)

* Create plugin.yml

* Update pom.xml

* Update ChallengesPladdon.java

* Remove dependency to org.apache.commons

Replace org.apache.commons.lang.ArrayUtils to a default Java implementation.

---------

Co-authored-by: EpicMo <1982742309@qq.com>
Co-authored-by: JamesMCL44 <epicquarters@gmail.com>
Co-authored-by: tastybento <tastybento@users.noreply.github.com>
Co-authored-by: tastybento <tastybento@wasteofplastic.com>
2023-04-15 22:55:34 +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
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 e85b687e36 Fixes #244
Implement 2 new placeholders.
2020-06-19 11:36:26 +03: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 67971e44e8 Fix placeholder names.
Used naming scheme: [gamemode]_[addon]_[placeholder].
2020-05-07 00:26:12 +03: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 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
tastybento 2aa437f071 English update (#193)
* Organized imports

* Minor code cleanup

* Updated English locale file.
2019-10-10 08:35:25 +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 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
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
BuildTools 235da81ba0 Move Settings class to separate package. 2019-09-01 15:10:05 +03:00
BONNe 526fe9ce81 Update flag Registering to newest addon API. 2019-06-16 20:25:02 +03:00
BONNe fc4f3ca0b6 Add AutoSaver task for Challenges Addon.
Remove WorldSave event listener.
2019-06-12 22:56:52 +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 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 ef852a08a7 Add correct default permissions for '/challenges' and '/challengesadmin' commands. 2019-03-05 10:35:48 +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
BONNe 62189f0052 Merge flags into development build. 2019-02-22 19:47:36 +02:00
BONNe1704 3f3cfd88a0 Register all request handlers in ChallengesAddon (#92) 2019-02-22 12:59:43 +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
BONNe 86b51df412 Update to BentoBox 1.2.0
In BentoBox 1.2 hooks are enabled before addons.
2019-01-28 20:21:48 +02:00
BONNe 0050a83d1a Fix crash while enabling addon.
This crash happened because BentoBox hookManager is not initialized when addons are enabled.
2019-01-26 16:14:43 +02:00
BONNe 6d1f4999e4 Fix issue when Settings object were not saved on server shutdown. 2019-01-26 15:36:48 +02:00
BONNe 2734c70fc5 Add direct access to vaultHook and Level addon. 2019-01-24 23:28:25 +02:00
BONNe c3b87da88e Add 2 new variables in ChallengesAddon:
- economyProvided that indicate if there exist any EconomyPlugin.
- levelProvided that indicate if level addon is enabled.
2019-01-23 21:34:40 +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
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 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
Florian CUNY 8f51ddb634 Moved everything to world.bentobox.challenges package 2018-12-30 14:31:26 +01:00