@@ -79,8 +79,11 @@ public boolean onCommand(final CommandSender sender, Command command, String lab
7979 Skilltree skilltree = MyPetApi .getSkilltreeManager ().getSkilltree (skilltreeName .toString ());
8080 if (skilltree .getMobTypes ().contains (myPet .getPetType ()) && skilltree .checkRequirements (myPet )) {
8181 int requiredLevel = skilltree .getRequiredLevel ();
82+ int maxLevel = skilltree .getMaxLevel ();
8283 if (requiredLevel > 1 && myPet .getExperience ().getLevel () < requiredLevel ) {
8384 myPet .getOwner ().sendMessage (Util .formatText (Translation .getString ("Message.Skilltree.RequiresLevel.Message" , player ), myPet .getPetName (), requiredLevel ));
85+ } else if (myPet .getExperience ().getLevel () > maxLevel ) {
86+ myPet .getOwner ().sendMessage (Util .formatText (Translation .getString ("Message.Skilltree.MaxLevel.Message" , player ), myPet .getPetName (), maxLevel ));
8487 } else if (myPet .setSkilltree (skilltree , MyPetSelectSkilltreeEvent .Source .PlayerCommand )) {
8588 sender .sendMessage (Util .formatText (Translation .getString ("Message.Skilltree.SwitchedTo" , player ), Colorizer .setColors (skilltree .getDisplayName ())));
8689 if (!myPet .getOwner ().isMyPetAdmin () || Configuration .Skilltree .SWITCH_FEE_ADMIN ) {
@@ -130,13 +133,16 @@ public boolean onCommand(final CommandSender sender, Command command, String lab
130133 if (myPet .getSkilltree () != null && Configuration .Skilltree .CHOOSE_SKILLTREE_ONLY_ONCE && !myPet .getOwner ().isMyPetAdmin ()) {
131134 sender .sendMessage (Util .formatText (Translation .getString ("Message.Command.ChooseSkilltree.OnlyOnce" , myPet .getOwner ()), myPet .getPetName ()));
132135 } else if (skilltreeSlotMap .containsKey (event .getPosition ())) {
133- Skilltree selecedSkilltree = skilltreeSlotMap .get (event .getPosition ());
134- if (selecedSkilltree != null ) {
135- int requiredLevel = selecedSkilltree .getRequiredLevel ();
136+ Skilltree selectedSkilltree = skilltreeSlotMap .get (event .getPosition ());
137+ if (selectedSkilltree != null ) {
138+ int requiredLevel = selectedSkilltree .getRequiredLevel ();
139+ int maxLevel = selectedSkilltree .getMaxLevel ();
136140 if (requiredLevel > 1 && myPet .getExperience ().getLevel () < requiredLevel ) {
137141 myPet .getOwner ().sendMessage (Util .formatText (Translation .getString ("Message.Skilltree.RequiresLevel.Message" , myPetOwner ), myPet .getPetName (), requiredLevel ));
138- } else if (myPet .setSkilltree (selecedSkilltree , MyPetSelectSkilltreeEvent .Source .PlayerCommand )) {
139- myPet .getOwner ().sendMessage (Util .formatText (Translation .getString ("Message.Skilltree.SwitchedTo" , myPetOwner ), Colorizer .setColors (selecedSkilltree .getDisplayName ())));
142+ } else if (myPet .getExperience ().getLevel () > maxLevel ) {
143+ myPet .getOwner ().sendMessage (Util .formatText (Translation .getString ("Message.Skilltree.MaxLevel.Message" , myPetOwner ), myPet .getPetName (), maxLevel ));
144+ } else if (myPet .setSkilltree (selectedSkilltree , MyPetSelectSkilltreeEvent .Source .PlayerCommand )) {
145+ myPet .getOwner ().sendMessage (Util .formatText (Translation .getString ("Message.Skilltree.SwitchedTo" , myPetOwner ), Colorizer .setColors (selectedSkilltree .getDisplayName ())));
140146 if (!myPet .getOwner ().isMyPetAdmin () || Configuration .Skilltree .SWITCH_FEE_ADMIN ) {
141147 double switchPenalty = Configuration .Skilltree .SWITCH_FEE_FIXED ;
142148 switchPenalty += myPet .getExperience ().getExp () * Configuration .Skilltree .SWITCH_FEE_PERCENT / 100. ;
@@ -230,4 +236,4 @@ public List<String> onTabComplete(CommandSender sender, Command command, String
230236 }
231237 return Collections .emptyList ();
232238 }
233- }
239+ }
0 commit comments