From 500eca7ea62c9fafd7f038a4baedfca887424cc4 Mon Sep 17 00:00:00 2001 From: Calclavia Date: Tue, 25 Feb 2014 20:23:09 +0800 Subject: [PATCH] Some filter and wire IC2 compatibility fixes --- .../electrical/wire/ItemWire.java | 3 +- .../electrical/wire/PartConductor.java | 4 +- .../wire/framed/PartFramedWire.java | 70 ++++++++++++++++++ .../wire/trait/TraitEnergySink.java | 36 +++++---- .../mechanical/process/BlockFilter.java | 2 +- .../textures/blocks/glyph_3.png | Bin 0 -> 957 bytes 6 files changed, 98 insertions(+), 17 deletions(-) create mode 100644 src/main/resources/assets/resonantinduction/textures/blocks/glyph_3.png diff --git a/electrical/src/main/java/resonantinduction/electrical/wire/ItemWire.java b/electrical/src/main/java/resonantinduction/electrical/wire/ItemWire.java index 5bfa374f..65d0fc0f 100644 --- a/electrical/src/main/java/resonantinduction/electrical/wire/ItemWire.java +++ b/electrical/src/main/java/resonantinduction/electrical/wire/ItemWire.java @@ -27,6 +27,7 @@ import calclavia.lib.render.EnumColor; import calclavia.lib.utility.LanguageUtility; import codechicken.lib.vec.BlockCoord; import codechicken.lib.vec.Vector3; +import codechicken.multipart.ControlKeyModifer; import codechicken.multipart.JItemMultiPart; import codechicken.multipart.MultiPartRegistry; import codechicken.multipart.TMultiPart; @@ -55,7 +56,7 @@ public class ItemWire extends JItemMultiPart { BlockCoord onPos = pos.copy().offset(side ^ 1); - if (player.isSneaking()) + if (player.isSneaking() && !ControlKeyModifer.isControlDown(player)) { PartFramedWire wire = (PartFramedWire) MultiPartRegistry.createPart("resonant_induction_wire", false); diff --git a/electrical/src/main/java/resonantinduction/electrical/wire/PartConductor.java b/electrical/src/main/java/resonantinduction/electrical/wire/PartConductor.java index 36c3e123..5dcaa71b 100644 --- a/electrical/src/main/java/resonantinduction/electrical/wire/PartConductor.java +++ b/electrical/src/main/java/resonantinduction/electrical/wire/PartConductor.java @@ -124,7 +124,7 @@ public abstract class PartConductor extends PartAdvanced implements IConductor { TMultiPart part = tile().partMap(i); - if (part instanceof IEnergyTile) + if (part instanceof IEnergyTile && part != this) { foundAnotherPart = true; break; @@ -154,7 +154,7 @@ public abstract class PartConductor extends PartAdvanced implements IConductor { TMultiPart part = tile().partMap(i); - if (part instanceof IEnergyTile) + if (part instanceof IEnergyTile && part != this) { foundAnotherPart = true; break; diff --git a/electrical/src/main/java/resonantinduction/electrical/wire/framed/PartFramedWire.java b/electrical/src/main/java/resonantinduction/electrical/wire/framed/PartFramedWire.java index b4162ba8..e571a309 100644 --- a/electrical/src/main/java/resonantinduction/electrical/wire/framed/PartFramedWire.java +++ b/electrical/src/main/java/resonantinduction/electrical/wire/framed/PartFramedWire.java @@ -1,5 +1,9 @@ package resonantinduction.electrical.wire.framed; +import ic2.api.energy.event.EnergyTileLoadEvent; +import ic2.api.energy.event.EnergyTileUnloadEvent; +import ic2.api.energy.tile.IEnergyTile; + import java.util.Collection; import java.util.HashSet; import java.util.Set; @@ -13,11 +17,13 @@ import net.minecraft.util.Icon; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.MinecraftForge; import resonantinduction.core.prefab.part.PartFramedConnection; import resonantinduction.electrical.Electrical; import resonantinduction.electrical.wire.EnumWireMaterial; import resonantinduction.electrical.wire.PartAdvancedWire; import universalelectricity.api.CompatibilityModule; +import universalelectricity.api.UniversalClass; import universalelectricity.api.energy.EnergyNetworkLoader; import universalelectricity.api.energy.IConductor; import universalelectricity.api.energy.IEnergyNetwork; @@ -34,12 +40,14 @@ import codechicken.multipart.JIconHitEffects; import codechicken.multipart.JNormalOcclusion; import codechicken.multipart.MultiPartRegistry; import codechicken.multipart.PartMap; +import codechicken.multipart.TMultiPart; import codechicken.multipart.TSlottedPart; import codechicken.multipart.TileMultipart; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +@UniversalClass public class PartFramedWire extends PartFramedConnection implements IConductor, TSlottedPart, JNormalOcclusion, IHollowConnect, JIconHitEffects { public PartFramedWire() @@ -66,6 +74,68 @@ public class PartFramedWire extends PartFramedConnectionPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qRNAp5A0009lNklbZ!|Xpx^J`+XPCl*BcB55Nb`(3RdH3oHH-io)Eq8m)mgILf}$@Y6g32G01LWXRe)pVkedewE=5zJagH-Z zfQ?{BO{ludQ>*!)d1uws@NPTrtE(c*7Ct$>brn^4v4O|e2yftIEo5UHPe7wXFLIA|e(Q*hc zt*H(WUMT`p*_26$_!0mfek;ev>-p!Up9cZ>LJVdnZ@>t%m=^nMM1YMkR>b}DHGjAp zgWa>UB^6`R8!|w5t-wZrzXo;~;B#}{+QKMF2=Ijkp0ErQECfS5KcUs|Ya7+vUOyz+idb#w~r~ z1}W9cHS%Rey-h+@q;|Vqm)Zb(kUVcA(6^8own+?7*>M8^uicZQJE=8D-HI+zVQ}LH z8vTFp{NJLUms4{p2{n}nfZ+mE-6333%!5l@t*fi>6eB=)f$AnJ`<&EN?n42$G37Q| fk!=LrB08Nbc@em3p|3PO00000NkvXXu0mjf&vuvN literal 0 HcmV?d00001