mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-07-03 06:04:43 +02:00
Compare commits
2 Commits
7.3.8
...
fix/out-of
Author | SHA1 | Date | |
---|---|---|---|
6e668cd862 | |||
b51eec279f |
7
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
7
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -30,7 +30,14 @@ body:
|
||||
- '1.20.4'
|
||||
- '1.20'
|
||||
- '1.19.4'
|
||||
- '1.19.3'
|
||||
- '1.19.2'
|
||||
- '1.19.1'
|
||||
- '1.19'
|
||||
- '1.18.2'
|
||||
- '1.18.1'
|
||||
- '1.17.1'
|
||||
- '1.16.5'
|
||||
validations:
|
||||
required: true
|
||||
|
||||
|
1
.github/renovate.json
vendored
1
.github/renovate.json
vendored
@ -9,6 +9,7 @@
|
||||
"dependencies"
|
||||
],
|
||||
"rebaseWhen": "conflicted",
|
||||
"schedule": ["on the first day of the month"],
|
||||
"ignoreDeps": [
|
||||
"com.google.code.gson:gson",
|
||||
"com.google.guava:guava",
|
||||
|
2
.github/workflows/build-pr.yml
vendored
2
.github/workflows/build-pr.yml
vendored
@ -11,7 +11,7 @@ jobs:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Validate Gradle Wrapper
|
||||
uses: gradle/actions/wrapper-validation@v3
|
||||
uses: gradle/wrapper-validation-action@v2
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
|
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@ -11,7 +11,7 @@ jobs:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Validate Gradle Wrapper
|
||||
uses: gradle/actions/wrapper-validation@v3
|
||||
uses: gradle/wrapper-validation-action@v2
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
|
2
.github/workflows/label-merge-conflicts.yaml
vendored
2
.github/workflows/label-merge-conflicts.yaml
vendored
@ -15,7 +15,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Label conflicting PRs
|
||||
uses: eps1lon/actions-label-merge-conflict@v3.0.0
|
||||
uses: eps1lon/actions-label-merge-conflict@v2.1.0
|
||||
with:
|
||||
dirtyLabel: "unresolved-merge-conflict"
|
||||
repoToken: "${{ secrets.GITHUB_TOKEN }}"
|
||||
|
@ -113,6 +113,5 @@ tasks {
|
||||
opt.encoding("UTF-8")
|
||||
opt.keyWords()
|
||||
opt.addStringOption("-since", isRelease)
|
||||
opt.noTimestamp()
|
||||
}
|
||||
}
|
||||
|
@ -670,11 +670,7 @@ public class BlockEventListener implements Listener {
|
||||
BlockBreakEvent call = new BlockBreakEvent(block, player);
|
||||
Bukkit.getServer().getPluginManager().callEvent(call);
|
||||
if (!call.isCancelled()) {
|
||||
if (Settings.Flags.INSTABREAK_CONSIDER_TOOL) {
|
||||
block.breakNaturally(event.getItemInHand());
|
||||
} else {
|
||||
block.breakNaturally();
|
||||
}
|
||||
event.getBlock().breakNaturally();
|
||||
}
|
||||
}
|
||||
// == rather than <= as we only care about the "ground level" not being destroyed
|
||||
|
@ -154,7 +154,7 @@ public class EntitySpawnListener implements Listener {
|
||||
if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
if (type == EntityType.ENDER_CRYSTAL || type == EntityType.ARMOR_STAND) {
|
||||
if (type == EntityType.ENDER_CRYSTAL) {
|
||||
if (BukkitEntityUtil.checkEntity(entity, plot)) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
@ -19,7 +19,6 @@
|
||||
package com.plotsquared.bukkit.listener;
|
||||
|
||||
import com.destroystokyo.paper.event.block.BeaconEffectEvent;
|
||||
import com.destroystokyo.paper.event.block.BlockDestroyEvent;
|
||||
import com.destroystokyo.paper.event.entity.EntityPathfindEvent;
|
||||
import com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent;
|
||||
import com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent;
|
||||
@ -41,9 +40,7 @@ import com.plotsquared.core.plot.PlotArea;
|
||||
import com.plotsquared.core.plot.flag.FlagContainer;
|
||||
import com.plotsquared.core.plot.flag.implementations.BeaconEffectsFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.DoneFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.FishingFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.ProjectilesFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.TileDropFlag;
|
||||
import com.plotsquared.core.plot.flag.types.BooleanFlag;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.util.PlotFlagUtil;
|
||||
@ -86,19 +83,6 @@ public class PaperListener implements Listener {
|
||||
this.plotAreaManager = plotAreaManager;
|
||||
}
|
||||
|
||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
|
||||
public void onBlockDestroy(final BlockDestroyEvent event) {
|
||||
Location location = BukkitUtil.adapt(event.getBlock().getLocation());
|
||||
PlotArea area = location.getPlotArea();
|
||||
if (area == null) {
|
||||
return;
|
||||
}
|
||||
Plot plot = area.getPlot(location);
|
||||
if (plot != null) {
|
||||
event.setWillDrop(plot.getFlag(TileDropFlag.class));
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onEntityPathfind(EntityPathfindEvent event) {
|
||||
if (!Settings.Paper_Components.ENTITY_PATHING) {
|
||||
@ -364,11 +348,6 @@ public class PaperListener implements Listener {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
} else if (!plot.isAdded(pp.getUUID())) {
|
||||
if (entity.getType().equals(EntityType.FISHING_HOOK)) {
|
||||
if (plot.getFlag(FishingFlag.class)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!plot.getFlag(ProjectilesFlag.class)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) {
|
||||
pp.sendMessage(
|
||||
|
@ -61,7 +61,6 @@ import com.plotsquared.core.plot.flag.implementations.MiscInteractFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.PlayerInteractFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.PreventCreativeCopyFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.TamedInteractFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.TileDropFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.UntrustedVisitFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.VehicleBreakFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.VehicleUseFlag;
|
||||
@ -108,7 +107,6 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.entity.EntityPickupItemEvent;
|
||||
import org.bukkit.event.entity.EntityPlaceEvent;
|
||||
import org.bukkit.event.entity.EntityPotionEffectEvent;
|
||||
@ -238,19 +236,6 @@ public class PlayerEventListener implements Listener {
|
||||
this.plotListener = plotListener;
|
||||
}
|
||||
|
||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
|
||||
public void onBlockBreak(final BlockBreakEvent event) {
|
||||
Location location = BukkitUtil.adapt(event.getBlock().getLocation());
|
||||
PlotArea area = location.getPlotArea();
|
||||
if (area == null) {
|
||||
return;
|
||||
}
|
||||
Plot plot = area.getPlot(location);
|
||||
if (plot != null) {
|
||||
event.setDropItems(plot.getFlag(TileDropFlag.class));
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onPlayerDyeSign(PlayerInteractEvent event) {
|
||||
ItemStack itemStack = event.getItem();
|
||||
@ -1936,9 +1921,7 @@ public class PlayerEventListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerTakeLecternBook(PlayerTakeLecternBookEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
BukkitPlayer pp = BukkitUtil.adapt(player);
|
||||
Location location = pp.getLocation();
|
||||
Location location = BukkitUtil.adapt(event.getPlayer().getLocation());
|
||||
PlotArea area = location.getPlotArea();
|
||||
if (area == null) {
|
||||
return;
|
||||
@ -1950,11 +1933,9 @@ public class PlayerEventListener implements Listener {
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (!plot.isAdded(pp.getUUID())) {
|
||||
if (plot.getFlag(LecternReadBookFlag.class)) {
|
||||
plot.debug(event.getPlayer().getName() + " could not take the book because of lectern-read-book = true");
|
||||
event.setCancelled(true);
|
||||
}
|
||||
if (plot.getFlag(LecternReadBookFlag.class)) {
|
||||
plot.debug(event.getPlayer().getName() + " could not take the book because of lectern-read-book = true");
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -28,14 +28,12 @@ import com.plotsquared.core.player.PlotPlayer;
|
||||
import com.plotsquared.core.plot.Plot;
|
||||
import com.plotsquared.core.plot.PlotArea;
|
||||
import com.plotsquared.core.plot.PlotHandler;
|
||||
import com.plotsquared.core.plot.flag.implementations.FishingFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.ProjectilesFlag;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.util.PlotFlagUtil;
|
||||
import net.kyori.adventure.text.minimessage.tag.Tag;
|
||||
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Projectile;
|
||||
@ -134,11 +132,6 @@ public class ProjectileEventListener implements Listener {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
} else if (!plot.isAdded(pp.getUUID())) {
|
||||
if (entity.getType().equals(EntityType.FISHING_HOOK)) {
|
||||
if (plot.getFlag(FishingFlag.class)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!plot.getFlag(ProjectilesFlag.class)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) {
|
||||
pp.sendMessage(
|
||||
@ -194,8 +187,7 @@ public class ProjectileEventListener implements Listener {
|
||||
return;
|
||||
}
|
||||
if (plot.isAdded(pp.getUUID()) || pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_OTHER) || plot.getFlag(
|
||||
ProjectilesFlag.class) || (entity.getType().equals(EntityType.FISHING_HOOK) && plot.getFlag(
|
||||
FishingFlag.class))) {
|
||||
ProjectilesFlag.class)) {
|
||||
return;
|
||||
}
|
||||
entity.remove();
|
||||
|
@ -326,7 +326,7 @@ public class BukkitPlayer extends PlotPlayer<Player> {
|
||||
return;
|
||||
}
|
||||
this.player.playSound(BukkitUtil.adapt(location), Sound.valueOf(BukkitAdapter.adapt(id).name()),
|
||||
SoundCategory.MUSIC, Float.MAX_VALUE, 1f
|
||||
SoundCategory.MUSIC, 1f, 1f
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -78,6 +78,5 @@ tasks {
|
||||
opt.encoding("UTF-8")
|
||||
opt.keyWords()
|
||||
opt.addStringOption("-since", isRelease)
|
||||
opt.noTimestamp()
|
||||
}
|
||||
}
|
||||
|
@ -77,7 +77,6 @@ public class Visit extends Command {
|
||||
query.whereBasePlot();
|
||||
}
|
||||
|
||||
// without specified argument
|
||||
if (page == Integer.MIN_VALUE) {
|
||||
page = 1;
|
||||
}
|
||||
@ -95,15 +94,10 @@ public class Visit extends Command {
|
||||
|
||||
final List<Plot> plots = query.asList();
|
||||
|
||||
// Conversion of reversed page argument
|
||||
if (page < 0) {
|
||||
page = (plots.size() + 1) + page;
|
||||
}
|
||||
|
||||
if (plots.isEmpty()) {
|
||||
player.sendMessage(TranslatableCaption.of("invalid.found_no_plots"));
|
||||
return;
|
||||
} else if (page > plots.size() || page < 1) {
|
||||
} else if (plots.size() < page || page < 1) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.number_not_in_range"),
|
||||
TagResolver.builder()
|
||||
@ -194,22 +188,34 @@ public class Visit extends Command {
|
||||
int page = Integer.MIN_VALUE;
|
||||
|
||||
switch (args.length) {
|
||||
// /p v <player> <area> <page>
|
||||
// /p v <user> <area> <page>
|
||||
case 3:
|
||||
if (isInvalidPageNr(args[2])) {
|
||||
sendInvalidPageNrMsg(player);
|
||||
if (!MathMan.isInteger(args[2])) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.not_valid_number"),
|
||||
TagResolver.resolver("value", Tag.inserting(Component.text("(1, ∞)")))
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
TagResolver.resolver("value", Tag.inserting(Component.text(getUsage())))
|
||||
);
|
||||
return CompletableFuture.completedFuture(false);
|
||||
}
|
||||
page = getPageNr(args[2]);
|
||||
// /p v <player> <area> [page]
|
||||
// /p v <player> [page]
|
||||
page = Integer.parseInt(args[2]);
|
||||
// /p v <name> <area> [page]
|
||||
// /p v <name> [page]
|
||||
case 2:
|
||||
// If "case 3" is already through or the argument is not a page number:
|
||||
// -> /p v <player> <area> [page]
|
||||
if (page != Integer.MIN_VALUE || isInvalidPageNr(args[1])) {
|
||||
if (page != Integer.MIN_VALUE || !MathMan.isInteger(args[1])) {
|
||||
sortByArea = this.plotAreaManager.getPlotAreaByString(args[1]);
|
||||
if (sortByArea == null) {
|
||||
sendInvalidPageNrMsg(player);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.not_valid_number"),
|
||||
TagResolver.resolver("value", Tag.inserting(Component.text("(1, ∞)")))
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
TagResolver.resolver("value", Tag.inserting(Component.text(getUsage())))
|
||||
);
|
||||
return CompletableFuture.completedFuture(false);
|
||||
}
|
||||
|
||||
@ -243,13 +249,16 @@ public class Visit extends Command {
|
||||
});
|
||||
break;
|
||||
}
|
||||
// -> /p v <player> <page>
|
||||
if (isInvalidPageNr(args[1])) {
|
||||
sendInvalidPageNrMsg(player);
|
||||
try {
|
||||
page = Integer.parseInt(args[1]);
|
||||
} catch (NumberFormatException ignored) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.not_a_number"),
|
||||
TagResolver.resolver("value", Tag.inserting(Component.text(args[1])))
|
||||
);
|
||||
return CompletableFuture.completedFuture(false);
|
||||
}
|
||||
page = getPageNr(args[1]);
|
||||
// /p v <player> [page]
|
||||
// /p v <name> [page]
|
||||
// /p v <uuid> [page]
|
||||
// /p v <plot> [page]
|
||||
// /p v <alias>
|
||||
@ -317,35 +326,6 @@ public class Visit extends Command {
|
||||
return CompletableFuture.completedFuture(true);
|
||||
}
|
||||
|
||||
private boolean isInvalidPageNr(String arg) {
|
||||
if (MathMan.isInteger(arg)) {
|
||||
return false;
|
||||
} else if (arg.equals("last") || arg.equals("n")) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private int getPageNr(String arg) {
|
||||
if (MathMan.isInteger(arg)) {
|
||||
return Integer.parseInt(arg);
|
||||
} else if (arg.equals("last") || arg.equals("n")) {
|
||||
return -1;
|
||||
}
|
||||
return Integer.MIN_VALUE;
|
||||
}
|
||||
|
||||
private void sendInvalidPageNrMsg(PlotPlayer<?> player) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("invalid.not_valid_number"),
|
||||
TagResolver.resolver("value", Tag.inserting(Component.text("(1, ∞)")))
|
||||
);
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("commandconfig.command_syntax"),
|
||||
TagResolver.resolver("value", Tag.inserting(Component.text(getUsage())))
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Command> tab(PlotPlayer<?> player, String[] args, boolean space) {
|
||||
final List<Command> completions = new ArrayList<>();
|
||||
@ -354,7 +334,6 @@ public class Visit extends Command {
|
||||
case 1 -> {
|
||||
completions.addAll(
|
||||
TabCompletions.completeAreas(args[1]));
|
||||
completions.addAll(TabCompletions.asCompletions("last"));
|
||||
if (args[1].isEmpty()) {
|
||||
// if no input is given, only suggest 1 - 3
|
||||
completions.addAll(
|
||||
@ -365,7 +344,6 @@ public class Visit extends Command {
|
||||
TabCompletions.completeNumbers(args[1], 10, 999));
|
||||
}
|
||||
case 2 -> {
|
||||
completions.addAll(TabCompletions.asCompletions("last"));
|
||||
if (args[2].isEmpty()) {
|
||||
// if no input is given, only suggest 1 - 3
|
||||
completions.addAll(
|
||||
|
@ -723,12 +723,6 @@ public class Settings extends Config {
|
||||
|
||||
}
|
||||
|
||||
@Comment("Settings related to flags")
|
||||
public static final class Flags {
|
||||
|
||||
@Comment("If \"instabreak\" should consider the used tool.")
|
||||
public static boolean INSTABREAK_CONSIDER_TOOL = false;
|
||||
}
|
||||
|
||||
@Comment({"Enable or disable parts of the plugin",
|
||||
"Note: A cache will use some memory if enabled"})
|
||||
|
@ -2574,7 +2574,7 @@ public class Plot {
|
||||
*/
|
||||
public void teleportPlayer(final PlotPlayer<?> player, TeleportCause cause, Consumer<Boolean> resultConsumer) {
|
||||
Plot plot = this.getBasePlot(false);
|
||||
if ((getArea() == null || !(getArea() instanceof SinglePlotArea)) && !WorldUtil.isValidLocation(plot.getBottomAbs())) {
|
||||
if (!WorldUtil.isValidLocation(plot.getBottomAbs())) {
|
||||
// prevent from teleporting into unsafe regions
|
||||
player.sendMessage(TranslatableCaption.of("border.denied"));
|
||||
resultConsumer.accept(false);
|
||||
|
@ -48,7 +48,6 @@ import com.plotsquared.core.plot.flag.implementations.EntityChangeBlockFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.ExplosionFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.FarewellFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.FeedFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.FishingFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.FlyFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.ForcefieldFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.GamemodeFlag;
|
||||
@ -102,7 +101,6 @@ import com.plotsquared.core.plot.flag.implementations.SnowMeltFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.SoilDryFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.TamedAttackFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.TamedInteractFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.TileDropFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.TimeFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.TitlesFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.UntrustedVisitFlag;
|
||||
@ -160,7 +158,6 @@ public final class GlobalFlagContainer extends FlagContainer {
|
||||
this.addFlag(EditSignFlag.EDIT_SIGN_FALSE);
|
||||
this.addFlag(EntityChangeBlockFlag.ENTITY_CHANGE_BLOCK_FALSE);
|
||||
this.addFlag(ExplosionFlag.EXPLOSION_FALSE);
|
||||
this.addFlag(FishingFlag.FISHING_FALSE);
|
||||
this.addFlag(ForcefieldFlag.FORCEFIELD_FALSE);
|
||||
this.addFlag(GrassGrowFlag.GRASS_GROW_TRUE);
|
||||
this.addFlag(HangingBreakFlag.HANGING_BREAK_FALSE);
|
||||
@ -199,7 +196,6 @@ public final class GlobalFlagContainer extends FlagContainer {
|
||||
this.addFlag(SoilDryFlag.SOIL_DRY_FALSE);
|
||||
this.addFlag(TamedAttackFlag.TAMED_ATTACK_FALSE);
|
||||
this.addFlag(TamedInteractFlag.TAMED_INTERACT_FALSE);
|
||||
this.addFlag(TileDropFlag.TILE_DROP_TRUE);
|
||||
this.addFlag(UntrustedVisitFlag.UNTRUSTED_VISIT_FLAG_TRUE);
|
||||
this.addFlag(VehicleBreakFlag.VEHICLE_BREAK_FALSE);
|
||||
this.addFlag(VehiclePlaceFlag.VEHICLE_PLACE_FALSE);
|
||||
|
@ -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 FishingFlag extends BooleanFlag<FishingFlag> {
|
||||
|
||||
public static final FishingFlag FISHING_TRUE = new FishingFlag(true);
|
||||
public static final FishingFlag FISHING_FALSE = new FishingFlag(false);
|
||||
|
||||
private FishingFlag(boolean value) {
|
||||
super(value, TranslatableCaption.of("flags.flag_description_fishing"));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FishingFlag flagOf(@NonNull final Boolean value) {
|
||||
return value ? FISHING_TRUE : FISHING_FALSE;
|
||||
}
|
||||
|
||||
}
|
@ -1,43 +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;
|
||||
|
||||
/**
|
||||
* @since 7.3.7
|
||||
*/
|
||||
|
||||
public class TileDropFlag extends BooleanFlag<TileDropFlag> {
|
||||
|
||||
public static final TileDropFlag TILE_DROP_TRUE = new TileDropFlag(true);
|
||||
public static final TileDropFlag TILE_DROP_FALSE = new TileDropFlag(false);
|
||||
|
||||
private TileDropFlag(boolean value) {
|
||||
super(value, TranslatableCaption.of("flags.flag_description_tile_drop"));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TileDropFlag flagOf(@NonNull Boolean value) {
|
||||
return value ? TILE_DROP_TRUE : TILE_DROP_FALSE;
|
||||
}
|
||||
|
||||
}
|
@ -37,7 +37,7 @@ import java.util.List;
|
||||
|
||||
public class SinglePlotManager extends PlotManager {
|
||||
|
||||
private static final int MAX_COORDINATE = 20000000;
|
||||
private static final int MAX_COORDINATE = 30000000;
|
||||
|
||||
public SinglePlotManager(final @NonNull PlotArea plotArea) {
|
||||
super(plotArea);
|
||||
|
@ -65,7 +65,7 @@ public abstract class WorldUtil {
|
||||
/**
|
||||
* {@return whether the given location is valid in the world}
|
||||
* @param location the location to check
|
||||
* @since 7.3.6
|
||||
* @since TODO
|
||||
*/
|
||||
public static boolean isValidLocation(Location location) {
|
||||
return Math.abs(location.getX()) < 30000000 && Math.abs(location.getZ()) < 30000000;
|
||||
|
@ -27,8 +27,6 @@ import com.plotsquared.core.PlotSquared;
|
||||
import com.plotsquared.core.configuration.Settings;
|
||||
import com.plotsquared.core.configuration.caption.LocaleHolder;
|
||||
import com.plotsquared.core.configuration.caption.TranslatableCaption;
|
||||
import com.plotsquared.core.player.MetaDataAccess;
|
||||
import com.plotsquared.core.player.PlayerMetaDataKeys;
|
||||
import com.plotsquared.core.player.PlotPlayer;
|
||||
import com.plotsquared.core.plot.Plot;
|
||||
import com.plotsquared.core.plot.flag.GlobalFlagContainer;
|
||||
@ -199,11 +197,6 @@ public final class PlaceholderRegistry {
|
||||
});
|
||||
this.createPlaceholder("currentplot_biome", (player, plot) -> plot.getBiomeSynchronous().toString());
|
||||
this.createPlaceholder("currentplot_size", (player, plot) -> String.valueOf(plot.getConnectedPlots().size()));
|
||||
this.createPlaceholder("total_grants", player -> {
|
||||
try (final MetaDataAccess<Integer> metaDataAccess = player.accessPersistentMetaData(PlayerMetaDataKeys.PERSISTENT_GRANTED_PLOTS)) {
|
||||
return Integer.toString(metaDataAccess.get().orElse(0));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -559,7 +559,6 @@
|
||||
"flags.flag_description_drop_protection": "<gray>Set to `true` to prevent dropped items from being picked up by non-members of the plot.</gray>",
|
||||
"flags.flag_description_edit_sign": "<gray>Set to `true` to allow editing signs in the plot.</gray>",
|
||||
"flags.flag_description_feed": "<gray>Specify an interval in seconds and an optional amount by which the players will be fed (amount is 1 by default).</gray>",
|
||||
"flags.flag_description_fishing": "<gray>Set to `true` to allow guests to use a fishing rod in the plot.</gray>",
|
||||
"flags.flag_description_forcefield": "<gray>Set to `true` to enable member forcefield in the plot.</gray>",
|
||||
"flags.flag_description_grass_grow": "<gray>Set to `false` to prevent grass from growing within the plot.</gray>",
|
||||
"flags.flag_description_hanging_break": "<gray>Set to `true` to allow guests to break hanging objects in the plot.</gray>",
|
||||
@ -606,7 +605,6 @@
|
||||
"flags.flag_description_tamed_attack": "<gray>Set to `true` to allow guests to attack tamed animals in the plot.</gray>",
|
||||
"flags.flag_description_tamed_interact": "<gray>Set to `true` to allow guests to interact with tamed animals in the plot.</gray>",
|
||||
"flags.flag_description_time": "<gray>Set the time in the plot to a fixed value.</gray>",
|
||||
"flags.flag_description_tile_drop": "<gray>Set to `false` to prevent blocks from dropping items in the plot.</gray>",
|
||||
"flags.flag_description_titles": "<gray>Set to `false` to disable plot titles. Can be set to: `none` (to inherit world settings), `true`, or `false`</gray>",
|
||||
"flags.flag_description_title": "<gray>Set the pop-up title's title and subtitle. Format: /plot flag set title \"A title\" \"The subtitle\"</gray>",
|
||||
"flags.flag_description_use": "<gray>Define a list of materials players should be able to interact with in the plot.</gray>",
|
||||
|
@ -22,7 +22,7 @@ plugins {
|
||||
}
|
||||
|
||||
group = "com.intellectualsites.plotsquared"
|
||||
version = "7.3.8"
|
||||
version = "7.3.6-SNAPSHOT"
|
||||
|
||||
if (!File("$rootDir/.git").exists()) {
|
||||
logger.lifecycle("""
|
||||
@ -118,7 +118,7 @@ subprojects {
|
||||
}
|
||||
|
||||
signing {
|
||||
if (!project.hasProperty("skip.signing") && !version.toString().endsWith("-SNAPSHOT")) {
|
||||
if (!version.toString().endsWith("-SNAPSHOT")) {
|
||||
val signingKey: String? by project
|
||||
val signingPassword: String? by project
|
||||
useInMemoryPgpKeys(signingKey, signingPassword)
|
||||
@ -209,11 +209,6 @@ subprojects {
|
||||
test {
|
||||
useJUnitPlatform()
|
||||
}
|
||||
|
||||
withType<AbstractArchiveTask>().configureEach {
|
||||
isPreserveFileTimestamps = false
|
||||
isReproducibleFileOrder = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -230,7 +225,7 @@ tasks.getByName<Jar>("jar") {
|
||||
enabled = false
|
||||
}
|
||||
|
||||
val supportedVersions = listOf("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.4")
|
||||
tasks {
|
||||
register("cacheLatestFaweArtifact") {
|
||||
val lastSuccessfulBuildUrl = uri("https://ci.athion.net/job/FastAsyncWorldEdit/lastSuccessfulBuild/api/json").toURL()
|
||||
|
@ -2,18 +2,18 @@
|
||||
# Platform expectations
|
||||
paper = "1.20.2-R0.1-SNAPSHOT"
|
||||
guice = "7.0.0"
|
||||
spotbugs = "4.8.4"
|
||||
spotbugs = "4.8.3"
|
||||
checkerqual = "3.42.0"
|
||||
gson = "2.10"
|
||||
guava = "31.1-jre"
|
||||
snakeyaml = "2.0"
|
||||
adventure = "4.16.0"
|
||||
adventure = "4.15.0"
|
||||
adventure-bukkit = "4.3.2"
|
||||
log4j = "2.19.0"
|
||||
|
||||
# Plugins
|
||||
worldedit = "7.2.20"
|
||||
fawe = "2.9.2"
|
||||
worldedit = "7.2.18"
|
||||
fawe = "2.9.0"
|
||||
placeholderapi = "2.11.5"
|
||||
luckperms = "5.4"
|
||||
essentialsx = "2.20.1"
|
||||
@ -23,20 +23,20 @@ mvdwapi = "3.1.1"
|
||||
prtree = "2.0.1"
|
||||
aopalliance = "1.0"
|
||||
cloud-services = "1.8.4"
|
||||
arkitektonika = "2.1.3"
|
||||
arkitektonika = "2.1.2"
|
||||
squirrelid = "0.3.2"
|
||||
paster = "1.1.6"
|
||||
paster = "1.1.5"
|
||||
bstats = "3.0.2"
|
||||
paperlib = "1.0.8"
|
||||
informative-annotations = "1.5"
|
||||
informative-annotations = "1.4"
|
||||
vault = "1.7.1"
|
||||
serverlib = "2.3.6"
|
||||
serverlib = "2.3.4"
|
||||
|
||||
# Gradle plugins
|
||||
shadow = "8.1.1"
|
||||
grgit = "4.1.1"
|
||||
spotless = "6.25.0"
|
||||
nexus = "2.0.0"
|
||||
nexus = "1.3.0"
|
||||
runPaper = "2.2.3"
|
||||
|
||||
[libraries]
|
||||
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
Reference in New Issue
Block a user