--- a/paper-api/build.gradle.kts
+++ b/paper-api/build.gradle.kts
@@ -93,7 +_,7 @@
     testRuntimeOnly("org.junit.platform:junit-platform-launcher")
 }
 
-val generatedApiPath: java.nio.file.Path = layout.projectDirectory.dir("src/generated/java").asFile.toPath()
+val generatedApiPath: java.nio.file.Path = rootProject.layout.projectDirectory.dir("paper-api/src/generated/java").asFile.toPath()
 idea {
     module {
         generatedSourceDirs.add(generatedApiPath.toFile())
@@ -103,6 +_,18 @@
     main {
         java {
             srcDir(generatedApiPath)
+            srcDir(file("../paper-api/src/main/java"))
+        }
+        resources {
+            srcDir(file("../paper-api/src/main/resources"))
+        }
+    }
+    test {
+        java {
+            srcDir(file("../paper-api/src/test/java"))
+        }
+        resources {
+            srcDir(file("../paper-api/src/test/resources"))
         }
     }
 }
@@ -169,7 +_,7 @@
 
 tasks.withType<Javadoc> {
     val options = options as StandardJavadocDocletOptions
-    options.overview = "src/main/javadoc/overview.html"
+    options.overview = "../paper-api/src/main/javadoc/overview.html"
     options.use()
     options.isDocFilesSubDirs = true
     options.links(
@@ -202,11 +_,11 @@
     }
 
     // workaround for https://github.com/gradle/gradle/issues/4046
-    inputs.dir("src/main/javadoc").withPropertyName("javadoc-sourceset")
+    inputs.dir("../paper-api/src/main/javadoc").withPropertyName("javadoc-sourceset")
     val fsOps = services.fileSystemOperations
     doLast {
         fsOps.copy {
-            from("src/main/javadoc") {
+            from("../paper-api/src/main/javadoc") {
                 include("**/doc-files/**")
             }
             into("build/docs/javadoc")
