From bf901a0a34b3dadfb3520a47c37c0c01c3372725 Mon Sep 17 00:00:00 2001 From: nossr50 Date: Sat, 30 Mar 2024 05:05:28 -0700 Subject: [PATCH] remove unimplemented features, fix tests again, and optimize imports --- .../java/com/gmail/nossr50/api/PartyAPI.java | 2 - .../commands/chat/PartyChatCommand.java | 1 - .../commands/party/PartyAcceptCommand.java | 1 - .../party/PartyChangeOwnerCommand.java | 1 - .../commands/party/PartyCreateCommand.java | 1 - .../commands/party/PartyDisbandCommand.java | 1 - .../commands/party/PartyInfoCommand.java | 1 - .../commands/party/PartyInviteCommand.java | 1 - .../commands/party/PartyJoinCommand.java | 1 - .../commands/party/PartyKickCommand.java | 1 - .../commands/party/PartyQuitCommand.java | 1 - .../commands/party/PartyRenameCommand.java | 1 - .../alliance/PartyAllianceAcceptCommand.java | 1 - .../party/alliance/PartyAllianceCommand.java | 1 - .../alliance/PartyAllianceDisbandCommand.java | 1 - .../alliance/PartyAllianceInviteCommand.java | 1 - .../commands/party/teleport/PtpCommand.java | 1 - .../gmail/nossr50/datatypes/party/Party.java | 1 - .../nossr50/datatypes/player/McMMOPlayer.java | 69 ------------------- .../datatypes/skills/SubSkillType.java | 3 - .../datatypes/skills/SuperAbilityType.java | 2 - .../nossr50/listeners/PlayerListener.java | 16 ----- .../com/gmail/nossr50/party/PartyManager.java | 58 +++++++++++++++- .../nossr50/runnables/SaveTimerTask.java | 1 - .../runnables/items/TeleportationWarmup.java | 1 - .../runnables/party/PartyAutoKickTask.java | 1 - .../nossr50/runnables/skills/RuptureTask.java | 1 - .../skills/AlternateFiringSuperSkill.java | 13 ---- .../nossr50/skills/crossbows/Crossbows.java | 1 - .../skills/crossbows/CrossbowsManager.java | 41 +---------- .../com/gmail/nossr50/util/Permissions.java | 11 --- .../nossr50/util/skills/CombatUtils.java | 12 ---- .../gmail/nossr50/util/skills/SkillUtils.java | 8 +-- src/main/resources/advanced.yml | 4 +- .../resources/locale/locale_en_US.properties | 18 +++-- src/main/resources/plugin.yml | 6 -- src/main/resources/skillranks.yml | 15 ---- .../gmail/nossr50/party/PartyManagerTest.java | 4 +- 38 files changed, 73 insertions(+), 231 deletions(-) delete mode 100644 src/main/java/com/gmail/nossr50/skills/AlternateFiringSuperSkill.java diff --git a/src/main/java/com/gmail/nossr50/api/PartyAPI.java b/src/main/java/com/gmail/nossr50/api/PartyAPI.java index ce5efaf6e..e86bf4619 100644 --- a/src/main/java/com/gmail/nossr50/api/PartyAPI.java +++ b/src/main/java/com/gmail/nossr50/api/PartyAPI.java @@ -5,10 +5,8 @@ import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.party.PartyLeader; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.player.NotificationManager; import com.gmail.nossr50.util.player.UserManager; -import jdk.jfr.Experimental; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java b/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java index acd7a6168..cfdbc61d8 100644 --- a/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java @@ -11,7 +11,6 @@ import com.gmail.nossr50.datatypes.chat.ChatChannel; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.text.StringUtils; import org.bukkit.entity.Player; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyAcceptCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyAcceptCommand.java index 7febacd11..3b9d07f62 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyAcceptCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyAcceptCommand.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java index 28d5079f7..29b3d64d1 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.commands.CommandUtils; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.OfflinePlayer; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyCreateCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyCreateCommand.java index 80d4d23ee..75a7c785c 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyCreateCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyCreateCommand.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java index 3b0ed16bc..ac16d357b 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java @@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java index c17707926..3e34078e8 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java @@ -6,7 +6,6 @@ import com.gmail.nossr50.datatypes.party.ShareMode; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.ChatColor; import org.bukkit.command.Command; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java index 65abe4e82..91d6b39be 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java @@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.commands.CommandUtils; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyJoinCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyJoinCommand.java index be170cd4e..a5474d355 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyJoinCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyJoinCommand.java @@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.commands.CommandUtils; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java index b9218b980..9ee2de089 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java @@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.commands.CommandUtils; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.OfflinePlayer; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java index 920f69ac9..880541add 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java @@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java index c6e55fc4a..7d2954ad0 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java @@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; diff --git a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceAcceptCommand.java b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceAcceptCommand.java index 2e8eed2d5..b4bb002ab 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceAcceptCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceAcceptCommand.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.commands.party.alliance; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; diff --git a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java index 5e47a451c..e39e7c3e2 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java @@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.party.PartyFeature; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.commands.CommandUtils; import com.gmail.nossr50.util.player.UserManager; import com.google.common.collect.ImmutableList; diff --git a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceDisbandCommand.java b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceDisbandCommand.java index c8f2609e0..6b5e2dcea 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceDisbandCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceDisbandCommand.java @@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; diff --git a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceInviteCommand.java b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceInviteCommand.java index 855a525e8..04d12b649 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceInviteCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceInviteCommand.java @@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.commands.CommandUtils; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.Command; diff --git a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java index e757688f8..10f0f1d98 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java @@ -7,7 +7,6 @@ import com.gmail.nossr50.datatypes.party.PartyTeleportRecord; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.runnables.items.TeleportationWarmup; import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.Misc; diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/Party.java b/src/main/java/com/gmail/nossr50/datatypes/party/Party.java index 9b684c742..78ffb9966 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/party/Party.java +++ b/src/main/java/com/gmail/nossr50/datatypes/party/Party.java @@ -6,7 +6,6 @@ import com.gmail.nossr50.datatypes.experience.FormulaType; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.sounds.SoundManager; diff --git a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java index c7972ab27..91ec48fb4 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java +++ b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java @@ -20,12 +20,9 @@ import com.gmail.nossr50.datatypes.skills.ToolType; import com.gmail.nossr50.events.experience.McMMOPlayerPreXpGainEvent; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.party.ShareHandler; -import com.gmail.nossr50.runnables.skills.AbilityCooldownTask; import com.gmail.nossr50.runnables.skills.AbilityDisableTask; import com.gmail.nossr50.runnables.skills.ToolLowerTask; -import com.gmail.nossr50.skills.AlternateFiringSuperSkill; import com.gmail.nossr50.skills.SkillManager; import com.gmail.nossr50.skills.acrobatics.AcrobaticsManager; import com.gmail.nossr50.skills.alchemy.AlchemyManager; @@ -964,72 +961,6 @@ public class McMMOPlayer implements Identified { mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(player, new AbilityDisableTask(this, superAbilityType), (long) ticks * Misc.TICK_CONVERSION_FACTOR); } - public void checkCrossbowAbilityActivation() { - PrimarySkillType primarySkillType = PrimarySkillType.CROSSBOWS; - ToolType tool = ToolType.CROSSBOW; - SuperAbilityType superAbilityType = SuperAbilityType.SUPER_SHOTGUN; - SubSkillType subSkillType = SubSkillType.CROSSBOWS_SUPER_SHOTGUN; - AlternateFiringSuperSkill skillManager = getCrossbowsManager(); - - // Check permission - if (!superAbilityType.getPermissions(player)) { - return; - } - - //TODO: This is hacky and temporary solution until skills are move to the new system - //Potential problems with this include skills with two super abilities (ie mining) - if(!RankUtils.hasUnlockedSubskill(player, subSkillType)) - { - int diff = RankUtils.getSuperAbilityUnlockRequirement(superAbilityType) - getSkillLevel(primarySkillType); - - //Inform the player they are not yet skilled enough - NotificationManager.sendPlayerInformation(player, - NotificationType.ABILITY_COOLDOWN, - "Skills.AbilityGateRequirementFail", - String.valueOf(diff), - mcMMO.p.getSkillTools().getLocalizedSkillName(primarySkillType)); - return; - } - - // Call the event - if (EventUtils.callPlayerAbilityActivateEvent(player, primarySkillType).isCancelled()) { - return; - } - - // Check if we can fire the ability - if (!skillManager.isReadyToFire()) { - return; - } - - if (useChatNotifications()) { - NotificationManager.sendPlayerInformation(player, NotificationType.SUPER_ABILITY, superAbilityType.getAbilityOn()); - } - - if (mcMMO.p.getAdvancedConfig().sendAbilityNotificationToOtherPlayers()) { - SkillUtils.sendSkillMessage(player, NotificationType.SUPER_ABILITY_ALERT_OTHERS, superAbilityType.getAbilityPlayer()); - } - - //Sounds - SoundManager.worldSendSound(player.getWorld(), player.getLocation(), SoundType.ABILITY_ACTIVATED_GENERIC); - - // TODO: Fire the ability - profile.setAbilityDATS(superAbilityType, System.currentTimeMillis()); - setToolPreparationMode(tool, false); - skillManager.resetCharge(); - skillManager.fireSuper(); - - if(!mcMMO.isServerShutdownExecuted()) { - mcMMO.p.getFoliaLib().getImpl().runAtEntityLater( - player, - new AbilityCooldownTask(this, superAbilityType), - (long) PerksUtils.handleCooldownPerks(player, superAbilityType.getCooldown()) * Misc.TICK_CONVERSION_FACTOR); - } - } - - public void chargeCrossbowSuper() { - getCrossbowsManager().chargeSuper(); - } - public void processAbilityActivation(@NotNull PrimarySkillType primarySkillType) { if (!mcMMO.p.getSkillTools().doesPlayerHaveSkillPermission(getPlayer(), primarySkillType)) { return; diff --git a/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java b/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java index b388ecb4e..e6bcb079f 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java +++ b/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java @@ -22,7 +22,6 @@ public enum SubSkillType { ARCHERY_DAZE, ARCHERY_SKILL_SHOT(20), ARCHERY_ARCHERY_LIMIT_BREAK(10), - ARCHERY_EXPLOSIVE_SHOT(1), /* Axes */ AXES_ARMOR_IMPACT(20), @@ -33,7 +32,6 @@ public enum SubSkillType { AXES_SKULL_SPLITTER(1), /* CROSSBOWS */ - CROSSBOWS_SUPER_SHOTGUN(1), CROSSBOWS_CROSSBOWS_LIMIT_BREAK(10), CROSSBOWS_TRICK_SHOT(3), CROSSBOWS_POWERED_SHOT(20), @@ -101,7 +99,6 @@ public enum SubSkillType { TAMING_THICK_FUR(1), /* Tridents */ - TRIDENTS_SUPER(1), TRIDENTS_IMPALE(10), TRIDENTS_TRIDENTS_LIMIT_BREAK(10), diff --git a/src/main/java/com/gmail/nossr50/datatypes/skills/SuperAbilityType.java b/src/main/java/com/gmail/nossr50/datatypes/skills/SuperAbilityType.java index dab6d948d..f876ce53e 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/skills/SuperAbilityType.java +++ b/src/main/java/com/gmail/nossr50/datatypes/skills/SuperAbilityType.java @@ -112,8 +112,6 @@ public enum SuperAbilityType { TREE_FELLER.subSkillTypeDefinition = SubSkillType.WOODCUTTING_TREE_FELLER; SERRATED_STRIKES.subSkillTypeDefinition = SubSkillType.SWORDS_SERRATED_STRIKES; BLAST_MINING.subSkillTypeDefinition = SubSkillType.MINING_BLAST_MINING; - TRIDENTS_SUPER_ABILITY.subSkillTypeDefinition = SubSkillType.TRIDENTS_SUPER; - SUPER_SHOTGUN.subSkillTypeDefinition = SubSkillType.CROSSBOWS_SUPER_SHOTGUN; } private final String abilityOn; diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index dc555eb21..ab1526382 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -24,7 +24,6 @@ import com.gmail.nossr50.skills.taming.TamingManager; import com.gmail.nossr50.util.*; import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.scoreboards.ScoreboardManager; -import com.gmail.nossr50.util.skills.CombatUtils; import com.gmail.nossr50.util.skills.RankUtils; import com.gmail.nossr50.util.skills.SkillUtils; import com.gmail.nossr50.util.sounds.SoundManager; @@ -828,11 +827,6 @@ public class PlayerListener implements Listener { mcMMOPlayer.processAbilityActivation(PrimarySkillType.HERBALISM); } - // Projectile Skills - if (ItemUtils.isCrossbow(heldItem) || ItemUtils.isBow(heldItem)) { - CombatUtils.processProjectileSkillSuperAbilityActivation(mcMMOPlayer, heldItem); - } - mcMMOPlayer.processAbilityActivation(PrimarySkillType.AXES); mcMMOPlayer.processAbilityActivation(PrimarySkillType.EXCAVATION); mcMMOPlayer.processAbilityActivation(PrimarySkillType.MINING); @@ -904,11 +898,6 @@ public class PlayerListener implements Listener { mcMMOPlayer.processAbilityActivation(PrimarySkillType.SWORDS); mcMMOPlayer.processAbilityActivation(PrimarySkillType.UNARMED); mcMMOPlayer.processAbilityActivation(PrimarySkillType.WOODCUTTING); - - // Projectile Skills - if (ItemUtils.isCrossbow(heldItem) || ItemUtils.isBow(heldItem)) { - CombatUtils.processProjectileSkillSuperAbilityActivation(mcMMOPlayer, heldItem); - } } /* ITEM CHECKS */ @@ -929,11 +918,6 @@ public class PlayerListener implements Listener { break; } - // Check charge up supers (crossbows, etc...) - if (ItemUtils.isCrossbow(heldItem)) { - mcMMOPlayer.chargeCrossbowSuper(); - } - /* CALL OF THE WILD CHECKS */ Material type = heldItem.getType(); TamingManager tamingManager = mcMMOPlayer.getTamingManager(); diff --git a/src/main/java/com/gmail/nossr50/party/PartyManager.java b/src/main/java/com/gmail/nossr50/party/PartyManager.java index aae00c9de..beff259d2 100644 --- a/src/main/java/com/gmail/nossr50/party/PartyManager.java +++ b/src/main/java/com/gmail/nossr50/party/PartyManager.java @@ -55,12 +55,22 @@ public final class PartyManager { * @return true if party is full and cannot be joined */ public boolean isPartyFull(@NotNull Player player, @NotNull Party targetParty) { + requireNonNull(player, "player cannot be null!"); + requireNonNull(targetParty, "targetParty cannot be null!"); return !Permissions.partySizeBypass(player) && pluginRef.getGeneralConfig().getPartyMaxSize() >= 1 && targetParty.getOnlineMembers().size() >= pluginRef.getGeneralConfig().getPartyMaxSize(); } public boolean areAllies(@NotNull Player firstPlayer, @NotNull Player secondPlayer) { - //Profile is not loaded - if (UserManager.getPlayer(firstPlayer) == null || UserManager.getPlayer(secondPlayer) == null) { + requireNonNull(firstPlayer, "firstPlayer cannot be null!"); + requireNonNull(secondPlayer, "secondPlayer cannot be null!"); + + //Profile not loaded + if (UserManager.getPlayer(firstPlayer) == null) { + return false; + } + + //Profile not loaded + if (UserManager.getPlayer(secondPlayer) == null) { return false; } @@ -100,6 +110,7 @@ public final class PartyManager { } public @NotNull List getNearVisibleMembers(@NotNull McMMOPlayer mmoPlayer) { + requireNonNull(mmoPlayer, "mmoPlayer cannot be null!"); List nearMembers = new ArrayList<>(); Party party = mmoPlayer.getParty(); @@ -126,6 +137,7 @@ public final class PartyManager { * @return all the players in the player's party */ public @NotNull LinkedHashMap getAllMembers(@NotNull Player player) { + requireNonNull(player, "player cannot be null!"); Party party = getParty(player); return party == null ? new LinkedHashMap<>() : party.getMembers(); @@ -138,6 +150,7 @@ public final class PartyManager { * @return all online players in this party */ public @NotNull List getOnlineMembers(@NotNull String partyName) { + requireNonNull(partyName, "partyName cannot be null!"); return getOnlineMembers(getParty(partyName)); } @@ -148,6 +161,7 @@ public final class PartyManager { * @return all online players in this party */ public @NotNull List getOnlineMembers(@NotNull Player player) { + requireNonNull(player, "player cannot be null!"); return getOnlineMembers(getParty(player)); } @@ -162,6 +176,7 @@ public final class PartyManager { * @return the existing party, null otherwise */ public @Nullable Party getParty(@NotNull String partyName) { + requireNonNull(partyName, "partyName cannot be null!"); for (Party party : parties) { if (party.getName().equalsIgnoreCase(partyName)) { return party; @@ -179,6 +194,7 @@ public final class PartyManager { */ @Deprecated public @Nullable Party getPlayerParty(@NotNull String playerName) { + requireNonNull(playerName, "playerName cannot be null!"); for (Party party : parties) { if (party.getMembers().containsValue(playerName)) { return party; @@ -195,6 +211,8 @@ public final class PartyManager { * @return the existing party, null otherwise */ public @Nullable Party getPlayerParty(@NotNull String playerName, @NotNull UUID uuid) { + requireNonNull(playerName, "playerName cannot be null!"); + requireNonNull(uuid, "uuid cannot be null!"); for (Party party : parties) { LinkedHashMap members = party.getMembers(); if (members.containsKey(uuid) || members.containsValue(playerName)) { @@ -218,7 +236,8 @@ public final class PartyManager { * @return the existing party, null otherwise */ public @Nullable Party getParty(@NotNull Player player) { - //Profile is not loaded + requireNonNull(player, "player cannot be null!"); + //Profile not loaded if (UserManager.getPlayer(player) == null) { return null; } @@ -246,6 +265,9 @@ public final class PartyManager { * @param party The party */ public void removeFromParty(@NotNull OfflinePlayer player, @NotNull Party party) { + requireNonNull(player, "player cannot be null!"); + requireNonNull(party, "party cannot be null!"); + LinkedHashMap members = party.getMembers(); String playerName = player.getName(); @@ -273,6 +295,7 @@ public final class PartyManager { * @param mcMMOPlayer The player to remove */ public void removeFromParty(@NotNull McMMOPlayer mcMMOPlayer) { + requireNonNull(mcMMOPlayer, "mcMMOPlayer cannot be null!"); if (mcMMOPlayer.getParty() == null) { return; } @@ -288,6 +311,7 @@ public final class PartyManager { * @deprecated Use {@link #disbandParty(McMMOPlayer, Party)} */ public void disbandParty(@NotNull Party party) { + requireNonNull(party, "party cannot be null!"); disbandParty(null, party); } @@ -298,6 +322,7 @@ public final class PartyManager { * @param party The party to remove */ public void disbandParty(@Nullable McMMOPlayer mcMMOPlayer, @NotNull Party party) { + requireNonNull(party, "party cannot be null!"); //TODO: Potential issues with unloaded profile? for (final Player member : party.getOnlineMembers()) { //Profile not loaded @@ -379,6 +404,7 @@ public final class PartyManager { * @param mcMMOPlayer The player to add to the party */ public void joinInvitedParty(@NotNull McMMOPlayer mcMMOPlayer) { + requireNonNull(mcMMOPlayer, "mcMMOPlayer cannot be null!"); Party invite = mcMMOPlayer.getPartyInvite(); // Check if the party still exists, it might have been disbanded @@ -406,6 +432,7 @@ public final class PartyManager { * @param mcMMOPlayer The player who accepts the alliance invite */ public void acceptAllianceInvite(@NotNull McMMOPlayer mcMMOPlayer) { + requireNonNull(mcMMOPlayer, "mcMMOPlayer cannot be null!"); Party invite = mcMMOPlayer.getPartyAllianceInvite(); Player player = mcMMOPlayer.getPlayer(); @@ -426,6 +453,9 @@ public final class PartyManager { } public void createAlliance(@NotNull Party firstParty, @NotNull Party secondParty) { + requireNonNull(firstParty, "firstParty cannot be null!"); + requireNonNull(secondParty, "secondParty cannot be null!"); + firstParty.setAlly(secondParty); secondParty.setAlly(firstParty); @@ -439,6 +469,10 @@ public final class PartyManager { } public boolean disbandAlliance(@NotNull Player player, @NotNull Party firstParty, @NotNull Party secondParty) { + requireNonNull(player, "player cannot be null!"); + requireNonNull(firstParty, "firstParty cannot be null!"); + requireNonNull(secondParty, "secondParty cannot be null!"); + if (!handlePartyChangeAllianceEvent(player, firstParty.getName(), secondParty.getName(), McMMOPartyAllianceChangeEvent.EventReason.DISBAND_ALLIANCE)) { return false; } @@ -448,6 +482,8 @@ public final class PartyManager { } private void disbandAlliance(@NotNull Party firstParty, @NotNull Party secondParty) { + requireNonNull(firstParty, "firstParty cannot be null!"); + requireNonNull(secondParty, "secondParty cannot be null!"); firstParty.setAlly(null); secondParty.setAlly(null); @@ -467,6 +503,9 @@ public final class PartyManager { * @param party The party */ public void addToParty(@NotNull McMMOPlayer mcMMOPlayer, @NotNull Party party) { + requireNonNull(mcMMOPlayer, "mcMMOPlayer cannot be null!"); + requireNonNull(party, "party cannot be null!"); + Player player = mcMMOPlayer.getPlayer(); String playerName = player.getName(); @@ -483,6 +522,7 @@ public final class PartyManager { * @return the leader of the party */ public @Nullable String getPartyLeaderName(@NotNull String partyName) { + requireNonNull(partyName, "partyName cannot be null!"); Party party = getParty(partyName); return party == null ? null : party.getLeader().getPlayerName(); @@ -495,6 +535,8 @@ public final class PartyManager { * @param party The party */ public void setPartyLeader(@NotNull UUID uuid, @NotNull Party party) { + requireNonNull(uuid, "uuid cannot be null!"); + requireNonNull(party, "party cannot be null!"); OfflinePlayer player = pluginRef.getServer().getOfflinePlayer(uuid); UUID leaderUniqueId = party.getLeader().getUniqueId(); @@ -519,6 +561,7 @@ public final class PartyManager { * @return true if the player can invite */ public boolean canInvite(@NotNull McMMOPlayer mcMMOPlayer) { + requireNonNull(mcMMOPlayer, "mcMMOPlayer cannot be null!"); Party party = mcMMOPlayer.getParty(); return !party.isLocked() || party.getLeader().getUniqueId().equals(mcMMOPlayer.getPlayer().getUniqueId()); @@ -532,6 +575,9 @@ public final class PartyManager { * @return true if a party with that name exists, false otherwise */ public boolean checkPartyExistence(@NotNull Player player, @NotNull String partyName) { + requireNonNull(player, "player cannot be null!"); + requireNonNull(partyName, "partyName cannot be null!"); + if (getParty(partyName) == null) { return false; } @@ -548,6 +594,9 @@ public final class PartyManager { * @return true if the party was joined successfully, false otherwise */ public boolean changeOrJoinParty(@NotNull McMMOPlayer mmoPlayer, @NotNull String newPartyName) { + requireNonNull(mmoPlayer, "mmoPlayer cannot be null!"); + requireNonNull(newPartyName, "newPartyName cannot be null!"); + final Player player = mmoPlayer.getPlayer(); if (mmoPlayer.inParty()) { @@ -571,6 +620,9 @@ public final class PartyManager { * @return true if they are in the same party, false otherwise */ public boolean inSameParty(@NotNull Player firstPlayer, @NotNull Player secondPlayer) { + requireNonNull(firstPlayer, "firstPlayer cannot be null!"); + requireNonNull(secondPlayer, "secondPlayer cannot be null!"); + //Profile not loaded if (UserManager.getPlayer(firstPlayer) == null) { return false; diff --git a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java index d9822e191..613f3ecee 100644 --- a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java @@ -2,7 +2,6 @@ package com.gmail.nossr50.runnables; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.runnables.player.PlayerProfileSaveTask; import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.LogUtils; diff --git a/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java b/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java index 7490c4117..25d809f59 100644 --- a/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java +++ b/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java @@ -3,7 +3,6 @@ package com.gmail.nossr50.runnables.items; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.Misc; diff --git a/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java b/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java index 2db0c3c27..1d662dba9 100644 --- a/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java @@ -2,7 +2,6 @@ package com.gmail.nossr50.runnables.party; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.util.CancellableRunnable; import org.bukkit.OfflinePlayer; diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/RuptureTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/RuptureTask.java index f2e9c608f..432d5a296 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/RuptureTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/RuptureTask.java @@ -1,6 +1,5 @@ package com.gmail.nossr50.runnables.skills; -import com.gmail.nossr50.datatypes.MobHealthbarType; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.events.skills.rupture.McMMOEntityDamageByRuptureEvent; import com.gmail.nossr50.mcMMO; diff --git a/src/main/java/com/gmail/nossr50/skills/AlternateFiringSuperSkill.java b/src/main/java/com/gmail/nossr50/skills/AlternateFiringSuperSkill.java deleted file mode 100644 index f9691c353..000000000 --- a/src/main/java/com/gmail/nossr50/skills/AlternateFiringSuperSkill.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.gmail.nossr50.skills; - -public interface AlternateFiringSuperSkill { - int chargeSuper(); - - void fireSuper(); - - void resetCharge(); - - boolean isReadyToFire(); - - long lastChargeTime(); -} diff --git a/src/main/java/com/gmail/nossr50/skills/crossbows/Crossbows.java b/src/main/java/com/gmail/nossr50/skills/crossbows/Crossbows.java index 216a9485d..a64b023af 100644 --- a/src/main/java/com/gmail/nossr50/skills/crossbows/Crossbows.java +++ b/src/main/java/com/gmail/nossr50/skills/crossbows/Crossbows.java @@ -1,7 +1,6 @@ package com.gmail.nossr50.skills.crossbows; import com.gmail.nossr50.datatypes.player.McMMOPlayer; -import com.gmail.nossr50.util.MetadataConstants; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.entity.Arrow; import org.bukkit.entity.Player; diff --git a/src/main/java/com/gmail/nossr50/skills/crossbows/CrossbowsManager.java b/src/main/java/com/gmail/nossr50/skills/crossbows/CrossbowsManager.java index 09ddceadb..60def74bf 100644 --- a/src/main/java/com/gmail/nossr50/skills/crossbows/CrossbowsManager.java +++ b/src/main/java/com/gmail/nossr50/skills/crossbows/CrossbowsManager.java @@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.skills.AlternateFiringSuperSkill; import com.gmail.nossr50.skills.SkillManager; import com.gmail.nossr50.util.MetadataConstants; import com.gmail.nossr50.util.Permissions; @@ -23,15 +22,11 @@ import org.jetbrains.annotations.NotNull; import static com.gmail.nossr50.util.skills.CombatUtils.delayArrowMetaCleanup; -public class CrossbowsManager extends SkillManager implements AlternateFiringSuperSkill { +public class CrossbowsManager extends SkillManager { public CrossbowsManager(McMMOPlayer mmoPlayer) { super(mmoPlayer, PrimarySkillType.CROSSBOWS); } - private long lastChargeTime = 0; - - private int crossbowSuperWindupState = 0; - public void handleRicochet(@NotNull Plugin pluginRef, @NotNull Arrow arrow, @NotNull Vector hitBlockNormal) { if(!arrow.isShotFromCrossbow()) return; @@ -110,38 +105,4 @@ public class CrossbowsManager extends SkillManager implements AlternateFiringSup return oldDamage; } } - - @Override - public int chargeSuper() { - if (lastChargeTime < System.currentTimeMillis() - 2000) { - crossbowSuperWindupState = 0; - } - - if (crossbowSuperWindupState < 3) { - crossbowSuperWindupState++; - } - - lastChargeTime = System.currentTimeMillis(); - return crossbowSuperWindupState; - } - - @Override - public void fireSuper() { - // TODO: Impl - } - - @Override - public void resetCharge() { - crossbowSuperWindupState = 0; - } - - @Override - public boolean isReadyToFire() { - return crossbowSuperWindupState == 3; - } - - @Override - public long lastChargeTime() { - return lastChargeTime; - } } diff --git a/src/main/java/com/gmail/nossr50/util/Permissions.java b/src/main/java/com/gmail/nossr50/util/Permissions.java index 9a5f1f6c2..6dcd9b800 100644 --- a/src/main/java/com/gmail/nossr50/util/Permissions.java +++ b/src/main/java/com/gmail/nossr50/util/Permissions.java @@ -167,18 +167,11 @@ public final class Permissions { */ public static boolean skillEnabled(Permissible permissible, PrimarySkillType skill) { - // hack to disable tridents for now - if (skill == PrimarySkillType.TRIDENTS) - return false; - return permissible.hasPermission("mcmmo.skills." + skill.toString().toLowerCase(Locale.ENGLISH)); } public static boolean vanillaXpBoost(Permissible permissible, PrimarySkillType skill) { return permissible.hasPermission("mcmmo.ability." + skill.toString().toLowerCase(Locale.ENGLISH) + ".vanillaxpboost"); } public static boolean isSubSkillEnabled(Permissible permissible, SubSkillType subSkillType) { - // hack to disable supers that aren't coded yet - if(subSkillType == SubSkillType.TRIDENTS_SUPER) - return false; return permissible.hasPermission(subSkillType.getPermissionNodeAddress()); } @@ -293,10 +286,6 @@ public final class Permissions { * @return true if the player has permission and has the skill unlocked */ public static boolean canUseSubSkill(@NotNull Player player, @NotNull SubSkillType subSkillType) { - // Hack to disable tridents for now - if (subSkillType.getParentSkill() == PrimarySkillType.TRIDENTS) - return false; - return isSubSkillEnabled(player, subSkillType) && RankUtils.hasUnlockedSubskill(player, subSkillType); } } diff --git a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java index 711ef5ab3..a361595e0 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java @@ -10,7 +10,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.metadata.MobMetaFlagType; import com.gmail.nossr50.metadata.MobMetadataService; -import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.runnables.skills.AwardCombatXpTask; import com.gmail.nossr50.skills.acrobatics.AcrobaticsManager; import com.gmail.nossr50.skills.archery.ArcheryManager; @@ -46,17 +45,6 @@ public final class CombatUtils { return mcMMO.getMetadataService().getMobMetadataService(); } - // TODO: Unit tests - public static void processProjectileSkillSuperAbilityActivation(McMMOPlayer mmoPlayer, ItemStack heldItem) { - // TODO: Support archery super as well - if (heldItem != null && mmoPlayer != null) { - if (ItemUtils.isCrossbow(heldItem)) { - mmoPlayer.checkCrossbowAbilityActivation(); - } - } - } - - //Likely.. because who knows what plugins are throwing around public static boolean isDamageLikelyFromNormalCombat(@NotNull DamageCause damageCause) { return switch (damageCause) { case ENTITY_ATTACK, ENTITY_SWEEP_ATTACK, PROJECTILE -> true; diff --git a/src/main/java/com/gmail/nossr50/util/skills/SkillUtils.java b/src/main/java/com/gmail/nossr50/util/skills/SkillUtils.java index e849c7a0f..2012d6071 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/SkillUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/SkillUtils.java @@ -362,13 +362,7 @@ public final class SkillUtils { * @param subSkillType target subskill * @return true if the player has permission and has the skill unlocked */ - public static boolean canUseSubskill(Player player, SubSkillType subSkillType) - { - requireNonNull(subSkillType, "subSkillType cannot be null"); - // hack to disable supers that aren't coded yet - if(subSkillType == SubSkillType.TRIDENTS_SUPER || subSkillType == SubSkillType.CROSSBOWS_SUPER_SHOTGUN) - return false; - + public static boolean canUseSubskill(Player player, @NotNull SubSkillType subSkillType) { return Permissions.isSubSkillEnabled(player, subSkillType) && RankUtils.hasUnlockedSubskill(player, subSkillType); } } diff --git a/src/main/resources/advanced.yml b/src/main/resources/advanced.yml index fb8d739dc..7d56c4e37 100644 --- a/src/main/resources/advanced.yml +++ b/src/main/resources/advanced.yml @@ -5,7 +5,7 @@ # For advanced users only! There is no need to change anything here. # # You can customize almost every aspect of every skill here. -# Its mainly here if you've customized the experience formula. +# It's mainly here if you've customized the experience formula. # Configure at what level you get better with certain abilities. # ##### @@ -20,7 +20,7 @@ Feedback: PlayerTips: true SkillCommand: BlankLinesAboveHeader: true - # If sendtitles is true messages will be sent using the title api (BIG TEXT ON SCREEN) + # If sendtitles is true, messages will be sent using the title api (BIG TEXT ON SCREEN) Events: XP: SendTitles: true diff --git a/src/main/resources/locale/locale_en_US.properties b/src/main/resources/locale/locale_en_US.properties index 692914b35..c8ac35315 100644 --- a/src/main/resources/locale/locale_en_US.properties +++ b/src/main/resources/locale/locale_en_US.properties @@ -432,9 +432,6 @@ Crossbows.Skills.SSG.Other.On=&a{0}&2 used &Super Shotgun! Crossbows.SubSkill.PoweredShot.Name=Powered Shot Crossbows.SubSkill.PoweredShot.Description=Increases damage done with crossbows Crossbows.SubSkill.PoweredShot.Stat=Powered Shot Bonus Damage -Crossbows.SubSkill.SuperShotgun.Name=Super Shotgun -Crossbows.SubSkill.SuperShotgun.Description=Shoot dozens of arrows at once -Crossbows.SubSkill.SuperShotgun.Stat=Per Projectile damage &a{0} Crossbows.SubSkill.CrossbowsLimitBreak.Name=Crossbows Limit Break Crossbows.SubSkill.CrossbowsLimitBreak.Description=Breaking your limits. Increased damage against tough opponents. Intended for PVP, up to server settings for whether it will boost damage in PVE. Crossbows.SubSkill.CrossbowsLimitBreak.Stat=Limit Break Max DMG @@ -451,9 +448,6 @@ Tridents.Ability.Lower=&7You lower your trident. Tridents.Ability.Ready=&3You &6ready&3 your Trident. Tridents.Skills.TA.Refresh=&aYour &eSuper &aability is refreshed! Tridents.Skills.TA.Other.On=&a{0}&2 used Trident &Super! -Tridents.SubSkill.SuperAbility.Name=Tridents Super Ability -Tridents.SubSkill.SuperAbility.Description=N/A -Tridents.SubSkill.SuperAbility.Stat=N/A Tridents.SubSkill.Impale.Name=Impale Tridents.SubSkill.Impale.Description=Increases damage done with tridents Tridents.SubSkill.Impale.Stat=Impale Bonus Damage @@ -462,6 +456,18 @@ Tridents.SubSkill.TridentsLimitBreak.Description=Breaking your limits. Increased Tridents.SubSkill.TridentsLimitBreak.Stat=Limit Break Max DMG Tridents.Listener=Tridents: +#MACES +Maces.SkillName=MACES +Maces.Ability.Lower=&7You lower your mace. +Maces.Ability.Ready=&3You &6ready&3 your Mace. +Maces.Skills.MaceSmash.Refresh=&aYour &eGiga Smash &aability is refreshed! +Maces.Skills.MaceSmash.Other.On=&a{0}&2 used &cGiga Smash! +Maces.SubSkill.GigaSmash.Name=Giga Smash +Maces.SubSkill.MacesLimitBreak.Name=Maces Limit Break +Maces.SubSkill.MacesLimitBreak.Description=Breaking your limits. Increased damage against tough opponents. Intended for PVP, up to server settings for whether it will boost damage in PVE. +Maces.SubSkill.MacesLimitBreak.Stat=Limit Break Max DMG +Maces.Listener=Maces: + #SWORDS Swords.Ability.Lower=&7You lower your sword. Swords.Ability.Ready=&3You &6ready&3 your Sword. diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index a4dc5d4b2..198d465fc 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -338,12 +338,9 @@ permissions: mcmmo.ability.crossbows.all: description: Allows access to all Crossbows abilities children: - mcmmo.ability.crossbows.supershotgun: true mcmmo.ability.crossbows.trickshot: true mcmmo.ability.crossbows.poweredshot: true mcmmo.ability.crossbows.crossbowslimitbreak: true - mcmmo.ability.crossbows.supershotgun: - description: Allows access to the Super Shotgun super ability mcmmo.ability.crossbows.crossbowslimitbreak: description: Adds damage to crossbows mcmmo.ability.crossbows.trickshot: @@ -722,11 +719,8 @@ permissions: mcmmo.ability.tridents.all: description: Allows access to all Trident abilities children: - mcmmo.ability.tridents.superability: true mcmmo.ability.tridents.impale: true mcmmo.ability.tridents.tridentslimitbreak: true - mcmmo.ability.tridents.superability: - description: Allows access to tridents super ability mcmmo.ability.tridents.impale: description: Allows access to tridents Impale ability mcmmo.ability.tridents.tridentslimitbreak: diff --git a/src/main/resources/skillranks.yml b/src/main/resources/skillranks.yml index a41e55fb1..590ddde11 100644 --- a/src/main/resources/skillranks.yml +++ b/src/main/resources/skillranks.yml @@ -31,11 +31,6 @@ Alchemy: Rank_7: 900 Rank_8: 1000 Archery: - ExplosiveShot: - Standard: - Rank_1: 5 - RetroMode: - Rank_1: 50 ArcheryLimitBreak: Standard: Rank_1: 10 @@ -282,11 +277,6 @@ Crossbows: Rank_8: 800 Rank_9: 900 Rank_10: 1000 - SuperShotgun: - Standard: - Rank_1: 5 - RetroMode: - Rank_1: 50 Tridents: TridentsLimitBreak: Standard: @@ -311,11 +301,6 @@ Tridents: Rank_8: 800 Rank_9: 900 Rank_10: 1000 - TridentsSuperAbility: - Standard: - Rank_1: 5 - RetroMode: - Rank_1: 50 Impale: Standard: Rank_1: 5 diff --git a/src/test/java/com/gmail/nossr50/party/PartyManagerTest.java b/src/test/java/com/gmail/nossr50/party/PartyManagerTest.java index 25d74515b..0d8f01ccb 100644 --- a/src/test/java/com/gmail/nossr50/party/PartyManagerTest.java +++ b/src/test/java/com/gmail/nossr50/party/PartyManagerTest.java @@ -78,7 +78,7 @@ class PartyManagerTest extends MMOTestEnvironment { when(player.getUniqueId()).thenReturn(new UUID(0, 0)); // When & Then - assertThrows(IllegalArgumentException.class, + assertThrows(NullPointerException.class, () -> partyManager.createParty(mmoPlayer, null, partyPassword)); } @@ -90,7 +90,7 @@ class PartyManagerTest extends MMOTestEnvironment { String partyPassword = "somePassword"; // When & Then - assertThrows(IllegalArgumentException.class, + assertThrows(NullPointerException.class, () -> partyManager.createParty(null, partyName, partyPassword)); }