Compare commits

..

2 Commits

34 changed files with 77 additions and 450 deletions

View File

@ -2,6 +2,7 @@ name: Announce release on discord
on:
release:
types: [published]
jobs:
send_announcement:
runs-on: ubuntu-latest
@ -11,7 +12,7 @@ jobs:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
DISCORD_USERNAME: PlotSquared Release
DISCORD_AVATAR: https://raw.githubusercontent.com/IntellectualSites/Assets/main/plugins/PlotSquared/PlotSquared.png
uses: Ilshidur/action-discord@08d9328877d6954120eef2b07abbc79249bb6210 # ratchet:Ilshidur/action-discord@0.3.2
uses: Ilshidur/action-discord@0.3.2
with:
args: |
"<@&525015541815967744> <@&679322738552471574> <@&699293353862496266>"

View File

@ -1,17 +1,19 @@
name: Build PR
on: [pull_request]
on: [ pull_request ]
jobs:
build_pr:
if: github.repository_owner == 'IntellectualSites'
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
os: [ ubuntu-latest, windows-latest, macos-latest ]
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@55e685c48d84285a5b0418cd094606e199cca3b6 # v1
uses: gradle/wrapper-validation-action@v1
- name: Setup Java
uses: actions/setup-java@v3
with:

View File

@ -1,8 +1,10 @@
name: build
on:
push:
branches:
- v6
jobs:
build:
if: github.repository_owner == 'IntellectualSites'
@ -11,7 +13,7 @@ jobs:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@55e685c48d84285a5b0418cd094606e199cca3b6 # v1
uses: gradle/wrapper-validation-action@v1
- name: Setup Java
uses: actions/setup-java@v3
with:
@ -43,7 +45,7 @@ jobs:
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }}
- name: Publish core javadoc
if: ${{ runner.os == 'Linux' && env.STATUS == 'release' && github.event_name == 'push' && github.ref == 'refs/heads/v6'}}
uses: cpina/github-action-push-to-another-repository@0a14457bb28b04dfa1652e0ffdfda866d2845c73 # main
uses: cpina/github-action-push-to-another-repository@main
env:
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
with:
@ -55,7 +57,7 @@ jobs:
target-directory: core
- name: Publish bukkit javadoc
if: ${{ runner.os == 'Linux' && env.STATUS == 'release' && github.event_name == 'push' && github.ref == 'refs/heads/v6'}}
uses: cpina/github-action-push-to-another-repository@0a14457bb28b04dfa1652e0ffdfda866d2845c73 # main
uses: cpina/github-action-push-to-another-repository@main
env:
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
with:

View File

@ -1,8 +1,10 @@
name: "CodeQL"
on:
pull_request:
# The branches below must be a subset of the branches above
branches: [v6]
branches: [ v6 ]
jobs:
analyze:
name: Analyze
@ -11,18 +13,23 @@ jobs:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: ['java']
language: [ 'java' ]
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Initialize CodeQL
uses: github/codeql-action/init@32dc499307d133bb5085bae78498c0ac2cf762d5 # v2
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
- name: Autobuild
uses: github/codeql-action/autobuild@32dc499307d133bb5085bae78498c0ac2cf762d5 # v2
uses: github/codeql-action/autobuild@v2
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@32dc499307d133bb5085bae78498c0ac2cf762d5 # v2
uses: github/codeql-action/analyze@v2

View File

@ -1,12 +1,14 @@
name: draft release
on:
push:
branches:
- v6
pull_request:
types: [opened, reopened, synchronize]
types: [ opened, reopened, synchronize ]
pull_request_target:
types: [opened, reopened, synchronize]
types: [ opened, reopened, synchronize ]
jobs:
update_release_draft:
if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}

View File

@ -71,8 +71,6 @@ 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,7 +109,6 @@ 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;
@ -813,7 +810,8 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
if (entity.hasMetadata("ps-tmp-teleport")) {
continue;
}
this.removeRoadEntity(entity, iterator);
iterator.remove();
entity.remove();
}
continue;
}
@ -826,7 +824,8 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
if (entity.hasMetadata("ps-tmp-teleport")) {
continue;
}
this.removeRoadEntity(entity, iterator);
iterator.remove();
entity.remove();
}
}
continue;
@ -836,7 +835,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) {
this.removeRoadEntity(entity, iterator);
entity.remove();
}
// dropped item
continue;
@ -867,7 +866,8 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
if (entity.hasMetadata("ps-tmp-teleport")) {
continue;
}
this.removeRoadEntity(entity, iterator);
iterator.remove();
entity.remove();
}
}
}
@ -972,7 +972,8 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
if (entity.hasMetadata("ps-tmp-teleport")) {
continue;
}
this.removeRoadEntity(entity, iterator);
iterator.remove();
entity.remove();
}
}
} else {
@ -983,7 +984,8 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
if (entity.hasMetadata("ps-tmp-teleport")) {
continue;
}
this.removeRoadEntity(entity, iterator);
iterator.remove();
entity.remove();
}
}
}
@ -997,17 +999,6 @@ 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(

View File

@ -161,12 +161,6 @@ 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 = "6.11.0")
@Override
public @NonNull ChunkData generateChunkData(
@NonNull World world, @NonNull Random random, int x, int z,

View File

@ -71,7 +71,6 @@ import org.bukkit.block.BlockFace;
import org.bukkit.block.BlockState;
import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.type.Dispenser;
import org.bukkit.block.data.type.Farmland;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Fireball;
import org.bukkit.entity.Player;
@ -99,7 +98,6 @@ 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;
@ -705,41 +703,6 @@ 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;
}
if (block.getBlockData() instanceof Farmland farmland && event.getNewState().getBlockData() instanceof Farmland newFarmland) {
int currentMoisture = farmland.getMoisture();
int newMoisture = newFarmland.getMoisture();
// farmland gets moisturizes
if (newMoisture > currentMoisture) {
return;
}
if (plot.getFlag(SoilDryFlag.class)) {
return;
}
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();

View File

@ -75,7 +75,7 @@ public class BukkitPlayer extends PlotPlayer<Player> {
* @deprecated Please do not use this method. Instead use {@link BukkitUtil#adapt(Player)}, as it caches player objects.
* This method will be made private in a future release.
*/
@Deprecated(forRemoval = true, since = "6.10.9")
@Deprecated(forRemoval = true, since = "TODO")
public BukkitPlayer(
final @NonNull PlotAreaManager plotAreaManager, final @NonNull EventDispatcher eventDispatcher,
final @NonNull Player player, final @NonNull PermissionHandler permissionHandler
@ -92,7 +92,7 @@ public class BukkitPlayer extends PlotPlayer<Player> {
* @deprecated Please do not use this method. Instead use {@link BukkitUtil#adapt(Player)}, as it caches player objects.
* This method will be made private in a future release.
*/
@Deprecated(forRemoval = true, since = "6.10.9")
@Deprecated(forRemoval = true, since = "TODO")
public BukkitPlayer(
final @NonNull PlotAreaManager plotAreaManager, final @NonNull
EventDispatcher eventDispatcher, final @NonNull Player player,

View File

@ -239,11 +239,9 @@ 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;
}

View File

@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at contact<at>intellectualsites.com. All
reported by contacting the project team at contact@intellectualsites.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.

View File

@ -56,7 +56,6 @@ import com.plotsquared.core.util.TabCompletions;
import com.plotsquared.core.util.WorldUtil;
import com.plotsquared.core.util.task.RunnableVal3;
import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.EditSessionBuilder;
import com.sk89q.worldedit.LocalSession;
import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.entity.Player;
@ -229,9 +228,10 @@ public class Area extends SubCommand {
try (final ClipboardWriter clipboardWriter = BuiltInClipboardFormat.SPONGE_SCHEMATIC.getWriter(new FileOutputStream(
file))) {
final BlockArrayClipboard clipboard = new BlockArrayClipboard(selectedRegion);
EditSessionBuilder editSessionBuilder = WorldEdit.getInstance().newEditSessionBuilder();
editSessionBuilder.world(selectedRegion.getWorld());
final EditSession editSession = editSessionBuilder.build();
final EditSession editSession = WorldEdit
.getInstance()
.getEditSessionFactory()
.getEditSession(selectedRegion.getWorld(), -1);
final ForwardExtentCopy forwardExtentCopy =
new ForwardExtentCopy(editSession, selectedRegion, clipboard, selectedRegion.getMinimumPoint());
forwardExtentCopy.setCopyingBiomes(true);

View File

@ -106,6 +106,7 @@ public class Clear extends Command {
BackupManager.backup(player, plot, () -> {
final long start = System.currentTimeMillis();
boolean result = plot.getPlotModificationManager().clear(true, false, player, () -> {
plot.getPlotModificationManager().unlink();
TaskManager.runTask(() -> {
plot.removeRunning();
// If the state changes, then mark it as no longer done

View File

@ -62,7 +62,7 @@ public class ComponentPreset implements ConfigurationSerializable {
public static ComponentPreset deserialize(final @NonNull Map<String, Object> map) {
final ClassicPlotManagerComponent classicPlotManagerComponent = ClassicPlotManagerComponent
.fromString(map.getOrDefault("component", "").toString()).orElseThrow(() ->
new IllegalArgumentException("The preset in components.yml needs a valid target component, got: " + map.get("component")));
new IllegalArgumentException("The preset needs a valid target component"));
final String pattern = map.getOrDefault("pattern", "").toString();
final double cost = Double.parseDouble(map.getOrDefault("cost", "0.0").toString());
final String permission = map.getOrDefault("permission", "").toString();

View File

@ -50,9 +50,7 @@ public class Config {
* @param root configuration class
* @param <T> value type
* @return value
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
@SuppressWarnings("unchecked")
public static <T> T get(String key, Class<?> root) {
String[] split = key.split("\\.");
@ -447,10 +445,6 @@ public class Config {
return INSTANCES.values();
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public Collection<String> getSections() {
return INSTANCES.keySet();
}

View File

@ -1,63 +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.events;
import com.sk89q.worldedit.entity.Entity;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
* @since 6.11.1
*/
public abstract class EntityEvent {
private final Entity entity;
private String name;
/**
* @since 6.11.0
*/
public EntityEvent(Entity entity) {
this.entity = entity;
}
/**
* Obtain the entity involved in the event
*
* @return Entity
* @since 6.11.0
*/
public Entity getEntity() {
return this.entity;
}
/**
* Obtain the event's class name
*
* @return the event class name
* @since 6.11.0
*/
@NonNull public String getEventName() {
if (this.name == null) {
this.name = this.getClass().getSimpleName();
}
return this.name;
}
}

View File

@ -1,50 +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.events;
import com.sk89q.worldedit.entity.Entity;
/**
* @since 6.11.0
*/
public class RemoveRoadEntityEvent extends EntityEvent implements CancellablePlotEvent {
private Result eventResult;
/**
* RemoveRoadEntityEvent: Called when an entity on road is removed.
*
* @param entity The entity to remove
* @since 6.11.0
*/
public RemoveRoadEntityEvent(Entity entity) {
super(entity);
}
@Override
public Result getEventResult() {
return this.eventResult;
}
@Override
public void setEventResult(Result eventResult) {
this.eventResult = eventResult;
}
}

View File

@ -380,10 +380,6 @@ public class HybridUtils {
run.run();
}
/**
* @deprecated Unused internally and poor implementation. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public int checkModified(QueueCoordinator queue, int x1, int x2, int y1, int y2, int z1, int z2, BlockState[] blocks) {
int count = 0;
for (int y = y1; y <= y2; y++) {

View File

@ -220,6 +220,17 @@ public final class PlotModificationManager {
if (isDelete) {
this.removeSign();
}
PlotUnlinkEvent event = PlotSquared.get().getEventDispatcher()
.callUnlink(
this.plot.getArea(),
this.plot,
true,
!isDelete,
isDelete ? PlotUnlinkEvent.REASON.DELETE : PlotUnlinkEvent.REASON.CLEAR
);
if (event.getEventResult() != Result.DENY && this.unlinkPlot(event.isCreateRoad(), event.isCreateSign())) {
PlotSquared.get().getEventDispatcher().callPostUnlink(plot, event.getReason());
}
final PlotManager manager = this.plot.getArea().getPlotManager();
Runnable run = new Runnable() {
@Override
@ -270,21 +281,7 @@ public final class PlotModificationManager {
manager.clearPlot(current, this, actor, null);
}
};
PlotUnlinkEvent event = PlotSquared.get().getEventDispatcher()
.callUnlink(
this.plot.getArea(),
this.plot,
true,
!isDelete,
isDelete ? PlotUnlinkEvent.REASON.DELETE : PlotUnlinkEvent.REASON.CLEAR
);
if (event.getEventResult() != Result.DENY) {
if (this.unlinkPlot(event.isCreateRoad(), event.isCreateSign(), run)) {
PlotSquared.get().getEventDispatcher().callPostUnlink(plot, event.getReason());
}
} else {
run.run();
}
run.run();
return true;
}
@ -324,23 +321,7 @@ public final class PlotModificationManager {
* @return success/!cancelled
*/
public boolean unlinkPlot(final boolean createRoad, final boolean createSign) {
return unlinkPlot(createRoad, createSign, null);
}
/**
* Unlink the plot and all connected plots.
*
* @param createRoad whether to recreate road
* @param createSign whether to recreate signs
* @param whenDone Task to run when unlink is complete
* @return success/!cancelled
* @since 6.10.9
*/
public boolean unlinkPlot(final boolean createRoad, final boolean createSign, final Runnable whenDone) {
if (!this.plot.isMerged()) {
if (whenDone != null) {
whenDone.run();
}
return false;
}
final Set<Plot> plots = this.plot.getConnectedPlots();
@ -385,17 +366,14 @@ public final class PlotModificationManager {
current.getPlotModificationManager().setSign(PlayerManager.resolveName(current.getOwnerAbs()).getComponent(
LocaleHolder.console()));
}
if (whenDone != null) {
TaskManager.runTask(whenDone);
}
}));
} else if (whenDone != null) {
queue.setCompleteTask(whenDone);
}
if (createRoad) {
manager.finishPlotUnlink(ids, queue);
}
queue.enqueue();
if (queue != null) {
queue.enqueue();
}
return true;
}

View File

@ -79,10 +79,6 @@ public class PlotSettings {
this.ratings = ratings;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release. Use {@link PlotSettings#setMerged(Direction, boolean)}
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public boolean setMerged(int direction, boolean merged) {
if (this.merged[direction] != merged) {
this.merged[direction] = merged;

View File

@ -221,7 +221,7 @@ public abstract class QueueCoordinator {
* @return success or not
* @deprecated Biomes now take XYZ, see {@link #setBiome(int, int, int, BiomeType)}
* <br>
* Scheduled for removal once we drop the support for versions not supporting 3D biomes, 1.18 and earlier.
* Scheduled for removal once we drop the support for versions not supporting 3D biomes.
*/
@Deprecated(forRemoval = true, since = "6.0.0")
public abstract boolean setBiome(int x, int z, @NonNull BiomeType biome);

View File

@ -114,9 +114,7 @@ public final class BlockUtil {
*
* @param commaDelimited List of block states
* @return Parsed block states
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static @NonNull BlockState[] parse(final @NonNull String commaDelimited) {
final String[] split = commaDelimited.split(",(?![^\\(\\[]*[\\]\\)])");
final BlockState[] result = new BlockState[split.length];
@ -132,9 +130,7 @@ public final class BlockUtil {
* @param map Serialized block state
* @return Deserialized block state, or {@code null} if the map is
* not a properly serialized block state
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static @Nullable BlockState deserialize(final @NonNull Map<String, Object> map) {
if (map.containsKey("material")) {
final Object object = map.get("material");

View File

@ -114,9 +114,7 @@ public class ChunkUtil {
* @param pos2 Region maximum point
* @param chunk BlockVector2 of chunk coordinates
* @return {@code true} if the region pos1-pos2 contains the chunk
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static boolean isWholeChunk(@NonNull Location pos1, @NonNull Location pos2, @NonNull BlockVector2 chunk) {
int x1 = pos1.getX();
int z1 = pos1.getZ();

View File

@ -45,7 +45,6 @@ import com.plotsquared.core.events.PlotFlagRemoveEvent;
import com.plotsquared.core.events.PlotMergeEvent;
import com.plotsquared.core.events.PlotRateEvent;
import com.plotsquared.core.events.PlotUnlinkEvent;
import com.plotsquared.core.events.RemoveRoadEntityEvent;
import com.plotsquared.core.events.TeleportCause;
import com.plotsquared.core.events.post.PostPlayerAutoPlotEvent;
import com.plotsquared.core.events.post.PostPlotChangeOwnerEvent;
@ -72,7 +71,6 @@ import com.plotsquared.core.plot.flag.types.BlockTypeWrapper;
import com.plotsquared.core.plot.world.SinglePlotArea;
import com.plotsquared.core.util.task.TaskManager;
import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.entity.Entity;
import com.sk89q.worldedit.function.pattern.Pattern;
import com.sk89q.worldedit.world.block.BlockType;
import com.sk89q.worldedit.world.block.BlockTypes;
@ -298,12 +296,6 @@ public class EventDispatcher {
return event;
}
public RemoveRoadEntityEvent callRemoveRoadEntity(Entity entity) {
RemoveRoadEntityEvent event = new RemoveRoadEntityEvent(entity);
eventBus.post(event);
return event;
}
public void doJoinTask(final PlotPlayer<?> player) {
if (player == null) {
return; //possible future warning message to figure out where we are retrieving null

View File

@ -70,67 +70,35 @@ public class MathMan {
return result;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static long pairInt(int x, int y) {
return (((long) x) << 32) | (y & 0xffffffffL);
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static int unpairIntX(long pair) {
return (int) (pair >> 32);
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static int unpairIntY(long pair) {
return (int) pair;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static byte pair16(byte x, byte y) {
return (byte) (x + (y << 4));
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static byte unpair16x(byte value) {
return (byte) (value & 0xF);
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static byte unpair16y(byte value) {
return (byte) ((value >> 4) & 0xF);
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static long inverseRound(double val) {
long round = Math.round(val);
return (long) (round + Math.signum(val - round));
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static int sqrt(int x) {
int xn;
@ -207,10 +175,6 @@ public class MathMan {
return count / array.length;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static double getMean(double[] array) {
double count = 0;
for (double i : array) {
@ -227,19 +191,10 @@ public class MathMan {
return (a & b) + (a ^ b) / 2;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static short unpairX(int hash) {
return (short) (hash >> 16);
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static short unpairY(int hash) {
return (short) (hash & 0xFFFF);
}
@ -250,19 +205,13 @@ public class MathMan {
* @param yaw yaw
* @param pitch pitch
* @return x, y, z unit vector
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static float[] getDirection(float yaw, float pitch) {
double pitch_sin = Math.sin(pitch);
return new float[]{(float) (pitch_sin * Math.cos(yaw)),
(float) (pitch_sin * Math.sin(yaw)), (float) Math.cos(pitch)};
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static int floorMod(int x, int y) {
int i = x % y;
if (i < 0) {
@ -282,18 +231,12 @@ public class MathMan {
* @param y y
* @param z z
* @return pitch and yaw of x,y,z from 0,0,0
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static float[] getPitchAndYaw(float x, float y, float z) {
float distance = sqrtApprox((z * z) + (x * x));
return new float[]{atan2(y, distance), atan2(x, z)};
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static final float atan2(float y, float x) {
float add;
float mul;
@ -329,28 +272,15 @@ public class MathMan {
return (atan2[(yi * ATAN2_DIM) + xi] + add) * mul;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static float sqrtApprox(float f) {
return f * Float.intBitsToFloat(0x5f375a86 - (Float.floatToIntBits(f) >> 1));
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static double sqrtApprox(double d) {
return Double
.longBitsToDouble(((Double.doubleToLongBits(d) - (1L << 52)) >> 1) + (1L << 61));
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static float invSqrt(float x) {
float xhalf = 0.5f * x;
int i = Float.floatToIntBits(x);
@ -391,10 +321,6 @@ public class MathMan {
return true;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static double getSD(double[] array, double av) {
double sd = 0;
for (double element : array) {
@ -411,10 +337,6 @@ public class MathMan {
return Math.sqrt(sd / array.length);
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static int mod(int x, int y) {
if (isPowerOfTwo(y)) {
return x & (y - 1);
@ -422,10 +344,6 @@ public class MathMan {
return x % y;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static int unsignedmod(int x, int y) {
if (isPowerOfTwo(y)) {
return x & (y - 1);
@ -433,10 +351,6 @@ public class MathMan {
return x % y;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static boolean isPowerOfTwo(int number) {
return (number & (number - 1)) == 0;
}

View File

@ -95,10 +95,6 @@ public class RegionUtil {
.getY() && y <= max.getY();
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static @NonNull Rectangle2D toRectangle(final @NonNull CuboidRegion region) {
final BlockVector2 min = region.getMinimumPoint().toBlockVector2();
final BlockVector2 max = region.getMaximumPoint().toBlockVector2();

View File

@ -491,10 +491,6 @@ public abstract class SchematicHandler {
return null;
}
/**
* The legacy web interface is deprecated for removal in favor of Arkitektonika.
*/
@Deprecated(forRemoval = true, since = "6.11.0")
public List<String> getSaves(UUID uuid) {
String rawJSON;
try {

View File

@ -39,10 +39,6 @@ public class StringMan {
// Stolen from https://stackoverflow.com/a/366532/12620913 | Debug: https://regex101.com/r/DudJLb/1
private static final Pattern STRING_SPLIT_PATTERN = Pattern.compile("[^\\s\"]+|\"([^\"]*)\"");
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static String replaceFromMap(String string, Map<String, String> replacements) {
StringBuilder sb = new StringBuilder(string);
int size = string.length();
@ -74,10 +70,6 @@ public class StringMan {
return count;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static String getString(Object obj) {
if (obj == null) {
return "null";
@ -110,10 +102,6 @@ public class StringMan {
}
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static String replaceFirst(char c, String s) {
if (s == null) {
return "";
@ -140,10 +128,6 @@ public class StringMan {
return s;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static String replaceAll(String string, Object... pairs) {
StringBuilder sb = new StringBuilder(string);
for (int i = 0; i < pairs.length; i += 2) {
@ -160,10 +144,6 @@ public class StringMan {
return sb.toString();
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static boolean isAlphanumeric(String str) {
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
@ -185,10 +165,6 @@ public class StringMan {
return true;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static boolean isAlpha(String str) {
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
@ -209,26 +185,14 @@ public class StringMan {
return join(array, delimiter);
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static String join(Collection<?> collection, char delimiter) {
return join(collection.toArray(), delimiter + "");
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static boolean isAsciiPrintable(char c) {
return (c >= ' ') && (c < '');
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static boolean isAsciiPrintable(String s) {
for (char c : s.toCharArray()) {
if (!isAsciiPrintable(c)) {
@ -285,10 +249,6 @@ public class StringMan {
return result.toString();
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static String join(int[] array, String delimiter) {
Integer[] wrapped = new Integer[array.length];
for (int i = 0; i < array.length; i++) {
@ -297,10 +257,6 @@ public class StringMan {
return join(wrapped, delimiter);
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static boolean isEqualToAny(String a, String... args) {
for (String arg : args) {
if (StringMan.isEqual(a, arg)) {
@ -328,10 +284,6 @@ public class StringMan {
return a.equals(b);
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static boolean isEqualIgnoreCase(String a, String b) {
return a.equals(b) || ((a != null) && (b != null) && (a.length() == b.length()) && a
.equalsIgnoreCase(b));
@ -343,10 +295,6 @@ public class StringMan {
return sb.toString();
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static boolean contains(String name, char c) {
for (char current : name.toCharArray()) {
if (c == current) {
@ -356,10 +304,6 @@ public class StringMan {
return false;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public <T> Collection<T> match(Collection<T> col, String startsWith) {
if (col == null) {
return null;

View File

@ -58,10 +58,6 @@ public class WEManager {
return false;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static boolean maskContains(Set<CuboidRegion> mask, double dx, double dy, double dz) {
int x = Math.toIntExact(Math.round(dx >= 0 ? dx - 0.5 : dx + 0.5));
int y = Math.toIntExact(Math.round(dy - 0.5));
@ -74,10 +70,6 @@ public class WEManager {
return false;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static boolean maskContains(Set<CuboidRegion> mask, double dx, double dz) {
int x = Math.toIntExact(Math.round(dx >= 0 ? dx - 0.5 : dx + 0.5));
int z = Math.toIntExact(Math.round(dz >= 0 ? dz - 0.5 : dz + 0.5));
@ -124,18 +116,10 @@ public class WEManager {
return regions;
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static boolean intersects(CuboidRegion region1, CuboidRegion region2) {
return RegionUtil.intersects(region1, region2);
}
/**
* @deprecated Unused internally. Scheduled for removal in next major release.
*/
@Deprecated(forRemoval = true, since = "6.11.1")
public static boolean regionContains(CuboidRegion selection, HashSet<CuboidRegion> mask) {
for (CuboidRegion region : mask) {
if (intersects(region, selection)) {

View File

@ -252,10 +252,6 @@ public abstract class WorldUtil {
*/
public abstract void refreshChunk(int x, int z, String world);
/**
* The legacy web interface is deprecated for removal in favor of Arkitektonika.
*/
@Deprecated(forRemoval = true, since = "6.11.0")
public void upload(
final @NonNull Plot plot,
final @Nullable UUID uuid,

View File

@ -18,7 +18,7 @@ plugins {
}
group = "com.plotsquared"
version = "6.11.2-SNAPSHOT"
version = "6.10.9-SNAPSHOT"
if (!File("$rootDir/.git").exists()) {
logger.lifecycle("""
@ -74,7 +74,7 @@ subprojects {
}
dependencies {
implementation(platform("com.intellectualsites.bom:bom-1.18.x:1.24"))
implementation(platform("com.intellectualsites.bom:bom-1.18.x:1.22"))
}
dependencies {
@ -155,7 +155,7 @@ subprojects {
id.set("NotMyFault")
name.set("Alexander Brandes")
organization.set("IntellectualSites")
email.set("contact(at)notmyfault.dev")
email.set("contact@notmyfault.dev")
}
developer {
id.set("SirYwell")

View File

@ -11,18 +11,18 @@ essentialsx = "2.19.7"
mvdwapi = "3.1.1"
# Third party
prtree = "2.0.1"
prtree = "2.0.0"
aopalliance = "1.0"
cloud-services = "1.8.2"
arkitektonika = "2.1.2"
cloud-services = "1.8.0"
arkitektonika = "2.1.1"
squirrelid = "0.3.1"
http4j = "1.3"
# Gradle plugins
shadow = "7.1.2"
grgit = "4.1.1"
spotless = "6.16.0"
nexus = "1.2.0"
spotless = "6.13.0"
nexus = "1.1.0"
[libraries]
# Platform expectations

View File

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@ -4,7 +4,6 @@
"config:base",
":semanticCommitsDisabled"
],
"labels": ["dependencies"],
"rebaseWhen": "conflicted",
"schedule": ["on the first day of the week"]
"labels": ["Renovate"],
"rebaseWhen": "conflicted"
}