mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-07-05 07:04:43 +02:00
Compare commits
11 Commits
build/mast
...
feature/v6
Author | SHA1 | Date | |
---|---|---|---|
d629e9eecb | |||
2802939112 | |||
bf646be482 | |||
cc7e17960b | |||
3c75b170f0 | |||
a79c474957 | |||
4bb480a238 | |||
9ffa935c0c | |||
0a32268784 | |||
ae3b8c06f6 | |||
713c4ad0d2 |
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -27,14 +27,12 @@ body:
|
||||
description: Which server version version you using? If your server version is not listed, it is not supported. Update to a supported version first.
|
||||
multiple: false
|
||||
options:
|
||||
- '1.19'
|
||||
- '1.18.2'
|
||||
- '1.18.1'
|
||||
- '1.18'
|
||||
- '1.17.1'
|
||||
- '1.16.5'
|
||||
- '1.15.2'
|
||||
- '1.14.4'
|
||||
- '1.13.2'
|
||||
validations:
|
||||
required: true
|
||||
|
||||
|
@ -21,20 +21,20 @@ dependencies {
|
||||
api(projects.plotSquaredCore)
|
||||
|
||||
// Metrics
|
||||
implementation(libs.bstats)
|
||||
implementation("org.bstats:bstats-bukkit")
|
||||
|
||||
// Paper
|
||||
compileOnly(libs.paper)
|
||||
implementation(libs.paperlib)
|
||||
implementation("io.papermc:paperlib")
|
||||
|
||||
// Plugins
|
||||
compileOnly(libs.worldeditBukkit) {
|
||||
exclude(group = "org.bukkit")
|
||||
exclude(group = "org.spigotmc")
|
||||
}
|
||||
compileOnly(libs.fastasyncworldeditBukkit) { isTransitive = false }
|
||||
testImplementation(libs.fastasyncworldeditBukkit) { isTransitive = false }
|
||||
compileOnly(libs.vault) {
|
||||
compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit") { isTransitive = false }
|
||||
testImplementation("com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit") { isTransitive = false }
|
||||
compileOnly("com.github.MilkBowl:VaultAPI") {
|
||||
exclude(group = "org.bukkit")
|
||||
}
|
||||
compileOnly(libs.placeholderapi)
|
||||
@ -44,15 +44,15 @@ dependencies {
|
||||
|
||||
// Other libraries
|
||||
implementation(libs.squirrelid) { isTransitive = false }
|
||||
implementation(libs.serverlib)
|
||||
implementation("dev.notmyfault.serverlib:ServerLib")
|
||||
|
||||
// Our libraries
|
||||
implementation(libs.arkitektonika)
|
||||
implementation(libs.http4j)
|
||||
implementation(libs.paster)
|
||||
implementation("com.intellectualsites.paster:Paster")
|
||||
|
||||
// Adventure
|
||||
implementation(libs.adventurePlatformBukkit)
|
||||
implementation("net.kyori:adventure-platform-bukkit")
|
||||
}
|
||||
|
||||
tasks.processResources {
|
||||
@ -97,7 +97,7 @@ tasks.named<ShadowJar>("shadowJar") {
|
||||
tasks {
|
||||
withType<Javadoc> {
|
||||
val opt = options as StandardJavadocDocletOptions
|
||||
opt.links("https://papermc.io/javadocs/paper/1.18/")
|
||||
opt.links("https://jd.papermc.io/paper/1.18/")
|
||||
opt.links("https://docs.enginehub.org/javadoc/com.sk89q.worldedit/worldedit-bukkit/" + libs.worldeditBukkit.get().versionConstraint.toString())
|
||||
opt.links("https://javadoc.io/doc/com.plotsquared/PlotSquared-Core/latest/")
|
||||
opt.links("https://jd.adventure.kyori.net/api/" + libs.adventure.get().versionConstraint.toString())
|
||||
|
@ -112,30 +112,7 @@ public class BukkitPlotGenerator extends ChunkGenerator
|
||||
@Override
|
||||
public @NonNull List<BlockPopulator> getDefaultPopulators(@NonNull World world) {
|
||||
try {
|
||||
if (!this.loaded) {
|
||||
String name = world.getName();
|
||||
PlotSquared.get().loadWorld(name, this);
|
||||
final Set<PlotArea> areas = this.plotAreaManager.getPlotAreasSet(name);
|
||||
if (!areas.isEmpty()) {
|
||||
PlotArea area = areas.iterator().next();
|
||||
if (!area.isMobSpawning()) {
|
||||
if (!area.isSpawnEggs()) {
|
||||
world.setSpawnFlags(false, false);
|
||||
}
|
||||
world.setAmbientSpawnLimit(0);
|
||||
world.setAnimalSpawnLimit(0);
|
||||
world.setMonsterSpawnLimit(0);
|
||||
world.setWaterAnimalSpawnLimit(0);
|
||||
} else {
|
||||
world.setSpawnFlags(true, true);
|
||||
world.setAmbientSpawnLimit(-1);
|
||||
world.setAnimalSpawnLimit(-1);
|
||||
world.setMonsterSpawnLimit(-1);
|
||||
world.setWaterAnimalSpawnLimit(-1);
|
||||
}
|
||||
}
|
||||
this.loaded = true;
|
||||
}
|
||||
checkLoaded(world);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@ -154,6 +131,39 @@ public class BukkitPlotGenerator extends ChunkGenerator
|
||||
return toAdd;
|
||||
}
|
||||
|
||||
private synchronized void checkLoaded(@NonNull World world) {
|
||||
// Do not attempt to load configurations until WorldEdit has a platform ready.
|
||||
if (!PlotSquared.get().isWeInitialised()) {
|
||||
return;
|
||||
}
|
||||
if (!this.loaded) {
|
||||
String name = world.getName();
|
||||
PlotSquared.get().loadWorld(name, this);
|
||||
final Set<PlotArea> areas = this.plotAreaManager.getPlotAreasSet(name);
|
||||
if (!areas.isEmpty()) {
|
||||
PlotArea area = areas.iterator().next();
|
||||
if (!area.isMobSpawning()) {
|
||||
if (!area.isSpawnEggs()) {
|
||||
world.setSpawnFlags(false, false);
|
||||
}
|
||||
setSpawnLimits(world, 0);
|
||||
} else {
|
||||
world.setSpawnFlags(true, true);
|
||||
setSpawnLimits(world, -1);
|
||||
}
|
||||
}
|
||||
this.loaded = true;
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void setSpawnLimits(@NonNull World world, int limit) {
|
||||
world.setAmbientSpawnLimit(limit);
|
||||
world.setAnimalSpawnLimit(limit);
|
||||
world.setMonsterSpawnLimit(limit);
|
||||
world.setWaterAnimalSpawnLimit(limit);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull ChunkData generateChunkData(
|
||||
@NonNull World world, @NonNull Random random, int x, int z,
|
||||
@ -201,9 +211,7 @@ public class BukkitPlotGenerator extends ChunkGenerator
|
||||
private void generate(BlockVector2 loc, World world, ScopedQueueCoordinator result) {
|
||||
// Load if improperly loaded
|
||||
if (!this.loaded) {
|
||||
String name = world.getName();
|
||||
PlotSquared.get().loadWorld(name, this);
|
||||
this.loaded = true;
|
||||
checkLoaded(world);
|
||||
}
|
||||
// Process the chunk
|
||||
if (ChunkManager.preProcessChunk(loc, result)) {
|
||||
|
@ -551,6 +551,10 @@ public class BlockEventListener implements Listener {
|
||||
if (plot == null) {
|
||||
return;
|
||||
}
|
||||
if (location.getY() >= area.getMaxBuildHeight() || location.getY() < area.getMinBuildHeight()) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
switch (event.getNewState().getType()) {
|
||||
case SNOW:
|
||||
case SNOW_BLOCK:
|
||||
@ -750,62 +754,66 @@ public class BlockEventListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onChange(BlockFromToEvent event) {
|
||||
Block from = event.getBlock();
|
||||
Block fromBlock = event.getBlock();
|
||||
|
||||
// Check liquid flow flag inside of origin plot too
|
||||
final Location fLocation = BukkitUtil.adapt(from.getLocation());
|
||||
final PlotArea fromArea = fLocation.getPlotArea();
|
||||
final Location fromLocation = BukkitUtil.adapt(fromBlock.getLocation());
|
||||
final PlotArea fromArea = fromLocation.getPlotArea();
|
||||
if (fromArea != null) {
|
||||
final Plot plot = fromArea.getOwnedPlot(fLocation);
|
||||
if (plot != null && plot.getFlag(LiquidFlowFlag.class) == LiquidFlowFlag.FlowStatus.DISABLED && event
|
||||
final Plot fromPlot = fromArea.getOwnedPlot(fromLocation);
|
||||
if (fromPlot != null && fromPlot.getFlag(LiquidFlowFlag.class) == LiquidFlowFlag.FlowStatus.DISABLED && event
|
||||
.getBlock()
|
||||
.isLiquid()) {
|
||||
plot.debug("Liquid could not flow because liquid-flow = disabled");
|
||||
fromPlot.debug("Liquid could not flow because liquid-flow = disabled");
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Block to = event.getToBlock();
|
||||
Location tLocation = BukkitUtil.adapt(to.getLocation());
|
||||
PlotArea area = tLocation.getPlotArea();
|
||||
if (area == null) {
|
||||
if (from.getType() == Material.DRAGON_EGG && fromArea != null) {
|
||||
Block toBlock = event.getToBlock();
|
||||
Location toLocation = BukkitUtil.adapt(toBlock.getLocation());
|
||||
PlotArea toArea = toLocation.getPlotArea();
|
||||
if (toArea == null) {
|
||||
if (fromBlock.getType() == Material.DRAGON_EGG && fromArea != null) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
Plot plot = area.getOwnedPlot(tLocation);
|
||||
if (toLocation.getY() >= toArea.getMaxBuildHeight() || toLocation.getY() < toArea.getMinBuildHeight()) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
Plot toPlot = toArea.getOwnedPlot(toLocation);
|
||||
|
||||
if (from.getType() == Material.DRAGON_EGG && fromArea != null) {
|
||||
final Plot fromPlot = fromArea.getOwnedPlot(fLocation);
|
||||
if (fromBlock.getType() == Material.DRAGON_EGG && fromArea != null) {
|
||||
final Plot fromPlot = fromArea.getOwnedPlot(fromLocation);
|
||||
|
||||
if (fromPlot != null || plot != null) {
|
||||
if ((fromPlot == null || !fromPlot.equals(plot)) && (plot == null || !plot.equals(fromPlot))) {
|
||||
if (fromPlot != null || toPlot != null) {
|
||||
if ((fromPlot == null || !fromPlot.equals(toPlot)) && (toPlot == null || !toPlot.equals(fromPlot))) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (plot != null) {
|
||||
if (!area.contains(fLocation.getX(), fLocation.getZ()) || !Objects.equals(plot, area.getOwnedPlot(fLocation))) {
|
||||
if (toPlot != null) {
|
||||
if (!toArea.contains(fromLocation.getX(), fromLocation.getZ()) || !Objects.equals(toPlot, toArea.getOwnedPlot(fromLocation))) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
if (plot.getFlag(LiquidFlowFlag.class) == LiquidFlowFlag.FlowStatus.ENABLED && event.getBlock().isLiquid()) {
|
||||
if (toPlot.getFlag(LiquidFlowFlag.class) == LiquidFlowFlag.FlowStatus.ENABLED && event.getBlock().isLiquid()) {
|
||||
return;
|
||||
}
|
||||
if (plot.getFlag(DisablePhysicsFlag.class)) {
|
||||
plot.debug(event.getBlock().getType() + " could not update because disable-physics = true");
|
||||
if (toPlot.getFlag(DisablePhysicsFlag.class)) {
|
||||
toPlot.debug(event.getBlock().getType() + " could not update because disable-physics = true");
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
if (plot.getFlag(LiquidFlowFlag.class) == LiquidFlowFlag.FlowStatus.DISABLED && event.getBlock().isLiquid()) {
|
||||
plot.debug("Liquid could not flow because liquid-flow = disabled");
|
||||
if (toPlot.getFlag(LiquidFlowFlag.class) == LiquidFlowFlag.FlowStatus.DISABLED && event.getBlock().isLiquid()) {
|
||||
toPlot.debug("Liquid could not flow because liquid-flow = disabled");
|
||||
event.setCancelled(true);
|
||||
}
|
||||
} else if (!area.contains(fLocation.getX(), fLocation.getZ()) || !Objects.equals(null, area.getOwnedPlot(fLocation))) {
|
||||
} else if (!toArea.contains(fromLocation.getX(), fromLocation.getZ()) || !Objects.equals(null, toArea.getOwnedPlot(fromLocation))) {
|
||||
event.setCancelled(true);
|
||||
} else if (event.getBlock().isLiquid()) {
|
||||
final org.bukkit.Location location = event.getBlock().getLocation();
|
||||
|
@ -208,7 +208,7 @@ public class EntityEventListener implements Listener {
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (BukkitEntityUtil.checkEntity(entity, plot)) {
|
||||
if (BukkitEntityUtil.checkEntity(entity, plot.getBasePlot(false))) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
@ -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@alexander-soderberg.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.
|
||||
|
@ -2,18 +2,18 @@ import java.time.format.DateTimeFormatter
|
||||
|
||||
dependencies {
|
||||
// Expected everywhere.
|
||||
compileOnlyApi(libs.checkerqual)
|
||||
compileOnlyApi("org.checkerframework:checker-qual")
|
||||
|
||||
// Minecraft expectations
|
||||
compileOnlyApi(libs.gson)
|
||||
compileOnly(libs.guava)
|
||||
compileOnlyApi("com.google.code.gson:gson")
|
||||
compileOnly("com.google.guava:guava")
|
||||
|
||||
// Platform expectations
|
||||
compileOnlyApi(libs.snakeyaml)
|
||||
compileOnlyApi("org.yaml:snakeyaml")
|
||||
|
||||
// Adventure
|
||||
api(libs.adventure)
|
||||
api(libs.minimessage)
|
||||
api("net.kyori:adventure-api")
|
||||
api("net.kyori:adventure-text-minimessage")
|
||||
|
||||
// Guice
|
||||
api(libs.guice) {
|
||||
@ -31,18 +31,18 @@ dependencies {
|
||||
exclude(group = "dummypermscompat")
|
||||
}
|
||||
testImplementation(libs.worldeditCore)
|
||||
compileOnly(libs.fastasyncworldeditCore) { isTransitive = false }
|
||||
testImplementation(libs.fastasyncworldeditCore) { isTransitive = false }
|
||||
compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Core") { isTransitive = false }
|
||||
testImplementation("com.fastasyncworldedit:FastAsyncWorldEdit-Core") { isTransitive = false }
|
||||
|
||||
// Logging
|
||||
compileOnlyApi(libs.log4j)
|
||||
compileOnlyApi("org.apache.logging.log4j:log4j-api")
|
||||
|
||||
// Other libraries
|
||||
api(libs.prtree)
|
||||
api(libs.aopalliance)
|
||||
api(libs.cloudServices)
|
||||
api(libs.arkitektonika)
|
||||
api(libs.paster)
|
||||
api("com.intellectualsites.paster:Paster")
|
||||
}
|
||||
|
||||
tasks.processResources {
|
||||
|
@ -72,7 +72,10 @@ import com.plotsquared.core.util.ReflectionUtils;
|
||||
import com.plotsquared.core.util.task.TaskManager;
|
||||
import com.plotsquared.core.uuid.UUIDPipeline;
|
||||
import com.sk89q.worldedit.WorldEdit;
|
||||
import com.sk89q.worldedit.event.platform.PlatformReadyEvent;
|
||||
import com.sk89q.worldedit.math.BlockVector2;
|
||||
import com.sk89q.worldedit.util.eventbus.EventHandler;
|
||||
import com.sk89q.worldedit.util.eventbus.Subscribe;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
@ -153,6 +156,8 @@ public class PlotSquared {
|
||||
private EventDispatcher eventDispatcher;
|
||||
private PlotListener plotListener;
|
||||
|
||||
private boolean weInitialised;
|
||||
|
||||
/**
|
||||
* Initialize PlotSquared with the desired Implementation class.
|
||||
*
|
||||
@ -223,6 +228,7 @@ public class PlotSquared {
|
||||
}
|
||||
|
||||
this.worldedit = WorldEdit.getInstance();
|
||||
WorldEdit.getInstance().getEventBus().register(new WEPlatformReadyListener());
|
||||
|
||||
// Create Event utility class
|
||||
this.eventDispatcher = new EventDispatcher(this.worldedit);
|
||||
@ -1574,6 +1580,13 @@ public class PlotSquared {
|
||||
return this.plotListener;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get if the {@link PlatformReadyEvent} has been sent by WE. There is no way to query this within WE itself.
|
||||
*/
|
||||
public boolean isWeInitialised() {
|
||||
return weInitialised;
|
||||
}
|
||||
|
||||
/**
|
||||
* Different ways of sorting {@link Plot plots}
|
||||
*/
|
||||
@ -1596,4 +1609,15 @@ public class PlotSquared {
|
||||
DISTANCE_FROM_ORIGIN
|
||||
}
|
||||
|
||||
private final class WEPlatformReadyListener {
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@Subscribe(priority = EventHandler.Priority.VERY_EARLY)
|
||||
public void onPlatformReady(PlatformReadyEvent event) {
|
||||
weInitialised = true;
|
||||
WorldEdit.getInstance().getEventBus().unregister(WEPlatformReadyListener.this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -53,9 +53,15 @@ public abstract class IndependentPlotGenerator {
|
||||
*
|
||||
* @param result queue
|
||||
* @param settings PlotArea (settings)
|
||||
* @deprecated {@link ScopedQueueCoordinator} will be renamed in v7.
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "TODO")
|
||||
public abstract void generateChunk(ScopedQueueCoordinator result, PlotArea settings);
|
||||
|
||||
/**
|
||||
* @deprecated {@link ScopedQueueCoordinator} will be renamed in v7.
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "TODO")
|
||||
public boolean populateChunk(ScopedQueueCoordinator result, PlotArea setting) {
|
||||
return false;
|
||||
}
|
||||
|
@ -65,7 +65,6 @@ import com.sk89q.worldedit.world.biome.BiomeType;
|
||||
import com.sk89q.worldedit.world.biome.BiomeTypes;
|
||||
import com.sk89q.worldedit.world.gamemode.GameMode;
|
||||
import com.sk89q.worldedit.world.gamemode.GameModes;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
@ -965,7 +964,31 @@ public abstract class PlotArea {
|
||||
return this.plots.remove(id) != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge a list of plots together. This is non-blocking for the world-changes that will be made. To run a task when the
|
||||
* world changes are complete, use {@link PlotArea#mergePlots(List, boolean, Runnable)};
|
||||
*
|
||||
* @param plotIds List of plot IDs to merge
|
||||
* @param removeRoads If the roads between plots should be removed
|
||||
* @return if merges were completed successfully.
|
||||
*/
|
||||
public boolean mergePlots(final @NonNull List<PlotId> plotIds, final boolean removeRoads) {
|
||||
return mergePlots(plotIds, removeRoads, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge a list of plots together. This is non-blocking for the world-changes that will be made.
|
||||
*
|
||||
* @param plotIds List of plot IDs to merge
|
||||
* @param removeRoads If the roads between plots should be removed
|
||||
* @param whenDone Task to run when any merge world changes are complete. Also runs if no changes were made. Does not
|
||||
* run if there was an error or if too few plots IDs were supplied.
|
||||
* @return if merges were completed successfully.
|
||||
* @since TODO
|
||||
*/
|
||||
public boolean mergePlots(
|
||||
final @NonNull List<PlotId> plotIds, final boolean removeRoads, final @Nullable Runnable whenDone
|
||||
) {
|
||||
if (plotIds.size() < 2) {
|
||||
return false;
|
||||
}
|
||||
@ -1028,6 +1051,9 @@ public abstract class PlotArea {
|
||||
}
|
||||
}
|
||||
manager.finishPlotMerge(plotIds, queue);
|
||||
if (whenDone != null) {
|
||||
queue.setCompleteTask(whenDone);
|
||||
}
|
||||
queue.enqueue();
|
||||
return true;
|
||||
}
|
||||
|
@ -93,7 +93,9 @@ public abstract class QueueCoordinator {
|
||||
* @param z chunk z coordinate
|
||||
* @return a new {@link ScopedQueueCoordinator}
|
||||
* @since 6.6.0
|
||||
* @deprecated {@link ScopedQueueCoordinator} will be renamed in v7.
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "TODO")
|
||||
public ScopedQueueCoordinator getForChunk(int x, int z, int minY, int maxY) {
|
||||
int bx = x << 4;
|
||||
int bz = z << 4;
|
||||
|
@ -42,6 +42,10 @@ public abstract class ChunkManager {
|
||||
private static final Map<BlockVector2, RunnableVal<ScopedQueueCoordinator>> forceChunks = new ConcurrentHashMap<>();
|
||||
private static final Map<BlockVector2, RunnableVal<ScopedQueueCoordinator>> addChunks = new ConcurrentHashMap<>();
|
||||
|
||||
/**
|
||||
* @deprecated {@link ScopedQueueCoordinator} will be renamed in v7.
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "TODO")
|
||||
public static void setChunkInPlotArea(
|
||||
RunnableVal<ScopedQueueCoordinator> force,
|
||||
RunnableVal<ScopedQueueCoordinator> add,
|
||||
@ -79,6 +83,10 @@ public abstract class ChunkManager {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated {@link ScopedQueueCoordinator} will be renamed in v7.
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "TODO")
|
||||
public static boolean preProcessChunk(BlockVector2 loc, ScopedQueueCoordinator queue) {
|
||||
final RunnableVal<ScopedQueueCoordinator> forceChunk = forceChunks.get(loc);
|
||||
if (forceChunk != null) {
|
||||
@ -89,6 +97,10 @@ public abstract class ChunkManager {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated {@link ScopedQueueCoordinator} will be renamed in v7.
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "TODO")
|
||||
public static boolean postProcessChunk(BlockVector2 loc, ScopedQueueCoordinator queue) {
|
||||
final RunnableVal<ScopedQueueCoordinator> addChunk = forceChunks.get(loc);
|
||||
if (addChunk != null) {
|
||||
|
@ -34,7 +34,7 @@ allprojects {
|
||||
|
||||
maven {
|
||||
name = "Sonatype OSS (S01)"
|
||||
url = uri("https://s01.oss.sonatype.org/content/repositories/snapshots")
|
||||
url = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/")
|
||||
}
|
||||
|
||||
maven {
|
||||
@ -64,6 +64,10 @@ subprojects {
|
||||
plugin<EclipsePlugin>()
|
||||
plugin<IdeaPlugin>()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(platform("com.intellectualsites.bom:bom-1.18.x:1.2"))
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
|
@ -1,15 +1,9 @@
|
||||
[versions]
|
||||
# Minecraft expectations
|
||||
gson = "2.8.8" # Version set by Minecraft
|
||||
log4j-api = "2.17.1" # Version set by Minecraft
|
||||
guava = "31.0.1-jre" # Version set by Minecraft
|
||||
|
||||
# Platform expectations
|
||||
paper = "1.18.1-R0.1-SNAPSHOT"
|
||||
checker-qual = "3.22.0"
|
||||
guice = "5.1.0"
|
||||
spotbugs = "4.7.0"
|
||||
snakeyaml = "1.30" # Version set by Bukkit
|
||||
|
||||
# Adventure & MiniMessage
|
||||
adventure-api = "4.9.3"
|
||||
@ -18,8 +12,6 @@ adventure-platform-bukkit = "4.0.1"
|
||||
|
||||
# Plugins
|
||||
worldedit = "7.2.10"
|
||||
fawe = "2.2.0"
|
||||
vault = "1.7.1"
|
||||
placeholderapi = "2.11.1"
|
||||
luckperms = "5.4"
|
||||
essentialsx = "2.19.4"
|
||||
@ -30,11 +22,7 @@ prtree = "2.0.0"
|
||||
aopalliance = "1.0"
|
||||
cloud-services = "1.6.2"
|
||||
arkitektonika = "2.1.1"
|
||||
paster = "1.1.4"
|
||||
bstats = "3.0.0"
|
||||
paperlib = "1.0.7"
|
||||
squirrelid = "0.3.1"
|
||||
serverlib = "2.3.1"
|
||||
http4j = "1.3"
|
||||
|
||||
# Gradle plugins
|
||||
@ -48,12 +36,7 @@ nexus = "1.1.0"
|
||||
paper = { group = "io.papermc.paper", name = "paper-api", version.ref = "paper" }
|
||||
checkerqual = { group = "org.checkerframework", name = "checker-qual", version.ref = "checker-qual" }
|
||||
|
||||
# Minecraft expectations
|
||||
gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" }
|
||||
log4j = { group = "org.apache.logging.log4j", name = "log4j-api", version.ref = "log4j-api" }
|
||||
|
||||
# Platform expectations
|
||||
snakeyaml = { group = "org.yaml", name = "snakeyaml", version.ref = "snakeyaml" }
|
||||
guice = { group = "com.google.inject", name = "guice", version.ref = "guice" }
|
||||
guiceassistedinject = { group = "com.google.inject.extensions", name = "guice-assistedinject", version.ref = "guice" }
|
||||
spotbugs = { group = "com.github.spotbugs", name = "spotbugs-annotations", version.ref = "spotbugs" }
|
||||
@ -66,9 +49,6 @@ adventurePlatformBukkit = { group = "net.kyori", name = "adventure-platform-bukk
|
||||
# Plugins
|
||||
worldeditCore = { group = "com.sk89q.worldedit", name = "worldedit-core", version.ref = "worldedit" }
|
||||
worldeditBukkit = { group = "com.sk89q.worldedit", name = "worldedit-bukkit", version.ref = "worldedit" }
|
||||
fastasyncworldeditBukkit = { group = "com.fastasyncworldedit", name = "FastAsyncWorldEdit-Bukkit", version.ref = "fawe" }
|
||||
fastasyncworldeditCore = { group = "com.fastasyncworldedit", name = "FastAsyncWorldEdit-Core", version.ref = "fawe" }
|
||||
vault = { group = "com.github.MilkBowl", name = "VaultAPI", version.ref = "vault" }
|
||||
placeholderapi = { group = "me.clip", name = "placeholderapi", version.ref = "placeholderapi" }
|
||||
luckperms = { group = "net.luckperms", name = "api", version.ref = "luckperms" }
|
||||
essentialsx = { group = "net.essentialsx", name = "EssentialsX", version.ref = "essentialsx" }
|
||||
@ -79,13 +59,8 @@ aopalliance = { group = "aopalliance", name = "aopalliance", version.ref = "aopa
|
||||
cloudServices = { group = "cloud.commandframework", name = "cloud-services", version.ref = "cloud-services" }
|
||||
mvdwapi = { group = "com.intellectualsites.mvdwplaceholderapi", name = "MVdWPlaceholderAPI", version.ref = "mvdwapi" }
|
||||
squirrelid = { group = "org.enginehub", name = "squirrelid", version.ref = "squirrelid" }
|
||||
serverlib = { group = "dev.notmyfault.serverlib", name = "ServerLib", version.ref = "serverlib" }
|
||||
bstats = { group = "org.bstats", name = "bstats-bukkit", version.ref = "bstats" }
|
||||
paperlib = { group = "io.papermc", name = "paperlib", version.ref = "paperlib" }
|
||||
arkitektonika = { group = "com.intellectualsites.arkitektonika", name = "Arkitektonika-Client", version.ref = "arkitektonika" }
|
||||
http4j = { group = "com.intellectualsites.http", name = "HTTP4J", version.ref = "http4j" }
|
||||
paster = { group = "com.intellectualsites.paster", name = "Paster", version.ref = "paster" }
|
||||
guava = { group = "com.google.guava", name = "guava", version.ref = "guava" }
|
||||
|
||||
[plugins]
|
||||
shadow = { id = "com.github.johnrengelman.shadow", version.ref = "shadow" }
|
||||
|
Reference in New Issue
Block a user