@Override public com.sk89q.worldedit.world.block.BlockState getBlock(BlockVector3 position) { Block bukkitBlock = getWorld().getBlockAt(position.getBlockX(), position.getBlockY(), position.getBlockZ()); return BukkitAdapter.adapt(bukkitBlock.getBlockData()); }
@Override public <B extends BlockStateHolder<B>> void sendFakeBlock(BlockVector3 pos, B block) { Location loc = new Location(player.getWorld(), pos.getX(), pos.getY(), pos.getZ()); if (block == null) { player.sendBlockChange(loc, player.getWorld().getBlockAt(loc).getBlockData()); } else { player.sendBlockChange(loc, BukkitAdapter.adapt(block)); if (block instanceof BaseBlock && ((BaseBlock) block).hasNbtData()) { BukkitImplAdapter adapter = WorldEditPlugin.getInstance().getBukkitImplAdapter(); if (adapter != null) { adapter.sendFakeNBT(player, pos, ((BaseBlock) block).getNbtData()); if (block.getBlockType() == BlockTypes.STRUCTURE_BLOCK) { adapter.sendFakeOP(player); } } } } } }
/** * Checks if the block is a chest * * @param block Block to check * @return Is this block a chest? */ public static boolean isChest(Block block) { return block.getBlockData() instanceof org.bukkit.block.data.type.Chest; }
/** * Checks whether a door is open. * * @param door the door block * @return true or false */ public static boolean isDoorOpen(Block door) { Openable openable = (Openable) door.getBlockData(); return openable.isOpen(); }
private static Block getAttachedBlock(Block block) { if (block.getBlockData() instanceof Directional) { return block.getRelative(((Directional) block.getBlockData()).getFacing().getOppositeFace()); } return null; }
@Override public boolean read() { final BlockData md = this.getBlock().getBlockData(); if(md instanceof Powerable) { return ((Powerable) md).isPowered(); } return false; }
private boolean isFullGrown(Block block){ org.bukkit.block.data.Ageable ageable = ((org.bukkit.block.data.Ageable)block.getBlockData()); return ageable.getAge() >= ageable.getMaximumAge(); }
@Override public boolean read() { if(((AnaloguePowerable) this.getBlock().getBlockData()).getPower() != 0) { // if(ByteCart.debug) // ByteCart.log.info("Redstone wire on at (" + this.getBlock().getLocation().toString() + ")"); return true; } // if(ByteCart.debug) // ByteCart.log.info("Redstone wire off at (" + this.getBlock().getLocation().toString() + ")"); return false; }
private boolean isSiegeCube(Block b) { boolean faced = b.getType().equals(Material.BROWN_MUSHROOM_BLOCK); BlockData blockData = b.getBlockData(); if (blockData instanceof MultipleFacing) { MultipleFacing mf = (MultipleFacing) b.getBlockData(); for (BlockFace face : mf.getAllowedFaces()) { if (!mf.hasFace(face)) { return false; } } } return faced; }
@Override public boolean read() { BlockData md = this.getBlock().getBlockData(); if(md instanceof Powerable) { return ((Powerable) md).isPowered(); } return false; }
private boolean isDoorOpen(int id) { HashMap<String, Object> where = new HashMap<>(); where.put("tardis_id", id); where.put("door_type", 1); ResultSetDoors rs = new ResultSetDoors(plugin, where, false); if (rs.resultSet()) { Openable door = (Openable) TARDISLocationGetters.getLocationFromDB(rs.getDoor_location(), 0.0f, 0.0f).getBlock().getBlockData(); return door.isOpen(); } return false; } }
@Override public boolean getBit(int index) { final AnaloguePowerable wire = ((AnaloguePowerable) this.getBlock().getBlockData()); return (wire.getPower() & 1 << (length() - index)) != 0; }
@Override public void run() { final Block block = component.getBlock(); if (block.getBlockData() instanceof Switch) { final Switch button = (Switch) block.getBlockData(); button.setPowered(false); block.setBlockData(button); MathUtil.forceUpdate(block.getRelative(button.getFacing().getOppositeFace())); } ActivatedButtonMap.remove(block.getLocation()); } }
private void extend(Block b, Block l) { l.setBlockData(Material.PISTON_HEAD.createBlockData()); Piston piston = (Piston) b.getBlockData(); piston.setExtended(true); b.setBlockData(piston, true); }
public void placeSigns() { List<Block> blocks = getSignBlocks(false); for (Block block : blocks) { block.setType(Material.WALL_SIGN); Directional d = (Directional) block.getBlockData(); d.setFacing(facing); block.setBlockData(d); } }
public MgBlockData(Block original, MinigamePlayer modifier){ location = original.getLocation(); state = original.getState(); blockData = original.getBlockData().getAsString(); if(modifier !=null)playerUUID = modifier.getUUID(); }
@Override public final void setBlock(int x, int y, int z, Material material, Type type) { Block block = getActualBlock(x, y, z); block.setType(material, false); BlockData data = block.getBlockData(); try { if (data instanceof Slab) ((Slab) data).setType(type); } finally { block.setBlockData(data, getDoPhysics(x, z)); } }
@Override public String getAsString() { return String.format("%d,%d,%d,%s %s:%s", object.getX(), object.getY(), object.getZ(), object.getWorld().getName(), object.getType(), object.getBlockData().getAsString()); } };
public final Block setBlock(int x, int y, int z, Material material, Half half) { Block block = getActualBlock(x, y, z); block.setType(material, false); BlockData data = block.getBlockData(); try { if (data instanceof Bisected) ((Bisected) data).setHalf(half); } finally { block.setBlockData(data, getDoPhysics(x, z)); } return block; }
public CTFFlag(Location spawn, Team team, Player carrier, Minigame minigame){ spawnLocation = spawn; data = spawnLocation.getBlock().getBlockData(); spawnData = spawnLocation.getBlock().getState(); signText = ((Sign)spawnLocation.getBlock().getState()).getLines(); this.team = team; this.setMinigame(minigame); respawnTime = Minigames.getPlugin().getConfig().getInt("multiplayer.ctf.flagrespawntime"); }