Remove all raw usages of BSH, improve API generics

This commit is contained in:
Kenzie Togami
2018-12-26 16:39:10 -08:00
committed by IronApollo
parent 1d87642b52
commit 590b7e23a9
105 changed files with 372 additions and 347 deletions

View File

@ -3,6 +3,7 @@ package com.boydti.fawe.object;
import com.boydti.fawe.FaweCache;
import com.boydti.fawe.object.extent.ExtentHeightCacher;
import com.sk89q.worldedit.WorldEditException;
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.AbstractPattern;
@ -40,12 +41,12 @@ public class DataAnglePattern extends AbstractPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
BlockStateHolder block = extent.getBlock(position);
int slope = getSlope(block, position);
if (slope == -1) return block;
if (slope == -1) return block.toBaseBlock();
int data = (Math.min(slope, 255)) >> 4;
return block.withPropertyId(data);
return block.withPropertyId(data).toBaseBlock();
}
@Override

View File

@ -5,7 +5,7 @@ import com.boydti.fawe.FaweCache;
import com.boydti.fawe.object.DataAnglePattern;
import com.boydti.fawe.util.TextureHolder;
import com.sk89q.worldedit.WorldEditException;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.extent.Extent;
import com.sk89q.worldedit.math.BlockVector3;
@ -32,14 +32,14 @@ public class AngleColorPattern extends DataAnglePattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
BlockStateHolder block = extent.getBlock(position);
public BaseBlock apply(BlockVector3 position) {
BaseBlock block = extent.getFullBlock(position);
int slope = getSlope(block, position);
if (slope == -1) return block;
int color = util.getTextureUtil().getColor(block.getBlockType());
if (color == 0) return block;
int newColor = getColor(color, slope);
return util.getTextureUtil().getNearestBlock(newColor).getDefaultState();
return util.getTextureUtil().getNearestBlock(newColor).getDefaultState().toBaseBlock();
}
@Override

View File

@ -4,7 +4,7 @@ import com.boydti.fawe.Fawe;
import com.boydti.fawe.util.TextureHolder;
import com.boydti.fawe.util.TextureUtil;
import com.sk89q.worldedit.WorldEditException;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.extent.Extent;
import com.sk89q.worldedit.math.BlockVector3;
@ -26,12 +26,12 @@ public class AverageColorPattern extends AbstractExtentPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
BlockStateHolder block = getExtent().getBlock(position);
public BaseBlock apply(BlockVector3 position) {
BaseBlock block = getExtent().getFullBlock(position);
TextureUtil util = holder.getTextureUtil();
int currentColor = util.getColor(block.getBlockType());
int newColor = util.averageColor(currentColor, color);
return util.getNearestBlock(newColor).getDefaultState();
return util.getNearestBlock(newColor).getDefaultState().toBaseBlock();
}
@Override

View File

@ -5,7 +5,7 @@ import com.boydti.fawe.object.FawePlayer;
import com.boydti.fawe.object.collection.LocalBlockVectorSet;
import com.boydti.fawe.util.FaweTimer;
import com.sk89q.worldedit.WorldEditException;
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.AbstractPattern;
@ -33,7 +33,7 @@ public class BufferedPattern extends AbstractPattern implements ResettablePatter
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
return pattern.apply(position);
}

View File

@ -1,7 +1,7 @@
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;
@ -22,9 +22,9 @@ public class DataPattern extends AbstractExtentPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
BlockStateHolder oldBlock = getExtent().getBlock(position);
BlockStateHolder newBlock = pattern.apply(position);
return oldBlock.withPropertyId(newBlock.getInternalPropertiesId());
public BaseBlock apply(BlockVector3 position) {
BaseBlock oldBlock = getExtent().getFullBlock(position);
BaseBlock newBlock = pattern.apply(position);
return oldBlock.withPropertyId(newBlock.getInternalPropertiesId()).toBaseBlock();
}
}

View File

@ -4,7 +4,7 @@ import com.boydti.fawe.Fawe;
import com.boydti.fawe.util.TextureHolder;
import com.boydti.fawe.util.TextureUtil;
import com.sk89q.worldedit.WorldEditException;
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.AbstractPattern;
@ -26,7 +26,7 @@ public class DesaturatePattern extends AbstractPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
BlockType block = extent.getBlockType(position);
TextureUtil util = holder.getTextureUtil();
int color = util.getColor(block);
@ -39,7 +39,7 @@ public class DesaturatePattern extends AbstractPattern {
int green = (int) (g + value * (l - g));
int blue = (int) (b + value * (l - b));
int newColor = (alpha << 24) + (red << 16) + (green << 8) + (blue << 0);
return util.getNearestBlock(newColor).getDefaultState();
return util.getNearestBlock(newColor).getDefaultState().toBaseBlock();
}
@Override

View File

@ -1,7 +1,7 @@
package com.boydti.fawe.object.pattern;
import com.sk89q.worldedit.WorldEditException;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.extent.Extent;
import com.sk89q.worldedit.math.BlockVector3;
@ -14,8 +14,8 @@ public class ExistingPattern extends AbstractExtentPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
return getExtent().getBlock(position);
public BaseBlock apply(BlockVector3 position) {
return getExtent().getFullBlock(position);
}
@Override

View File

