Imperfect ritual system hopefully works correctly now

This commit is contained in:
Nick 2015-11-02 18:00:48 -08:00
parent 92bf7cc35b
commit d285736ca9
9 changed files with 18 additions and 8 deletions

View file

@ -204,5 +204,6 @@ public class ConfigHandler {
public static void checkRituals() {
RitualHelper.checkImperfectRituals(config, "WayofTime.bloodmagic.ritual.imperfect", "Rituals.imperfect");
config.save();
}
}

View file

@ -11,7 +11,7 @@ import java.util.ArrayList;
public class ImperfectRitualRegistry {
private static final BiMap<ImperfectRitual, Boolean> enabledRituals = HashBiMap.create();
public static final BiMap<ImperfectRitual, Boolean> enabledRituals = HashBiMap.create();
private static final BiMap<String, ImperfectRitual> registry = HashBiMap.create();
/**

View file

@ -9,7 +9,7 @@ import java.util.ArrayList;
public class RitualRegistry {
private static final BiMap<Ritual, Boolean> enabledRituals = HashBiMap.create();
public static final BiMap<Ritual, Boolean> enabledRituals = HashBiMap.create();
private static final BiMap<String, Ritual> registry = HashBiMap.create();
/**

View file

@ -1,5 +1,6 @@
package WayofTime.bloodmagic.api.ritual;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import net.minecraft.entity.player.EntityPlayer;
@ -9,6 +10,7 @@ import java.util.ArrayList;
@Getter
@RequiredArgsConstructor
@EqualsAndHashCode
public abstract class Ritual {
private final String name;

View file

@ -1,12 +1,14 @@
package WayofTime.bloodmagic.api.ritual.imperfect;
import WayofTime.bloodmagic.api.BlockStack;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import net.minecraft.entity.player.EntityPlayer;
@RequiredArgsConstructor
@Getter
@EqualsAndHashCode
public abstract class ImperfectRitual {
private final String name;

View file

@ -32,11 +32,11 @@ public class RitualHelper {
}
public static void checkImperfectRituals(Configuration config, String packageName, String category) {
checkRituals(config, packageName, category, ImperfectRitual.class, ImperfectRitualRegistry.getEnabledMap());
checkRituals(config, packageName, category, ImperfectRitual.class, ImperfectRitualRegistry.enabledRituals);
}
public static void checkRituals(Configuration config, String packageName, String category) {
checkRituals(config, packageName, category, Ritual.class, RitualRegistry.getEnabledMap());
checkRituals(config, packageName, category, Ritual.class, RitualRegistry.enabledRituals);
}
/**

View file

@ -6,6 +6,8 @@ import WayofTime.bloodmagic.block.BlockAltar;
import WayofTime.bloodmagic.block.BlockLifeEssence;
import WayofTime.bloodmagic.block.BlockRitualController;
import WayofTime.bloodmagic.item.block.ItemBlockRitualController;
import WayofTime.bloodmagic.tile.TileImperfectRitualStone;
import WayofTime.bloodmagic.tile.TileMasterRitualStone;
import WayofTime.bloodmagic.util.helper.InventoryRenderHelper;
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;
@ -34,7 +36,8 @@ public class ModBlocks {
}
public static void initTiles() {
GameRegistry.registerTileEntity(TileImperfectRitualStone.class, BloodMagic.MODID + ":" + TileImperfectRitualStone.class.getSimpleName());
GameRegistry.registerTileEntity(TileMasterRitualStone.class, BloodMagic.MODID + ":" + TileMasterRitualStone.class.getSimpleName());
}
public static void initRenders() {

View file

@ -16,12 +16,14 @@ public class ImperfectRitualNight extends ImperfectRitual {
@Override
public boolean onActivate(IImperfectRitualStone imperfectRitualStone, EntityPlayer player) {
boolean retFlag = false;
if (!imperfectRitualStone.getWorld().isRemote) {
imperfectRitualStone.getWorld().addWeatherEffect(new EntityLightningBolt(imperfectRitualStone.getWorld(), imperfectRitualStone.getPos().getX(), imperfectRitualStone.getPos().getY() + 2, imperfectRitualStone.getPos().getZ()));
imperfectRitualStone.getWorld().setWorldTime((imperfectRitualStone.getWorld().getWorldTime() / 24000) * 24000 + 13800);
return true;
retFlag = true;
}
return false;
return retFlag;
}
}

View file

@ -20,7 +20,7 @@ public class TileImperfectRitualStone extends TileEntity implements IImperfectRi
@Override
public boolean performRitual(World world, BlockPos pos, ImperfectRitual imperfectRitual, EntityPlayer player) {
if (imperfectRitual != null) {
if (imperfectRitual != null && ImperfectRitualRegistry.ritualEnabled(imperfectRitual)) {
System.out.println(imperfectRitual.toString());
NetworkHelper.getSoulNetwork(player.getDisplayNameString(), world).syphonAndDamage(imperfectRitual.getActivationCost());
return imperfectRitual.onActivate(this, player);