/* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 ĠRed Nest o Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ package Ġio . github . red nest o . b ou . tests Ċ Ċ import Ġio . github . red nest o . b ou . Config Ċ import Ġio . github . red nest o . b ou . api . custom dro ps . Money Lo ot Ċ import Ġio . github . red nest o . b ou . api . loot Re use . Multiply Lo ot Re use Ċ import Ġio . github . red nest o . b ou . api . loot Re use . Simple Lo ot Re use Ċ import Ġio . github . red nest o . b ou . api . quantity . Bounded Int Quantity Ċ import Ġio . github . red nest o . b ou . api . quantity . Fixed Int Quantity Ċ import Ġio . github . red nest o . b ou . config . serializers . B ou Type Tokens Ċ import Ġio . github . red nest o . b ou . integration . custom dro ps . Money Lo ot Component Ċ import Ġio . github . red nest o . b ou . integration . custom dro ps . recipients . Player Inventory Lo ot Recipient Ċ import Ġio . github . red nest o . b ou . integration . g rief pre vention . G rief Pre vention Region Requirement Ċ import Ġio . github . red nest o . b ou . requirements . Data ByKey Requirement Ċ import Ġio . github . red nest o . b ou . tests . framework . Plugin Configuration TestCase Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Assertions . assertTrue Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . spongepowered . api . block . Block Snapshot Ċ Ċ class ĠBlocks D rops Configuration Tests Ġ: ĠPlugin Configuration TestCase < Config . Blocks D rops >(" block sd rops ", ĠB ou Type Tokens . CONFIG _ BLOCKS _ D RO PS ) Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` complex Ġ 1 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġload Config (" complex 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġleaves Ġ= Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdrops Ġ= ĠlistOf ( van illa Drop (" minecraft : co al ", Ġchance Ġ= Ġ 2 5 . 0 , Ġquantity Ġ= ĠFixed Int Quantity ( 1 ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmoney Ġ= ĠMoney Lo ot Component ( Money Lo ot ( Bounded Int Quantity ( 1 0 , Ġ 3 0 ), Ġ" econom yl ite : coin ", Ġ 2 5 . 0 , Ġ"& a You Ġe arn ed Ġ{ money _ amount } ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Lo ot ( dro ps , Ġoverwrite Ġ= Ġtrue , Ġcomponents Ġ= ĠlistOf ( money )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġleaves 2 Ġ= Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdrops Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvanilla Drop (" minecraft : co al ", Ġchance Ġ= Ġ 2 5 . 0 , Ġquantity Ġ= ĠFixed Int Quantity ( 1 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvanilla Drop (" minecraft : dir t ", Ġchance Ġ= Ġ 2 5 . 0 , Ġquantity Ġ= ĠFixed Int Quantity ( 1 ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmoney Ġ Ġ= ĠMoney Lo ot Component ( Money Lo ot ( Bounded Int Quantity ( 1 0 , Ġ 3 0 ), Ġ" econom yl ite : coin ", Ġ 2 5 . 0 , Ġ"& a You Ġe arn ed Ġ{ money _ amount } ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Lo ot ( dro ps , Ġoverwrite Ġ= Ġtrue , Ġcomponents Ġ= ĠlistOf ( money )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġir on O re Ġ= Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreuse Ġ= Ġcustom Re use ( multiplier Ġ= Ġ 2 f , Ġitems Ġ= Ġmap Of (" minecraft : iron _ ore " Ġto ĠSimple Lo ot Re use ( Bounded Int Quantity ( 1 , Ġ 3 )))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmoney Ġ= ĠMoney Lo ot Component ( Money Lo ot ( Bounded Int Quantity ( 1 , Ġ 1 5 ), Ġnull , Ġ 2 5 . 0 , Ġ"& a You Ġe arn ed Ġ{ money _ amount } ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdrops Ġ= ĠlistOf ( van illa Drop (" minecraft : co bble stone ", Ġchance Ġ= Ġ 2 5 . 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Lo ot ( dro ps , Ġreuse Ġ= Ġreuse , Ġcomponents Ġ= ĠlistOf ( money )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġsk ull Ġ= Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequirements Ġ= ĠlistOf ( listOf ( G rief Pre vention Region Requirement ( listOf (" test Ġregion "), Ġtrue ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreuse Ġ= Ġcustom Re use ( multiplier Ġ= Ġ 2 f , Ġrequirements Ġ= ĠlistOf ( listOf ( Data ByKey Requirement (" box - o - utils : block _ data ", ĠBlock Snapshot :: class . java , Ġmap Of (" sponge _ impl : sk ull _ type " Ġto ĠlistOf (" minecraft : ender _ dragon ")) )))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Lo ot ( requirements Ġ= Ġrequirements , Ġreuse Ġ= Ġreuse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġw heat Ġ= Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreuse Items Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" minecraft : seed " Ġto ĠMultiply Lo ot Re use ( 3 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" minecraft : w heat " Ġto ĠSimple Lo ot Re use ( Bounded Int Quantity ( 1 , Ġ 5 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreuse Ġ= Ġcustom Re use ( items Ġ= Ġreuse Items ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Lo ot ( reuse Ġ= Ġreuse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġstone Ġ= Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdrops Ġ= ĠlistOf ( van illa Drop (" minecraft : stone ", Ġunsafe Damage Ġ= Ġ 1 6 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Lo ot ( dro ps ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" minecraft : leaves " Ġto ĠlistOf ( leaves ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" minecraft : leaves 2 " Ġto ĠlistOf ( leaves 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" minecraft : iron _ ore " Ġto ĠlistOf ( iron O re ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" minecraft : sk ull " Ġto ĠlistOf ( sk ull ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" minecraft : w heat " Ġto ĠlistOf ( w heat ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" minecraft : stone " Ġto ĠlistOf ( stone ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( config . enabled ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġconfig . dro ps ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` dro ps Ġby Ġprovider Ġ 1 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġload Config (" dro ps By Provider 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġdrops Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbyte Items Drop (" the _ item "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvanilla Drop (" minecraft : co bble stone ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġcustom Lo ot Ġ= Ġcustom Lo ot ( dro ps ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġmap Of (" minecraft : iron _ ore " Ġto ĠlistOf ( custom Lo ot )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( config . enabled ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġconfig . dro ps ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` dro ps Ġby Ġprovider Ġ 2 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġload Config (" dro ps By Provider 2 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġdrops Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvanilla Drop (" minecraft : co bble stone "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbyte Items Drop (" the _ item ", Ġquantity Ġ= ĠFixed Int Quantity ( 2 )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġcustom Lo ot Ġ= Ġcustom Lo ot ( dro ps ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġmap Of (" minecraft : iron _ ore " Ġto ĠlistOf ( custom Lo ot )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( config . enabled ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġconfig . dro ps ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` dro ps Ġby Ġprovider Ġ 3 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġload Config (" dro ps By Provider 3 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġdrops Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbyte Items Drop (" the _ item ", Ġchance Ġ= Ġ 1 0 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbyte Items Drop (" the _ item "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvanilla Drop (" minecraft : co bble stone "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvanilla Drop (" minecraft : stone ", Ġchance Ġ= Ġ 2 5 . 0 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġcustom Lo ot Ġ= Ġcustom Lo ot ( dro ps ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġmap Of (" minecraft : iron _ ore " Ġto ĠlistOf ( custom Lo ot )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( config . enabled ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġconfig . dro ps ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` mixed Ġdrops Ġ 1 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġload Config (" mixed D rops 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġdrops Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvanilla Drop (" minecraft : stone "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvanilla Drop (" minecraft : co bble stone ", Ġchance Ġ= Ġ 2 5 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbyte Items Drop (" the _ item ", Ġquantity Ġ= ĠFixed Int Quantity ( 2 )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġcustom Lo ot Ġ= Ġcustom Lo ot ( dro ps ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġmap Of (" minecraft : iron _ ore " Ġto ĠlistOf ( custom Lo ot )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( config . enabled ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġconfig . dro ps ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` requirements Ġ 1 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġload Config (" requirements 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġrequirements Ġ= ĠlistOf ( listOf ( Data ByKey Requirement (" box - o - utils : block _ data ", ĠBlock Snapshot :: class . java , Ġmap Of (" sponge _ impl : sk ull _ type " Ġto ĠlistOf (" minecraft : ender _ dragon ")) ))) ĊĠĠĠĠĠĠĠ Ġval Ġcustom Lo ot Ġ= Ġcustom Lo ot ( requirements Ġ= Ġrequirements ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġmutable Map Of (" minecraft : sk ull " Ġto ĠlistOf ( custom Lo ot )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( config . enabled ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġconfig . dro ps ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` simple Ġ 1 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġload Config (" simple 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġitem Lo ots Ġ= ĠlistOf ( van illa Drop (" minecraft : co bble stone ", Ġchance Ġ= Ġ 2 5 . 0 )) ĊĠĠĠĠĠĠĠ Ġval Ġcustom Lo ot Ġ= Ġcustom Lo ot ( item Lo ots , Ġrecipient Ġ= ĠPlayer Inventory Lo ot Recipient . INSTANCE ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġmap Of (" minecraft : iron _ ore " Ġto ĠlistOf ( custom Lo ot )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( config . enabled ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġconfig . dro ps ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` simple Ġ 2 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġload Config (" simple 2 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġmoney Lo ot Ġ= ĠMoney Lo ot Component ( Money Lo ot ( Bounded Int Quantity ( 1 0 , Ġ 3 0 ), Ġ" econom yl ite : coin ", Ġ 2 5 . 0 , Ġ"& a You Ġe arn ed Ġ{ money _ amount } ")) ĊĠĠĠĠĠĠĠ Ġval Ġitem Lo ots Ġ= ĠlistOf ( van illa Drop (" minecraft : co al ", Ġchance Ġ= Ġ 2 5 . 0 , Ġquantity Ġ= ĠFixed Int Quantity ( 1 ))) ĊĠĠĠĠĠĠĠ Ġval Ġcustom Lo ot Ġ= Ġcustom Lo ot ( item Lo ots , Ġoverwrite Ġ= Ġtrue , Ġcomponents Ġ= ĠlistOf ( money Lo ot )) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġmap Of (" minecraft : leaves " Ġto ĠlistOf ( custom Lo ot )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( config . enabled ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġconfig . dro ps ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` simple Ġdrop Ġ 1 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġload Config (" simple Drop 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġdrops Ġ= ĠlistOf ( van illa Drop (" minecraft : co bble stone ")) ĊĠĠĠĠĠĠĠ Ġval Ġcustom Lo ot Ġ= Ġcustom Lo ot ( dro ps ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġmap Of (" minecraft : iron _ ore " Ġto ĠlistOf ( custom Lo ot )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( config . enabled ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġconfig . dro ps ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` simple Ġdrop Ġ 2 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġload Config (" simple Drop 2 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġdrops Ġ= ĠlistOf ( van illa Drop (" minecraft : co bble stone ", Ġquantity Ġ= ĠBo unded Int Quantity ( 0 , Ġ 2 ))) ĊĠĠĠĠĠĠĠ Ġval Ġcustom Lo ot Ġ= Ġcustom Lo ot ( dro ps ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġmap Of (" minecraft : iron _ ore " Ġto ĠlistOf ( custom Lo ot )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( config . enabled ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġconfig . dro ps ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` simple st Ġdrop `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġload Config (" simple st Drop ") ĊĊĠĠĠĠĠĠĠ Ġval Ġdrops Ġ= ĠlistOf ( van illa Drop (" minecraft : co bble stone ")) ĊĠĠĠĠĠĠĠ Ġval Ġcustom Lo ot Ġ= Ġcustom Lo ot ( dro ps ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġmap Of (" minecraft : iron _ ore " Ġto ĠlistOf ( custom Lo ot )) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( config . enabled ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġconfig . dro ps ) ĊĠĠĠ Ġ} Ċ } Ċ