From ddb75428274f94184048fc198ec1ecb988e9ca52 Mon Sep 17 00:00:00 2001 From: Nicholas Ignoffo Date: Mon, 13 Feb 2017 16:21:54 -0800 Subject: [PATCH] Implement an inverted MRS that requires an RS signal to function (#1022) --- .../bloodmagic/block/BlockRitualController.java | 14 +++++++++----- .../block/enums/EnumRitualController.java | 4 +++- .../provider/DataProviderRitualController.java | 6 ++++-- .../WayofTime/bloodmagic/registry/ModRecipes.java | 2 ++ .../bloodmagic/tile/TileMasterRitualStone.java | 14 ++++++++++++-- .../blockstates/BlockRitualController.json | 5 +++++ .../resources/assets/bloodmagic/lang/en_US.lang | 1 + .../blocks/MasterRitualStone_Inverted.png | Bin 0 -> 724 bytes 8 files changed, 36 insertions(+), 10 deletions(-) create mode 100644 src/main/resources/assets/bloodmagic/textures/blocks/MasterRitualStone_Inverted.png diff --git a/src/main/java/WayofTime/bloodmagic/block/BlockRitualController.java b/src/main/java/WayofTime/bloodmagic/block/BlockRitualController.java index 86509cd7..2b2c0d80 100644 --- a/src/main/java/WayofTime/bloodmagic/block/BlockRitualController.java +++ b/src/main/java/WayofTime/bloodmagic/block/BlockRitualController.java @@ -59,7 +59,7 @@ public class BlockRitualController extends BlockEnumContainer currentActiveWillConfig = new ArrayList(); @@ -55,7 +57,7 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS if (getWorld().isRemote) return; - if (getWorld().isBlockPowered(getPos()) && isActive()) + if (isPowered() && isActive()) { active = false; redstoned = true; @@ -63,7 +65,7 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS return; } - if (!isActive() && !getWorld().isBlockPowered(getPos()) && isRedstoned() && getCurrentRitual() != null) + if (!isActive() && !isPowered() && isRedstoned() && getCurrentRitual() != null) { active = true; ItemStack crystalStack = NBTHelper.checkNBT(new ItemStack(ModItems.ACTIVATION_CRYSTAL, 1, getCurrentRitual().getCrystalLevel())); @@ -405,4 +407,12 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS ChatUtil.sendNoSpam(player, new TextComponentTranslation("ritual.BloodMagic.willConfig.void")); } } + + public boolean isPowered() + { + if (inverted) + return !getWorld().isBlockPowered(getPos()); + + return getWorld().isBlockPowered(getPos()); + } } diff --git a/src/main/resources/assets/bloodmagic/blockstates/BlockRitualController.json b/src/main/resources/assets/bloodmagic/blockstates/BlockRitualController.json index 784afa96..1b8b489e 100644 --- a/src/main/resources/assets/bloodmagic/blockstates/BlockRitualController.json +++ b/src/main/resources/assets/bloodmagic/blockstates/BlockRitualController.json @@ -16,6 +16,11 @@ "textures": { "all": "bloodmagic:blocks/ImperfectRitualStone" } + }, + "inverted": { + "textures": { + "all": "bloodmagic:blocks/MasterRitualStone_Inverted" + } } } } diff --git a/src/main/resources/assets/bloodmagic/lang/en_US.lang b/src/main/resources/assets/bloodmagic/lang/en_US.lang index dc5012a0..5c3409ad 100644 --- a/src/main/resources/assets/bloodmagic/lang/en_US.lang +++ b/src/main/resources/assets/bloodmagic/lang/en_US.lang @@ -198,6 +198,7 @@ tile.BloodMagic.fluid.lifeEssence.name=Life Essence tile.BloodMagic.stone.ritual.master.name=Master Ritual Stone tile.BloodMagic.stone.ritual.imperfect.name=Imperfect Ritual Stone +tile.BloodMagic.stone.ritual.inverted.name=Inverted Master Ritual Stone tile.BloodMagic.altar.name=Blood Altar tile.BloodMagic.alchemyArray.name=&r&fAlchemy Array diff --git a/src/main/resources/assets/bloodmagic/textures/blocks/MasterRitualStone_Inverted.png b/src/main/resources/assets/bloodmagic/textures/blocks/MasterRitualStone_Inverted.png new file mode 100644 index 0000000000000000000000000000000000000000..9ba93d8b8bbf23394f1c72ef43134b7804402b8b GIT binary patch literal 724 zcmV;_0xSKAP)8=17)8%FKm3=dwKtaSA`7HRfHbLt0D6ZY@3wEXNE5h9k;2~CvQ1KyL~_WPNulf$ zT%3E)mECR^0Yo5#h=?EpF+vCd5dk713WzAB03n0`fC2da?vA_dmSuLFPDixXY`3>8 z%Z!Mk?|a5^z&Qt^sH%#`f1i1Nd&9&S`T3_G`SSTQ)>zD@rm8BMFMlEmPNy?vS>n9s zaOlar=Ve*=;g8?hHw{K9#lyn`Ns{uM@Vc!XASf0@YXOnM?&Q67v^QgRwYUs#0OFl#${od9UzzxJY`iNn+?y_qO%NR z49hYTiLBRa#?f(ebHl6Ag!36ajI?b>2mvLcSg&iWb6j10pss7QRv3hAtX32;l4S-FP!KtE9m~96j3tD?@pxjDdaCh%gQVT5Gzl$NPX%N>P;+ zcA5ZTY&$X{Z(pAH%=h z;gSS^@cu*ulGGw17!l#@X42n&CC_tKtD4j4$T*H*48~dx`xnZhr0qKD^@{uZd%o^p z5mCr)w~O9;wARGfIA}A$<5Ybu@BWSG%A@U!J4Pmw=8q)y)0000