mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-06-27 03:04:43 +02:00
Merge branch 'v7' into feature/v7/cloud
This commit is contained in:
@ -36,7 +36,6 @@ import com.plotsquared.bukkit.listener.ChunkListener;
|
||||
import com.plotsquared.bukkit.listener.EntityEventListener;
|
||||
import com.plotsquared.bukkit.listener.EntitySpawnListener;
|
||||
import com.plotsquared.bukkit.listener.PaperListener;
|
||||
import com.plotsquared.bukkit.listener.PaperListener113;
|
||||
import com.plotsquared.bukkit.listener.PlayerEventListener;
|
||||
import com.plotsquared.bukkit.listener.ProjectileEventListener;
|
||||
import com.plotsquared.bukkit.listener.ServerListener;
|
||||
@ -73,6 +72,8 @@ import com.plotsquared.core.configuration.Storage;
|
||||
import com.plotsquared.core.configuration.caption.ChatFormatter;
|
||||
import com.plotsquared.core.configuration.file.YamlConfiguration;
|
||||
import com.plotsquared.core.database.DBFunc;
|
||||
import com.plotsquared.core.events.RemoveRoadEntityEvent;
|
||||
import com.plotsquared.core.events.Result;
|
||||
import com.plotsquared.core.generator.GeneratorWrapper;
|
||||
import com.plotsquared.core.generator.IndependentPlotGenerator;
|
||||
import com.plotsquared.core.generator.SingleWorldGenerator;
|
||||
@ -111,6 +112,7 @@ import com.plotsquared.core.uuid.CacheUUIDService;
|
||||
import com.plotsquared.core.uuid.UUIDPipeline;
|
||||
import com.plotsquared.core.uuid.offline.OfflineModeUUIDService;
|
||||
import com.sk89q.worldedit.WorldEdit;
|
||||
import com.sk89q.worldedit.bukkit.BukkitAdapter;
|
||||
import io.papermc.lib.PaperLib;
|
||||
import net.kyori.adventure.audience.Audience;
|
||||
import net.kyori.adventure.text.Component;
|
||||
@ -364,11 +366,7 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
||||
getServer().getPluginManager().registerEvents(injector().getInstance(ServerListener.class), this);
|
||||
getServer().getPluginManager().registerEvents(injector().getInstance(EntitySpawnListener.class), this);
|
||||
if (PaperLib.isPaper() && Settings.Paper_Components.PAPER_LISTENERS) {
|
||||
if (serverVersion()[1] == 13) {
|
||||
getServer().getPluginManager().registerEvents(injector().getInstance(PaperListener113.class), this);
|
||||
} else {
|
||||
getServer().getPluginManager().registerEvents(injector().getInstance(PaperListener.class), this);
|
||||
}
|
||||
} else {
|
||||
getServer().getPluginManager().registerEvents(injector().getInstance(SpigotListener.class), this);
|
||||
}
|
||||
@ -823,8 +821,7 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
||||
if (entity.hasMetadata("ps-tmp-teleport")) {
|
||||
continue;
|
||||
}
|
||||
iterator.remove();
|
||||
entity.remove();
|
||||
this.removeRoadEntity(entity, iterator);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@ -837,8 +834,7 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
||||
if (entity.hasMetadata("ps-tmp-teleport")) {
|
||||
continue;
|
||||
}
|
||||
iterator.remove();
|
||||
entity.remove();
|
||||
this.removeRoadEntity(entity, iterator);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
@ -848,7 +844,7 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
||||
case "DROPPED_ITEM":
|
||||
if (Settings.Enabled_Components.KILL_ROAD_ITEMS
|
||||
&& plotArea.getOwnedPlotAbs(BukkitUtil.adapt(entity.getLocation())) == null) {
|
||||
entity.remove();
|
||||
this.removeRoadEntity(entity, iterator);
|
||||
}
|
||||
// dropped item
|
||||
continue;
|
||||
@ -879,8 +875,7 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
||||
if (entity.hasMetadata("ps-tmp-teleport")) {
|
||||
continue;
|
||||
}
|
||||
iterator.remove();
|
||||
entity.remove();
|
||||
this.removeRoadEntity(entity, iterator);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -985,8 +980,7 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
||||
if (entity.hasMetadata("ps-tmp-teleport")) {
|
||||
continue;
|
||||
}
|
||||
iterator.remove();
|
||||
entity.remove();
|
||||
this.removeRoadEntity(entity, iterator);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -997,8 +991,7 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
||||
if (entity.hasMetadata("ps-tmp-teleport")) {
|
||||
continue;
|
||||
}
|
||||
iterator.remove();
|
||||
entity.remove();
|
||||
this.removeRoadEntity(entity, iterator);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1012,6 +1005,17 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
||||
}), TaskTime.seconds(1L));
|
||||
}
|
||||
|
||||
private void removeRoadEntity(Entity entity, Iterator<Entity> entityIterator) {
|
||||
RemoveRoadEntityEvent event = eventDispatcher.callRemoveRoadEntity(BukkitAdapter.adapt(entity));
|
||||
|
||||
if (event.getEventResult() == Result.DENY) {
|
||||
return;
|
||||
}
|
||||
|
||||
entityIterator.remove();
|
||||
entity.remove();
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable
|
||||
final ChunkGenerator getDefaultWorldGenerator(
|
||||
|
@ -24,7 +24,6 @@ import com.plotsquared.core.generator.IndependentPlotGenerator;
|
||||
import com.plotsquared.core.location.Location;
|
||||
import com.plotsquared.core.location.UncheckedWorldLocation;
|
||||
import com.plotsquared.core.plot.PlotArea;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.plot.world.SinglePlotArea;
|
||||
import com.plotsquared.core.queue.ZeroedDelegateScopedQueueCoordinator;
|
||||
import org.bukkit.generator.BlockPopulator;
|
||||
@ -47,17 +46,6 @@ final class BlockStatePopulator extends BlockPopulator {
|
||||
this.plotGenerator = plotGenerator;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use {@link BlockStatePopulator#BlockStatePopulator(IndependentPlotGenerator)} as plotAreManager is unused
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "6.9.0")
|
||||
public BlockStatePopulator(
|
||||
final @NonNull IndependentPlotGenerator plotGenerator,
|
||||
final @NonNull PlotAreaManager plotAreaManager
|
||||
) {
|
||||
this.plotGenerator = plotGenerator;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void populate(
|
||||
@NonNull final WorldInfo worldInfo,
|
||||
|
@ -185,6 +185,12 @@ public class BukkitPlotGenerator extends ChunkGenerator implements GeneratorWrap
|
||||
world.setWaterAnimalSpawnLimit(limit);
|
||||
}
|
||||
|
||||
/**
|
||||
* The entire method is deprecated, but kept for compatibility with versions lower than or equal to 1.16.2.
|
||||
* The method will be removed in future versions, because WorldEdit and FastAsyncWorldEdit only support the latest point
|
||||
* release.
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "TODO")
|
||||
@Override
|
||||
public void generateNoise(
|
||||
@NotNull final WorldInfo worldInfo,
|
||||
|
@ -55,7 +55,6 @@ import com.plotsquared.core.plot.flag.implementations.VineGrowFlag;
|
||||
import com.plotsquared.core.plot.flag.types.BlockTypeWrapper;
|
||||
import com.plotsquared.core.plot.flag.types.BooleanFlag;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.util.Permissions;
|
||||
import com.plotsquared.core.util.PlotFlagUtil;
|
||||
import com.plotsquared.core.util.task.TaskManager;
|
||||
import com.plotsquared.core.util.task.TaskTime;
|
||||
@ -100,6 +99,7 @@ import org.bukkit.event.block.BlockSpreadEvent;
|
||||
import org.bukkit.event.block.CauldronLevelChangeEvent;
|
||||
import org.bukkit.event.block.EntityBlockFormEvent;
|
||||
import org.bukkit.event.block.LeavesDecayEvent;
|
||||
import org.bukkit.event.block.MoistureChangeEvent;
|
||||
import org.bukkit.event.block.SpongeAbsorbEvent;
|
||||
import org.bukkit.event.world.StructureGrowEvent;
|
||||
import org.bukkit.projectiles.BlockProjectileSource;
|
||||
@ -290,7 +290,7 @@ public class BlockEventListener implements Listener {
|
||||
return;
|
||||
}
|
||||
if (!plot.hasOwner()) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_UNOWNED)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -310,7 +310,7 @@ public class BlockEventListener implements Listener {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -324,7 +324,7 @@ public class BlockEventListener implements Listener {
|
||||
return;
|
||||
}
|
||||
} else if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("done.building_restricted")
|
||||
);
|
||||
@ -340,7 +340,7 @@ public class BlockEventListener implements Listener {
|
||||
+ " did not fall because of disable-physics = true");
|
||||
}
|
||||
}
|
||||
} else if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_ROAD)) {
|
||||
} else if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_ROAD)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -365,8 +365,7 @@ public class BlockEventListener implements Listener {
|
||||
BukkitPlayer plotPlayer = BukkitUtil.adapt(player);
|
||||
// == rather than <= as we only care about the "ground level" not being destroyed
|
||||
if (event.getBlock().getY() == area.getMinGenHeight()) {
|
||||
if (!Permissions
|
||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_DESTROY_GROUNDLEVEL)) {
|
||||
if (!plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_GROUNDLEVEL)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -389,8 +388,7 @@ public class BlockEventListener implements Listener {
|
||||
return;
|
||||
}
|
||||
if (!plot.hasOwner()) {
|
||||
if (!Permissions
|
||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_DESTROY_UNOWNED, true)) {
|
||||
if (!plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_UNOWNED, true)) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
return;
|
||||
@ -404,8 +402,7 @@ public class BlockEventListener implements Listener {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (Permissions
|
||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_DESTROY_OTHER)) {
|
||||
if (plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_OTHER)) {
|
||||
return;
|
||||
}
|
||||
plotPlayer.sendMessage(
|
||||
@ -417,7 +414,7 @@ public class BlockEventListener implements Listener {
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
if (!plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("done.building_restricted")
|
||||
);
|
||||
@ -428,7 +425,7 @@ public class BlockEventListener implements Listener {
|
||||
return;
|
||||
}
|
||||
BukkitPlayer pp = BukkitUtil.adapt(player);
|
||||
if (Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_DESTROY_ROAD)) {
|
||||
if (pp.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_ROAD)) {
|
||||
return;
|
||||
}
|
||||
if (this.worldEdit != null && pp.getAttribute("worldedit")) {
|
||||
@ -516,18 +513,18 @@ public class BlockEventListener implements Listener {
|
||||
BukkitPlayer plotPlayer = BukkitUtil.adapt(player);
|
||||
if (plot != null) {
|
||||
if (!plot.hasOwner()) {
|
||||
if (Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_INTERACT_UNOWNED)) {
|
||||
if (plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_INTERACT_UNOWNED)) {
|
||||
return;
|
||||
}
|
||||
} else if (!plot.isAdded(plotPlayer.getUUID())) {
|
||||
if (Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_INTERACT_OTHER)) {
|
||||
if (plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_INTERACT_OTHER)) {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_INTERACT_ROAD)) {
|
||||
if (plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_INTERACT_ROAD)) {
|
||||
return;
|
||||
}
|
||||
if (this.worldEdit != null && plotPlayer.getAttribute("worldedit")) {
|
||||
@ -672,8 +669,7 @@ public class BlockEventListener implements Listener {
|
||||
}
|
||||
if (!plot.hasOwner()) {
|
||||
BukkitPlayer plotPlayer = BukkitUtil.adapt(player);
|
||||
if (Permissions
|
||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_DESTROY_UNOWNED)) {
|
||||
if (plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_UNOWNED)) {
|
||||
return;
|
||||
}
|
||||
event.setCancelled(true);
|
||||
@ -685,8 +681,7 @@ public class BlockEventListener implements Listener {
|
||||
Block block = event.getBlock();
|
||||
if (destroy
|
||||
.contains(BlockTypeWrapper.get(BukkitAdapter.asBlockType(block.getType())))
|
||||
|| Permissions
|
||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_DESTROY_OTHER)) {
|
||||
|| plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_OTHER)) {
|
||||
return;
|
||||
}
|
||||
plot.debug(player.getName() + " could not break " + block.getType()
|
||||
@ -697,7 +692,7 @@ public class BlockEventListener implements Listener {
|
||||
return;
|
||||
}
|
||||
BukkitPlayer plotPlayer = BukkitUtil.adapt(player);
|
||||
if (Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_DESTROY_ROAD)) {
|
||||
if (plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_ROAD)) {
|
||||
return;
|
||||
}
|
||||
event.setCancelled(true);
|
||||
@ -746,6 +741,28 @@ public class BlockEventListener implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onMoistureChange(MoistureChangeEvent event) {
|
||||
Block block = event.getBlock();
|
||||
Location location = BukkitUtil.adapt(block.getLocation());
|
||||
PlotArea area = location.getPlotArea();
|
||||
if (area == null) {
|
||||
return;
|
||||
}
|
||||
Plot plot = area.getOwnedPlot(location);
|
||||
if (plot == null) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
Material blockType = block.getType();
|
||||
if (blockType == Material.FARMLAND) {
|
||||
if (!plot.getFlag(SoilDryFlag.class)) {
|
||||
plot.debug("Soil could not dry because soil-dry = false");
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onChange(BlockFromToEvent event) {
|
||||
Block fromBlock = event.getBlock();
|
||||
@ -1131,8 +1148,7 @@ public class BlockEventListener implements Listener {
|
||||
return;
|
||||
}
|
||||
if (plot == null) {
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, BlockIgnitionFlag.class, true) && !Permissions.hasPermission(
|
||||
pp,
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, BlockIgnitionFlag.class, true) && !pp.hasPermission(
|
||||
Permission.PERMISSION_ADMIN_BUILD_ROAD
|
||||
)) {
|
||||
pp.sendMessage(
|
||||
@ -1145,8 +1161,7 @@ public class BlockEventListener implements Listener {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
} else if (!plot.hasOwner()) {
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, BlockIgnitionFlag.class, true) && !Permissions.hasPermission(
|
||||
pp,
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, BlockIgnitionFlag.class, true) && !pp.hasPermission(
|
||||
Permission.PERMISSION_ADMIN_BUILD_UNOWNED
|
||||
)) {
|
||||
pp.sendMessage(
|
||||
@ -1159,7 +1174,7 @@ public class BlockEventListener implements Listener {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
} else if (!plot.isAdded(pp.getUUID())) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1286,8 +1301,7 @@ public class BlockEventListener implements Listener {
|
||||
|
||||
for (final BlockState state : event.getReplacedBlockStates()) {
|
||||
Location currentLocation = BukkitUtil.adapt(state.getLocation());
|
||||
if (!Permissions.hasPermission(
|
||||
pp,
|
||||
if (!pp.hasPermission(
|
||||
Permission.PERMISSION_ADMIN_BUILD_ROAD
|
||||
) && !(Objects.equals(currentLocation.getPlot(), plot))) {
|
||||
pp.sendMessage(
|
||||
@ -1297,7 +1311,7 @@ public class BlockEventListener implements Listener {
|
||||
event.setCancelled(true);
|
||||
break;
|
||||
}
|
||||
if (Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_HEIGHT_LIMIT)) {
|
||||
if (pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_HEIGHT_LIMIT)) {
|
||||
continue;
|
||||
}
|
||||
if (currentLocation.getY() >= area.getMaxBuildHeight() || currentLocation.getY() < area.getMinBuildHeight()) {
|
||||
|
@ -37,7 +37,6 @@ import com.plotsquared.core.plot.flag.implementations.ExplosionFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.InvincibleFlag;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.util.EventDispatcher;
|
||||
import com.plotsquared.core.util.Permissions;
|
||||
import com.plotsquared.core.util.PlotFlagUtil;
|
||||
import com.sk89q.worldedit.bukkit.BukkitAdapter;
|
||||
import com.sk89q.worldedit.world.block.BlockType;
|
||||
@ -371,14 +370,13 @@ public class EntityEventListener implements Listener {
|
||||
if (shooter instanceof Player) {
|
||||
PlotPlayer<?> pp = BukkitUtil.adapt((Player) shooter);
|
||||
if (plot == null) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED)) {
|
||||
entity.remove();
|
||||
event.setCancelled(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (plot.isAdded(pp.getUUID()) || Permissions
|
||||
.hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) {
|
||||
if (plot.isAdded(pp.getUUID()) || pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) {
|
||||
return;
|
||||
}
|
||||
entity.remove();
|
||||
|
@ -25,7 +25,6 @@ import com.plotsquared.core.permissions.Permission;
|
||||
import com.plotsquared.core.player.PlotPlayer;
|
||||
import com.plotsquared.core.plot.Plot;
|
||||
import com.plotsquared.core.plot.flag.implementations.ForcefieldFlag;
|
||||
import com.plotsquared.core.util.Permissions;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
@ -109,8 +108,7 @@ public class ForceFieldListener {
|
||||
if (plot.isAdded(uuid)) {
|
||||
Set<PlotPlayer<?>> players = getNearbyPlayers(player, plot);
|
||||
for (PlotPlayer<?> oPlayer : players) {
|
||||
if (!Permissions
|
||||
.hasPermission(oPlayer, Permission.PERMISSION_ADMIN_ENTRY_FORCEFIELD)) {
|
||||
if (!oPlayer.hasPermission(Permission.PERMISSION_ADMIN_ENTRY_FORCEFIELD)) {
|
||||
((BukkitPlayer) oPlayer).player
|
||||
.setVelocity(calculateVelocity(plotPlayer, oPlayer));
|
||||
}
|
||||
@ -120,8 +118,7 @@ public class ForceFieldListener {
|
||||
if (oPlayer == null) {
|
||||
return;
|
||||
}
|
||||
if (!Permissions
|
||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_ENTRY_FORCEFIELD)) {
|
||||
if (!plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_ENTRY_FORCEFIELD)) {
|
||||
player.setVelocity(calculateVelocity(oPlayer, plotPlayer));
|
||||
}
|
||||
}
|
||||
|
@ -43,7 +43,6 @@ import com.plotsquared.core.plot.flag.implementations.DoneFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.ProjectilesFlag;
|
||||
import com.plotsquared.core.plot.flag.types.BooleanFlag;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.util.Permissions;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.tag.Tag;
|
||||
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
|
||||
@ -337,8 +336,7 @@ public class PaperListener implements Listener {
|
||||
Plot plot = location.getOwnedPlot();
|
||||
|
||||
if (plot == null) {
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, ProjectilesFlag.class, true) && !Permissions.hasPermission(
|
||||
pp,
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, ProjectilesFlag.class, true) && !pp.hasPermission(
|
||||
Permission.PERMISSION_ADMIN_PROJECTILE_ROAD
|
||||
)) {
|
||||
pp.sendMessage(
|
||||
@ -352,7 +350,7 @@ public class PaperListener implements Listener {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
} else if (!plot.hasOwner()) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -365,7 +363,7 @@ public class PaperListener implements Listener {
|
||||
}
|
||||
} else if (!plot.isAdded(pp.getUUID())) {
|
||||
if (!plot.getFlag(ProjectilesFlag.class)) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
|
@ -1,93 +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.listener;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.plotsquared.bukkit.util.BukkitUtil;
|
||||
import com.plotsquared.core.configuration.Settings;
|
||||
import com.plotsquared.core.configuration.caption.TranslatableCaption;
|
||||
import com.plotsquared.core.location.Location;
|
||||
import com.plotsquared.core.player.PlotPlayer;
|
||||
import com.plotsquared.core.plot.PlotArea;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.tag.Tag;
|
||||
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
|
||||
import org.bukkit.block.Banner;
|
||||
import org.bukkit.block.Beacon;
|
||||
import org.bukkit.block.BlockState;
|
||||
import org.bukkit.block.CommandBlock;
|
||||
import org.bukkit.block.Comparator;
|
||||
import org.bukkit.block.Conduit;
|
||||
import org.bukkit.block.Container;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.block.DaylightDetector;
|
||||
import org.bukkit.block.EnchantingTable;
|
||||
import org.bukkit.block.EndGateway;
|
||||
import org.bukkit.block.EnderChest;
|
||||
import org.bukkit.block.Jukebox;
|
||||
import org.bukkit.block.Sign;
|
||||
import org.bukkit.block.Skull;
|
||||
import org.bukkit.block.Structure;
|
||||
import org.bukkit.block.data.type.Bed;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
|
||||
/**
|
||||
* @deprecated P2 effectively no longer supports 1.13
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "6.10.4")
|
||||
public class PaperListener113 extends PaperListener {
|
||||
|
||||
@Inject
|
||||
public PaperListener113(@NonNull PlotAreaManager plotAreaManager) {
|
||||
super(plotAreaManager);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onBlockPlace(BlockPlaceEvent event) {
|
||||
if (!Settings.Paper_Components.TILE_ENTITY_CHECK || !Settings.Enabled_Components.CHUNK_PROCESSOR) {
|
||||
return;
|
||||
}
|
||||
BlockState state = event.getBlock().getState(false);
|
||||
if (!(state instanceof Banner || state instanceof Beacon || state instanceof Bed || state instanceof CommandBlock
|
||||
|| state instanceof Comparator || state instanceof Conduit || state instanceof Container || state instanceof CreatureSpawner
|
||||
|| state instanceof DaylightDetector || state instanceof EnchantingTable || state instanceof EnderChest || state instanceof EndGateway
|
||||
|| state instanceof Jukebox || state instanceof Sign || state instanceof Skull || state instanceof Structure)) {
|
||||
return;
|
||||
}
|
||||
final Location location = BukkitUtil.adapt(event.getBlock().getLocation());
|
||||
final PlotArea plotArea = location.getPlotArea();
|
||||
if (plotArea == null) {
|
||||
return;
|
||||
}
|
||||
final int tileEntityCount = event.getBlock().getChunk().getTileEntities(false).length;
|
||||
if (tileEntityCount >= Settings.Chunk_Processor.MAX_TILES) {
|
||||
final PlotPlayer<?> plotPlayer = BukkitUtil.adapt(event.getPlayer());
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("errors.tile_entity_cap_reached"),
|
||||
TagResolver.resolver("amount", Tag.inserting(Component.text(Settings.Chunk_Processor.MAX_TILES)))
|
||||
);
|
||||
event.setCancelled(true);
|
||||
event.setBuild(false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -67,7 +67,6 @@ import com.plotsquared.core.plot.flag.implementations.VillagerInteractFlag;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.util.EventDispatcher;
|
||||
import com.plotsquared.core.util.MathMan;
|
||||
import com.plotsquared.core.util.Permissions;
|
||||
import com.plotsquared.core.util.PlotFlagUtil;
|
||||
import com.plotsquared.core.util.PremiumVerification;
|
||||
import com.plotsquared.core.util.entity.EntityCategories;
|
||||
@ -276,8 +275,10 @@ public class PlayerEventListener implements Listener {
|
||||
switch (parts[0]) {
|
||||
case "up":
|
||||
case "worldedit:up":
|
||||
if (plot == null || (!plot.isAdded(plotPlayer.getUUID()) && !Permissions
|
||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_BUILD_OTHER, true))) {
|
||||
if (plot == null || (!plot.isAdded(plotPlayer.getUUID()) && !plotPlayer.hasPermission(
|
||||
Permission.PERMISSION_ADMIN_BUILD_OTHER,
|
||||
true
|
||||
))) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
@ -292,7 +293,7 @@ public class PlayerEventListener implements Listener {
|
||||
if (blockedCommands.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
if (Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_INTERACT_BLOCKED_CMDS)) {
|
||||
if (plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_INTERACT_BLOCKED_CMDS)) {
|
||||
return;
|
||||
}
|
||||
// When using namespaced commands, we're not interested in the namespace
|
||||
@ -311,7 +312,7 @@ public class PlayerEventListener implements Listener {
|
||||
} else {
|
||||
perm = "plots.admin.command.blocked-cmds.road";
|
||||
}
|
||||
if (!Permissions.hasPermission(plotPlayer, perm)) {
|
||||
if (!plotPlayer.hasPermission(perm)) {
|
||||
plotPlayer.sendMessage(TranslatableCaption.of("blockedcmds.command_blocked"));
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -608,7 +609,7 @@ public class PlayerEventListener implements Listener {
|
||||
int border = area.getBorder();
|
||||
int x1;
|
||||
if (x2 > border && this.tmpTeleport) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
to.setX(border - 1);
|
||||
this.tmpTeleport = false;
|
||||
player.teleport(event.getTo());
|
||||
@ -618,7 +619,7 @@ public class PlayerEventListener implements Listener {
|
||||
pp.sendMessage(TranslatableCaption.of("border.bypass.exited"));
|
||||
}
|
||||
} else if (x2 < -border && this.tmpTeleport) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
to.setX(-border + 1);
|
||||
this.tmpTeleport = false;
|
||||
player.teleport(event.getTo());
|
||||
@ -628,7 +629,7 @@ public class PlayerEventListener implements Listener {
|
||||
pp.sendMessage(TranslatableCaption.of("border.bypass.exited"));
|
||||
}
|
||||
} else if (((x1 = MathMan.roundInt(from.getX())) >= border && x2 <= border) || (x1 <= -border && x2 >= -border)) {
|
||||
if (Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
if (pp.hasPermission(Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
pp.sendMessage(TranslatableCaption.of("border.bypass.entered"));
|
||||
}
|
||||
}
|
||||
@ -702,7 +703,7 @@ public class PlayerEventListener implements Listener {
|
||||
int border = area.getBorder();
|
||||
int z1;
|
||||
if (z2 > border && this.tmpTeleport) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
to.setZ(border - 1);
|
||||
this.tmpTeleport = false;
|
||||
player.teleport(event.getTo());
|
||||
@ -712,7 +713,7 @@ public class PlayerEventListener implements Listener {
|
||||
pp.sendMessage(TranslatableCaption.of("border.bypass.exited"));
|
||||
}
|
||||
} else if (z2 < -border && this.tmpTeleport) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
to.setZ(-border + 1);
|
||||
this.tmpTeleport = false;
|
||||
player.teleport(event.getTo());
|
||||
@ -722,7 +723,7 @@ public class PlayerEventListener implements Listener {
|
||||
pp.sendMessage(TranslatableCaption.of("border.bypass.exited"));
|
||||
}
|
||||
} else if (((z1 = MathMan.roundInt(from.getZ())) >= border && z2 <= border) || (z1 <= -border && z2 >= -border)) {
|
||||
if (Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
if (pp.hasPermission(Permission.PERMISSION_ADMIN_BYPASS_BORDER)) {
|
||||
pp.sendMessage(TranslatableCaption.of("border.bypass.entered"));
|
||||
}
|
||||
}
|
||||
@ -749,8 +750,7 @@ public class PlayerEventListener implements Listener {
|
||||
|| area.isForcingPlotChat())) {
|
||||
return;
|
||||
}
|
||||
if (plot.isDenied(plotPlayer.getUUID()) && !Permissions
|
||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_CHAT_BYPASS)) {
|
||||
if (plot.isDenied(plotPlayer.getUUID()) && !plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_CHAT_BYPASS)) {
|
||||
return;
|
||||
}
|
||||
event.setCancelled(true);
|
||||
@ -823,7 +823,7 @@ public class PlayerEventListener implements Listener {
|
||||
plotListener.plotExit(pp, plot);
|
||||
}
|
||||
if (this.worldEdit != null) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_WORLDEDIT_BYPASS)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_WORLDEDIT_BYPASS)) {
|
||||
if (pp.getAttribute("worldedit")) {
|
||||
pp.removeAttribute("worldedit");
|
||||
}
|
||||
@ -879,8 +879,7 @@ public class PlayerEventListener implements Listener {
|
||||
final Plot plot = pp.getCurrentPlot();
|
||||
if (plot != null) {
|
||||
if (plot.getFlag(PreventCreativeCopyFlag.class) && !plot
|
||||
.isAdded(player.getUniqueId()) && !Permissions
|
||||
.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_OTHER)) {
|
||||
.isAdded(player.getUniqueId()) && !pp.hasPermission(Permission.PERMISSION_ADMIN_INTERACT_OTHER)) {
|
||||
final ItemStack newStack =
|
||||
new ItemStack(newItem.getType(), newItem.getAmount());
|
||||
event.setCursor(newStack);
|
||||
@ -942,7 +941,7 @@ public class PlayerEventListener implements Listener {
|
||||
Plot plot = area.getPlotAbs(location);
|
||||
boolean cancelled = false;
|
||||
if (plot == null) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_ROAD)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_INTERACT_ROAD)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -953,7 +952,7 @@ public class PlayerEventListener implements Listener {
|
||||
cancelled = true;
|
||||
}
|
||||
} else if (!plot.hasOwner()) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_UNOWNED)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_INTERACT_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -966,7 +965,7 @@ public class PlayerEventListener implements Listener {
|
||||
} else {
|
||||
UUID uuid = pp.getUUID();
|
||||
if (!plot.isAdded(uuid)) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_OTHER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_INTERACT_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1006,8 +1005,7 @@ public class PlayerEventListener implements Listener {
|
||||
Plot plot = location.getPlotAbs();
|
||||
BukkitPlayer pp = BukkitUtil.adapt(e.getPlayer());
|
||||
if (plot == null) {
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, MiscInteractFlag.class, true) && !Permissions.hasPermission(
|
||||
pp,
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, MiscInteractFlag.class, true) && !pp.hasPermission(
|
||||
Permission.PERMISSION_ADMIN_INTERACT_ROAD
|
||||
)) {
|
||||
pp.sendMessage(
|
||||
@ -1021,14 +1019,14 @@ public class PlayerEventListener implements Listener {
|
||||
}
|
||||
} else {
|
||||
if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
pp.sendMessage(TranslatableCaption.of("done.building_restricted"));
|
||||
e.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!plot.hasOwner()) {
|
||||
if (!Permissions.hasPermission(pp, "plots.admin.interact.unowned")) {
|
||||
if (!pp.hasPermission("plots.admin.interact.unowned")) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1046,7 +1044,7 @@ public class PlayerEventListener implements Listener {
|
||||
if (plot.getFlag(MiscInteractFlag.class)) {
|
||||
return;
|
||||
}
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_OTHER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_INTERACT_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1274,7 +1272,7 @@ public class PlayerEventListener implements Listener {
|
||||
BukkitPlayer pp = BukkitUtil.adapt(event.getPlayer());
|
||||
Plot plot = area.getPlot(location);
|
||||
if (plot == null) {
|
||||
if (Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_ROAD)) {
|
||||
if (pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_ROAD)) {
|
||||
return;
|
||||
}
|
||||
pp.sendMessage(
|
||||
@ -1283,7 +1281,7 @@ public class PlayerEventListener implements Listener {
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (!plot.hasOwner()) {
|
||||
if (Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_UNOWNED)) {
|
||||
if (pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_UNOWNED)) {
|
||||
return;
|
||||
}
|
||||
pp.sendMessage(
|
||||
@ -1295,7 +1293,7 @@ public class PlayerEventListener implements Listener {
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (!plot.isAdded(pp.getUUID())) {
|
||||
if (Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
if (pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
return;
|
||||
}
|
||||
pp.sendMessage(
|
||||
@ -1307,7 +1305,7 @@ public class PlayerEventListener implements Listener {
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("done.building_restricted")
|
||||
);
|
||||
@ -1345,7 +1343,7 @@ public class PlayerEventListener implements Listener {
|
||||
BukkitPlayer plotPlayer = BukkitUtil.adapt(player);
|
||||
Plot plot = area.getPlot(location);
|
||||
if (plot == null) {
|
||||
if (Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_BUILD_ROAD)) {
|
||||
if (plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_BUILD_ROAD)) {
|
||||
return;
|
||||
}
|
||||
plotPlayer.sendMessage(
|
||||
@ -1354,7 +1352,7 @@ public class PlayerEventListener implements Listener {
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (!plot.hasOwner()) {
|
||||
if (Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_BUILD_UNOWNED)) {
|
||||
if (plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_BUILD_UNOWNED)) {
|
||||
return;
|
||||
}
|
||||
plotPlayer.sendMessage(
|
||||
@ -1366,7 +1364,7 @@ public class PlayerEventListener implements Listener {
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (!plot.isAdded(plotPlayer.getUUID())) {
|
||||
if (Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
if (plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
return;
|
||||
}
|
||||
plotPlayer.sendMessage(
|
||||
@ -1378,7 +1376,7 @@ public class PlayerEventListener implements Listener {
|
||||
);
|
||||
event.setCancelled(true);
|
||||
} else if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
if (!plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("done.building_restricted")
|
||||
);
|
||||
@ -1403,7 +1401,7 @@ public class PlayerEventListener implements Listener {
|
||||
BukkitPlayer pp = BukkitUtil.adapt(p);
|
||||
Plot plot = area.getPlot(location);
|
||||
if (plot == null) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_ROAD)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_ROAD)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1415,7 +1413,7 @@ public class PlayerEventListener implements Listener {
|
||||
}
|
||||
} else {
|
||||
if (!plot.hasOwner()) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_UNOWNED)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1429,7 +1427,7 @@ public class PlayerEventListener implements Listener {
|
||||
}
|
||||
if (!plot.isAdded(pp.getUUID())) {
|
||||
if (!plot.getFlag(HangingPlaceFlag.class)) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1461,7 +1459,7 @@ public class PlayerEventListener implements Listener {
|
||||
BukkitPlayer pp = BukkitUtil.adapt(p);
|
||||
Plot plot = area.getPlot(location);
|
||||
if (plot == null) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_DESTROY_ROAD)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_ROAD)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1472,7 +1470,7 @@ public class PlayerEventListener implements Listener {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
} else if (!plot.hasOwner()) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_DESTROY_UNOWNED)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1486,7 +1484,7 @@ public class PlayerEventListener implements Listener {
|
||||
if (plot.getFlag(HangingBreakFlag.class)) {
|
||||
return;
|
||||
}
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_DESTROY_OTHER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1510,8 +1508,7 @@ public class PlayerEventListener implements Listener {
|
||||
Plot plot = area.getPlot(BukkitUtil.adapt(event.getEntity().getLocation()));
|
||||
if (plot != null) {
|
||||
if (!plot.hasOwner()) {
|
||||
if (!Permissions
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_DESTROY_UNOWNED)) {
|
||||
if (!player.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_UNOWNED)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1523,8 +1520,7 @@ public class PlayerEventListener implements Listener {
|
||||
}
|
||||
} else if (!plot.isAdded(player.getUUID())) {
|
||||
if (!plot.getFlag(HangingBreakFlag.class)) {
|
||||
if (!Permissions
|
||||
.hasPermission(player, Permission.PERMISSION_ADMIN_DESTROY_OTHER)) {
|
||||
if (!player.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_OTHER)) {
|
||||
player.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1559,7 +1555,7 @@ public class PlayerEventListener implements Listener {
|
||||
BukkitPlayer pp = BukkitUtil.adapt(p);
|
||||
Plot plot = area.getPlot(location);
|
||||
if (plot == null && !area.isRoadFlags()) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_ROAD)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_INTERACT_ROAD)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1570,7 +1566,7 @@ public class PlayerEventListener implements Listener {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
} else if (plot != null && !plot.hasOwner()) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_UNOWNED)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_INTERACT_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1631,7 +1627,7 @@ public class PlayerEventListener implements Listener {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_INTERACT_OTHER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_INTERACT_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1656,8 +1652,7 @@ public class PlayerEventListener implements Listener {
|
||||
BukkitPlayer pp = BukkitUtil.adapt(p);
|
||||
Plot plot = area.getPlot(location);
|
||||
if (plot == null) {
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, VehicleBreakFlag.class, true) && !Permissions.hasPermission(
|
||||
pp,
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, VehicleBreakFlag.class, true) && !pp.hasPermission(
|
||||
Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_ROAD
|
||||
)) {
|
||||
pp.sendMessage(
|
||||
@ -1671,7 +1666,7 @@ public class PlayerEventListener implements Listener {
|
||||
}
|
||||
} else {
|
||||
if (!plot.hasOwner()) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_UNOWNED)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -1688,7 +1683,7 @@ public class PlayerEventListener implements Listener {
|
||||
if (plot.getFlag(VehicleBreakFlag.class)) {
|
||||
return;
|
||||
}
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_OTHER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_DESTROY_VEHICLE_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
|
@ -30,7 +30,6 @@ import com.plotsquared.core.plot.PlotArea;
|
||||
import com.plotsquared.core.plot.PlotHandler;
|
||||
import com.plotsquared.core.plot.flag.implementations.ProjectilesFlag;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.util.Permissions;
|
||||
import net.kyori.adventure.text.minimessage.tag.Tag;
|
||||
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
|
||||
import com.plotsquared.core.util.PlotFlagUtil;
|
||||
@ -107,8 +106,7 @@ public class ProjectileEventListener implements Listener {
|
||||
Plot plot = location.getOwnedPlot();
|
||||
|
||||
if (plot == null) {
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, ProjectilesFlag.class, true) && !Permissions.hasPermission(
|
||||
pp,
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, ProjectilesFlag.class, true) && !pp.hasPermission(
|
||||
Permission.PERMISSION_ADMIN_PROJECTILE_ROAD
|
||||
)) {
|
||||
pp.sendMessage(
|
||||
@ -122,7 +120,7 @@ public class ProjectileEventListener implements Listener {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
} else if (!plot.hasOwner()) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -135,7 +133,7 @@ public class ProjectileEventListener implements Listener {
|
||||
}
|
||||
} else if (!plot.isAdded(pp.getUUID())) {
|
||||
if (!plot.getFlag(ProjectilesFlag.class)) {
|
||||
if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) {
|
||||
if (!pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) {
|
||||
pp.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -180,8 +178,7 @@ public class ProjectileEventListener implements Listener {
|
||||
|
||||
PlotPlayer<?> pp = BukkitUtil.adapt((Player) shooter);
|
||||
if (plot == null) {
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, ProjectilesFlag.class, true) && !Permissions.hasPermission(
|
||||
pp,
|
||||
if (!PlotFlagUtil.isAreaRoadFlagsAndFlagEquals(area, ProjectilesFlag.class, true) && !pp.hasPermission(
|
||||
Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED
|
||||
)) {
|
||||
entity.remove();
|
||||
@ -189,8 +186,8 @@ public class ProjectileEventListener implements Listener {
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (plot.isAdded(pp.getUUID()) || Permissions
|
||||
.hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_OTHER) || plot.getFlag(ProjectilesFlag.class)) {
|
||||
if (plot.isAdded(pp.getUUID()) || pp.hasPermission(Permission.PERMISSION_ADMIN_PROJECTILE_OTHER) || plot.getFlag(
|
||||
ProjectilesFlag.class)) {
|
||||
return;
|
||||
}
|
||||
entity.remove();
|
||||
|
@ -30,8 +30,9 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
*
|
||||
* @deprecated Deprecated and scheduled for removal without replacement
|
||||
* in favor of the build in setup wizard.
|
||||
* However, this class will be kept around for a while, given it's not a maintenance burden.
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "6.0.0")
|
||||
@Deprecated
|
||||
@Singleton
|
||||
public class MultiverseWorldManager extends BukkitWorldManager {
|
||||
|
||||
|
@ -87,4 +87,9 @@ public class BukkitOfflinePlayer implements OfflinePlotPlayer {
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(@NonNull final String permission, final boolean notify) {
|
||||
return hasPermission(permission);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -67,24 +67,15 @@ public class BukkitPlayer extends PlotPlayer<Player> {
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* <p>Please do not use this method. Instead use
|
||||
* BukkitUtil.getPlayer(Player), as it caches player objects.</p>
|
||||
*
|
||||
* @param plotAreaManager PlotAreaManager instance
|
||||
* @param eventDispatcher EventDispatcher instance
|
||||
* @param player Bukkit player instance
|
||||
* @param permissionHandler PermissionHandler instance
|
||||
*/
|
||||
public BukkitPlayer(
|
||||
final @NonNull PlotAreaManager plotAreaManager, final @NonNull EventDispatcher eventDispatcher,
|
||||
final @NonNull Player player, final @NonNull PermissionHandler permissionHandler
|
||||
) {
|
||||
this(plotAreaManager, eventDispatcher, player, false, permissionHandler);
|
||||
}
|
||||
|
||||
public BukkitPlayer(
|
||||
final @NonNull PlotAreaManager plotAreaManager, final @NonNull
|
||||
EventDispatcher eventDispatcher, final @NonNull Player player,
|
||||
BukkitPlayer(
|
||||
final @NonNull PlotAreaManager plotAreaManager,
|
||||
final @NonNull EventDispatcher eventDispatcher,
|
||||
final @NonNull Player player,
|
||||
final boolean realPlayer,
|
||||
final @NonNull PermissionHandler permissionHandler
|
||||
) {
|
||||
|
@ -70,7 +70,7 @@ public class BukkitPlayerManager extends PlayerManager<BukkitPlayer, Player> {
|
||||
if (player == null || !player.isOnline()) {
|
||||
throw new NoSuchPlayerException(uuid);
|
||||
}
|
||||
return new BukkitPlayer(this.plotAreaManager, this.eventDispatcher, player, this.permissionHandler);
|
||||
return new BukkitPlayer(this.plotAreaManager, this.eventDispatcher, player, false, this.permissionHandler);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
@ -239,9 +239,11 @@ public final class BukkitChunkCoordinator extends ChunkCoordinator {
|
||||
* server's main thread.
|
||||
*/
|
||||
private void processChunk(final @NonNull Chunk chunk) {
|
||||
/* Chunk#isLoaded does not necessarily return true shortly after PaperLib#getChunkAtAsync completes, but the chunk is
|
||||
still loaded.
|
||||
if (!chunk.isLoaded()) {
|
||||
throw new IllegalArgumentException(String.format("Chunk %d;%d is is not loaded", chunk.getX(), chunk.getZ()));
|
||||
}
|
||||
throw new IllegalArgumentException(String.format("Chunk %d;%d is is not loaded", chunk.getX(), chunk.getZ());
|
||||
}*/
|
||||
if (finished) {
|
||||
return;
|
||||
}
|
||||
|
@ -37,7 +37,6 @@ import org.bukkit.block.Sign;
|
||||
import org.bukkit.block.Skull;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.InventoryHolder;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
|
||||
@ -52,15 +51,6 @@ public class StateWrapper {
|
||||
public org.bukkit.block.BlockState state = null;
|
||||
public CompoundTag tag = null;
|
||||
|
||||
/**
|
||||
* @deprecated in favour of using WE methods for obtaining NBT, specifically by obtaining a
|
||||
* {@link com.sk89q.worldedit.world.block.BaseBlock} and then using {@link com.sk89q.worldedit.world.block.BaseBlock#getNbtData()}
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "6.9.0")
|
||||
public StateWrapper(org.bukkit.block.BlockState state) {
|
||||
this.state = state;
|
||||
}
|
||||
|
||||
public StateWrapper(CompoundTag tag) {
|
||||
this.tag = tag;
|
||||
}
|
||||
@ -254,26 +244,6 @@ public class StateWrapper {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a CompoundTag of the contents of a block's inventory (chest, furnace, etc.).
|
||||
*
|
||||
* @deprecated in favour of using WorldEdit methods for obtaining NBT, specifically by obtaining a
|
||||
* {@link com.sk89q.worldedit.world.block.BaseBlock} and then using {@link com.sk89q.worldedit.world.block.BaseBlock#getNbtData()}
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "6.9.0")
|
||||
public CompoundTag getTag() {
|
||||
if (this.tag != null) {
|
||||
return this.tag;
|
||||
}
|
||||
if (this.state instanceof InventoryHolder inv) {
|
||||
ItemStack[] contents = inv.getInventory().getContents();
|
||||
Map<String, Tag> values = new HashMap<>();
|
||||
values.put("Items", new ListTag(CompoundTag.class, serializeInventory(contents)));
|
||||
return new CompoundTag(values);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
String tileid = this.tag.getString("id").toLowerCase();
|
||||
if (tileid.startsWith("minecraft:")) {
|
||||
|
@ -40,7 +40,6 @@ import com.plotsquared.core.plot.flag.implementations.PvpFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.TamedAttackFlag;
|
||||
import com.plotsquared.core.plot.flag.implementations.VehicleCapFlag;
|
||||
import com.plotsquared.core.util.EntityUtil;
|
||||
import com.plotsquared.core.util.Permissions;
|
||||
import com.plotsquared.core.util.entity.EntityCategories;
|
||||
import com.sk89q.worldedit.bukkit.BukkitAdapter;
|
||||
import net.kyori.adventure.text.Component;
|
||||
@ -170,8 +169,7 @@ public class BukkitEntityUtil {
|
||||
if (plot != null && (plot.getFlag(HangingBreakFlag.class) || plot
|
||||
.isAdded(plotPlayer.getUUID()))) {
|
||||
if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
|
||||
if (!Permissions
|
||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
if (!plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_BUILD_OTHER)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("done.building_restricted")
|
||||
);
|
||||
@ -180,7 +178,7 @@ public class BukkitEntityUtil {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_DESTROY + "." + stub)) {
|
||||
if (!plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_DESTROY + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -195,7 +193,7 @@ public class BukkitEntityUtil {
|
||||
.isAdded(plotPlayer.getUUID()))) {
|
||||
return true;
|
||||
}
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_DESTROY + "." + stub)) {
|
||||
if (!plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_DESTROY + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -219,7 +217,7 @@ public class BukkitEntityUtil {
|
||||
.getFlag(PveFlag.class))) {
|
||||
return true;
|
||||
}
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PVE + "." + stub)) {
|
||||
if (!plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_PVE + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -243,7 +241,7 @@ public class BukkitEntityUtil {
|
||||
.getFlag(PveFlag.class))) {
|
||||
return true;
|
||||
}
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PVE + "." + stub)) {
|
||||
if (!plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_PVE + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -259,8 +257,7 @@ public class BukkitEntityUtil {
|
||||
}
|
||||
} else if (EntityCategories.PLAYER.contains(entityType)) {
|
||||
if (isPlot) {
|
||||
if (!plot.getFlag(PvpFlag.class) && !Permissions
|
||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PVP + "." + stub)) {
|
||||
if (!plot.getFlag(PvpFlag.class) && !plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_PVP + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -277,7 +274,7 @@ public class BukkitEntityUtil {
|
||||
} else if (roadFlags && area.getRoadFlag(PvpFlag.class)) {
|
||||
return true;
|
||||
}
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PVP + "." + stub)) {
|
||||
if (!plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_PVP + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -297,7 +294,7 @@ public class BukkitEntityUtil {
|
||||
.getFlag(PveFlag.class))) {
|
||||
return true;
|
||||
}
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PVE + "." + stub)) {
|
||||
if (!plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_PVE + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
@ -322,7 +319,7 @@ public class BukkitEntityUtil {
|
||||
} else if (roadFlags && area.getRoadFlag(PveFlag.class)) {
|
||||
return true;
|
||||
}
|
||||
if (!Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_PVE + "." + stub)) {
|
||||
if (!plotPlayer.hasPermission(Permission.PERMISSION_ADMIN_PVE + "." + stub)) {
|
||||
plotPlayer.sendMessage(
|
||||
TranslatableCaption.of("permission.no_permission_event"),
|
||||
TagResolver.resolver(
|
||||
|
@ -80,4 +80,3 @@ public class FaweSchematicHandler extends SchematicHandler {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user