Package net.aufdemrand.denizen.scripts.requirements.core

Source Code of net.aufdemrand.denizen.scripts.requirements.core.ItemRequirement

package net.aufdemrand.denizen.scripts.requirements.core;

import java.util.List;

import net.aufdemrand.denizen.exceptions.RequirementCheckException;
import net.aufdemrand.denizen.objects.dItem;
import net.aufdemrand.denizen.scripts.requirements.AbstractRequirement;
import net.aufdemrand.denizen.scripts.requirements.RequirementsContext;
import net.aufdemrand.denizen.objects.aH;
import net.aufdemrand.denizen.utilities.debugging.dB;

public class ItemRequirement extends AbstractRequirement {

    @Override
    public boolean check(RequirementsContext context, List<String> args)
            throws RequirementCheckException {

        dItem contains = null;
        int quantity = 1;

        for (aH.Argument arg : aH.interpret(args)) {

            if (contains == null
                    && arg.matchesArgumentType(dItem.class))
                contains = arg.asType(dItem.class);

            else if (arg.matchesPrimitive(aH.PrimitiveType.Integer))
                quantity = aH.getIntegerFrom(arg.getValue());
        }

        if (context.getPlayer().getPlayerEntity().getInventory().containsAtLeast(contains.getItemStack(), quantity)) {
            dB.echoDebug(context.getScriptContainer(), "...player has " + contains.identify() + ".");
            return true;

        } else {
            dB.echoDebug(context.getScriptContainer(), "...player doesn't have " + contains.identify() + ".");
            return false;
        }
    }
}
TOP

Related Classes of net.aufdemrand.denizen.scripts.requirements.core.ItemRequirement

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.