Imperfect rituals work mostly now
Just need to figure out an issue with the config
This commit is contained in:
parent
3a0dcae59a
commit
92bf7cc35b
15 changed files with 226 additions and 64 deletions
|
@ -1,15 +1,21 @@
|
|||
package WayofTime.bloodmagic.api.ritual;
|
||||
|
||||
import WayofTime.bloodmagic.api.ritual.imperfect.IImperfectRitualStone;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public interface IMasterRitualStone extends IImperfectRitualStone {
|
||||
public interface IMasterRitualStone {
|
||||
|
||||
String getOwner();
|
||||
|
||||
boolean activateRitual(ItemStack activationCrystal, EntityPlayer activator);
|
||||
|
||||
void performRitual(World world, BlockPos pos, Ritual ritual);
|
||||
|
||||
void stopRitual();
|
||||
|
||||
void setCooldown(int cooldown);
|
||||
|
||||
int getCooldown();
|
||||
|
@ -18,15 +24,11 @@ public interface IMasterRitualStone extends IImperfectRitualStone {
|
|||
|
||||
EnumFacing getDirection();
|
||||
|
||||
NBTTagCompound getCustomRitualTag();
|
||||
|
||||
void setCustomRitualTag(NBTTagCompound tag);
|
||||
|
||||
boolean areTanksEmpty();
|
||||
|
||||
int getRunningTime();
|
||||
|
||||
LocalRitualStorage getLocalStorage();
|
||||
World getWorld();
|
||||
|
||||
void setLocalStorage(LocalRitualStorage storage);
|
||||
BlockPos getPos();
|
||||
}
|
||||
|
|
|
@ -32,10 +32,6 @@ public abstract class Ritual {
|
|||
|
||||
public abstract ArrayList<RitualComponent> getComponents();
|
||||
|
||||
public LocalRitualStorage getNewLocalStorage() {
|
||||
return new LocalRitualStorage();
|
||||
}
|
||||
|
||||
public void addOffsetRunes(ArrayList<RitualComponent> components, int offset1, int offset2, int y, EnumRuneType rune) {
|
||||
components.add(new RitualComponent(new BlockPos(offset1, y, offset2), rune));
|
||||
components.add(new RitualComponent(new BlockPos(offset2, y, offset1), rune));
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
package WayofTime.bloodmagic.api.ritual.imperfect;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public interface IImperfectRitualStone {
|
||||
|
||||
String getOwner();
|
||||
boolean performRitual(World world, BlockPos pos, ImperfectRitual imperfectRitual, EntityPlayer player);
|
||||
|
||||
World getWorld();
|
||||
|
||||
|
|
|
@ -1,19 +1,27 @@
|
|||
package WayofTime.bloodmagic.api.ritual.imperfect;
|
||||
|
||||
import WayofTime.bloodmagic.api.BlockStack;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
public abstract class ImperfectRitual {
|
||||
|
||||
private final String name;
|
||||
private final BlockStack requiredBlock;
|
||||
private final int activationCost;
|
||||
private final boolean lightshow;
|
||||
|
||||
public ImperfectRitual(BlockStack requiredBlock, int activationCost) {
|
||||
this(requiredBlock, activationCost, false);
|
||||
public ImperfectRitual(String name, BlockStack requiredBlock, int activationCost) {
|
||||
this(name, requiredBlock, activationCost, false);
|
||||
}
|
||||
|
||||
public abstract boolean onActivate(IImperfectRitualStone imperfectRitualStone, EntityPlayer player);
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getName() + ":" + getRequiredBlock().toString() + "@" + getActivationCost();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue