From d285736ca9c7e1204c570d0ade2424cf5b7286f7 Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 2 Nov 2015 18:00:48 -0800 Subject: [PATCH] Imperfect ritual system hopefully works correctly now --- src/main/java/WayofTime/bloodmagic/ConfigHandler.java | 1 + .../bloodmagic/api/registry/ImperfectRitualRegistry.java | 2 +- .../WayofTime/bloodmagic/api/registry/RitualRegistry.java | 2 +- src/main/java/WayofTime/bloodmagic/api/ritual/Ritual.java | 2 ++ .../bloodmagic/api/ritual/imperfect/ImperfectRitual.java | 2 ++ .../WayofTime/bloodmagic/api/util/helper/RitualHelper.java | 4 ++-- src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java | 5 ++++- .../bloodmagic/ritual/imperfect/ImperfectRitualNight.java | 6 ++++-- .../WayofTime/bloodmagic/tile/TileImperfectRitualStone.java | 2 +- 9 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/main/java/WayofTime/bloodmagic/ConfigHandler.java b/src/main/java/WayofTime/bloodmagic/ConfigHandler.java index 9ebc3394..730ed9b1 100644 --- a/src/main/java/WayofTime/bloodmagic/ConfigHandler.java +++ b/src/main/java/WayofTime/bloodmagic/ConfigHandler.java @@ -204,5 +204,6 @@ public class ConfigHandler { public static void checkRituals() { RitualHelper.checkImperfectRituals(config, "WayofTime.bloodmagic.ritual.imperfect", "Rituals.imperfect"); + config.save(); } } diff --git a/src/main/java/WayofTime/bloodmagic/api/registry/ImperfectRitualRegistry.java b/src/main/java/WayofTime/bloodmagic/api/registry/ImperfectRitualRegistry.java index c9fd47f8..d3dc594b 100644 --- a/src/main/java/WayofTime/bloodmagic/api/registry/ImperfectRitualRegistry.java +++ b/src/main/java/WayofTime/bloodmagic/api/registry/ImperfectRitualRegistry.java @@ -11,7 +11,7 @@ import java.util.ArrayList; public class ImperfectRitualRegistry { - private static final BiMap enabledRituals = HashBiMap.create(); + public static final BiMap enabledRituals = HashBiMap.create(); private static final BiMap registry = HashBiMap.create(); /** diff --git a/src/main/java/WayofTime/bloodmagic/api/registry/RitualRegistry.java b/src/main/java/WayofTime/bloodmagic/api/registry/RitualRegistry.java index e1033ba5..cff5bac0 100644 --- a/src/main/java/WayofTime/bloodmagic/api/registry/RitualRegistry.java +++ b/src/main/java/WayofTime/bloodmagic/api/registry/RitualRegistry.java @@ -9,7 +9,7 @@ import java.util.ArrayList; public class RitualRegistry { - private static final BiMap enabledRituals = HashBiMap.create(); + public static final BiMap enabledRituals = HashBiMap.create(); private static final BiMap registry = HashBiMap.create(); /** diff --git a/src/main/java/WayofTime/bloodmagic/api/ritual/Ritual.java b/src/main/java/WayofTime/bloodmagic/api/ritual/Ritual.java index e9bb14fc..c82806bf 100644 --- a/src/main/java/WayofTime/bloodmagic/api/ritual/Ritual.java +++ b/src/main/java/WayofTime/bloodmagic/api/ritual/Ritual.java @@ -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; diff --git a/src/main/java/WayofTime/bloodmagic/api/ritual/imperfect/ImperfectRitual.java b/src/main/java/WayofTime/bloodmagic/api/ritual/imperfect/ImperfectRitual.java index 45decc3f..e9bfd1a2 100644 --- a/src/main/java/WayofTime/bloodmagic/api/ritual/imperfect/ImperfectRitual.java +++ b/src/main/java/WayofTime/bloodmagic/api/ritual/imperfect/ImperfectRitual.java @@ -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; diff --git a/src/main/java/WayofTime/bloodmagic/api/util/helper/RitualHelper.java b/src/main/java/WayofTime/bloodmagic/api/util/helper/RitualHelper.java index cfab69bb..c00c6026 100644 --- a/src/main/java/WayofTime/bloodmagic/api/util/helper/RitualHelper.java +++ b/src/main/java/WayofTime/bloodmagic/api/util/helper/RitualHelper.java @@ -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); } /** diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java b/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java index faa3f307..7ae56caf 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java @@ -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() { diff --git a/src/main/java/WayofTime/bloodmagic/ritual/imperfect/ImperfectRitualNight.java b/src/main/java/WayofTime/bloodmagic/ritual/imperfect/ImperfectRitualNight.java index 7dea6df2..5a06dd2c 100644 --- a/src/main/java/WayofTime/bloodmagic/ritual/imperfect/ImperfectRitualNight.java +++ b/src/main/java/WayofTime/bloodmagic/ritual/imperfect/ImperfectRitualNight.java @@ -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; } } diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileImperfectRitualStone.java b/src/main/java/WayofTime/bloodmagic/tile/TileImperfectRitualStone.java index 33943f17..8b4b47fd 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TileImperfectRitualStone.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TileImperfectRitualStone.java @@ -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);