mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-28 12:56:05 +01:00
Updated Developer Documentation (markdown)
parent
fb7239ea6e
commit
164921b8c4
75
API-Documentation.md
Normal file
75
API-Documentation.md
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
## API Documentation for PlotSquared
|
||||||
|
## Bukkit: Maven 1.13+
|
||||||
|
If you need to access the bukkit module of PlotSquared, you need to add `PlotSquared-BukkitAPI` as `<artifactId>` and declare it as non-transitive.
|
||||||
|
```xml
|
||||||
|
<!-- PlotSquared repository -->
|
||||||
|
<repository>
|
||||||
|
<id>plotsquared-repo</id>
|
||||||
|
<url>https://ci.athion.net/job/PlotSquared-v5-Releases/ws/mvn/</url>
|
||||||
|
</repository>
|
||||||
|
<!-- WorldEdit -->
|
||||||
|
<repository>
|
||||||
|
<id>enginehub</id>
|
||||||
|
<url>https://maven.enginehub.org/repo/</url>
|
||||||
|
</repository>
|
||||||
|
|
||||||
|
<!-- PlotSquared API -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.github.intellectualsites.plotsquared</groupId>
|
||||||
|
<artifactId>PlotSquared-CoreAPI</artifactId>
|
||||||
|
<version>5.1</version>
|
||||||
|
</dependency>
|
||||||
|
```
|
||||||
|
## Bukkit: Gradle 1.13+
|
||||||
|
If you need to access the bukkit module of PlotSquared, you need to add `PlotSquared-BukkitAPI` into the `dependencies` block and declare it as non-transitive.
|
||||||
|
```gradle
|
||||||
|
// PlotSquared repository
|
||||||
|
repositories {
|
||||||
|
maven { url = "https://ci.athion.net/job/PlotSquared-v5-Releases/ws/mvn/" }
|
||||||
|
maven { url = "https://maven.enginehub.org/repo/" } // WorldEdit
|
||||||
|
}
|
||||||
|
|
||||||
|
// PlotSquared API
|
||||||
|
dependencies {
|
||||||
|
"implementation"("com.github.intellectualsites.plotsquared:PlotSquared-CoreAPI:5.1")
|
||||||
|
}
|
||||||
|
```
|
||||||
|
You can compile PlotSquared with Gradle, which is included with this repository:
|
||||||
|
$ `gradlew build`
|
||||||
|
|
||||||
|
## Useful classes for PlotSquared
|
||||||
|
[[PlotAPI|https://github.com/IntellectualSites/PlotSquared/blob/v5/Core/src/main/java/com/github/intellectualsites/plotsquared/api/PlotAPI.java]]
|
||||||
|
[[PlotPlayer|https://github.com/IntellectualSites/PlotSquared/blob/v5/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotPlayer.java]]
|
||||||
|
[[Plot|https://github.com/IntellectualSites/PlotSquared/blob/v5/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/Plot.java]]
|
||||||
|
[[FlagManager|https://github.com/IntellectualSites/PlotSquared/blob/v5/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/flag/FlagManager.java]]
|
||||||
|
[[MainUtil|https://github.com/IntellectualSites/PlotSquared/blob/v5/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/MainUtil.java]]
|
||||||
|
[[SchematicHandler|https://github.com/IntellectualSites/PlotSquared/blob/v5/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/SchematicHandler.java]]
|
||||||
|
[[ChunkManager|https://github.com/IntellectualSites/PlotSquared/blob/v5/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/ChunkManager.java]]
|
||||||
|
[[UUIDHandler|https://github.com/IntellectualSites/PlotSquared/blob/v5/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UUIDHandler.java]]
|
||||||
|
## Tutorials
|
||||||
|
[Scripting with javascript](https://github.com/IntellectualSites/PlotSquared/wiki/Scripting)
|
||||||
|
|
||||||
|
|
||||||
|
## Terminology:
|
||||||
|
#### Plot area:
|
||||||
|
A plot area is any area that PlotSquared will manage/handle. If this is an infinite plot world, the entire world is considered to be a plot area. If you use plot clusters, then only part of the world will be a plot area, and anything outside this area will not be handled by PlotSquared.
|
||||||
|
|
||||||
|
See: [MainUtil.java](https://github.com/IntellectualSites/PlotSquared/blob/v5/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/MainUtil.java)#getPlotAreaByString(...)
|
||||||
|
|
||||||
|
#### Clusters
|
||||||
|
Clusters can be created within existing plot areas, or they can be created in a previously non-plot world, which will in turn create it's own plot area.
|
||||||
|
|
||||||
|
See: [PlotCluster.java](https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotCluster.java)
|
||||||
|
See: [PlotSquared.java](https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java(...))
|
||||||
|
|
||||||
|
#### Road
|
||||||
|
A road is what separates each plot, and includes the wall around each plot. Attempting to get a plot at this location will return null.
|
||||||
|
|
||||||
|
See: [Location.java](https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/Location.java)#isPlotRoad(...)
|
||||||
|
|
||||||
|
#### Plot
|
||||||
|
A plot can be claimed or unclaimed. Getting a plot at a location where one isn't claimed will return a new unowned plot object.
|
||||||
|
|
||||||
|
See: [MainUtil.java](https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/MainUtil.java)#getPlots(...)
|
||||||
|
|
||||||
|
>If you have made a tutorial, or an addon for PlotSquared, and want us to link it here, please create a ticket. We'd really appreciate it!
|
@ -1,166 +0,0 @@
|
|||||||
## API Documentation for PlotSquared
|
|
||||||
### This documentation covers PlotSquared version 4.X. Documentation for the legacy version (3.X) exists only as javadocs or you browse the `legacy/1.8-1.12` branch.
|
|
||||||
## Bukkit Maven:
|
|
||||||
[1.8 - 1.12.2](https://github.com/IntellectualSites/PlotSquared/wiki/Developer-Documentation#bukkit-maven-18---1122)<br>
|
|
||||||
[1.13+](https://github.com/IntellectualSites/PlotSquared/wiki/Developer-Documentation#bukkit-maven-113)
|
|
||||||
## Bukkit Gradle:
|
|
||||||
[1.8 - 1.12.2](https://github.com/IntellectualSites/PlotSquared/wiki/Developer-Documentation#bukkit-gradle-18---1122)<br>
|
|
||||||
[1.13+](https://github.com/IntellectualSites/PlotSquared/wiki/Developer-Documentation#bukkit-gradle-113)
|
|
||||||
## Nukkit
|
|
||||||
[Nukkit Maven](https://github.com/IntellectualSites/PlotSquared/wiki/Developer-Documentation#nukkit-maven)<br>
|
|
||||||
[Nukkit Gradle](https://github.com/IntellectualSites/PlotSquared/wiki/Developer-Documentation#nukkit-gradle)
|
|
||||||
## Bukkit: Maven 1.8 - 1.12.2
|
|
||||||
If you need to access the bukkit module of PlotSquared, you need to add `plotsquared-bukkitapi` as `<artifactId>` and declare it as non-transitive.
|
|
||||||
```xml
|
|
||||||
<!-- PlotSquared legacy repository -->
|
|
||||||
<repository>
|
|
||||||
<id>p2-repo</id>
|
|
||||||
<url>http://ci.athion.net/job/PlotSquared-Legacy/ws/mvn/</url>
|
|
||||||
</repository>
|
|
||||||
<!-- WorldEdit -->
|
|
||||||
<repository>
|
|
||||||
<id>enginehub</id>
|
|
||||||
<url>https://maven.enginehub.org/repo/</url>
|
|
||||||
</repository>
|
|
||||||
|
|
||||||
<!-- PlotSquared legacy API -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.plotsquared</groupId>
|
|
||||||
<artifactId>plotsquared-api</artifactId>
|
|
||||||
<version>latest</version>
|
|
||||||
</dependency>
|
|
||||||
```
|
|
||||||
## Bukkit: Gradle 1.8 - 1.12.2
|
|
||||||
If you need to access the bukkit module of PlotSquared, you need to add `plotsquared-bukkitapi` into the `dependencies` block and declare it as non-transitive.
|
|
||||||
```gradle
|
|
||||||
// PlotSquared legacy repository
|
|
||||||
repositories {
|
|
||||||
maven { url = "http://ci.athion.net/job/PlotSquared-Legacy/ws/mvn/" }
|
|
||||||
}
|
|
||||||
// PlotSquared legacy API
|
|
||||||
dependencies {
|
|
||||||
"implementation"("com.plotsquared:plotsquared-api:latest")
|
|
||||||
}
|
|
||||||
```
|
|
||||||
You can compile PlotSquared legacy with Gradle, which is included with this repository:
|
|
||||||
$ `gradlew setupDecompWorkspace` - is only needed if you want to work with Forge
|
|
||||||
$ `gradlew build` OR `gradle :Bukkit:build`
|
|
||||||
## Bukkit: Maven 1.13+
|
|
||||||
If you need to access the bukkit module of PlotSquared, you need to add `PlotSquared-BukkitAPI` as `<artifactId>` and declare it as non-transitive.
|
|
||||||
```xml
|
|
||||||
<!-- PlotSquared repository -->
|
|
||||||
<repository>
|
|
||||||
<id>p2-repo</id>
|
|
||||||
<url>http://ci.athion.net/job/PlotSquared-Releases/ws/mvn/</url>
|
|
||||||
</repository>
|
|
||||||
<!-- Jenkins4J -->
|
|
||||||
<repository>
|
|
||||||
<id>jitpack.io</id>
|
|
||||||
<url>https://jitpack.io</url>
|
|
||||||
</repository>
|
|
||||||
<!-- WorldEdit -->
|
|
||||||
<repository>
|
|
||||||
<id>enginehub</id>
|
|
||||||
<url>https://maven.enginehub.org/repo/</url>
|
|
||||||
</repository>
|
|
||||||
|
|
||||||
<!-- PlotSquared API -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.github.intellectualsites.plotsquared</groupId>
|
|
||||||
<artifactId>PlotSquared-API</artifactId>
|
|
||||||
<version>4.453</version>
|
|
||||||
</dependency>
|
|
||||||
```
|
|
||||||
## Bukkit: Gradle 1.13+
|
|
||||||
If you need to access the bukkit module of PlotSquared, you need to add `PlotSquared-BukkitAPI` into the `dependencies` block and declare it as non-transitive.
|
|
||||||
```gradle
|
|
||||||
// PlotSquared repository
|
|
||||||
repositories {
|
|
||||||
maven { url = "https://ci.athion.net/job/PlotSquared-Releases/ws/mvn/" }
|
|
||||||
maven { url = "https://jitpack.io" } // Jenkins4J
|
|
||||||
maven { url = "https://maven.enginehub.org/repo/" } // WorldEdit
|
|
||||||
}
|
|
||||||
|
|
||||||
// PlotSquared API
|
|
||||||
dependencies {
|
|
||||||
"implementation"("com.github.intellectualsites.plotsquared:PlotSquared-API:4.453")
|
|
||||||
}
|
|
||||||
```
|
|
||||||
You can compile PlotSquared with Gradle, which is included with this repository:
|
|
||||||
$ `gradlew build`
|
|
||||||
|
|
||||||
## Nukkit: Maven
|
|
||||||
```xml
|
|
||||||
<!-- PlotSquared legacy repository -->
|
|
||||||
<repository>
|
|
||||||
<id>p2-repo</id>
|
|
||||||
<url>http://ci.athion.net/job/PlotSquared-Legacy/ws/mvn/</url>
|
|
||||||
</repository>
|
|
||||||
|
|
||||||
<!-- PlotSquared legacy API -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.plotsquared</groupId>
|
|
||||||
<artifactId>plotsquared-nukkitapi</artifactId>
|
|
||||||
<version>latest</version>
|
|
||||||
</dependency>
|
|
||||||
```
|
|
||||||
## Nukkit: Gradle
|
|
||||||
```gradle
|
|
||||||
// PlotSquared legacy repository
|
|
||||||
repositories {
|
|
||||||
maven { url = "http://ci.athion.net/job/PlotSquared-Legacy/ws/mvn/" }
|
|
||||||
}
|
|
||||||
|
|
||||||
// PlotSquared legacy API
|
|
||||||
dependencies {
|
|
||||||
"implementation"("com.plotsquared:plotsquared-nukkitapi:latest")
|
|
||||||
}
|
|
||||||
```
|
|
||||||
You can compile PlotSquared legacy with Gradle, which is included with this repository:
|
|
||||||
$ `gradlew setupDecompWorkspace` - is only needed if you want to work with Forge
|
|
||||||
$ `gradlew build`
|
|
||||||
|
|
||||||
## Useful classes for PlotSquared
|
|
||||||
[[PlotAPI|https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/api/PlotAPI.java]]
|
|
||||||
[[PlotPlayer|https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotPlayer.java]]
|
|
||||||
[[Plot|https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/Plot.java]]
|
|
||||||
[[FlagManager|https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/flag/FlagManager.java]]
|
|
||||||
[[MainUtil|https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/MainUtil.java]]
|
|
||||||
[[SchematicHandler|https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/SchematicHandler.java]]
|
|
||||||
[[ChunkManager|https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/ChunkManager.java]]
|
|
||||||
[[UUIDHandler|https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UUIDHandler.java]]
|
|
||||||
## Tutorials
|
|
||||||
[Scripting with javascript](https://github.com/IntellectualSites/PlotSquared/wiki/Scripting)
|
|
||||||
[[Getting an instance of PlotSquared]]
|
|
||||||
[[Adding a subcommand]]
|
|
||||||
[[Adding custom flags]]
|
|
||||||
[[Using the PlotAPI class]]
|
|
||||||
[[Using PlotPlayer]]
|
|
||||||
[[Adding a custom world generator]]
|
|
||||||
|
|
||||||
## Developer Stuff
|
|
||||||
[Github](https://github.com/IntellectualSites/PlotSquared) - Source code
|
|
||||||
|
|
||||||
## Terminology:
|
|
||||||
#### Plot area:
|
|
||||||
A plot area is any area that PlotSquared will manage/handle. If this is an infinite plot world, the entire world is considered to be a plot area. If you use plot clusters, then only part of the world will be a plot area, and anything outside this area will not be handled by PlotSquared.
|
|
||||||
|
|
||||||
See: [MainUtil.java](https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/MainUtil.java)#getPlotAreaByString(...)
|
|
||||||
|
|
||||||
#### Clusters
|
|
||||||
Clusters can be created within existing plot areas, or they can be created in a previously non-plot world, which will in turn create it's own plot area.
|
|
||||||
|
|
||||||
See: [PlotCluster.java](https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotCluster.java)
|
|
||||||
See: [PlotSquared.java](https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java(...))
|
|
||||||
|
|
||||||
#### Road
|
|
||||||
A road is what separates each plot, and includes the wall around each plot. Attempting to get a plot at this location will return null.
|
|
||||||
|
|
||||||
See: [Location.java](https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/Location.java)#isPlotRoad(...)
|
|
||||||
|
|
||||||
#### Plot
|
|
||||||
A plot can be claimed or unclaimed. Getting a plot at a location where one isn't claimed will return a new unowned plot object.
|
|
||||||
|
|
||||||
See: [MainUtil.java](https://github.com/IntellectualSites/PlotSquared/blob/v4/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/MainUtil.java)#getPlots(...)
|
|
||||||
|
|
||||||
>If you have made a tutorial, or an addon for PlotSquared, and want us to link it here, please create a ticket. We'd really appreciate it!
|
|
Loading…
Reference in New Issue
Block a user