Program: 79955
Project: 79955
Buggy source:
public WitherAssembler(Category category,ItemStack item,String name,RecipeType recipeType,ItemStack[] recipe){
  super(category,item,name,recipeType,recipe);
  new BlockMenuPreset(name,getInventoryTitle()){
    @Override public void init(){
      constructMenu(this);
    }
    @Override public void newInstance(    final BlockMenu menu,    final Block b){
      try {
        if (!BlockStorage.hasBlockInfo(b) || BlockStorage.getBlockInfo(b,"String_Node_Str") == null || BlockStorage.getBlockInfo(b,"String_Node_Str").equals("String_Node_Str")) {
          menu.replaceExistingItem(22,new CustomItem(new MaterialData(Material.SULPHUR),"String_Node_Str","String_Node_Str","String_Node_Str"));
          menu.addMenuClickHandler(22,new MenuClickHandler(){
            @Override public boolean onClick(            Player p,            int arg1,            ItemStack arg2,            ClickAction arg3){
              BlockStorage.addBlockInfo(b,"String_Node_Str","String_Node_Str");
              newInstance(menu,b);
              return false;
            }
          }
);
        }
 else {
          menu.replaceExistingItem(22,new CustomItem(new MaterialData(Material.REDSTONE),"String_Node_Str","String_Node_Str","String_Node_Str"));
          menu.addMenuClickHandler(22,new MenuClickHandler(){
            @Override public boolean onClick(            Player p,            int arg1,            ItemStack arg2,            ClickAction arg3){
              BlockStorage.addBlockInfo(b,"String_Node_Str","String_Node_Str");
              newInstance(menu,b);
              return false;
            }
          }
);
        }
        double offset=(!BlockStorage.hasBlockInfo(b) || BlockStorage.getBlockInfo(b,"String_Node_Str") == null) ? 3.0F : Double.valueOf(BlockStorage.getBlockInfo(b,"String_Node_Str"));
        menu.replaceExistingItem(31,new CustomItem(new MaterialData(Material.PISTON_BASE),"String_Node_Str" + offset + "String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"));
        menu.addMenuClickHandler(31,new MenuClickHandler(){
          @Override public boolean onClick(          Player p,          int arg1,          ItemStack arg2,          ClickAction arg3){
            double offset=DoubleHandler.fixDouble(Double.valueOf(BlockStorage.getBlockInfo(b,"String_Node_Str")) + (arg3.isRightClicked() ? -0.1F : 0.1F));
            BlockStorage.addBlockInfo(b,"String_Node_Str",String.valueOf(offset));
            newInstance(menu,b);
            return false;
          }
        }
);
      }
 catch (      Exception x) {
        x.printStackTrace();
      }
    }
    @Override public boolean canOpen(    Block b,    Player p){
      return p.hasPermission("String_Node_Str") || CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(),b,true);
    }
    @Override public int[] getSlotsAccessedByItemTransport(    ItemTransportFlow flow){
      if (flow.equals(ItemTransportFlow.INSERT))       return getInputSlots();
 else       return new int[0];
    }
    @Override public int[] getSlotsAccessedByItemTransport(    BlockMenu menu,    ItemTransportFlow flow,    ItemStack item){
      if (flow.equals(ItemTransportFlow.INSERT)) {
        if (SlimefunManager.isItemSimiliar(item,new ItemStack(Material.SOUL_SAND),true))         return getSoulSandSlots();
 else         return getWitherSkullSlots();
      }
 else       return new int[0];
    }
  }
;
  registerBlockHandler(name,new SlimefunBlockHandler(){
    @Override public void onPlace(    Player p,    Block b,    SlimefunItem item){
      BlockStorage.addBlockInfo(b,"String_Node_Str","String_Node_Str");
      BlockStorage.addBlockInfo(b,"String_Node_Str","String_Node_Str");
    }
    @Override public boolean onBreak(    Player p,    Block b,    SlimefunItem item,    UnregisterReason reason){
      if (reason.equals(UnregisterReason.EXPLODE))       return false;
      BlockMenu inv=BlockStorage.getInventory(b);
      if (inv != null) {
        for (        int slot : getSoulSandSlots()) {
          if (inv.getItemInSlot(slot) != null)           b.getWorld().dropItemNaturally(b.getLocation(),inv.getItemInSlot(slot));
        }
        for (        int slot : getWitherSkullSlots()) {
          if (inv.getItemInSlot(slot) != null)           b.getWorld().dropItemNaturally(b.getLocation(),inv.getItemInSlot(slot));
        }
      }
      return true;
    }
  }
);
}

