Compare commits

..
Author SHA1 Message Date
david d4b128ed5c Paper is now modularized 2026-11-07 13:49:33 +01:00
david 99237906b9 Read all unnamed modules
Some API dependencies (e.g. brigadier, bungeecord-chat, maven-resolver-provider) are neither modular nor declare an
automatic module name, so they end up on the classpath and the org.bukkit module needs to be able to read them.
2026-11-07 13:45:16 +01:00
david 10cb0e367f Document the API in classpath mode, as modular javadoc would move every page into a module subdirectory 2026-11-07 13:44:29 +01:00
2 changed files with 232 additions and 0 deletions

No files matched your search

+7
View File
@@ -185,6 +185,10 @@ tasks.jar {
from(generateApiVersioningFile.flatMap { it.outputFile })
}
tasks.compileJava {
options.compilerArgs.addAll(listOf("--add-reads", "org.bukkit=ALL-UNNAMED"))
}
abstract class Services {
@get:Inject
abstract val fileSystemOperations: FileSystemOperations
@@ -210,6 +214,9 @@ tasks.withType<Javadoc>().configureEach {
)
options.tags(projectCustomJavadocTags.map { it.toOptionString() })
modularity.inferModulePath = false
exclude("module-info.java")
inputs.files(javadocSourcepath).ignoreEmptyDirectories().withPropertyName(javadocSourcepath.name + "-configuration")
val javadocSourcepathElements = javadocSourcepath.elements
doFirst {
+225
View File
@@ -0,0 +1,225 @@
/**
* The Paper API.
*/
@SuppressWarnings({"requires-transitive-automatic", "deprecation"})
module org.bukkit {
exports co.aikar.timings;
exports co.aikar.util;
exports com.destroystokyo.paper.block;
exports com.destroystokyo.paper.brigadier;
exports com.destroystokyo.paper.entity.ai;
exports com.destroystokyo.paper.entity.villager;
exports com.destroystokyo.paper.entity;
exports com.destroystokyo.paper.event.block;
exports com.destroystokyo.paper.event.brigadier;
exports com.destroystokyo.paper.event.entity;
exports com.destroystokyo.paper.event.inventory;
exports com.destroystokyo.paper.event.player;
exports com.destroystokyo.paper.event.profile;
exports com.destroystokyo.paper.event.server;
exports com.destroystokyo.paper.exception;
exports com.destroystokyo.paper.inventory.meta;
exports com.destroystokyo.paper.loottable;
exports com.destroystokyo.paper.network;
exports com.destroystokyo.paper.profile;
exports com.destroystokyo.paper.util;
exports com.destroystokyo.paper.utils;
exports com.destroystokyo.paper;
exports io.papermc.paper.advancement;
exports io.papermc.paper.annotation;
exports io.papermc.paper.ban;
exports io.papermc.paper.block.bed;
exports io.papermc.paper.block.fluid.type;
exports io.papermc.paper.block.fluid;
exports io.papermc.paper.block.pot;
exports io.papermc.paper.block;
exports io.papermc.paper.brigadier;
exports io.papermc.paper.chat;
exports io.papermc.paper.command.brigadier.argument.position;
exports io.papermc.paper.command.brigadier.argument.predicate;
exports io.papermc.paper.command.brigadier.argument.range;
exports io.papermc.paper.command.brigadier.argument.resolvers.selector;
exports io.papermc.paper.command.brigadier.argument.resolvers;
exports io.papermc.paper.command.brigadier.argument;
exports io.papermc.paper.command.brigadier;
exports io.papermc.paper.command;
exports io.papermc.paper.configuration;
exports io.papermc.paper.connection;
exports io.papermc.paper.datacomponent.item.attribute;
exports io.papermc.paper.datacomponent.item.blocksattacks;
exports io.papermc.paper.datacomponent.item.consumable;
exports io.papermc.paper.datacomponent.item;
exports io.papermc.paper.datacomponent;
exports io.papermc.paper.datapack;
exports io.papermc.paper.dialog;
exports io.papermc.paper.enchantments;
exports io.papermc.paper.entity.poi;
exports io.papermc.paper.entity;
exports io.papermc.paper.event.block;
exports io.papermc.paper.event.connection.configuration;
exports io.papermc.paper.event.connection;
exports io.papermc.paper.event.entity;
exports io.papermc.paper.event.executor;
exports io.papermc.paper.event.inventory;
exports io.papermc.paper.event.packet;
exports io.papermc.paper.event.player;
exports io.papermc.paper.event.server;
exports io.papermc.paper.event.world.border;
exports io.papermc.paper.event.world;
exports io.papermc.paper.inventory.tooltip;
exports io.papermc.paper.inventory;
exports io.papermc.paper.item;
exports io.papermc.paper.math;
exports io.papermc.paper.persistence;
exports io.papermc.paper.plugin.bootstrap;
exports io.papermc.paper.plugin.configuration;
exports io.papermc.paper.plugin.lifecycle.event.handler.configuration;
exports io.papermc.paper.plugin.lifecycle.event.handler;
exports io.papermc.paper.plugin.lifecycle.event.registrar;
exports io.papermc.paper.plugin.lifecycle.event.types;
exports io.papermc.paper.plugin.lifecycle.event;
exports io.papermc.paper.plugin.loader.library.impl;
exports io.papermc.paper.plugin.loader.library;
exports io.papermc.paper.plugin.loader;
exports io.papermc.paper.plugin.provider.classloader;
exports io.papermc.paper.plugin.provider.entrypoint;
exports io.papermc.paper.plugin.provider.util;
exports io.papermc.paper.plugin;
exports io.papermc.paper.potion;
exports io.papermc.paper.raytracing;
exports io.papermc.paper.registry.data.client;
exports io.papermc.paper.registry.data.dialog.action;
exports io.papermc.paper.registry.data.dialog.body;
exports io.papermc.paper.registry.data.dialog.input;
exports io.papermc.paper.registry.data.dialog.type;
exports io.papermc.paper.registry.data.dialog;
exports io.papermc.paper.registry.data;
exports io.papermc.paper.registry.event.type;
exports io.papermc.paper.registry.event;
exports io.papermc.paper.registry.holder;
exports io.papermc.paper.registry.keys.tags;
exports io.papermc.paper.registry.keys;
exports io.papermc.paper.registry.set;
exports io.papermc.paper.registry.tag;
exports io.papermc.paper.registry;
exports io.papermc.paper.scoreboard.numbers;
exports io.papermc.paper.tag;
exports io.papermc.paper.text;
exports io.papermc.paper.threadedregions.scheduler;
exports io.papermc.paper.threadedregions;
exports io.papermc.paper.util;
exports io.papermc.paper.world.chunk;
exports io.papermc.paper.world.damagesource;
exports io.papermc.paper.world.flag;
exports io.papermc.paper.world;
exports io.papermc.paper;
exports org.bukkit.advancement;
exports org.bukkit.attribute;
exports org.bukkit.ban;
exports org.bukkit.block.banner;
exports org.bukkit.block.data.type;
exports org.bukkit.block.data;
exports org.bukkit.block.sign;
exports org.bukkit.block.spawner;
exports org.bukkit.block.structure;
exports org.bukkit.block;
exports org.bukkit.boss;
exports org.bukkit.command.defaults;
exports org.bukkit.command;
exports org.bukkit.configuration.file;
exports org.bukkit.configuration.serialization;
exports org.bukkit.configuration;
exports org.bukkit.conversations;
exports org.bukkit.damage;
exports org.bukkit.enchantments;
exports org.bukkit.entity.boat;
exports org.bukkit.entity.memory;
exports org.bukkit.entity.minecart;
exports org.bukkit.entity;
exports org.bukkit.event.block;
exports org.bukkit.event.command;
exports org.bukkit.event.enchantment;
exports org.bukkit.event.entity;
exports org.bukkit.event.hanging;
exports org.bukkit.event.inventory;
exports org.bukkit.event.player;
exports org.bukkit.event.raid;
exports org.bukkit.event.server;
exports org.bukkit.event.vehicle;
exports org.bukkit.event.weather;
exports org.bukkit.event.world;
exports org.bukkit.event;
exports org.bukkit.generator.structure;
exports org.bukkit.generator;
exports org.bukkit.help;
exports org.bukkit.inventory.meta.components;
exports org.bukkit.inventory.meta.tags;
exports org.bukkit.inventory.meta.trim;
exports org.bukkit.inventory.meta;
exports org.bukkit.inventory.recipe;
exports org.bukkit.inventory.view.builder;
exports org.bukkit.inventory.view;
exports org.bukkit.inventory;
exports org.bukkit.loot;
exports org.bukkit.map;
exports org.bukkit.material.types;
exports org.bukkit.material;
exports org.bukkit.metadata;
exports org.bukkit.packs;
exports org.bukkit.permissions;
exports org.bukkit.persistence;
exports org.bukkit.plugin.java;
exports org.bukkit.plugin.messaging;
exports org.bukkit.plugin;
exports org.bukkit.potion;
exports org.bukkit.profile;
exports org.bukkit.projectiles;
exports org.bukkit.scheduler;
exports org.bukkit.scoreboard;
exports org.bukkit.spawner;
exports org.bukkit.structure;
exports org.bukkit.tag;
exports org.bukkit.util.io;
exports org.bukkit.util.noise;
exports org.bukkit.util.permissions;
exports org.bukkit.util;
exports org.bukkit;
exports org.spigotmc.event.player;
exports org.spigotmc;
requires transitive java.desktop;
requires transitive java.logging;
requires transitive com.google.common;
requires transitive com.google.gson;
requires transitive it.unimi.dsi.fastutil;
requires transitive net.kyori.adventure.api;
requires transitive net.kyori.adventure.key;
requires transitive net.kyori.adventure.text.logger.slf4j;
requires transitive net.kyori.adventure.text.minimessage;
requires transitive net.kyori.adventure.text.serializer.gson;
requires transitive net.kyori.adventure.text.serializer.legacy;
requires transitive net.kyori.adventure.text.serializer.plain;
requires transitive org.apache.logging.log4j;
requires transitive org.apache.maven.resolver;
requires transitive org.joml;
requires transitive org.jspecify;
requires transitive org.slf4j;
requires transitive org.yaml.snakeyaml;
requires org.apache.commons.lang3;
requires org.apache.maven.resolver.connector.basic;
requires org.apache.maven.resolver.transport.http;
requires org.apache.maven.resolver.impl;
requires org.apache.maven.resolver.spi;
requires static transitive org.checkerframework.checker.qual;
requires static org.jetbrains.annotations;
uses io.papermc.paper.InternalAPIBridge;
uses io.papermc.paper.ServerBuildInfo;
uses io.papermc.paper.command.brigadier.MessageComponentSerializer;
uses io.papermc.paper.registry.RegistryAccess;
uses io.papermc.paper.registry.data.InlinedRegistryBuilderProvider;
uses io.papermc.paper.registry.data.dialog.DialogInstancesProvider;
}