Fixed talisman crafting including talisman

This commit is contained in:
Auxilor
2021-01-02 17:36:08 +00:00
parent 063cd53712
commit bfecd5508f
2 changed files with 7 additions and 10 deletions

View File

@@ -13,6 +13,7 @@ import com.willfp.talismans.talismans.util.TalismanUtils;
import com.willfp.talismans.talismans.util.Watcher;
import lombok.AccessLevel;
import lombok.Getter;
import org.apache.commons.lang.Validate;
import org.apache.commons.lang.WordUtils;
import org.bukkit.Bukkit;
import org.bukkit.Material;
@@ -20,6 +21,7 @@ import org.bukkit.NamespacedKey;
import org.bukkit.World;
import org.bukkit.event.Listener;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.RecipeChoice;
import org.bukkit.inventory.ShapedRecipe;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.permissions.Permission;
@@ -208,16 +210,17 @@ public abstract class Talisman implements Listener, Watcher {
for (int i = 0; i < 9; i++) {
recipeTalismanOverlay[i] = null;
char ingredientChar = String.valueOf(i).toCharArray()[0];
Material material;
if (recipeStrings.get(i).startsWith("talisman:")) {
material = Material.PLAYER_HEAD;
String talismanKey = recipeStrings.get(i).split(":")[1];
NamespacedKey talismanNamespacedKey = new NamespacedKey(this.getPlugin(), talismanKey);
Talisman talisman = Talismans.getByKey(talismanNamespacedKey);
Validate.notNull(talisman, "Talisman specified in " + this.getConfigName() + ".yml's recipe is invalid!");
recipeTalismanOverlay[i] = Talismans.getByKey(talismanNamespacedKey);
RecipeChoice.ExactChoice recipeChoice = new RecipeChoice.ExactChoice(talisman.getItemStack());
recipe.setIngredient(ingredientChar, recipeChoice);
} else {
material = Material.valueOf(recipeStrings.get(i).toUpperCase());
recipe.setIngredient(ingredientChar, Material.valueOf(recipeStrings.get(i).toUpperCase()));
}
recipe.setIngredient(ingredientChar, material);
}
Bukkit.getServer().addRecipe(recipe);

View File

@@ -2,7 +2,6 @@ package com.willfp.talismans.talismans.util;
import com.willfp.talismans.talismans.Talisman;
import com.willfp.talismans.talismans.Talismans;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@@ -13,7 +12,6 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.ShapedRecipe;
import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
import java.util.Objects;
public class TalismanCraftListener implements Listener {
@@ -89,10 +87,6 @@ public class TalismanCraftListener implements Listener {
for (int i = 0; i < 9; i++) {
ItemStack itemStack = event.getInventory().getMatrix()[i];
Bukkit.getLogger().info("===============");
Bukkit.getLogger().info(Arrays.toString(event.getInventory().getMatrix()));
Bukkit.getLogger().info(Arrays.toString(talisman.getRecipeTalismanOverlay()));
if (itemStack == null) {
continue;
}