From 3766afadd5ba7730ed9c059f92a5aa8116550daa Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Sat, 2 Dec 2023 13:52:14 -0800 Subject: [PATCH] [ci skip] Add mention of FQ imports (#9994) --- CONTRIBUTING.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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