Search in sources :

Example 6 with Recipe

use of uk.co.wehavecookies56.kk.api.recipes.Recipe in project Kingdom-Keys-Re-Coded by Wehavecookies56.

the class GuiSynthesis method isFreeDevRecipeUsable.

public boolean isFreeDevRecipeUsable(String name) {
    EntityPlayer player = Minecraft.getMinecraft().player;
    SynthesisMaterialCapability.ISynthesisMaterial MATS = player.getCapability(ModCapabilities.SYNTHESIS_MATERIALS, null);
    Recipe r = FreeDevRecipeRegistry.get(name);
    List<Boolean> hasMaterials = new ArrayList<Boolean>();
    if (isInventoryFull())
        return false;
    Iterator it = r.getRequirements().entrySet().iterator();
    while (it.hasNext()) {
        Map.Entry<Material, Integer> pair = (Map.Entry<Material, Integer>) it.next();
        if (MATS.getKnownMaterialsMap().containsKey(pair.getKey().getName())) {
            if (pair.getValue() != null && MATS.getKnownMaterialsMap().get(pair.getKey().getName()) != null) {
                if (pair.getValue() <= MATS.getKnownMaterialsMap().get(pair.getKey().getName())) {
                    hasMaterials.add(true);
                }
            }
        }
    }
    if (r.getRequirements().size() > 0) {
        if (hasMaterials.size() == r.getRequirements().size()) {
            return true;
        }
    }
    return false;
}
Also used : SynthesisMaterialCapability(uk.co.wehavecookies56.kk.common.capability.SynthesisMaterialCapability) Recipe(uk.co.wehavecookies56.kk.api.recipes.Recipe) CreateFromSynthesisRecipe(uk.co.wehavecookies56.kk.common.network.packet.server.CreateFromSynthesisRecipe) ArrayList(java.util.ArrayList) Material(uk.co.wehavecookies56.kk.api.materials.Material) Iterator(java.util.Iterator) EntityPlayer(net.minecraft.entity.player.EntityPlayer) Map(java.util.Map)

Example 7 with Recipe

use of uk.co.wehavecookies56.kk.api.recipes.Recipe in project Kingdom-Keys-Re-Coded by Wehavecookies56.

the class CreateFromSynthesisRecipe method process.

@Override
public void process(EntityPlayer player, Side side) {
    boolean freeDev = false;
    if (FreeDevRecipeRegistry.isFreeDevRecipeRegistered(name)) {
        freeDev = true;
    }
    if (!freeDev) {
        if (RecipeRegistry.get(name).getResult().getItem() instanceof ItemKeychain)
            player.inventory.addItemStackToInventory(RecipeRegistry.get(name).getResult());
        Recipe r = RecipeRegistry.get(name);
        SynthesisMaterialCapability.ISynthesisMaterial MATS = player.getCapability(ModCapabilities.SYNTHESIS_MATERIALS, null);
        Iterator it = r.getRequirements().entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry<Material, Integer> pair = (Map.Entry<Material, Integer>) it.next();
            MATS.removeMaterial(pair.getKey(), pair.getValue());
        }
    } else {
        player.inventory.addItemStackToInventory(FreeDevRecipeRegistry.get(name).getResult());
        Recipe r = FreeDevRecipeRegistry.get(name);
        SynthesisMaterialCapability.ISynthesisMaterial MATS = player.getCapability(ModCapabilities.SYNTHESIS_MATERIALS, null);
        Iterator it = r.getRequirements().entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry<Material, Integer> pair = (Map.Entry<Material, Integer>) it.next();
            MATS.removeMaterial(pair.getKey(), pair.getValue());
        }
    }
    PacketDispatcher.sendTo(new SyncMaterialData(player.getCapability(ModCapabilities.SYNTHESIS_MATERIALS, null)), (EntityPlayerMP) player);
}
Also used : SynthesisMaterialCapability(uk.co.wehavecookies56.kk.common.capability.SynthesisMaterialCapability) ItemKeychain(uk.co.wehavecookies56.kk.common.item.base.ItemKeychain) Recipe(uk.co.wehavecookies56.kk.api.recipes.Recipe) Iterator(java.util.Iterator) Material(uk.co.wehavecookies56.kk.api.materials.Material) Map(java.util.Map) SyncMaterialData(uk.co.wehavecookies56.kk.common.network.packet.client.SyncMaterialData)

Aggregations

Iterator (java.util.Iterator)3 Map (java.util.Map)3 EntityPlayer (net.minecraft.entity.player.EntityPlayer)3 Material (uk.co.wehavecookies56.kk.api.materials.Material)3 Recipe (uk.co.wehavecookies56.kk.api.recipes.Recipe)3 SynthesisMaterialCapability (uk.co.wehavecookies56.kk.common.capability.SynthesisMaterialCapability)3 ArrayList (java.util.ArrayList)2 NBTTagCompound (net.minecraft.nbt.NBTTagCompound)2 SynthesisRecipeCapability (uk.co.wehavecookies56.kk.common.capability.SynthesisRecipeCapability)2 CreateFromSynthesisRecipe (uk.co.wehavecookies56.kk.common.network.packet.server.CreateFromSynthesisRecipe)2 Random (java.util.Random)1 EntityAgeable (net.minecraft.entity.EntityAgeable)1 EntityDragon (net.minecraft.entity.boss.EntityDragon)1 EntityWither (net.minecraft.entity.boss.EntityWither)1 EntityMob (net.minecraft.entity.monster.EntityMob)1 EntityWitch (net.minecraft.entity.monster.EntityWitch)1 EntityAnimal (net.minecraft.entity.passive.EntityAnimal)1 ItemStack (net.minecraft.item.ItemStack)1 ResourceLocation (net.minecraft.util.ResourceLocation)1 TextComponentTranslation (net.minecraft.util.text.TextComponentTranslation)1