Skip to content

Latest commit

 

History

History
54 lines (44 loc) · 1.9 KB

Annotation-Explanation.adoc

File metadata and controls

54 lines (44 loc) · 1.9 KB

Fawe annotations explained

If we have modified parts of the WorldEdit codebase, we considered annotating it with different styles of comments, which are explained in this document.

In-line annotations

public static Player adapt(com.sk89q.worldedit.entity.Player player) {
        //FAWE start - Get player from PlayerProxy instead of BukkitPlayer if null
        player = PlayerProxy.unwrap(player);
        return player == null ? null : ((BukkitPlayer) player).getPlayer();
        //FAWE end
}

The -sources jar retains comments, if you add the FAWE API to your maven or gradle project, you can view differences between the projects with ease. Behind the `//FAWE start - ` you can find a comment what has been changed and why it has been changed.

Block annotations

//FAWE start
    @Override
    public void setPermission(String permission, boolean value) {
    }
//FAWE end

Annotations can cover whole methods or go beyond the method and wrap around several added methods.

Package annotations

Class additions are added under the com.fastasyncworldedit namespace, but sometimes classes need to be added in package private. If that is done, you can find a package-info.java file within the package affected that outlines FAWE added classes:

/**
* The following classes are FAWE additions:
*
* @see com.sk89q.worldedit.world.block.BlockTypesCache
*/
package com.sk89q.worldedit.world.block;

Undocumented annotations

Specific changes are not annotated:

  • com.fastasyncworldedit.core.configuration.Caption in com.sk89q.worldedit packages have been changed from com.sk89q.worldedit.util.formatting.text.Text to allow the usage of color codes for messages.

  • Certain Log4J loggers have been adjusted to use the proper format of placeholders.