@ -1,6 +1,7 @@
package com.boydti.fawe.object.pattern;
import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.function.pattern.AbstractPattern;
import com.sk89q.worldedit.internal.expression.Expression;
@ -49,16 +50,16 @@ public class ExpressionPattern extends AbstractPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 vector) {
public BaseBlock apply(BlockVector3 vector) {
try {
if (expression.getEnvironment() instanceof WorldEditExpressionEnvironment) {
((WorldEditExpressionEnvironment) expression.getEnvironment()).setCurrentBlock(vector.toVector3());
}
double combined = expression.evaluate(vector.getX(), vector.getY(), vector.getZ());
return BlockState.getFromInternalId((int) combined);
return BlockState.getFromInternalId((int) combined).toBaseBlock();
} catch (EvaluationException e) {
e.printStackTrace();
return EditSession.nullBlock;
return EditSession.nullBlock.toBaseBlock();
} catch (Throwable e) {
e.printStackTrace();
throw e;

View File

@ -21,11 +21,11 @@ public class IdDataMaskPattern extends AbstractExtentPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
BlockStateHolder oldBlock = getExtent().getBlock(position);
BlockStateHolder newBlock = pattern.apply(position);
public BaseBlock apply(BlockVector3 position) {
BaseBlock oldBlock = getExtent().getFullBlock(position);
BaseBlock newBlock = pattern.apply(position);
int oldData = oldBlock.getInternalPropertiesId();
int newData = newBlock.getInternalPropertiesId() + oldData - (oldData & bitMask);
return newBlock.withPropertyId(newData);
return newBlock.withPropertyId(newData).toBaseBlock();
}
}

View File

@ -3,6 +3,7 @@ package com.boydti.fawe.object.pattern;
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.BaseBlock;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import static com.google.common.base.Preconditions.checkNotNull;
@ -17,9 +18,9 @@ public class IdPattern extends AbstractExtentPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
BlockStateHolder oldBlock = getExtent().getBlock(position);
BlockStateHolder newBlock = pattern.apply(position);
return newBlock.withPropertyId(oldBlock.getInternalPropertiesId());
public BaseBlock apply(BlockVector3 position) {
BaseBlock oldBlock = getExtent().getFullBlock(position);
BaseBlock newBlock = pattern.apply(position);
return newBlock.withPropertyId(oldBlock.getInternalPropertiesId()).toBaseBlock();
}
}

View File

@ -1,7 +1,7 @@
package com.boydti.fawe.object.pattern;
import com.sk89q.worldedit.WorldEditException;
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.AbstractPattern;
@ -18,7 +18,7 @@ public class Linear2DBlockPattern extends AbstractPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
int index = (position.getBlockX() + position.getBlockZ()) % patternsArray.length;
if (index < 0) {
index += patternsArray.length;

View File

@ -1,7 +1,7 @@
package com.boydti.fawe.object.pattern;
import com.sk89q.worldedit.WorldEditException;
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.AbstractPattern;
@ -18,7 +18,7 @@ public class Linear3DBlockPattern extends AbstractPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
int index = (position.getBlockX() + position.getBlockY() + position.getBlockZ()) % patternsArray.length;
if (index < 0) {
index += patternsArray.length;

View File

@ -1,7 +1,7 @@
package com.boydti.fawe.object.pattern;
import com.sk89q.worldedit.WorldEditException;
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.AbstractPattern;
@ -19,7 +19,7 @@ public class LinearBlockPattern extends AbstractPattern implements ResettablePat
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
if (index == patternsArray.length) {
index = 0;
}

View File

@ -1,7 +1,7 @@
package com.boydti.fawe.object.pattern;
import com.sk89q.worldedit.WorldEditException;
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.mask.Mask;
@ -24,10 +24,10 @@ public class MaskedPattern extends AbstractPattern {
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
patternExtent.setTarget(position);
if (mask.test(position)) {
return patternExtent.getAndResetTarget();
return patternExtent.getAndResetTarget().toBaseBlock();
}
return secondaryPattern.apply(position);
}

View File

@ -1,7 +1,7 @@
package com.boydti.fawe.object.pattern;
import com.sk89q.worldedit.WorldEditException;
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.AbstractPattern;
@ -22,7 +22,7 @@ public class NoXPattern extends AbstractPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 pos) {
public BaseBlock apply(BlockVector3 pos) {
// mutable.mutY((pos.getY()));
// mutable.mutZ((pos.getZ()));
// return pattern.apply(mutable.toBlockVector3());

View File

@ -1,7 +1,7 @@
package com.boydti.fawe.object.pattern;
import com.sk89q.worldedit.WorldEditException;
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.AbstractPattern;
@ -23,7 +23,7 @@ public class NoYPattern extends AbstractPattern {
// private transient MutableBlockVector mutable = new MutableBlockVector();
@Override
public BlockStateHolder apply(BlockVector3 pos) {
public BaseBlock apply(BlockVector3 pos) {
// mutable.mutX((pos.getX()));
// mutable.mutZ((pos.getZ()));
return pattern.apply(pos);

View File

@ -1,7 +1,7 @@
package com.boydti.fawe.object.pattern;
import com.sk89q.worldedit.WorldEditException;
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.AbstractPattern;
@ -23,7 +23,7 @@ public class NoZPattern extends AbstractPattern {
// private transient MutableBlockVector mutable = new MutableBlockVector();
@Override
public BlockStateHolder apply(BlockVector3 pos) {
public BaseBlock apply(BlockVector3 pos) {
// mutable.mutX((pos.getX()));
// mutable.mutY((pos.getY()));
return pattern.apply(pos);

View File

@ -1,7 +1,7 @@
package com.boydti.fawe.object.pattern;
import com.sk89q.worldedit.WorldEditException;
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.AbstractPattern;
@ -26,7 +26,7 @@ public class OffsetPattern extends AbstractPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
// mutable.mutX((position.getX() + dx));
// mutable.mutY((position.getY() + dy));
// mutable.mutZ((position.getZ() + dz));

View File

@ -123,7 +123,7 @@ public class PatternExtent extends AbstractPattern implements Extent {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
return pattern.apply(position);
}

View File

@ -192,25 +192,25 @@ public class PropertyPattern extends AbstractExtentPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
BlockState block = getExtent().getBlock(position);
public BaseBlock apply(BlockVector3 position) {
BaseBlock block = getExtent().getFullBlock(position);
return apply(block, block);
}
public BlockState apply(BlockState block, BlockState orDefault) {
public BaseBlock apply(BaseBlock block, BaseBlock orDefault) {
int ordinal = block.getOrdinal();
int newOrdinal = transformed[ordinal];
if (newOrdinal != ordinal) {
CompoundTag nbt = block.getNbtData();
BlockState newState = BlockState.getFromOrdinal(newOrdinal);
return nbt != null ? new BaseBlock(newState, nbt).toImmutableState() : newState;
return nbt != null ? new BaseBlock(newState, nbt) : newState.toBaseBlock();
}
return orDefault;
}
@Override
public boolean apply(Extent extent, BlockVector3 set, BlockVector3 get) throws WorldEditException {
BlockState block = getExtent().getBlock(get);
BaseBlock block = getExtent().getFullBlock(get);
block = apply(block, null);
if (block != null) {
return extent.setBlock(set, block);

View File

@ -1,7 +1,7 @@
package com.boydti.fawe.object.pattern;
import com.sk89q.worldedit.WorldEditException;
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.AbstractPattern;
@ -34,7 +34,7 @@ public class RandomOffsetPattern extends AbstractPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
mutable.mutX((position.getX() + r.nextInt(dx2) - dx));
mutable.mutY((position.getY() + r.nextInt(dy2) - dy));
mutable.mutZ((position.getZ() + r.nextInt(dz2) - dz));

View File

@ -1,7 +1,7 @@
package com.boydti.fawe.object.pattern;
import com.sk89q.worldedit.WorldEditException;
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.AbstractPattern;
@ -23,7 +23,7 @@ public class RelativePattern extends AbstractPattern implements ResettablePatter
}
@Override
public BlockStateHolder apply(BlockVector3 pos) {
public BaseBlock apply(BlockVector3 pos) {
if (origin == null) {
origin = pos;
}

View File

@ -4,7 +4,7 @@ import com.boydti.fawe.Fawe;
import com.boydti.fawe.util.TextureHolder;
import com.boydti.fawe.util.TextureUtil;
import com.sk89q.worldedit.WorldEditException;
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.AbstractPattern;
@ -28,12 +28,12 @@ public class SaturatePattern extends AbstractPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
BlockType block = extent.getBlockType(position);
TextureUtil util = holder.getTextureUtil();
int currentColor = util.getColor(block);
int newColor = util.multiplyColor(currentColor, color);
return util.getNearestBlock(newColor).getDefaultState();
return util.getNearestBlock(newColor).getDefaultState().toBaseBlock();
}
@Override

View File

@ -2,7 +2,7 @@ package com.boydti.fawe.object.pattern;
import com.boydti.fawe.Fawe;
import com.boydti.fawe.util.TextureUtil;
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.AbstractPattern;
@ -28,9 +28,9 @@ public class ShadePattern extends AbstractPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
BlockType block = extent.getBlockType(position);
return (darken ? util.getDarkerBlock(block) : util.getLighterBlock(block)).getDefaultState();
return (darken ? util.getDarkerBlock(block) : util.getLighterBlock(block)).getDefaultState().toBaseBlock();
}
private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException {

View File

@ -2,7 +2,7 @@ package com.boydti.fawe.object.pattern;
import com.boydti.fawe.FaweCache;
import com.sk89q.worldedit.WorldEditException;
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.mask.SolidBlockMask;
@ -43,11 +43,11 @@ public class SolidRandomOffsetPattern extends AbstractPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
mutable.mutX((position.getX() + r.nextInt(dx2) - dx));
mutable.mutY((position.getY() + r.nextInt(dy2) - dy));
mutable.mutZ((position.getZ() + r.nextInt(dz2) - dz));
BlockStateHolder block = pattern.apply(mutable.toBlockVector3());
BaseBlock block = pattern.apply(mutable.toBlockVector3());
if (solid[block.getInternalBlockTypeId()]) {
return block;
} else {

View File

@ -2,7 +2,7 @@ package com.boydti.fawe.object.pattern;
import com.boydti.fawe.FaweCache;
import com.boydti.fawe.object.PseudoRandom;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.function.pattern.AbstractPattern;
import com.sk89q.worldedit.function.pattern.Pattern;
@ -38,7 +38,7 @@ public class SurfaceRandomOffsetPattern extends AbstractPattern {
}
@Override
public BlockStateHolder apply(BlockVector3 position) {
public BaseBlock apply(BlockVector3 position) {
return pattern.apply(travel(position));
}