Buggy code:
public class AlterSpell extends BlockSpell { static final String DEFAULT_ADJUSTABLES = "3<seq2seq4repair_space>,5,<seq2seq4repair_space>6,<seq2seq4repair_space>8,<seq2seq4repair_space>9,<seq2seq4repair_space>10,11,12,17,162,18,161,23,24,27,28,29,31,33,35,37,38,43,44,52,53,54,55,58,59,60,61,62,63,65,66,67,68,69,77,78,81,83,85,86,93,94,95,97,98,99,100,104,105,108,109,114,115,125,126,128,134,135,136,140,141,142,144,155,156,159,160,171,172,175" ; static final String DEFAULT_ADJUST_MAX = "2<seq2seq4repair_space>,5,<seq2seq4repair_space>5<seq2seq4repair_space>,15,15,15,15,1<seq2seq4repair_space>,15,15<seq2seq4repair_space>,3<seq2seq4repair_space>,1<seq2seq4repair_space>,5<seq2seq4repair_space>,2<seq2seq4repair_space>,9<seq2seq4repair_space>,9<seq2seq4repair_space>,5<seq2seq4repair_space>,2<seq2seq4repair_space>,5<seq2seq4repair_space>,15,8<seq2seq4repair_space>,8<seq2seq4repair_space>,15,15,15,3<seq2seq4repair_space>,5<seq2seq4repair_space>,15,5<seq2seq4repair_space>,7<seq2seq4repair_space>,8<seq2seq4repair_space>,5<seq2seq4repair_space>,5<seq2seq4repair_space>,15,3<seq2seq4repair_space>,9<seq2seq4repair_space>,3<seq2seq4repair_space>,2<seq2seq4repair_space>,14,15,7<seq2seq4repair_space>,15,15,5<seq2seq4repair_space>,0<seq2seq4repair_space>,5<seq2seq4repair_space>,5<seq2seq4repair_space>,15,<seq2seq4repair_space>5,3<seq2seq4repair_space>,15,15<seq2seq4repair_space>,7<seq2seq4repair_space>,7<seq2seq4repair_space>,3<seq2seq4repair_space>,3<seq2seq4repair_space>,3<seq2seq4repair_space>,7<seq2seq4repair_space>,15<seq2seq4repair_space>,15<seq2seq4repair_space>,3<seq2seq4repair_space>,3<seq2seq4repair_space>,3<seq2seq4repair_space>,3<seq2seq4repair_space>,15<seq2seq4repair_space>,7<seq2seq4repair_space>,7<seq2seq4repair_space>,4<seq2seq4repair_space>,4<seq2seq4repair_space>,3<seq2seq4repair_space>,15<seq2seq4repair_space>,15<seq2seq4repair_space>,15<seq2seq4repair_space>,15<seq2seq4repair_space>,6" ; static final String DEFAULT_ADJUST_MIN = "0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,2<seq2seq4repair_space>,0<seq2seq4repair_space>,0,<seq2seq4repair_space>0,<seq2seq4repair_space>0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,2<seq2seq4repair_space>,0<seq2seq4repair_space>,2<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,2<seq2seq4repair_space>,2<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,5<seq2seq4repair_space>,6<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,3<seq2seq4repair_space>,2<seq2seq4repair_space>,2<seq2seq4repair_space>,0<seq2seq4repair_space>,<seq2seq4repair_space>0,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0<seq2seq4repair_space>,0" ; static final int DEFAULT_RECURSE_DISTANCE = 0 ; public static List < Integer > parseIntegers ( String csvList ) { } @ SuppressWarnings ( "deprecation" ) @ Override public SpellResult onCast ( ConfigurationSection parameters ) { } @ SuppressWarnings ( "deprecation" ) protected void adjust ( Block block , byte dataValue , boolean recursive , int recurseDistance , int rDepth ) { <START_BUG> registerForUndo ( block , false ) ; <END_BUG> block . setData ( dataValue ) ; if ( recursive && ( rDepth < recurseDistance ) ) { Material targetMaterial = block . getType ( ) ; tryAdjust ( block . getRelative ( NORTH ) , dataValue , targetMaterial , recurseDistance , ( rDepth + 1 ) ) ; tryAdjust ( block . getRelative ( WEST ) , dataValue , targetMaterial , recurseDistance , ( rDepth + 1 ) ) ; tryAdjust ( block . getRelative ( SOUTH ) , dataValue , targetMaterial , recurseDistance , ( rDepth + 1 ) ) ; tryAdjust ( block . getRelative ( EAST ) , dataValue , targetMaterial , recurseDistance , ( rDepth + 1 ) ) ; tryAdjust ( block . getRelative ( UP ) , dataValue , targetMaterial , recurseDistance , ( rDepth + 1 ) ) ; tryAdjust ( block . getRelative ( DOWN ) , dataValue , targetMaterial , recurseDistance , ( rDepth + 1 ) ) ; } } protected SpellResult alterEntity ( Entity entity ) { } protected void tryAdjust ( Block target , byte dataValue , Material targetMaterial , int recurseDistance , int rDepth ) { } }

Fix:
registerForUndo ( block ) ;