> Should stop NPE during plot analysis
> Without overriding this method, DelegateLocalBlockQueue setblock Pattern is called
> DelegateLocalBlockQueue's setblocks use parent.setBlock, but we set that to null in ChunkBlockQueue
> ChunkBlockQueue is simply just to cache the values from generation to use in analysis
> Therefore there is no need to setblocks in any other Queue implementation
- Correct maths for calculating granted plots, etc etc
- Don't check if the player has the correct number of plots AGAIN on AutoClaimFinishTask. That's dumb.
- Add config option to disable poll once it's found an update (true by default)
- Better PlotVersion stuff can now detect if you're using a later version than the spigot API, and not tell you about it
Reason: " How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found."
* Encapsulate attributes of PlotArea using lombok Getters/Setters
* Limit access to collections, don't expose implementation details
* Better naming for some boolean attributes
* Replace magic type value with PlotAreaType enum
* Replace magic terrain value with PlotAreaTerrainType enum
* Fix remaining rebase conflicts
* Reduce code duplication
Co-authored-by: Alexander Söderberg <Sauilitired@users.noreply.github.com>
* Add option to have road regeneration be persistent across restarts.
* Use int[] not Integer[]. There's the possibility of large arrays given the size of some worlds.
* Correctly close Input/Output streams with try-with-resource.
Also don't try to ObjectOutputStream if an existing file hasn't actually been deleted.
* 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.