Committing the Ritual stuff
Incomplete. Ritual detection/rotation needs to be implemented. Currently hardcoded to a test ritual
This commit is contained in:
parent
9faae07131
commit
03847ad6d9
9 changed files with 209 additions and 40 deletions
|
@ -3,12 +3,21 @@ package WayofTime.bloodmagic.api.util.helper;
|
|||
import WayofTime.bloodmagic.BloodMagic;
|
||||
import WayofTime.bloodmagic.api.registry.ImperfectRitualRegistry;
|
||||
import WayofTime.bloodmagic.api.registry.RitualRegistry;
|
||||
import WayofTime.bloodmagic.api.ritual.EnumRuneType;
|
||||
import WayofTime.bloodmagic.api.ritual.Ritual;
|
||||
import WayofTime.bloodmagic.api.ritual.RitualComponent;
|
||||
import WayofTime.bloodmagic.api.ritual.imperfect.ImperfectRitual;
|
||||
import WayofTime.bloodmagic.block.BlockRitualStone;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.config.Configuration;
|
||||
|
||||
import java.io.File;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
|
||||
public class RitualHelper {
|
||||
|
@ -31,6 +40,25 @@ public class RitualHelper {
|
|||
return RitualRegistry.getIds().get(previousIndex);
|
||||
}
|
||||
|
||||
public static boolean checkValidRitual(World world, BlockPos pos, String ritualId, EnumFacing direction) {
|
||||
ArrayList<RitualComponent> components = RitualRegistry.getRitualForId(ritualId).getComponents();
|
||||
|
||||
if (components == null)
|
||||
return false;
|
||||
|
||||
for (RitualComponent component : components) {
|
||||
IBlockState worldState = world.getBlockState(pos.add(component.getOffset()));
|
||||
if (worldState.getBlock() instanceof BlockRitualStone) {
|
||||
EnumRuneType worldType = EnumRuneType.values()[worldState.getBlock().getMetaFromState(worldState)];
|
||||
|
||||
if (component.getRuneType() != worldType)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static void checkImperfectRituals(Configuration config, String packageName, String category) {
|
||||
checkRituals(config, packageName, category, ImperfectRitual.class, ImperfectRitualRegistry.enabledRituals);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue