Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.fluffy.amnesia.handler;
- import net.minecraft.inventory.InventoryCrafting;
- import net.minecraft.item.ItemStack;
- import net.minecraft.item.crafting.IRecipe;
- import net.minecraft.world.World;
- import com.fluffy.amnesia.Amnesia;
- import com.fluffy.amnesia.items.ItemLanternoff;
- public class LanternRefuelRecipe implements IRecipe
- {
- public boolean matches(InventoryCrafting inv, World w)
- {
- int numoil = 0;
- int numlanterns = 0;
- int lanternslot = -1;
- boolean containsforeignobject = false;
- for (int item = 0; item < inv.getSizeInventory(); ++item)
- {
- ItemStack oildif = inv.getStackInSlot(item);
- if (oildif != null)
- {
- if (oildif.getItem() != Amnesia.lanternoffItem)
- {
- if (oildif.getItem() != Amnesia.lanternoil)
- {
- containsforeignobject = true;
- }
- else
- {
- ++numoil;
- }
- }
- else
- {
- ++numlanterns;
- lanternslot = item;
- }
- }
- }
- if (numlanterns == 1 && lanternslot >= 0 && numoil > 0 && !containsforeignobject)
- {
- ItemStack var9 = inv.getStackInSlot(lanternslot);
- int var10 = Amnesia.lanternFuelCapacity * 60 - ItemLanternoff.getOilLevel(var9);
- if (numoil * Amnesia.fuelMinutesPerBottle * 60 <= var10)
- {
- return true;
- }
- if ((numoil - 1) * Amnesia.fuelMinutesPerBottle * 60 < var10)
- {
- return true;
- }
- }
- return false;
- }
- public ItemStack getCraftingResult(InventoryCrafting inv)
- {
- int numoil = 0;
- int lampslot = -1;
- boolean type = true;
- for (int item = 0; item < inv.getSizeInventory(); ++item)
- {
- ItemStack newLevel = inv.getStackInSlot(item);
- if (newLevel != null)
- {
- if (newLevel.getItem() == Amnesia.lanternoffItem)
- {
- lampslot = item;
- type = false;
- }
- else if (newLevel.getItem() == Amnesia.lanternoil)
- {
- ++numoil;
- }
- }
- }
- if (lampslot >= 0)
- {
- ItemStack var8 = inv.getStackInSlot(lampslot);
- int var9 = ItemLanternoff.getOilLevel(var8) + Amnesia.fuelMinutesPerBottle * 60 * numoil;
- if (var9 > Amnesia.lanternFuelCapacity * 60)
- {
- var9 = Amnesia.lanternFuelCapacity * 60;
- }
- ItemStack out = null;
- if (!type)
- {
- out = new ItemStack(Amnesia.lanternoffItem, 1);
- }
- ItemLanternoff.setOilLevel(out, var9);
- return out;
- }
- else
- {
- return null;
- }
- }
- public int getRecipeSize()
- {
- return 2;
- }
- public ItemStack getRecipeOutput()
- {
- return new ItemStack(Amnesia.lanternoffItem, 1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement