/** * Checks whether the type ID and data value are equal. */ @Override public boolean equals(Object o) { if (!(o instanceof BaseBlock)) { if (!hasNbtData() && o instanceof BlockStateHolder) { return Objects.equals(toImmutableState(), ((BlockStateHolder<?>) o).toImmutableState()); } return false; } final BaseBlock otherBlock = (BaseBlock) o; return this.blockState.equalsFuzzy(otherBlock.blockState) && Objects.equals(getNbtData(), otherBlock.getNbtData()); }
@Override public <T extends BlockStateHolder<T>> boolean setBlock(BlockVector3 location, T block) throws WorldEditException { if (super.setBlock(location, block)) { if (lastFullBlock != null && lastFullBlock.position.equals(location)) { this.lastFullBlock = new CachedBlock<>(location, block.toBaseBlock()); } if (lastBlock != null && lastBlock.position.equals(location)) { this.lastBlock = new CachedBlock<>(location, block.toImmutableState()); } return true; } return false; }
if (!block.getBlockType().getMaterial().isAir()) { try { blockBag.fetchPlacedBlock(block.toImmutableState()); } catch (UnplaceableBlockException e) { return false;