# IPaintingAPI
The platform-neutral interface implemented by both Paper and Velocity plugins. Retrieved via `PaintingAPI.get()`.
---
## Source
```java
package gg.lode.paintingapi;
import gg.lode.paintingapi.api.model.PackDefinition;
import gg.lode.paintingapi.api.model.ServerEntry;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
import java.util.UUID;
public interface IPaintingAPI {
boolean isEnabled();
@NotNull List<PackDefinition> getPackDefinitions();
@Nullable PackDefinition getPackDefinition(@NotNull String name);
@NotNull List<ServerEntry> getServerEntries();
boolean isRequiredForServer(@NotNull String serverName);
void reload();
void resendPacksToOnlinePlayers();
void resendPacksToPlayer(@NotNull UUID playerId);
}
```
---
## Related Pages
- [[Painting/API/PaintingAPI]] — static accessor that delegates to this interface
- [[Painting/API/PackDefinition]] — returned by `getPackDefinition`
- [[Painting/API/ServerEntry]] — returned by `getServerEntries`