mirror of
https://github.com/Auxilor/EcoArmor.git
synced 2025-12-28 03:19:25 +00:00
Added has-permission condition
This commit is contained in:
@@ -13,9 +13,7 @@ import com.willfp.ecoarmor.display.ArmorDisplay;
|
||||
import com.willfp.ecoarmor.effects.Effect;
|
||||
import com.willfp.ecoarmor.effects.Effects;
|
||||
import com.willfp.ecoarmor.effects.util.EffectWatcher;
|
||||
import com.willfp.ecoarmor.sets.ArmorSet;
|
||||
import com.willfp.ecoarmor.sets.ArmorSets;
|
||||
import com.willfp.ecoarmor.sets.meta.ArmorSlot;
|
||||
import com.willfp.ecoarmor.sets.util.EffectiveDurabilityListener;
|
||||
import com.willfp.ecoarmor.sets.util.PreventSkullPlaceListener;
|
||||
import com.willfp.ecoarmor.upgrades.Tiers;
|
||||
@@ -23,7 +21,6 @@ import com.willfp.ecoarmor.upgrades.listeners.AdvancementShardListener;
|
||||
import com.willfp.ecoarmor.upgrades.listeners.CrystalListener;
|
||||
import com.willfp.ecoarmor.util.DiscoverRecipeListener;
|
||||
import lombok.Getter;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -63,6 +60,7 @@ public class EcoArmorPlugin extends EcoPlugin {
|
||||
|
||||
Effects.values().stream().filter(Effect::isEnabled).forEach(effect -> this.getEventManager().registerListener(effect));
|
||||
Conditions.values().forEach(condition -> this.getEventManager().registerListener(condition));
|
||||
this.getScheduler().runTimer((Runnable) Conditions.HAS_PERMISSION, 100, 100);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.willfp.ecoarmor.conditions.conditions.ConditionBelowHealthPercent;
|
||||
import com.willfp.ecoarmor.conditions.conditions.ConditionBelowHungerPercent;
|
||||
import com.willfp.ecoarmor.conditions.conditions.ConditionBelowXPLevel;
|
||||
import com.willfp.ecoarmor.conditions.conditions.ConditionBelowY;
|
||||
import com.willfp.ecoarmor.conditions.conditions.ConditionHasPermission;
|
||||
import com.willfp.ecoarmor.conditions.conditions.ConditionInBiome;
|
||||
import com.willfp.ecoarmor.conditions.conditions.ConditionInWater;
|
||||
import com.willfp.ecoarmor.conditions.conditions.ConditionInWorld;
|
||||
@@ -38,6 +39,7 @@ public class Conditions {
|
||||
public static final Condition<?> ABOVE_HUNGER_PERCENT = new ConditionAboveHungerPercent();
|
||||
public static final Condition<?> BELOW_HUNGER_PERCENT = new ConditionBelowHungerPercent();
|
||||
public static final Condition<?> IN_BIOME = new ConditionInBiome();
|
||||
public static final Condition<?> HAS_PERMISSION = new ConditionHasPermission();
|
||||
|
||||
/**
|
||||
* Get condition matching name.s
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.willfp.ecoarmor.conditions.conditions;
|
||||
|
||||
import com.willfp.ecoarmor.conditions.Condition;
|
||||
import com.willfp.ecoarmor.sets.ArmorSet;
|
||||
import com.willfp.ecoarmor.sets.util.ArmorUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class ConditionHasPermission extends Condition<String> implements Runnable {
|
||||
public ConditionHasPermission() {
|
||||
super("has-permission", String.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
ArmorSet set = ArmorUtils.getSetOnPlayer(player);
|
||||
|
||||
if (set == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
String value = set.getConditionValue(this);
|
||||
|
||||
if (value == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
evaluateEffects(player, value, set);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isConditionMet(@NotNull final Player player,
|
||||
@NotNull final String value) {
|
||||
return player.hasPermission(value);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user