Fix ore dupe bug with ore blocks on pistons

This commit is contained in:
Marco Cunha 2012-09-10 01:53:16 +03:00
parent 01e69cdf5e
commit 7e21fdd862

View File

@ -58,13 +58,17 @@ public class BlockListener implements Listener {
public void onBlockPistonExtend(BlockPistonExtendEvent event) { public void onBlockPistonExtend(BlockPistonExtendEvent event) {
List<Block> blocks = event.getBlocks(); List<Block> blocks = event.getBlocks();
BlockFace direction = event.getDirection(); BlockFace direction = event.getDirection();
// Block that would be air after piston is finished
Block futureEmptyBlock = event.getBlock().getRelative(direction);
for (Block b : blocks) { for (Block b : blocks) {
if (mcMMO.placeStore.isTrue(b)) { if (mcMMO.placeStore.isTrue(b)) {
b.getRelative(direction).setMetadata("pistonTrack", new FixedMetadataValue(plugin, true)); b.getRelative(direction).setMetadata("pistonTrack", new FixedMetadataValue(plugin, true));
if (b.equals(futureEmptyBlock)) {
mcMMO.placeStore.setFalse(b); mcMMO.placeStore.setFalse(b);
} }
} }
}
for (Block b : blocks) { for (Block b : blocks) {
if (b.getRelative(direction).hasMetadata("pistonTrack")) { if (b.getRelative(direction).hasMetadata("pistonTrack")) {