If some addon has code in Addon#allLoaded that crashes the call, then it did not disable addon as well as did not call allLoaded for every other addon that was left in the list.
This should be solved by adding an extra try-catch.
The kick command has an unnecessary owner check. As command should be configurable by island owners, then limiting it to an owner is wrong.
Add a code that allows kicking only lower-ranked players.
Add message that shows who kicked from the island.
Add message that shows that rank does not allow to kick.
* WIP - make easier to understand.
* Small refactor of paster to make it easier to understand
* Fix tabs to spaces. Sorry - new editor!
* Fix tabs to spaces
* Fix tab to spaces
There was no option to cancel teleportation if SafeSpotTeleport could not find a valid spot. This option could be used to avoid creating "backup" blocks in situations when teleportation is avoidable, f.e. visiting an island.
If a player is teleporting on the same island in the same dimension, it keeps spamming that PVP is enabled in dimension.
It should be enough with sending messages when the player teleports to the island.
Fixes#1885
There was an issue in PanelItemTemplate that prevented fallback buttons to be "reusable" things.
The issue was that reusable items were not passed to the panel item reader.
This change implements a new way how to define actions via a custom panel template.
Previously there were 2 options how to define an action:
- by click-type
- as an array list
This adds the third type: by action type. It means that now developers could code that action is the main key for defining what happens when button is clicked:
```
actions:
visit:
click-type: LEFT
tooltip: Tooltip text for left click action
```
#1932 implemented a feature that allows reading multiple panels from a single file, however, there was a missing builder in TemplatedPanelBuilder class that would allow to use it.
This fixes it and adds the missing builder method.
Add new Protection Flag: CHANGE_SETTINGS. This flag allows set which rank can change island settings. By default, it is set to OWNER rank and minimal value is MEMBER rank.
Fixes#1493
* Implement parameter adding to the templated panel title.
There was an issue when templated panels were always static, and api did not have a way how to change it. This will allow passing parameters to the tile, and allow adding dynamic texts.
* Implement parameter adding to the templated panel title.
There was an issue when templated panels were always static, and api did not have a way how to change it. This will allow passing parameters to the tile, and allow adding dynamic texts.
The existing template file reader could read a single configuration section from a file, and the section was required to start with the same name as the file.
This changes it and allows to read any configuration section from the panel.
This change is backward compatible and does not influence existing panels.
In discord, it was reported that running the admin delete command produces a null-pointer if `[player]` placeholder is used.
With fast checking I found out the issue: incorrect user was passed to the command.
Also, I moved runCommands below all resets, so commands could be used to give items, or xp or other stuff that is removed.
* Add CompositeCommand#defaultCommandRank variable.
This variable stores default rank for a command. This adds more flexibility to the Island#commandRanks object. This change allows specifying default rank for each command.
* Add more commands for users to configure on their islands.
Owners now can specify who can use:
- sethome command
- renamehome command
- deletehome command
- setname command
- resetname command
* Adds bonus range elements to Island object.
Admin commands still need to be adjusted or added to support management
of the bonus ranges.
* Changed to mutable class
Fixed bugs.
Some addons may want to introduce two different actions with the same click type.
This change will allow to do it, as now actions may be defined as lists instead of configuration sections.
To use it, action must be defined a bit differently:
```
actions:
- click-type: <value of enum ClickType> # required
type: <value of String> # not required
content: <value of String> # not required
tooltip: <value of String> # not required
- click-type: <value of enum ClickType> # required
type: <value of String> # not required
content: <value of String> # not required
tooltip: <value of String> # not required
```
Co-authored-by: tastybento <tastybento@users.noreply.github.com>
If create-and-link-portals is true, then teleporting to the nether will
not go to a central portal point and instead create a portal in the
nether at the same coordinates as the portal in the overworld.
Teleporting back will not be affected.
https://github.com/BentoBoxWorld/BSkyBlock/issues/464