mirror of
https://github.com/songoda/EpicEnchants.git
synced 2024-09-28 23:57:33 +02:00
Renamed WEARER to USER.
This commit is contained in:
parent
4d87218ed9
commit
af685677c6
@ -12,10 +12,10 @@ public abstract class EffectEventExecutor extends EffectExecutor {
|
||||
super(section);
|
||||
}
|
||||
|
||||
public abstract void execute(Player wearer, LivingEntity opponent, int level, Event event, EventType eventType);
|
||||
public abstract void execute(Player user, LivingEntity opponent, int level, Event event, EventType eventType);
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
throw new UnsupportedOperationException("This method can not be called on EventEffects");
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import static com.songoda.epicenchants.effect.EffectExecutor.Who.OPPONENT;
|
||||
import static com.songoda.epicenchants.effect.EffectExecutor.Who.WEARER;
|
||||
import static com.songoda.epicenchants.effect.EffectExecutor.Who.USER;
|
||||
|
||||
public abstract class EffectExecutor {
|
||||
@Getter private final ConfigurationSection section;
|
||||
@ -29,7 +29,7 @@ public abstract class EffectExecutor {
|
||||
this.condition = Condition.of(section.getString("condition"));
|
||||
}
|
||||
|
||||
public void testAndRun(@NotNull Player wearer, @Nullable LivingEntity opponent, int level, TriggerType type, Event event, EventType eventType) {
|
||||
public void testAndRun(@NotNull Player user, @Nullable LivingEntity opponent, int level, TriggerType type, Event event, EventType eventType) {
|
||||
if (type != triggerType) {
|
||||
return;
|
||||
}
|
||||
@ -38,41 +38,41 @@ public abstract class EffectExecutor {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!condition.get(wearer, opponent, level, false)) {
|
||||
if (!condition.get(user, opponent, level, false)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this instanceof EffectEventExecutor) {
|
||||
((EffectEventExecutor) this).execute(wearer, opponent, level, event, eventType);
|
||||
((EffectEventExecutor) this).execute(user, opponent, level, event, eventType);
|
||||
return;
|
||||
}
|
||||
|
||||
execute(wearer, opponent, level, eventType);
|
||||
execute(user, opponent, level, eventType);
|
||||
}
|
||||
|
||||
public abstract void execute(@NotNull Player wearer, @Nullable LivingEntity opponent, int level, EventType eventType);
|
||||
public abstract void execute(@NotNull Player user, @Nullable LivingEntity opponent, int level, EventType eventType);
|
||||
|
||||
public Who who() {
|
||||
if (section.isString("who")) {
|
||||
if (section.getString("who").equalsIgnoreCase("wearer")) return WEARER;
|
||||
if (section.getString("who").equalsIgnoreCase("user")) return USER;
|
||||
else if (section.getString("who").equalsIgnoreCase("opponent")) return OPPONENT;
|
||||
}
|
||||
return WEARER;
|
||||
return USER;
|
||||
}
|
||||
|
||||
public LeveledModifier getAmount() {
|
||||
return LeveledModifier.of(section.getString("amount"));
|
||||
}
|
||||
|
||||
public void consume(Consumer<LivingEntity> playerConsumer, Player wearer, @Nullable LivingEntity opponent) {
|
||||
public void consume(Consumer<LivingEntity> playerConsumer, Player user, @Nullable LivingEntity opponent) {
|
||||
if (triggerType == TriggerType.HELD_ITEM || triggerType == TriggerType.STATIC_EFFECT) {
|
||||
playerConsumer.accept(wearer);
|
||||
playerConsumer.accept(user);
|
||||
return;
|
||||
}
|
||||
|
||||
switch (who()) {
|
||||
case WEARER:
|
||||
playerConsumer.accept(wearer);
|
||||
case USER:
|
||||
playerConsumer.accept(user);
|
||||
break;
|
||||
case OPPONENT:
|
||||
if (opponent != null)
|
||||
@ -81,6 +81,6 @@ public abstract class EffectExecutor {
|
||||
}
|
||||
|
||||
public enum Who {
|
||||
WEARER, OPPONENT
|
||||
USER, OPPONENT
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ public class Burn extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, @Nullable LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(entity -> entity.setFireTicks((int) LeveledModifier.of(getSection().getString("time")).get(level, 20)), wearer, opponent);
|
||||
public void execute(@NotNull Player user, @Nullable LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(entity -> entity.setFireTicks((int) LeveledModifier.of(getSection().getString("time")).get(level, 20)), user, opponent);
|
||||
}
|
||||
}
|
||||
|
@ -14,10 +14,10 @@ public class ConsoleCommand extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), getSection().getString("command")
|
||||
.replace("{level}", "" + level)
|
||||
.replace("{wearer}", wearer.getName())
|
||||
.replace("{user}", user.getName())
|
||||
.replace("{opponent}", opponent == null ? "" : opponent.getName()));
|
||||
}
|
||||
}
|
||||
|
@ -19,8 +19,8 @@ public class DropHead extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(entity -> getHead(entity).ifPresent(head -> entity.getWorld().dropItemNaturally(entity.getLocation(), head)), wearer, opponent);
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(entity -> getHead(entity).ifPresent(head -> entity.getWorld().dropItemNaturally(entity.getLocation(), head)), user, opponent);
|
||||
}
|
||||
|
||||
private Optional<ItemStack> getHead(Entity entity) {
|
||||
|
@ -15,8 +15,8 @@ public class DropItem extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, @Nullable LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, @Nullable LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(entity -> entity.getLocation().getWorld().dropItemNaturally(entity.getLocation(),
|
||||
new ItemBuilder(getSection(), ((Player) entity)).build()), wearer, opponent);
|
||||
new ItemBuilder(getSection(), ((Player) entity)).build()), user, opponent);
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ public class Extinguish extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(player -> player.setFireTicks(0), wearer, opponent);
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(player -> player.setFireTicks(0), user, opponent);
|
||||
}
|
||||
}
|
||||
|
@ -15,9 +15,9 @@ public class Fly extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
wearer.setAllowFlight(eventType == ON);
|
||||
wearer.setFlying(eventType == ON);
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
user.setAllowFlight(eventType == ON);
|
||||
user.setFlying(eventType == ON);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ public class Lightning extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(entity -> entity.getWorld().strikeLightning(entity.getLocation()), wearer, opponent);
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(entity -> entity.getWorld().strikeLightning(entity.getLocation()), user, opponent);
|
||||
}
|
||||
}
|
||||
|
@ -15,11 +15,11 @@ public class Message extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
if (eventType == EventType.ON || eventType == EventType.NONE)
|
||||
consume(entity -> entity.sendMessage(color(getSection().getString("message"))
|
||||
.replace("{level}", "" + level)
|
||||
.replace("{wearer}", wearer.getName())
|
||||
.replace("{opponent}", opponent == null ? "" : opponent.getName())), wearer, opponent);
|
||||
.replace("{user}", user.getName())
|
||||
.replace("{opponent}", opponent == null ? "" : opponent.getName())), user, opponent);
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ public class ModifyDamage extends EffectEventExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(Player wearer, LivingEntity opponent, int level, Event event, EventType eventType) {
|
||||
public void execute(Player user, LivingEntity opponent, int level, Event event, EventType eventType) {
|
||||
if (!(event instanceof EntityDamageEvent)) {
|
||||
return;
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ public class ModifyExp extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, @Nullable LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, @Nullable LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(entity -> {
|
||||
if (entity instanceof Player) {
|
||||
Player player = (Player) entity;
|
||||
@ -26,6 +26,6 @@ public class ModifyExp extends EffectExecutor {
|
||||
Experience.changeExp(player, (int) getAmount().get(level, 0));
|
||||
}
|
||||
}
|
||||
}, wearer, opponent);
|
||||
}, user, opponent);
|
||||
}
|
||||
}
|
||||
|
@ -14,11 +14,11 @@ public class ModifyFood extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, @Nullable LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, @Nullable LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(entity -> {
|
||||
if (entity instanceof Player) {
|
||||
((Player) entity).setFoodLevel((int) (((Player) entity).getFoodLevel() + getAmount().get(level, 0)));
|
||||
}
|
||||
}, wearer, opponent);
|
||||
}, user, opponent);
|
||||
}
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ public class ModifyHealth extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(entity -> {
|
||||
double amount = getAmount().get(level, 0);
|
||||
if (entity.getHealth() + amount > entity.getMaxHealth()) {
|
||||
@ -24,6 +24,6 @@ public class ModifyHealth extends EffectExecutor {
|
||||
} else {
|
||||
entity.setHealth(entity.getHealth() + amount);
|
||||
}
|
||||
}, wearer, opponent);
|
||||
}, user, opponent);
|
||||
}
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ public class PlayerCommand extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
if (eventType == ON || eventType == NONE) {
|
||||
if (who() == OPPONENT && !(opponent instanceof Player)) {
|
||||
return;
|
||||
@ -25,8 +25,8 @@ public class PlayerCommand extends EffectExecutor {
|
||||
|
||||
consume(entity -> ((Player) entity).performCommand(getSection().getString("command")
|
||||
.replace("{level}", "" + level)
|
||||
.replace("{wearer}", wearer.getName())
|
||||
.replace("{opponent}", opponent.getName())), wearer, opponent);
|
||||
.replace("{user}", user.getName())
|
||||
.replace("{opponent}", opponent.getName())), user, opponent);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ public class Potion extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
if (!getSection().isString("potion-type")) {
|
||||
return;
|
||||
}
|
||||
@ -32,9 +32,9 @@ public class Potion extends EffectExecutor {
|
||||
if (this.getTriggerType() == TriggerType.STATIC_EFFECT || this.getTriggerType() == TriggerType.HELD_ITEM) {
|
||||
if (eventType == EventType.ON) {
|
||||
consume(entity -> entity.addPotionEffect(new PotionEffect(effectType, Integer.MAX_VALUE, ((int) amplifier.get(level, 0)),
|
||||
false, false)), wearer, opponent);
|
||||
false, false)), user, opponent);
|
||||
} else if (eventType == EventType.OFF) {
|
||||
consume(entity -> entity.removePotionEffect(effectType), wearer, opponent);
|
||||
consume(entity -> entity.removePotionEffect(effectType), user, opponent);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@ -42,7 +42,7 @@ public class Potion extends EffectExecutor {
|
||||
LeveledModifier duration = LeveledModifier.of(getSection().getString("duration"));
|
||||
|
||||
consume(entity -> entity.addPotionEffect(new PotionEffect(effectType, ((int) duration.get(level, 60)),
|
||||
((int) amplifier.get(level, 0)), false, false)), wearer, opponent);
|
||||
((int) amplifier.get(level, 0)), false, false)), user, opponent);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -16,13 +16,13 @@ public class RemoveEffect extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, @Nullable LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, @Nullable LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(entity -> {
|
||||
if (!getSection().isString("potion-type")) {
|
||||
entity.getActivePotionEffects().stream().map(PotionEffect::getType).forEach(entity::removePotionEffect);
|
||||
} else {
|
||||
entity.removePotionEffect(PotionEffectType.getByName(getSection().getString("potion-type")));
|
||||
}
|
||||
}, wearer, opponent);
|
||||
}, user, opponent);
|
||||
}
|
||||
}
|
||||
|
@ -13,10 +13,10 @@ public class Repair extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(livingEntity -> {
|
||||
if (livingEntity instanceof Player)
|
||||
((Player) livingEntity).getItemInHand().setDurability((short) 0);
|
||||
}, wearer, opponent);
|
||||
}, user, opponent);
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,8 @@ import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import static com.songoda.epicenchants.utils.single.Experience.*;
|
||||
import static com.songoda.epicenchants.utils.single.Experience.changeExp;
|
||||
import static com.songoda.epicenchants.utils.single.Experience.getExp;
|
||||
|
||||
public class StealExp extends EffectExecutor {
|
||||
public StealExp(ConfigurationSection section) {
|
||||
@ -16,7 +17,7 @@ public class StealExp extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, @Nullable LivingEntity entity, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, @Nullable LivingEntity entity, int level, EventType eventType) {
|
||||
double amount = getAmount().get(level, 0);
|
||||
|
||||
if (!(entity instanceof Player)) {
|
||||
@ -32,10 +33,10 @@ public class StealExp extends EffectExecutor {
|
||||
changeExp(opponent, (int) -amount);
|
||||
}
|
||||
|
||||
if (getExp(wearer) + amount <= 0) {
|
||||
changeExp(wearer, 0);
|
||||
if (getExp(user) + amount <= 0) {
|
||||
changeExp(user, 0);
|
||||
} else {
|
||||
changeExp(wearer, (int) amount);
|
||||
changeExp(user, (int) amount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ public class StealHealth extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
double amount = getAmount().get(level, 0);
|
||||
|
||||
if (opponent == null) {
|
||||
@ -21,7 +21,7 @@ public class StealHealth extends EffectExecutor {
|
||||
}
|
||||
|
||||
double opponentHealth = opponent.getHealth() - amount;
|
||||
double wearerHealth = wearer.getHealth() + amount;
|
||||
double userHealth = user.getHealth() + amount;
|
||||
|
||||
if (opponentHealth <= 0) {
|
||||
opponent.setHealth(0);
|
||||
@ -31,12 +31,12 @@ public class StealHealth extends EffectExecutor {
|
||||
opponent.setHealth(opponentHealth);
|
||||
}
|
||||
|
||||
if (wearerHealth <= 0) {
|
||||
wearer.setHealth(0);
|
||||
} else if (wearerHealth > wearer.getMaxHealth()) {
|
||||
wearer.setHealth(wearer.getMaxHealth());
|
||||
if (userHealth <= 0) {
|
||||
user.setHealth(0);
|
||||
} else if (userHealth > user.getMaxHealth()) {
|
||||
user.setHealth(user.getMaxHealth());
|
||||
} else {
|
||||
wearer.setHealth(wearerHealth);
|
||||
user.setHealth(userHealth);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.Vector;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static com.songoda.epicenchants.effect.EffectExecutor.Who.WEARER;
|
||||
import static com.songoda.epicenchants.effect.EffectExecutor.Who.USER;
|
||||
|
||||
public class Throw extends EffectExecutor {
|
||||
public Throw(ConfigurationSection section) {
|
||||
@ -17,7 +17,7 @@ public class Throw extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
if (!getSection().isString("direction")) {
|
||||
return;
|
||||
}
|
||||
@ -28,7 +28,8 @@ public class Throw extends EffectExecutor {
|
||||
|
||||
Vector vector;
|
||||
double magnitude = LeveledModifier.of(getSection().getString("magnitude")).get(level, 0.1);
|
||||
LivingEntity livingEntity = who() == WEARER ? wearer : opponent;
|
||||
LivingEntity livingEntity = who() == USER ? user : opponent;
|
||||
LivingEntity relative = getSection().getString("relative-to").equalsIgnoreCase("opponent") ? opponent : user;
|
||||
|
||||
switch (getSection().getString("direction").toLowerCase()) {
|
||||
case "up":
|
||||
@ -38,10 +39,10 @@ public class Throw extends EffectExecutor {
|
||||
vector = new Vector(0, -magnitude, 0);
|
||||
break;
|
||||
case "backward":
|
||||
vector = livingEntity.getLocation().getDirection().multiply(-magnitude);
|
||||
vector = relative.getLocation().getDirection().multiply(-magnitude);
|
||||
break;
|
||||
case "forward":
|
||||
vector = livingEntity.getLocation().getDirection().multiply(magnitude);
|
||||
vector = relative.getLocation().getDirection().multiply(magnitude);
|
||||
break;
|
||||
default:
|
||||
vector = new Vector();
|
||||
|
@ -4,7 +4,10 @@ import com.songoda.epicenchants.effect.EffectExecutor;
|
||||
import com.songoda.epicenchants.enums.EventType;
|
||||
import com.songoda.epicenchants.objects.LeveledModifier;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.entity.*;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.TNTPrimed;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class Tnt extends EffectExecutor {
|
||||
@ -13,12 +16,12 @@ public class Tnt extends EffectExecutor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Player wearer, LivingEntity opponent, int level, EventType eventType) {
|
||||
public void execute(@NotNull Player user, LivingEntity opponent, int level, EventType eventType) {
|
||||
consume(player -> {
|
||||
for (int i = 0; i < LeveledModifier.of(getSection().getString("amount")).get(level, 1); i++) {
|
||||
TNTPrimed tntPrimed = (TNTPrimed) player.getWorld().spawnEntity(player.getLocation(), EntityType.PRIMED_TNT);
|
||||
tntPrimed.setFuseTicks((int) LeveledModifier.of(getSection().getString("fuse")).get(level, 60));
|
||||
}
|
||||
}, wearer, opponent);
|
||||
}, user, opponent);
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ public class Condition {
|
||||
return new Condition(string);
|
||||
}
|
||||
|
||||
public boolean get(Player wearer, @Nullable LivingEntity attacker, int level, boolean def) {
|
||||
public boolean get(Player user, @Nullable LivingEntity attacker, int level, boolean def) {
|
||||
if (string == null || string.isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
@ -33,25 +33,25 @@ public class Condition {
|
||||
|
||||
for (Placeholder pair : Arrays.asList(
|
||||
Placeholder.of("level", level),
|
||||
Placeholder.of("wearer_health", wearer.getHealth()),
|
||||
Placeholder.of("user_health", user.getHealth()),
|
||||
Placeholder.of("attacker_health", attacker == null ? -1 : attacker.getHealth()),
|
||||
Placeholder.of("wearer_food", wearer.getFoodLevel()),
|
||||
Placeholder.of("user_food", user.getFoodLevel()),
|
||||
Placeholder.of("attacker_food", attacker instanceof Player ? ((Player) attacker).getFoodLevel() : 0),
|
||||
Placeholder.of("wearer_is_sneaking", wearer.isSneaking()),
|
||||
Placeholder.of("user_is_sneaking", user.isSneaking()),
|
||||
Placeholder.of("attacker_is_sneaking", attacker instanceof Player && ((Player) attacker).isSneaking()),
|
||||
Placeholder.of("world", wearer.getWorld().getName()),
|
||||
Placeholder.of("players_near", wearer.getNearbyEntities(4, 4, 4).size()),
|
||||
Placeholder.of("wearer_on_fire", wearer.getFireTicks() != 0),
|
||||
Placeholder.of("world", user.getWorld().getName()),
|
||||
Placeholder.of("players_near", user.getNearbyEntities(4, 4, 4).size()),
|
||||
Placeholder.of("user_on_fire", user.getFireTicks() != 0),
|
||||
Placeholder.of("attacker_on_fire", attacker != null && attacker.getFireTicks() != 0)
|
||||
)) {
|
||||
toValidate = toValidate.replace(pair.getPlaceholder(), pair.getToReplace().toString());
|
||||
}
|
||||
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
|
||||
toValidate = PlaceholderAPI.setPlaceholders(wearer, toValidate);
|
||||
toValidate = PlaceholderAPI.setPlaceholders(user, toValidate);
|
||||
|
||||
if (attacker instanceof Player) {
|
||||
toValidate = PlaceholderAPI.setRelationalPlaceholders(wearer, (Player) attacker, toValidate);
|
||||
toValidate = PlaceholderAPI.setRelationalPlaceholders(user, (Player) attacker, toValidate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -33,9 +33,9 @@ public class Enchant {
|
||||
private String format;
|
||||
@Nullable private BookItem bookItem;
|
||||
|
||||
public void onAction(@NotNull Player wearer, @Nullable LivingEntity opponent, Event event, int level, TriggerType triggerType, EventType eventType) {
|
||||
effectExecutors.forEach(effect -> effect.testAndRun(wearer, opponent, level, triggerType, event, eventType));
|
||||
mobs.forEach(mobWrapper -> mobWrapper.trySpawn(wearer, opponent, level, triggerType));
|
||||
public void onAction(@NotNull Player user, @Nullable LivingEntity opponent, Event event, int level, TriggerType triggerType, EventType eventType) {
|
||||
effectExecutors.forEach(effect -> effect.testAndRun(user, opponent, level, triggerType, event, eventType));
|
||||
mobs.forEach(mobWrapper -> mobWrapper.trySpawn(user, opponent, level, triggerType));
|
||||
}
|
||||
|
||||
public BookItem getBook() {
|
||||
|
@ -88,7 +88,7 @@ public class ItemGroup {
|
||||
|
||||
SWORDS,
|
||||
BOWS,
|
||||
WEAPONS(SWORDS, BOWS),
|
||||
WEAPONS(SWORDS, BOWS, AXES),
|
||||
|
||||
BOOTS,
|
||||
LEGGINGS,
|
||||
|
Loading…
Reference in New Issue
Block a user