Fixed version (ground truth):
public WitherAssembler(Category category,ItemStack item,String name,RecipeType recipeType,ItemStack[] recipe){
  super(category,item,name,recipeType,recipe);
  new BlockMenuPreset(name,getInventoryTitle()){
    @Override public void init(){
      constructMenu(this);
    }
    @Override public void newInstance(    final BlockMenu menu,    final Block b){
      try {
        if (!BlockStorage.hasBlockInfo(b) || BlockStorage.getBlockInfo(b,"String_Node_Str") == null || BlockStorage.getBlockInfo(b,"String_Node_Str").equals("String_Node_Str")) {
          menu.replaceExistingItem(22,new CustomItem(new MaterialData(Material.SULPHUR),"String_Node_Str","String_Node_Str","String_Node_Str"));
          menu.addMenuClickHandler(22,new MenuClickHandler(){
            @Override public boolean onClick(            Player p,            int arg1,            ItemStack arg2,            ClickAction arg3){
              BlockStorage.addBlockInfo(b,"String_Node_Str","String_Node_Str");
              newInstance(menu,b);
              return false;
            }
          }
);
        }
 else {
          menu.replaceExistingItem(22,new CustomItem(new MaterialData(Material.REDSTONE),"String_Node_Str","String_Node_Str","String_Node_Str"));
          menu.addMenuClickHandler(22,new MenuClickHandler(){
            @Override public boolean onClick(            Player p,            int arg1,            ItemStack arg2,            ClickAction arg3){
              BlockStorage.addBlockInfo(b,"String_Node_Str","String_Node_Str");
              newInstance(menu,b);
              return false;
            }
          }
);
        }
        double offset=(!BlockStorage.hasBlockInfo(b) || BlockStorage.getBlockInfo(b,"String_Node_Str") == null) ? 3.0F : Double.valueOf(BlockStorage.getBlockInfo(b,"String_Node_Str"));
        menu.replaceExistingItem(31,new CustomItem(new MaterialData(Material.PISTON_BASE),"String_Node_Str" + offset + "String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"));
        menu.addMenuClickHandler(31,new MenuClickHandler(){
          @Override public boolean onClick(          Player p,          int arg1,          ItemStack arg2,          ClickAction arg3){
            double offset=DoubleHandler.fixDouble(Double.valueOf(BlockStorage.getBlockInfo(b,"String_Node_Str")) + (arg3.isRightClicked() ? -0.1F : 0.1F));
            BlockStorage.addBlockInfo(b,"String_Node_Str",String.valueOf(offset));
            newInstance(menu,b);
            return false;
          }
        }
);
      }
 catch (      Exception x) {
        x.printStackTrace();
      }
    }
    @Override public boolean canOpen(    Block b,    Player p){
      return p.hasPermission("String_Node_Str") || CSCoreLib.getLib().getProtectionManager().canAccessChest(p.getUniqueId(),b,true);
    }
    @Override public int[] getSlotsAccessedByItemTransport(    ItemTransportFlow flow){
      if (flow.equals(ItemTransportFlow.INSERT))       return getInputSlots();
 else       return new int[0];
    }
    @Override public int[] getSlotsAccessedByItemTransport(    BlockMenu menu,    ItemTransportFlow flow,    ItemStack item){
      if (flow.equals(ItemTransportFlow.INSERT)) {
        if (SlimefunManager.isItemSimiliar(item,new ItemStack(Material.SOUL_SAND),true))         return getSoulSandSlots();
 else         return getWitherSkullSlots();
      }
 else       return new int[0];
    }
  }
;
  registerBlockHandler(name,new SlimefunBlockHandler(){
    @Override public void onPlace(    Player p,    Block b,    SlimefunItem item){
      BlockStorage.addBlockInfo(b,"String_Node_Str","String_Node_Str");
      BlockStorage.addBlockInfo(b,"String_Node_Str","String_Node_Str");
    }
    @Override public boolean onBreak(    Player p,    Block b,    SlimefunItem item,    UnregisterReason reason){
      if (reason.equals(UnregisterReason.EXPLODE))       return false;
      BlockMenu inv=BlockStorage.getInventory(b);
      if (inv != null) {
        for (        int slot : getSoulSandSlots()) {
          if (inv.getItemInSlot(slot) != null) {
            b.getWorld().dropItemNaturally(b.getLocation(),inv.getItemInSlot(slot));
            inv.replaceExistingItem(slot,null);
          }
        }
        for (        int slot : getWitherSkullSlots()) {
          if (inv.getItemInSlot(slot) != null) {
            b.getWorld().dropItemNaturally(b.getLocation(),inv.getItemInSlot(slot));
            inv.replaceExistingItem(slot,null);
          }
        }
      }
      return true;
    }
  }
);
}