Plex-FAWE/worldedit-core/src/main/java/com/boydti/fawe/object/pattern/DataPattern.java
2019-02-03 05:01:39 -05:00

31 lines
1016 B
Java

package com.boydti.fawe.object.pattern;
import com.boydti.fawe.FaweCache;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.extent.Extent;
import com.sk89q.worldedit.function.pattern.Pattern;
import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockTypes;
import static com.google.common.base.Preconditions.checkNotNull;
public class DataPattern extends AbstractExtentPattern {
private final Pattern pattern;
public DataPattern(Extent extent, Pattern parent) {
super(extent);
checkNotNull(parent);
this.pattern = parent;
}
@Override
public BaseBlock apply(BlockVector3 position) {
BaseBlock oldBlock = getExtent().getFullBlock(position);
BaseBlock newBlock = pattern.apply(position);
return oldBlock.withPropertyId(newBlock.getInternalPropertiesId()).toBaseBlock();
}
}