package Ġnet . ar un ek o . chain dig ger . listeners čĊč Ċ import Ġnet . ar un ek o . chain dig ger . extensions . find Chunk č Ċ import Ġnet . ar un ek o . chain dig ger . extensions . is Dig gable č Ċ import Ġorg . bukkit . Server č Ċ import Ġorg . bukkit . Tag . M INE ABLE _ SHO VEL č Ċ import Ġorg . bukkit . event . EventHandler č Ċ import Ġorg . bukkit . event . Listener č Ċ import Ġorg . bukkit . event . block . Block Break Event č Ċ import Ġorg . bukkit . plugin . Plugin čĊč Ċ class ĠChain Dig ger Listener ( private Ġval Ġplugin : ĠPlugin , Ġprivate Ġval Ġserver : ĠServer , Ġprivate Ġval Ġrange : ĠInt ) Ġ: ĠListener Ġ{ čĊĠĠĠ Ġ@ EventHandler čĊĠĠĠ Ġfun Ġon Break Block ( event : ĠBlock Break Event ) Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġevent . player čĊĠĠĠĠĠĠĠ Ġval Ġmain Hand Item Ġ= Ġplayer . inventory . item In Main Hand čĊčĊĠĠĠĠĠĠĠ Ġif Ġ(! player . is S ne aking ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ãĤ¹ ãĥĭ ãĥ¼ãĤ¯ ãģĹãģ¦ ãģª ãģĭ ãģ£ãģŁ ãĤī ãĤĦ ãĤģ ãĤĭ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġval Ġblock Ġ= Ġevent . block čĊčĊĠĠĠĠĠĠĠ Ġif Ġ(! block . is Preferred Tool ( main Hand Item ) Ġ|| Ġ! M INE ABLE _ SHO VEL . is Tagged ( block . type )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ éģ© æŃ£ ãĥĦ ãĥ¼ãĥ« ãģĺ ãĤ ĥ ãģª ãģĭ ãģ£ãģŁ ãĤī ãĤĦ ãĤģ ãĤĭ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġif Ġ(! block . is Dig gable ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġval Ġchunk Ġ= Ġblock . find Chunk ( range ) čĊĠĠĠĠĠĠĠ Ġchunk . forEach Ġ{ Ġit . break N atur ally ( main Hand Item ) Ġ} čĊĠĠĠ Ġ} č Ċ } čĊ