mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-07-14 03:14:42 +02:00
Compare commits
2 Commits
6.9.2
...
chore/v6/d
Author | SHA1 | Date | |
---|---|---|---|
2c5e78edcb | |||
b2b0ef0a89 |
@ -105,6 +105,5 @@ tasks {
|
|||||||
opt.links("https://jd.adventure.kyori.net/api/4.9.3/")
|
opt.links("https://jd.adventure.kyori.net/api/4.9.3/")
|
||||||
opt.links("https://google.github.io/guice/api-docs/" + libs.guice.get().versionConstraint.toString() + "/javadoc/")
|
opt.links("https://google.github.io/guice/api-docs/" + libs.guice.get().versionConstraint.toString() + "/javadoc/")
|
||||||
opt.links("https://checkerframework.org/api/")
|
opt.links("https://checkerframework.org/api/")
|
||||||
opt.encoding("UTF-8")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,7 @@ public class ProjectileEventListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(ignoreCancelled = true)
|
@EventHandler
|
||||||
public void onProjectileLaunch(ProjectileLaunchEvent event) {
|
public void onProjectileLaunch(ProjectileLaunchEvent event) {
|
||||||
Projectile entity = event.getEntity();
|
Projectile entity = event.getEntity();
|
||||||
ProjectileSource shooter = entity.getShooter();
|
ProjectileSource shooter = entity.getShooter();
|
||||||
|
@ -64,6 +64,5 @@ tasks {
|
|||||||
opt.links("https://google.github.io/guice/api-docs/" + libs.guice.get().versionConstraint.toString() + "/javadoc/")
|
opt.links("https://google.github.io/guice/api-docs/" + libs.guice.get().versionConstraint.toString() + "/javadoc/")
|
||||||
opt.links("https://checkerframework.org/api/")
|
opt.links("https://checkerframework.org/api/")
|
||||||
opt.links("https://javadoc.io/doc/com.intellectualsites.informative-annotations/informative-annotations/latest/")
|
opt.links("https://javadoc.io/doc/com.intellectualsites.informative-annotations/informative-annotations/latest/")
|
||||||
opt.encoding("UTF-8")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -462,7 +462,6 @@ public final class FlagCommand extends Command {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final Plot plot = player.getLocation().getPlotAbs();
|
final Plot plot = player.getLocation().getPlotAbs();
|
||||||
final PlotFlag<?, ?> flagWithOldValue = plot.getFlagContainer().getFlag(flag.getClass());
|
|
||||||
PlotFlagRemoveEvent event = eventDispatcher.callFlagRemove(flag, plot);
|
PlotFlagRemoveEvent event = eventDispatcher.callFlagRemove(flag, plot);
|
||||||
if (event.getEventResult() == Result.DENY) {
|
if (event.getEventResult() == Result.DENY) {
|
||||||
player.sendMessage(
|
player.sendMessage(
|
||||||
@ -507,7 +506,7 @@ public final class FlagCommand extends Command {
|
|||||||
if (plot.removeFlag(flag)) {
|
if (plot.removeFlag(flag)) {
|
||||||
player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.of("flag", args[0]), Template.of(
|
player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.of("flag", args[0]), Template.of(
|
||||||
"value",
|
"value",
|
||||||
String.valueOf(flagWithOldValue)
|
String.valueOf(flag)
|
||||||
));
|
));
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
@ -545,7 +544,7 @@ public final class FlagCommand extends Command {
|
|||||||
}
|
}
|
||||||
player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.of("flag", args[0]), Template.of(
|
player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.of("flag", args[0]), Template.of(
|
||||||
"value",
|
"value",
|
||||||
String.valueOf(flagWithOldValue)
|
String.valueOf(flag)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,6 @@ package com.plotsquared.core.generator;
|
|||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.assistedinject.Assisted;
|
import com.google.inject.assistedinject.Assisted;
|
||||||
import com.intellectualsites.annotations.DoNotUse;
|
import com.intellectualsites.annotations.DoNotUse;
|
||||||
import com.intellectualsites.annotations.NotPublic;
|
|
||||||
import com.plotsquared.core.PlotSquared;
|
import com.plotsquared.core.PlotSquared;
|
||||||
import com.plotsquared.core.configuration.ConfigurationSection;
|
import com.plotsquared.core.configuration.ConfigurationSection;
|
||||||
import com.plotsquared.core.configuration.Settings;
|
import com.plotsquared.core.configuration.Settings;
|
||||||
@ -75,6 +74,9 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
public short PATH_WIDTH_UPPER;
|
public short PATH_WIDTH_UPPER;
|
||||||
public HashMap<Integer, BaseBlock[]> G_SCH;
|
public HashMap<Integer, BaseBlock[]> G_SCH;
|
||||||
public HashMap<Integer, BiomeType> G_SCH_B;
|
public HashMap<Integer, BiomeType> G_SCH_B;
|
||||||
|
/**
|
||||||
|
* The Y level at which schematic generation will start, lowest of either road or plot schematic generation.
|
||||||
|
*/
|
||||||
public int SCHEM_Y;
|
public int SCHEM_Y;
|
||||||
private Location SIGN_LOCATION;
|
private Location SIGN_LOCATION;
|
||||||
private File root = null;
|
private File root = null;
|
||||||
@ -267,33 +269,57 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
int oddshift = (this.ROAD_WIDTH & 1);
|
int oddshift = (this.ROAD_WIDTH & 1);
|
||||||
|
|
||||||
SCHEM_Y = schematicStartHeight();
|
SCHEM_Y = schematicStartHeight();
|
||||||
|
|
||||||
|
// plotY and roadY are important to allow plot and/or road schematic "overflow" into each other without causing AIOOB
|
||||||
|
// exceptions when attempting either to set blocks to, or get block from G_SCH
|
||||||
|
// Default plot schematic start height, normalized to the minimum height schematics are pasted from.
|
||||||
int plotY = PLOT_HEIGHT - SCHEM_Y;
|
int plotY = PLOT_HEIGHT - SCHEM_Y;
|
||||||
int minRoadWall = Settings.Schematics.USE_WALL_IN_ROAD_SCHEM_HEIGHT ? Math.min(ROAD_HEIGHT, WALL_HEIGHT) : ROAD_HEIGHT;
|
int minRoadWall = Settings.Schematics.USE_WALL_IN_ROAD_SCHEM_HEIGHT ? Math.min(ROAD_HEIGHT, WALL_HEIGHT) : ROAD_HEIGHT;
|
||||||
|
// Default road schematic start height, normalized to the minimum height schematics are pasted from.
|
||||||
int roadY = minRoadWall - SCHEM_Y;
|
int roadY = minRoadWall - SCHEM_Y;
|
||||||
|
|
||||||
int worldHeight = getMaxGenHeight() - getMinGenHeight() + 1;
|
int worldGenHeight = getMaxGenHeight() - getMinGenHeight() + 1;
|
||||||
|
|
||||||
|
int maxSchematicHeight = 0;
|
||||||
|
|
||||||
// SCHEM_Y should be normalised to the plot "start" height
|
// SCHEM_Y should be normalised to the plot "start" height
|
||||||
if (schematic3 != null) {
|
if (schematic3 != null) {
|
||||||
if (schematic3.getClipboard().getDimensions().getY() == worldHeight) {
|
if ((maxSchematicHeight = schematic3.getClipboard().getDimensions().getY()) == worldGenHeight) {
|
||||||
SCHEM_Y = plotY = 0;
|
SCHEM_Y = getMinGenHeight();
|
||||||
|
plotY = 0;
|
||||||
} else if (!Settings.Schematics.PASTE_ON_TOP) {
|
} else if (!Settings.Schematics.PASTE_ON_TOP) {
|
||||||
SCHEM_Y = plotY = getMinBuildHeight() - getMinGenHeight();
|
SCHEM_Y = getMinBuildHeight();
|
||||||
|
plotY = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (schematic1 != null) {
|
if (schematic1 != null) {
|
||||||
if (schematic1.getClipboard().getDimensions().getY() == worldHeight) {
|
if ((maxSchematicHeight = Math.max(
|
||||||
SCHEM_Y = roadY = getMinGenHeight();
|
schematic1.getClipboard().getDimensions().getY(),
|
||||||
if (schematic3 != null && schematic3.getClipboard().getDimensions().getY() != worldHeight
|
maxSchematicHeight
|
||||||
&& !Settings.Schematics.PASTE_ON_TOP) {
|
)) == worldGenHeight) {
|
||||||
plotY = PLOT_HEIGHT;
|
SCHEM_Y = getMinGenHeight();
|
||||||
|
roadY = 0; // Road is the lowest schematic
|
||||||
|
if (schematic3 != null && schematic3.getClipboard().getDimensions().getY() != worldGenHeight) {
|
||||||
|
// Road is the lowest schematic. Normalize plotY to it.
|
||||||
|
if (Settings.Schematics.PASTE_ON_TOP) {
|
||||||
|
plotY = PLOT_HEIGHT - getMinGenHeight();
|
||||||
|
} else {
|
||||||
|
plotY = getMinBuildHeight() - getMinGenHeight();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (!Settings.Schematics.PASTE_ROAD_ON_TOP) {
|
} else if (!Settings.Schematics.PASTE_ROAD_ON_TOP) {
|
||||||
SCHEM_Y = roadY = getMinBuildHeight();
|
if (SCHEM_Y == getMinGenHeight()) { // Only possible if plot schematic is enabled
|
||||||
if (schematic3 != null && schematic3.getClipboard().getDimensions().getY() != worldHeight
|
// Plot is still the lowest schematic, normalize roadY to it
|
||||||
&& !Settings.Schematics.PASTE_ON_TOP) {
|
roadY = getMinBuildHeight() - getMinGenHeight();
|
||||||
plotY = PLOT_HEIGHT;
|
} else if (schematic3 != null) {
|
||||||
|
SCHEM_Y = getMinBuildHeight();
|
||||||
|
roadY = 0;// Road is the lowest schematic
|
||||||
|
if (Settings.Schematics.PASTE_ON_TOP) {
|
||||||
|
// Road is the lowest schematic. Normalize plotY to it.
|
||||||
|
plotY = PLOT_HEIGHT - getMinBuildHeight();
|
||||||
|
}
|
||||||
|
// If plot schematic is not paste-on-top, it will be from min build height thus plotY = 0 as well already.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -331,7 +357,6 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
y + min.getBlockY(),
|
y + min.getBlockY(),
|
||||||
z + min.getBlockZ()
|
z + min.getBlockZ()
|
||||||
));
|
));
|
||||||
if (!id.getBlockType().getMaterial().isAir()) {
|
|
||||||
schem3PopulationNeeded |= id.hasNbtData();
|
schem3PopulationNeeded |= id.hasNbtData();
|
||||||
addOverlayBlock(
|
addOverlayBlock(
|
||||||
(short) (x + shift + oddshift + centerShiftX),
|
(short) (x + shift + oddshift + centerShiftX),
|
||||||
@ -339,10 +364,9 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
(short) (z + shift + oddshift + centerShiftZ),
|
(short) (z + shift + oddshift + centerShiftZ),
|
||||||
id,
|
id,
|
||||||
false,
|
false,
|
||||||
h3
|
maxSchematicHeight
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (blockArrayClipboard3.hasBiomes()) {
|
if (blockArrayClipboard3.hasBiomes()) {
|
||||||
BiomeType biome = blockArrayClipboard3.getBiome(BlockVector2.at(
|
BiomeType biome = blockArrayClipboard3.getBiome(BlockVector2.at(
|
||||||
x + min.getBlockX(),
|
x + min.getBlockX(),
|
||||||
@ -391,19 +415,24 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
y + min.getBlockY(),
|
y + min.getBlockY(),
|
||||||
z + min.getBlockZ()
|
z + min.getBlockZ()
|
||||||
));
|
));
|
||||||
if (!id.getBlockType().getMaterial().isAir()) {
|
|
||||||
schem1PopulationNeeded |= id.hasNbtData();
|
schem1PopulationNeeded |= id.hasNbtData();
|
||||||
addOverlayBlock((short) (x - shift), (short) (y + roadY), (short) (z + shift + oddshift), id, false, h1);
|
addOverlayBlock(
|
||||||
|
(short) (x - shift),
|
||||||
|
(short) (y + roadY),
|
||||||
|
(short) (z + shift + oddshift),
|
||||||
|
id,
|
||||||
|
false,
|
||||||
|
maxSchematicHeight
|
||||||
|
);
|
||||||
addOverlayBlock(
|
addOverlayBlock(
|
||||||
(short) (z + shift + oddshift),
|
(short) (z + shift + oddshift),
|
||||||
(short) (y + roadY),
|
(short) (y + roadY),
|
||||||
(short) (shift - x + (oddshift - 1)),
|
(short) (shift - x + (oddshift - 1)),
|
||||||
id,
|
id,
|
||||||
true,
|
true,
|
||||||
h1
|
maxSchematicHeight
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (blockArrayClipboard1.hasBiomes()) {
|
if (blockArrayClipboard1.hasBiomes()) {
|
||||||
BiomeType biome = blockArrayClipboard1.getBiome(BlockVector2.at(x + min.getBlockX(), z + min.getBlockZ()));
|
BiomeType biome = blockArrayClipboard1.getBiome(BlockVector2.at(x + min.getBlockX(), z + min.getBlockZ()));
|
||||||
addOverlayBiome((short) (x - shift), (short) (z + shift + oddshift), biome);
|
addOverlayBiome((short) (x - shift), (short) (z + shift + oddshift), biome);
|
||||||
@ -430,10 +459,15 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
y + min.getBlockY(),
|
y + min.getBlockY(),
|
||||||
z + min.getBlockZ()
|
z + min.getBlockZ()
|
||||||
));
|
));
|
||||||
if (!id.getBlockType().getMaterial().isAir()) {
|
|
||||||
schem2PopulationNeeded |= id.hasNbtData();
|
schem2PopulationNeeded |= id.hasNbtData();
|
||||||
addOverlayBlock((short) (x - shift), (short) (y + roadY), (short) (z - shift), id, false, h2);
|
addOverlayBlock(
|
||||||
}
|
(short) (x - shift),
|
||||||
|
(short) (y + roadY),
|
||||||
|
(short) (z - shift),
|
||||||
|
id,
|
||||||
|
false,
|
||||||
|
maxSchematicHeight
|
||||||
|
);
|
||||||
}
|
}
|
||||||
if (blockArrayClipboard2.hasBiomes()) {
|
if (blockArrayClipboard2.hasBiomes()) {
|
||||||
BiomeType biome = blockArrayClipboard2.getBiome(BlockVector2.at(x + min.getBlockX(), z + min.getBlockZ()));
|
BiomeType biome = blockArrayClipboard2.getBiome(BlockVector2.at(x + min.getBlockX(), z + min.getBlockZ()));
|
||||||
@ -443,6 +477,10 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated This method should not be available for public API usage and will be made private.
|
||||||
|
*/
|
||||||
|
@Deprecated(forRemoval = true, since = "TODO")
|
||||||
public void addOverlayBlock(short x, short y, short z, BaseBlock id, boolean rotate, int height) {
|
public void addOverlayBlock(short x, short y, short z, BaseBlock id, boolean rotate, int height) {
|
||||||
if (z < 0) {
|
if (z < 0) {
|
||||||
z += this.SIZE;
|
z += this.SIZE;
|
||||||
@ -460,7 +498,7 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
int pair = MathMan.pair(x, z);
|
int pair = MathMan.pair(x, z);
|
||||||
BaseBlock[] existing = this.G_SCH.computeIfAbsent(pair, k -> new BaseBlock[height]);
|
BaseBlock[] existing = this.G_SCH.computeIfAbsent(pair, k -> new BaseBlock[height]);
|
||||||
if (y >= height) {
|
if (y >= height) {
|
||||||
if (y > lastOverlayHeightError) {
|
if (y != lastOverlayHeightError) {
|
||||||
lastOverlayHeightError = y;
|
lastOverlayHeightError = y;
|
||||||
LOGGER.error(String.format("Error adding overlay block. `y > height`. y=%s, height=%s", y, height));
|
LOGGER.error(String.format("Error adding overlay block. `y > height`. y=%s, height=%s", y, height));
|
||||||
}
|
}
|
||||||
@ -469,6 +507,10 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
|||||||
existing[y] = id;
|
existing[y] = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated This method should not be available for public API usage and will be made private.
|
||||||
|
*/
|
||||||
|
@Deprecated(forRemoval = true, since = "TODO")
|
||||||
public void addOverlayBiome(short x, short z, BiomeType id) {
|
public void addOverlayBiome(short x, short z, BiomeType id) {
|
||||||
if (z < 0) {
|
if (z < 0) {
|
||||||
z += this.SIZE;
|
z += this.SIZE;
|
||||||
|
@ -313,7 +313,7 @@ public sealed class Location extends BlockLoc implements Comparable<Location> pe
|
|||||||
/**
|
/**
|
||||||
* Get the absolute {@link Plot}, if any, that contains this location
|
* Get the absolute {@link Plot}, if any, that contains this location
|
||||||
*
|
*
|
||||||
* @return (Absolute) plot containing the location, or {@code null}
|
* @return (Absolute) plot containing the location, or {code null}
|
||||||
*/
|
*/
|
||||||
public @Nullable Plot getPlotAbs() {
|
public @Nullable Plot getPlotAbs() {
|
||||||
final PlotArea area = this.getPlotArea();
|
final PlotArea area = this.getPlotArea();
|
||||||
@ -327,7 +327,7 @@ public sealed class Location extends BlockLoc implements Comparable<Location> pe
|
|||||||
/**
|
/**
|
||||||
* Get the {@link Plot}, if any, that contains this location
|
* Get the {@link Plot}, if any, that contains this location
|
||||||
*
|
*
|
||||||
* @return plot containing the location, or {@code null}
|
* @return plot containing the location, or {code null}
|
||||||
*/
|
*/
|
||||||
public @Nullable Plot getPlot() {
|
public @Nullable Plot getPlot() {
|
||||||
final PlotArea area = this.getPlotArea();
|
final PlotArea area = this.getPlotArea();
|
||||||
|
@ -643,7 +643,7 @@ public abstract class PlotArea {
|
|||||||
* @param player Player to check
|
* @param player Player to check
|
||||||
* @param y y height to check
|
* @param y y height to check
|
||||||
* @return true if outside build area with no permissions
|
* @return true if outside build area with no permissions
|
||||||
* @since 6.9.1
|
* @since TODO
|
||||||
*/
|
*/
|
||||||
public boolean notifyIfOutsideBuildArea(PlotPlayer<?> player, int y) {
|
public boolean notifyIfOutsideBuildArea(PlotPlayer<?> player, int y) {
|
||||||
if (!buildRangeContainsY(y) && !Permissions.hasPermission(player, Permission.PERMISSION_ADMIN_BUILD_HEIGHT_LIMIT)) {
|
if (!buildRangeContainsY(y) && !Permissions.hasPermission(player, Permission.PERMISSION_ADMIN_BUILD_HEIGHT_LIMIT)) {
|
||||||
|
@ -30,9 +30,18 @@ import org.checkerframework.checker.nullness.qual.NonNull;
|
|||||||
* The Permissions class handles checking user permissions.<br>
|
* The Permissions class handles checking user permissions.<br>
|
||||||
* - This will respect * nodes and plots.admin and can be used to check permission ranges (e.g. plots.plot.5)<br>
|
* - This will respect * nodes and plots.admin and can be used to check permission ranges (e.g. plots.plot.5)<br>
|
||||||
* - Checking the PlotPlayer class directly will not take the above into account<br>
|
* - Checking the PlotPlayer class directly will not take the above into account<br>
|
||||||
|
*
|
||||||
|
* @deprecated all logic that may once have been in the class lives elsewhere. We also want to do away with statically-accessed
|
||||||
|
* classes
|
||||||
*/
|
*/
|
||||||
|
@Deprecated(forRemoval = true, since = "TODO")
|
||||||
public class Permissions {
|
public class Permissions {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated all logic that may once have been in the class lives elsewhere. We also want to do away with statically-accessed
|
||||||
|
* classes
|
||||||
|
*/
|
||||||
|
@Deprecated(forRemoval = true, since = "TODO")
|
||||||
public static boolean hasPermission(PlotPlayer<?> player, Permission permission, boolean notify) {
|
public static boolean hasPermission(PlotPlayer<?> player, Permission permission, boolean notify) {
|
||||||
return hasPermission(player, permission.toString(), notify);
|
return hasPermission(player, permission.toString(), notify);
|
||||||
}
|
}
|
||||||
@ -43,18 +52,25 @@ public class Permissions {
|
|||||||
* @param caller permission holder
|
* @param caller permission holder
|
||||||
* @param permission Permission
|
* @param permission Permission
|
||||||
* @return {@code true} if the owner has the given permission, else {@code false}
|
* @return {@code true} if the owner has the given permission, else {@code false}
|
||||||
|
* @deprecated all logic that may once have been in the class lives elsewhere. We also want to do away with statically-accessed
|
||||||
|
* classes
|
||||||
*/
|
*/
|
||||||
|
@Deprecated(forRemoval = true, since = "TODO")
|
||||||
public static boolean hasPermission(final @NonNull PermissionHolder caller, final @NonNull Permission permission) {
|
public static boolean hasPermission(final @NonNull PermissionHolder caller, final @NonNull Permission permission) {
|
||||||
return caller.hasPermission(permission.toString());
|
return caller.hasPermission(permission.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if the owner of the profile has a given (global) permission
|
* Check if the owner of the profile has a given (global) permission. There is no guarantee that per-world permissions will
|
||||||
|
* be checked because unmaintained crap plugins like PEX exist.
|
||||||
*
|
*
|
||||||
* @param caller permission holder
|
* @param caller permission holder
|
||||||
* @param permission Permission
|
* @param permission Permission
|
||||||
* @return {@code true} if the owner has the given permission, else {@code false}
|
* @return {@code true} if the owner has the given permission, else {@code false}
|
||||||
|
* @deprecated all logic that may once have been in the class lives elsewhere. We also want to do away with statically-accessed
|
||||||
|
* classes
|
||||||
*/
|
*/
|
||||||
|
@Deprecated(forRemoval = true, since = "TODO")
|
||||||
public static boolean hasPermission(final @NonNull PermissionHolder caller, final @NonNull String permission) {
|
public static boolean hasPermission(final @NonNull PermissionHolder caller, final @NonNull String permission) {
|
||||||
return caller.hasPermission(permission);
|
return caller.hasPermission(permission);
|
||||||
}
|
}
|
||||||
@ -68,7 +84,10 @@ public class Permissions {
|
|||||||
* @param key Permission "key"
|
* @param key Permission "key"
|
||||||
* @return {@code true} if the owner has the given permission, else {@code false}
|
* @return {@code true} if the owner has the given permission, else {@code false}
|
||||||
* @since 6.0.10
|
* @since 6.0.10
|
||||||
|
* @deprecated all logic that may once have been in the class lives elsewhere. We also want to do away with statically-accessed
|
||||||
|
* classes
|
||||||
*/
|
*/
|
||||||
|
@Deprecated(forRemoval = true, since = "TODO")
|
||||||
public static boolean hasKeyedPermission(
|
public static boolean hasKeyedPermission(
|
||||||
final @NonNull PermissionHolder caller, final @NonNull String permission,
|
final @NonNull PermissionHolder caller, final @NonNull String permission,
|
||||||
final @NonNull String key
|
final @NonNull String key
|
||||||
@ -83,7 +102,10 @@ public class Permissions {
|
|||||||
* @param permission permission
|
* @param permission permission
|
||||||
* @param notify if to notify the permission holder
|
* @param notify if to notify the permission holder
|
||||||
* @return if permission is had
|
* @return if permission is had
|
||||||
|
* @deprecated all logic that may once have been in the class lives elsewhere. We also want to do away with statically-accessed
|
||||||
|
* classes
|
||||||
*/
|
*/
|
||||||
|
@Deprecated(forRemoval = true, since = "TODO")
|
||||||
public static boolean hasPermission(PlotPlayer<?> player, String permission, boolean notify) {
|
public static boolean hasPermission(PlotPlayer<?> player, String permission, boolean notify) {
|
||||||
if (!hasPermission(player, permission)) {
|
if (!hasPermission(player, permission)) {
|
||||||
if (notify) {
|
if (notify) {
|
||||||
@ -97,6 +119,11 @@ public class Permissions {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated all logic that may once have been in the class lives elsewhere. We also want to do away with statically-accessed
|
||||||
|
* classes
|
||||||
|
*/
|
||||||
|
@Deprecated(forRemoval = true, since = "TODO")
|
||||||
public static int hasPermissionRange(PlotPlayer<?> player, Permission Permission, int range) {
|
public static int hasPermissionRange(PlotPlayer<?> player, Permission Permission, int range) {
|
||||||
return hasPermissionRange(player, Permission.toString(), range);
|
return hasPermissionRange(player, Permission.toString(), range);
|
||||||
}
|
}
|
||||||
@ -110,7 +137,10 @@ public class Permissions {
|
|||||||
* @param stub The permission stub to check e.g. for `plots.plot.#` the stub is `plots.plot`
|
* @param stub The permission stub to check e.g. for `plots.plot.#` the stub is `plots.plot`
|
||||||
* @param range The range to check
|
* @param range The range to check
|
||||||
* @return The highest permission they have within that range
|
* @return The highest permission they have within that range
|
||||||
|
* @deprecated all logic that may once have been in the class lives elsewhere. We also want to do away with statically-accessed
|
||||||
|
* classes
|
||||||
*/
|
*/
|
||||||
|
@Deprecated(forRemoval = true, since = "TODO")
|
||||||
public static int hasPermissionRange(PlotPlayer<?> player, String stub, int range) {
|
public static int hasPermissionRange(PlotPlayer<?> player, String stub, int range) {
|
||||||
return player.hasPermissionRange(stub, range);
|
return player.hasPermissionRange(stub, range);
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group = "com.plotsquared"
|
group = "com.plotsquared"
|
||||||
version = "6.9.2"
|
version = "6.9.1-SNAPSHOT"
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
group = rootProject.group
|
group = rootProject.group
|
||||||
@ -65,7 +65,7 @@ subprojects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(platform("com.intellectualsites.bom:bom-1.18.x:1.9"))
|
implementation(platform("com.intellectualsites.bom:bom-1.18.x:1.7"))
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
# Platform expectations
|
# Platform expectations
|
||||||
paper = "1.18.1-R0.1-SNAPSHOT"
|
paper = "1.18.1-R0.1-SNAPSHOT"
|
||||||
guice = "5.1.0"
|
guice = "5.1.0"
|
||||||
spotbugs = "4.7.1"
|
spotbugs = "4.7.0"
|
||||||
|
|
||||||
# Plugins
|
# Plugins
|
||||||
worldedit = "7.2.10"
|
worldedit = "7.2.10"
|
||||||
placeholderapi = "2.11.2"
|
placeholderapi = "2.11.1"
|
||||||
luckperms = "5.4"
|
luckperms = "5.4"
|
||||||
essentialsx = "2.19.4"
|
essentialsx = "2.19.4"
|
||||||
mvdwapi = "3.1.1"
|
mvdwapi = "3.1.1"
|
||||||
|
@ -3,6 +3,10 @@
|
|||||||
"config:base",
|
"config:base",
|
||||||
":disableDependencyDashboard"
|
":disableDependencyDashboard"
|
||||||
],
|
],
|
||||||
|
"timezone": "Europe/Berlin",
|
||||||
|
"schedule": [
|
||||||
|
"every monday"
|
||||||
|
],
|
||||||
"labels": ["Renovate"],
|
"labels": ["Renovate"],
|
||||||
"commitMessagePrefix": "build: ",
|
"commitMessagePrefix": "build: ",
|
||||||
"rebaseWhen": "conflicted"
|
"rebaseWhen": "conflicted"
|
||||||
|
Reference in New Issue
Block a user