c8088f275d
* 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. |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
src | ||
CONTRIBUTING.md | ||
LICENSE | ||
pom.xml | ||
PULL_REQUEST_TEMPLATE.md | ||
README.md |
Challenges Addon
Add-on for BentoBox to provide challenges for any BentoBox GameMode.
Where to find
Currently Challenges Addon is in Beta stage, so it may or may not contain bugs... a lot of bugs. Also it means, that some features are not working or implemented. Latest official Beta Release is 0.7.0, and you can download it from Release tab
Or you can try nightly builds where you can check and test new features that will be implemented in next release from Jenkins Server.
If you like this addon but something is missing or is not working as you want, you can always submit an Issue request or get a support in Discord BentoBox
How to use
- Place the addon jar in the addons folder of the BentoBox plugin
- Restart the server
- The addon will create a data folder and inside the folder will be a config.yml and an example challenges.yml
- Edit the config.yml how you want.
- Restart the server
Challenges
By default, challenges addon comes without any challenge or level. On first runtime only Admin GUI will be accessible.
Admins can create their own challenges or use challenges from ASkyBlock, by importing them via Admin GUI. This requires challenges.yml file in ./plugins/BentoBox/addons/Challenges/
folder.
There exist also some default challenges, which importing also are available via Admin GUI.
Compatibility
- BentoBox - 1.4.0 version
- BSkyBlock - 1.4.0 version
- AcidIsland - 1.4.0 version
- SkyGrid - 1.4.0 version
- CaveBlock - 1.4.0 version
Config.yml
As most of BenotBox addons, config can be edited only when server is stopped. Otherwise all changes will be overwritten by server. The config.yml has the following sections:
- Commands - ability to enable /challenges command. This option change is possible only via configuration and requires server restart.
To enable, you should change
single-gui
totrue
. - History - ability to enable completion history storing in player data object.
To enable, you should change
store-history-data
totrue
. It is possible to change life-span of history data in days. (0 means that data will not be removed) - GUI Settings - ability to change some options that are visible only in challenges GUI.
- Remove non-repeatable challenges from the challenge GUI when complete. Default is false.
- Add enchanted glow to completed challenges. Default is true.
- Locked level icon is displayed for locked levels.
- Free challenges location - You can decide, either free challenges will be at the top, or at the bottom.
- Description line length - allows to specify maximal line length in GUI icon descriptions.
- Challenge Description structure - allows to modify structure of challenge description.
- Level Description structure - allows to modify structure of Level description.
- Store mode - ability to store challenges completion per island or per player.
To enable storing challenges data per island change
store-island-data
totrue
. ATTENTION: progress will be lost on this option change. - Reset Challenges - if this is true, player's challenges will reset when they reset an island or if they are kicked or leave a team. Prevents exploiting the challenges by doing them repeatedly. Default is true
- Broadcast - ability to broadcast 1st time challenge completion messages to all players. Change to false if the spam becomes too much. Default is true.
- Title - ability to enable showing Title screen on first challenge completion or level completion.
- Disabled GameModes - specify Game Modes where challenges will not work.
Information
More information can be found in Wiki Pages.