Added the Ritual for Water and did some rudimentary tests. Issue: MRS does not load properly on world load.
This commit is contained in:
parent
0e1173ef5d
commit
16a6333c6f
|
@ -23,11 +23,15 @@ public abstract class Ritual {
|
|||
this(name, crystalLevel, activationCost, null);
|
||||
}
|
||||
|
||||
public abstract boolean activateRitual(IMasterRitualStone masterRitualStone, EntityPlayer player);
|
||||
public boolean activateRitual(IMasterRitualStone masterRitualStone, EntityPlayer player) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public abstract void performRitual(IMasterRitualStone masterRitualStone);
|
||||
|
||||
public abstract void stopRitual(IMasterRitualStone masterRitualStone, Ritual.BreakType breakType);
|
||||
public void stopRitual(IMasterRitualStone masterRitualStone, BreakType breakType) {
|
||||
|
||||
}
|
||||
|
||||
public abstract int getRefreshCost();
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import WayofTime.bloodmagic.api.registry.RitualRegistry;
|
|||
import WayofTime.bloodmagic.api.ritual.Ritual;
|
||||
import WayofTime.bloodmagic.api.ritual.imperfect.ImperfectRitual;
|
||||
import WayofTime.bloodmagic.ritual.RitualTest;
|
||||
import WayofTime.bloodmagic.ritual.RitualWater;
|
||||
import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualNight;
|
||||
import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualRain;
|
||||
import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualResistance;
|
||||
|
@ -13,6 +14,7 @@ import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualZombie;
|
|||
public class ModRituals {
|
||||
|
||||
public static Ritual testRitual;
|
||||
public static Ritual waterRitual;
|
||||
|
||||
public static ImperfectRitual imperfectNight;
|
||||
public static ImperfectRitual imperfectRain;
|
||||
|
@ -21,7 +23,10 @@ public class ModRituals {
|
|||
|
||||
public static void initRituals() {
|
||||
testRitual = new RitualTest();
|
||||
waterRitual = new RitualWater();
|
||||
|
||||
RitualRegistry.registerRitual(testRitual, testRitual.getName());
|
||||
RitualRegistry.registerRitual(waterRitual, waterRitual.getName());
|
||||
}
|
||||
|
||||
public static void initImperfectRituals() {
|
||||
|
|
52
src/main/java/WayofTime/bloodmagic/ritual/RitualWater.java
Normal file
52
src/main/java/WayofTime/bloodmagic/ritual/RitualWater.java
Normal file
|
@ -0,0 +1,52 @@
|
|||
package WayofTime.bloodmagic.ritual;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import WayofTime.bloodmagic.api.network.SoulNetwork;
|
||||
import WayofTime.bloodmagic.api.ritual.EnumRuneType;
|
||||
import WayofTime.bloodmagic.api.ritual.IMasterRitualStone;
|
||||
import WayofTime.bloodmagic.api.ritual.Ritual;
|
||||
import WayofTime.bloodmagic.api.ritual.RitualComponent;
|
||||
import WayofTime.bloodmagic.api.util.helper.NetworkHelper;
|
||||
|
||||
public class RitualWater extends Ritual{
|
||||
|
||||
public RitualWater() {
|
||||
super("ritualWater", 0, 1000);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void performRitual(IMasterRitualStone masterRitualStone) {
|
||||
System.out.println("Performing Effect");
|
||||
World world = masterRitualStone.getWorld();
|
||||
SoulNetwork network = NetworkHelper.getSoulNetwork(masterRitualStone.getOwner(), world);
|
||||
int currentEssence = network.getCurrentEssence();
|
||||
|
||||
if(currentEssence < getRefreshCost()) {
|
||||
return;
|
||||
}
|
||||
|
||||
BlockPos pos = masterRitualStone.getPos().up();
|
||||
if(world.isAirBlock(pos)) {
|
||||
world.setBlockState(pos, Blocks.water.getDefaultState());
|
||||
network.syphon(getRefreshCost());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRefreshCost() {
|
||||
return 50;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<RitualComponent> getComponents() {
|
||||
ArrayList<RitualComponent> components = new ArrayList<RitualComponent>();
|
||||
|
||||
this.addCornerRunes(components, 1, 0, EnumRuneType.WATER);
|
||||
|
||||
return components;
|
||||
}
|
||||
}
|
|
@ -43,6 +43,15 @@ public class TileMasterRitualStone extends TileEntity implements IMasterRitualSt
|
|||
|
||||
@Override
|
||||
public void update() {
|
||||
if(!worldObj.isRemote && worldObj.getWorldTime() % REFRESH_TIME == 0) {
|
||||
System.out.println("Owner: " + owner);
|
||||
if(isActive()) {
|
||||
System.out.println("Is active");
|
||||
}
|
||||
|
||||
System.out.println("Active time: " + activeTime);
|
||||
}
|
||||
|
||||
if (getCurrentRitual() != null && isActive()) {
|
||||
if (activeTime % REFRESH_TIME == 0)
|
||||
performRitual(getWorld(), getPos());
|
||||
|
|
Loading…
Reference in a new issue