Allow rituals to specify an update time. Default is 20

This commit is contained in:
Nick 2015-12-29 12:32:06 -08:00
parent 0a0986e9bf
commit 1c8d6d6986
3 changed files with 13 additions and 6 deletions

View file

@ -35,6 +35,10 @@ public abstract class Ritual {
public abstract int getRefreshCost(); public abstract int getRefreshCost();
public int getRefreshTime() {
return 20;
}
public abstract ArrayList<RitualComponent> getComponents(); public abstract ArrayList<RitualComponent> getComponents();
public void addOffsetRunes(ArrayList<RitualComponent> components, int offset1, int offset2, int y, EnumRuneType rune) { public void addOffsetRunes(ArrayList<RitualComponent> components, int offset1, int offset2, int y, EnumRuneType rune) {

View file

@ -12,7 +12,7 @@ import WayofTime.bloodmagic.api.ritual.Ritual;
import WayofTime.bloodmagic.api.ritual.RitualComponent; import WayofTime.bloodmagic.api.ritual.RitualComponent;
import WayofTime.bloodmagic.api.util.helper.NetworkHelper; import WayofTime.bloodmagic.api.util.helper.NetworkHelper;
public class RitualWater extends Ritual{ public class RitualWater extends Ritual {
public RitualWater() { public RitualWater() {
super("ritualWater", 0, 1000); super("ritualWater", 0, 1000);
@ -20,14 +20,12 @@ public class RitualWater extends Ritual{
@Override @Override
public void performRitual(IMasterRitualStone masterRitualStone) { public void performRitual(IMasterRitualStone masterRitualStone) {
System.out.println("Performing Effect");
World world = masterRitualStone.getWorld(); World world = masterRitualStone.getWorld();
SoulNetwork network = NetworkHelper.getSoulNetwork(masterRitualStone.getOwner(), world); SoulNetwork network = NetworkHelper.getSoulNetwork(masterRitualStone.getOwner(), world);
int currentEssence = network.getCurrentEssence(); int currentEssence = network.getCurrentEssence();
if(currentEssence < getRefreshCost()) { if(currentEssence < getRefreshCost())
return; return;
}
BlockPos pos = masterRitualStone.getPos().up(); BlockPos pos = masterRitualStone.getPos().up();
if(world.isAirBlock(pos)) { if(world.isAirBlock(pos)) {
@ -36,6 +34,11 @@ public class RitualWater extends Ritual{
} }
} }
@Override
public int getRefreshTime() {
return 1;
}
@Override @Override
public int getRefreshCost() { public int getRefreshCost() {
return 50; return 50;

View file

@ -31,7 +31,7 @@ import net.minecraftforge.fml.common.eventhandler.Event;
@NoArgsConstructor @NoArgsConstructor
public class TileMasterRitualStone extends TileEntity implements IMasterRitualStone, ITickable { public class TileMasterRitualStone extends TileEntity implements IMasterRitualStone, ITickable {
public static final int REFRESH_TIME = 20; public static final int UPDATE_TIME = 20;
private String owner; private String owner;
private boolean active; private boolean active;
@ -44,7 +44,7 @@ public class TileMasterRitualStone extends TileEntity implements IMasterRitualSt
@Override @Override
public void update() { public void update() {
if (getCurrentRitual() != null && isActive()) { if (getCurrentRitual() != null && isActive()) {
if (activeTime % REFRESH_TIME == 0) if (activeTime % getCurrentRitual().getRefreshTime() == 0)
performRitual(getWorld(), getPos()); performRitual(getWorld(), getPos());
activeTime++; activeTime++;