mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-26 07:06:44 +01:00
Override setblock setting Pattern in ChunkBlockQueue
> Should stop NPE during plot analysis > Without overriding this method, DelegateLocalBlockQueue setblock Pattern is called > DelegateLocalBlockQueue's setblocks use parent.setBlock, but we set that to null in ChunkBlockQueue > ChunkBlockQueue is simply just to cache the values from generation to use in analysis > Therefore there is no need to setblocks in any other Queue implementation
This commit is contained in:
parent
179e9e1e74
commit
a8621a15ad
@ -26,6 +26,7 @@
|
|||||||
package com.plotsquared.core.queue;
|
package com.plotsquared.core.queue;
|
||||||
|
|
||||||
import com.plotsquared.core.location.Location;
|
import com.plotsquared.core.location.Location;
|
||||||
|
import com.sk89q.worldedit.function.pattern.Pattern;
|
||||||
import com.sk89q.worldedit.math.BlockVector3;
|
import com.sk89q.worldedit.math.BlockVector3;
|
||||||
import com.sk89q.worldedit.world.biome.BiomeType;
|
import com.sk89q.worldedit.world.biome.BiomeType;
|
||||||
import com.sk89q.worldedit.world.block.BaseBlock;
|
import com.sk89q.worldedit.world.block.BaseBlock;
|
||||||
@ -79,6 +80,11 @@ public class ChunkBlockQueue extends ScopedLocalBlockQueue {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override public boolean setBlock(int x, int y, int z, Pattern pattern) {
|
||||||
|
this.storeCache(x, y, z, pattern.apply(BlockVector3.at(x, y, z)).toImmutableState());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
private void storeCache(final int x, final int y, final int z, final BlockState id) {
|
private void storeCache(final int x, final int y, final int z, final BlockState id) {
|
||||||
BlockState[][] resultY = result[y];
|
BlockState[][] resultY = result[y];
|
||||||
if (resultY == null) {
|
if (resultY == null) {
|
||||||
|
Loading…
Reference in New Issue
Block a user