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
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
#Mon Feb 23 18:21:38 EST 2015
|
#Thu Feb 26 20:41:21 EST 2015
|
||||||
mod_name=BloodMagic
|
mod_name=BloodMagic
|
||||||
forge_version=10.13.2.1232
|
forge_version=10.13.2.1232
|
||||||
ccc_version=1.0.4.29
|
ccc_version=1.0.4.29
|
||||||
|
@ -8,5 +8,5 @@ nei_version=1.0.3.64
|
||||||
package_group=com.wayoftime.bloodmagic
|
package_group=com.wayoftime.bloodmagic
|
||||||
mod_version=1.3.1Beta1
|
mod_version=1.3.1Beta1
|
||||||
minetweaker_version=Dev-1.7.10-3.0.9B
|
minetweaker_version=Dev-1.7.10-3.0.9B
|
||||||
|
build_number=10
|
||||||
mc_version=1.7.10
|
mc_version=1.7.10
|
||||||
build_number=9
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
package WayofTime.alchemicalWizardry.api;
|
|
||||||
|
|
||||||
public class RoutingFocusLogicLimit extends RoutingFocusLogic implements ILimitingLogic
|
|
||||||
{
|
|
||||||
public int getRoutingLimit()
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,4 +27,11 @@ public interface IBloodAltar
|
||||||
public void sacrificialDaggerCall(int amount, boolean b);
|
public void sacrificialDaggerCall(int amount, boolean b);
|
||||||
|
|
||||||
public void startCycle();
|
public void startCycle();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Will set the altar to initiate a cooldown cycle after it crafts before starting to craft again, giving the user time to interact with the altar.
|
||||||
|
* This can only be set while the altar is not active.
|
||||||
|
* @param amount
|
||||||
|
*/
|
||||||
|
public void requestPauseAfterCrafting(int amount);
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,10 +11,10 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.util.StatCollector;
|
import net.minecraft.util.StatCollector;
|
||||||
import WayofTime.alchemicalWizardry.api.RoutingFocusLogic;
|
import WayofTime.alchemicalWizardry.api.RoutingFocusLogic;
|
||||||
import WayofTime.alchemicalWizardry.api.RoutingFocusLogicLimitDefault;
|
import WayofTime.alchemicalWizardry.common.routing.RoutingFocusLogicLimitDefault;
|
||||||
import WayofTime.alchemicalWizardry.api.RoutingFocusLogicLimitIgnMeta;
|
import WayofTime.alchemicalWizardry.common.routing.RoutingFocusLogicLimitIgnMeta;
|
||||||
import WayofTime.alchemicalWizardry.api.RoutingFocusLogicLimitMatchNBT;
|
import WayofTime.alchemicalWizardry.common.routing.RoutingFocusLogicLimitMatchNBT;
|
||||||
import WayofTime.alchemicalWizardry.api.RoutingFocusLogicLimitModItems;
|
import WayofTime.alchemicalWizardry.common.routing.RoutingFocusLogicLimitModItems;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package WayofTime.alchemicalWizardry.api;
|
package WayofTime.alchemicalWizardry.common.routing;
|
||||||
|
|
||||||
|
import WayofTime.alchemicalWizardry.api.RoutingFocusLogic;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
public class RoutingFocusLogicIgnMeta extends RoutingFocusLogic
|
public class RoutingFocusLogicIgnMeta extends RoutingFocusLogic
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package WayofTime.alchemicalWizardry.api;
|
package WayofTime.alchemicalWizardry.common.routing;
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import WayofTime.alchemicalWizardry.common.items.routing.ILimitedRoutingFocus;
|
import WayofTime.alchemicalWizardry.common.items.routing.ILimitedRoutingFocus;
|
|
@ -1,6 +1,7 @@
|
||||||
package WayofTime.alchemicalWizardry.api;
|
package WayofTime.alchemicalWizardry.common.routing;
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import WayofTime.alchemicalWizardry.api.ILimitingLogic;
|
||||||
import WayofTime.alchemicalWizardry.common.items.routing.ILimitedRoutingFocus;
|
import WayofTime.alchemicalWizardry.common.items.routing.ILimitedRoutingFocus;
|
||||||
|
|
||||||
public class RoutingFocusLogicLimitIgnMeta extends RoutingFocusLogicIgnMeta implements ILimitingLogic
|
public class RoutingFocusLogicLimitIgnMeta extends RoutingFocusLogicIgnMeta implements ILimitingLogic
|
|
@ -1,6 +1,7 @@
|
||||||
package WayofTime.alchemicalWizardry.api;
|
package WayofTime.alchemicalWizardry.common.routing;
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import WayofTime.alchemicalWizardry.api.ILimitingLogic;
|
||||||
import WayofTime.alchemicalWizardry.common.items.routing.ILimitedRoutingFocus;
|
import WayofTime.alchemicalWizardry.common.items.routing.ILimitedRoutingFocus;
|
||||||
|
|
||||||
public class RoutingFocusLogicLimitMatchNBT extends RoutingFocusLogicMatchNBT implements ILimitingLogic
|
public class RoutingFocusLogicLimitMatchNBT extends RoutingFocusLogicMatchNBT implements ILimitingLogic
|
|
@ -1,6 +1,7 @@
|
||||||
package WayofTime.alchemicalWizardry.api;
|
package WayofTime.alchemicalWizardry.common.routing;
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import WayofTime.alchemicalWizardry.api.ILimitingLogic;
|
||||||
import WayofTime.alchemicalWizardry.common.items.routing.ILimitedRoutingFocus;
|
import WayofTime.alchemicalWizardry.common.items.routing.ILimitedRoutingFocus;
|
||||||
|
|
||||||
public class RoutingFocusLogicLimitModItems extends RoutingFocusLogicModItems implements ILimitingLogic
|
public class RoutingFocusLogicLimitModItems extends RoutingFocusLogicModItems implements ILimitingLogic
|
|
@ -1,5 +1,6 @@
|
||||||
package WayofTime.alchemicalWizardry.api;
|
package WayofTime.alchemicalWizardry.common.routing;
|
||||||
|
|
||||||
|
import WayofTime.alchemicalWizardry.api.RoutingFocusLogic;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
public class RoutingFocusLogicMatchNBT extends RoutingFocusLogic
|
public class RoutingFocusLogicMatchNBT extends RoutingFocusLogic
|
|
@ -1,5 +1,6 @@
|
||||||
package WayofTime.alchemicalWizardry.api;
|
package WayofTime.alchemicalWizardry.common.routing;
|
||||||
|
|
||||||
|
import WayofTime.alchemicalWizardry.api.RoutingFocusLogic;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier;
|
import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier;
|
|
@ -1,8 +1,8 @@
|
||||||
package WayofTime.alchemicalWizardry.common.spell.complex.effect;
|
package WayofTime.alchemicalWizardry.common.spell.complex.effect;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.api.RoutingFocusLogic;
|
import WayofTime.alchemicalWizardry.api.RoutingFocusLogic;
|
||||||
import WayofTime.alchemicalWizardry.api.RoutingFocusLogicModItems;
|
|
||||||
import WayofTime.alchemicalWizardry.common.items.routing.OutputRoutingFocus;
|
import WayofTime.alchemicalWizardry.common.items.routing.OutputRoutingFocus;
|
||||||
|
import WayofTime.alchemicalWizardry.common.routing.RoutingFocusLogicModItems;
|
||||||
|
|
||||||
public class OutputRoutingFocusModItems extends OutputRoutingFocus
|
public class OutputRoutingFocusModItems extends OutputRoutingFocus
|
||||||
{
|
{
|
||||||
|
|
|
@ -36,8 +36,6 @@ import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.AltarUpgradeCompone
|
||||||
import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars;
|
import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars;
|
||||||
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
||||||
|
|
||||||
import com.ibm.icu.text.MessageFormat;
|
|
||||||
|
|
||||||
public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFluidHandler, IBloodAltar
|
public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFluidHandler, IBloodAltar
|
||||||
{
|
{
|
||||||
public static final int sizeInv = 1;
|
public static final int sizeInv = 1;
|
||||||
|
@ -70,6 +68,8 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui
|
||||||
|
|
||||||
private int lockdownDuration;
|
private int lockdownDuration;
|
||||||
private int demonBloodDuration;
|
private int demonBloodDuration;
|
||||||
|
|
||||||
|
private int cooldownAfterCrafting = 0;
|
||||||
|
|
||||||
public TEAltar()
|
public TEAltar()
|
||||||
{
|
{
|
||||||
|
@ -192,6 +192,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui
|
||||||
lockdownDuration = par1NBTTagCompound.getInteger("lockdownDuration");
|
lockdownDuration = par1NBTTagCompound.getInteger("lockdownDuration");
|
||||||
accelerationUpgrades = par1NBTTagCompound.getInteger("accelerationUpgrades");
|
accelerationUpgrades = par1NBTTagCompound.getInteger("accelerationUpgrades");
|
||||||
demonBloodDuration = par1NBTTagCompound.getInteger("demonBloodDuration");
|
demonBloodDuration = par1NBTTagCompound.getInteger("demonBloodDuration");
|
||||||
|
cooldownAfterCrafting = par1NBTTagCompound.getInteger("cooldownAfterCrafting");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMainFluid(FluidStack fluid)
|
public void setMainFluid(FluidStack fluid)
|
||||||
|
@ -271,6 +272,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui
|
||||||
par1NBTTagCompound.setInteger("lockdownDuration", lockdownDuration);
|
par1NBTTagCompound.setInteger("lockdownDuration", lockdownDuration);
|
||||||
par1NBTTagCompound.setInteger("accelerationUpgrades", this.accelerationUpgrades);
|
par1NBTTagCompound.setInteger("accelerationUpgrades", this.accelerationUpgrades);
|
||||||
par1NBTTagCompound.setInteger("demonBloodDuration", demonBloodDuration);
|
par1NBTTagCompound.setInteger("demonBloodDuration", demonBloodDuration);
|
||||||
|
par1NBTTagCompound.setInteger("cooldownAfterCrafting", cooldownAfterCrafting);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -646,13 +648,17 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui
|
||||||
this.fluid.amount -= fluidOutputted;
|
this.fluid.amount -= fluidOutputted;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (worldObj.getWorldTime() % 100 == 0)
|
if (worldObj.getWorldTime() % 100 == 0 && this.cooldownAfterCrafting <= 0)
|
||||||
{
|
{
|
||||||
startCycle();
|
startCycle();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isActive)
|
if (!isActive)
|
||||||
{
|
{
|
||||||
|
if(cooldownAfterCrafting > 0)
|
||||||
|
{
|
||||||
|
cooldownAfterCrafting--;
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1076,4 +1082,13 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui
|
||||||
player.addChatMessage(new ChatComponentText(String.format(StatCollector.translateToLocal("message.altar.inputtank"), this.fluidInput.amount)));
|
player.addChatMessage(new ChatComponentText(String.format(StatCollector.translateToLocal("message.altar.inputtank"), this.fluidInput.amount)));
|
||||||
player.addChatMessage(new ChatComponentText(String.format(StatCollector.translateToLocal("message.altar.outputtank"), this.fluidOutput.amount)));
|
player.addChatMessage(new ChatComponentText(String.format(StatCollector.translateToLocal("message.altar.outputtank"), this.fluidOutput.amount)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void requestPauseAfterCrafting(int amount)
|
||||||
|
{
|
||||||
|
if(this.isActive)
|
||||||
|
{
|
||||||
|
this.cooldownAfterCrafting = amount;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue