mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-12-13 20:48:46 +01:00
slowly refactoring stuff
This commit is contained in:
@@ -3,6 +3,7 @@ package com.gmail.nossr50.skills.archery;
|
||||
import com.gmail.nossr50.api.ItemSpawnReason;
|
||||
import com.gmail.nossr50.config.AdvancedConfig;
|
||||
import com.gmail.nossr50.config.experience.ExperienceConfig;
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.datatypes.skills.SubSkillType;
|
||||
import com.gmail.nossr50.util.Misc;
|
||||
import com.gmail.nossr50.util.skills.RankUtils;
|
||||
@@ -64,14 +65,13 @@ public class Archery {
|
||||
}
|
||||
}
|
||||
|
||||
public static double getSkillShotBonusDamage(Player player, double oldDamage)
|
||||
{
|
||||
double damageBonusPercent = getDamageBonusPercent(player);
|
||||
public static double getSkillShotBonusDamage(@NotNull McMMOPlayer mmoPlayer, double oldDamage) {
|
||||
double damageBonusPercent = getDamageBonusPercent(mmoPlayer);
|
||||
double newDamage = oldDamage + (oldDamage * damageBonusPercent);
|
||||
return Math.min(newDamage, (oldDamage + Archery.skillShotMaxBonusDamage));
|
||||
}
|
||||
|
||||
public static double getDamageBonusPercent(Player player) {
|
||||
return ((RankUtils.getRank(player, SubSkillType.ARCHERY_SKILL_SHOT)) * (AdvancedConfig.getInstance().getSkillShotRankDamageMultiplier()) / 100.0D);
|
||||
public static double getDamageBonusPercent(@NotNull McMMOPlayer mmoPlayer) {
|
||||
return ((RankUtils.getRank(mmoPlayer, SubSkillType.ARCHERY_SKILL_SHOT)) * (AdvancedConfig.getInstance().getSkillShotRankDamageMultiplier()) / 100.0D);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Projectile;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class ArcheryManager extends SkillManager {
|
||||
public ArcheryManager(McMMOPlayer mmoPlayer) {
|
||||
@@ -26,21 +27,21 @@ public class ArcheryManager extends SkillManager {
|
||||
}
|
||||
|
||||
public boolean canDaze(LivingEntity target) {
|
||||
if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.ARCHERY_DAZE))
|
||||
if(!RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.ARCHERY_DAZE))
|
||||
return false;
|
||||
|
||||
return target instanceof Player && Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.ARCHERY_DAZE);
|
||||
}
|
||||
|
||||
public boolean canSkillShot() {
|
||||
if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.ARCHERY_SKILL_SHOT))
|
||||
if(!RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.ARCHERY_SKILL_SHOT))
|
||||
return false;
|
||||
|
||||
return Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.ARCHERY_SKILL_SHOT);
|
||||
}
|
||||
|
||||
public boolean canRetrieveArrows() {
|
||||
if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.ARCHERY_ARROW_RETRIEVAL))
|
||||
if(!RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.ARCHERY_ARROW_RETRIEVAL))
|
||||
return false;
|
||||
|
||||
return Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.ARCHERY_ARROW_RETRIEVAL);
|
||||
@@ -52,7 +53,7 @@ public class ArcheryManager extends SkillManager {
|
||||
* @param target The {@link LivingEntity} damaged by the arrow
|
||||
* @param arrow The {@link Entity} who shot the arrow
|
||||
*/
|
||||
public double distanceXpBonusMultiplier(LivingEntity target, Entity arrow) {
|
||||
public double distanceXpBonusMultiplier(@NotNull LivingEntity target, @NotNull Entity arrow) {
|
||||
//Hacky Fix - some plugins spawn arrows and assign them to players after the ProjectileLaunchEvent fires
|
||||
if(!arrow.hasMetadata(mcMMO.arrowDistanceKey))
|
||||
return arrow.getLocation().distance(target.getLocation());
|
||||
@@ -76,7 +77,7 @@ public class ArcheryManager extends SkillManager {
|
||||
*
|
||||
* @param target The {@link LivingEntity} damaged by the arrow
|
||||
*/
|
||||
public void retrieveArrows(LivingEntity target, Projectile projectile) {
|
||||
public void retrieveArrows(@NotNull LivingEntity target, @NotNull Projectile projectile) {
|
||||
if(projectile.hasMetadata(mcMMO.trackedArrow)) {
|
||||
Archery.incrementTrackerValue(target);
|
||||
projectile.removeMetadata(mcMMO.trackedArrow, mcMMO.p); //Only 1 entity per projectile
|
||||
@@ -88,7 +89,7 @@ public class ArcheryManager extends SkillManager {
|
||||
*
|
||||
* @param defender The {@link Player} being affected by the ability
|
||||
*/
|
||||
public double daze(Player defender) {
|
||||
public double daze(@NotNull Player defender) {
|
||||
if (!RandomChanceUtil.isActivationSuccessful(SkillActivationType.RANDOM_LINEAR_100_SCALE_WITH_CAP, SubSkillType.ARCHERY_DAZE, getPlayer())) {
|
||||
return 0;
|
||||
}
|
||||
@@ -121,6 +122,6 @@ public class ArcheryManager extends SkillManager {
|
||||
return oldDamage;
|
||||
}
|
||||
|
||||
return Archery.getSkillShotBonusDamage(getPlayer(), oldDamage);
|
||||
return Archery.getSkillShotBonusDamage(mmoPlayer, oldDamage);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ public class TamingManager extends SkillManager {
|
||||
|
||||
private HashMap<CallOfTheWildType, List<TrackedTamingEntity>> playerSummonedEntities;
|
||||
|
||||
public TamingManager(McMMOPlayer mmoPlayer) {
|
||||
public TamingManager(@NotNull McMMOPlayer mmoPlayer) {
|
||||
super(mmoPlayer, PrimarySkillType.TAMING);
|
||||
init();
|
||||
}
|
||||
@@ -100,44 +100,44 @@ public class TamingManager extends SkillManager {
|
||||
}
|
||||
|
||||
public boolean canUseThickFur() {
|
||||
return RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.TAMING_THICK_FUR)
|
||||
return RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.TAMING_THICK_FUR)
|
||||
&& Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.TAMING_THICK_FUR);
|
||||
}
|
||||
|
||||
public boolean canUseEnvironmentallyAware() {
|
||||
return RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.TAMING_ENVIRONMENTALLY_AWARE)
|
||||
return RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.TAMING_ENVIRONMENTALLY_AWARE)
|
||||
&& Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.TAMING_ENVIRONMENTALLY_AWARE);
|
||||
}
|
||||
|
||||
public boolean canUseShockProof() {
|
||||
return RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.TAMING_SHOCK_PROOF)
|
||||
return RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.TAMING_SHOCK_PROOF)
|
||||
&& Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.TAMING_SHOCK_PROOF);
|
||||
}
|
||||
|
||||
public boolean canUseHolyHound() {
|
||||
return RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.TAMING_ENVIRONMENTALLY_AWARE)
|
||||
return RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.TAMING_ENVIRONMENTALLY_AWARE)
|
||||
&& Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.TAMING_HOLY_HOUND);
|
||||
}
|
||||
|
||||
public boolean canUseFastFoodService() {
|
||||
return RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.TAMING_FAST_FOOD_SERVICE)
|
||||
return RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.TAMING_FAST_FOOD_SERVICE)
|
||||
&& Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.TAMING_FAST_FOOD_SERVICE);
|
||||
}
|
||||
|
||||
public boolean canUseSharpenedClaws() {
|
||||
return RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.TAMING_SHARPENED_CLAWS)
|
||||
return RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.TAMING_SHARPENED_CLAWS)
|
||||
&& Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.TAMING_SHARPENED_CLAWS);
|
||||
}
|
||||
|
||||
public boolean canUseGore() {
|
||||
if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.TAMING_GORE))
|
||||
if(!RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.TAMING_GORE))
|
||||
return false;
|
||||
|
||||
return Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.TAMING_GORE);
|
||||
}
|
||||
|
||||
public boolean canUseBeastLore() {
|
||||
if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.TAMING_BEAST_LORE))
|
||||
if(!RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.TAMING_BEAST_LORE))
|
||||
return false;
|
||||
|
||||
return Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.TAMING_BEAST_LORE);
|
||||
@@ -206,7 +206,7 @@ public class TamingManager extends SkillManager {
|
||||
* Summon an ocelot to your side.
|
||||
*/
|
||||
public void summonOcelot() {
|
||||
if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.TAMING_CALL_OF_THE_WILD))
|
||||
if(!RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.TAMING_CALL_OF_THE_WILD))
|
||||
return;
|
||||
|
||||
if (!Permissions.callOfTheWild(getPlayer(), EntityType.OCELOT)) {
|
||||
@@ -220,7 +220,7 @@ public class TamingManager extends SkillManager {
|
||||
* Summon a wolf to your side.
|
||||
*/
|
||||
public void summonWolf() {
|
||||
if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.TAMING_CALL_OF_THE_WILD))
|
||||
if(!RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.TAMING_CALL_OF_THE_WILD))
|
||||
return;
|
||||
|
||||
if (!Permissions.callOfTheWild(getPlayer(), EntityType.WOLF)) {
|
||||
@@ -234,7 +234,7 @@ public class TamingManager extends SkillManager {
|
||||
* Summon a horse to your side.
|
||||
*/
|
||||
public void summonHorse() {
|
||||
if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.TAMING_CALL_OF_THE_WILD))
|
||||
if(!RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.TAMING_CALL_OF_THE_WILD))
|
||||
return;
|
||||
|
||||
if (!Permissions.callOfTheWild(getPlayer(), EntityType.HORSE)) {
|
||||
@@ -249,7 +249,7 @@ public class TamingManager extends SkillManager {
|
||||
*
|
||||
* @param target The entity to examine
|
||||
*/
|
||||
public void beastLore(LivingEntity target) {
|
||||
public void beastLore(@NotNull LivingEntity target) {
|
||||
Player player = getPlayer();
|
||||
Tameable beast = (Tameable) target;
|
||||
|
||||
@@ -273,7 +273,7 @@ public class TamingManager extends SkillManager {
|
||||
player.sendMessage(message);
|
||||
}
|
||||
|
||||
public void processEnvironmentallyAware(Wolf wolf, double damage) {
|
||||
public void processEnvironmentallyAware(@NotNull Wolf wolf, double damage) {
|
||||
if (damage > wolf.getHealth()) {
|
||||
return;
|
||||
}
|
||||
@@ -284,8 +284,8 @@ public class TamingManager extends SkillManager {
|
||||
NotificationManager.sendPlayerInformation(owner, NotificationType.SUBSKILL_MESSAGE, "Taming.Listener.Wolf");
|
||||
}
|
||||
|
||||
public void pummel(LivingEntity target, Wolf wolf) {
|
||||
if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.TAMING_PUMMEL))
|
||||
public void pummel(@NotNull LivingEntity target, @NotNull Wolf wolf) {
|
||||
if(!RankUtils.hasUnlockedSubskill(mmoPlayer, SubSkillType.TAMING_PUMMEL))
|
||||
return;
|
||||
|
||||
if(!RandomChanceUtil.checkRandomChanceExecutionSuccess(new RandomChanceSkillStatic(AdvancedConfig.getInstance().getPummelChance(), getPlayer(), SubSkillType.TAMING_PUMMEL)))
|
||||
@@ -414,7 +414,7 @@ public class TamingManager extends SkillManager {
|
||||
}
|
||||
}
|
||||
|
||||
private void spawnWolf(Location spawnLocation) {
|
||||
private void spawnWolf(@NotNull Location spawnLocation) {
|
||||
LivingEntity callOfWildEntity = (LivingEntity) getPlayer().getWorld().spawnEntity(spawnLocation, EntityType.WOLF);
|
||||
|
||||
//This is used to prevent XP gains for damaging this entity
|
||||
@@ -432,7 +432,7 @@ public class TamingManager extends SkillManager {
|
||||
callOfWildEntity.setCustomName(LocaleLoader.getString("Taming.Summon.Name.Format", getPlayer().getName(), StringUtils.getPrettyEntityTypeString(EntityType.WOLF)));
|
||||
}
|
||||
|
||||
private void spawnCat(Location spawnLocation, EntityType entityType) {
|
||||
private void spawnCat(@NotNull Location spawnLocation, @NotNull EntityType entityType) {
|
||||
LivingEntity callOfWildEntity = (LivingEntity) getPlayer().getWorld().spawnEntity(spawnLocation, entityType);
|
||||
|
||||
//This is used to prevent XP gains for damaging this entity
|
||||
@@ -459,7 +459,7 @@ public class TamingManager extends SkillManager {
|
||||
ParticleEffectUtils.playCallOfTheWildEffect(callOfWildEntity);
|
||||
}
|
||||
|
||||
private void spawnHorse(Location spawnLocation) {
|
||||
private void spawnHorse(@NotNull Location spawnLocation) {
|
||||
LivingEntity callOfWildEntity = (LivingEntity) getPlayer().getWorld().spawnEntity(spawnLocation, EntityType.HORSE);
|
||||
applyMetaDataToCOTWEntity(callOfWildEntity);
|
||||
|
||||
@@ -485,12 +485,12 @@ public class TamingManager extends SkillManager {
|
||||
ParticleEffectUtils.playCallOfTheWildEffect(callOfWildEntity);
|
||||
}
|
||||
|
||||
private void setBaseCOTWEntityProperties(LivingEntity callOfWildEntity) {
|
||||
private void setBaseCOTWEntityProperties(@NotNull LivingEntity callOfWildEntity) {
|
||||
((Tameable) callOfWildEntity).setOwner(getPlayer());
|
||||
callOfWildEntity.setRemoveWhenFarAway(false);
|
||||
}
|
||||
|
||||
private void applyMetaDataToCOTWEntity(LivingEntity summonedEntity) {
|
||||
private void applyMetaDataToCOTWEntity(@NotNull LivingEntity summonedEntity) {
|
||||
//This helps identify the entity as being summoned by COTW
|
||||
mcMMO.getCompatibilityManager().getPersistentDataLayer().flagMetadata(MobMetaFlagType.COTW_SUMMONED_MOB, summonedEntity);
|
||||
}
|
||||
@@ -500,7 +500,7 @@ public class TamingManager extends SkillManager {
|
||||
* @param itemStack target ItemStack
|
||||
* @return true if it is used for any COTW
|
||||
*/
|
||||
public boolean isCOTWItem(ItemStack itemStack) {
|
||||
public boolean isCOTWItem(@NotNull ItemStack itemStack) {
|
||||
return summoningItems.containsKey(itemStack.getType());
|
||||
}
|
||||
|
||||
@@ -513,7 +513,7 @@ public class TamingManager extends SkillManager {
|
||||
}
|
||||
|
||||
//TODO: The way this tracker was written is garbo, I should just rewrite it, I'll save that for a future update
|
||||
private void addToTracker(LivingEntity livingEntity, CallOfTheWildType callOfTheWildType) {
|
||||
private void addToTracker(@NotNull LivingEntity livingEntity, @NotNull CallOfTheWildType callOfTheWildType) {
|
||||
TrackedTamingEntity trackedEntity = new TrackedTamingEntity(livingEntity, callOfTheWildType, this);
|
||||
|
||||
playerSummonedEntities.get(callOfTheWildType).add(trackedEntity);
|
||||
@@ -525,7 +525,7 @@ public class TamingManager extends SkillManager {
|
||||
}
|
||||
|
||||
//TODO: The way this tracker was written is garbo, I should just rewrite it, I'll save that for a future update
|
||||
public void removeFromTracker(TrackedTamingEntity trackedEntity) {
|
||||
public void removeFromTracker(@NotNull TrackedTamingEntity trackedEntity) {
|
||||
playerSummonedEntities.get(trackedEntity.getCallOfTheWildType()).remove(trackedEntity);
|
||||
|
||||
NotificationManager.sendPlayerInformationChatOnly(getPlayer(), "Taming.Summon.COTW.TimeExpired", StringUtils.getPrettyEntityTypeString(trackedEntity.getLivingEntity().getType()));
|
||||
@@ -543,7 +543,7 @@ public class TamingManager extends SkillManager {
|
||||
}
|
||||
|
||||
//TODO: The way this tracker was written is garbo, I should just rewrite it, I'll save that for a future update
|
||||
private ArrayList<TrackedTamingEntity> getValidTrackedEntities(CallOfTheWildType callOfTheWildType) {
|
||||
private @NotNull ArrayList<TrackedTamingEntity> getValidTrackedEntities(@NotNull CallOfTheWildType callOfTheWildType) {
|
||||
ArrayList<TrackedTamingEntity> validTrackedEntities = new ArrayList<>();
|
||||
|
||||
for(TrackedTamingEntity trackedTamingEntity : getTrackedEntities(callOfTheWildType)) {
|
||||
|
||||
@@ -138,7 +138,7 @@ 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)) - damage;
|
||||
|
||||
return damage;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user