Buggy code:
public class LiftRedstoneListener extends BlockListener { private final Lift plugin ; public LiftRedstoneListener ( Lift instance ) { } public void onBlockRedstoneChange ( BlockRedstoneEvent event ) { Block block = event . getBlock ( ) ; Elevator elevator = null ; if ( ( ( ( block . getType ( ) ) == ( Material . STONE_BUTTON ) ) && ( ! ( block . isBlockIndirectlyPowered ( ) ) ) ) && ( ( block . getRelative ( UP ) . getType ( ) ) == ( Material . WALL_SIGN ) ) ) { long startTime = System . currentTimeMillis ( ) ; elevator = new Elevator ( this . plugin , block ) ; for ( Elevator e : plugin . lifts ) { if ( e . floorBlocks . contains ( elevator . floorBlocks . toArray ( ) [ 0 ] ) ) return ; } if ( ( elevator . getTotalFloors ( ) ) < 2 ) return ; int y = block . getY ( ) ; Floor startFloor = elevator . getFloormap ( ) . get ( y ) ; elevator . startFloor = startFloor ; String line = ( ( org . bukkit . block . Sign ) ( block . getRelative ( UP ) . getState ( ) ) ) . getLine ( 2 ) ; if ( line . isEmpty ( ) ) return ; String [ ] splits = line . split ( ":<seq2seq4repair_space>" ) ; if ( ( splits . length ) != 2 ) return ; int destination = Integer . parseInt ( splits [ 1 ] ) ; Floor destFloor = elevator . getFloorFromN ( destination ) ; elevator . destFloor = destFloor ; if ( plugin . debug ) { System . out . println ( ( "Elevator<seq2seq4repair_space>start<seq2seq4repair_space>floor:" + ( startFloor . getFloor ( ) ) ) ) ; System . out . println ( ( "Elevator<seq2seq4repair_space>destination<seq2seq4repair_space>floor:" + destination ) ) ; <START_BUG> System . out . println ( ( "Elevator<seq2seq4repair_space>destination<seq2seq4repair_space>y:" + destination ) ) ; <END_BUG> } for ( Chunk chunk : elevator . chunks ) { for ( Entity e : chunk . getEntities ( ) ) { if ( ( elevator . isInShaftAtFloor ( e , startFloor ) ) && ( e instanceof LivingEntity ) ) elevator . addPassenger ( ( ( LivingEntity ) ( e ) ) ) ; } } ArrayList < Floor > glassfloors = new ArrayList < Floor > ( ) ; if ( ( startFloor . getY ( ) ) < ( destFloor . getY ( ) ) ) { for ( int i = ( startFloor . getFloor ( ) ) + 1 ; i <= ( destFloor . getFloor ( ) ) ; i ++ ) { glassfloors . add ( elevator . getFloormap2 ( ) . get ( i ) ) ; } } else { for ( int i = ( destFloor . getFloor ( ) ) + 1 ; i <= ( startFloor . getFloor ( ) ) ; i ++ ) { glassfloors . add ( elevator . getFloormap2 ( ) . get ( i ) ) ; } } for ( Floor f : glassfloors ) { for ( Block b : elevator . floorBlocks ) { Block gb = block . getWorld ( ) . getBlockAt ( b . getX ( ) , ( ( f . getY ( ) ) - 2 ) , b . getZ ( ) ) ; gb . setType ( AIR ) ; elevator . glassBlocks . add ( gb ) ; } } for ( Entity p : elevator . getPassengers ( ) ) { if ( plugin . useSpout ) { if ( p instanceof Player ) { SpoutManager . getPlayer ( ( ( Player ) ( p ) ) ) . setGravityMultiplier ( 0 ) ; SpoutManager . getPlayer ( ( ( Player ) ( p ) ) ) . setCanFly ( true ) ; } } if ( ( destFloor . getY ( ) ) > ( startFloor . getY ( ) ) ) { elevator . goingUp = true ; } else { plugin . fallers . add ( p ) ; } } elevator . taskid = plugin . getServer ( ) . getScheduler ( ) . scheduleSyncRepeatingTask ( plugin , elevator , 2 , 2 ) ; plugin . lifts . add ( elevator ) ; if ( plugin . debug ) System . out . println ( ( "Total<seq2seq4repair_space>time:<seq2seq4repair_space>" + ( Long . toString ( ( ( System . currentTimeMillis ( ) ) - startTime ) ) ) ) ) ; } } No newline ; at end ; of file ; }

Fix:
System . out . println ( ( "Elevator<seq2seq4repair_space>destination<seq2seq4repair_space>y:" + ( destFloor . getY ( ) ) ) ) ;