Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/brush logic overhaul #82

Merged
merged 78 commits into from
Jan 4, 2023
Merged

Feat/brush logic overhaul #82

merged 78 commits into from
Jan 4, 2023

Conversation

KevinDaGame
Copy link
Owner

@KevinDaGame KevinDaGame commented Nov 4, 2022

Rewritten all brushes to allow events
Removed rotation brushes because of a severe bug
Bumped runPaper

Copy link
Collaborator

@Lennart99 Lennart99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to fix these last few points, than it is done :)

@KevinDaGame KevinDaGame merged commit a0e2a5c into develop Jan 4, 2023
@KevinDaGame KevinDaGame deleted the Feat/BrushLogicOverhaul branch January 4, 2023 11:00
KevinDaGame added a commit that referenced this pull request Jan 8, 2023
* Fix Jitpack release (#83)

* Created multi-platform event API

still not 100% happy with how subclasses of events are handled (SniperReplaceMaterialChangedEvent) - might require a bit more work

* fix BrushUsageCounter

* improve code a bit

* change SniperEvent to PlayerEvent

* Implemented EventPriority

* Added documentation, refactored some things

* Use List instead of TreeSet for HandlerList - now actually works

* Created Cancellable interface

* Delete EventManager.java

* Update build.gradle.kts

* Test

* Test

* Test

* Maybe works?

* Actually works this time

* Revert "Merge branch 'feature/events' into Feat/Jitpack"

This reverts commit 53a4d0a, reversing
changes made to 566b545.

* Update build.gradle.kts

Co-authored-by: Lennart99 <le.le@live.nl>

* Multi-platform event API (#81)

* Created multi-platform event API

still not 100% happy with how subclasses of events are handled (SniperReplaceMaterialChangedEvent) - might require a bit more work

* fix BrushUsageCounter

* improve code a bit

* change SniperEvent to PlayerEvent

* Implemented EventPriority

* Added documentation, refactored some things

* Use List instead of TreeSet for HandlerList - now actually works

* Created Cancellable interface

* Delete EventManager.java

* Change Original to Old in all events

* Inline event creation

* changes to event API: can now call registerListener on Event, callEvent returns Event

* Update all wiki links (#90)

* Update all wiki links

* Remove some todo's

* Create LICENSE (#91)

* Feat/event improvements (#88)

* Update PlayerSnipeEvent to add cancelling and pass positions

* Fixed Cancellable. Add QOL methods

* Removed unused import

* Made more events cancellable

* Made events cancellable

* Fixed my dumb shit

* List to Set

* Pulled Cancellable up into AbstractMaterialChangedEvent

* refactor

* Removed double replace event

* Fix my fix that fixed the fix

Co-authored-by: Lennart99 <le.le@live.nl>

* Feat/brush logic overhaul (#82)

* Removed clampY, started seperating Performer and Brush logic

* Disabled Rot2D, Rot2Dvert and Rot3D.

* Added operations

* Fixed BlockWrapper clone method

* Updated performers

* Split up VoxelLocation into immutable BaseLocation and mutable VoxelLocation (#93)

* Rename some methods, Improve code a bit in a few places

* Improved PlayerSnipeEvent

* Improved TreeSnipeBrush - now actually adds all effected locations to the list of operation, logic isn't ideal, but it works for now

* Added Kotlin support

* Bump version

* Correct kotlin jvm targets

* Add isInWorldHeight Check

* Moved kotlin gradle settings into common fille (voxel-core.gradle.kts)

* remove kotlin implementation from spigot module, this is now managed globally

Co-authored-by: Lennart99 <le.le@live.nl>

* Change Multimap<Class, Strings> to Map<String, Class> (#100)

* Change Multimap<Class, Strings> to Map<String, Class>

* requested changes

* resolved unit test failures

* further requested changes

* now everything according to javadocs

* further requested changes

* Improved BlockResetSurface logic (#101)

* Added BrushUsersCounter (#98)

* Added BrushUsersCounter

* Added some structure and comments to the main class

* Fix

* Another fix

Co-authored-by: Lennart99 <le.le@live.nl>

* Bstats implementation through gradle, started on WorldGuardIntegration (#95)

* Removed clampY, started seperating Performer and Brush logic

* Commit

* Updated first brushes

* Save

* Did some more brushes

* More brushes done

* More brushes

* FIxes

* Fixed blend logic

* Fixed CylinderBrush

* Removed old statics

* Fixed more brushes

* Made brushes cancellable, refactored DomeBrush

* More brushes

* Line + ThreePointCircleBrush NEEDS TESTING

* Did the splatter brushes

* TreeSnipeBrush, SetBrush, TriangleBrush. Fix DomeBrush (40 left to go)

* Jockey + ring brush

* CometBrush, DrainBrush, PaintingBrush, RegenerateChunkBrush, VoltMeterBrush. 30 remaining!

* EntityBrush, EntityRemovalBrush, FillDownBrush, SignOverwriteBrush NEED TESTING

* Stampbrushes abstracted

* JaggedLineBrush, SplineBrush, UnderlayBrush. TEST SplineBrush

* BlockResetSurfaceBrush, EraserBrush, ErodeBrush, Removed SplineBrush.java

* TO TEST!!! EllipseBrush, EllipsoidBrush, ScannerBrush.

* Fix splineBrush

* Bump runpaper 19

* FlatOceanBrush can now be undone

* Refactored OceanBrush

* Refatored PullBrush, ExtrudeBrush

* Renamed PullBrush

* CanyonBrush CanyonSelectionBrush. Rewrite of multiblock brushes

* CopyPastaBrush, GenerateTreeBrush, MoveBrush

* Disabled Rot2D, Rot2Dvert and Rot3D.
Fixed RulerBrush
Started fixing Shell brushes

* TO TEST!!! Shell brushes

* Register shell brushes

* Fix ShellSetBrush and SplatterOverlayBrush

* Move comments

* Update ShellVoxelBrush.java

* Fixed multiblock brush logic

* Validated that brushes are actually cancelled

* Fixed some issues

* Some fixes

* Idea for operations

* Fixed BlockWrapper clone

* Added BlockOperation convenience method, removed EntityOperation

* More fixes

* Rewrote operations (again)

* Updated performers

* I am done for now

* Split up VoxelLocation into immutable BaseLocation and mutable VoxelLocation (#93)

* Split up VoxelLocation into immutable BaseLocation and mutable VoxelLocation

* Rename some methods, Improve code a bit in a few places

* Made some final fixes

* Improved PlayerSnipeEvent, continued refactor

* Improved TreeSnipeBrush - now actually adds all effected locations to the list of operation, logic isn't ideal, but it works for now

* Fixed some more non tricky brushes

* Updated Operation logic

* Ensure SplineBrush fires event at the right moment

* Rename .java to .kt

* Convert Operation to kotlin

* Fixed a bunch of issues I created

* Made a start on CustomBrushes

* Removed MultiBlockBrush.java

* Refactored the last brush, no testing completed

* Bump version

* It compiles now, changed set to list. Made operations an immutable list in events

* FIxed undo, fixed splinebrush, gave BiomeBallBrush a name

* Improved isCancelled check

* Improved TreeSnipeBrush, powder action still seems to behave weirdly

* Improved SignOverwriteBrush, fixed an issue with CustomBrush

* Rename BrushOperation package to brushOperation

* Correct kotlin jvm targets

* Add isInWorldHeight Check

* Bstats implementation through gradle, started on WorldGuardIntegration

* Fixed some issues

* Feat/worldprotectiontestcode (#97)

* Added logging
for all set methods for entities, biomes & blocks. This will be used for testing and this branch will be removed after testing

* Added listeners, fixed stuff

* Fixed gradle, made some fixes

* Remove test code

* Remove more test code

* updated adventure

* improved gradle files a bit

* Feat/plotsquared (#99)

* Bump to java 17

* Possible PlotSquared implementation. TO TEST

* Added custom charts for worldguard and plotsquared

* Fixed metrics. added worldguard & plotsquared config option. Made voxelsniper.brush.* work

* improved gradle files and listeners a bit

* improved gradle files even more ;)

* Made the config options actually work

* Update VoxelSniperSpigot/src/main/resources/plugin.yml

Co-authored-by: Lennart99 <le.le@live.nl>

* Update VoxelSniperCore/src/main/java/com/github/kevindagame/voxelsniper/fileHandler/VoxelSniperConfiguration.java

Co-authored-by: Lennart99 <le.le@live.nl>

* Fixed worldguard bypass permission and edited static

* fixed bypass permission in WorldGuardIntegration.kt

* Fixed merge errors

Co-authored-by: Lennart99 <le.le@live.nl>

* Feat/fix regenerate chunk brush (#103)

* Fixed RegenerateChunkBrush

* Removed TODO's

* Feat/version 8.4.0 code cleanup (#104)

* Code cleanup

* Intellij automated code cleanup

Co-authored-by: Lennart99 <le.le@live.nl>
Co-authored-by: Crafter_Y <71288761+Crafter-Y@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Common All versions enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants