Added a crafting cooldown on IAltar, so that outside blocks may request the altar to not perform work while it is not active.
This commit is contained in:
parent
8fbb19acc0
commit
39e3d6eb34
14 changed files with 57 additions and 26 deletions
|
@ -0,0 +1,13 @@
|
|||
package WayofTime.alchemicalWizardry.common.routing;
|
||||
|
||||
import WayofTime.alchemicalWizardry.api.RoutingFocusLogic;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class RoutingFocusLogicIgnMeta extends RoutingFocusLogic
|
||||
{
|
||||
@Override
|
||||
public boolean getDefaultMatch(ItemStack keyStack, ItemStack checkedStack)
|
||||
{
|
||||
return (keyStack != null ? checkedStack != null && keyStack.getItem() == checkedStack.getItem() : false);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
package WayofTime.alchemicalWizardry.common.routing;
|
||||
|
||||
import WayofTime.alchemicalWizardry.api.ILimitingLogic;
|
||||
import WayofTime.alchemicalWizardry.api.RoutingFocusLogic;
|
||||
|
||||
public class RoutingFocusLogicLimit extends RoutingFocusLogic implements ILimitingLogic
|
||||
{
|
||||
public int getRoutingLimit()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package WayofTime.alchemicalWizardry.common.routing;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import WayofTime.alchemicalWizardry.common.items.routing.ILimitedRoutingFocus;
|
||||
|
||||
public class RoutingFocusLogicLimitDefault extends RoutingFocusLogicLimit
|
||||
{
|
||||
public int limit = 0;
|
||||
|
||||
public RoutingFocusLogicLimitDefault(ItemStack stack)
|
||||
{
|
||||
if(stack != null && stack.getItem() instanceof ILimitedRoutingFocus)
|
||||
{
|
||||
limit = ((ILimitedRoutingFocus)stack.getItem()).getRoutingFocusLimit(stack);
|
||||
}else
|
||||
{
|
||||
limit = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRoutingLimit()
|
||||
{
|
||||
return limit;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package WayofTime.alchemicalWizardry.common.routing;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import WayofTime.alchemicalWizardry.api.ILimitingLogic;
|
||||
import WayofTime.alchemicalWizardry.common.items.routing.ILimitedRoutingFocus;
|
||||
|
||||
public class RoutingFocusLogicLimitIgnMeta extends RoutingFocusLogicIgnMeta implements ILimitingLogic
|
||||
{
|
||||
public int limit = 0;
|
||||
|
||||
public RoutingFocusLogicLimitIgnMeta(ItemStack stack)
|
||||
{
|
||||
if(stack != null && stack.getItem() instanceof ILimitedRoutingFocus)
|
||||
{
|
||||
limit = ((ILimitedRoutingFocus)stack.getItem()).getRoutingFocusLimit(stack);
|
||||
}else
|
||||
{
|
||||
limit = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRoutingLimit()
|
||||
{
|
||||
return limit;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package WayofTime.alchemicalWizardry.common.routing;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import WayofTime.alchemicalWizardry.api.ILimitingLogic;
|
||||
import WayofTime.alchemicalWizardry.common.items.routing.ILimitedRoutingFocus;
|
||||
|
||||
public class RoutingFocusLogicLimitMatchNBT extends RoutingFocusLogicMatchNBT implements ILimitingLogic
|
||||
{
|
||||
public int limit = 0;
|
||||
|
||||
public RoutingFocusLogicLimitMatchNBT(ItemStack stack)
|
||||
{
|
||||
if(stack != null && stack.getItem() instanceof ILimitedRoutingFocus)
|
||||
{
|
||||
limit = ((ILimitedRoutingFocus)stack.getItem()).getRoutingFocusLimit(stack);
|
||||
}else
|
||||
{
|
||||
limit = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRoutingLimit()
|
||||
{
|
||||
return limit;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package WayofTime.alchemicalWizardry.common.routing;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import WayofTime.alchemicalWizardry.api.ILimitingLogic;
|
||||
import WayofTime.alchemicalWizardry.common.items.routing.ILimitedRoutingFocus;
|
||||
|
||||
public class RoutingFocusLogicLimitModItems extends RoutingFocusLogicModItems implements ILimitingLogic
|
||||
{
|
||||
public int limit = 0;
|
||||
|
||||
public RoutingFocusLogicLimitModItems(ItemStack stack)
|
||||
{
|
||||
if(stack != null && stack.getItem() instanceof ILimitedRoutingFocus)
|
||||
{
|
||||
limit = ((ILimitedRoutingFocus)stack.getItem()).getRoutingFocusLimit(stack);
|
||||
}else
|
||||
{
|
||||
limit = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRoutingLimit()
|
||||
{
|
||||
return limit;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
package WayofTime.alchemicalWizardry.common.routing;
|
||||
|
||||
import WayofTime.alchemicalWizardry.api.RoutingFocusLogic;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class RoutingFocusLogicMatchNBT extends RoutingFocusLogic
|
||||
{
|
||||
public boolean getDefaultMatch(ItemStack keyStack, ItemStack checkedStack)
|
||||
{
|
||||
return (keyStack != null ? checkedStack != null && keyStack.getItem() == checkedStack.getItem() && (keyStack.getItem().getHasSubtypes() ? keyStack.getItemDamage() == checkedStack.getItemDamage() : true) && keyStack.areItemStackTagsEqual(keyStack, checkedStack) : false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean doesItemMatch(boolean previous, ItemStack keyStack, ItemStack checkedStack)
|
||||
{
|
||||
return previous && this.getDefaultMatch(keyStack, checkedStack);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package WayofTime.alchemicalWizardry.common.routing;
|
||||
|
||||
import WayofTime.alchemicalWizardry.api.RoutingFocusLogic;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier;
|
||||
|
||||
public class RoutingFocusLogicModItems extends RoutingFocusLogic
|
||||
{
|
||||
@Override
|
||||
public boolean getDefaultMatch(ItemStack keyStack, ItemStack checkedStack)
|
||||
{
|
||||
if(keyStack != null && checkedStack != null)
|
||||
{
|
||||
UniqueIdentifier keyId = GameRegistry.findUniqueIdentifierFor(keyStack.getItem());
|
||||
UniqueIdentifier checkedId = GameRegistry.findUniqueIdentifierFor(checkedStack.getItem());
|
||||
return keyId.modId.equals(checkedId.modId);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue