mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-07-20 14:24:44 +02:00
Compare commits
5 Commits
fix/v6/con
...
build/v6/m
Author | SHA1 | Date | |
---|---|---|---|
00f089bcb7 | |||
7257775dad | |||
5c418edcef | |||
63b3d9df7d | |||
dd48069756 |
@ -112,7 +112,30 @@ public class BukkitPlotGenerator extends ChunkGenerator
|
||||
@Override
|
||||
public @NonNull List<BlockPopulator> getDefaultPopulators(@NonNull World world) {
|
||||
try {
|
||||
checkLoaded(world);
|
||||
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;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@ -131,39 +154,6 @@ 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,
|
||||
@ -211,7 +201,9 @@ public class BukkitPlotGenerator extends ChunkGenerator
|
||||
private void generate(BlockVector2 loc, World world, ScopedQueueCoordinator result) {
|
||||
// Load if improperly loaded
|
||||
if (!this.loaded) {
|
||||
checkLoaded(world);
|
||||
String name = world.getName();
|
||||
PlotSquared.get().loadWorld(name, this);
|
||||
this.loaded = true;
|
||||
}
|
||||
// Process the chunk
|
||||
if (ChunkManager.preProcessChunk(loc, result)) {
|
||||
|
@ -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@intellectualsites.com. All
|
||||
reported by contacting the project team at contact@alexander-soderberg.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.
|
||||
|
@ -72,10 +72,7 @@ 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;
|
||||
@ -156,8 +153,6 @@ public class PlotSquared {
|
||||
private EventDispatcher eventDispatcher;
|
||||
private PlotListener plotListener;
|
||||
|
||||
private boolean weInitialised;
|
||||
|
||||
/**
|
||||
* Initialize PlotSquared with the desired Implementation class.
|
||||
*
|
||||
@ -228,7 +223,6 @@ public class PlotSquared {
|
||||
}
|
||||
|
||||
this.worldedit = WorldEdit.getInstance();
|
||||
WorldEdit.getInstance().getEventBus().register(new WEPlatformReadyListener());
|
||||
|
||||
// Create Event utility class
|
||||
this.eventDispatcher = new EventDispatcher(this.worldedit);
|
||||
@ -1580,13 +1574,6 @@ 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}
|
||||
*/
|
||||
@ -1609,15 +1596,4 @@ 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,15 +53,9 @@ 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;
|
||||
}
|
||||
|
@ -93,9 +93,7 @@ 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,10 +42,6 @@ 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,
|
||||
@ -83,10 +79,6 @@ 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) {
|
||||
@ -97,10 +89,6 @@ 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) {
|
||||
|
Reference in New Issue
Block a user