From ac5b51c1312e410b74bd4b191e972b423cc1366f Mon Sep 17 00:00:00 2001 From: Calclavia Date: Sat, 8 Mar 2014 23:01:31 -0800 Subject: [PATCH] Quantum gates now calculate frequency properly --- .../electrical/MultipartElectrical.java | 1 + .../quantum/gate/BlockQuantumGate.java | 2 +- .../quantum/gate/ItemQuantumGlyph.java | 2 +- .../quantum/gate/PartQuantumGlyph.java | 60 ++++++++++++++++-- .../quantum/gate/TraitFrequency.java | 42 ++++++++++++ .../textures/blocks/glyph_0.png | Bin 971 -> 3236 bytes .../textures/blocks/glyph_1.png | Bin 853 -> 3100 bytes .../textures/blocks/glyph_2.png | Bin 957 -> 3224 bytes .../textures/blocks/glyph_3.png | Bin 957 -> 3206 bytes 9 files changed, 100 insertions(+), 7 deletions(-) create mode 100644 electrical/src/main/java/resonantinduction/quantum/gate/TraitFrequency.java diff --git a/electrical/src/main/java/resonantinduction/electrical/MultipartElectrical.java b/electrical/src/main/java/resonantinduction/electrical/MultipartElectrical.java index e401bee4..398df472 100644 --- a/electrical/src/main/java/resonantinduction/electrical/MultipartElectrical.java +++ b/electrical/src/main/java/resonantinduction/electrical/MultipartElectrical.java @@ -24,6 +24,7 @@ public class MultipartElectrical implements IPartFactory { MultiPartRegistry.registerParts(this, PART_TYPES); MultipartGenerator.registerPassThroughInterface("universalelectricity.api.electricity.IVoltageOutput"); + MultipartGenerator.registerTrait("icbm.api.IBlockFrequency", "resonantinduction.quantum.gate.TraitFrequency"); MultipartGenerator.registerTrait("universalelectricity.api.energy.IConductor", "resonantinduction.electrical.wire.trait.TraitConductor"); MultipartGenerator.registerTrait("cofh.api.energy.IEnergyHandler", "resonantinduction.electrical.wire.trait.TraitEnergyHandler"); MultipartGenerator.registerTrait("ic2.api.energy.tile.IEnergySink", "resonantinduction.electrical.wire.trait.TraitEnergySink"); diff --git a/electrical/src/main/java/resonantinduction/quantum/gate/BlockQuantumGate.java b/electrical/src/main/java/resonantinduction/quantum/gate/BlockQuantumGate.java index 60adc798..edcb2564 100644 --- a/electrical/src/main/java/resonantinduction/quantum/gate/BlockQuantumGate.java +++ b/electrical/src/main/java/resonantinduction/quantum/gate/BlockQuantumGate.java @@ -74,7 +74,7 @@ public class BlockQuantumGate extends BlockTile @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int i, float f1, float f2, float f3) { - if (player != null && player.getHeldItem() == null || player.getHeldItem().itemID != (Electrical.blockGlyph.blockID)) + if (player != null && player.getHeldItem() == null) { TileEntity tile = world.getBlockTileEntity(x, y, z); diff --git a/electrical/src/main/java/resonantinduction/quantum/gate/ItemQuantumGlyph.java b/electrical/src/main/java/resonantinduction/quantum/gate/ItemQuantumGlyph.java index 40b6e563..47872f44 100644 --- a/electrical/src/main/java/resonantinduction/quantum/gate/ItemQuantumGlyph.java +++ b/electrical/src/main/java/resonantinduction/quantum/gate/ItemQuantumGlyph.java @@ -81,7 +81,7 @@ public class ItemQuantumGlyph extends JItemMultiPart implements IHighlight @Override public void getSubItems(int itemID, CreativeTabs tab, List listToAddTo) { - for (int i = 0; i < 4; i++) + for (int i = 0; i < PartQuantumGlyph.MAX_GLYPH; i++) { listToAddTo.add(new ItemStack(itemID, 1, i)); } diff --git a/electrical/src/main/java/resonantinduction/quantum/gate/PartQuantumGlyph.java b/electrical/src/main/java/resonantinduction/quantum/gate/PartQuantumGlyph.java index 6104447b..3dbf1063 100644 --- a/electrical/src/main/java/resonantinduction/quantum/gate/PartQuantumGlyph.java +++ b/electrical/src/main/java/resonantinduction/quantum/gate/PartQuantumGlyph.java @@ -1,16 +1,17 @@ package resonantinduction.quantum.gate; +import icbm.api.IBlockFrequency; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MovingObjectPosition; -import resonantinduction.core.Reference; +import resonantinduction.core.ResonantInduction; import resonantinduction.electrical.Electrical; -import calclavia.lib.render.RenderUtility; import codechicken.lib.data.MCDataInput; import codechicken.lib.data.MCDataOutput; import codechicken.lib.vec.Cuboid6; @@ -20,8 +21,9 @@ import codechicken.multipart.JNormalOcclusion; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class PartQuantumGlyph extends JCuboidPart implements JNormalOcclusion +public class PartQuantumGlyph extends JCuboidPart implements JNormalOcclusion, IBlockFrequency { + public static final int MAX_GLYPH = 4; static final Cuboid6[] bounds = new Cuboid6[8]; static @@ -46,6 +48,42 @@ public class PartQuantumGlyph extends JCuboidPart implements JNormalOcclusion this.number = (byte) itemDamage; } + @Override + public void update() + { + if (world().isRemote) + { + int frequency = ((IBlockFrequency) tile()).getFrequency(); + + if (frequency > 0) + { + // Spawn particle effects. + universalelectricity.api.vector.Vector3 center = new universalelectricity.api.vector.Vector3(x() + 0.5, y() + 0.5, z() + 0.5); + Electrical.proxy.renderElectricShock(world(), center, center.clone().translate(Math.random() * 1 - 0.5, Math.random() * 1 - 0.5, Math.random() * 1 - 0.5)); + } + } + } + + @Override + public boolean activate(EntityPlayer player, MovingObjectPosition hit, ItemStack itemStack) + { + if (!world().isRemote) + { + int frequency = ((IBlockFrequency) tile()).getFrequency(); + + if (frequency > -1) + { + player.addChatMessage("Quantum Gate Frequency: " + frequency); + } + else + { + player.addChatMessage("Quantum Gate not set up."); + } + } + + return true; + } + @Override public String getType() { @@ -77,7 +115,7 @@ public class PartQuantumGlyph extends JCuboidPart implements JNormalOcclusion protected ItemStack getItem() { - return new ItemStack(Electrical.itemQuantumGlyph); + return new ItemStack(Electrical.itemQuantumGlyph, 1, number); } @Override @@ -124,4 +162,16 @@ public class PartQuantumGlyph extends JCuboidPart implements JNormalOcclusion nbt.setByte("number", number); } + @Override + public int getFrequency() + { + return number; + } + + @Override + public void setFrequency(int frequency) + { + + } + } diff --git a/electrical/src/main/java/resonantinduction/quantum/gate/TraitFrequency.java b/electrical/src/main/java/resonantinduction/quantum/gate/TraitFrequency.java new file mode 100644 index 00000000..da270f24 --- /dev/null +++ b/electrical/src/main/java/resonantinduction/quantum/gate/TraitFrequency.java @@ -0,0 +1,42 @@ +package resonantinduction.quantum.gate; + +import icbm.api.IBlockFrequency; + +import java.util.Iterator; + +import net.minecraft.block.Block; +import scala.collection.Seq; +import universalelectricity.api.vector.Vector3; +import codechicken.multipart.TMultiPart; +import codechicken.multipart.TileMultipart; + +public class TraitFrequency extends TileMultipart implements IBlockFrequency +{ + @Override + public int getFrequency() + { + int frequency = 0; + + int i = 0; + + for (TMultiPart part : jPartList()) + { + if (part instanceof IBlockFrequency) + { + frequency += Math.pow(PartQuantumGlyph.MAX_GLYPH, i) * ((IBlockFrequency) part).getFrequency(); + i++; + } + } + if (i >= 8) + return frequency; + + return -1; + } + + @Override + public void setFrequency(int frequency) + { + + } + +} diff --git a/src/main/resources/assets/resonantinduction/textures/blocks/glyph_0.png b/src/main/resources/assets/resonantinduction/textures/blocks/glyph_0.png index 6f69cd5e1111410f283d91d69e69188329cb3d01..84ca11cb074026d611ddaaf46625d37e5304d3ae 100644 GIT binary patch delta 3215 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 B66XK_ delta 929 zcmV;S177^38OsNdBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks%j<02*{fSaefw zW^{L9a%BKeVQFr3E>1;MAa*k@H7+qRNAp5A0009zNkl;lH1z4a)b8VL0CCUXT`Z7XML(m4Wp}VUJu&uu2{KbJ=smRbcr#qzp3&Dw; zu<9-kF^AdF;^iP91w;)Ii1z@Exw}5?hfM8F0pha;!{KmiYil%r8nIR<*ZqEfb91ve z{Pw&72iSs)$76lK@&N1DL)_lpe%e46NHzOG3>oF&S4>eT0fdqk+r6tu0jX*b0m*dl zqL_Yn0#{~o3zXB(oyi$u9w7K?@g6CFT6aN-NLy#`)C+35a{P-DR7ckmL{Pl^0;k1K z8%WxKd??^Xv3pK`8!tW>3=Dwi2%Lb|Gk)ddmKHA>?)tP7xFHaEYdSGCfH1tuqo396 zngFeVmvCrJb%5|nDL|D&k%XwP87pso!{ zfgO=vU!BQ7b$lBW0NN!OrT_~7;T8aqPOb)M##;C4_08(tM`8dgI?zXVt-xG>zXnbi z5ch@n)uc3kGKtOaPMuXBftyKffVI~Lh};e%o}xOazm5)6y}I&aCxADsrk4;i^r_$B z&YiUlunri27e68|h*7!oL9g<~IlBN6boM_*0N{Q&xTXM@0iFPecrgJ8FI)g~z)?5= znuvM`eHN@zfN4$_8}|T>_4_t%;gco^Dc{Z!FDvqVV-i+H)?TmYRvTaqg2yxheF2eS z8N>jUB@+O6?j9W7POU-cuILgK8s{d^=>LnyzeV0JXN|5Ptf8a;7%o876T&UUxVXgK ze03KdVhYe*pnAxab9QPf_o0Bt=<*n)h%yB{AiCXuS|z1LQfzve00000NkvXXu0mjf D5B{Wv diff --git a/src/main/resources/assets/resonantinduction/textures/blocks/glyph_1.png b/src/main/resources/assets/resonantinduction/textures/blocks/glyph_1.png index b7387d6f7a387e7224dcc767165a42b9f9d90ec0..9bfd32dc65cb4fef842de97653c48062339e9968 100644 GIT binary patch delta 3077 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 diff --git a/src/main/resources/assets/resonantinduction/textures/blocks/glyph_2.png b/src/main/resources/assets/resonantinduction/textures/blocks/glyph_2.png index 5b34119f5e86ecc621b4fc8b7d1f897173f8a22a..cd5fac5eb36ad7db5bb290671d536c4e37d127f8 100644 GIT binary patch delta 3202 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 diff --git a/src/main/resources/assets/resonantinduction/textures/blocks/glyph_3.png b/src/main/resources/assets/resonantinduction/textures/blocks/glyph_3.png index 5b34119f5e86ecc621b4fc8b7d1f897173f8a22a..146dbac6f10233e178e6fe6b7c0333ad43da8d9e 100644 GIT binary patch delta 3184 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