Made the api usefull

This commit is contained in:
modmuss50 2016-04-03 14:25:46 +01:00
parent b44cdd4064
commit 7e7fcf2ad9
18 changed files with 162 additions and 133 deletions

View file

@ -0,0 +1,9 @@
package techreborn.utils.upgrade;
import net.minecraft.item.ItemStack;
import techreborn.utils.RecipeCrafter;
public interface IMachineUpgrade {
public void processUpgrade(RecipeCrafter crafter, ItemStack stack);
}

View file

@ -0,0 +1,40 @@
package techreborn.utils.upgrade;
import net.minecraft.item.ItemStack;
import reborncore.common.util.Inventory;
import techreborn.utils.RecipeCrafter;
import java.util.ArrayList;
public class UpgradeHandler {
RecipeCrafter crafter;
Inventory inventory;
ArrayList<Integer> slots = new ArrayList<Integer>();
public UpgradeHandler(RecipeCrafter crafter, Inventory inventory, int... slots) {
this.crafter = crafter;
this.inventory = inventory;
for (int slot : slots) {
this.slots.add(slot);
}
}
public void tick() {
if (crafter.parentTile.getWorld().isRemote)
return;
crafter.resetPowerMulti();
crafter.resetSpeedMulti();
for (int slot : this.slots) {
ItemStack stack = inventory.getStackInSlot(slot);
if (stack != null && stack.getItem() instanceof IMachineUpgrade) {
((IMachineUpgrade) stack.getItem()).processUpgrade(crafter, stack);
}
}
if (crafter.currentRecipe != null)
crafter.currentNeededTicks = (int) (crafter.currentRecipe.tickTime()
* (1.0 - crafter.getSpeedMultiplier()));
}
}

View file

@ -0,0 +1,4 @@
@API(apiVersion = "@MODVERSION@", owner = "techreborn", provides = "techrebornAPI")
package techreborn.utils.upgrade;
import net.minecraftforge.fml.common.API;