Skip to content

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

@RareScrap

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

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