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