Explorar o código

Changed Berserk to add items to inventory rather than denying pickup

GJ %!s(int64=12) %!d(string=hai) anos
pai
achega
2be3e3b43c

+ 1 - 0
Changelog.txt

@@ -22,6 +22,7 @@ Version 1.4.06-dev
  = Fixed bug where experience commands were adding levels to all skills when they shouldn't
  = Fixed mcmmo.commands.ptp.send not being set by default
  = Fixed NPE when trying to tab-complete /mctop
+ ! Changed Berserk to add items to inventory rather than denying pickup
  ! Changed Chimaera Wing's recipe result to use the ingredient Material
  ! Players will no longer pickup items to their hotbar while using Unarmed
  ! ExperienceAPI methods will now throw InvalidSkillException if the skill name passed in is invalid.

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/McrefreshCommand.java

@@ -23,7 +23,6 @@ public class McrefreshCommand extends ToggleCommand {
         mcMMOPlayer.resetToolPrepMode();
         mcMMOPlayer.resetAbilityMode();
 
-        player.setCanPickupItems(true);
         player.sendMessage(LocaleLoader.getString("Ability.Generic.Refresh"));
     }
 

+ 1 - 9
src/main/java/com/gmail/nossr50/listeners/PlayerListener.java

@@ -242,7 +242,7 @@ public class PlayerListener implements Listener {
             }
         }
 
-        if (mcMMOPlayer.isUsingUnarmed() && ItemUtils.isShareable(dropStack)) {
+        if ((mcMMOPlayer.isUsingUnarmed() && ItemUtils.isShareable(dropStack)) || mcMMOPlayer.getAbilityMode(AbilityType.BERSERK)) {
             event.setCancelled(Unarmed.handleItemPickup(player.getInventory(), drop));
 
             if (event.isCancelled()) {
@@ -265,10 +265,6 @@ public class PlayerListener implements Listener {
             return;
         }
 
-        if (UserManager.getPlayer(player).getAbilityMode(AbilityType.BERSERK)) {
-            player.setCanPickupItems(true);
-        }
-
         /* GARBAGE COLLECTION */
         BleedTimerTask.bleedOut(player); // Bleed it out
     }
@@ -282,10 +278,6 @@ public class PlayerListener implements Listener {
     public void onPlayerJoin(PlayerJoinEvent event) {
         Player player = event.getPlayer();
 
-        if (UserManager.getPlayer(player).getAbilityMode(AbilityType.BERSERK)) {
-            player.setCanPickupItems(false);
-        }
-
         if (Config.getInstance().getMOTDEnabled() && Permissions.motd(player)) {
             Motd.displayAll(player);
         }

+ 2 - 8
src/main/java/com/gmail/nossr50/util/skills/SkillUtils.java

@@ -180,10 +180,7 @@ public class SkillUtils {
 
         if (ability.getPermissions(player)) {
             if (mcMMOPlayer.getAbilityMode(ability) && (mcMMOPlayer.getProfile().getSkillDATS(ability) * Misc.TIME_CONVERSION_FACTOR) <= curTime) {
-                if (ability == AbilityType.BERSERK) {
-                    player.setCanPickupItems(true);
-                }
-                else if (ability == AbilityType.SUPER_BREAKER || ability == AbilityType.GIGA_DRILL_BREAKER) {
+                if (ability == AbilityType.SUPER_BREAKER || ability == AbilityType.GIGA_DRILL_BREAKER) {
                     handleAbilitySpeedDecrease(player);
                 }
 
@@ -404,10 +401,7 @@ public class SkillUtils {
             playerProfile.setSkillDATS(ability, System.currentTimeMillis() + (ticks * Misc.TIME_CONVERSION_FACTOR));
             mcMMOPlayer.setAbilityMode(ability, true);
 
-            if (ability == AbilityType.BERSERK) {
-                player.setCanPickupItems(false);
-            }
-            else if (ability == AbilityType.SUPER_BREAKER || ability == AbilityType.GIGA_DRILL_BREAKER) {
+            if (ability == AbilityType.SUPER_BREAKER || ability == AbilityType.GIGA_DRILL_BREAKER) {
                 handleAbilitySpeedIncrease(player);
             }
         }