mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-11-14 23:50:49 +01:00
formatting applied to most of the source code to tidy things up, and misc refactors
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package com.gmail.nossr50.skills.unarmed;
|
||||
|
||||
import static com.gmail.nossr50.util.random.ProbabilityUtil.isSkillRNGSuccessful;
|
||||
|
||||
import com.gmail.nossr50.api.ItemSpawnReason;
|
||||
import com.gmail.nossr50.datatypes.interactions.NotificationType;
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
@@ -9,7 +11,11 @@ import com.gmail.nossr50.datatypes.skills.SuperAbilityType;
|
||||
import com.gmail.nossr50.datatypes.skills.ToolType;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.skills.SkillManager;
|
||||
import com.gmail.nossr50.util.*;
|
||||
import com.gmail.nossr50.util.EventUtils;
|
||||
import com.gmail.nossr50.util.ItemUtils;
|
||||
import com.gmail.nossr50.util.MetadataConstants;
|
||||
import com.gmail.nossr50.util.Misc;
|
||||
import com.gmail.nossr50.util.Permissions;
|
||||
import com.gmail.nossr50.util.player.NotificationManager;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import com.gmail.nossr50.util.random.ProbabilityUtil;
|
||||
@@ -22,12 +28,10 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static com.gmail.nossr50.util.random.ProbabilityUtil.isSkillRNGSuccessful;
|
||||
|
||||
public class UnarmedManager extends SkillManager {
|
||||
|
||||
public UnarmedManager(McMMOPlayer mcMMOPlayer) {
|
||||
super(mcMMOPlayer, PrimarySkillType.UNARMED);
|
||||
public UnarmedManager(McMMOPlayer mmoPlayer) {
|
||||
super(mmoPlayer, PrimarySkillType.UNARMED);
|
||||
}
|
||||
|
||||
public boolean canActivateAbility() {
|
||||
@@ -35,8 +39,9 @@ public class UnarmedManager extends SkillManager {
|
||||
}
|
||||
|
||||
public boolean canUseSteelArm() {
|
||||
if (!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.UNARMED_STEEL_ARM_STYLE))
|
||||
if (!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.UNARMED_STEEL_ARM_STYLE)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.UNARMED_STEEL_ARM_STYLE);
|
||||
}
|
||||
@@ -46,30 +51,37 @@ public class UnarmedManager extends SkillManager {
|
||||
}
|
||||
|
||||
public boolean canDisarm(LivingEntity target) {
|
||||
if (!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.UNARMED_DISARM))
|
||||
if (!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.UNARMED_DISARM)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return target instanceof Player && ((Player) target).getInventory().getItemInMainHand().getType() != Material.AIR && Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.UNARMED_DISARM);
|
||||
return target instanceof Player
|
||||
&& ((Player) target).getInventory().getItemInMainHand().getType() != Material.AIR
|
||||
&& Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.UNARMED_DISARM);
|
||||
}
|
||||
|
||||
public boolean canDeflect() {
|
||||
if (!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.UNARMED_ARROW_DEFLECT))
|
||||
if (!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.UNARMED_ARROW_DEFLECT)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player = getPlayer();
|
||||
|
||||
return ItemUtils.isUnarmed(player.getInventory().getItemInMainHand()) && Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.UNARMED_ARROW_DEFLECT);
|
||||
return ItemUtils.isUnarmed(player.getInventory().getItemInMainHand())
|
||||
&& Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.UNARMED_ARROW_DEFLECT);
|
||||
}
|
||||
|
||||
public boolean canUseBlockCracker() {
|
||||
if (!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.UNARMED_BLOCK_CRACKER))
|
||||
if (!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.UNARMED_BLOCK_CRACKER)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.UNARMED_BLOCK_CRACKER);
|
||||
}
|
||||
|
||||
public void blockCrackerCheck(@NotNull BlockState blockState) {
|
||||
if (!ProbabilityUtil.isNonRNGSkillActivationSuccessful(SubSkillType.UNARMED_BLOCK_CRACKER, mmoPlayer)) {
|
||||
if (!ProbabilityUtil.isNonRNGSkillActivationSuccessful(SubSkillType.UNARMED_BLOCK_CRACKER,
|
||||
mmoPlayer)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -100,24 +112,29 @@ public class UnarmedManager extends SkillManager {
|
||||
* @param defender The defending player
|
||||
*/
|
||||
public void disarmCheck(@NotNull Player defender) {
|
||||
if (isSkillRNGSuccessful(SubSkillType.UNARMED_DISARM, mmoPlayer, mmoPlayer.getAttackStrength())
|
||||
if (isSkillRNGSuccessful(SubSkillType.UNARMED_DISARM, mmoPlayer,
|
||||
mmoPlayer.getAttackStrength())
|
||||
&& !hasIronGrip(defender)) {
|
||||
if (EventUtils.callDisarmEvent(defender).isCancelled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (UserManager.getPlayer(defender) == null)
|
||||
if (UserManager.getPlayer(defender) == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final Item item = ItemUtils.spawnItem(getPlayer(), defender.getLocation(),
|
||||
defender.getInventory().getItemInMainHand(), ItemSpawnReason.UNARMED_DISARMED_ITEM);
|
||||
defender.getInventory().getItemInMainHand(),
|
||||
ItemSpawnReason.UNARMED_DISARMED_ITEM);
|
||||
|
||||
if (item != null && mcMMO.p.getAdvancedConfig().getDisarmProtected()) {
|
||||
item.setMetadata(MetadataConstants.METADATA_KEY_DISARMED_ITEM, UserManager.getPlayer(defender).getPlayerMetadata());
|
||||
item.setMetadata(MetadataConstants.METADATA_KEY_DISARMED_ITEM,
|
||||
UserManager.getPlayer(defender).getPlayerMetadata());
|
||||
}
|
||||
|
||||
defender.getInventory().setItemInMainHand(new ItemStack(Material.AIR));
|
||||
NotificationManager.sendPlayerInformation(defender, NotificationType.SUBSKILL_MESSAGE, "Skills.Disarmed");
|
||||
NotificationManager.sendPlayerInformation(defender, NotificationType.SUBSKILL_MESSAGE,
|
||||
"Skills.Disarmed");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,7 +143,8 @@ public class UnarmedManager extends SkillManager {
|
||||
*/
|
||||
public boolean deflectCheck() {
|
||||
if (isSkillRNGSuccessful(SubSkillType.UNARMED_ARROW_DEFLECT, mmoPlayer)) {
|
||||
NotificationManager.sendPlayerInformation(getPlayer(), NotificationType.SUBSKILL_MESSAGE, "Combat.ArrowDeflect");
|
||||
NotificationManager.sendPlayerInformation(getPlayer(),
|
||||
NotificationType.SUBSKILL_MESSAGE, "Combat.ArrowDeflect");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -139,7 +157,8 @@ public class UnarmedManager extends SkillManager {
|
||||
* @param damage The amount of damage initially dealt by the event
|
||||
*/
|
||||
public double berserkDamage(double damage) {
|
||||
damage = ((damage * Unarmed.berserkDamageModifier) * mmoPlayer.getAttackStrength()) - damage;
|
||||
damage =
|
||||
((damage * Unarmed.berserkDamageModifier) * mmoPlayer.getAttackStrength()) - damage;
|
||||
|
||||
return damage;
|
||||
}
|
||||
@@ -148,7 +167,8 @@ public class UnarmedManager extends SkillManager {
|
||||
* Handle the effects of the Iron Arm ability
|
||||
*/
|
||||
public double calculateSteelArmStyleDamage() {
|
||||
if (ProbabilityUtil.isNonRNGSkillActivationSuccessful(SubSkillType.UNARMED_STEEL_ARM_STYLE, mmoPlayer)) {
|
||||
if (ProbabilityUtil.isNonRNGSkillActivationSuccessful(SubSkillType.UNARMED_STEEL_ARM_STYLE,
|
||||
mmoPlayer)) {
|
||||
return getSteelArmStyleDamage();
|
||||
}
|
||||
|
||||
@@ -160,14 +180,16 @@ public class UnarmedManager extends SkillManager {
|
||||
|
||||
double bonus = 0;
|
||||
|
||||
if (rank >= 18)
|
||||
if (rank >= 18) {
|
||||
bonus = 1 + rank - 18;
|
||||
}
|
||||
|
||||
double finalBonus = bonus + 0.5 + (rank / 2);
|
||||
|
||||
|
||||
if (mcMMO.p.getAdvancedConfig().isSteelArmDamageCustom()) {
|
||||
return mcMMO.p.getAdvancedConfig().getSteelArmOverride(RankUtils.getRank(getPlayer(), SubSkillType.UNARMED_STEEL_ARM_STYLE), finalBonus);
|
||||
return mcMMO.p.getAdvancedConfig().getSteelArmOverride(
|
||||
RankUtils.getRank(getPlayer(), SubSkillType.UNARMED_STEEL_ARM_STYLE),
|
||||
finalBonus);
|
||||
} else {
|
||||
return finalBonus;
|
||||
}
|
||||
@@ -182,9 +204,12 @@ public class UnarmedManager extends SkillManager {
|
||||
private boolean hasIronGrip(@NotNull Player defender) {
|
||||
if (!Misc.isNPCEntityExcludingVillagers(defender)
|
||||
&& Permissions.isSubSkillEnabled(defender, SubSkillType.UNARMED_IRON_GRIP)
|
||||
&& isSkillRNGSuccessful(SubSkillType.UNARMED_IRON_GRIP, UserManager.getPlayer(defender))) {
|
||||
NotificationManager.sendPlayerInformation(defender, NotificationType.SUBSKILL_MESSAGE, "Unarmed.Ability.IronGrip.Defender");
|
||||
NotificationManager.sendPlayerInformation(getPlayer(), NotificationType.SUBSKILL_MESSAGE, "Unarmed.Ability.IronGrip.Attacker");
|
||||
&& isSkillRNGSuccessful(SubSkillType.UNARMED_IRON_GRIP,
|
||||
UserManager.getPlayer(defender))) {
|
||||
NotificationManager.sendPlayerInformation(defender, NotificationType.SUBSKILL_MESSAGE,
|
||||
"Unarmed.Ability.IronGrip.Defender");
|
||||
NotificationManager.sendPlayerInformation(getPlayer(),
|
||||
NotificationType.SUBSKILL_MESSAGE, "Unarmed.Ability.IronGrip.Attacker");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user