Fixed the rituals. Thanks, AlgorithmX2!

This commit is contained in:
WayofTime 2015-12-29 14:22:33 -05:00
parent 16a6333c6f
commit 6c6d8067bf
2 changed files with 5 additions and 28 deletions

View file

@ -5,7 +5,6 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos; import net.minecraft.util.BlockPos;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.world.Explosion; import net.minecraft.world.Explosion;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -15,10 +14,8 @@ import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.registry.ImperfectRitualRegistry; import WayofTime.bloodmagic.api.registry.ImperfectRitualRegistry;
import WayofTime.bloodmagic.api.registry.RitualRegistry; import WayofTime.bloodmagic.api.registry.RitualRegistry;
import WayofTime.bloodmagic.api.ritual.Ritual; import WayofTime.bloodmagic.api.ritual.Ritual;
import WayofTime.bloodmagic.api.ritual.RitualComponent;
import WayofTime.bloodmagic.api.util.helper.RitualHelper; import WayofTime.bloodmagic.api.util.helper.RitualHelper;
import WayofTime.bloodmagic.block.base.BlockStringContainer; import WayofTime.bloodmagic.block.base.BlockStringContainer;
import WayofTime.bloodmagic.registry.ModBlocks;
import WayofTime.bloodmagic.registry.ModItems; import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.tile.TileImperfectRitualStone; import WayofTime.bloodmagic.tile.TileImperfectRitualStone;
import WayofTime.bloodmagic.tile.TileMasterRitualStone; import WayofTime.bloodmagic.tile.TileMasterRitualStone;
@ -42,19 +39,6 @@ public class BlockRitualController extends BlockStringContainer {
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ) { public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ) {
TileEntity tile = world.getTileEntity(pos); TileEntity tile = world.getTileEntity(pos);
if (player.getHeldItem() == null && tile instanceof TileMasterRitualStone) {
Ritual send = ((TileMasterRitualStone) tile).getCurrentRitual();
if (send != null)
player.addChatComponentMessage(new ChatComponentText(send.getName()));
else {
Ritual place = RitualRegistry.getRitualForId("ritualTest");
for (RitualComponent ritualComponent : place.getComponents()) {
IBlockState toPlace = ModBlocks.ritualStone.getStateFromMeta(ritualComponent.getRuneType().ordinal());
world.setBlockState(pos.add(ritualComponent.getOffset()), toPlace);
}
}
}
if (getMetaFromState(state) == 0 && tile instanceof TileMasterRitualStone) { if (getMetaFromState(state) == 0 && tile instanceof TileMasterRitualStone) {
if (player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.activationCrystal) { if (player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.activationCrystal) {
String key = RitualHelper.getValidRitual(world, pos); String key = RitualHelper.getValidRitual(world, pos);
@ -96,6 +80,6 @@ public class BlockRitualController extends BlockStringContainer {
@Override @Override
public TileEntity createNewTileEntity(World world, int meta) { public TileEntity createNewTileEntity(World world, int meta) {
return meta == 0 ? new TileMasterRitualStone() : new TileImperfectRitualStone(); return meta == 0 ? (new TileMasterRitualStone()) : (new TileImperfectRitualStone());
} }
} }

View file

@ -43,15 +43,6 @@ public class TileMasterRitualStone extends TileEntity implements IMasterRitualSt
@Override @Override
public void update() { 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 (getCurrentRitual() != null && isActive()) {
if (activeTime % REFRESH_TIME == 0) if (activeTime % REFRESH_TIME == 0)
performRitual(getWorld(), getPos()); performRitual(getWorld(), getPos());
@ -62,6 +53,7 @@ public class TileMasterRitualStone extends TileEntity implements IMasterRitualSt
@Override @Override
public void readFromNBT(NBTTagCompound tag) { public void readFromNBT(NBTTagCompound tag) {
super.readFromNBT(tag);
owner = tag.getString(Constants.NBT.OWNER_UUID); owner = tag.getString(Constants.NBT.OWNER_UUID);
currentRitual = RitualRegistry.getRitualForId(tag.getString(Constants.NBT.CURRENT_RITUAL)); currentRitual = RitualRegistry.getRitualForId(tag.getString(Constants.NBT.CURRENT_RITUAL));
active = tag.getBoolean(Constants.NBT.IS_RUNNING); active = tag.getBoolean(Constants.NBT.IS_RUNNING);
@ -71,6 +63,7 @@ public class TileMasterRitualStone extends TileEntity implements IMasterRitualSt
@Override @Override
public void writeToNBT(NBTTagCompound tag) { public void writeToNBT(NBTTagCompound tag) {
super.writeToNBT(tag);
String ritualId = RitualRegistry.getIdForRitual(getCurrentRitual()); String ritualId = RitualRegistry.getIdForRitual(getCurrentRitual());
tag.setString(Constants.NBT.OWNER_UUID, Strings.isNullOrEmpty(getOwner()) ? "" : getOwner()); tag.setString(Constants.NBT.OWNER_UUID, Strings.isNullOrEmpty(getOwner()) ? "" : getOwner());
tag.setString(Constants.NBT.CURRENT_RITUAL, Strings.isNullOrEmpty(ritualId) ? "" : ritualId); tag.setString(Constants.NBT.CURRENT_RITUAL, Strings.isNullOrEmpty(ritualId) ? "" : ritualId);