mirror of
https://github.com/Auxilor/EcoMobs.git
synced 2025-12-23 00:49:36 +00:00
Updated to eco 6.8.0
This commit is contained in:
@@ -46,7 +46,7 @@ allprojects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly 'com.willfp:eco:6.3.0'
|
compileOnly 'com.willfp:eco:6.8.0'
|
||||||
|
|
||||||
compileOnly 'org.jetbrains:annotations:19.0.0'
|
compileOnly 'org.jetbrains:annotations:19.0.0'
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ import com.willfp.eco.core.items.Items;
|
|||||||
import com.willfp.eco.core.items.builder.ItemBuilder;
|
import com.willfp.eco.core.items.builder.ItemBuilder;
|
||||||
import com.willfp.eco.core.items.builder.ItemStackBuilder;
|
import com.willfp.eco.core.items.builder.ItemStackBuilder;
|
||||||
import com.willfp.eco.core.recipe.Recipes;
|
import com.willfp.eco.core.recipe.Recipes;
|
||||||
|
import com.willfp.eco.core.requirement.Requirement;
|
||||||
|
import com.willfp.eco.core.requirement.Requirements;
|
||||||
import com.willfp.eco.core.tuples.Pair;
|
import com.willfp.eco.core.tuples.Pair;
|
||||||
import com.willfp.eco.util.NumberUtils;
|
import com.willfp.eco.util.NumberUtils;
|
||||||
import com.willfp.eco.util.StringUtils;
|
import com.willfp.eco.util.StringUtils;
|
||||||
@@ -23,8 +25,6 @@ import com.willfp.ecobosses.bosses.util.obj.ImmunityOptions;
|
|||||||
import com.willfp.ecobosses.bosses.util.obj.OptionedSound;
|
import com.willfp.ecobosses.bosses.util.obj.OptionedSound;
|
||||||
import com.willfp.ecobosses.bosses.util.obj.SpawnTotem;
|
import com.willfp.ecobosses.bosses.util.obj.SpawnTotem;
|
||||||
import com.willfp.ecobosses.bosses.util.obj.TargetMode;
|
import com.willfp.ecobosses.bosses.util.obj.TargetMode;
|
||||||
import com.willfp.ecobosses.bosses.util.requirement.SpawnRequirement;
|
|
||||||
import com.willfp.ecobosses.bosses.util.requirement.SpawnRequirements;
|
|
||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
@@ -35,8 +35,6 @@ import org.bukkit.Sound;
|
|||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.boss.BarColor;
|
import org.bukkit.boss.BarColor;
|
||||||
import org.bukkit.boss.BarStyle;
|
import org.bukkit.boss.BarStyle;
|
||||||
import org.bukkit.configuration.InvalidConfigurationException;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@@ -51,7 +49,6 @@ import java.math.BigDecimal;
|
|||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Base64;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -298,7 +295,7 @@ public class EcoBoss extends PluginDependent<EcoPlugin> {
|
|||||||
/**
|
/**
|
||||||
* All the requirements needed in order to use the enchantment.
|
* All the requirements needed in order to use the enchantment.
|
||||||
*/
|
*/
|
||||||
private final Map<SpawnRequirement, List<String>> requirements = new HashMap<>();
|
private final Map<Requirement, List<String>> requirements = new HashMap<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cached players to see if they meet requirements.
|
* Cached players to see if they meet requirements.
|
||||||
@@ -521,11 +518,7 @@ public class EcoBoss extends PluginDependent<EcoPlugin> {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
SpawnRequirement requirement = SpawnRequirements.getByID(split.get(0).toLowerCase());
|
Requirement requirement = Requirements.getByID(split.get(0).toLowerCase());
|
||||||
|
|
||||||
if (requirement == null) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.requirements.put(requirement, split.subList(1, split.size()));
|
this.requirements.put(requirement, split.subList(1, split.size()));
|
||||||
}
|
}
|
||||||
@@ -583,7 +576,7 @@ public class EcoBoss extends PluginDependent<EcoPlugin> {
|
|||||||
return cachedRequirements.get(player.getUniqueId());
|
return cachedRequirements.get(player.getUniqueId());
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Map.Entry<SpawnRequirement, List<String>> entry : requirements.entrySet()) {
|
for (Map.Entry<Requirement, List<String>> entry : requirements.entrySet()) {
|
||||||
if (!entry.getKey().doesPlayerMeet(player, entry.getValue())) {
|
if (!entry.getKey().doesPlayerMeet(player, entry.getValue())) {
|
||||||
cachedRequirements.put(player.getUniqueId(), false);
|
cachedRequirements.put(player.getUniqueId(), false);
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
package com.willfp.ecobosses.bosses.util.requirement;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public abstract class SpawnRequirement {
|
|
||||||
/**
|
|
||||||
* The ID of the requirement.
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
private final String id;
|
|
||||||
|
|
||||||
protected SpawnRequirement(@NotNull final String id) {
|
|
||||||
this.id = id;
|
|
||||||
|
|
||||||
SpawnRequirements.addNewRequirement(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test if the player meets the requirement.
|
|
||||||
*
|
|
||||||
* @param player The player.
|
|
||||||
* @param args The arguments.
|
|
||||||
* @return The requirement.
|
|
||||||
*/
|
|
||||||
public abstract boolean doesPlayerMeet(@NotNull Player player,
|
|
||||||
@NotNull List<String> args);
|
|
||||||
}
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
package com.willfp.ecobosses.bosses.util.requirement;
|
|
||||||
|
|
||||||
import com.google.common.collect.BiMap;
|
|
||||||
import com.google.common.collect.HashBiMap;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import com.willfp.ecobosses.bosses.util.requirement.requirements.RequirementHasPermission;
|
|
||||||
import com.willfp.ecobosses.bosses.util.requirement.requirements.RequirementPlaceholderEquals;
|
|
||||||
import com.willfp.ecobosses.bosses.util.requirement.requirements.RequirementPlaceholderGreaterThan;
|
|
||||||
import com.willfp.ecobosses.bosses.util.requirement.requirements.RequirementPlaceholderLessThan;
|
|
||||||
import lombok.experimental.UtilityClass;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@UtilityClass
|
|
||||||
@SuppressWarnings({"unused", "checkstyle:JavadocVariable"})
|
|
||||||
public class SpawnRequirements {
|
|
||||||
/**
|
|
||||||
* All registered requirements.
|
|
||||||
*/
|
|
||||||
private static final BiMap<String, SpawnRequirement> BY_ID = HashBiMap.create();
|
|
||||||
|
|
||||||
public static final SpawnRequirement HAS_PERMISSION = new RequirementHasPermission();
|
|
||||||
public static final SpawnRequirement PLACEHOLDER_EQUALS = new RequirementPlaceholderEquals();
|
|
||||||
public static final SpawnRequirement PLACEHOLDER_GREATER_THAN = new RequirementPlaceholderGreaterThan();
|
|
||||||
public static final SpawnRequirement PLACEHOLDER_LESS_THAN = new RequirementPlaceholderLessThan();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get all registered requirements.
|
|
||||||
*
|
|
||||||
* @return A list of all requirements.
|
|
||||||
*/
|
|
||||||
public static List<SpawnRequirement> values() {
|
|
||||||
return ImmutableList.copyOf(BY_ID.values());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get {@link SpawnRequirement} matching ID.
|
|
||||||
*
|
|
||||||
* @param name The ID to search for.
|
|
||||||
* @return The matching {@link SpawnRequirement}, or null if not found.
|
|
||||||
*/
|
|
||||||
public static SpawnRequirement getByID(@NotNull final String name) {
|
|
||||||
return BY_ID.get(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add new {@link SpawnRequirement}.
|
|
||||||
* <p>
|
|
||||||
* Only for internal use, requirements are automatically added in the constructor.
|
|
||||||
*
|
|
||||||
* @param req The {@link SpawnRequirement} to add.
|
|
||||||
*/
|
|
||||||
public static void addNewRequirement(@NotNull final SpawnRequirement req) {
|
|
||||||
BY_ID.inverse().remove(req);
|
|
||||||
BY_ID.put(req.getId(), req);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove {@link SpawnRequirement}.
|
|
||||||
*
|
|
||||||
* @param req The {@link SpawnRequirement} to remove.
|
|
||||||
*/
|
|
||||||
public static void removeRequirement(@NotNull final SpawnRequirement req) {
|
|
||||||
BY_ID.inverse().remove(req);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
package com.willfp.ecobosses.bosses.util.requirement.requirements;
|
|
||||||
|
|
||||||
import com.willfp.ecobosses.bosses.util.requirement.SpawnRequirement;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class RequirementHasPermission extends SpawnRequirement {
|
|
||||||
/**
|
|
||||||
* Create new requirement.
|
|
||||||
*/
|
|
||||||
public RequirementHasPermission() {
|
|
||||||
super("has-permission");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean doesPlayerMeet(@NotNull final Player player,
|
|
||||||
@NotNull final List<String> args) {
|
|
||||||
String permission = args.get(0);
|
|
||||||
return player.hasPermission(permission);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
package com.willfp.ecobosses.bosses.util.requirement.requirements;
|
|
||||||
|
|
||||||
import com.willfp.eco.core.integrations.placeholder.PlaceholderManager;
|
|
||||||
import com.willfp.ecobosses.bosses.util.requirement.SpawnRequirement;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class RequirementPlaceholderEquals extends SpawnRequirement {
|
|
||||||
/**
|
|
||||||
* Create new requirement.
|
|
||||||
*/
|
|
||||||
public RequirementPlaceholderEquals() {
|
|
||||||
super("placeholder-equals");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean doesPlayerMeet(@NotNull final Player player,
|
|
||||||
@NotNull final List<String> args) {
|
|
||||||
String placeholder = args.get(0);
|
|
||||||
String equals = args.get(1);
|
|
||||||
|
|
||||||
return PlaceholderManager.translatePlaceholders(placeholder, player).equalsIgnoreCase(equals);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
package com.willfp.ecobosses.bosses.util.requirement.requirements;
|
|
||||||
|
|
||||||
import com.willfp.eco.core.integrations.placeholder.PlaceholderManager;
|
|
||||||
import com.willfp.ecobosses.bosses.util.requirement.SpawnRequirement;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class RequirementPlaceholderGreaterThan extends SpawnRequirement {
|
|
||||||
/**
|
|
||||||
* Create new requirement.
|
|
||||||
*/
|
|
||||||
public RequirementPlaceholderGreaterThan() {
|
|
||||||
super("placeholder-greater-than");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean doesPlayerMeet(@NotNull final Player player,
|
|
||||||
@NotNull final List<String> args) {
|
|
||||||
String placeholder = args.get(0);
|
|
||||||
double equals = Double.parseDouble(args.get(1));
|
|
||||||
|
|
||||||
try {
|
|
||||||
return Double.parseDouble(PlaceholderManager.translatePlaceholders(placeholder, player)) >= equals;
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
package com.willfp.ecobosses.bosses.util.requirement.requirements;
|
|
||||||
|
|
||||||
import com.willfp.eco.core.integrations.placeholder.PlaceholderManager;
|
|
||||||
import com.willfp.ecobosses.bosses.util.requirement.SpawnRequirement;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class RequirementPlaceholderLessThan extends SpawnRequirement {
|
|
||||||
/**
|
|
||||||
* Create new requirement.
|
|
||||||
*/
|
|
||||||
public RequirementPlaceholderLessThan() {
|
|
||||||
super("placeholder-less-than");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean doesPlayerMeet(@NotNull final Player player,
|
|
||||||
@NotNull final List<String> args) {
|
|
||||||
String placeholder = args.get(0);
|
|
||||||
double equals = Double.parseDouble(args.get(1));
|
|
||||||
|
|
||||||
try {
|
|
||||||
return Double.parseDouble(PlaceholderManager.translatePlaceholders(placeholder, player)) < equals;
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user