Skip to content

Commit

Permalink
Better BaseBlock usage.
Browse files Browse the repository at this point in the history
  • Loading branch information
me4502 committed Dec 27, 2018
1 parent 212117c commit 56ddef5
Show file tree
Hide file tree
Showing 14 changed files with 43 additions and 36 deletions.
Expand Up @@ -19,6 +19,7 @@
import com.sk89q.util.yaml.YAMLProcessor;
import com.sk89q.worldedit.blocks.Blocks;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockTypes;
import org.bukkit.Bukkit;
Expand Down Expand Up @@ -442,12 +443,12 @@ public static boolean isEnabled(Types type) {
private int pistonMaxDistance;
private boolean pistonsCrusher;
private boolean pistonsCrusherInstaKill;
private List<BlockStateHolder> pistonsCrusherBlacklist;
private List<BaseBlock> pistonsCrusherBlacklist;
private boolean pistonsSuperPush;
private boolean pistonsSuperSticky;
private List<BlockStateHolder> pistonsMovementBlacklist;
private List<BaseBlock> pistonsMovementBlacklist;
private boolean pistonsBounce;
private List<BlockStateHolder> pistonsBounceBlacklist;
private List<BaseBlock> pistonsBounceBlacklist;
private double pistonBounceMaxVelocity;

public static List<String> getDefaultBlacklist() {
Expand Down
10 changes: 5 additions & 5 deletions src/main/java/com/sk89q/craftbook/mechanics/BounceBlocks.java
Expand Up @@ -12,7 +12,7 @@
import com.sk89q.util.yaml.YAMLProcessor;
import com.sk89q.worldedit.blocks.Blocks;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockTypes;
import org.apache.commons.lang.StringUtils;
import org.bukkit.block.Block;
Expand All @@ -31,9 +31,9 @@

public class BounceBlocks extends AbstractCraftBookMechanic {

private List<BlockStateHolder> blocks;
private List<BaseBlock> blocks;
private double sensitivity;
private Map<BlockStateHolder, Vector> autoBouncers = new HashMap<>();
private Map<BaseBlock, Vector> autoBouncers = new HashMap<>();

@Override
public void loadConfiguration (YAMLProcessor config, String path) {
Expand Down Expand Up @@ -67,7 +67,7 @@ public void loadConfiguration (YAMLProcessor config, String path) {
z = Double.parseDouble(bits[2]);
}

BlockStateHolder block = BlockSyntax.getBlock(key, true);
BaseBlock block = BlockSyntax.getBlock(key, true);

autoBouncers.put(block, new Vector(x,y,z));
}
Expand Down Expand Up @@ -133,7 +133,7 @@ public void onPlayerMove(final PlayerMoveEvent event) {
}
}

for(Entry<BlockStateHolder, Vector> entry : autoBouncers.entrySet()) {
for(Entry<BaseBlock, Vector> entry : autoBouncers.entrySet()) {
if(entry.getKey().equalsFuzzy(BukkitAdapter.adapt(block.getBlockData()))) {

CraftBookPlugin.logDebugMessage("Player jumped on a auto block that is a BoucneBlock!", "bounce-blocks");
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/sk89q/craftbook/mechanics/Chair.java
Expand Up @@ -19,8 +19,8 @@
import com.sk89q.worldedit.blocks.Blocks;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.util.HandSide;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockCategories;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockType;
import com.sk89q.worldedit.world.item.ItemTypes;
import org.bukkit.Bukkit;
Expand Down Expand Up @@ -388,7 +388,7 @@ public void disable () {
private boolean chairAllowHeldBlock;
private boolean chairHealth;
private double chairHealAmount;
private List<BlockStateHolder> chairBlocks;
private List<BaseBlock> chairBlocks;
private boolean chairFacing;
private boolean chairRequireSign;
private int chairMaxDistance;
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/sk89q/craftbook/mechanics/Footprints.java
Expand Up @@ -7,7 +7,7 @@
import com.sk89q.util.yaml.YAMLProcessor;
import com.sk89q.worldedit.blocks.Blocks;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockTypes;
import org.bukkit.Material;
import org.bukkit.Tag;
Expand Down Expand Up @@ -89,7 +89,7 @@ public void disable () {
footsteps = null;
}

private List<BlockStateHolder> blocks;
private List<BaseBlock> blocks;

@Override
public void loadConfiguration (YAMLProcessor config, String path) {
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/sk89q/craftbook/mechanics/Snow.java
Expand Up @@ -13,7 +13,7 @@
import com.sk89q.util.yaml.YAMLProcessor;
import com.sk89q.worldedit.blocks.Blocks;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockTypes;
import org.bukkit.Bukkit;
import org.bukkit.Chunk;
Expand Down Expand Up @@ -551,7 +551,7 @@ public int hashCode() {
private boolean pileHigh;
private int maxPileHeight;
private boolean jumpTrample;
private List<BlockStateHolder> realisticReplacables;
private List<BaseBlock> realisticReplacables;
private int animationTicks;
private boolean freezeWater;
private boolean meltSunlight;
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/sk89q/craftbook/mechanics/TreeLopper.java
Expand Up @@ -14,6 +14,7 @@
import com.sk89q.worldedit.blocks.Blocks;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.util.HandSide;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockCategories;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockType;
Expand Down Expand Up @@ -160,7 +161,7 @@ else if (data instanceof Tree)
return true;
}

List<BlockStateHolder> enabledBlocks;
List<BaseBlock> enabledBlocks;
List<ItemType> enabledItems;
private int maxSearchSize;
private boolean allowDiagonals;
Expand Down
Expand Up @@ -33,8 +33,8 @@
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.regions.CuboidRegion;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockCategories;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockType;
import com.sk89q.worldedit.world.block.BlockTypes;
import org.bukkit.Bukkit;
Expand Down Expand Up @@ -306,7 +306,7 @@ public boolean isApplicableSign(String line) {
private boolean allowRedstone;
private int maxLength;
private int maxWidth;
private List<BlockStateHolder> blocks;
private List<BaseBlock> blocks;

public List<String> getDefaultBlocks() {
List<String> materials = new ArrayList<>();
Expand Down
Expand Up @@ -33,8 +33,8 @@
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.regions.CuboidRegion;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockCategories;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockType;
import com.sk89q.worldedit.world.block.BlockTypes;
import org.bukkit.Bukkit;
Expand Down Expand Up @@ -327,10 +327,10 @@ public boolean isApplicableSign(String line) {
return line.equals("[Door Up]") || line.equals("[Door Down]");
}

boolean allowRedstone;
int maxLength;
int maxWidth;
List<BlockStateHolder> blocks;
private boolean allowRedstone;
private int maxLength;
private int maxWidth;
private List<BaseBlock> blocks;

public List<String> getDefaultBlocks() {
List<String> materials = new ArrayList<>();
Expand Down
Expand Up @@ -34,6 +34,7 @@
import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.regions.CuboidRegion;
import com.sk89q.worldedit.util.HandSide;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockType;
Expand Down Expand Up @@ -676,7 +677,7 @@ public int hashCode() {
private boolean allowRedstone;
private boolean limitColumns;
private int columnLimit;
private List<BlockStateHolder> blocks;
private List<BaseBlock> blocks;
private boolean enforceType;
private int columnHeight;
private int searchRadius;
Expand Down
Expand Up @@ -17,6 +17,7 @@
import com.sk89q.worldedit.blocks.Blocks;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockTypes;
import org.bukkit.Material;
Expand Down Expand Up @@ -101,7 +102,7 @@ public static class Factory extends AbstractICFactory implements ConfigurableIC

boolean above;

List<BlockStateHolder> blockBlacklist;
List<BaseBlock> blockBlacklist;

public Factory(Server server, boolean above) {

Expand All @@ -122,7 +123,7 @@ public void verify(ChangedSign sign) throws ICVerificationException {
BlockStateHolder item = BlockSyntax.getBlock(sign.getLine(2), true);
if(item == null)
throw new ICVerificationException("An invalid block was provided on line 2!");
if(blockBlacklist.contains(item))
if(Blocks.containsFuzzy(blockBlacklist, item))
throw new ICVerificationException("A blacklisted block was provided on line 2!");
}
}
Expand Down
Expand Up @@ -28,6 +28,7 @@
import com.sk89q.util.yaml.YAMLProcessor;
import com.sk89q.worldedit.blocks.Blocks;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockTypes;
import org.bukkit.Material;
Expand Down Expand Up @@ -73,7 +74,7 @@ public static class Factory extends AbstractICFactory implements RestrictedIC, C

boolean above;

public List<BlockStateHolder> blockBlacklist;
public List<BaseBlock> blockBlacklist;

public Factory(Server server, boolean above) {

Expand All @@ -95,7 +96,7 @@ public void verify(ChangedSign sign) throws ICVerificationException {
BlockStateHolder item = BlockSyntax.getBlock(sign.getLine(2), true);
if(item == null)
throw new ICVerificationException("An invalid block was provided on line 2!");
if(blockBlacklist.contains(item))
if(Blocks.containsFuzzy(blockBlacklist, item))
throw new ICVerificationException("A blacklisted block was provided on line 2!");
}

Expand Down
Expand Up @@ -11,6 +11,7 @@
import com.sk89q.util.yaml.YAMLProcessor;
import com.sk89q.worldedit.blocks.Blocks;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockTypes;
import org.bukkit.Material;
Expand Down Expand Up @@ -62,7 +63,7 @@ public static class Factory extends AbstractICFactory implements ConfigurableIC

boolean above;

public List<BlockStateHolder> blockBlacklist;
public List<BaseBlock> blockBlacklist;

public Factory(Server server, boolean above) {

Expand Down
13 changes: 7 additions & 6 deletions src/main/java/com/sk89q/craftbook/util/BlockSyntax.java
Expand Up @@ -21,6 +21,7 @@
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.extension.input.InputParseException;
import com.sk89q.worldedit.extension.input.ParserContext;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.registry.LegacyMapper;
import org.bukkit.Material;
Expand All @@ -37,18 +38,18 @@ public class BlockSyntax {
BLOCK_CONTEXT.setRestricted(false);
}

public static BlockStateHolder getBlock(String line) {
public static BaseBlock getBlock(String line) {
return getBlock(line, false);
}

public static BlockStateHolder getBlock(String line, boolean wild) {
public static BaseBlock getBlock(String line, boolean wild) {
if (line == null || line.trim().isEmpty()) {
return null;
}

BLOCK_CONTEXT.setPreferringWildcard(wild);

BlockStateHolder blockState = null;
BaseBlock blockState = null;
try {
blockState = WorldEdit.getInstance().getBlockFactory().parseFromInput(line, BLOCK_CONTEXT);
} catch (InputParseException e) {
Expand All @@ -65,7 +66,7 @@ public static BlockStateHolder getBlock(String line, boolean wild) {
data = 0;
}
}
blockState = LegacyMapper.getInstance().getBlockFromLegacy(BukkitAdapter.asBlockType(material).getLegacyId(), data);
blockState = LegacyMapper.getInstance().getBlockFromLegacy(BukkitAdapter.asBlockType(material).getLegacyId(), data).toBaseBlock();
}
if (material == null) {
CraftBookPlugin.logger().warning("Invalid block format: " + line);
Expand All @@ -74,11 +75,11 @@ public static BlockStateHolder getBlock(String line, boolean wild) {
return blockState;
}

public static List<BlockStateHolder> getBlocks(List<String> lines) {
public static List<BaseBlock> getBlocks(List<String> lines) {
return getBlocks(lines, false);
}

public static List<BlockStateHolder> getBlocks(List<String> lines, boolean wild) {
public static List<BaseBlock> getBlocks(List<String> lines, boolean wild) {
return lines.stream().map(line -> getBlock(line, wild)).collect(Collectors.toList());
}

Expand Down
Expand Up @@ -33,7 +33,7 @@
@PrepareForTest({TreeLopper.class,BlockBreakEvent.class})
public class TreeLopperTest extends BaseTestCase {

TreeLopper lopper;
private TreeLopper lopper;

@Test
public void testOnBlockBreak() {
Expand Down Expand Up @@ -63,7 +63,7 @@ public void testOnBlockBreak() {
when(block.getLocation()).thenReturn(new Location(world, 64,64,64));

lopper.enabledBlocks = new ArrayList<>();
lopper.enabledBlocks.add(BlockTypes.OAK_LOG.getDefaultState());
lopper.enabledBlocks.add(BlockTypes.OAK_LOG.getDefaultState().toBaseBlock());

lopper.enabledItems = new ArrayList<>();
lopper.enabledItems.add(ItemTypes.DIAMOND_AXE);
Expand Down

0 comments on commit 56ddef5

Please sign in to comment.