Compare commits

...

13 Commits

Author SHA1 Message Date
b858250ffd Fix linting 2023-09-13 21:15:10 +02:00
2b0c1465c5 Merge branch 'main' into docs/plotid 2023-09-13 21:14:10 +02:00
1aa370d562 Fixup bad commit d3dab0d736 2023-09-13 21:13:30 +02:00
d3dab0d736 Added documentation for PlotWeather 2023-09-12 21:13:04 -04:00
764156b267 Minor doc rewrite 2023-09-12 20:58:24 -04:00
665f5251bf Added docs to PlotItemStack 2023-09-12 20:42:58 -04:00
d46d8b158c Added a more human-friendly representation to docs 2023-09-12 18:16:14 -04:00
a6fb7b2358 Rewrite javadocs for PlotId class 2023-09-07 22:26:29 -04:00
7c328095d7 *actually 10s 2023-09-06 17:46:56 +01:00
7884c91d52 fix: run world unload task every 10 seconds, not 1 second
- Every second meant worlds would be unloaded whilst a player attempted to teleport to it
2023-09-06 17:09:01 +01:00
e9a19e0821 Update dependency dev.notmyfault.serverlib:ServerLib to v2.3.4 (#4152)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-01 08:36:43 +02:00
022847fc4b Update fawe to v2.7.1 (#4153)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-01 08:36:29 +02:00
1ee673be58 Update dependency com.diffplug.spotless to v6.21.0 (#4154)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-01 08:33:17 +02:00
7 changed files with 94 additions and 51 deletions

View File

@ -550,7 +550,7 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
this.startMetrics();
if (Settings.Enabled_Components.WORLDS) {
TaskManager.getPlatformImplementation().taskRepeat(this::unload, TaskTime.seconds(1L));
TaskManager.getPlatformImplementation().taskRepeat(this::unload, TaskTime.seconds(10L));
try {
singleWorldListener = injector().getInstance(SingleWorldListener.class);
Bukkit.getPluginManager().registerEvents(singleWorldListener, this);

View File

@ -25,9 +25,9 @@ import java.util.UUID;
public interface OfflinePlotPlayer extends PermissionHolder {
/**
* Gets the {@code UUID} of this player
* Returns the UUID of the player.
*
* @return the player {@link UUID}
* @return the UUID of the player
*/
UUID getUUID();
@ -39,9 +39,9 @@ public interface OfflinePlotPlayer extends PermissionHolder {
long getLastPlayed();
/**
* Gets the name of this player.
* Returns the name of the player.
*
* @return the player name
* @return the name of the player
*/
String getName();

View File

@ -273,8 +273,9 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
return this.meta == null ? null : this.meta.remove(key);
}
/**
* This player's name.
* Returns the name of the player.
*
* @return the name of the player
*/

View File

@ -26,8 +26,8 @@ import java.util.Iterator;
import java.util.NoSuchElementException;
/**
* Plot (X,Y) tuples for plot locations
* within a plot area
* The PlotId class represents a Plot's x and y coordinates within a {@link PlotArea}. PlotId x,y values do not correspond to Block locations.
* A PlotId instance can be created using the {@link #of(int, int)} method or parsed from a string using the {@link #fromString(String)} method.
*/
public final class PlotId {
@ -36,10 +36,10 @@ public final class PlotId {
private final int hash;
/**
* PlotId class (PlotId x,y values do not correspond to Block locations)
* Constructs a new PlotId with the given x and y coordinates.
*
* @param x The plot x coordinate
* @param y The plot y coordinate
* @param x the x-coordinate of the plot
* @param y the y-coordinate of the plot
*/
private PlotId(final int x, final int y) {
this.x = x;
@ -48,11 +48,11 @@ public final class PlotId {
}
/**
* Create a new plot ID instance
* Returns a new PlotId instance with the specified x and y coordinates.
*
* @param x The plot x coordinate
* @param y The plot y coordinate
* @return a new PlotId at x,y
* @param x the x-coordinate of the plot
* @param y the y-coordinate of the plot
* @return a new PlotId instance with the specified x and y coordinates
*/
public static @NonNull PlotId of(final int x, final int y) {
return new PlotId(x, y);
@ -74,10 +74,13 @@ public final class PlotId {
}
/**
* Attempt to parse a plot ID from a string
* Returns a PlotId object from the given string, or null if the string is invalid.
* The string should be in the format "x;y" where x and y are integers.
* The string can also contain any combination of the characters ";_,."
* as delimiters.
*
* @param string ID string
* @return Plot ID, or {@code null} if none could be parsed
* @param string the string to parse
* @return a PlotId object parsed from the given string, or null if the string is invalid
*/
public static @Nullable PlotId fromStringOrNull(final @NonNull String string) {
final String[] parts = string.split("[;_,.]");
@ -95,39 +98,39 @@ public final class PlotId {
return of(x, y);
}
/**
* Gets the PlotId from the HashCode<br>
* Note: Only accurate for small x,z values (short)
* Returns a new PlotId instance from the given hash.
*
* @param hash ID hash
* @return Plot ID
* @param hash the hash to unpair
* @return a new PlotId instance
*/
public static @NonNull PlotId unpair(final int hash) {
return PlotId.of(hash >> 16, hash & 0xFFFF);
}
/**
* Get the ID X component
* Returns the x-coordinate of this Plot ID.
*
* @return X component
* @return the x-coordinate of this Plot ID
*/
public int getX() {
return this.x;
}
/**
* Get the ID Y component
* Returns the y-coordinate of this Plot ID.
*
* @return Y component
* @return the y-coordinate of this Plot ID
*/
public int getY() {
return this.y;
}
/**
* Get the next plot ID for claiming purposes
* Returns the next Plot ID for claiming purposes based on the current Plot ID.
*
* @return Next plot ID
* @return the next Plot ID
*/
public @NonNull PlotId getNextId() {
final int absX = Math.abs(x);
@ -159,10 +162,11 @@ public final class PlotId {
}
/**
* Get the PlotId in a relative direction
* Returns a new Plot ID in the specified relative direction based on the
* current Plot ID.
*
* @param direction Direction
* @return Relative plot ID
* @param direction the direction in which to get the relative Plot ID
* @return the relative Plot ID
*/
public @NonNull PlotId getRelative(final @NonNull Direction direction) {
return switch (direction) {
@ -193,10 +197,11 @@ public final class PlotId {
}
/**
* Get a String representation of the plot ID where the
* components are separated by ";"
* Returns a string representation of this Plot ID in the format "x;y".
*
* @return {@code x + ";" + y}
* <p> The format is {@code x + ";" + y}
*
* @return a string representation of this Plot ID
*/
@Override
public @NonNull String toString() {
@ -204,41 +209,40 @@ public final class PlotId {
}
/**
* Get a String representation of the plot ID where the
* components are separated by a specified string
* Returns a string representation of this Plot ID with the specified separator.
* <p>
* The format is {@code x + separator + y}
*
* @param separator Separator
* @return {@code x + separator + y}
* @param separator the separator to use between the X and Y coordinates
* @return a string representation of this Plot ID with the specified separator
*/
public @NonNull String toSeparatedString(String separator) {
return this.getX() + separator + this.getY();
}
/**
* Get a String representation of the plot ID where the
* components are separated by ","
* Returns a string representation of this Plot ID in the format "x,y".
*
* @return {@code x + "," + y}
* @return a string representation of this Plot ID
*/
public @NonNull String toCommaSeparatedString() {
return this.getX() + "," + this.getY();
}
/**
* Get a String representation of the plot ID where the
* components are separated by "_"
* Returns a string representation of this Plot ID in the format "x_y".
*
* @return {@code x + "_" + y}
* @return a string representation of this Plot ID
*/
public @NonNull String toUnderscoreSeparatedString() {
return this.getX() + "_" + this.getY();
}
/**
* Get a String representation of the plot ID where the
* components are separated by "-"
* Returns a string representation of this Plot ID in the format "x-y".
*
* @return {@code x + "-" + y}
* @return a string representation of this Plot ID
*/
public @NonNull String toDashSeparatedString() {
return this.getX() + "-" + this.getY();
@ -250,6 +254,10 @@ public final class PlotId {
}
/**
* An iterator that iterates over a range of {@link PlotId}s.
* The range is defined by a start and end {@link PlotId}.
*/
public static final class PlotRangeIterator implements Iterator<PlotId>, Iterable<PlotId> {
private final PlotId start;
@ -265,6 +273,13 @@ public final class PlotId {
this.y = this.start.getY();
}
/**
* Returns a new {@link PlotRangeIterator} that iterates over the range of Plots between the specified start and end Plots (inclusive).
*
* @param start the starting Plot of the range
* @param end the ending Plot of the range
* @return a new {@link PlotRangeIterator} that iterates over the range of Plots between the specified start and end Plots (inclusive)
*/
public static PlotRangeIterator range(final @NonNull PlotId start, final @NonNull PlotId end) {
return new PlotRangeIterator(start, end);
}

View File

@ -67,14 +67,25 @@ public class PlotItemStack {
return this.type;
}
/**
* Returns the number of items in this stack.
* Valid values range from 1-255.
*
* @return the amount of items in this stack
*/
public int getAmount() {
return amount;
}
/**
* Returns the given name of this stack of items. The name is displayed when
* hovering over the item.
*
* @return the given name of this stack of items
*/
public String getName() {
return name;
}
public String[] getLore() {
return lore;
}

View File

@ -18,9 +18,25 @@
*/
package com.plotsquared.core.plot;
/**
* The different types of weather that can be set for a Plot.
*/
public enum PlotWeather {
/**
* Rainy weather conditions
*/
RAIN,
/**
* Clear weather conditions
*/
CLEAR,
/**
* Use the weather of the world the plot is in
*/
WORLD,
/**
* Turn off weather for the plot
*/
OFF
}

View File

@ -13,7 +13,7 @@ log4j = "2.19.0"
# Plugins
worldedit = "7.2.15"
fawe = "2.7.0"
fawe = "2.7.1"
placeholderapi = "2.11.3"
luckperms = "5.4"
essentialsx = "2.20.1"
@ -30,12 +30,12 @@ bstats = "3.0.2"
paperlib = "1.0.8"
informative-annotations = "1.3"
vault = "1.7.1"
serverlib = "2.3.1"
serverlib = "2.3.4"
# Gradle plugins
shadow = "8.1.1"
grgit = "4.1.1"
spotless = "6.20.0"
spotless = "6.21.0"
nexus = "1.3.0"
runPaper = "2.1.0"