package Ġcom . he a 3 ven . m alle able . item Ċ Ċ import Ġcom . he a 3 ven . m alle able . metal . Metal Ċ import Ġnet . minecraft . block . material . Material Ċ import Ġnet . minecraft . block . state . I BlockState Ċ import Ġnet . minecraft . init . Blocks Ċ import Ġnet . minecraft . item . ItemStack Ċ import Ġnet . minecraft . item . Item Tool Ċ Ċ // class ĠItem Metal A xe ( override Ġval Ġmetal : ĠMet al ) Ġ: ĠItem A xe ( metal . tool Material ), ĠItem Metal Single Ġ{ Ċ class ĠItem Metal A xe ( override Ġval Ġmetal : ĠMet al ) Ġ: ĠItem Tool ( metal . tool Material , ĠE FF ECT IVE _ ON ), ĠItem Metal Single Ġ{ Ċ ĉ override Ġfun Ġget Str Vs Block ( stack : ĠItemStack , Ġstate : ĠI BlockState ): ĠFloat Ġ{ Ċĉ ĉ val Ġmaterial Ġ= Ġstate . get Material (); Ċĉ ĉ if Ġ( Ġmaterial Ġ!= ĠMaterial . WO OD Ġ&& Ġmaterial Ġ!= ĠMaterial . PL ANT S Ġ&& Ġmaterial Ġ!= ĠMaterial . V INE Ġ) Ċĉĉ ĉ return Ġsuper . get Str Vs Block ( stack , Ġstate ) Ċĉ ĉ else Ċĉĉ ĉ return Ġthis . e fficiency On Pro per Material ; Ċ ĉ } ĊĊ ĉ comp anion Ġobject Ġ{ Ċĉ ĉ private Ġval ĠE FF ECT IVE _ ON Ġ= Ġset Of ( Blocks . PLAN KS , ĠBlocks . BOOK SHE LF , ĠBlocks . LOG , ĠBlocks . LOG 2 , Ċĉĉĉ ĉ Blocks . CH EST , ĠBlocks . PU MP K IN , ĠBlocks . LIT _ PU MP K IN , ĠBlocks . ME LON _ BLOCK , ĠBlocks . L AD DER , Ċĉĉĉ ĉ Blocks . WO OD EN _ BUTTON , ĠBlocks . WO OD EN _ PRESS URE _ PL ATE ) Ċ ĉ } Ċ Ċ } Ċ