Compare commits

..

3 Commits

Author SHA1 Message Date
626b5fc866 Update build.yml 2023-01-15 20:29:33 +01:00
f0b4d9b103 Build on macos only 2023-01-15 18:54:50 +01:00
2c8331e82e Debug shadowJar 2023-01-15 18:40:05 +01:00
36 changed files with 84 additions and 513 deletions

View File

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

View File

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

View File

@ -1,67 +1,23 @@
name: build name: build
on: on:
push: push:
branches: branches:
- v6 - shadow-debug
jobs: jobs:
build: build:
if: github.repository_owner == 'IntellectualSites' if: github.repository_owner == 'IntellectualSites'
runs-on: ubuntu-latest runs-on: macos-latest
steps: steps:
- name: Checkout Repository - name: Checkout Repository
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Validate Gradle Wrapper - name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@55e685c48d84285a5b0418cd094606e199cca3b6 # v1 uses: gradle/wrapper-validation-action@v1
- name: Setup Java - name: Setup Java
uses: actions/setup-java@v3 uses: actions/setup-java@v3
with: with:
distribution: temurin distribution: temurin
java-version: 17 java-version: 17
- name: Clean Build - name: Build on macos-latest
run: ./gradlew clean build run: ./gradlew clean build --warning-mode all
- name: Determine release status
if: ${{ runner.os == 'Linux' }}
run: |
if [ "$(./gradlew properties | awk '/^version:/ { print $2; }' | grep '\-SNAPSHOT')" ]; then
echo "STATUS=snapshot" >> $GITHUB_ENV
else
echo "STATUS=release" >> $GITHUB_ENV
fi
- name: Publish Release
if: ${{ runner.os == 'Linux' && env.STATUS == 'release' && github.event_name == 'push' && github.ref == 'refs/heads/v6'}}
run: ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
env:
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }}
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}
- name: Publish Snapshot
if: ${{ runner.os == 'Linux' && env.STATUS != 'release' && github.event_name == 'push' && github.ref == 'refs/heads/v6' }}
run: ./gradlew publishToSonatype
env:
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }}
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
env:
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
with:
source-directory: 'Core/build/docs/javadoc'
destination-github-username: 'IntellectualSites'
destination-repository-name: 'plotsquared-javadocs'
user-email: ${{ secrets.USER_EMAIL }}
target-branch: main
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
env:
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
with:
source-directory: 'Bukkit/build/docs/javadoc'
destination-github-username: 'IntellectualSites'
destination-repository-name: 'plotsquared-javadocs'
user-email: ${{ secrets.USER_EMAIL }}
target-branch: main
target-directory: bukkit

View File

@ -1,8 +1,10 @@
name: "CodeQL" name: "CodeQL"
on: on:
pull_request: pull_request:
# The branches below must be a subset of the branches above # The branches below must be a subset of the branches above
branches: [v6] branches: [ v6 ]
jobs: jobs:
analyze: analyze:
name: Analyze name: Analyze
@ -11,18 +13,23 @@ jobs:
actions: read actions: read
contents: read contents: read
security-events: write security-events: write
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
language: ['java'] language: [ 'java' ]
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@32dc499307d133bb5085bae78498c0ac2cf762d5 # v2 uses: github/codeql-action/init@v2
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
- name: Autobuild - name: Autobuild
uses: github/codeql-action/autobuild@32dc499307d133bb5085bae78498c0ac2cf762d5 # v2 uses: github/codeql-action/autobuild@v2
- name: Perform CodeQL Analysis - 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 name: draft release
on: on:
push: push:
branches: branches:
- v6 - v6
pull_request: pull_request:
types: [opened, reopened, synchronize] types: [ opened, reopened, synchronize ]
pull_request_target: pull_request_target:
types: [opened, reopened, synchronize] types: [ opened, reopened, synchronize ]
jobs: jobs:
update_release_draft: update_release_draft:
if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }} 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.caption.ChatFormatter;
import com.plotsquared.core.configuration.file.YamlConfiguration; import com.plotsquared.core.configuration.file.YamlConfiguration;
import com.plotsquared.core.database.DBFunc; 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.GeneratorWrapper;
import com.plotsquared.core.generator.IndependentPlotGenerator; import com.plotsquared.core.generator.IndependentPlotGenerator;
import com.plotsquared.core.generator.SingleWorldGenerator; 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.UUIDPipeline;
import com.plotsquared.core.uuid.offline.OfflineModeUUIDService; import com.plotsquared.core.uuid.offline.OfflineModeUUIDService;
import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import io.papermc.lib.PaperLib; import io.papermc.lib.PaperLib;
import net.kyori.adventure.audience.Audience; import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.text.Component; 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")) { if (entity.hasMetadata("ps-tmp-teleport")) {
continue; continue;
} }
this.removeRoadEntity(entity, iterator); iterator.remove();
entity.remove();
} }
continue; continue;
} }
@ -826,7 +824,8 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
if (entity.hasMetadata("ps-tmp-teleport")) { if (entity.hasMetadata("ps-tmp-teleport")) {
continue; continue;
} }
this.removeRoadEntity(entity, iterator); iterator.remove();
entity.remove();
} }
} }
continue; continue;
@ -836,7 +835,7 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
case "DROPPED_ITEM": case "DROPPED_ITEM":
if (Settings.Enabled_Components.KILL_ROAD_ITEMS if (Settings.Enabled_Components.KILL_ROAD_ITEMS
&& plotArea.getOwnedPlotAbs(BukkitUtil.adapt(entity.getLocation())) == null) { && plotArea.getOwnedPlotAbs(BukkitUtil.adapt(entity.getLocation())) == null) {
this.removeRoadEntity(entity, iterator); entity.remove();
} }
// dropped item // dropped item
continue; continue;
@ -867,7 +866,8 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
if (entity.hasMetadata("ps-tmp-teleport")) { if (entity.hasMetadata("ps-tmp-teleport")) {
continue; 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")) { if (entity.hasMetadata("ps-tmp-teleport")) {
continue; continue;
} }
this.removeRoadEntity(entity, iterator); iterator.remove();
entity.remove();
} }
} }
} else { } else {
@ -983,7 +984,8 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
if (entity.hasMetadata("ps-tmp-teleport")) { if (entity.hasMetadata("ps-tmp-teleport")) {
continue; 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)); }), 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 @Override
public @Nullable public @Nullable
final ChunkGenerator getDefaultWorldGenerator( final ChunkGenerator getDefaultWorldGenerator(

View File

@ -161,12 +161,6 @@ public class BukkitPlotGenerator extends ChunkGenerator implements GeneratorWrap
world.setWaterAnimalSpawnLimit(limit); 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 @Override
public @NonNull ChunkData generateChunkData( public @NonNull ChunkData generateChunkData(
@NonNull World world, @NonNull Random random, int x, int z, @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.BlockState;
import org.bukkit.block.data.BlockData; import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.type.Dispenser; import org.bukkit.block.data.type.Dispenser;
import org.bukkit.block.data.type.Farmland;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.Fireball; import org.bukkit.entity.Fireball;
import org.bukkit.entity.Player; 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.CauldronLevelChangeEvent;
import org.bukkit.event.block.EntityBlockFormEvent; import org.bukkit.event.block.EntityBlockFormEvent;
import org.bukkit.event.block.LeavesDecayEvent; import org.bukkit.event.block.LeavesDecayEvent;
import org.bukkit.event.block.MoistureChangeEvent;
import org.bukkit.event.block.SpongeAbsorbEvent; import org.bukkit.event.block.SpongeAbsorbEvent;
import org.bukkit.event.world.StructureGrowEvent; import org.bukkit.event.world.StructureGrowEvent;
import org.bukkit.projectiles.BlockProjectileSource; 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) @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onChange(BlockFromToEvent event) { public void onChange(BlockFromToEvent event) {
Block fromBlock = event.getBlock(); 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. * @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. * This method will be made private in a future release.
*/ */
@Deprecated(forRemoval = true, since = "6.10.9") @Deprecated(forRemoval = true, since = "TODO")
public BukkitPlayer( public BukkitPlayer(
final @NonNull PlotAreaManager plotAreaManager, final @NonNull EventDispatcher eventDispatcher, final @NonNull PlotAreaManager plotAreaManager, final @NonNull EventDispatcher eventDispatcher,
final @NonNull Player player, final @NonNull PermissionHandler permissionHandler 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. * @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. * This method will be made private in a future release.
*/ */
@Deprecated(forRemoval = true, since = "6.10.9") @Deprecated(forRemoval = true, since = "TODO")
public BukkitPlayer( public BukkitPlayer(
final @NonNull PlotAreaManager plotAreaManager, final @NonNull final @NonNull PlotAreaManager plotAreaManager, final @NonNull
EventDispatcher eventDispatcher, final @NonNull Player player, EventDispatcher eventDispatcher, final @NonNull Player player,

View File

@ -239,11 +239,9 @@ public final class BukkitChunkCoordinator extends ChunkCoordinator {
* server's main thread. * server's main thread.
*/ */
private void processChunk(final @NonNull Chunk chunk) { 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()) { 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) { if (finished) {
return; return;
} }

View File

@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
## Enforcement ## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be 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 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 is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident. 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.WorldUtil;
import com.plotsquared.core.util.task.RunnableVal3; import com.plotsquared.core.util.task.RunnableVal3;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.EditSessionBuilder;
import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.LocalSession;
import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.entity.Player; 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( try (final ClipboardWriter clipboardWriter = BuiltInClipboardFormat.SPONGE_SCHEMATIC.getWriter(new FileOutputStream(
file))) { file))) {
final BlockArrayClipboard clipboard = new BlockArrayClipboard(selectedRegion); final BlockArrayClipboard clipboard = new BlockArrayClipboard(selectedRegion);
EditSessionBuilder editSessionBuilder = WorldEdit.getInstance().newEditSessionBuilder(); final EditSession editSession = WorldEdit
editSessionBuilder.world(selectedRegion.getWorld()); .getInstance()
final EditSession editSession = editSessionBuilder.build(); .getEditSessionFactory()
.getEditSession(selectedRegion.getWorld(), -1);
final ForwardExtentCopy forwardExtentCopy = final ForwardExtentCopy forwardExtentCopy =
new ForwardExtentCopy(editSession, selectedRegion, clipboard, selectedRegion.getMinimumPoint()); new ForwardExtentCopy(editSession, selectedRegion, clipboard, selectedRegion.getMinimumPoint());
forwardExtentCopy.setCopyingBiomes(true); forwardExtentCopy.setCopyingBiomes(true);

View File

@ -106,6 +106,7 @@ public class Clear extends Command {
BackupManager.backup(player, plot, () -> { BackupManager.backup(player, plot, () -> {
final long start = System.currentTimeMillis(); final long start = System.currentTimeMillis();
boolean result = plot.getPlotModificationManager().clear(true, false, player, () -> { boolean result = plot.getPlotModificationManager().clear(true, false, player, () -> {
plot.getPlotModificationManager().unlink();
TaskManager.runTask(() -> { TaskManager.runTask(() -> {
plot.removeRunning(); plot.removeRunning();
// If the state changes, then mark it as no longer done // 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) { public static ComponentPreset deserialize(final @NonNull Map<String, Object> map) {
final ClassicPlotManagerComponent classicPlotManagerComponent = ClassicPlotManagerComponent final ClassicPlotManagerComponent classicPlotManagerComponent = ClassicPlotManagerComponent
.fromString(map.getOrDefault("component", "").toString()).orElseThrow(() -> .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 String pattern = map.getOrDefault("pattern", "").toString();
final double cost = Double.parseDouble(map.getOrDefault("cost", "0.0").toString()); final double cost = Double.parseDouble(map.getOrDefault("cost", "0.0").toString());
final String permission = map.getOrDefault("permission", "").toString(); final String permission = map.getOrDefault("permission", "").toString();

View File

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

@ -144,7 +144,7 @@ public class ClassicPlotManager extends SquarePlotManager {
plot.getRegions(), plot.getRegions(),
blocks, blocks,
classicPlotWorld.getMinBuildHeight(), classicPlotWorld.getMinBuildHeight(),
classicPlotWorld.getMaxBuildHeight() - 1, classicPlotWorld.getMaxBuildHeight(),
actor, actor,
queue queue
); );
@ -175,7 +175,7 @@ public class ClassicPlotManager extends SquarePlotManager {
plot.getRegions(), plot.getRegions(),
blocks, blocks,
classicPlotWorld.PLOT_HEIGHT + 1, classicPlotWorld.PLOT_HEIGHT + 1,
classicPlotWorld.getMaxBuildHeight() - 1, classicPlotWorld.getMaxBuildHeight(),
actor, actor,
queue queue
); );
@ -281,7 +281,7 @@ public class ClassicPlotManager extends SquarePlotManager {
} }
} }
int maxY = classicPlotWorld.getMaxBuildHeight() - 1; int maxY = classicPlotWorld.getMaxBuildHeight();
if (!plot.isMerged(Direction.NORTH)) { if (!plot.isMerged(Direction.NORTH)) {
int z = bottom.getZ(); int z = bottom.getZ();
for (int x = bottom.getX(); x <= top.getX(); x++) { for (int x = bottom.getX(); x <= top.getX(); x++) {

View File

@ -380,10 +380,6 @@ public class HybridUtils {
run.run(); 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) { public int checkModified(QueueCoordinator queue, int x1, int x2, int y1, int y2, int z1, int z2, BlockState[] blocks) {
int count = 0; int count = 0;
for (int y = y1; y <= y2; y++) { for (int y = y1; y <= y2; y++) {

View File

@ -2506,7 +2506,7 @@ public class Plot {
} }
} }
int minHeight = getArea().getMinBuildHeight(); int minHeight = getArea().getMinBuildHeight();
int maxHeight = getArea().getMaxBuildHeight() - 1; int maxHeight = getArea().getMaxBuildHeight();
Location gtopabs = this.area.getPlotAbs(top).getTopAbs(); Location gtopabs = this.area.getPlotAbs(top).getTopAbs();
Location gbotabs = this.area.getPlotAbs(bot).getBottomAbs(); Location gbotabs = this.area.getPlotAbs(bot).getBottomAbs();
visited.addAll(Lists.newArrayList((Iterable<? extends PlotId>) PlotId.PlotRangeIterator.range(bot, top))); visited.addAll(Lists.newArrayList((Iterable<? extends PlotId>) PlotId.PlotRangeIterator.range(bot, top)));

View File

@ -220,6 +220,17 @@ public final class PlotModificationManager {
if (isDelete) { if (isDelete) {
this.removeSign(); 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(); final PlotManager manager = this.plot.getArea().getPlotManager();
Runnable run = new Runnable() { Runnable run = new Runnable() {
@Override @Override
@ -270,21 +281,7 @@ public final class PlotModificationManager {
manager.clearPlot(current, this, actor, null); manager.clearPlot(current, this, actor, null);
} }
}; };
PlotUnlinkEvent event = PlotSquared.get().getEventDispatcher() run.run();
.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();
}
return true; return true;
} }
@ -324,23 +321,7 @@ public final class PlotModificationManager {
* @return success/!cancelled * @return success/!cancelled
*/ */
public boolean unlinkPlot(final boolean createRoad, final boolean createSign) { 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 (!this.plot.isMerged()) {
if (whenDone != null) {
whenDone.run();
}
return false; return false;
} }
final Set<Plot> plots = this.plot.getConnectedPlots(); final Set<Plot> plots = this.plot.getConnectedPlots();
@ -385,17 +366,14 @@ public final class PlotModificationManager {
current.getPlotModificationManager().setSign(PlayerManager.resolveName(current.getOwnerAbs()).getComponent( current.getPlotModificationManager().setSign(PlayerManager.resolveName(current.getOwnerAbs()).getComponent(
LocaleHolder.console())); LocaleHolder.console()));
} }
if (whenDone != null) {
TaskManager.runTask(whenDone);
}
})); }));
} else if (whenDone != null) {
queue.setCompleteTask(whenDone);
} }
if (createRoad) { if (createRoad) {
manager.finishPlotUnlink(ids, queue); manager.finishPlotUnlink(ids, queue);
} }
queue.enqueue(); if (queue != null) {
queue.enqueue();
}
return true; return true;
} }

View File

@ -79,10 +79,6 @@ public class PlotSettings {
this.ratings = ratings; 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) { public boolean setMerged(int direction, boolean merged) {
if (this.merged[direction] != merged) { if (this.merged[direction] != merged) {
this.merged[direction] = merged; this.merged[direction] = merged;

View File

@ -221,7 +221,7 @@ public abstract class QueueCoordinator {
* @return success or not * @return success or not
* @deprecated Biomes now take XYZ, see {@link #setBiome(int, int, int, BiomeType)} * @deprecated Biomes now take XYZ, see {@link #setBiome(int, int, int, BiomeType)}
* <br> * <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") @Deprecated(forRemoval = true, since = "6.0.0")
public abstract boolean setBiome(int x, int z, @NonNull BiomeType biome); 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 * @param commaDelimited List of block states
* @return Parsed 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) { public static @NonNull BlockState[] parse(final @NonNull String commaDelimited) {
final String[] split = commaDelimited.split(",(?![^\\(\\[]*[\\]\\)])"); final String[] split = commaDelimited.split(",(?![^\\(\\[]*[\\]\\)])");
final BlockState[] result = new BlockState[split.length]; final BlockState[] result = new BlockState[split.length];
@ -132,9 +130,7 @@ public final class BlockUtil {
* @param map Serialized block state * @param map Serialized block state
* @return Deserialized block state, or {@code null} if the map is * @return Deserialized block state, or {@code null} if the map is
* not a properly serialized block state * 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) { public static @Nullable BlockState deserialize(final @NonNull Map<String, Object> map) {
if (map.containsKey("material")) { if (map.containsKey("material")) {
final Object object = map.get("material"); final Object object = map.get("material");

View File

@ -114,9 +114,7 @@ public class ChunkUtil {
* @param pos2 Region maximum point * @param pos2 Region maximum point
* @param chunk BlockVector2 of chunk coordinates * @param chunk BlockVector2 of chunk coordinates
* @return {@code true} if the region pos1-pos2 contains the chunk * @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) { public static boolean isWholeChunk(@NonNull Location pos1, @NonNull Location pos2, @NonNull BlockVector2 chunk) {
int x1 = pos1.getX(); int x1 = pos1.getX();
int z1 = pos1.getZ(); 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.PlotMergeEvent;
import com.plotsquared.core.events.PlotRateEvent; import com.plotsquared.core.events.PlotRateEvent;
import com.plotsquared.core.events.PlotUnlinkEvent; import com.plotsquared.core.events.PlotUnlinkEvent;
import com.plotsquared.core.events.RemoveRoadEntityEvent;
import com.plotsquared.core.events.TeleportCause; import com.plotsquared.core.events.TeleportCause;
import com.plotsquared.core.events.post.PostPlayerAutoPlotEvent; import com.plotsquared.core.events.post.PostPlayerAutoPlotEvent;
import com.plotsquared.core.events.post.PostPlotChangeOwnerEvent; 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.plot.world.SinglePlotArea;
import com.plotsquared.core.util.task.TaskManager; import com.plotsquared.core.util.task.TaskManager;
import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.entity.Entity;
import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.function.pattern.Pattern;
import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockType;
import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.world.block.BlockTypes;
@ -298,12 +296,6 @@ public class EventDispatcher {
return event; return event;
} }
public RemoveRoadEntityEvent callRemoveRoadEntity(Entity entity) {
RemoveRoadEntityEvent event = new RemoveRoadEntityEvent(entity);
eventBus.post(event);
return event;
}
public void doJoinTask(final PlotPlayer<?> player) { public void doJoinTask(final PlotPlayer<?> player) {
if (player == null) { if (player == null) {
return; //possible future warning message to figure out where we are retrieving 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; 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) { public static long pairInt(int x, int y) {
return (((long) x) << 32) | (y & 0xffffffffL); 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) { public static int unpairIntX(long pair) {
return (int) (pair >> 32); 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) { public static int unpairIntY(long pair) {
return (int) 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) { public static byte pair16(byte x, byte y) {
return (byte) (x + (y << 4)); 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) { public static byte unpair16x(byte value) {
return (byte) (value & 0xF); 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) { public static byte unpair16y(byte value) {
return (byte) ((value >> 4) & 0xF); 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) { public static long inverseRound(double val) {
long round = Math.round(val); long round = Math.round(val);
return (long) (round + Math.signum(val - round)); 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) { public static int sqrt(int x) {
int xn; int xn;
@ -207,10 +175,6 @@ public class MathMan {
return count / array.length; 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) { public static double getMean(double[] array) {
double count = 0; double count = 0;
for (double i : array) { for (double i : array) {
@ -227,19 +191,10 @@ public class MathMan {
return (a & b) + (a ^ b) / 2; 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) { public static short unpairX(int hash) {
return (short) (hash >> 16); 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) { public static short unpairY(int hash) {
return (short) (hash & 0xFFFF); return (short) (hash & 0xFFFF);
} }
@ -250,19 +205,13 @@ public class MathMan {
* @param yaw yaw * @param yaw yaw
* @param pitch pitch * @param pitch pitch
* @return x, y, z unit vector * @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) { public static float[] getDirection(float yaw, float pitch) {
double pitch_sin = Math.sin(pitch); double pitch_sin = Math.sin(pitch);
return new float[]{(float) (pitch_sin * Math.cos(yaw)), return new float[]{(float) (pitch_sin * Math.cos(yaw)),
(float) (pitch_sin * Math.sin(yaw)), (float) Math.cos(pitch)}; (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) { public static int floorMod(int x, int y) {
int i = x % y; int i = x % y;
if (i < 0) { if (i < 0) {
@ -282,18 +231,12 @@ public class MathMan {
* @param y y * @param y y
* @param z z * @param z z
* @return pitch and yaw of x,y,z from 0,0,0 * @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) { public static float[] getPitchAndYaw(float x, float y, float z) {
float distance = sqrtApprox((z * z) + (x * x)); float distance = sqrtApprox((z * z) + (x * x));
return new float[]{atan2(y, distance), atan2(x, z)}; 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) { public static final float atan2(float y, float x) {
float add; float add;
float mul; float mul;
@ -329,28 +272,15 @@ public class MathMan {
return (atan2[(yi * ATAN2_DIM) + xi] + add) * mul; 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) { public static float sqrtApprox(float f) {
return f * Float.intBitsToFloat(0x5f375a86 - (Float.floatToIntBits(f) >> 1)); 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) { public static double sqrtApprox(double d) {
return Double return Double
.longBitsToDouble(((Double.doubleToLongBits(d) - (1L << 52)) >> 1) + (1L << 61)); .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) { public static float invSqrt(float x) {
float xhalf = 0.5f * x; float xhalf = 0.5f * x;
int i = Float.floatToIntBits(x); int i = Float.floatToIntBits(x);
@ -391,10 +321,6 @@ public class MathMan {
return true; 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) { public static double getSD(double[] array, double av) {
double sd = 0; double sd = 0;
for (double element : array) { for (double element : array) {
@ -411,10 +337,6 @@ public class MathMan {
return Math.sqrt(sd / array.length); 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) { public static int mod(int x, int y) {
if (isPowerOfTwo(y)) { if (isPowerOfTwo(y)) {
return x & (y - 1); return x & (y - 1);
@ -422,10 +344,6 @@ public class MathMan {
return x % y; 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) { public static int unsignedmod(int x, int y) {
if (isPowerOfTwo(y)) { if (isPowerOfTwo(y)) {
return x & (y - 1); return x & (y - 1);
@ -433,10 +351,6 @@ public class MathMan {
return x % y; 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) { public static boolean isPowerOfTwo(int number) {
return (number & (number - 1)) == 0; return (number & (number - 1)) == 0;
} }

View File

@ -95,10 +95,6 @@ public class RegionUtil {
.getY() && y <= max.getY(); .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) { public static @NonNull Rectangle2D toRectangle(final @NonNull CuboidRegion region) {
final BlockVector2 min = region.getMinimumPoint().toBlockVector2(); final BlockVector2 min = region.getMinimumPoint().toBlockVector2();
final BlockVector2 max = region.getMaximumPoint().toBlockVector2(); final BlockVector2 max = region.getMaximumPoint().toBlockVector2();

View File

@ -491,10 +491,6 @@ public abstract class SchematicHandler {
return null; 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) { public List<String> getSaves(UUID uuid) {
String rawJSON; String rawJSON;
try { 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 // 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\"]+|\"([^\"]*)\""); 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) { public static String replaceFromMap(String string, Map<String, String> replacements) {
StringBuilder sb = new StringBuilder(string); StringBuilder sb = new StringBuilder(string);
int size = string.length(); int size = string.length();
@ -74,10 +70,6 @@ public class StringMan {
return count; 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) { public static String getString(Object obj) {
if (obj == null) { if (obj == null) {
return "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) { public static String replaceFirst(char c, String s) {
if (s == null) { if (s == null) {
return ""; return "";
@ -140,10 +128,6 @@ public class StringMan {
return s; 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) { public static String replaceAll(String string, Object... pairs) {
StringBuilder sb = new StringBuilder(string); StringBuilder sb = new StringBuilder(string);
for (int i = 0; i < pairs.length; i += 2) { for (int i = 0; i < pairs.length; i += 2) {
@ -160,10 +144,6 @@ public class StringMan {
return sb.toString(); 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) { public static boolean isAlphanumeric(String str) {
for (int i = 0; i < str.length(); i++) { for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i); char c = str.charAt(i);
@ -185,10 +165,6 @@ public class StringMan {
return true; 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) { public static boolean isAlpha(String str) {
for (int i = 0; i < str.length(); i++) { for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i); char c = str.charAt(i);
@ -209,26 +185,14 @@ public class StringMan {
return join(array, delimiter); 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) { public static String join(Collection<?> collection, char delimiter) {
return join(collection.toArray(), 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) { public static boolean isAsciiPrintable(char c) {
return (c >= ' ') && (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) { public static boolean isAsciiPrintable(String s) {
for (char c : s.toCharArray()) { for (char c : s.toCharArray()) {
if (!isAsciiPrintable(c)) { if (!isAsciiPrintable(c)) {
@ -285,10 +249,6 @@ public class StringMan {
return result.toString(); 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) { public static String join(int[] array, String delimiter) {
Integer[] wrapped = new Integer[array.length]; Integer[] wrapped = new Integer[array.length];
for (int i = 0; i < array.length; i++) { for (int i = 0; i < array.length; i++) {
@ -297,10 +257,6 @@ public class StringMan {
return join(wrapped, delimiter); 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) { public static boolean isEqualToAny(String a, String... args) {
for (String arg : args) { for (String arg : args) {
if (StringMan.isEqual(a, arg)) { if (StringMan.isEqual(a, arg)) {
@ -328,10 +284,6 @@ public class StringMan {
return a.equals(b); 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) { public static boolean isEqualIgnoreCase(String a, String b) {
return a.equals(b) || ((a != null) && (b != null) && (a.length() == b.length()) && a return a.equals(b) || ((a != null) && (b != null) && (a.length() == b.length()) && a
.equalsIgnoreCase(b)); .equalsIgnoreCase(b));
@ -343,10 +295,6 @@ public class StringMan {
return sb.toString(); 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) { public static boolean contains(String name, char c) {
for (char current : name.toCharArray()) { for (char current : name.toCharArray()) {
if (c == current) { if (c == current) {
@ -356,10 +304,6 @@ public class StringMan {
return false; 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) { public <T> Collection<T> match(Collection<T> col, String startsWith) {
if (col == null) { if (col == null) {
return null; return null;

View File

@ -58,10 +58,6 @@ public class WEManager {
return false; 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) { 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 x = Math.toIntExact(Math.round(dx >= 0 ? dx - 0.5 : dx + 0.5));
int y = Math.toIntExact(Math.round(dy - 0.5)); int y = Math.toIntExact(Math.round(dy - 0.5));
@ -74,10 +70,6 @@ public class WEManager {
return false; 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) { 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 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)); int z = Math.toIntExact(Math.round(dz >= 0 ? dz - 0.5 : dz + 0.5));
@ -114,7 +106,7 @@ public class WEManager {
.getTrusted().contains(uuid))) && !plot.getFlag(NoWorldeditFlag.class)) { .getTrusted().contains(uuid))) && !plot.getFlag(NoWorldeditFlag.class)) {
for (CuboidRegion region : plot.getRegions()) { for (CuboidRegion region : plot.getRegions()) {
BlockVector3 pos1 = region.getMinimumPoint().withY(area.getMinBuildHeight()); BlockVector3 pos1 = region.getMinimumPoint().withY(area.getMinBuildHeight());
BlockVector3 pos2 = region.getMaximumPoint().withY(area.getMaxBuildHeight() - 1); BlockVector3 pos2 = region.getMaximumPoint().withY(area.getMaxBuildHeight());
CuboidRegion copy = new CuboidRegion(pos1, pos2); CuboidRegion copy = new CuboidRegion(pos1, pos2);
regions.add(copy); regions.add(copy);
} }
@ -124,18 +116,10 @@ public class WEManager {
return regions; 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) { public static boolean intersects(CuboidRegion region1, CuboidRegion region2) {
return RegionUtil.intersects(region1, 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) { public static boolean regionContains(CuboidRegion selection, HashSet<CuboidRegion> mask) {
for (CuboidRegion region : mask) { for (CuboidRegion region : mask) {
if (intersects(region, selection)) { if (intersects(region, selection)) {

View File

@ -252,10 +252,6 @@ public abstract class WorldUtil {
*/ */
public abstract void refreshChunk(int x, int z, String world); 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( public void upload(
final @NonNull Plot plot, final @NonNull Plot plot,
final @Nullable UUID uuid, final @Nullable UUID uuid,

View File

@ -18,17 +18,7 @@ plugins {
} }
group = "com.plotsquared" group = "com.plotsquared"
version = "6.11.2-SNAPSHOT" version = "6.10.9-SNAPSHOT"
if (!File("$rootDir/.git").exists()) {
logger.lifecycle("""
**************************************************************************************
You need to fork and clone this repository! Don't download a .zip file.
If you need assistance, consult the GitHub docs: https://docs.github.com/get-started/quickstart/fork-a-repo
**************************************************************************************
""".trimIndent()
).also { kotlin.system.exitProcess(1) }
}
subprojects { subprojects {
group = rootProject.group group = rootProject.group
@ -74,7 +64,7 @@ subprojects {
} }
dependencies { dependencies {
implementation(platform("com.intellectualsites.bom:bom-1.18.x:1.24")) implementation(platform("com.intellectualsites.bom:bom-1.18.x:1.22"))
} }
dependencies { dependencies {
@ -155,7 +145,7 @@ subprojects {
id.set("NotMyFault") id.set("NotMyFault")
name.set("Alexander Brandes") name.set("Alexander Brandes")
organization.set("IntellectualSites") organization.set("IntellectualSites")
email.set("contact(at)notmyfault.dev") email.set("contact@notmyfault.dev")
} }
developer { developer {
id.set("SirYwell") id.set("SirYwell")

View File

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

View File

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists 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 networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

View File

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