mirror of
https://github.com/Auxilor/EcoEnchants.git
synced 2025-02-23 05:41:19 +01:00
Implemented the requirement system on all enchantments
This commit is contained in:
parent
385e186066
commit
804246d360
@ -136,7 +136,7 @@ public class EnchantDisplay extends DisplayModule {
|
||||
}
|
||||
|
||||
if (player != null && enchantment instanceof EcoEnchant ecoEnchant) {
|
||||
if (!ecoEnchant.doesPlayerMeetRequirements(player)) {
|
||||
if (!ecoEnchant.areRequirementsMet(player)) {
|
||||
requirementLore.addAll(StringUtils.formatList(EnchantmentCache.getEntry(enchantment).getRequirementLore(), player));
|
||||
}
|
||||
}
|
||||
|
@ -266,7 +266,7 @@ public class EnchantmentCache {
|
||||
String formattedName = name;
|
||||
String unformattedName = name;
|
||||
if (enchantment instanceof EcoEnchant enchant && player != null) {
|
||||
if (!enchant.doesPlayerMeetRequirements(player)) {
|
||||
if (!enchant.areRequirementsMet(player)) {
|
||||
String color = PLUGIN.getDisplayModule().getOptions().getRequirementsOptions().getRequirementColor();
|
||||
if (color.contains("{}")) {
|
||||
unformattedName = color.replace("{}", unformattedName);
|
||||
|
@ -19,6 +19,7 @@ import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
@ -291,10 +292,14 @@ public abstract class EcoEnchant extends Enchantment implements Listener, Watche
|
||||
/**
|
||||
* Does the player meet the requirements to use this enchantment.
|
||||
*
|
||||
* @param player The player.
|
||||
* @param entity The entity.
|
||||
* @return If the requirements are met.
|
||||
*/
|
||||
public boolean doesPlayerMeetRequirements(@NotNull final Player player) {
|
||||
public boolean areRequirementsMet(@NotNull final LivingEntity entity) {
|
||||
if (!(entity instanceof Player player)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (cachedRequirements.containsKey(player.getUniqueId())) {
|
||||
return cachedRequirements.get(player.getUniqueId());
|
||||
}
|
||||
|
@ -57,7 +57,9 @@ public class CallingCurse extends EcoEnchant implements TimedRunnable {
|
||||
for (Player player : this.getPlugin().getServer().getOnlinePlayers()) {
|
||||
int level = EnchantChecks.getArmorPoints(player, this, 0);
|
||||
if (level > 0) {
|
||||
players.put(player, level);
|
||||
if (this.areRequirementsMet(player)) {
|
||||
players.put(player, level);
|
||||
}
|
||||
}
|
||||
}
|
||||
}, 1);
|
||||
|
@ -69,7 +69,9 @@ public class DecayCurse extends EcoEnchant implements TimedRunnable {
|
||||
players.clear();
|
||||
this.getPlugin().getScheduler().runLater(() -> this.getPlugin().getServer().getOnlinePlayers().forEach(player -> {
|
||||
if (Arrays.stream(player.getInventory().getContents()).parallel().anyMatch(item -> EnchantChecks.item(item, this))) {
|
||||
players.add(player);
|
||||
if (this.areRequirementsMet(player)) {
|
||||
players.add(player);
|
||||
}
|
||||
}
|
||||
}), 1);
|
||||
amount = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "multiplier");
|
||||
@ -78,7 +80,9 @@ public class DecayCurse extends EcoEnchant implements TimedRunnable {
|
||||
private void refreshPlayer(@NotNull final Player player) {
|
||||
players.remove(player);
|
||||
if (Arrays.stream(player.getInventory().getContents()).parallel().anyMatch(item -> EnchantChecks.item(item, this))) {
|
||||
players.add(player);
|
||||
if (this.areRequirementsMet(player)) {
|
||||
players.add(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -33,6 +33,10 @@ public class FragilityCurse extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(event.getPlayer())) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.getDisabledWorlds().contains(event.getPlayer().getWorld())) {
|
||||
return;
|
||||
}
|
||||
|
@ -40,6 +40,10 @@ public class HungerCurse extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
int delta = player.getFoodLevel() - event.getFoodLevel();
|
||||
delta *= this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "times-more-hunger");
|
||||
|
||||
|
@ -35,6 +35,10 @@ public class Beheading extends EcoEnchant {
|
||||
|
||||
Player player = event.getEntity().getKiller();
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
LivingEntity victim = event.getEntity();
|
||||
|
||||
if (!EnchantChecks.mainhand(player, this)) {
|
||||
|
@ -32,6 +32,10 @@ public class Dexterous extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
int level = EnchantChecks.getItemLevel(item, this);
|
||||
double bonus = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "add-speed-per-level");
|
||||
player.getAttribute(Attribute.GENERIC_ATTACK_SPEED).setBaseValue(4.0 + (level * bonus));
|
||||
|
@ -33,6 +33,9 @@ public class Economical extends EcoEnchant {
|
||||
if (this.getDisabledWorlds().contains(event.getPlayer().getWorld())) {
|
||||
return;
|
||||
}
|
||||
if (!this.areRequirementsMet(event.getPlayer())) {
|
||||
return;
|
||||
}
|
||||
event.setShouldConsume(false);
|
||||
}
|
||||
}
|
||||
|
@ -43,11 +43,14 @@ public class Enderism extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
assert player != null;
|
||||
if (!player.getWorld().getEnvironment().equals(World.Environment.THE_END)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!EnchantChecks.arrow(arrow, this)) {
|
||||
return;
|
||||
}
|
||||
|
@ -37,6 +37,10 @@ public class Farmhand extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(event.getClickedBlock().getType().equals(Material.DIRT) || event.getClickedBlock().getType().equals(Material.GRASS_BLOCK))) {
|
||||
return;
|
||||
}
|
||||
|
@ -43,6 +43,10 @@ public class Fetching extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(EnchantChecks.helmet(player, this))) {
|
||||
return;
|
||||
}
|
||||
|
@ -52,7 +52,9 @@ public class Forcefield extends EcoEnchant implements TimedRunnable {
|
||||
for (Player player : this.getPlugin().getServer().getOnlinePlayers()) {
|
||||
int level = EnchantChecks.getArmorPoints(player, this, 0);
|
||||
if (level > 0) {
|
||||
players.put(player, level);
|
||||
if (this.areRequirementsMet(player)) {
|
||||
players.put(player, level);
|
||||
}
|
||||
}
|
||||
}
|
||||
}, 1);
|
||||
|
@ -35,6 +35,10 @@ public class Frozen extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
final int points = EnchantChecks.getArmorPoints(player, this, 0);
|
||||
|
||||
if (points == 0) {
|
||||
|
@ -33,6 +33,10 @@ public class Graceful extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.getVelocity().getY() > -1) {
|
||||
return;
|
||||
}
|
||||
|
@ -28,6 +28,10 @@ public class GreenThumb extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.getClickedBlock() == null) {
|
||||
return;
|
||||
}
|
||||
|
@ -29,6 +29,10 @@ public class Grit extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(attacker)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!AntigriefManager.canInjure(attacker, player)) {
|
||||
return;
|
||||
}
|
||||
|
@ -72,6 +72,10 @@ public class InfernalTouch extends EcoEnchant {
|
||||
Player player = event.getPlayer();
|
||||
Block block = event.getBlock();
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!EnchantChecks.mainhand(player, this)) {
|
||||
return;
|
||||
}
|
||||
|
@ -27,6 +27,10 @@ public class Invigoration extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
int totalInvigorationPoints = EnchantChecks.getArmorPoints(player, this, 0);
|
||||
if (this.getDisabledWorlds().contains(player.getWorld())) {
|
||||
return;
|
||||
@ -47,6 +51,10 @@ public class Invigoration extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.getHealth() > this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "below-health")) {
|
||||
return;
|
||||
}
|
||||
|
@ -35,6 +35,10 @@ public class Launch extends EcoEnchant {
|
||||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!player.isGliding()) {
|
||||
return;
|
||||
}
|
||||
|
@ -33,6 +33,10 @@ public class LuckyCatch extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.getState() == PlayerFishEvent.State.CAUGHT_ENTITY) {
|
||||
return;
|
||||
}
|
||||
|
@ -51,7 +51,9 @@ public class Magnetic extends EcoEnchant implements TimedRunnable {
|
||||
this.getPlugin().getScheduler().runLater(() -> this.getPlugin().getServer().getOnlinePlayers().forEach(player -> {
|
||||
int level = EnchantChecks.getArmorPoints(player, this, 0);
|
||||
if (level > 0) {
|
||||
players.put(player, level);
|
||||
if (this.areRequirementsMet(player)) {
|
||||
players.put(player, level);
|
||||
}
|
||||
}
|
||||
}), 1);
|
||||
initialDistance = EcoEnchants.MAGNETIC.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "initial-distance");
|
||||
|
@ -19,11 +19,14 @@ public class Marksman extends EcoEnchant {
|
||||
|
||||
@EventHandler
|
||||
public void onMarksmanShoot(@NotNull final ProjectileLaunchEvent event) {
|
||||
|
||||
if (!(event.getEntity().getShooter() instanceof Player player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!EnchantChecks.mainhand(player, this)) {
|
||||
return;
|
||||
}
|
||||
|
@ -37,6 +37,10 @@ public class Necrotic extends EcoEnchant {
|
||||
|
||||
Player player = event.getEntity().getKiller();
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!EnchantChecks.mainhand(player, this)) {
|
||||
return;
|
||||
}
|
||||
|
@ -32,6 +32,10 @@ public class Rebounding extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(victim)) {
|
||||
return;
|
||||
}
|
||||
|
||||
int level = EnchantChecks.getArmorPoints(victim, this);
|
||||
|
||||
if (level == 0) {
|
||||
|
@ -32,6 +32,10 @@ public class Reel extends EcoEnchant {
|
||||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (victim.hasMetadata("NPC")) {
|
||||
return;
|
||||
}
|
||||
|
@ -22,6 +22,10 @@ public class Rejuvenation extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!event.getRegainReason().equals(EntityRegainHealthEvent.RegainReason.SATIATED) && !event.getRegainReason().equals(EntityRegainHealthEvent.RegainReason.REGEN)) {
|
||||
return;
|
||||
}
|
||||
|
@ -27,6 +27,10 @@ public class Sating extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!EnchantChecks.helmet(player, this)) {
|
||||
return;
|
||||
}
|
||||
|
@ -31,6 +31,10 @@ public class Shockwave extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack item = player.getInventory().getItemInMainHand();
|
||||
if (entity instanceof Trident trident) {
|
||||
item = trident.getItem();
|
||||
|
@ -36,6 +36,10 @@ public class ShotAssist extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
assert player != null;
|
||||
|
||||
int points = EnchantChecks.getArmorPoints(player, this, 0);
|
||||
|
@ -32,6 +32,10 @@ public class Slicing extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!EnchantChecks.chestplate(player, this)) {
|
||||
return;
|
||||
}
|
||||
|
@ -43,6 +43,10 @@ public class Spearfishing extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(event.getEntity() instanceof Trident trident)) {
|
||||
return;
|
||||
}
|
||||
|
@ -30,6 +30,10 @@ public class Spiked extends EcoEnchant {
|
||||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (victim.hasMetadata("NPC")) {
|
||||
return;
|
||||
}
|
||||
|
@ -31,6 +31,10 @@ public class Stamina extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!EnchantChecks.boots(player, this)) {
|
||||
return;
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ public class Telekinesis extends EcoEnchant {
|
||||
public void telekinesisDropItem(@NotNull final BlockDropItemEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (!always && !EnchantChecks.mainhand(player, this)) {
|
||||
if (!always && !(EnchantChecks.mainhand(player, this)) && this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -94,7 +94,7 @@ public class Telekinesis extends EcoEnchant {
|
||||
Player player = event.getPlayer();
|
||||
Block block = event.getBlock();
|
||||
|
||||
if (!always && !EnchantChecks.mainhand(player, this)) {
|
||||
if (!always && !(EnchantChecks.mainhand(player, this)) && this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -27,6 +27,10 @@ public class Thrive extends EcoEnchant {
|
||||
public void onArmorEquip(@NotNull final ArmorChangeEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
int points = EnchantChecks.getArmorPoints(player, this);
|
||||
|
||||
AttributeInstance inst = player.getAttribute(Attribute.GENERIC_MAX_HEALTH);
|
||||
|
@ -46,6 +46,10 @@ public class Aiming extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
int level = EnchantChecks.getMainhandLevel(player, this);
|
||||
|
||||
if (this.getDisabledWorlds().contains(player.getWorld())) {
|
||||
|
@ -26,6 +26,10 @@ public class Frenzy extends EcoEnchant {
|
||||
|
||||
Player player = event.getEntity().getKiller();
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!EnchantChecks.mainhand(player, this)) {
|
||||
return;
|
||||
}
|
||||
|
@ -30,6 +30,10 @@ public class Harpoon extends EcoEnchant {
|
||||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (victim.hasMetadata("NPC")) {
|
||||
return;
|
||||
}
|
||||
|
@ -29,6 +29,10 @@ public class Indestructibility extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(event.getPlayer())) {
|
||||
return;
|
||||
}
|
||||
|
||||
double level = EnchantChecks.getItemLevel(item, this);
|
||||
double levelBonus = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "level-bonus");
|
||||
|
||||
|
@ -29,6 +29,10 @@ public class Instability extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!EnchantChecks.mainhand(player, this)) {
|
||||
return;
|
||||
}
|
||||
|
@ -24,6 +24,10 @@ public class Intellect extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
int level = EnchantChecks.getMainhandLevel(player, this);
|
||||
|
||||
if (level == 0) {
|
||||
|
@ -27,37 +27,39 @@ public class Prosperity extends EcoEnchant {
|
||||
public void onArmorEquip(@NotNull final ArmorChangeEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
|
||||
this.getPlugin().getScheduler().runLater(() -> {
|
||||
int points = EnchantChecks.getArmorPoints(player, this);
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
AttributeInstance inst = player.getAttribute(Attribute.GENERIC_MAX_HEALTH);
|
||||
int points = EnchantChecks.getArmorPoints(player, this);
|
||||
|
||||
assert inst != null;
|
||||
AttributeInstance inst = player.getAttribute(Attribute.GENERIC_MAX_HEALTH);
|
||||
|
||||
inst.setBaseValue(inst.getDefaultValue());
|
||||
assert inst != null;
|
||||
|
||||
if (this.getDisabledWorlds().contains(player.getWorld())) {
|
||||
points = 0;
|
||||
}
|
||||
inst.setBaseValue(inst.getDefaultValue());
|
||||
|
||||
inst.removeModifier(modifier);
|
||||
if (this.getDisabledWorlds().contains(player.getWorld())) {
|
||||
points = 0;
|
||||
}
|
||||
|
||||
if (player.getHealth() >= inst.getValue()) {
|
||||
this.getPlugin().getScheduler().runLater(() -> {
|
||||
player.setHealth(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
|
||||
}, 1);
|
||||
}
|
||||
inst.removeModifier(modifier);
|
||||
|
||||
if (points > 0) {
|
||||
inst.addModifier(
|
||||
new AttributeModifier(
|
||||
UUID.nameUUIDFromBytes("prosperity".getBytes()),
|
||||
this.getKey().getKey(),
|
||||
this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "health-per-point") * points,
|
||||
AttributeModifier.Operation.ADD_NUMBER
|
||||
)
|
||||
);
|
||||
}
|
||||
}, 1);
|
||||
if (player.getHealth() >= inst.getValue()) {
|
||||
this.getPlugin().getScheduler().runLater(() -> {
|
||||
player.setHealth(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
|
||||
}, 1);
|
||||
}
|
||||
|
||||
if (points > 0) {
|
||||
inst.addModifier(
|
||||
new AttributeModifier(
|
||||
UUID.nameUUIDFromBytes("prosperity".getBytes()),
|
||||
this.getKey().getKey(),
|
||||
this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "health-per-point") * points,
|
||||
AttributeModifier.Operation.ADD_NUMBER
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -70,7 +70,9 @@ public class Repairing extends EcoEnchant implements TimedRunnable {
|
||||
players.clear();
|
||||
this.getPlugin().getScheduler().runLater(() -> this.getPlugin().getServer().getOnlinePlayers().forEach(player -> {
|
||||
if (Arrays.stream(player.getInventory().getContents()).parallel().anyMatch(item -> EnchantChecks.item(item, this))) {
|
||||
players.add(player);
|
||||
if (this.areRequirementsMet(player)) {
|
||||
players.add(player);
|
||||
}
|
||||
}
|
||||
}), 1);
|
||||
amount = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "multiplier");
|
||||
@ -79,7 +81,9 @@ public class Repairing extends EcoEnchant implements TimedRunnable {
|
||||
private void refreshPlayer(@NotNull final Player player) {
|
||||
players.remove(player);
|
||||
if (Arrays.stream(player.getInventory().getContents()).parallel().anyMatch(item -> EnchantChecks.item(item, this))) {
|
||||
players.add(player);
|
||||
if (this.areRequirementsMet(player)) {
|
||||
players.add(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -42,6 +42,10 @@ public class Soulbound extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.getKiller() != null) {
|
||||
Player killer = player.getKiller();
|
||||
int reaperLevel = EnchantChecks.getMainhandLevel(killer, EcoEnchants.REAPER);
|
||||
|
@ -100,6 +100,10 @@ public abstract class Artifact extends EcoEnchant {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!EnchantChecks.chestplate(player, this)) {
|
||||
return;
|
||||
}
|
||||
|
@ -252,6 +252,10 @@ public abstract class Spell extends EcoEnchant {
|
||||
}
|
||||
}
|
||||
|
||||
if (!this.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (cooldown > 0) {
|
||||
if (!this.hasFlag("no-cooldown-message")) {
|
||||
if (this.getPlugin().getConfigYml().getBool("types.special.cooldown-in-actionbar")) {
|
||||
|
@ -113,6 +113,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(attacker)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onArrowDamage(attacker, victim, arrow, level, event);
|
||||
}));
|
||||
}
|
||||
@ -173,6 +177,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(attacker)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onTridentDamage(attacker, victim, trident, level, event);
|
||||
}));
|
||||
}
|
||||
@ -203,6 +211,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onJump(player, level, event);
|
||||
});
|
||||
}
|
||||
@ -257,6 +269,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(attacker)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onMeleeAttack(attacker, victim, level, event);
|
||||
});
|
||||
}
|
||||
@ -292,6 +308,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(shooter)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onBowShoot(shooter, arrow, level, event);
|
||||
});
|
||||
}
|
||||
@ -342,6 +362,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(shooter)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onProjectileLaunch(shooter, projectile, level, event);
|
||||
});
|
||||
}
|
||||
@ -378,6 +402,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(victim)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onFallDamage(victim, level, event);
|
||||
});
|
||||
}
|
||||
@ -414,6 +442,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(shooter)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onArrowHit(shooter, level, event);
|
||||
}));
|
||||
}
|
||||
@ -452,6 +484,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(shooter)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onTridentHit(shooter, level, event);
|
||||
});
|
||||
}
|
||||
@ -491,6 +527,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onBlockBreak(player, block, level, event);
|
||||
});
|
||||
}
|
||||
@ -523,6 +563,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(victim)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onDamageWearingArmor(victim, level, event);
|
||||
});
|
||||
}
|
||||
@ -550,6 +594,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
int level = EnchantChecks.getArmorPoints(player, enchant);
|
||||
enchant.onArmorEquip(player, level, event);
|
||||
}), 1);
|
||||
@ -561,7 +609,6 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
* @param event The event to listen for.
|
||||
*/
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
@Deprecated
|
||||
public void onArmorChange(@NotNull final ArmorChangeEvent event) {
|
||||
if (McmmoManager.isFake(event)) {
|
||||
return;
|
||||
@ -578,6 +625,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
int level = EnchantChecks.getArmorPoints(player, enchant);
|
||||
enchant.onArmorEquip(player, level, event);
|
||||
});
|
||||
@ -614,6 +665,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onDamageBlock(player, block, level, event);
|
||||
});
|
||||
}
|
||||
@ -639,6 +694,7 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
|
||||
LivingEntity shooter = (LivingEntity) trident.getShooter();
|
||||
ItemStack item = trident.getItem();
|
||||
assert shooter != null;
|
||||
|
||||
EnchantChecks.getEnchantsOnItem(item).forEach((enchant, level) -> {
|
||||
if (event.isCancelled()) {
|
||||
@ -653,6 +709,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(shooter)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onTridentLaunch(shooter, trident, level, event);
|
||||
});
|
||||
}
|
||||
@ -701,6 +761,10 @@ public class WatcherTriggers extends PluginDependent<EcoPlugin> implements Liste
|
||||
return;
|
||||
}
|
||||
|
||||
if (!enchant.areRequirementsMet(blocker)) {
|
||||
return;
|
||||
}
|
||||
|
||||
enchant.onDeflect(blocker, attacker, level, event);
|
||||
});
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user