Skip to content

Добавить новые методы #7

Description

@RareScrap

Tab

public static boolean addToTab(Tab tab, ItemStack itemStack) {
        for (int i = 0; i < tab.stacks.length; i++) {
            ItemStack stack = tab.stacks[i];
            if (stack == null) {
                tab.setSlotContent(i, itemStack);
                return true;
            }
        }

        return false;
    }
/**
     * Получаем первый попавшийся стак из по указанному UnlocalizedName
     * @param unlocalizedSkillName UnlocalizedName нужного стака
     * @return Первый попавшийся полходящий стак. Если ничего не найдено - null.
     */
    public ItemStack getStack(String unlocalizedSkillName) {
        for (Map.Entry<String, Tab> entry : items.entrySet()) {
            Tab tab = entry.getValue();

            for (ItemStack stack : tab.stacks) {
                if (stack != null && stack.getUnlocalizedName().equals(unlocalizedSkillName)) {
                    return stack;
                }
            }
        }

        return null;
    }
 /**
     * Проверяет, содержится ли в {@link #skills} стак с предметом по имение skillName
     * @param skillName UnlocalizedName поискового скилла
     * @return True, если элемент есть в {@link #skills}, иначе - false.
     */
    private boolean containSkill(String skillName) {
        for (ItemStack skill : skills) {
            if (skill.getUnlocalizedName().equals(skillName)) {
                return true;
            }
        }
        return false;
    }

    /**
     * Находит и удаляет стак из {@link #skills}
     * @param unlocalizedSkillName UnlocalizedName, по которому будет произведен поиск.
     *                             Если элемент найтен - он удалится из {@link #skills}
     */
    private void removeSkill(String unlocalizedSkillName) {
        for (ItemStack skill : skills) {
            if (skill.getUnlocalizedName().equals(unlocalizedSkillName)) {
                skills.remove(skill);
                return;
            }
        }
    }

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions