private void updateCustomBlockDesigns(Player[] players, long data, BlockDesign design) {

    PacketCustomBlockDesign p = new PacketCustomBlockDesign(msw(data), lsw(data), design);

    for (Player player : players) {
      if (player instanceof SpoutCraftPlayer) {
        SpoutCraftPlayer sp = (SpoutCraftPlayer) player;
        if (sp.isSpoutCraftEnabled()) {
          sp.sendPacket(p);
        }
      }
    }
  }
  public void sendBlockOverrideToPlayers(
      Player[] players, BlockVector blockVector, Integer blockId, Integer metaData) {

    PacketCustomBlockOverride p =
        new PacketCustomBlockOverride(
            blockVector.getBlockX(),
            blockVector.getBlockY(),
            blockVector.getBlockZ(),
            blockId,
            metaData);

    for (Player player : players) {
      if (player instanceof SpoutCraftPlayer) {
        SpoutCraftPlayer sp = (SpoutCraftPlayer) player;
        if (sp.isSpoutCraftEnabled()) {
          sp.sendPacket(p);
        }
      }
    }
  }
  private void updateCustomClientData(Player[] players, int id) {

    int blockId = itemBlock.get(id);

    short metaData = (short) itemMetaData.get(id);

    @SuppressWarnings("unused")
    String pluginName = (String) itemPlugin.get(id);

    PacketCustomItem p = new PacketCustomItem(id, blockId, metaData);

    for (Player player : players) {
      if (player instanceof SpoutCraftPlayer) {
        SpoutCraftPlayer sp = (SpoutCraftPlayer) player;
        if (sp.isSpoutCraftEnabled()) {
          sp.sendPacket(p);
        }
      }
    }
  }