BrushConfigChunkAccessor.java
package com.hypixel.hytale.builtin.buildertools.scriptedbrushes;
import com.hypixel.hytale.math.util.ChunkUtil;
import com.hypixel.hytale.math.vector.Vector3i;
import com.hypixel.hytale.server.core.universe.world.accessor.ChunkAccessor;
import com.hypixel.hytale.server.core.universe.world.accessor.LocalCachedChunkAccessor;
import com.hypixel.hytale.server.core.universe.world.chunk.WorldChunk;
import javax.annotation.Nonnull;
public class BrushConfigChunkAccessor extends LocalCachedChunkAccessor {
private final BrushConfigEditStore editOperation;
@Nonnull
public static BrushConfigChunkAccessor atWorldCoords(BrushConfigEditStore editOperation, ChunkAccessor<WorldChunk> delegate, int centerX, int centerZ, int blockRadius) {
int chunkRadius = ChunkUtil.chunkCoordinate(blockRadius) + 1;
return atChunkCoords(editOperation, delegate, ChunkUtil.chunkCoordinate(centerX), ChunkUtil.chunkCoordinate(centerZ), chunkRadius);
}
@Nonnull
public static BrushConfigChunkAccessor atChunkCoords(BrushConfigEditStore editOperation, ChunkAccessor<WorldChunk> delegate, int centerX, centerZ, chunkRadius) {
(editOperation, delegate, centerX, centerZ, chunkRadius);
}
{
(delegate, centerX, centerZ, radius);
.editOperation = editOperation;
}
{
.editOperation.getAfter().hasBlockAtWorldPos(pos.x, pos.y, pos.z) ? .editOperation.getAfter().getBlockAtWorldPos(pos.x, pos.y, pos.z) : .getBlockIgnoringHistory(pos);
}
{
.editOperation.getAfter().hasBlockAtWorldPos(x, y, z) ? .editOperation.getAfter().getBlockAtWorldPos(x, y, z) : .getBlockIgnoringHistory(x, y, z);
}
{
.getBlockIgnoringHistory(pos.x, pos.y, pos.z);
}
{
.editOperation.getBefore().hasBlockAtWorldPos(x, y, z) ? .editOperation.getBefore().getBlockAtWorldPos(x, y, z) : .getChunk(ChunkUtil.indexChunkFromBlock(x, z)).getBlock(x, y, z);
}
{
.editOperation.getFluid(x, y, z);
}
}