Compare commits

...

15 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
3c2aa99e86 Fix javadoc for 'PlotModificationManager#setComponent()' 2023-08-26 11:30:56 +02:00
11fac3f060 Remove repository-level CoC in favor with organization-level CoC (#4148)
Remove repository-level CoC in favor with organization-level Coc
2023-08-23 16:54:21 +02:00
9 changed files with 94 additions and 128 deletions

View File

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

View File

@ -1,76 +0,0 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at contact<at>intellectualsites.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq

View File

@ -25,9 +25,9 @@ import java.util.UUID;
public interface OfflinePlotPlayer extends PermissionHolder { 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(); UUID getUUID();
@ -39,9 +39,9 @@ public interface OfflinePlotPlayer extends PermissionHolder {
long getLastPlayed(); 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(); 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); 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 * @return the name of the player
*/ */

View File

@ -26,8 +26,8 @@ import java.util.Iterator;
import java.util.NoSuchElementException; import java.util.NoSuchElementException;
/** /**
* Plot (X,Y) tuples for plot locations * 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.
* within a plot area * 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 { public final class PlotId {
@ -36,10 +36,10 @@ public final class PlotId {
private final int hash; 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 x the x-coordinate of the plot
* @param y The plot y coordinate * @param y the y-coordinate of the plot
*/ */
private PlotId(final int x, final int y) { private PlotId(final int x, final int y) {
this.x = x; 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 x the x-coordinate of the plot
* @param y The plot y coordinate * @param y the y-coordinate of the plot
* @return a new PlotId at x,y * @return a new PlotId instance with the specified x and y coordinates
*/ */
public static @NonNull PlotId of(final int x, final int y) { public static @NonNull PlotId of(final int x, final int y) {
return new PlotId(x, 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 * @param string the string to parse
* @return Plot ID, or {@code null} if none could be parsed * @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) { public static @Nullable PlotId fromStringOrNull(final @NonNull String string) {
final String[] parts = string.split("[;_,.]"); final String[] parts = string.split("[;_,.]");
@ -95,39 +98,39 @@ public final class PlotId {
return of(x, y); return of(x, y);
} }
/** /**
* Gets the PlotId from the HashCode<br> * Returns a new PlotId instance from the given hash.
* Note: Only accurate for small x,z values (short)
* *
* @param hash ID hash * @param hash the hash to unpair
* @return Plot ID * @return a new PlotId instance
*/ */
public static @NonNull PlotId unpair(final int hash) { public static @NonNull PlotId unpair(final int hash) {
return PlotId.of(hash >> 16, hash & 0xFFFF); 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() { public int getX() {
return this.x; 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() { public int getY() {
return this.y; 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() { public @NonNull PlotId getNextId() {
final int absX = Math.abs(x); 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 * @param direction the direction in which to get the relative Plot ID
* @return Relative plot ID * @return the relative Plot ID
*/ */
public @NonNull PlotId getRelative(final @NonNull Direction direction) { public @NonNull PlotId getRelative(final @NonNull Direction direction) {
return switch (direction) { return switch (direction) {
@ -193,10 +197,11 @@ public final class PlotId {
} }
/** /**
* Get a String representation of the plot ID where the * Returns a string representation of this Plot ID in the format "x;y".
* components are separated by ";"
* *
* @return {@code x + ";" + y} * <p> The format is {@code x + ";" + y}
*
* @return a string representation of this Plot ID
*/ */
@Override @Override
public @NonNull String toString() { public @NonNull String toString() {
@ -204,41 +209,40 @@ public final class PlotId {
} }
/** /**
* Get a String representation of the plot ID where the * Returns a string representation of this Plot ID with the specified separator.
* components are separated by a specified string * <p>
* The format is {@code x + separator + y}
* *
* @param separator Separator * @param separator the separator to use between the X and Y coordinates
* @return {@code x + separator + y} * @return a string representation of this Plot ID with the specified separator
*/ */
public @NonNull String toSeparatedString(String separator) { public @NonNull String toSeparatedString(String separator) {
return this.getX() + separator + this.getY(); return this.getX() + separator + this.getY();
} }
/** /**
* Get a String representation of the plot ID where the * Returns a string representation of this Plot ID in the format "x,y".
* components are separated by ","
* *
* @return {@code x + "," + y} * @return a string representation of this Plot ID
*/ */
public @NonNull String toCommaSeparatedString() { public @NonNull String toCommaSeparatedString() {
return this.getX() + "," + this.getY(); return this.getX() + "," + this.getY();
} }
/** /**
* Get a String representation of the plot ID where the * Returns a string representation of this Plot ID in the format "x_y".
* components are separated by "_"
* *
* @return {@code x + "_" + y} * @return a string representation of this Plot ID
*/ */
public @NonNull String toUnderscoreSeparatedString() { public @NonNull String toUnderscoreSeparatedString() {
return this.getX() + "_" + this.getY(); return this.getX() + "_" + this.getY();
} }
/** /**
* Get a String representation of the plot ID where the * Returns a string representation of this Plot ID in the format "x-y".
* components are separated by "-"
* *
* @return {@code x + "-" + y} * @return a string representation of this Plot ID
*/ */
public @NonNull String toDashSeparatedString() { public @NonNull String toDashSeparatedString() {
return this.getX() + "-" + this.getY(); 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> { public static final class PlotRangeIterator implements Iterator<PlotId>, Iterable<PlotId> {
private final PlotId start; private final PlotId start;
@ -265,6 +273,13 @@ public final class PlotId {
this.y = this.start.getY(); 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) { public static PlotRangeIterator range(final @NonNull PlotId start, final @NonNull PlotId end) {
return new PlotRangeIterator(start, end); return new PlotRangeIterator(start, end);
} }

View File

@ -67,14 +67,25 @@ public class PlotItemStack {
return this.type; 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() { public int getAmount() {
return amount; 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() { public String getName() {
return name; return name;
} }
public String[] getLore() { public String[] getLore() {
return lore; return lore;
} }

View File

@ -891,7 +891,6 @@ public final class PlotModificationManager {
} }
/** /**
* /**
* Sets components such as border, wall, floor. * Sets components such as border, wall, floor.
* (components are generator specific) * (components are generator specific)
* *

View File

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

View File

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