mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-07-05 07:04:43 +02:00
Compare commits
3 Commits
feature/mi
...
feat/plotL
Author | SHA1 | Date | |
---|---|---|---|
fb3da2f97c | |||
a0ee0caba9 | |||
c0b1179d22 |
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -27,7 +27,7 @@ body:
|
||||
description: Which server version version you using? If your server version is not listed, it is not supported. Update to a supported version first.
|
||||
multiple: false
|
||||
options:
|
||||
- '1.20.4'
|
||||
- '1.20.2'
|
||||
- '1.20'
|
||||
- '1.19.4'
|
||||
- '1.19.3'
|
||||
|
6
.github/workflows/codeql.yml
vendored
6
.github/workflows/codeql.yml
vendored
@ -27,10 +27,10 @@ jobs:
|
||||
distribution: temurin
|
||||
java-version: 17
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v3
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v3
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
||||
uses: github/codeql-action/analyze@v2
|
||||
|
@ -41,7 +41,6 @@ dependencies {
|
||||
compileOnly(libs.luckperms)
|
||||
compileOnly(libs.essentialsx)
|
||||
compileOnly(libs.mvdwapi) { isTransitive = false }
|
||||
compileOnly(libs.miniplaceholders) { isTransitive = false }
|
||||
|
||||
// Other libraries
|
||||
implementation(libs.squirrelid) { isTransitive = false }
|
||||
@ -68,7 +67,6 @@ tasks.named<ShadowJar>("shadowJar") {
|
||||
exclude(dependency("org.checkerframework:"))
|
||||
}
|
||||
|
||||
relocate("net.kyori.option", "com.plotsquared.core.configuration.option")
|
||||
relocate("net.kyori.adventure", "com.plotsquared.core.configuration.adventure")
|
||||
relocate("net.kyori.examination", "com.plotsquared.core.configuration.examination")
|
||||
relocate("io.papermc.lib", "com.plotsquared.bukkit.paperlib")
|
||||
@ -107,7 +105,7 @@ tasks {
|
||||
opt.links("https://intellectualsites.github.io/plotsquared-javadocs/core/")
|
||||
opt.links("https://jd.advntr.dev/api/4.14.0/")
|
||||
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.isLinkSource = true
|
||||
opt.bottom(File("$rootDir/javadocfooter.html").readText())
|
||||
opt.isUse = true
|
||||
|
@ -261,10 +261,7 @@ public class BlockEventListener implements Listener {
|
||||
final BlockFace facing = piston.getFacing();
|
||||
location = location.add(facing.getModX(), facing.getModY(), facing.getModZ());
|
||||
Plot newPlot = area.getOwnedPlotAbs(location);
|
||||
if (plot.equals(newPlot)) {
|
||||
return;
|
||||
}
|
||||
if (!plot.isMerged() || !plot.getConnectedPlots().contains(newPlot)) {
|
||||
if (!plot.equals(newPlot)) {
|
||||
event.setCancelled(true);
|
||||
plot.debug("Prevented piston update because of invalid edge piston detection");
|
||||
}
|
||||
|
@ -35,7 +35,6 @@ import com.plotsquared.core.plot.flag.implementations.DisablePhysicsFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.EntityChangeBlockFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.ExplosionFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.InvincibleFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.ProjectileChangeBlockFlag;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.util.EventDispatcher;
|
||||
import com.plotsquared.core.util.PlotFlagUtil;
|
||||
@ -359,13 +358,13 @@ public class EntityEventListener implements Listener {
|
||||
if (shooter instanceof Player) {
|
||||
PlotPlayer<?> pp = BukkitUtil.adapt((Player) shooter);
|
||||
if (plot == null) {
|
||||
if (area.isRoadFlags() && !area.getRoadFlag(ProjectileChangeBlockFlag.class) && !pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED)) {
|
||||
entity.remove();
|
||||
event.setCancelled(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (plot.isAdded(pp.getUUID()) || plot.getFlag(ProjectileChangeBlockFlag.class) || pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) {
|
||||
if (plot.isAdded(pp.getUUID()) || pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) {
|
||||
return;
|
||||
}
|
||||
entity.remove();
|
||||
|
@ -50,7 +50,6 @@ import com.plotsquared.core.plot.flag.implementations.DenyPortalsFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.DenyTeleportFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.DoneFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.DropProtectionFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.EditSignFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.HangingBreakFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.HangingPlaceFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.HostileInteractFlag;
|
||||
@ -88,7 +87,6 @@ import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.block.BlockState;
|
||||
import org.bukkit.block.Sign;
|
||||
import org.bukkit.block.data.Waterlogged;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.entity.ArmorStand;
|
||||
@ -177,33 +175,6 @@ public class PlayerEventListener implements Listener {
|
||||
Material.WRITABLE_BOOK,
|
||||
Material.WRITTEN_BOOK
|
||||
);
|
||||
private static final Set<String> DYES;
|
||||
static {
|
||||
Set<String> mutableDyes = new HashSet<>(Set.of(
|
||||
"WHITE_DYE",
|
||||
"LIGHT_GRAY_DYE",
|
||||
"GRAY_DYE",
|
||||
"BLACK_DYE",
|
||||
"BROWN_DYE",
|
||||
"RED_DYE",
|
||||
"ORANGE_DYE",
|
||||
"YELLOW_DYE",
|
||||
"LIME_DYE",
|
||||
"GREEN_DYE",
|
||||
"CYAN_DYE",
|
||||
"LIGHT_BLUE_DYE",
|
||||
"BLUE_DYE",
|
||||
"PURPLE_DYE",
|
||||
"MAGENTA_DYE",
|
||||
"PINK_DYE",
|
||||
"GLOW_INK_SAC"
|
||||
));
|
||||
int[] version = PlotSquared.platform().serverVersion();
|
||||
if (version[1] >= 20 && version[2] >= 1) {
|
||||
mutableDyes.add("HONEYCOMB");
|
||||
}
|
||||
DYES = Set.copyOf(mutableDyes);
|
||||
}
|
||||
private final EventDispatcher eventDispatcher;
|
||||
private final WorldEdit worldEdit;
|
||||
private final PlotAreaManager plotAreaManager;
|
||||
@ -236,38 +207,6 @@ public class PlayerEventListener implements Listener {
|
||||
this.plotListener = plotListener;
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onPlayerDyeSign(PlayerInteractEvent event) {
|
||||
ItemStack itemStack = event.getItem();
|
||||
if (itemStack == null) {
|
||||
return;
|
||||
}
|
||||
Block block = event.getClickedBlock();
|
||||
if (block != null && block.getState() instanceof Sign) {
|
||||
if (DYES.contains(itemStack.getType().toString())) {
|
||||
Location location = BukkitUtil.adapt(block.getLocation());
|
||||
PlotArea area = location.getPlotArea();
|
||||
if (area == null) {
|
||||
return;
|
||||
}
|
||||
Plot plot = location.getOwnedPlot();
|
||||
if (plot == null) {
|
||||
if (PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, EditSignFlag.class, false)) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (plot.isAdded(event.getPlayer().getUniqueId())) {
|
||||
return; // allow for added players
|
||||
}
|
||||
if (!plot.getFlag(EditSignFlag.class)) {
|
||||
plot.debug(event.getPlayer().getName() + " could not color the sign because of edit-sign = false");
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
public void onEffect(@NonNull EntityPotionEffectEvent event) {
|
||||
if (Settings.Enabled_Components.DISABLE_BEACON_EFFECT_OVERFLOW ||
|
||||
|
@ -31,7 +31,7 @@ import org.bukkit.event.player.PlayerSignOpenEvent;
|
||||
|
||||
/**
|
||||
* For events since 1.20.1
|
||||
* @since 7.2.1
|
||||
* @since TODO
|
||||
*/
|
||||
public class PlayerEventListener1201 implements Listener {
|
||||
|
||||
|
@ -21,7 +21,6 @@ package com.plotsquared.bukkit.listener;
|
||||
import com.google.inject.Inject;
|
||||
import com.plotsquared.bukkit.BukkitPlatform;
|
||||
import com.plotsquared.bukkit.placeholder.MVdWPlaceholders;
|
||||
import com.plotsquared.bukkit.placeholder.MiniPlaceholders;
|
||||
import com.plotsquared.bukkit.util.BukkitEconHandler;
|
||||
import com.plotsquared.core.PlotSquared;
|
||||
import com.plotsquared.core.configuration.Settings;
|
||||
@ -53,11 +52,6 @@ public class ServerListener implements Listener {
|
||||
new MVdWPlaceholders(this.plugin, this.plugin.placeholderRegistry());
|
||||
ConsolePlayer.getConsole().sendMessage(TranslatableCaption.of("placeholder.hooked"));
|
||||
}
|
||||
if (Bukkit.getPluginManager().getPlugin("MiniPlaceholders") != null
|
||||
&& Settings.Enabled_Components.USE_MINIPLACEHOLDERS) {
|
||||
new MiniPlaceholders(this.plugin.placeholderRegistry());
|
||||
ConsolePlayer.getConsole().sendMessage(TranslatableCaption.of("placeholder.miniplaceholders.hooked"));
|
||||
}
|
||||
if (Settings.Enabled_Components.ECONOMY && Bukkit.getPluginManager().isPluginEnabled("Vault")) {
|
||||
EconHandler econHandler = new BukkitEconHandler();
|
||||
try {
|
||||
|
@ -1,69 +0,0 @@
|
||||
/*
|
||||
* PlotSquared, a land and world management plugin for Minecraft.
|
||||
* Copyright (C) IntellectualSites <https://intellectualsites.com>
|
||||
* Copyright (C) IntellectualSites team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.plotsquared.bukkit.placeholder;
|
||||
|
||||
import com.google.common.eventbus.Subscribe;
|
||||
import com.plotsquared.bukkit.util.BukkitUtil;
|
||||
import com.plotsquared.core.PlotSquared;
|
||||
import com.plotsquared.core.player.ConsolePlayer;
|
||||
import com.plotsquared.core.player.PlotPlayer;
|
||||
import com.plotsquared.core.util.placeholders.Placeholder;
|
||||
import com.plotsquared.core.util.placeholders.PlaceholderRegistry;
|
||||
import io.github.miniplaceholders.api.Expansion;
|
||||
import io.github.miniplaceholders.api.utils.TagsUtils;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
|
||||
public final class MiniPlaceholders {
|
||||
|
||||
private Expansion expansion = null;
|
||||
private final PlaceholderRegistry registry;
|
||||
|
||||
public MiniPlaceholders(final @NonNull PlaceholderRegistry registry) {
|
||||
this.registry = registry;
|
||||
this.createExpansion();
|
||||
PlotSquared.get().getEventDispatcher().registerListener(this);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onNewPlaceholder(final PlaceholderRegistry.@NonNull PlaceholderAddedEvent event) {
|
||||
// We cannot register placeholders on the fly, so we have to replace the expansion.
|
||||
this.createExpansion();
|
||||
}
|
||||
|
||||
private synchronized void createExpansion() {
|
||||
if (this.expansion != null && this.expansion.registered()) {
|
||||
this.expansion.unregister();
|
||||
}
|
||||
final Expansion.Builder builder = Expansion.builder("plotsquared");
|
||||
for (final Placeholder placeholder : this.registry.getPlaceholders()) {
|
||||
builder.audiencePlaceholder(placeholder.getKey(), (audience, argumentQueue, context) -> {
|
||||
final PlotPlayer<?> plotPlayer;
|
||||
if (audience instanceof Player player) {
|
||||
plotPlayer = BukkitUtil.adapt(player);
|
||||
} else {
|
||||
plotPlayer = ConsolePlayer.getConsole();
|
||||
}
|
||||
return TagsUtils.staticTag(placeholder.getValue(plotPlayer));
|
||||
});
|
||||
}
|
||||
this.expansion = builder.build();
|
||||
this.expansion.register();
|
||||
}
|
||||
}
|
@ -47,13 +47,7 @@ public class TranslationUpdateManager {
|
||||
String usedGrants = "usedGrants";
|
||||
String usedGrantsReplacement = "used_grants";
|
||||
String remainingGrants = "remainingGrants";
|
||||
String remainingGrantsReplacement = "remaining_grants";
|
||||
String minimumRadius = "minimumRadius";
|
||||
String minimumRadiusReplacement = "minimum_radius";
|
||||
String maximumMoves = "maximumMoves";
|
||||
String maximumMovesReplacement = "maximum_moves";
|
||||
String userMove = "userMove";
|
||||
String userMoveReplacement = "user_move";
|
||||
String rremainingGrantsReplacement = "remaining_grants";
|
||||
|
||||
try (Stream<Path> paths = Files.walk(Paths.get(PlotSquared.platform().getDirectory().toPath().resolve("lang").toUri()))) {
|
||||
paths
|
||||
@ -64,10 +58,7 @@ public class TranslationUpdateManager {
|
||||
replaceInFile(p, minHeight, minheightReplacement);
|
||||
replaceInFile(p, maxHeight, maxheightReplacement);
|
||||
replaceInFile(p, usedGrants, usedGrantsReplacement);
|
||||
replaceInFile(p, remainingGrants, remainingGrantsReplacement);
|
||||
replaceInFile(p, minimumRadius, minimumRadiusReplacement);
|
||||
replaceInFile(p, maximumMoves, maximumMovesReplacement);
|
||||
replaceInFile(p, userMove, userMoveReplacement);
|
||||
replaceInFile(p, remainingGrants, rremainingGrantsReplacement);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ tasks {
|
||||
opt.links("https://jd.advntr.dev/api/4.14.0/")
|
||||
opt.links("https://jd.advntr.dev/text-minimessage/4.14.0/")
|
||||
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.isLinkSource = true
|
||||
opt.bottom(File("$rootDir/javadocfooter.html").readText())
|
||||
opt.isUse = true
|
||||
|
@ -256,11 +256,11 @@ public class Condense extends SubCommand {
|
||||
player.sendMessage(TranslatableCaption.of("condense.default_eval"));
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("condense.minimum_radius"),
|
||||
TagResolver.resolver("minimum_radius", Tag.inserting(Component.text(minimumRadius)))
|
||||
TagResolver.resolver("minimumRadius", Tag.inserting(Component.text(minimumRadius)))
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("condense.maximum_moved"),
|
||||
TagResolver.resolver("maximum_moves", Tag.inserting(Component.text(maxMove)))
|
||||
TagResolver.resolver("maxMove", Tag.inserting(Component.text(maxMove)))
|
||||
);
|
||||
player.sendMessage(TranslatableCaption.of("condense.input_eval"));
|
||||
player.sendMessage(
|
||||
@ -269,7 +269,7 @@ public class Condense extends SubCommand {
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("condense.estimated_moves"),
|
||||
TagResolver.resolver("user_move", Tag.inserting(Component.text(userMove)))
|
||||
TagResolver.resolver("userMove", Tag.inserting(Component.text(userMove)))
|
||||
);
|
||||
player.sendMessage(TranslatableCaption.of("condense.eta"));
|
||||
player.sendMessage(TranslatableCaption.of("condense.radius_measured"));
|
||||
|
@ -94,7 +94,7 @@ public class Done extends SubCommand {
|
||||
TagResolver.resolver("plot", Tag.inserting(Component.text(plot.getId().toString())))
|
||||
);
|
||||
final Settings.Auto_Clear doneRequirements = Settings.AUTO_CLEAR.get("done");
|
||||
if (PlotSquared.platform().expireManager() == null || doneRequirements == null || player.hasPermission(Permission.PERMISSION_ADMIN_COMMAND_DONE)) {
|
||||
if (PlotSquared.platform().expireManager() == null || doneRequirements == null) {
|
||||
finish(plot, player, true);
|
||||
plot.removeRunning();
|
||||
} else {
|
||||
|
@ -810,10 +810,6 @@ public class Settings extends Config {
|
||||
);
|
||||
@Comment("Whether PlotSquared should hook into MvDWPlaceholderAPI or not")
|
||||
public static boolean USE_MVDWAPI = true;
|
||||
|
||||
@Comment("Whether PlotSquared should hook into MiniPlaceholders")
|
||||
public static boolean USE_MINIPLACEHOLDERS = true;
|
||||
|
||||
@Comment("Prevent cross plot beacon effects")
|
||||
public static boolean DISABLE_BEACON_EFFECT_OVERFLOW = true;
|
||||
|
||||
|
@ -27,7 +27,7 @@ import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
* <p>
|
||||
* May be used to grant a player more plots based on another rank or bought feature.
|
||||
*
|
||||
* @since 7.3.0
|
||||
* @since TODO
|
||||
*/
|
||||
public class PlayerPlotLimitEvent {
|
||||
|
||||
@ -44,7 +44,7 @@ public class PlayerPlotLimitEvent {
|
||||
* Overrides the previously calculated or set plot limit for {@link #player()}.
|
||||
*
|
||||
* @param limit The amount of plots a player may claim. Must be {@code 0} or greater.
|
||||
* @since 7.3.0
|
||||
* @since TODO
|
||||
*/
|
||||
public void limit(@NonNegative final int limit) {
|
||||
if (limit < 0) {
|
||||
@ -58,7 +58,7 @@ public class PlayerPlotLimitEvent {
|
||||
* permissions node is returned.
|
||||
*
|
||||
* @return The currently defined plot limit of this player.
|
||||
* @since 7.3.0
|
||||
* @since TODO
|
||||
*/
|
||||
public @NonNegative int limit() {
|
||||
return limit;
|
||||
@ -68,7 +68,7 @@ public class PlayerPlotLimitEvent {
|
||||
* The player for which the limit is queried.
|
||||
*
|
||||
* @return the player.
|
||||
* @since 7.3.0
|
||||
* @since TODO
|
||||
*/
|
||||
public @NonNull PlotPlayer<?> player() {
|
||||
return player;
|
||||
|
@ -75,7 +75,7 @@ public class PlayerTeleportToPlotEvent extends PlotPlayerEvent implements Cancel
|
||||
* Gets the currently applied {@link UnaryOperator<Location> transformer} or null, if none was set
|
||||
*
|
||||
* @return LocationTransformer
|
||||
* @since 7.2.1
|
||||
* @since TODO
|
||||
*/
|
||||
public @Nullable UnaryOperator<Location> getLocationTransformer() {
|
||||
return this.locationTransformer;
|
||||
@ -86,7 +86,7 @@ public class PlayerTeleportToPlotEvent extends PlotPlayerEvent implements Cancel
|
||||
* May be {@code null}, if any previous set transformations should be discarded.
|
||||
*
|
||||
* @param locationTransformer The new transformer
|
||||
* @since 7.2.1
|
||||
* @since TODO
|
||||
*/
|
||||
public void setLocationTransformer(@Nullable UnaryOperator<Location> locationTransformer) {
|
||||
this.locationTransformer = locationTransformer;
|
||||
|
@ -364,6 +364,7 @@ public class PlotListener {
|
||||
public boolean plotExit(final PlotPlayer<?> player, Plot plot) {
|
||||
try (final MetaDataAccess<Plot> lastPlot = player.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_LAST_PLOT)) {
|
||||
final Plot previous = lastPlot.remove();
|
||||
this.eventDispatcher.callLeave(player, plot);
|
||||
|
||||
List<StatusEffect> effects = playerEffects.remove(player.getUUID());
|
||||
if (effects != null) {
|
||||
@ -466,8 +467,6 @@ public class PlotListener {
|
||||
feedRunnable.remove(player.getUUID());
|
||||
healRunnable.remove(player.getUUID());
|
||||
}
|
||||
} finally {
|
||||
this.eventDispatcher.callLeave(player, plot);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -89,7 +89,6 @@ import com.plotsquared.core.plot.flag.implementations.PlayerInteractFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.PlotTitleFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.PreventCreativeCopyFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.PriceFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.ProjectileChangeBlockFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.ProjectilesFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.PveFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.PvpFlag;
|
||||
@ -186,7 +185,6 @@ public final class GlobalFlagContainer extends FlagContainer {
|
||||
this.addFlag(NoWorldeditFlag.NO_WORLDEDIT_FALSE);
|
||||
this.addFlag(PlayerInteractFlag.PLAYER_INTERACT_FALSE);
|
||||
this.addFlag(PreventCreativeCopyFlag.PREVENT_CREATIVE_COPY_FALSE);
|
||||
this.addFlag(ProjectileChangeBlockFlag.PROJECTILE_CHANGE_BLOCK_FALSE);
|
||||
this.addFlag(PveFlag.PVE_FALSE);
|
||||
this.addFlag(PvpFlag.PVP_FALSE);
|
||||
this.addFlag(RedstoneFlag.REDSTONE_TRUE);
|
||||
|
@ -23,7 +23,7 @@ import com.plotsquared.core.plot.flag.types.BooleanFlag;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
|
||||
/**
|
||||
* @since 7.2.1
|
||||
* @since TODO
|
||||
*/
|
||||
public class EditSignFlag extends BooleanFlag<EditSignFlag> {
|
||||
public static final EditSignFlag EDIT_SIGN_TRUE = new EditSignFlag(true);
|
||||
|
@ -1,39 +0,0 @@
|
||||
/*
|
||||
* PlotSquared, a land and world management plugin for Minecraft.
|
||||
* Copyright (C) IntellectualSites <https://intellectualsites.com>
|
||||
* Copyright (C) IntellectualSites team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.plotsquared.core.plot.flag.implementations;
|
||||
|
||||
import com.plotsquared.core.configuration.caption.TranslatableCaption;
|
||||
import com.plotsquared.core.plot.flag.types.BooleanFlag;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
|
||||
public class ProjectileChangeBlockFlag extends BooleanFlag<ProjectileChangeBlockFlag> {
|
||||
|
||||
public static final ProjectileChangeBlockFlag PROJECTILE_CHANGE_BLOCK_TRUE = new ProjectileChangeBlockFlag(true);
|
||||
public static final ProjectileChangeBlockFlag PROJECTILE_CHANGE_BLOCK_FALSE = new ProjectileChangeBlockFlag(false);
|
||||
|
||||
private ProjectileChangeBlockFlag(boolean value) {
|
||||
super(value, TranslatableCaption.of("flags.flag_description_projectile_change_block"));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ProjectileChangeBlockFlag flagOf(@NonNull Boolean value) {
|
||||
return value ? PROJECTILE_CHANGE_BLOCK_TRUE : PROJECTILE_CHANGE_BLOCK_FALSE;
|
||||
}
|
||||
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
/*
|
||||
* PlotSquared, a land and world management plugin for Minecraft.
|
||||
* Copyright (C) IntellectualSites <https://intellectualsites.com>
|
||||
* Copyright (C) IntellectualSites team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.plotsquared.core.util.query;
|
||||
|
||||
import com.plotsquared.core.plot.Plot;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
|
||||
class HasOwnerFilter implements PlotFilter {
|
||||
|
||||
@Override
|
||||
public boolean accepts(final @NonNull Plot plot) {
|
||||
return plot.hasOwner();
|
||||
}
|
||||
|
||||
}
|
@ -219,16 +219,6 @@ public final class PlotQuery implements Iterable<Plot> {
|
||||
return this.addFilter(new OwnersIncludeFilter(owner.getUUID()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Query only for plots that have an owner
|
||||
*
|
||||
* @return The query instance
|
||||
* @since 7.2.1
|
||||
*/
|
||||
|
||||
public @NonNull PlotQuery hasOwner() {
|
||||
return this.addFilter(new HasOwnerFilter());
|
||||
}
|
||||
/**
|
||||
* Query for plots with a specific alias
|
||||
*
|
||||
|
@ -190,7 +190,6 @@
|
||||
"core.prefix": "<dark_gray>[</dark_gray><gold>P2</gold><dark_gray>] </dark_gray>",
|
||||
"core.enabled": "<prefix><gold><value> is now enabled.</gold>",
|
||||
"placeholder.hooked": "<prefix><gold>PlotSquared hooked into MVdWPlaceholderAPI</gold>",
|
||||
"placeholder.miniplaceholders.hooked": "<prefix><gold>PlotSquared hooked into MiniPlaceholders</gold>",
|
||||
"placeholder.nan": "Not a number",
|
||||
"reload.reloaded_configs": "<prefix><gold>Translations and world settings have been reloaded successfully.</gold>",
|
||||
"reload.reload_failed": "<prefix><red>Failed to reload file configurations.</red>",
|
||||
@ -249,11 +248,11 @@
|
||||
"condense.skipping": "<prefix><red>Skipping complex plot: </red><gold><plot></gold><red>.</red>",
|
||||
"condense.task_stopped": "<prefix><gold>Task already stopped.</gold>",
|
||||
"condense.default_eval": "<dark_gray><strikethrough>=== <reset> <gold>DEFAULT EVAL </gold><dark_gray><strikethrough>===</dark_gray>",
|
||||
"condense.minimum_radius": "<gold>Minimum radius: </gold><gray><minimum_radius></gray>",
|
||||
"condense.maximum_moved": "<gold>Maximum moved: </gold><gray><maximum_moves></gray>",
|
||||
"condense.minimum_radius": "<gold>Minimum radius: </gold><gray><minimumRadius></gray>",
|
||||
"condense.maximum_moved": "<gold>Maximum moved: </gold><gray><maximumMoves></gray>",
|
||||
"condense.input_eval": "<dark_gray><strikethrough>=== <reset> <gold>INPUT EVAL </gold><dark_gray><strikethrough>===</dark_gray>",
|
||||
"condense.input_radius": "<gold>Input radius: </gold><gray><radius></gray>",
|
||||
"condense.estimated_moves": "<gold>Estimated moves: </gold><gray><user_move></gray>",
|
||||
"condense.estimated_moves": "<gold>Estimated moves: </gold><gray><userMove></gray>",
|
||||
"condense.eta": "<prefix><gold>Estimated time: No idea, times will drastically change based on the system performance and load.</gold>",
|
||||
"condense.radius_measured": "<yellow> - Radius is measured in plot width.</yellow>",
|
||||
"database.starting_conversion": "<prefix><gold>Starting...</gold>",
|
||||
@ -590,7 +589,6 @@
|
||||
"flags.flag_description_place": "<gray>Define a list of materials players should be able to place in the plot.</gray>",
|
||||
"flags.flag_description_player_interact": "<gray>Set to `true` to allow guests to interact with players in the plot.</gray>",
|
||||
"flags.flag_description_price": "<gray>Set a price for a plot. Must be a positive decimal number.</gray>",
|
||||
"flags.flag_description_projectile_change_block": "<gray>Set to `true` to allow projectiles to change blocks (tnt, etc.) on the plot.</gray>",
|
||||
"flags.flag_description_pve": "<gray>Set to `true` to enable PVE inside the plot.</gray>",
|
||||
"flags.flag_description_pvp": "<gray>Set to `true` to enable PVP inside the plot.</gray>",
|
||||
"flags.flag_description_redstone": "<gray>Set to `false` to disable redstone in the plot.</gray>",
|
||||
|
@ -22,7 +22,7 @@ plugins {
|
||||
}
|
||||
|
||||
group = "com.intellectualsites.plotsquared"
|
||||
version = "7.3.2-SNAPSHOT"
|
||||
version = "7.2.1-SNAPSHOT"
|
||||
|
||||
if (!File("$rootDir/.git").exists()) {
|
||||
logger.lifecycle("""
|
||||
@ -225,7 +225,7 @@ tasks.getByName<Jar>("jar") {
|
||||
enabled = false
|
||||
}
|
||||
|
||||
val supportedVersions = listOf("1.16.5", "1.17.1", "1.18.2", "1.19.4", "1.20.1", "1.20.4")
|
||||
val supportedVersions = listOf("1.16.5", "1.17.1", "1.18.2", "1.19.4", "1.20.1", "1.20.2")
|
||||
tasks {
|
||||
register("cacheLatestFaweArtifact") {
|
||||
val lastSuccessfulBuildUrl = uri("https://ci.athion.net/job/FastAsyncWorldEdit/lastSuccessfulBuild/api/json").toURL()
|
||||
|
@ -2,23 +2,22 @@
|
||||
# Platform expectations
|
||||
paper = "1.20.2-R0.1-SNAPSHOT"
|
||||
guice = "7.0.0"
|
||||
spotbugs = "4.8.3"
|
||||
checkerqual = "3.42.0"
|
||||
spotbugs = "4.8.2"
|
||||
checkerqual = "3.40.0"
|
||||
gson = "2.10"
|
||||
guava = "31.1-jre"
|
||||
snakeyaml = "2.0"
|
||||
adventure = "4.15.0"
|
||||
adventure-bukkit = "4.3.2"
|
||||
adventure = "4.14.0"
|
||||
adventure-bukkit = "4.3.1"
|
||||
log4j = "2.19.0"
|
||||
|
||||
# Plugins
|
||||
worldedit = "7.2.18"
|
||||
fawe = "2.8.3"
|
||||
worldedit = "7.2.17"
|
||||
fawe = "2.8.2"
|
||||
placeholderapi = "2.11.5"
|
||||
luckperms = "5.4"
|
||||
essentialsx = "2.20.1"
|
||||
mvdwapi = "3.1.1"
|
||||
miniplaceholders = "2.2.3"
|
||||
|
||||
# Third party
|
||||
prtree = "2.0.1"
|
||||
@ -36,7 +35,7 @@ serverlib = "2.3.4"
|
||||
# Gradle plugins
|
||||
shadow = "8.1.1"
|
||||
grgit = "4.1.1"
|
||||
spotless = "6.23.3"
|
||||
spotless = "6.23.2"
|
||||
nexus = "1.3.0"
|
||||
runPaper = "2.2.2"
|
||||
|
||||
@ -69,7 +68,6 @@ prtree = { group = "com.intellectualsites.prtree", name = "PRTree", version.ref
|
||||
aopalliance = { group = "aopalliance", name = "aopalliance", version.ref = "aopalliance" }
|
||||
cloudServices = { group = "cloud.commandframework", name = "cloud-services", version.ref = "cloud-services" }
|
||||
mvdwapi = { group = "com.intellectualsites.mvdwplaceholderapi", name = "MVdWPlaceholderAPI", version.ref = "mvdwapi" }
|
||||
miniplaceholders = { group = "io.github.miniplaceholders", name = "miniplaceholders-api", version.ref = "miniplaceholders" }
|
||||
squirrelid = { group = "org.enginehub", name = "squirrelid", version.ref = "squirrelid" }
|
||||
arkitektonika = { group = "com.intellectualsites.arkitektonika", name = "Arkitektonika-Client", version.ref = "arkitektonika" }
|
||||
paster = { group = "com.intellectualsites.paster", name = "Paster", version.ref = "paster" }
|
||||
|
Reference in New Issue
Block a user