package Ġshow case Ċ Ċ import Ġdev . s 7 a . kt sp ig ot . config . Kt Config Ċ import Ġdev . s 7 a . kt sp ig ot . config . check Values Ċ import Ġdev . s 7 a . kt sp ig ot . config . print Errors Ċ import Ġdev . s 7 a . kt sp ig ot . config . type . intValue Ċ import Ġdev . s 7 a . kt sp ig ot . config . type . material Value Ċ import Ġdev . s 7 a . kt sp ig ot . config . type . stringValue Ċ import Ġorg . bukkit . Material Ċ import Ġorg . bukkit . inventory . ItemStack Ċ import Ġorg . bukkit . plugin . java . Java Plugin Ċ Ċ // ĠCODE - SN IP PET ĠBEGIN Ċ /** Ċ Ġ* Ġ ãĥĹ ãĥ© ãĤ° ãĤ¤ãĥ³ ãģ® ãĥ¡ ãĤ¤ãĥ³ ãĤ¯ãĥ©ãĤ¹ Ċ Ġ*/ Ċ class ĠMain Ġ: ĠJava Plugin () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġitem Config : ĠItem Config ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Enable () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ ãĥĹ ãĥ© ãĤ° ãĤ¤ãĥ³ èµ· åĭķ æĻĤ ãģ« ãĤ³ãĥ³ ãĥķãĤ£ ãĤ° ãĤĴ èªŃãģ¿ è¾¼ ãĤĢ ĊĠĠĠĠĠĠĠ Ġitem Config Ġ= ĠItem Config ( this ). apply ( Item Config :: load ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠãĤ³ ãĥ³ ãĥķãĤ£ ãĤ° Ċ Ġ*/ Ċ class ĠItem Config ( private Ġval Ġplugin : ĠJava Plugin ) Ġ: ĠK t Config ( plugin , Ġ" item . yml ") Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĤ³ ãĥ³ ãĥķãĤ£ ãĤ° ãģĭãĤī ãĥŀ ãĥĨ ãĥª ãĤ¢ ãĥ« ãĤĴåıĸå¾Ĺ ãģĻãĤĭ ãĢĤ ĊĠĠĠĠ Ġ* Ġ è¨Ńå®ļ ãģķãĤĮ ãģ¦ãģĦ ãģª ãģĳ ãĤĮãģ° ãĥ© ãĥ³ ãĥĢ ãĥł ãģª ãĥŀ ãĥĨ ãĥª ãĤ¢ ãĥ« ãĤĴä½¿ ãģĨ ãĢĤ ĊĠĠĠĠ Ġ* Ġãĥĩ ãĥķãĤ© ãĥ« ãĥĪ åĢ¤ ãģ¯ åĪĿ åĽŀ èªŃãģ¿ è¾¼ ãģ¿ æĻĤ ãģ« ãĥķãĤ¡ãĤ¤ãĥ« ãģ¸ æĽ¸ ãģį è¾¼ ãģ¾ ãĤĮãĤĭ ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġtype Ġ= Ġmaterial Value (" material "). default Ġ{ ĠMaterial . values (). random () Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĤ³ ãĥ³ ãĥķãĤ£ ãĤ° ãģĭãĤī æķ´æķ° åĢ¤ ãĤĴåıĸå¾Ĺ ãģĻãĤĭ ãĢĤ ĊĠĠĠĠ Ġ* Ġ è¨Ńå®ļ ãģķãĤĮ ãģ¦ãģĦ ãģª ãģĳ ãĤĮãģ° Ġ 1 ĠãĤĴ ä½¿ ãģĨ ãĢĤ ĊĠĠĠĠ Ġ* Ġ æķ°åŃĹ ä»¥ å¤ĸ ãģĮ è¨Ńå®ļ ãģķãĤĮ ãģ¦ãģĦ ãģ¦ ãĤĤ ãĥĩ ãĥķãĤ© ãĥ« ãĥĪ åĢ¤ ãĤĴä½¿ ãģĨ ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġamount Ġ= Ġint Value (" amount "). default ( 1 ). force () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĤ³ ãĥ³ ãĥķãĤ£ ãĤ° ãģĭãĤī æĸĩåŃĹåĪĹ ãĤĴåıĸå¾Ĺ ãģĻãĤĭ ãĢĤ ĊĠĠĠĠ Ġ* Ġ è¨Ńå®ļ ãģķãĤĮ ãģ¦ãģĦ ãģª ãģĳ ãĤĮãģ° Ġnull ĠãĤĴ ä½¿ ãģĨ ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval ĠdisplayName Ġ= Ġstring Value (" display "). nullable () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĤ³ ãĥ³ ãĥķãĤ£ ãĤ° ãģĭãĤī æĸĩåŃĹåĪĹ ãĥªãĤ¹ãĥĪ ãĤĴåıĸå¾Ĺ ãģĻãĤĭ ãĢĤ ĊĠĠĠĠ Ġ* Ġ è¨Ńå®ļ ãģķãĤĮ ãģ¦ãģĦ ãģª ãģĳ ãĤĮãģ° ç©º ãģ« ãģªãĤĭ ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġlo re Ġ= Ġstring Value (" lo re "). list (). or Empty (). force () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĤ¢ ãĤ¤ ãĥĨ ãĥł ãģ¨ãģĹãģ¦ åıĸå¾Ĺ ãģĻãĤĭ ãĢĤ ĊĠĠĠĠ Ġ* Ġ[ type ] Ġãģ« ãĥŀ ãĥĨ ãĥª ãĤ¢ ãĥ« ä»¥ å¤ĸ ãģ® åĢ¤ ãģĮ è¨Ńå®ļ ãģķãĤĮãģ¦ãģĦãĤĭ ãģ¨ Ġnull Ġãģ« ãģªãĤĭ ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġitem Stack : ĠItemStack ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtype . getValue ()?. let Ġ{ Ġmaterial Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItemStack ( material , Ġamount . getValue ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Meta Ġ= Ġitem Meta ?. also Ġ{ Ġmeta Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmeta . set DisplayName ( displayName . getValue ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmeta . lo re Ġ= Ġlo re . getValue () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . load () ĊĠĠĠĠĠĠĠ Ġ// Ġä¸į æŃ£ ãģª åĢ¤ ãģĮãģĤ ãģ£ãģŁ ãĤī ãĥŃãĤ° ãĤĴ æµģ ãģĻ ĊĠĠĠĠĠĠĠ Ġcheck Values (). print Errors ( plugin . logger ) ĊĠĠĠ Ġ} Ċ } Ċ // ĠCODE - SN IP PET ĠEND Ċ