Plex-FAWE/CONTRIBUTING.md
NotMyFault 50ab8ad5c7
Feature/propagate diff and object cleanup (#1190)
* Feature/main/propagate diff annotations (#1187)

* 25% done

* More work

* More work

* 50%

* More work

* 75%

* 100% & cleanup

* Update adapters

* Squish squash, applesauce

commit 275ba9bd84
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sat Jul 17 01:10:20 2021 +0200

    Update dependency com.comphenix.protocol:ProtocolLib to v4.7.0 (#1173)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit 9fd8984804
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sat Jul 17 01:09:29 2021 +0200

    Update dependency org.checkerframework:checker-qual to v3.16.0 (#1184)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit 861fb45e5c
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 19:07:02 2021 +0100

    Fix #1075

commit 420c45a29a
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 18:48:21 2021 +0100

    Entity removal should be on the main thread as we're just passing through rather than doing chunk operations
     - Fixes #1164
     - Not working: butcher/remove history

commit 4d4db7dcd0
Author: SirYwell <hannesgreule@outlook.de>
Date:   Fri Jul 16 17:52:44 2021 +0200

    Make sure leaves category is loaded for heightmaps (fixes #1176)

commit c98f6e4f37
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 10:44:52 2021 +0100

    Do not allow generation commands to generate outside selection

commit 2485f5eccc
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 10:43:15 2021 +0100

    EditSession needs to override some Extent methods to ensure block changes are correctly set through the various extents
    Fixes #1152

commit d9418ec8ae
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 09:52:44 2021 +0100

    Undo part of 41073bb1a0
    Fixes #1178

* Update Upstream

fb1fb84 Fixed typo and grammar

* We don't support custom heights yet

* Casing inconsistency

* Address a few comments

* Address comments

* Don't refactor to AP classpath

* Document annotation style

* Refactoring & shade cleanup

* Address a few comments

* More work

* Resolve comments not being resolved yet

* Feature/main/propagate diff annotations (#1187) (#1194)

* Remove beta package, fix history packages, move classes out of object package

* Resolve comments not being resolved yet

* Remove beta package, fix history packages, move classes out of object package

Co-authored-by: NotMyFault <mc.cache@web.de>

* brushes should be under brush

* More refactoring
 - Filters/processors should be in the same place and are related to extents
 - Transforms are in `extent.transform` in upstream

* Move history classes under history

* Update adapters

Co-authored-by: dordsor21 <dordsor21@gmail.com>
2021-07-23 17:48:51 +02:00

3.2 KiB

Contributing

Thank you for your interest in contributing to FastAsyncWorldEdit! We appreciate your effort, but to make sure that the inclusion of your patch is a smooth process, we ask that you make note of the following guidelines.

  • Target Java 11 for source and compilation. Make sure to mark methods with @Override that override methods of parent classes, or that implement methods of interfaces.
  • Use only spaces for indentation. Our indents are 4-spaces long, and tabs are unacceptable.
  • Wrap code to a 120 column limit. We do this to make side by side diffs and other such tasks easier. Ignore this guideline if it makes the code too unreadable.
  • Write complete Javadocs. Do so only for public methods, and make sure that your @param and @return fields are not just blank.
  • Don't tag classes with @author. Some legacy classes may have this tag, but we are phasing it out.
  • Make sure the code is efficient. One way you can achieve this is to spend around ten minutes to think about what the code is doing and whether it seems awfully roundabout. If you had to copy the same large piece of code in several places, that's bad.
  • Annotate modified upstream (WorldEdit) code. Doing so makes it easier to differentiate between modifications. Take a look at the Examples how that's been done.
  • Keep commit summaries under 70 characters. For more details, place two new lines after the summary line and write away!
  • Test your code. We're not interested in broken code, for the obvious reasons.
  • Write unit tests. While this is strictly optional, we recommend it for complicated algorithms.

Additional Notes

If you're submitting a feature, base your code on main and PR against the main branch.

Checklist

Ready to submit? Perform the checklist below:

  1. Have all tabs been replaced into four spaces? Are indentations 4-space wide?
  2. Have I written proper Javadocs for my public methods? Are the @param and @return fields actually filled out?
  3. Have I git rebased my pull request to the latest commit of the target branch?
  4. Have I combined my commits into a reasonably small number (if not one) commit using git rebase?
  5. Have I made my pull request too large? Pull requests should introduce small sets of changes at a time. Major changes should be discussed with the team prior to starting work.
  6. Are my commit messages descriptive?

You should be aware of git rebase. It allows you to modify existing commit messages, and combine, break apart, or adjust past changes.

Example

Code style

This is GOOD:

    if (var.func(param1, param2)) {
        // do things
    }

This is VERY BAD:

    if(var.func( param1, param2 ))
    {
        // do things
    }

Diff Annotations

//FAWE start
public Region[] getCurrentRegions(FaweMaskManager.MaskType type) {
        return WEManager.IMP.getMask(this, type);
}
//FAWE end
//FAWE start - extends PassthroughExtent > implements Extent
public class EditSession extends PassthroughExtent implements AutoCloseable {
//FAWE end