Updated to eco 4.0.0, and updated to 1.13.0
This commit is contained in:
@@ -47,7 +47,7 @@ allprojects {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly 'com.willfp:eco:3.8.0'
|
||||
compileOnly 'com.willfp:eco:4.0.0'
|
||||
|
||||
compileOnly 'org.jetbrains:annotations:19.0.0'
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package com.willfp.talismans;
|
||||
|
||||
import com.willfp.eco.util.bukkit.scheduling.TimedRunnable;
|
||||
import com.willfp.eco.util.command.AbstractCommand;
|
||||
import com.willfp.eco.util.display.Display;
|
||||
import com.willfp.eco.util.display.DisplayModule;
|
||||
import com.willfp.eco.util.integrations.IntegrationLoader;
|
||||
import com.willfp.eco.util.interfaces.EcoRunnable;
|
||||
import com.willfp.eco.util.plugin.AbstractEcoPlugin;
|
||||
import com.willfp.eco.util.protocollib.AbstractPacketAdapter;
|
||||
import com.willfp.talismans.commands.CommandTalgive;
|
||||
@@ -23,6 +22,7 @@ import com.willfp.talismans.talismans.util.equipevent.TalismanEquipEventListener
|
||||
import lombok.Getter;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -49,9 +49,6 @@ public class TalismansPlugin extends AbstractEcoPlugin {
|
||||
*/
|
||||
@Override
|
||||
public void enable() {
|
||||
Display.registerDisplayModule(new DisplayModule(TalismanDisplay::displayTalisman, 1, this.getPluginName()));
|
||||
Display.registerRevertModule(TalismanDisplay::revertDisplay);
|
||||
|
||||
this.getExtensionLoader().loadExtensions();
|
||||
|
||||
if (this.getExtensionLoader().getLoadedExtensions().isEmpty()) {
|
||||
@@ -92,8 +89,8 @@ public class TalismansPlugin extends AbstractEcoPlugin {
|
||||
if (talisman.isEnabled()) {
|
||||
this.getEventManager().registerListener(talisman);
|
||||
|
||||
if (talisman instanceof EcoRunnable) {
|
||||
this.getScheduler().syncRepeating((EcoRunnable) talisman, 5, ((EcoRunnable) talisman).getTime());
|
||||
if (talisman instanceof TimedRunnable) {
|
||||
this.getScheduler().syncRepeating((TimedRunnable) talisman, 5, ((TimedRunnable) talisman).getTime());
|
||||
}
|
||||
}
|
||||
}, 1);
|
||||
@@ -168,4 +165,10 @@ public class TalismansPlugin extends AbstractEcoPlugin {
|
||||
TabcompleterTalgive.class
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
protected DisplayModule createDisplayModule() {
|
||||
return new TalismanDisplay(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,74 +1,40 @@
|
||||
package com.willfp.talismans.display;
|
||||
|
||||
import com.willfp.eco.util.SkullUtils;
|
||||
import com.willfp.eco.util.display.DisplayModule;
|
||||
import com.willfp.eco.util.display.DisplayPriority;
|
||||
import com.willfp.eco.util.plugin.AbstractEcoPlugin;
|
||||
import com.willfp.talismans.talismans.Talisman;
|
||||
import com.willfp.talismans.talismans.util.TalismanChecks;
|
||||
import com.willfp.talismans.talismans.util.TalismanUtils;
|
||||
import lombok.experimental.UtilityClass;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@UtilityClass
|
||||
public class TalismanDisplay {
|
||||
public class TalismanDisplay extends DisplayModule {
|
||||
/**
|
||||
* The prefix for all talisman lines to have in lore.
|
||||
* Instantiate talisman display.
|
||||
* @param plugin Instance of Talismans.
|
||||
*/
|
||||
public static final String PREFIX = "§z";
|
||||
|
||||
/**
|
||||
* Revert display.
|
||||
*
|
||||
* @param item The item to revert.
|
||||
* @return The item, updated.
|
||||
*/
|
||||
public static ItemStack revertDisplay(@Nullable final ItemStack item) {
|
||||
if (item == null || item.getItemMeta() == null) {
|
||||
return item;
|
||||
}
|
||||
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
List<String> itemLore;
|
||||
|
||||
if (meta.hasLore()) {
|
||||
itemLore = meta.getLore();
|
||||
} else {
|
||||
itemLore = new ArrayList<>();
|
||||
}
|
||||
|
||||
if (itemLore == null) {
|
||||
itemLore = new ArrayList<>();
|
||||
}
|
||||
|
||||
itemLore.removeIf(s -> s.startsWith(PREFIX));
|
||||
|
||||
meta.setLore(itemLore);
|
||||
item.setItemMeta(meta);
|
||||
|
||||
return item;
|
||||
public TalismanDisplay(@NotNull final AbstractEcoPlugin plugin) {
|
||||
super(plugin, DisplayPriority.LOWEST);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show talisman in item lore, set display name, and set texture.
|
||||
*
|
||||
* @param item The item to update.
|
||||
* @return The item, updated.
|
||||
*/
|
||||
public static ItemStack displayTalisman(@Nullable final ItemStack item) {
|
||||
if (item == null || item.getItemMeta() == null || !TalismanUtils.isTalismanMaterial(item.getType())) {
|
||||
return item;
|
||||
@Override
|
||||
protected void display(@NotNull final ItemStack itemStack) {
|
||||
if (!TalismanUtils.isTalismanMaterial(itemStack.getType())) {
|
||||
return;
|
||||
}
|
||||
|
||||
revertDisplay(item);
|
||||
revert(itemStack);
|
||||
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
if (meta == null) {
|
||||
return item;
|
||||
}
|
||||
ItemMeta meta = itemStack.getItemMeta();
|
||||
|
||||
assert meta != null;
|
||||
|
||||
List<String> itemLore = new ArrayList<>();
|
||||
|
||||
@@ -80,10 +46,10 @@ public class TalismanDisplay {
|
||||
itemLore = new ArrayList<>();
|
||||
}
|
||||
|
||||
Talisman talisman = TalismanChecks.getTalismanOnItem(item);
|
||||
Talisman talisman = TalismanChecks.getTalismanOnItem(itemStack);
|
||||
|
||||
if (talisman == null) {
|
||||
return item;
|
||||
return;
|
||||
}
|
||||
|
||||
if (meta instanceof SkullMeta) {
|
||||
@@ -98,8 +64,31 @@ public class TalismanDisplay {
|
||||
|
||||
lore.addAll(itemLore);
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
itemStack.setItemMeta(meta);
|
||||
}
|
||||
|
||||
return item;
|
||||
@Override
|
||||
protected void revert(@NotNull final ItemStack itemStack) {
|
||||
if (itemStack.getItemMeta() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
ItemMeta meta = itemStack.getItemMeta();
|
||||
List<String> itemLore;
|
||||
|
||||
if (meta.hasLore()) {
|
||||
itemLore = meta.getLore();
|
||||
} else {
|
||||
itemLore = new ArrayList<>();
|
||||
}
|
||||
|
||||
if (itemLore == null) {
|
||||
itemLore = new ArrayList<>();
|
||||
}
|
||||
|
||||
itemLore.removeIf(s -> s.startsWith("§z"));
|
||||
|
||||
meta.setLore(itemLore);
|
||||
itemStack.setItemMeta(meta);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
package com.willfp.talismans.talismans;
|
||||
|
||||
|
||||
import com.willfp.eco.util.StringUtils;
|
||||
import com.willfp.eco.util.display.Display;
|
||||
import com.willfp.eco.util.optional.Prerequisite;
|
||||
import com.willfp.eco.util.plugin.AbstractEcoPlugin;
|
||||
import com.willfp.eco.util.recipe.EcoShapedRecipe;
|
||||
import com.willfp.eco.util.recipe.lookup.RecipePartUtils;
|
||||
import com.willfp.eco.util.recipe.RecipeParts;
|
||||
import com.willfp.eco.util.recipe.parts.ComplexRecipePart;
|
||||
import com.willfp.eco.util.recipe.recipes.EcoShapedRecipe;
|
||||
import com.willfp.talismans.TalismansPlugin;
|
||||
import com.willfp.talismans.config.TalismansConfigs;
|
||||
import com.willfp.talismans.config.configs.TalismanConfig;
|
||||
import com.willfp.talismans.display.TalismanDisplay;
|
||||
import com.willfp.talismans.talismans.meta.TalismanStrength;
|
||||
import com.willfp.talismans.talismans.util.TalismanChecks;
|
||||
import com.willfp.talismans.talismans.util.TalismanUtils;
|
||||
@@ -41,7 +40,7 @@ import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@SuppressWarnings({"unchecked", "deprecation", "RedundantSuppression"})
|
||||
@SuppressWarnings({"unchecked", "deprecation"})
|
||||
public abstract class Talisman implements Listener, Watcher {
|
||||
/**
|
||||
* Instance of Talismans for talismans to be able to access.
|
||||
@@ -192,7 +191,7 @@ public abstract class Talisman implements Listener, Watcher {
|
||||
disabledWorlds.clear();
|
||||
|
||||
formattedDescription = Arrays.stream(WordUtils.wrap(description, this.getPlugin().getConfigYml().getInt("description.wrap"), "\n", false).split("\\r?\\n"))
|
||||
.map(s -> TalismanDisplay.PREFIX + StringUtils.translate(this.getPlugin().getLangYml().getString("description-color") + s)).collect(Collectors.toList());
|
||||
.map(s -> Display.PREFIX + StringUtils.translate(this.getPlugin().getLangYml().getString("description-color") + s)).collect(Collectors.toList());
|
||||
|
||||
List<String> worldNames = Bukkit.getWorlds().stream().map(World::getName).map(String::toLowerCase).collect(Collectors.toList());
|
||||
List<String> disabledExistingWorldNames = disabledWorldNames.stream().filter(s -> worldNames.contains(s.toLowerCase())).collect(Collectors.toList());
|
||||
@@ -208,14 +207,11 @@ public abstract class Talisman implements Listener, Watcher {
|
||||
PersistentDataContainer container = outMeta.getPersistentDataContainer();
|
||||
container.set(this.getKey(), PersistentDataType.INTEGER, 1);
|
||||
out.setItemMeta(outMeta);
|
||||
TalismanDisplay.displayTalisman(out);
|
||||
Display.display(out);
|
||||
|
||||
this.itemStack = out;
|
||||
|
||||
RecipePartUtils.registerLookup(this.getKey().toString(), s -> {
|
||||
Talisman talisman = Talismans.getByKey(this.getPlugin().getNamespacedKeyFactory().create(s.split(":")[1]));
|
||||
return new ComplexRecipePart(test -> Objects.equals(talisman, TalismanChecks.getTalismanOnItem(test)), out);
|
||||
});
|
||||
RecipeParts.registerRecipePart(this.getKey(), new ComplexRecipePart(test -> Objects.equals(this, TalismanChecks.getTalismanOnItem(test)), out));
|
||||
|
||||
if (this.isCraftable() && this.isEnabled()) {
|
||||
EcoShapedRecipe.Builder builder = EcoShapedRecipe.builder(this.getPlugin(), this.getKey().getKey())
|
||||
@@ -224,7 +220,7 @@ public abstract class Talisman implements Listener, Watcher {
|
||||
List<String> recipeStrings = this.getConfig().getStrings(Talismans.OBTAINING_LOCATION + "recipe");
|
||||
|
||||
for (int i = 0; i < 9; i++) {
|
||||
builder.setRecipePart(i, RecipePartUtils.lookup(recipeStrings.get(i)));
|
||||
builder.setRecipePart(i, RecipeParts.lookup(recipeStrings.get(i)));
|
||||
}
|
||||
|
||||
this.recipe = builder.build();
|
||||
|
||||
@@ -2,9 +2,9 @@ package com.willfp.talismans.talismans.util;
|
||||
|
||||
import com.willfp.eco.util.internal.PluginDependent;
|
||||
import com.willfp.eco.util.plugin.AbstractEcoPlugin;
|
||||
import com.willfp.eco.util.recipe.EcoShapedRecipe;
|
||||
import com.willfp.eco.util.recipe.parts.RecipePart;
|
||||
import com.willfp.eco.util.recipe.parts.SimpleRecipePart;
|
||||
import com.willfp.eco.util.recipe.recipes.EcoShapedRecipe;
|
||||
import com.willfp.talismans.talismans.Talisman;
|
||||
import com.willfp.talismans.talismans.Talismans;
|
||||
import org.bukkit.Material;
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = 1.12.2
|
||||
version = 1.13.0
|
||||
plugin-name = Talismans
|
||||
Reference in New Issue
Block a user