* Begin events rewrite using Guava EventBus:
- moved events to within core
- removed BukkitEventUtil
- EventUtil in core is now the implementation
- Refactor any event calls
TODO:
- Test :)
- Implement changes to PlotSquared's own listeners
- Other
* Correct code style for annotations and refactor EventUtil to EventDispatcher
* Make getEventResultRaw default method and remove empty PlotEventListener file
* not raw map
* Remove PlotPlusListener
* Add listener registration to PlotAPI. Add documentation and refactor Result enum
* Add reason for the Event Result. Change how the claim event is called
TODO: better auto event somehow. Possible re-write of auto required..?
* Implement changes to events properly
Add PlayerAutoPlotEvent
Add PlotDoneEvent
Add schematic variable to Claim event and allow it to be changed
Add reason for plot unlink to unlink event
Add pattern to component set event and allow it to be changed
Allow component of component set event to be changed
Add player to plot merge event
* Fix compile
* Correct formating
* Various cleanup
- Correct formatting in places
- Add feedback to Desc command cancellation
- Correct use of flag API
- Add FlagRemove event to flagcommand where required
* Replace reason with caption
* Switch colours in Event Deny caption
Co-authored-by: dordsor21 <dordsor21@gmail.com>
* Use generics instead of the raw class
* Add Gradle wrapper verification
* Fix biome setting in versions prior to 1.15
* Fixes#2654
* Document area getters in PlotAreaManager, and replace y-value with z in the area contains check.
* Remove update notifications
* Remove unused dependencies
* Do not kick plot owners on "/p deny *"
* Do not kick any added players on /p deny *
* Allow redstone to be used in server plot with `redstone.disable-offline` enabled.
Potentially fixes#2613
* Disallow swapping ,erged plots
* Fix legacy converter.
* Fix blockbucket pattern generation
* Prevent pasting schematics onto merged plots.
* Cancel claim event correctly
* Revert "Cancel claim event correctly"
This reverts commit 0f786155
Further investigation required
* Fix plot swapping messing up owners. Fixes#2282
* Fix plot move
* Prevent plot swapping form changing the database unless the swap was successful.
* Update signs after swap.
* Only send move success message if the move was successful.
Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Daniel <admin@hywse.eu>
Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com>
* Commit WIP flag work.
* More ported flag types, and additions to the flag API.
* Make PlotFlag more generic to allow generic flag creation
* Pull Captions methods into a Caption interface.
* Port MusicFlag
* Port flight flag
* Port UntrustedVisitFlag
* Port DenyExitFlag
* Remove paper suggestion
* Make ListFlag lists immutable
* Update Flag containers. Add javadocs. Add missing methods.
* Port description flag
* Port greeting and farewell flags
* Port weather flag
* Move getExample implementation to BooleanFlag
* Port reserved flags
* Port all boolean flags.
* Remove unused flag types
* Invert liquid-flow flag
* Find the real (legacy) flag name
* Change NOITFY -> NOTIFY in Captions
* Make IntegerFlag extendable
* Port integer flags
* Update Flag command to current API state
* Begin remaking flag command
* Create DoubleFlag + extract common parsing stuff
* Supply arguments in flag parse exceptions
* Implement missing flag subcommands
* Update Flag command to current API state
* Implement PriceFlag
* Port deny-teleport
* Port gamemode flags
* Port BreakFlag
* Port PlaceFlag
* Port UseFlag
* Remove old unused flag constants
* Port blocked-cmds flag
* Fix entity util
* Port TimeFlag
* Use CaptionUtility for formatting
* Port keep flag
* Fix imports
* Reformat code
* Remove unused classes
* Fix MainUtil.java
* Remove FlagCmd
* Add flag info header and footer
* Comment out flag related stuff in SchematicHandler
* Remove FlagManager
* Finalize Plot.java
* Finalize PlotArea.java
* Finalize PlotListener
* Fix API issues
* Fix a bunch of compile errors
* Fix `/plot flag remove`
* Fix initialization of GlobalFlagContainer
* Apply API changes to events
* Update SQLManager to new API
* Invert default value for DenyExitFlag
* Replace flag.getValue().toString() with flag.toString()
* Make FlagContainer instance in Plot final
* Fix various command issues
* Clean up PlotSettings
* Don't show internal flags in flag list
* Fix `/plot flag add`
* Remove the info inventory as it's 100% broken
* Add plot info entries and fix up the default format
* Fix default flag state in Captions
* 781c200 part 2
* Fix odd grammar in captions
* Fix odd grammar in captions v2
* Add create table statements for plot_flags
* Remove old flag references in SQLManager
* Use the new plot_flags table
* Add tab completion to `/plot flag`
* Improve parse error handling
* Make flag permission check recognize parse exceptions
* Initial progress towards flag conversion
* Fix minor issues
* Don't validate flags during flag conversion
* Allow unrecognized flags to be parsed
* Filter out internal flags from command sugguestions
* Use the wrong caption when there's no plot description set
* Limit command suggestions for boolean flags
* Make blocktypelistflags accept blockcategories
* Require categories to be prefixed with '#' and fix some minor display issues
* Fix plot database conversion
* Update PlotFlagEvent.java
Updated return description
* Fix command annotation wrapping
* Add FLAG_UPDATE event for FlagContainer listeners
* Make getParentContainer nullable
* Document castUnsafe in FlagContainer
* Document FlagContainer constructors
* Add missing documentation to FlagContainer
* Document FlagParseException
* Fix wording in FlagContainer javadoc
* Document InternalFlag
* Document PlotFlag
* Minor changes
* Remove revisit comments
Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
Sort of fixed. I added an if statement to log and return if a certain condition is met. It is unclear if there will be more generation issues as a result.
This should have backwards-compatibility for any users of the API but would require an update from anything reimplementing (for whatever reason) the interfaces amended by this commit.
When migrating to the WorldEdit Biome types, code was not altered to account for these changes. This lead to configuration parsing breaking, and the `/plot setbiome` command no longer functioning. This fixes#2599.
For further releases , we should aim to get a rid of the styles.yml and $ codes. I've seen a lot of people struggling with them, and if you want to use other formatting codes, you need to yamlize the non yamlized messages, otherwise it won't work properly.
If the user is interested in the information or needs it for debugging, they can enable them, but we don't need to spam them unnecessarily with stats about his plot worlds on each startup, /plot reload, etc.
The same information can be obtained from a debugpaste as well, so it's not a loss of information to offer assistance.
<> args are used in a lot of commands, PlayerName is used in only 3 commands and I don'T want to remove methods if not really necessary, so let's just change it here.
- Adjusting some RequiredTypes fitting their partners/default behavior
- A plot doesn't need to be claimed to get the center
- Adapting another gamemode acronym
- Fix copyFile to adapt the latest changes
- Removing HastebinUtility, we have our own paste service
The plot-based road regeneration from before does not have the same behavior as the real road regeneration code. This new debug operation will regenerate the roads within the region the player is standing using the same code that regenerates all roads. This makes it much easier to tell if things are working correctly and as expected.
The `BukkitLocalQueue` only supports using one of the sets (the removed `baseBlocks` variable in `BasicLocalBlockQueue` was the deciding factor for which one won out) which led to issues with missing blocks when trying to use both types at the same time, such as in the `HybridPlotManager`s `clearPlot` method, where `PlotBlock` is used to fill in the various layers, while the`createSchemAbs` method uses `BaseBlock` for its data.