added unrest upgradeHandler
This commit is contained in:
parent
776fd328c3
commit
6826cfe4be
7 changed files with 153 additions and 1 deletions
|
@ -97,7 +97,7 @@ public class RecipeCrafter {
|
|||
double speedMultiplier = 0;
|
||||
|
||||
/**
|
||||
* This is used to change the speed of the crafting operation.
|
||||
* This is used to change the power of the crafting operation.
|
||||
*
|
||||
* 1 = none;
|
||||
* 1.2 = 20% speed increase
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
package techreborn.api.upgrade;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import techreborn.api.recipe.RecipeCrafter;
|
||||
|
||||
public interface IMachineUpgrade {
|
||||
|
||||
public void processUpgrade(RecipeCrafter crafter, ItemStack stack);
|
||||
}
|
37
src/main/java/techreborn/api/upgrade/UpgradeHandler.java
Normal file
37
src/main/java/techreborn/api/upgrade/UpgradeHandler.java
Normal file
|
@ -0,0 +1,37 @@
|
|||
package techreborn.api.upgrade;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import techreborn.api.recipe.RecipeCrafter;
|
||||
import techreborn.util.Inventory;
|
||||
|
||||
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.getWorldObj().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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
5
src/main/java/techreborn/api/upgrade/package-info.java
Normal file
5
src/main/java/techreborn/api/upgrade/package-info.java
Normal file
|
@ -0,0 +1,5 @@
|
|||
@API(apiVersion = "@MODVERSION@", owner = "techreborn", provides = "techrebornAPI")
|
||||
package techreborn.api.upgrade;
|
||||
|
||||
import cpw.mods.fml.common.API;
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue