Buggy code:
if ( ! ( icontemp . contains ( "|" ) ) ) { ItemMeta iconMeta = spellIcon . getItemMeta ( ) ; iconMeta . setDisplayName ( ( ( MagicSpells . getTextColor ( ) ) + ( name ) ) ) ; spellIcon . setItemMeta ( iconMeta ) ; } } } this . broadcastRange = config . getInt ( ( ( ( section + "." ) + spellName ) + ".broadcast-range" ) , MagicSpells . plugin . broadcastRange ) ; this . experience = config . getInt ( ( ( ( section + "." ) + spellName ) + ".experience" ) , 0 ) ; this . castTime = config . getInt ( ( ( ( section + "." ) + spellName ) + ".cast-time" ) , 0 ) ; this . interruptOnMove = config . getBoolean ( ( ( ( section + "." ) + spellName ) + ".interrupt-on-move" ) , true ) ; this . interruptOnTeleport = config . getBoolean ( ( ( ( section + "." ) + spellName ) + ".interrupt-on-teleport" ) , true ) ; this . interruptOnDamage = config . getBoolean ( ( ( ( section + "." ) + spellName ) + ".interrupt-on-damage" ) , false ) ; this . interruptOnCast = config . getBoolean ( ( ( ( section + "." ) + spellName ) + ".interrupt-on-cast" ) , true ) ; this . spellNameOnInterrupt = config . getString ( ( ( ( section + "." ) + spellName ) + ".spell-on-interrupt" ) , null ) ; this . minRange = config . getInt ( ( ( ( section + "." ) + spellName ) + ".min-range" ) , 0 ) ; this . range = config . getInt ( ( ( ( section + "." ) + spellName ) + ".range" ) , 20 ) ; this . spellPowerAffectsRange = config . getBoolean ( ( ( ( section + "." ) + spellName ) + ".spell-power-affects-range" ) , false ) ; this . obeyLos = config . getBoolean ( ( ( ( section + "." ) + spellName ) + ".obey-los" ) , true ) ; if ( config . contains ( ( ( ( section + "." ) + spellName ) + ".can-target" ) ) ) { if ( config . isList ( ( ( ( section + "." ) + spellName ) + ".can-target" ) ) ) { validTargetList = new ValidTargetList ( this , config . getStringList ( ( ( ( section + "." ) + spellName ) + ".can-target" ) , null ) ) ; } else { validTargetList = new ValidTargetList ( this , config . getString ( ( ( ( section + "." ) + spellName ) + ".can-target" ) , "" ) ) ; } } else { boolean targetPlayers = config . getBoolean ( ( ( ( section + "." ) + spellName ) + ".target-players" ) , true ) ; boolean targetNonPlayers = config . getBoolean ( ( ( ( section + "." ) + spellName ) + ".target-non-players" ) , true ) ; validTargetList = new ValidTargetList ( targetPlayers , targetNonPlayers ) ; } this . beneficial = config . getBoolean ( ( ( ( section + "." ) + spellName ) + ".beneficial" ) , isBeneficialDefault ( ) ) ; this . targetDamageCause = null ; String causeStr = config . getString ( ( ( ( section + "." ) + spellName ) + ".target-damage-cause" ) , null ) ; if ( causeStr != null ) { for ( DamageCause cause : DamageCause . values ( ) ) { if ( cause . name ( ) . equalsIgnoreCase ( causeStr ) ) { this . targetDamageCause = cause ; break ; } } } this . targetDamageAmount = config . getDouble ( ( ( ( section + "." ) + spellName ) + ".target-damage-amount" ) , 0 ) ; this . losTransparentBlocks = MagicSpells . getTransparentBlocks ( ) ; if ( config . contains ( ( ( ( section + "." ) + spellName ) + ".los-transparent-blocks" ) ) ) { <START_BUG> this . losTransparentBlocks = new HashSet < Byte > ( config . getByteList ( ( ( ( section + "." ) + spellName ) + ".target-damage-amount" ) , null ) ) ; <END_BUG> this . losTransparentBlocks . add ( ( ( byte ) ( 0 ) ) ) ; } if ( config . contains ( ( ( ( section + "." ) + spellName ) + ".effects" ) ) ) { this . effects = new HashMap < EffectPosition , List < SpellEffect > > ( ) ; if ( config . isList ( ( ( ( section + "." ) + spellName ) + ".effects" ) ) ) { List < String > effectsList = config . getStringList ( ( ( ( section + "." ) + spellName ) + ".effects" ) , null ) ; if ( effectsList != null ) { for ( Object obj : effectsList ) { if ( obj instanceof String ) { String eff = ( ( String ) ( obj ) ) ; String [ ] data = eff . split ( "<seq2seq4repair_space>" , 3 ) ; EffectPosition pos = getPositionFromString ( data [ 0 ] ) ; if ( pos != null ) { SpellEffect effect = SpellEffect . createNewEffectByName ( data [ 1 ] ) ; if ( effect != null ) { effect . loadFromString ( ( ( data . length ) > 2 ? data [ 2 ] : null ) ) ; List < SpellEffect > e = effects . get ( pos ) ; if ( e == null ) { e = new ArrayList < SpellEffect > ( ) ; effects . put ( pos , e ) ; } e . add ( effect ) ; } } } } }

Fix:
this . losTransparentBlocks = new HashSet < Byte > ( config . getByteList ( ( ( ( section + "." ) + spellName ) + ".los-transparent-blocks" ) , null ) ) ;