summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJake Potrebic <[email protected]>2023-12-02 13:52:14 -0800
committerGitHub <[email protected]>2023-12-02 22:52:14 +0100
commit3766afadd5ba7730ed9c059f92a5aa8116550daa (patch)
treebeeb497cdf68a780be8f6264254a5d626cfc1230
parent977a729eb08fc6ac4b450d5e246526b9fbc90a17 (diff)
downloadPaper-3766afadd5ba7730ed9c059f92a5aa8116550daa.tar.gz
Paper-3766afadd5ba7730ed9c059f92a5aa8116550daa.zip
[ci skip] Add mention of FQ imports (#9994)
-rw-r--r--CONTRIBUTING.md15
1 files changed, 15 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0b0e45f29d..2ee1459ced 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -236,6 +236,21 @@ There are exceptions, especially in Spigot-related files
- When in doubt or the code around your change is in a clearly different style,
use the same style as the surrounding code.
+### Imports
+When adding new imports to a class in a file not created by the current patch, use the fully qualified class name
+instead of adding a new import to the top of the file. If you are using a type a significant number of times, you
+can add an import with a comment. However, if its only used a couple of times, the FQN is preferred to prevent future
+patch conflicts in the import section of the file.
+
+```java
+import org.bukkit.event.Event;
+// don't add import here, use FQN like below
+
+public class SomeEvent extends Event {
+ public final org.bukkit.Location newLocation; // Paper - add location
+}
+```
+
## Access Transformers
Sometimes, vanilla or CraftBukkit code already contains a field, method, or type you want to access
but the visibility is too low (e.g. a private field in an entity class). Paper can use access transformers