Renamed WEARER to USER.

This commit is contained in:
GB6 2019-03-26 15:32:53 +01:00
parent 4d87218ed9
commit af685677c6
25 changed files with 89 additions and 84 deletions

View File

@ -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");
}
}

View File

@ -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
}
}

View File

@ -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);
}
}

View File

@ -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()));
}
}

View File

@ -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) {

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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;
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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();

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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() {

View File

@ -88,7 +88,7 @@ public class ItemGroup {
SWORDS,
BOWS,
WEAPONS(SWORDS, BOWS),
WEAPONS(SWORDS, BOWS, AXES),
BOOTS,
LEGGINGS,