From 3942bce8215e21a71956db4d26d26082f9f84a35 Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Mon, 11 Nov 2024 16:28:20 +0200 Subject: [PATCH 01/18] add --- .../resources/assets/ae2stuff/lang/en_US.lang | 1 + .../bdew/ae2stuff/items/AdvWirelessKit.scala | 8 +- .../bdew/ae2stuff/items/ItemWirelessKit.scala | 8 +- .../machines/wireless/BlockWireless.scala | 28 ++++-- .../machines/wireless/TileWireless.scala | 99 +++++++++++++++---- .../waila/WailaWirelessDataProvider.scala | 26 +++++ 6 files changed, 141 insertions(+), 29 deletions(-) diff --git a/src/main/resources/assets/ae2stuff/lang/en_US.lang b/src/main/resources/assets/ae2stuff/lang/en_US.lang index e6b0faf..1b72577 100644 --- a/src/main/resources/assets/ae2stuff/lang/en_US.lang +++ b/src/main/resources/assets/ae2stuff/lang/en_US.lang @@ -2,6 +2,7 @@ tile.ae2stuff.Encoder.name=Pattern Encoder tile.ae2stuff.Grower.name=Crystal Growth Chamber tile.ae2stuff.Inscriber.name=Advanced Inscriber tile.ae2stuff.Wireless.name=Wireless Connector +tile.ae2stuff.WirelessHub.name=Hub item.ae2stuff.WirelessKit.name=Wireless Setup Kit item.ae2stuff.AdvWirelessKit.name=Advanced Wireless Setup Kit diff --git a/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala b/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala index 6037788..840389b 100644 --- a/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala +++ b/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala @@ -155,10 +155,14 @@ object AdvWirelessKit Color.RED ) ) + } else if (tile.isHub && other.isHub) { + player.addChatMessage( + L("ae2stuff.wireless.tool.failed").setColor(Color.RED) + ) } else { // Player can modify both sides - unlink current connections if any - tile.doUnlink() - other.doUnlink() + if (!tile.isHub) tile.doUnlink() + if (!other.isHub) other.doUnlink() // Make player the owner of both blocks tile.getNode.setPlayerID(pid) diff --git a/src/main/scala/net/bdew/ae2stuff/items/ItemWirelessKit.scala b/src/main/scala/net/bdew/ae2stuff/items/ItemWirelessKit.scala index bedfc32..728f853 100644 --- a/src/main/scala/net/bdew/ae2stuff/items/ItemWirelessKit.scala +++ b/src/main/scala/net/bdew/ae2stuff/items/ItemWirelessKit.scala @@ -100,10 +100,14 @@ object ItemWirelessKit Color.RED ) ) + } else if (tile.isHub && other.isHub) { + player.addChatMessage( + L("ae2stuff.wireless.tool.failed").setColor(Color.RED) + ) } else { // Player can modify both sides - unlink current connections if any - tile.doUnlink() - other.doUnlink() + if (!tile.isHub) tile.doUnlink() + if (!other.isHub) other.doUnlink() // Make player the owner of both blocks tile.getNode.setPlayerID(pid) diff --git a/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala b/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala index 6cd09c4..fed77e9 100644 --- a/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala +++ b/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala @@ -49,7 +49,9 @@ object BlockWireless ): util.ArrayList[ItemStack] = { val stack = new ItemStack(this) val te = getTE(world, x, y, z) - if (te.color != AEColor.Transparent) { + if (te.isHub) { + stack.setItemDamage(17) + } else if (te.color != AEColor.Transparent) { stack.setItemDamage(te.color.ordinal() + 1) } val drops = new util.ArrayList[ItemStack]() @@ -62,7 +64,7 @@ object BlockWireless tab: CreativeTabs, list: util.List[_] ): Unit = { - for (meta <- 0 to 16) { + for (meta <- 0 to 17) { list .asInstanceOf[util.List[ItemStack]] .add(new ItemStack(itemIn, 1, meta)) @@ -79,7 +81,9 @@ object BlockWireless ): ItemStack = { val stack = new ItemStack(this) val te = getTE(world, x, y, z) - if (te.color != AEColor.Transparent) { + if (te.isHub) { + stack.setItemDamage(17) + } else if (te.color != AEColor.Transparent) { stack.setItemDamage(te.color.ordinal() + 1) } stack @@ -110,11 +114,14 @@ object BlockWireless te.placingPlayer = player.asInstanceOf[EntityPlayer] } if (stack != null) { + val itemDamage = stack.getItemDamage if (stack.hasDisplayName) { te.customName = stack.getDisplayName } - if (stack.getItemDamage > 0) { - te.color = AEColor.values().apply(stack.getItemDamage - 1) + if (itemDamage == 17) { + te.isHub = true; + } else if (itemDamage > 0) { + te.color = AEColor.values().apply(itemDamage - 1) } } } @@ -204,12 +211,19 @@ class ItemBlockWireless(b: Block) extends ItemBlockTooltip(b) { advanced: Boolean ): Unit = { super.addInformation(stack, player, list, advanced) - if (stack.getItemDamage > 0) { + val itemDamage = stack.getItemDamage + if (itemDamage == 17) { + list + .asInstanceOf[util.List[String]] + .add( + Misc.toLocal("tile.ae2stuff.WirelessHub.name") + ) + } else if (itemDamage > 0) { list .asInstanceOf[util.List[String]] .add( Misc.toLocal( - AEColor.values().apply(stack.getItemDamage - 1).unlocalizedName + AEColor.values().apply(itemDamage - 1).unlocalizedName ) ) } diff --git a/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala b/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala index ed9500f..9513a67 100644 --- a/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala +++ b/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala @@ -21,7 +21,6 @@ import net.bdew.ae2stuff.grid.{GridTile, VariableIdlePower} import net.bdew.lib.block.BlockRef import net.bdew.lib.data.base.{TileDataSlots, UpdateKind} import net.bdew.lib.multiblock.data.DataSlotPos -import net.bdew.lib.nbt.NBT import net.minecraft.block.Block import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -47,6 +46,9 @@ class TileWireless var customName: String = null var color: AEColor = AEColor.Transparent + var isHub = false + var toHub = false + var connectionsList = Array[TileWireless]() def isLinked = link.isDefined def getLink = link flatMap (_.getTile[TileWireless](worldObj)) @@ -56,6 +58,11 @@ class TileWireless if (connection == null && link.isDefined) { try { setupConnection() + if (toHub) { + getLink foreach { other => + other.connectionsList = other.connectionsList :+ this + } + } } catch { case t: Throwable => AE2Stuff.logWarnException( @@ -71,19 +78,38 @@ class TileWireless }) def doLink(other: TileWireless): Boolean = { - if (other.link.isEmpty) { + if (other.link.isEmpty && !(isHub || other.isHub)) { other.link.set(myPos) this.customName = other.customName link.set(other.myPos) setupConnection() + true + } else if (isHub) { + other.toHub = true + other.link.set(myPos) + other.customName = this.customName + other.setupConnection() + true + } else if (other.isHub) { + toHub = true + link.set(other.myPos) + customName = other.customName + setupConnection() + true } else false } def doUnlink(): Unit = { - breakConnection() - getLink foreach { that => - this.link := None - that.link := None + if (isHub) { + connectionsList foreach { that => + that.doUnlink() + } + } else { + breakConnection() + getLink foreach { that => + this.link := None + that.link := None + } } } @@ -91,7 +117,7 @@ class TileWireless getLink foreach { that => connection = AEApi.instance().createGridConnection(this.getNode, that.getNode) - that.connection = connection + if (!that.isHub) that.connection = connection val dx = this.xCoord - that.xCoord val dy = this.yCoord - that.yCoord val dz = this.zCoord - that.zCoord @@ -101,7 +127,7 @@ class TileWireless dist * dist + 3 ) this.setIdlePowerUse(power) - that.setIdlePowerUse(power) + if (!that.isHub) that.setIdlePowerUse(power) if (worldObj.blockExists(xCoord, yCoord, zCoord)) worldObj.setBlockMetadataWithNotify( this.xCoord, @@ -123,23 +149,50 @@ class TileWireless false } + def getHubChannels: Int = { + var channels = 0 + connectionsList foreach { that => + channels += that.connection.getUsedChannels + } + channels + } + def breakConnection(): Unit = { if (connection != null) connection.destroy() connection = null - setIdlePowerUse(0d) getLink foreach { other => - other.connection = null - other.setIdlePowerUse(0d) - if (worldObj.blockExists(other.xCoord, other.yCoord, other.zCoord)) - worldObj.setBlockMetadataWithNotify( - other.xCoord, - other.yCoord, - other.zCoord, - 0, - 3 + if (other.isHub) { + toHub = false + other.connectionsList = other.connectionsList.filterNot(_ == this) + if ( + other.connectionsList.isEmpty && worldObj.blockExists( + other.xCoord, + other.yCoord, + other.zCoord + ) ) + worldObj.setBlockMetadataWithNotify( + other.xCoord, + other.yCoord, + other.zCoord, + 0, + 3 + ) + } else { + other.connection = null + other.setIdlePowerUse(0d) + if (worldObj.blockExists(other.xCoord, other.yCoord, other.zCoord)) + worldObj.setBlockMetadataWithNotify( + other.xCoord, + other.yCoord, + other.zCoord, + 0, + 3 + ) + } } + setIdlePowerUse(0d) if (worldObj.blockExists(xCoord, yCoord, zCoord)) worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 0, 3) } @@ -166,6 +219,8 @@ class TileWireless t.setString("CustomName", customName) } t.setShort("Color", color.ordinal().toShort) + t.setBoolean("isHub", isHub) + t.setBoolean("toHub", toHub) } override def doLoad(kind: UpdateKind.Value, t: NBTTagCompound): Unit = { @@ -176,7 +231,15 @@ class TileWireless if (!t.hasKey("Color")) { t.setShort("Color", AEColor.Transparent.ordinal().toShort) } + if (!t.hasKey("isHub")) { + t.setBoolean("isHub", isHub) + } + if (!t.hasKey("toHub")) { + t.setBoolean("toHub", toHub) + } val colorIdx = t.getShort("Color").toInt + this.isHub = t.getBoolean("isHub") + this.toHub = t.getBoolean("toHub") this.color = AEColor.values().apply(colorIdx) if (hasWorldObj) { worldObj.markBlockRangeForRenderUpdate( diff --git a/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala b/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala index 30c517b..955f272 100644 --- a/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala +++ b/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala @@ -49,6 +49,15 @@ object WailaWirelessDataProvider data.setString("name", te.customName) } tag.setTag("wireless_waila", data) + } else if (te.isHub) { + val data = NBT( + "channels" -> te.getHubChannels, + "color" -> te.color.ordinal() + ) + if (te.hasCustomName) { + data.setString("name", te.customName) + } + tag.setTag("wirelesshub_waila", data) } else { val data = NBT( "connected" -> false, @@ -101,6 +110,23 @@ object WailaWirelessDataProvider Misc.toLocal(AEColor.values().apply(color).unlocalizedName) :: Nil } else Nil) } + } else if (acc.getNBTData.hasKey("wirelesshub_waila")) { + val data = acc.getNBTData.getCompoundTag("wirelesshub_waila") + val name = if (data.hasKey("name")) data.getString("name") else null + val color = data.getInteger("color") + List( + Misc.toLocalF("tile.ae2stuff.WirelessHub.name"), + Misc.toLocalF( + "ae2stuff.waila.wireless.channels", + data.getInteger("channels") + ) + ) + .++(if (name != null) { + Misc.toLocalF("ae2stuff.waila.wireless.name", name) :: Nil + } else Nil) + .++(if (color != AEColor.Transparent.ordinal()) { + Misc.toLocal(AEColor.values().apply(color).unlocalizedName) :: Nil + } else Nil) } else List.empty } } From a9b20f4d85b8671800f5604e25900ec73cb85bd9 Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Mon, 11 Nov 2024 16:31:55 +0200 Subject: [PATCH 02/18] move --- .../net/bdew/ae2stuff/machines/wireless/TileWireless.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala b/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala index 9513a67..ee4db99 100644 --- a/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala +++ b/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala @@ -161,6 +161,7 @@ class TileWireless if (connection != null) connection.destroy() connection = null + setIdlePowerUse(0d) getLink foreach { other => if (other.isHub) { toHub = false @@ -192,7 +193,6 @@ class TileWireless ) } } - setIdlePowerUse(0d) if (worldObj.blockExists(xCoord, yCoord, zCoord)) worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 0, 3) } From 93145166489a824784a91827b5bcf023531c84e5 Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Mon, 11 Nov 2024 17:35:22 +0200 Subject: [PATCH 03/18] move --- .../machines/wireless/TileWireless.scala | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala b/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala index ee4db99..4ab14c3 100644 --- a/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala +++ b/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala @@ -47,7 +47,6 @@ class TileWireless var customName: String = null var color: AEColor = AEColor.Transparent var isHub = false - var toHub = false var connectionsList = Array[TileWireless]() def isLinked = link.isDefined def getLink = link flatMap (_.getTile[TileWireless](worldObj)) @@ -58,11 +57,6 @@ class TileWireless if (connection == null && link.isDefined) { try { setupConnection() - if (toHub) { - getLink foreach { other => - other.connectionsList = other.connectionsList :+ this - } - } } catch { case t: Throwable => AE2Stuff.logWarnException( @@ -85,13 +79,11 @@ class TileWireless setupConnection() true } else if (isHub) { - other.toHub = true other.link.set(myPos) other.customName = this.customName other.setupConnection() true } else if (other.isHub) { - toHub = true link.set(other.myPos) customName = other.customName setupConnection() @@ -117,7 +109,11 @@ class TileWireless getLink foreach { that => connection = AEApi.instance().createGridConnection(this.getNode, that.getNode) - if (!that.isHub) that.connection = connection + if (that.isHub) { + that.connectionsList = that.connectionsList :+ this + } else { + that.connection = connection + } val dx = this.xCoord - that.xCoord val dy = this.yCoord - that.yCoord val dz = this.zCoord - that.zCoord @@ -164,7 +160,6 @@ class TileWireless setIdlePowerUse(0d) getLink foreach { other => if (other.isHub) { - toHub = false other.connectionsList = other.connectionsList.filterNot(_ == this) if ( other.connectionsList.isEmpty && worldObj.blockExists( @@ -220,7 +215,6 @@ class TileWireless } t.setShort("Color", color.ordinal().toShort) t.setBoolean("isHub", isHub) - t.setBoolean("toHub", toHub) } override def doLoad(kind: UpdateKind.Value, t: NBTTagCompound): Unit = { @@ -234,12 +228,8 @@ class TileWireless if (!t.hasKey("isHub")) { t.setBoolean("isHub", isHub) } - if (!t.hasKey("toHub")) { - t.setBoolean("toHub", toHub) - } val colorIdx = t.getShort("Color").toInt this.isHub = t.getBoolean("isHub") - this.toHub = t.getBoolean("toHub") this.color = AEColor.values().apply(colorIdx) if (hasWorldObj) { worldObj.markBlockRangeForRenderUpdate( From 931e70d758cde91193010a194e619e1ead14d32a Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Fri, 6 Dec 2024 12:17:02 +0200 Subject: [PATCH 04/18] custom texture + color pickup --- .../textures/blocks/wireless/side_off.png | Bin 432 -> 0 bytes .../textures/blocks/wireless/side_off17.png | Bin 447 -> 432 bytes .../textures/blocks/wireless/side_off18.png | Bin 0 -> 442 bytes .../textures/blocks/wireless/side_off19.png | Bin 0 -> 442 bytes .../textures/blocks/wireless/side_off20.png | Bin 0 -> 443 bytes .../textures/blocks/wireless/side_off21.png | Bin 0 -> 450 bytes .../textures/blocks/wireless/side_off22.png | Bin 0 -> 435 bytes .../textures/blocks/wireless/side_off23.png | Bin 0 -> 431 bytes .../textures/blocks/wireless/side_off24.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_off25.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_off26.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_off27.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_off28.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_off29.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_off30.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_off31.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_off32.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_off33.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_off34.png | Bin 0 -> 441 bytes .../textures/blocks/wireless/side_on18.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on19.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on20.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on21.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on22.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on23.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on24.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on25.png | Bin 0 -> 486 bytes .../textures/blocks/wireless/side_on26.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on27.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on28.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on29.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on30.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on31.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on32.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on33.png | Bin 0 -> 483 bytes .../textures/blocks/wireless/side_on34.png | Bin 0 -> 484 bytes .../scala/net/bdew/ae2stuff/Recipes.scala | 126 +++++++++++++++++- .../machines/wireless/BlockWireless.scala | 53 ++++++-- 38 files changed, 168 insertions(+), 11 deletions(-) delete mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off18.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off19.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off20.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off21.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off22.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off23.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off24.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off25.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off26.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off27.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off28.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off29.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off30.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off31.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off32.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off33.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off34.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on18.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on19.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on20.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on21.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on22.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on23.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on24.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on25.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on26.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on27.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on28.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on29.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on30.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on31.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on32.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on33.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on34.png diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off.png deleted file mode 100644 index 39f40ab66a255aa8284b066686661a347a323d26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmV;h0Z;ykP)Px$YDq*vR5*>Tld(?1P!xv0-dns4p+SM*Ky=ek2Q~3=@C9T*T>20!A_KmFJ`Rh6 zCc0@DBvx%|NNdv8p|sKgl;}y$aBu$q{QtT49PQxnAO`ph0#=DNr2xF8Kq6}`NmT3K>TSXfzrCRMtyrsRjCljGS`xbgOLJUU`|;ltTOK aI)4FKv8q#_n)e3)0000-BYyw^b5ch_0Itp)=>Px$YDq*vR5*>Tld(?1P!xv0-dns4p+SM* zKy=ek2Q~3=@C9T*T>20!A_KmFJ`Rh6Cc0@DBvx%|NNdv8p|sKgl;}y$aBu$q{QtT4 z9PQxnAO`ph0#=DNr2xMNdkx@<0v2s11jsKjHAz2 z6;k0$9+xUt>)W}r4qzAtK%xw6ZXFQ@9z^l1vW8S9&rhQnCi>=BRx{RwB=CJ)Pw+B% zpjO|dY=$`{*MF0|Ozx@GcPN_?$}otd5CLSbo%K9Zb{q%CadLMlCgq5w4gVtkr-kEI zi+Mj%nYf~a`beoY};OWnbwp-`|CP?0a>xCQxKn;_Xhv~002ovPDHLkV1g2C Bv#J09 delta 422 zcmV;X0a^aA1HS{1BYy#gNkl{jOcE5bAXRDWfq&$8UPDm zcV`!XyW1NY&Jy){or}v$_V@MxI5|CKyVqkp9`hEz;;nB0aDR4whVZ;jesFL|zu%v! z1K;;KK0Ycs7z_pgyo7H^r4dp?M&SUm@H|V&CMnC!MuoAySCvZBYIXovwHFM=$7BS+ zFuXV77JzNr00lGf{2uTWK0uaFD+`o%SebXHIoTJ+^E$bZiZn@xV#!vk%hm9PMQ36# zMX_S5wZYZ!ntw$nL)$iaHbDZ_w5vZ)nS&r82m&Kk=9C!8Kg}w2Hp)o>fa|*7CM=Ac z5+eb&d%f!MF&Uw>Lli5bNERL|ly(XwrUgoj1&|~OQ0NS>GVijwwDzlvMNX~47<-US zQikC@LTaAEzZVH=<_y~HHUP`b2BsW8tyY0cj8$Hh?;ra!AJd%Hi2t7RC&j>~@z>A> QegFUf07*qoM6N<$f}$|KZ2$lO diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off18.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off18.png new file mode 100644 index 0000000000000000000000000000000000000000..efec65d48a667d23dd9b9baa6068144936b943bd GIT binary patch literal 442 zcmV;r0Y(0aP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L0Z&OpK~y+Tt&=@Y z!$1&)pPhg$6U0vy$rm6Lgfk%b6qKQ%OoT#catJqs2qh&ADN<0-TO5J{PGHFuL?W_m zq}ce4*(gAygr86H?#}GIS?}(wR^6|r$asrmc1yEr7}86EM!g}%)8hk5>szoa3paxS z&YDf}Uv|4VuGJ8RA;zySsO;{Ezt`_Ut5kNxy$(+U+(voeLCc_`WaB=g}B? z!GNY4I66EKpW^oJ9%&LInZ(%MEKN1Kv>#A>T0i+FCiHQRF|$Yl(=^54%0UpwcpjW% z44Gh+P%%m) z38HLu!h0^4%QBt^=NLnjMhZ#6BDv~cFDxWrC3j{>0^7F5V1?x*vd>vI*4R>*id>~$p8QV literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off19.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off19.png new file mode 100644 index 0000000000000000000000000000000000000000..df8add265cb53ecfbfa4370a9a480631e3a9038b GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85qP=L734qNaX`igTJSXV~BJ zUQ2KVdoz20kAS%?i}XZ|Du&MT4=j4U+_5|I?nta{;+=Zo)c2AtroAic>rSRTt9^g| z%$_qDPrWP;&6uw6V9HF*!xJL8u58OniiwX^il5P(8fo#eY-8~H?tS<3k{3s{zW@E= zyIeq2r0Cw_D~(}Vy6(Nl^k$u1))84K!@l;KT#3}W*IgCwzdrohR#9_pAa7Qy>`b0rW!A-6TSb<-(I-* d|Btzi;hVJP2@2USG6se>gQu&X%Q~loCIDl8w=nPx#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L0Z>UqK~y+Tt&>eo z!ax+q|812v6%g3=0@j7NGpvn?iQE7$APdAz57CXt0xuvp=)#R_;?{+ppj$w|riIYj z_i&J!#?+5rGI{epXXed}R6VRlh?xfgiOl3wl_eKwUNl*Gd458^P=>DSxa;?E*=n)< zrrX7NqXEzJFq@8G?jNwdciV$xntM^ZeFfXL*_ai}ve4;VLng&_T{aHKGmNJTmbFPO zF<#%~wT}=vTtFZzDvrx_oXIC2mQPNXN9?1RO}K!jX{<=HirjF*^EAj8E?3Q7=THwM zSwZ0YywxlWiUX)|fhb(Ab|AX_6=&h_NJHc#dhi?m=Lqyjh+UA)j+|kd1s4Lx`L$ l@vG=<|MW9a?jOH1@D9^Op(}vhyN3V(002ovPDHLkV1n;7x+?$x literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off21.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off21.png new file mode 100644 index 0000000000000000000000000000000000000000..fc72ae1b61cd60bb3f2b3d578b413838d411eb1a GIT binary patch literal 450 zcmV;z0X_bSP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L0ar;xK~y+Tt&=-T z13?sp&u-LR^1!H_0c%=>-iB3Q=4))X-|`y;k7rihhbVJZ>CO02|Qgb3OTu~Q>? zkX5p4&W#f{l45;)FwER@A2V~A(b9`)A6?#Dms4oQ3`1rqklo6Paer4qJTZZ2G>W5g z8QZy>=zGN?HZmEsS}io{FR~WaU2oDV%s(fg z^>@5Bb<8ZS4Ge1ZF@~rdDWK3J23FQLF~7X}seD0=KE?!*0;Xw-q3H%5pPI5B27Qbn z{T%i{(<5-(Z8>Tf9hv sL5)7f5S25ceih&LPd^iL|M;DO5BM{jO@7nP1poj507*qoM6N<$f{#hOPx#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L0Z2(iK~y+Tt&`18 z!ax*-Pk*!xVnjE_@B-F__#p0GzzY-;#7!Tf8-YZ+Hi3nEpTvbeL1Ww~iG)y-w)R{Y zEP?@lzGP-{@7!}|=FW^(IjN+`c#k3uYqM!tGD?EFTNmT;;U2~9T@(rh^!j~VG#cV> zcRHw5s~C+&7{0y2IXV`9H|RohoWr!)yoB%j;#?Qc^U!Kt!K4v}p*UX#L+FMDO}B7< z_9Q;V_3Z)DBtjBL*eexh8eRG+6ua)Cn9#>L#^jL%wrz{Sm5sroSiw2QkeP-x&~yXQ zc#PWVvp84LyW5AAB}kKavIAA^ue5JWY0FTWxf=Y2|2YC53E@?(Ld7VJBp7F_6W()N z`aTKg7(Px#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L0YpheK~y+Tt&_b@ z!cY{)|Gl7X3MjgEaJ3|g&*3Y;ZXgD6=|gl87$ENO3O)z}&JLYS6azG^N^8%-lN8gC z8vP|V=bq1d?w3}-sK-cn4?_~U+1GWJT%g@*v+_8bqFgzGX_^>MCb;Qz*xnxu&}=l| z`#zS7SJ<_4whu=`XtsSCce}T6U6+k{aU2J|-W?Pvp69XgWxm9G@qxFMg4Ns};v-2& z4i^wqLC0mQgxb}&A;sDC0sAN>4HqyBgOz9<;t8KT&w_lK+7yr+J_Ah^5C#Fang?$j zK~Dbckn-3phrT??pf?aVkCzP1j*_|9ECVRk>^>Ek75YP z+3K0D@nN*e?1XIOqnI>Yz_Kh>j;m!M>ZJ&q9iy!t)x7$D3u`~F*C13&(AeP z!Bo#s&oF6g5D!qzw$upEG*3@01`Z&Hl|hP;m4Ok+@&aOMC>!Kz4Mt|LI1`X<$jAit zRuqt(+0FtM&jPYRAOVO$`e8Jhr3}D;n841!0#spOWNg5=0Aeag2kQceNmGDq5MTnD z!vt0tWN86pL3J4#7=UD@OD<2j!qLVJWJY?rIEF}EPEG&@GaH*)>UEW^0?Mpx3yTZ_ zQYNg3seN{4-OFAcq0sVkb1Zl7ndrFX7mq*=e~Q3rM#DaJBaW+cEWbZHQ|QXVtj8M8 lbDhszAdmGy)37&w3&Rt70XRt82O%L|C5p=^+=H5i$};!HrcAtMvm zTTwuEW;+X5JPXJMfdn81>4(v1mNEbXVgfq@3s8lDk+A{e0*I*~9jpr=CQSjdL4XNp z4ii{qkfjBX1=VF}U;vVpF1bAA3P&3^kQwRe;us=vIXM9s%xr9Gsn=Du3MjL(Ei5t! zNSUxAruNyHbuW8)ghI>D&9U6QXQJblUpxXi{3!yf84df?jX18(vHbq*Ora|avmR?W l&via?fjrhbK^?{{k_^) zurL7u0iP{m2Z0(n3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv=}#LT=BJwMkF z1yemkJ;S7}K|DY;+fpMu(>y)37&w3&Rt70XRt82O%L|C5p=^+=H5i$};!HrcAtMvm zTTwuEW;+X5JPXJMfdn81>4(v1mNEbXVgfq@3s8lDk+A{e0*I*~9jpr=CQSjdL4XNp z4ii{qkfjBX1=VF}U;vVpF1bAA3P&3^kQwRe;us=vIXM9s%xr9Gsn=Du3MjL(Ei5t! zNSUxAruNyHbuW8)ghI>D&9U6QXQJblUpxXi{3!yf84df?jX18(vHbq*Ora|avmR?W l&via?fjrhbK^?{{k_UllFtf3#rCwLrDxl2Dwy?+` zAZ5aenA&G&*1hcI5eh9oH^*}Ko{5fIe(?z8@TUl@W;E(9_k=Wt~$(698yAXt4kQ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off28.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off28.png new file mode 100644 index 0000000000000000000000000000000000000000..5b4cbf02021a827a30504ccaff1ce09644c76c7e GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF zt5N|00oM0rGk_X73p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv=}#LT=BJwMkF z1yemkJ;S7}K|DY;+fpMu(>y)37&w3&Rt70XRt82O%L|C5p=^+=H5i$};!HrcAtMvm zTTwuEW;+X5JPXJMfdn81>4(v1mNEbXVgfq@3s8lDk+A{e0*I*~9jpr=CQSjdL4XNp z4ii{qkfjBX1=VF}U;vVpF1bAA3P&3^kQwRe;us=vIXM9s%xr9Gsn=Du3MjL(Ei5t! zNSUxAruNyHbuW8)ghI>D&9U6QXQJblUpxXi{3!yf84df?jX18(vHbq*Ora|avmR?W l&via?fjrhbK^?{{k_&q9iy!t)x7$D3u`~F*C13&(AeP z!Bo#s&oF6g5D!qzw$upEG*3@01`Z&Hl|hP;m4Ok+@&aOMC>!Kz4Mt|LI1`X<$jAit zRuqt(+0FtM&jPYRAOVO$`e8Jhr3}D;n841!0#spOWNg5=0Aeag2kQceNmGDq5MTnD z!vt0tWN86pL3J4#7=UD@OD<2j!qLVJWJY?rIEF}EPEG&@GaH*)>UEW^0?Mpx3yTZ_ zQYNg3seN{4-OFAcq0sVkb1Zl7ndrFX7mq*=e~Q3rM#DaJBaW+cEWbZHQ|QXVtj8M8 lbDhszAdmG&q9iy!t)x7$D3u`~F*C13&(AeP z!Bo#s&oF6g5D!qzw$upEG*3@01`Z&Hl|hP;m4Ok+@&aOMC>!Kz4Mt|LI1`X<$jAit zRuqt(+0FtM&jPYRAOVO$`e8Jhr3}D;n841!0#spOWNg5=0Aeag2kQceNmGDq5MTnD z!vt0tWN86pL3J4#7=UD@OD<2j!qLVJWJY?rIEF}EPEG&@GaH*)>UEW^0?Mpx3yTZ_ zQYNg3seN{4-OFAcq0sVkb1Zl7ndrFX7mq*=e~Q3rM#DaJBaW+cEWbZHQ|QXVtj8M8 lbDhszAdmGY`& z5+MNrfn&q9iy!t)x7$D3u`~F*C13&(AeP z!Bo#s&oF6g5D!qzw$upEG*3@01`Z&Hl|hP;m4Ok+@&aOMC>!Kz4Mt|LI1`X<$jAit zRuqt(+0FtM&jPYRAOVO$`e8Jhr3}D;n841!0#spOWNg5=0Aeag2kQceNmGDq5MTnD z!vt0tWN86pL3J4#7=UD@OD<2j!qLVJWJY?rIEF}EPEG&@GaH*)>UEW^0?Mpx3yTZ_ zQYNg3seN{4-OFAcq0sVkb1Zl7ndrFX7mq*=e~Q3rM#DaJBaW+cEWbZHQ|QXVtj8M8 lbDhszAdmG-iXD}xjxD+42t2!0mM|04%P(_lcoUKAixAP zhY74Q$kGDHg6c9fFaXI)mt3B5g`5Q~T`9x|h8?LZRj7=2-6DGtqI&FCKv${uF`LjD~&cMjTh?Sbl$YrqGpzS&ucG l=Q^LcKpyLzpbldeNd})sR=SR-Yg<7Udb;|#taD0e0sz6rW+(sv literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off33.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off33.png new file mode 100644 index 0000000000000000000000000000000000000000..997ee0425723bf6fb12268541e98ed338208e3b2 GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF{&803<72a(T)Xjy7%}Gt$$=F+}2Wasn`z+1S)lud8eoP-bOYSY!~8 zGGRqb?XxrMUiR_`g_fV2W4U|JM8_?^cm#6zQv_Bs8uqChaa^5a`Tg0MLRS`MJ=SoZ k>wM+{d8~JWI*eH)8GIgD={laSZ3S8A>FVdQ&MBb@0B>SvSO5S3 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off34.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off34.png new file mode 100644 index 0000000000000000000000000000000000000000..7bf3b7d3e9ccbcaad87130076dee71cff3152ec2 GIT binary patch literal 441 zcmV;q0Y?6bP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L0ZvIoK~y+Tt&=-W z!$1^8uN}ZvK42&iA{|vsLCAW-21pS?<3+e3qzD@zyI=UYsLeSVlIR#c`*Dy?R~r z!&VDB)hfp0F@}Ra?9DCF+ed9^wq1%EjeWSTE8?s;j)P|N06L9cuP5SzH-tBM!Q)8B zMy@h7sL{t5qH?5wLeCgjvr4F}mfw|6sL{umBvQaMO))gxz`D68>on+N4Ee}m4>Uc4 z!1v{-vv57?!iWn*;pFWEs@q>Vy*ZJQhRT`h!EgAVEAWw!?){m}-=Shujui0Y-ANP% zxb>f8od$i3Au4C82jL{Zop+Ub5^D4@CW#a%7K>u6Sb125c`W5Zxo2`vqmMB}<;Vb)^} l=ef>jE|AB1C#b`iMUuhik(I9F>DpG1g`Tc{F6*2UngH`SYGnWb literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on19.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on19.png new file mode 100644 index 0000000000000000000000000000000000000000..5a14e4e5e0beb90028f2b3fb5cae62dd60f65e5d GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF5|J+u5h$*1DTPYE{-7*my;8K!OX^{mU>-ftAH{q+rlD) zfRqU2!0mM|04%P(_lcoUKAixAP zhY74Q$kGDHg6c9fFaXI)mt3B5g`5Q~T`9x|h8?LZRj7=2-6DGtqI&FCKv${uF`LjD~&cMjTh?Sbl$YrqGpzS&ucG l=Q^LcKpyLzpbldeNd})sR=SR-Yg<7Udb;|#taD0e0szw~X!8I7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on21.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on21.png new file mode 100644 index 0000000000000000000000000000000000000000..13ae4db69c80a601ca56d38b7369f14e1c64162a GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFl;ubXMsm#F#`kNVGw3Kp1&dmC@4|l8c`CQpH@Vb)^} l=ef>jE|AB1C#b`iMUuhik(I9F>DpG1g`Tc{F6*2UngIH6YHt7l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on22.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on22.png new file mode 100644 index 0000000000000000000000000000000000000000..7543bce31f22ba343eb0476ae28a0abbfd950c3d GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFVy*cn)WDh!N_4Hy?dOavp@3Xlx~Oh9v( zz$$|*Er2YjE<*zYkgRmcv+1h6=b2OtDnm{r-UW|Nrh=a literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on23.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on23.png new file mode 100644 index 0000000000000000000000000000000000000000..e3ee74bc954c2edd92685aefbd4c7fe9e48d5659 GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2)u|oxEH9Av%n*=n1O-sFbFdq&tH)O6qG1&jVKAuPb(=;EJ|evNX*PD(erZ+ zQ83jr)H6)l8pH!svn@5kGtJXei-7~kVP%kFWMyCkvb=y;8p;N_T7!`pEY1XE8!|G1 zy%hyyXSTC|#j}8H5J&)GkbW4AW+?+OASSRgumDvU7#SNdE`XQ{(!sg_V$u{K8w8ku z<}iU(23cAFSx{Yu1_mHm>5|J+u5h$*1DTPYE{-7*my;8K!OX^{mU>-ftAH{q+rlD) zfRqUVb)^} l=ef>jE|AB1C#b`iMUuhik(I9F>DpG1g`Tc{F6*2UngIE3YH9!g literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on25.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on25.png new file mode 100644 index 0000000000000000000000000000000000000000..c0a76a2bac400588932fc67898d8cbcb445cdc2e GIT binary patch literal 486 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF&q9iy!t)x7$D3u`~F*C13&(AeP z!Bo#s&oF6g5D!qzw$upEG*3@01`Z&Hl|hP;m4Ok+@&aOMC>!Kz4Mt|LI1`X<$jAit zRuqt(+0FtM&jPYRAOVO$`e8Jhr3}D;n841!0#spOWNg5=0Aeag2kQceNmGDq5MTnD z!vt0tWN86pL3J4#7=UD@OD<2j!qLVJWX5>9IEF}EPEG&@GaH*)>UEW^0?Mpx3yTZ_ zQYNg3seN{4-OFAcq0sVkb1Zl7ndrFX7mq*=e~Q3rM#DaJBaW+cEWbZHQ|QXVtj8Ky oV4(v1mNEbXVgfq@3s8lDk+A{e0*I*~9jpr=CQSjdL4XNp z4ii{qkfjBX1=VF}U;vVpF1bAA3P&3^kQwRe;us=vIXM9s%xr9Gsn=Du3MjL(Ei5t! zNSUxAruNyHbuW8)ghI>D&9U6QXQJblUpxXi{3!yf84df?jX18(vHbq*Ora|avmR?W l&via?fjrhbK^?{{k_5|J+u5h$*1DTPYE{-7*my;8K!OX^{mU>-ftAH{q+rlD) zfRqU5ZL_v(Ho#f&H|6fVg?4j!ywFfJby(BP*9@8HKHUqKdq!Zu_%=xATcwqM9AC&ooa@Ed~xChm}E!k(GfF$npYWX($`yY7Itaus9QtZOF(3 z_Er>-o!QO;7S95*K_CH$LHc1dnxzcDfSAC}zyefZU}S8-xBy}*NC)czh)Gj`Y!F}q zn!^NE8DwbzWI=Tq8W@0NrAsbPxx&%L4P-`ox;TbNTux2^1~VI*TIzL`tpdudYzvDF z0#YWdh^c*cX5GtP9-+|kb8{?r@0sYhO>_%)r2R7=#&*=dVZs3QCl?MwA5SrKP_&4dMZ+*_ImNnda%K#lQjNurf$7vNA9NSzbUa4P}E|t-;6)7H0yo4H=oh z-iiXUGuv6f;#oj82qXY8NI#55vy=fC5EIxLSb!=FjEoH!7eGt}>0n&|F=+~r4FXI+ zbC|#?gDfq8ET}F+0|St(bjjr@S2)_Zfy_ux7sn8Z%gG7AU}j@eOTDhLRX~}QZDEl? zK+1#_F}2Umtb5tZBNSSGZjR;dJrfnAmtPE0&tPG4mmKP99L)jo#YcMi{#hHL?Lq;aB zx1xaT%yt&AcovWi0trA2(hsB2EM))&!~}K*7N80PBVz-`1rSp~I#?G#Oqv2@g8&oI z944^JAWI7%3#!Y|zyKsGU2=KK6^=G;AT!d_#W6(Ua&iJNnAzCWQm?CQ6;NhnTUcZe zkTPLKOzpEX>t6Qq2!)oPn`60q&qT*9zjy?4_)`Q{GaB}(8*yBnWBL8rnL<|^$5Xb}Ja literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on31.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on31.png new file mode 100644 index 0000000000000000000000000000000000000000..bc302b4f52d9397656062cc0c09d8c09a14b9d03 GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFUllFtf3#rCwLrDxl2Dwy?+` zAZ5aenA&G&*1hcI5eh9oH^*}Ko{5fIe(?z8@TUl@W;E(9_k=Wt~$(69BzEXf^-< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on32.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on32.png new file mode 100644 index 0000000000000000000000000000000000000000..30378d963df7c20cf099c598bcf9df50daad412c GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFO>_%)r2R7=#&*=dVZs3QCl?MwA5SrKP_&4dMZ+*_ImNnda%K#lQjNurf$7vNA9NSzbUa4P}E|t-;6)7H0yo4H=oh z-iiXUGuv6f;#oj82qXY8NI#55vy=fC5EIxLSb!=FjEoH!7eGt}>0n&|F=+~r4FXI+ zbC|#?gDfq8ET}F+0|St(bjjr@S2)_Zfy_ux7sn8Z%gG7AU}j@eOTDhLRX~}QZDEl? zK+1#_F}2Umtb5tZBNSSGZjR;dJrfnAmtPE0&tPG4mmKP99L)jo#YcMi{#hHL?Lq;aB zx1xaT%yt&AcovWi0trA2(hsB2EM))&!~}K*7N80PBVz-`1rSp~I#?G#Oqv2@g8&oI z944^JAWI7%3#tp~ageNZ$>k|mING>@%t%ic#}J9j$qB$6CJnw;t|NM&-JWbk=prR#XQwiRTdr>mdKI;Vst0D}={VgLXD literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on34.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on34.png new file mode 100644 index 0000000000000000000000000000000000000000..652674092308ca40741bd44cbfc02f0b122194a9 GIT binary patch literal 484 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF<7I;J!GcfQS24TkI`72U@f)XXJ5hcO-X(i=}MX3w{iJ5sNdVa1U z3Z{C7dWK0`gLr^ywxvdRrg?g5F>nAmtPE0&tPG4mmKP99L)jo#YcMi{#hHL?Lq;aB zx1xaT%yt&AcovWi0trA2(hsB2EM))&!~}K*7N80PBVz-`1rSp~I#?G#Oqv2@g8&oI z944^JAWI7%3#!Y|zyKsGU2=KK6^=G;AT!F-#W6(Ua&iJNnAzCWQm?CQ6;NhnTUcZe zkTPLKOzpEX>t6Qq2!)oPn`60q&qT*9zjy>>_)`Q{Ga3s?wq%`~Q(gRQhf)*c^d^ma mavc}=%mwmT?*w%ivq&-oEwZxRaasHb$VN|BKbLh*2~7Y?K56j) literal 0 HcmV?d00001 diff --git a/src/main/scala/net/bdew/ae2stuff/Recipes.scala b/src/main/scala/net/bdew/ae2stuff/Recipes.scala index b890eb9..0a93cae 100644 --- a/src/main/scala/net/bdew/ae2stuff/Recipes.scala +++ b/src/main/scala/net/bdew/ae2stuff/Recipes.scala @@ -19,7 +19,131 @@ object Recipes { ) GameRegistry.addShapelessRecipe( new ItemStack(BlockWireless), - new ItemStack(BlockWireless, 1, OreDictionary.WILDCARD_VALUE) + new ItemStack(BlockWireless, 1, 1) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 2) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 3) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 4) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 5) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 6) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 7) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 8) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 9) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 10) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 11) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 12) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 13) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 14) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 15) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless), + new ItemStack(BlockWireless, 1, 16) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 18) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 19) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 20) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 21) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 22) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 23) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 24) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 25) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 26) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 27) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 28) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 29) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 30) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 31) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 32) + ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless, 1, 33) ) } } diff --git a/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala b/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala index fed77e9..fcd5678 100644 --- a/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala +++ b/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala @@ -17,7 +17,7 @@ import cpw.mods.fml.relauncher.{Side, SideOnly} import net.bdew.ae2stuff.misc.{BlockWrenchable, MachineMaterial} import net.bdew.lib.Misc import net.bdew.lib.block.{HasItemBlock, HasTE, ItemBlockTooltip, SimpleBlock} -import net.minecraft.block.Block +import net.minecraft.block.{Block, BlockContainer} import net.minecraft.client.renderer.texture.IIconRegister import net.minecraft.creativetab.CreativeTabs import net.minecraft.entity.EntityLivingBase @@ -50,7 +50,11 @@ object BlockWireless val stack = new ItemStack(this) val te = getTE(world, x, y, z) if (te.isHub) { - stack.setItemDamage(17) + if (te.color != AEColor.Transparent) { + stack.setItemDamage(te.color.ordinal() + 18) + } else { + stack.setItemDamage(17) + } } else if (te.color != AEColor.Transparent) { stack.setItemDamage(te.color.ordinal() + 1) } @@ -64,7 +68,7 @@ object BlockWireless tab: CreativeTabs, list: util.List[_] ): Unit = { - for (meta <- 0 to 17) { + for (meta <- 0 to 33) { list .asInstanceOf[util.List[ItemStack]] .add(new ItemStack(itemIn, 1, meta)) @@ -82,7 +86,11 @@ object BlockWireless val stack = new ItemStack(this) val te = getTE(world, x, y, z) if (te.isHub) { - stack.setItemDamage(17) + if (te.color != AEColor.Transparent) { + stack.setItemDamage(te.color.ordinal() + 18) + } else { + stack.setItemDamage(17) + } } else if (te.color != AEColor.Transparent) { stack.setItemDamage(te.color.ordinal() + 1) } @@ -118,8 +126,13 @@ object BlockWireless if (stack.hasDisplayName) { te.customName = stack.getDisplayName } - if (itemDamage == 17) { + if (itemDamage > 16) { te.isHub = true; + if (itemDamage == 17) { + te.color = AEColor.values().apply(16) + } else { + te.color = AEColor.values().apply(itemDamage - 18) + } } else if (itemDamage > 0) { te.color = AEColor.values().apply(itemDamage - 1) } @@ -168,10 +181,18 @@ object BlockWireless ): IIcon = { val te = getTE(worldIn, x, y, z) val meta = worldIn.getBlockMetadata(x, y, z) - if (meta > 0) { - icon_on.apply(te.color.ordinal()) + if (te.isHub) { + if (meta > 0) { + icon_on.apply(te.color.ordinal() + 17) + } else { + icon_off.apply(te.color.ordinal() + 17) + } } else { - icon_off.apply(te.color.ordinal()) + if (meta > 0) { + icon_on.apply(te.color.ordinal()) + } else { + icon_off.apply(te.color.ordinal()) + } } } @@ -179,6 +200,8 @@ object BlockWireless override def getIcon(side: Int, meta: Int): IIcon = { if (meta == 0) { icon_on.apply(AEColor.Transparent.ordinal()) + } else if (meta == 17) { + icon_on.apply(33) } else { icon_on.apply(meta - 1) } @@ -186,7 +209,7 @@ object BlockWireless @SideOnly(Side.CLIENT) override def registerBlockIcons(reg: IIconRegister): Unit = { - val index = 1.to(17) + val index = 1.to(34) icon_on = index .map(index => reg.registerIcon(Misc.iconName(modId, name, "side_on" + index)) @@ -213,10 +236,20 @@ class ItemBlockWireless(b: Block) extends ItemBlockTooltip(b) { super.addInformation(stack, player, list, advanced) val itemDamage = stack.getItemDamage if (itemDamage == 17) { + list + .asInstanceOf[util.List[String]] + .add(Misc.toLocal("tile.ae2stuff.WirelessHub.name")) + list + .asInstanceOf[util.List[String]] + .add(Misc.toLocal(AEColor.values().apply(16).unlocalizedName)) + } else if (itemDamage > 16) { + list + .asInstanceOf[util.List[String]] + .add(Misc.toLocal("tile.ae2stuff.WirelessHub.name")) list .asInstanceOf[util.List[String]] .add( - Misc.toLocal("tile.ae2stuff.WirelessHub.name") + Misc.toLocal(AEColor.values().apply(itemDamage - 18).unlocalizedName) ) } else if (itemDamage > 0) { list From 3e7d256af43965ff4806ff1e146e76f933eb0362 Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Fri, 6 Dec 2024 14:33:58 +0200 Subject: [PATCH 05/18] keep hub on regular break. --- .../bdew/ae2stuff/machines/wireless/BlockWireless.scala | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala b/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala index fcd5678..b5b392a 100644 --- a/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala +++ b/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala @@ -39,6 +39,8 @@ object BlockWireless setHardness(1) + var isHub = false; + override def getDrops( world: World, x: Int, @@ -49,6 +51,9 @@ object BlockWireless ): util.ArrayList[ItemStack] = { val stack = new ItemStack(this) val te = getTE(world, x, y, z) + if (isHub) { + stack.setItemDamage(17); + } if (te.isHub) { if (te.color != AEColor.Transparent) { stack.setItemDamage(te.color.ordinal() + 18) @@ -105,7 +110,9 @@ object BlockWireless block: Block, meta: Int ): Unit = { - getTE(world, x, y, z).doUnlink() + val te = getTE(world, x, y, z); + te.doUnlink() + isHub = te.isHub; super.breakBlock(world, x, y, z, block, meta) } From 90532a8622d47410da2fe86d66ac98ccfbc9b96c Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Fri, 6 Dec 2024 14:59:58 +0200 Subject: [PATCH 06/18] power+waila+recipe --- src/main/scala/net/bdew/ae2stuff/Recipes.scala | 12 ++++++++++++ .../ae2stuff/machines/wireless/TileWireless.scala | 15 +++++++++++++-- .../waila/WailaWirelessDataProvider.scala | 6 ++++-- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/main/scala/net/bdew/ae2stuff/Recipes.scala b/src/main/scala/net/bdew/ae2stuff/Recipes.scala index 0a93cae..d2ed49f 100644 --- a/src/main/scala/net/bdew/ae2stuff/Recipes.scala +++ b/src/main/scala/net/bdew/ae2stuff/Recipes.scala @@ -81,6 +81,18 @@ object Recipes { new ItemStack(BlockWireless), new ItemStack(BlockWireless, 1, 16) ) + GameRegistry.addShapelessRecipe( + new ItemStack(BlockWireless, 1, 17), + new ItemStack(BlockWireless), + new ItemStack(BlockWireless), + new ItemStack(BlockWireless), + new ItemStack(BlockWireless), + new ItemStack(BlockWireless), + new ItemStack(BlockWireless), + new ItemStack(BlockWireless), + new ItemStack(BlockWireless), + new ItemStack(BlockWireless) + ) GameRegistry.addShapelessRecipe( new ItemStack(BlockWireless, 1, 17), new ItemStack(BlockWireless, 1, 18) diff --git a/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala b/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala index 4ab14c3..d55b930 100644 --- a/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala +++ b/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala @@ -48,6 +48,7 @@ class TileWireless var color: AEColor = AEColor.Transparent var isHub = false var connectionsList = Array[TileWireless]() + var hubPowerUsage = 0d; def isLinked = link.isDefined def getLink = link flatMap (_.getTile[TileWireless](worldObj)) @@ -123,7 +124,11 @@ class TileWireless dist * dist + 3 ) this.setIdlePowerUse(power) - if (!that.isHub) that.setIdlePowerUse(power) + if (!that.isHub) { + that.setIdlePowerUse(power) + } else { + that.setHubPowerUse(power) + } if (worldObj.blockExists(xCoord, yCoord, zCoord)) worldObj.setBlockMetadataWithNotify( this.xCoord, @@ -145,6 +150,11 @@ class TileWireless false } + def setHubPowerUse(power: Double): Unit = { + hubPowerUsage += power + this.setIdlePowerUse(hubPowerUsage) + } + def getHubChannels: Int = { var channels = 0 connectionsList foreach { that => @@ -157,10 +167,10 @@ class TileWireless if (connection != null) connection.destroy() connection = null - setIdlePowerUse(0d) getLink foreach { other => if (other.isHub) { other.connectionsList = other.connectionsList.filterNot(_ == this) + other.setHubPowerUse(-getIdlePowerUsage) if ( other.connectionsList.isEmpty && worldObj.blockExists( other.xCoord, @@ -188,6 +198,7 @@ class TileWireless ) } } + setIdlePowerUse(0d) if (worldObj.blockExists(xCoord, yCoord, zCoord)) worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 0, 3) } diff --git a/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala b/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala index 955f272..b686ce0 100644 --- a/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala +++ b/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala @@ -52,7 +52,8 @@ object WailaWirelessDataProvider } else if (te.isHub) { val data = NBT( "channels" -> te.getHubChannels, - "color" -> te.color.ordinal() + "color" -> te.color.ordinal(), + "power" -> te.getIdlePowerUsage ) if (te.hasCustomName) { data.setString("name", te.customName) @@ -119,7 +120,8 @@ object WailaWirelessDataProvider Misc.toLocalF( "ae2stuff.waila.wireless.channels", data.getInteger("channels") - ) + ), + Misc.toLocalF("ae2stuff.waila.wireless.power", DecFormat.short(data.getDouble("power"))) ) .++(if (name != null) { Misc.toLocalF("ae2stuff.waila.wireless.name", name) :: Nil From e6b0add4e6355bf36c2ef67555285f36ca2d40d6 Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Fri, 6 Dec 2024 15:01:28 +0200 Subject: [PATCH 07/18] spotless --- .../net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala b/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala index b686ce0..0bfdac3 100644 --- a/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala +++ b/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala @@ -121,7 +121,10 @@ object WailaWirelessDataProvider "ae2stuff.waila.wireless.channels", data.getInteger("channels") ), - Misc.toLocalF("ae2stuff.waila.wireless.power", DecFormat.short(data.getDouble("power"))) + Misc.toLocalF( + "ae2stuff.waila.wireless.power", + DecFormat.short(data.getDouble("power")) + ) ) .++(if (name != null) { Misc.toLocalF("ae2stuff.waila.wireless.name", name) :: Nil From b6b0cede79e75adf32441605a5a684e102950037 Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Mon, 9 Dec 2024 21:00:31 +0200 Subject: [PATCH 08/18] fix_waila_power_stack_hub_in_queue --- .../scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala | 8 +++++++- .../net/bdew/ae2stuff/misc/AdvItemLocationStore.scala | 9 +++++++-- .../bdew/ae2stuff/waila/WailaWirelessDataProvider.scala | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala b/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala index 840389b..cc2dba0 100644 --- a/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala +++ b/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala @@ -116,7 +116,13 @@ object AdvWirelessKit L("ae2stuff.wireless.tool.security.player").setColor(Color.RED) ) } else if (getMode(stack) == MODE_QUEUING) { - addLocation(stack, pos, world.provider.dimensionId) + var isHub = false; + val tempTE = + world.getTileEntity(pos.x, pos.y, pos.z).asInstanceOf[TileWireless] + if (tempTE != null) { + isHub = tempTE.isHub + } + addLocation(stack, pos, world.provider.dimensionId, isHub) player.addChatMessage( L( "ae2stuff.wireless.advtool.queued", diff --git a/src/main/scala/net/bdew/ae2stuff/misc/AdvItemLocationStore.scala b/src/main/scala/net/bdew/ae2stuff/misc/AdvItemLocationStore.scala index 1d5683a..f914954 100644 --- a/src/main/scala/net/bdew/ae2stuff/misc/AdvItemLocationStore.scala +++ b/src/main/scala/net/bdew/ae2stuff/misc/AdvItemLocationStore.scala @@ -20,7 +20,12 @@ trait AdvItemLocationStore extends Item { private val COMPOUND_TAG = NBTBase.NBTTypes.indexOf("COMPOUND") - def addLocation(stack: ItemStack, loc: BlockRef, dimension: Int): Boolean = { + def addLocation( + stack: ItemStack, + loc: BlockRef, + dimension: Int, + isHub: Boolean + ): Boolean = { if (!stack.hasTagCompound) stack.setTagCompound(new NBTTagCompound) val tag = stack.getTagCompound if (tag.hasKey("dim") && tag.getInteger("dim") != dimension) { @@ -30,7 +35,7 @@ trait AdvItemLocationStore extends Item { for (i <- 0 until locList.tagCount()) { val tag = locList.getCompoundTagAt(i) val pos = BlockRef.fromNBT(tag) - if (pos == loc) { + if (pos == loc && !isHub) { return false } } diff --git a/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala b/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala index 0bfdac3..60b25c0 100644 --- a/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala +++ b/src/main/scala/net/bdew/ae2stuff/waila/WailaWirelessDataProvider.scala @@ -53,7 +53,7 @@ object WailaWirelessDataProvider val data = NBT( "channels" -> te.getHubChannels, "color" -> te.color.ordinal(), - "power" -> te.getIdlePowerUsage + "power" -> PowerMultiplier.CONFIG.multiply(te.getIdlePowerUsage) ) if (te.hasCustomName) { data.setString("name", te.customName) From 1d48ee7ae436bf1611648145e9b01c8d2aefc40f Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Tue, 10 Dec 2024 06:35:23 +0200 Subject: [PATCH 09/18] add_error_when_connector_already_in_queue --- .../resources/assets/ae2stuff/lang/en_US.lang | 1 + .../bdew/ae2stuff/items/AdvWirelessKit.scala | 23 +++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main/resources/assets/ae2stuff/lang/en_US.lang b/src/main/resources/assets/ae2stuff/lang/en_US.lang index 1b72577..0fa1e9c 100644 --- a/src/main/resources/assets/ae2stuff/lang/en_US.lang +++ b/src/main/resources/assets/ae2stuff/lang/en_US.lang @@ -34,6 +34,7 @@ ae2stuff.wireless.advtool.binding=§aBinding Mode ae2stuff.wireless.advtool.queueing.activated=Queuing mode activated ae2stuff.wireless.advtool.binding.activated=Binding mode activated ae2stuff.wireless.advtool.queued=Added connector at %s,%s,%s to queue +ae2stuff.wireless.advtool.queuederror=Connector already in queue! ae2stuff.wireless.advtool.queueing.empty=Click Wireless Connectors to add to binding queue ae2stuff.wireless.advtool.binding.empty=Switch to Queuing Mode to add connectors to queue ae2stuff.wireless.advtool.queueing.notempty=Current wireless connectors in queue: diff --git a/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala b/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala index cc2dba0..b0dc217 100644 --- a/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala +++ b/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala @@ -122,15 +122,20 @@ object AdvWirelessKit if (tempTE != null) { isHub = tempTE.isHub } - addLocation(stack, pos, world.provider.dimensionId, isHub) - player.addChatMessage( - L( - "ae2stuff.wireless.advtool.queued", - pos.x.toString, - pos.y.toString, - pos.z.toString - ).setColor(Color.GREEN) - ) + if (addLocation(stack, pos, world.provider.dimensionId, isHub)) { + player.addChatMessage( + L( + "ae2stuff.wireless.advtool.queued", + pos.x.toString, + pos.y.toString, + pos.z.toString + ).setColor(Color.GREEN) + ) + } else { + player.addChatMessage( + L("ae2stuff.wireless.advtool.queuederror").setColor(Color.RED) + ) + } } else if (getMode(stack) == MODE_BINDING) { if (hasLocation(stack)) { // Have other location - start connecting From 2e87588a082e162007a82010bcc5a292fbd99159 Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Thu, 26 Dec 2024 21:48:14 +0200 Subject: [PATCH 10/18] advtool_qols --- .../resources/assets/ae2stuff/lang/en_US.lang | 6 + .../bdew/ae2stuff/items/AdvWirelessKit.scala | 248 +++++++++++------- .../bdew/ae2stuff/items/ItemWirelessKit.scala | 12 + 3 files changed, 177 insertions(+), 89 deletions(-) diff --git a/src/main/resources/assets/ae2stuff/lang/en_US.lang b/src/main/resources/assets/ae2stuff/lang/en_US.lang index 0fa1e9c..377c57e 100644 --- a/src/main/resources/assets/ae2stuff/lang/en_US.lang +++ b/src/main/resources/assets/ae2stuff/lang/en_US.lang @@ -43,11 +43,17 @@ ae2stuff.wireless.advtool.connector.next=Next connector in queue: %s,%s,%s ae2stuff.wireless.advtool.extra=§oSneak right click to change mode between queuing and binding mode ae2stuff.wireless.advtool.noconnectors=No connectors found in queue. Try putting the tool into queueing mode and adding some ae2stuff.wireless.advtool.pop=Removed %s,%s,%s from queue +ae2stuff.wireless.advtool.hub.queued=%s hub slots added to queue! +ae2stuff.wireless.advtool.queueing.clear=Queue is cleared! +ae2stuff.wireless.tooltips.advtool.queueing.clear=Shift + Ctrl + R-click for clear queue! +ae2stuff.wireless.tooltips.advtool.hubqols.binding=Ctrl + R-click for connect to all free hub slots! +ae2stuff.wireless.tooltips.advtool.hubqols.queueing=Ctrl + R-click for add all free hub slots to queue! ae2stuff.wireless.tool.connected=Connected to %s,%s,%s ae2stuff.wireless.tool.failed=Connection failed ae2stuff.wireless.tool.dimension=Both connectors must be in the same dimension ae2stuff.wireless.tool.noexist=Bound connector does not exist ae2stuff.wireless.tool.security.player=Security violation - you are not allowed to modify this network +ae2stuff.wireless.tool.targethubfull=Target Hub is Full! ae2stuff.visualiser.bound=Visualising network at %s,%s,%s ae2stuff.visualiser.mode=Mode: diff --git a/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala b/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala index b0dc217..b7a23f0 100644 --- a/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala +++ b/src/main/scala/net/bdew/ae2stuff/items/AdvWirelessKit.scala @@ -17,10 +17,10 @@ import net.bdew.ae2stuff.misc.AdvItemLocationStore import net.bdew.lib.Misc import net.bdew.lib.block.BlockRef import net.bdew.lib.items.SimpleItem -import net.minecraft.entity.EntityLivingBase import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.world.World +import org.lwjgl.input.Keyboard import java.util @@ -53,6 +53,17 @@ object AdvWirelessKit ): ItemStack = { import net.bdew.lib.helpers.ChatHelper._ if (!world.isRemote && player.isSneaking) { + if (Keyboard.isKeyDown(Keyboard.KEY_LCONTROL)) { + while (hasLocation(stack)) { + popLocation(stack) + } + player.addChatMessage( + L("ae2stuff.wireless.advtool.queueing.clear").setColor( + Color.GREEN + ) + ) + return stack + } toggleMode(stack) if (getMode(stack) == MODE_QUEUING) { player.addChatMessage( @@ -86,6 +97,17 @@ object AdvWirelessKit if (!pos.blockIs(world, BlockWireless)) return false if (!world.isRemote) { if (player.isSneaking) { + if (Keyboard.isKeyDown(Keyboard.KEY_LCONTROL)) { + while (hasLocation(stack)) { + popLocation(stack) + } + player.addChatMessage( + L("ae2stuff.wireless.advtool.queueing.clear").setColor( + Color.GREEN + ) + ) + return true + } toggleMode(stack) if (getMode(stack) == MODE_QUEUING) { player.addChatMessage( @@ -120,104 +142,145 @@ object AdvWirelessKit val tempTE = world.getTileEntity(pos.x, pos.y, pos.z).asInstanceOf[TileWireless] if (tempTE != null) { + if (tempTE.connectionsList.length >= 32) { + player.addChatMessage( + L("ae2stuff.wireless.tool.targethubfull").setColor(Color.RED) + ) + return true + } isHub = tempTE.isHub - } - if (addLocation(stack, pos, world.provider.dimensionId, isHub)) { - player.addChatMessage( - L( - "ae2stuff.wireless.advtool.queued", - pos.x.toString, - pos.y.toString, - pos.z.toString - ).setColor(Color.GREEN) - ) - } else { - player.addChatMessage( - L("ae2stuff.wireless.advtool.queuederror").setColor(Color.RED) - ) - } - } else if (getMode(stack) == MODE_BINDING) { - if (hasLocation(stack)) { - // Have other location - start connecting - val otherPos = getNextLocation(stack) - - if (getDimension(stack) != world.provider.dimensionId) { - // Different dimensions - error out + if (isHub && Keyboard.isKeyDown(Keyboard.KEY_LCONTROL)) { + val t = 32 - tempTE.connectionsList.length + var i = 0 + while (i < t) { + addLocation(stack, pos, world.provider.dimensionId, isHub) + i = i + 1 + } player.addChatMessage( - L("ae2stuff.wireless.tool.dimension").setColor(Color.RED) + L( + "ae2stuff.wireless.advtool.hub.queued", + i.toString + ).setColor(Color.GREEN) ) - } else if (pos == otherPos) { - // Same block - clear the location - popLocation(stack) } else { - otherPos.getTile[TileWireless](world) match { - // Check that the other tile is still around - case Some(other: TileWireless) => - // And check that the player can modify it too - if ( - !Security.playerHasPermission( - other.getNode.getGrid, - pid, - SecurityPermissions.BUILD - ) - ) { - player.addChatMessage( - L("ae2stuff.wireless.tool.security.player").setColor( - Color.RED - ) - ) - } else if (tile.isHub && other.isHub) { - player.addChatMessage( - L("ae2stuff.wireless.tool.failed").setColor(Color.RED) + if (addLocation(stack, pos, world.provider.dimensionId, isHub)) { + player.addChatMessage( + L( + "ae2stuff.wireless.advtool.queued", + pos.x.toString, + pos.y.toString, + pos.z.toString + ).setColor(Color.GREEN) + ) + } else { + player.addChatMessage( + L("ae2stuff.wireless.advtool.queuederror").setColor(Color.RED) + ) + } + } + } + } else if (getMode(stack) == MODE_BINDING) { + var doLoop = true + while (doLoop) { + doLoop = false + if (hasLocation(stack)) { + if (tile.isHub && Keyboard.isKeyDown(Keyboard.KEY_LCONTROL)) { + if ( + tile.connectionsList.length < 31 && getLocations(stack) + .tagCount() > 1 + ) { + doLoop = true + } else if (tile.connectionsList.length == 32) { + player.addChatMessage( + L("ae2stuff.wireless.tool.targethubfull").setColor( + Color.RED ) - } else { - // Player can modify both sides - unlink current connections if any - if (!tile.isHub) tile.doUnlink() - if (!other.isHub) other.doUnlink() + ) + return true + } + } + // Have other location - start connecting + val otherPos = getNextLocation(stack) - // Make player the owner of both blocks - tile.getNode.setPlayerID(pid) - other.getNode.setPlayerID(pid) - try { - if (tile.doLink(other)) { - player.addChatMessage( - L( - "ae2stuff.wireless.tool.connected", - pos.x.toString, - pos.y.toString, - pos.z.toString - ).setColor(Color.GREEN) - ) - } else { - player.addChatMessage( - L("ae2stuff.wireless.tool.failed").setColor(Color.RED) + if (getDimension(stack) != world.provider.dimensionId) { + // Different dimensions - error out + player.addChatMessage( + L("ae2stuff.wireless.tool.dimension").setColor(Color.RED) + ) + } else if (pos == otherPos) { + // Same block - clear the location + popLocation(stack) + } else { + otherPos.getTile[TileWireless](world) match { + // Check that the other tile is still around + case Some(other: TileWireless) => + // And check that the player can modify it too + if ( + !Security.playerHasPermission( + other.getNode.getGrid, + pid, + SecurityPermissions.BUILD + ) + ) { + player.addChatMessage( + L("ae2stuff.wireless.tool.security.player").setColor( + Color.RED ) + ) + } else if (tile.isHub && other.isHub) { + player.addChatMessage( + L("ae2stuff.wireless.tool.failed").setColor(Color.RED) + ) + } else { + // Player can modify both sides - unlink current connections if any + if (!tile.isHub) tile.doUnlink() + if (!other.isHub) other.doUnlink() + + // Make player the owner of both blocks + tile.getNode.setPlayerID(pid) + other.getNode.setPlayerID(pid) + try { + if (tile.doLink(other)) { + player.addChatMessage( + L( + "ae2stuff.wireless.tool.connected", + pos.x.toString, + pos.y.toString, + pos.z.toString + ).setColor(Color.GREEN) + ) + } else { + player.addChatMessage( + L("ae2stuff.wireless.tool.failed").setColor( + Color.RED + ) + ) + } + } catch { + case e: FailedConnection => + player.addChatComponentMessage( + (L( + "ae2stuff.wireless.tool.failed" + ) & ": " & e.getMessage).setColor(Color.RED) + ) + tile.doUnlink() + print("Failed to link wireless connector: " + e) } - } catch { - case e: FailedConnection => - player.addChatComponentMessage( - (L( - "ae2stuff.wireless.tool.failed" - ) & ": " & e.getMessage).setColor(Color.RED) - ) - tile.doUnlink() - print("Failed to link wireless connector: " + e) } - } - popLocation(stack) - case _ => - // The other block is gone - error out - player.addChatMessage( - L("ae2stuff.wireless.tool.noexist").setColor(Color.RED) - ) - popLocation(stack) + popLocation(stack) + case _ => + // The other block is gone - error out + player.addChatMessage( + L("ae2stuff.wireless.tool.noexist").setColor(Color.RED) + ) + popLocation(stack) + } } + } else { + player.addChatMessage( + L("ae2stuff.wireless.advtool.noconnectors").setColor(Color.RED) + ) } - true - } else { - player.addChatMessage( - L("ae2stuff.wireless.advtool.noconnectors").setColor(Color.RED) - ) } } } @@ -254,6 +317,9 @@ object AdvWirelessKit list.add(loc.x + "," + loc.y + "," + loc.z) } } + list.add( + Misc.toLocal("ae2stuff.wireless.tooltips.advtool.hubqols.queueing") + ) } else if (getMode(stack) == MODE_BINDING) { list.add(Misc.toLocal("ae2stuff.wireless.advtool.binding")) if (getLocations(stack).tagCount() == 0) { @@ -265,7 +331,11 @@ object AdvWirelessKit list.add(loc.x + "," + loc.y + "," + loc.z) } } + list.add( + Misc.toLocal("ae2stuff.wireless.tooltips.advtool.hubqols.binding") + ) } - list.add(Misc.toLocal("ae2stuff.wireless.advtool.extra")); + list.add(Misc.toLocal("ae2stuff.wireless.tooltips.advtool.queueing.clear")) + list.add(Misc.toLocal("ae2stuff.wireless.advtool.extra")) } } diff --git a/src/main/scala/net/bdew/ae2stuff/items/ItemWirelessKit.scala b/src/main/scala/net/bdew/ae2stuff/items/ItemWirelessKit.scala index 728f853..2c0e8a1 100644 --- a/src/main/scala/net/bdew/ae2stuff/items/ItemWirelessKit.scala +++ b/src/main/scala/net/bdew/ae2stuff/items/ItemWirelessKit.scala @@ -71,6 +71,10 @@ object ItemWirelessKit player.addChatMessage( L("ae2stuff.wireless.tool.security.player").setColor(Color.RED) ) + } else if (tile.isHub && tile.connectionsList.length == 32) { + player.addChatMessage( + L("ae2stuff.wireless.tool.targethubfull").setColor(Color.RED) + ) } else if (hasLocation(stack)) { // Have other location - start connecting val otherPos = getLocation(stack) @@ -104,6 +108,14 @@ object ItemWirelessKit player.addChatMessage( L("ae2stuff.wireless.tool.failed").setColor(Color.RED) ) + } else if ( + tile.connectionsList.length == 32 || other.connectionsList.length == 32 + ) { + player.addChatMessage( + L("ae2stuff.wireless.tool.targethubfull").setColor( + Color.RED + ) + ) } else { // Player can modify both sides - unlink current connections if any if (!tile.isHub) tile.doUnlink() From 456ea67ebe634914546593c00c26933c75961c7c Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Thu, 26 Dec 2024 21:53:49 +0200 Subject: [PATCH 11/18] implement ghost fix --- .../machines/wireless/BlockWireless.scala | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala b/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala index b5b392a..32b32f9 100644 --- a/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala +++ b/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala @@ -50,18 +50,20 @@ object BlockWireless fortune: Int ): util.ArrayList[ItemStack] = { val stack = new ItemStack(this) - val te = getTE(world, x, y, z) - if (isHub) { - stack.setItemDamage(17); - } - if (te.isHub) { - if (te.color != AEColor.Transparent) { - stack.setItemDamage(te.color.ordinal() + 18) - } else { - stack.setItemDamage(17) + val te = world.getTileEntity(x, y, z).asInstanceOf[TileWireless] + + if (te != null) { + if (te.isHub) { + if (te.color != AEColor.Transparent) { + stack.setItemDamage(te.color.ordinal() + 18) + } else { + stack.setItemDamage(17) + } + } else if (te.color != AEColor.Transparent) { + stack.setItemDamage(te.color.ordinal() + 1) } - } else if (te.color != AEColor.Transparent) { - stack.setItemDamage(te.color.ordinal() + 1) + } else if (isHub) { + stack.setItemDamage(17); } val drops = new util.ArrayList[ItemStack]() drops.add(stack) From f3878dafb53272471dfc7967de03a11f3abe1271 Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Sat, 28 Dec 2024 04:37:41 +0200 Subject: [PATCH 12/18] texture --- .../resources/assets/ae2stuff/lang/en_US.lang | 2 +- .../textures/blocks/wireless/side_off18.png | Bin 442 -> 378 bytes .../textures/blocks/wireless/side_off19.png | Bin 442 -> 485 bytes .../textures/blocks/wireless/side_off20.png | Bin 443 -> 477 bytes .../textures/blocks/wireless/side_off21.png | Bin 450 -> 487 bytes .../textures/blocks/wireless/side_off22.png | Bin 435 -> 474 bytes .../textures/blocks/wireless/side_off23.png | Bin 431 -> 488 bytes .../textures/blocks/wireless/side_off24.png | Bin 483 -> 485 bytes .../textures/blocks/wireless/side_off25.png | Bin 483 -> 421 bytes .../textures/blocks/wireless/side_off26.png | Bin 483 -> 414 bytes .../textures/blocks/wireless/side_off27.png | Bin 483 -> 474 bytes .../textures/blocks/wireless/side_off28.png | Bin 483 -> 476 bytes .../textures/blocks/wireless/side_off29.png | Bin 483 -> 489 bytes .../textures/blocks/wireless/side_off30.png | Bin 483 -> 483 bytes .../textures/blocks/wireless/side_off31.png | Bin 483 -> 483 bytes .../textures/blocks/wireless/side_off32.png | Bin 483 -> 476 bytes .../textures/blocks/wireless/side_off33.png | Bin 483 -> 434 bytes .../textures/blocks/wireless/side_off34.png | Bin 441 -> 481 bytes .../textures/blocks/wireless/side_on18.png | Bin 483 -> 402 bytes .../textures/blocks/wireless/side_on19.png | Bin 483 -> 466 bytes .../textures/blocks/wireless/side_on20.png | Bin 483 -> 460 bytes .../textures/blocks/wireless/side_on21.png | Bin 483 -> 464 bytes .../textures/blocks/wireless/side_on22.png | Bin 483 -> 464 bytes .../textures/blocks/wireless/side_on23.png | Bin 483 -> 458 bytes .../textures/blocks/wireless/side_on24.png | Bin 483 -> 458 bytes .../textures/blocks/wireless/side_on25.png | Bin 486 -> 420 bytes .../textures/blocks/wireless/side_on26.png | Bin 483 -> 411 bytes .../textures/blocks/wireless/side_on27.png | Bin 483 -> 465 bytes .../textures/blocks/wireless/side_on28.png | Bin 483 -> 464 bytes .../textures/blocks/wireless/side_on29.png | Bin 483 -> 464 bytes .../textures/blocks/wireless/side_on30.png | Bin 483 -> 459 bytes .../textures/blocks/wireless/side_on31.png | Bin 483 -> 462 bytes .../textures/blocks/wireless/side_on32.png | Bin 483 -> 463 bytes .../textures/blocks/wireless/side_on33.png | Bin 483 -> 431 bytes .../textures/blocks/wireless/side_on34.png | Bin 484 -> 450 bytes .../machines/wireless/BlockWireless.scala | 2 +- 36 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/assets/ae2stuff/lang/en_US.lang b/src/main/resources/assets/ae2stuff/lang/en_US.lang index 377c57e..6a9f514 100644 --- a/src/main/resources/assets/ae2stuff/lang/en_US.lang +++ b/src/main/resources/assets/ae2stuff/lang/en_US.lang @@ -2,7 +2,7 @@ tile.ae2stuff.Encoder.name=Pattern Encoder tile.ae2stuff.Grower.name=Crystal Growth Chamber tile.ae2stuff.Inscriber.name=Advanced Inscriber tile.ae2stuff.Wireless.name=Wireless Connector -tile.ae2stuff.WirelessHub.name=Hub +tile.ae2stuff.WirelessHub.name=Wireless Hub item.ae2stuff.WirelessKit.name=Wireless Setup Kit item.ae2stuff.AdvWirelessKit.name=Advanced Wireless Setup Kit diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off18.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off18.png index efec65d48a667d23dd9b9baa6068144936b943bd..add975001a85a74c6f27adbab84e86458a6230af 100644 GIT binary patch delta 352 zcmV-m0iXW51Ns7xBYy!wNkl49$v)$W}Hsp1{geSlb99cmWHs@(@;H z;ROV-wDuHR?Fnpbezk}wxSwQ+jDKPOmmkOs6Y`QbZ!#Chah?DG%d)^3Q&p9+WnAJo zro;VygX`4*UDu&$8c33a;$>Mv7=|!S6FeSYVA~GGtEz&FZGYR(G)*DT^HU76EQ6vb zUJQm|pdfZYlO*Y|Z`*d*ks)K`pOrn&BOrs>5RBe+-62i|G)>z(qW66d^E@9CF~@b? zz3`5~1qEZn1O!J>L`mpD5Kv5H#TbgP+G2uX7~uOpUCA`fLxTh6lhW(Df}$v&QeGP1 zJAyNG$41El@i yAiZf|Sr#2|!v1QEk@;8QY@hv1i2dJp27qrPcBFrt(0$qf0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGq zB>(^xB>_oNB=7(L0Z&OpK~y+Tt&=@Y!$1&)pPhg$6U0vy$rm6Lgfk%b6qKQ%OoT#c zatJqs2qh&ADN<0-TO5J{PGHFuL?W_mq}ce4*(gAygr86H?tjkgyjkz=tXAExrpS1U zV|GikY8cW>f=0a|#?#{iO6yy&EDJY-0nVCD@n3ekIIh(Yh9SnUFR1M9iNDwHL90}D z(pKvnuIq|(S=#M3I-Ls?Y52Y`&gan>dclCE8#p>V5TD}q?jC6pBbmh5-YiWuy0jlq zd|E&GCMNW8j(;(;NCML|#o)?85Xg8QoMQ}`YIp{kUO*g0a2!XRi|{-TMwTE=Cix$z z)BehEIFxT5O7rOqe#8H4fki@iRf|wDN+SuPY<0qWE|<$Po(Ja`LzG4eNx>qy>R&G` zBw!_XW=I0tw#8tDBb5Pf^x!G(a)OAH0IiCBn*f5FDiLJOgg z#zYFlh95yAQea}E1vFat1N;kC7Ft+S(4YZA4(?;j%z5N6Nk5bgq?F)_2=IWZOPKf`QmfXC zqerVUdDk+bYYLPm;JW~bpoR*rPk8Rzb4sLuX_^x7$xME?J&Xnpd@U%T`Gi#5z=j#9 zqX+si&C=Kk+F1NZ{V*T#)&?vgG50000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGq zB>(^xB>_oNB=7(L0Z&OpK~y+Tt&>kq!ax+pzZSJk1+B)7VQnHVgj0A2g9lJd5H~#p z8<8k_0Eu_-1TKvWUAS)C7_EX0mC(xfbhI^%segXSWafSE&wtFk%xL9GIl`EiAmEgl zDZ`Li3e>i0Vq9NcB43z;Wm!1scCk~hi@x7(W20Jy@B8TY9#C3Y6}@xRfmSLlM~%iV zn$4z&S#cZ(t=1lN8m{Y#c<=S$^@ezS*0H|ylo-_LV+>I_Qb3{S3~aC2*sOT($|uz5 zV@w<=V49{FntyH}yt|ck8uT%SeB`hPnw~>27|2nxaC$QXV_YB#M{g%k-TunK`A|k0 zDksr{-|#_?>}QvMQbt5BT`^&Y}A+-6H5y}!OlWsp&bPkQBMRe+?pBg;4lV5++;VIH}hs^-^_~i zVp;(}r`^UlOOHf2I!s4yFUQ8y;{(jeI1IzU`NakH^LfUPDt{GhXEJCuo3K9`NX;)W zUOlctq*8OLP&h!TR2r*-VzG#F`LI_(tyW|3tzknKI&>L7mpyRgDQ5{Uj z%|0g_%u3|h*b+jJFn=Vlg+LcBp1eumBqlTyR%nJ} z2=O_R4ibzFrGNP5PshgA?j{UviuXo#oiXxJ%n*kTUv1IfE)t0Z*0QTu*;$5VS&aGq zAV-c;+Ho9cnl`cuGj0hJ-cI^Dk04GivWi!pdo?RDpH#SyFR@^(|PB8 zd2+=V`6wpH;R;%<78}%OY89z%%HP{aF)`?U&d?mtkUdbJ{~9DpFr+~;nPh_|Y(N<- uN)&=(qEGfYVgFarY>)eyi2J|q4B#8ik-C!+>3Yxr0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGq zB>(^xB>_oNB=7(L0Z>UqK~y+Tt&>eo!ax+q|812v6%g3=0@j7NGpvn?iQE7$APdAz z57CXt0xuvp=)#R_;?{+ppj$w|riIYj_i&J!#?+5rGI{epXMg6+j8r|WMu?dQ0g24y zRFx$cXkIi~d3k<9zEFm)>$vOpaoK9I{ifT+d7}Z(^Dvu^VD2BVy?5J#WSVEiqo-D=Lo5b)3m3AC^x}mq+ZQ zm`%8VrfIB5vVV%)aKiI6$QLeG&0gnF41^jq*A_@b{D@C5CK|YEhL{6dybVUy%Cv_)eBcHfN z0T(a~gOy4tk5XY9yE`GDb90c5d=x{7oGtOI=xzV>GaFIvAHOs34%0=UD}dd*hX4Qo M07*qoM6N<$f{LfOmjD0& diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off21.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off21.png index fc72ae1b61cd60bb3f2b3d578b413838d411eb1a..f5ea6ad511dc0b6ba58a44d8181a40df47a37cba 100644 GIT binary patch delta 462 zcmV;<0Wto<1Lp&fBYy#|NklBb5PkPe0Eu2hL1SgaM6vT1*cclcEuf(> zkpi*dN6?5AnAq4rp^c55zra=#O{{D%p;3ZBIF7qDGn+dgQ4``OyUEPXn|^E< z1OSX32a7DzvN&3&qj+3o_4y9k$=zSFdPoi|N2CFV~hQb ziw2Z*dR>&ur>It|3o)ovDyY@YB!hOl&CZWrAF5?S)h)mS6v5R&C<>qf{=|XrjA19@ zAx59gO5oV$4irU$*YyBDxB#?e4MKPrJUz@Y;RKOLM8@eBgWb1RxPv|vPi7FB3Zol` zvAQPNK}<1pkbhvjJn+i|KFS|JPb7F34zuiIR-OzEFq|Mzn``#LFWa__LUs@N{aqxJ zNy)~a>Jnhozm#@e7lvW{*$vi!`W&jQ%9=Z!4w`rO>?bDV<2#Ch2rr zTwUK{((CcQY~HYs?kHv!!wg2F5gXKJY89*fOB*Q$nnxL8=H`Hgg!=sBAiYlq36?pp zK`NDEgCPx#1ZP1_K>z@;j|==^1poj532;bRa{vGq zB>(^xB>_oNB=7(L0ar;xK~y+Tt&=-T13?sp&u-LR^1!H_0c%=>-iB3Q=4))X-| z`y;k7rihhbVJZ>CO02|Qgb3OTu~Q>?kX5p4&W#f{l45;)Fn`S4b00HvnbFdVX&+tQ zT$fX5#tcJdDUjXDigABeK|C>mXf%qWav9sXoalSSA~rG^v|24R>MyY77DO-Ym!MhJ zte?;Cz;PTA!(!Vu3WZ(hG^*9Ah|jeKYV~)#Hg(J_tqlxn^f89094VmCBL-I1H!;7w z`l)3Fj=)rIJpDXZ@gyr_?OlFlM1=`)+N#*hw(^D~74}(76>pgjuGtdLC|d_%obM Te$&nc00000NkvXXu0mjfF`v6= diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off22.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off22.png index b9b206b5c7f69c54aee036f186e766c5fb17eafd..7d2003e758df46550a0ec0a1dba004526c5c3e20 100644 GIT binary patch delta 449 zcmV;y0Y3h-1KI8XY2OM+|L=cBM z=pxvm)}=q9i`t=ri;EpZ5Jw09fUBT_dxkCwwhd`Q`{b^DnusXHgBQ3j_uaeu?w%+v z79{|L{XQl!Ba`81jXvf5GCR*t53qC7uq+D~triX{6~<2*4S#HxO7MLj-Od{da|?_& zPn!^h!mO-T4^gkzC#s-UtKsmUtt<)7)A;rl_ba^5Qakp;Q+ZQ=aZww zgNVE|pG7(?09!(e5iUrjuE1a*asSv$B<2LBX|h8%6Zyr9(Dg&eaRwnIY|Frmt8U`EWb{V68sx`%7SER2<6w1d2g@rZr{qMG@D;2xBqFrZ`*yEr}WxsZE02T%V)Ui}+k! zo-s!MI3~v73W6YDhvrP9BDG;_KaP=Nbn}ao*aKP;nmY4ei$n<$8n~{@4s93*k59r< rV4@-`j;3A}?e?UPiMaoJ&Hz3DJ$ty7xg$&*00000NkvXXu0mjfCtAuv delta 410 zcmV;L0cHN$1G58=BYyw^b5ch_0Itp)=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGq zB>(^xB>_oNB=7(L0Z2(iK~y+Tt&`18!ax*-Pk*!xVnjE_@B-F__#p0GzzY-;#7!Tf z8-YZ+Hi3nEpTvbeL1Ww~iG)y-w)R{YEP?@lzGP-{@7!}|=6}wNRynDp$as$;4r{Y% zSu#q3x?30H@!=lD?OhZK1@!uTTr?WuZ+AMVRjU|{Mi{=m!Z|t?e>dntbDYDp*}R1B z`{G;|&-2h~UBRRghM_oL21DqE1x>ebe)c3j#r5q0(j-C>N7ySBXBu7lDHOZzqL|Rf zImYCX1h#F9!GD#F!J=5fImVEghBeT11JQVl+Uc`6SJAuMhm|ErlX$WNRqd~|Z%k>+ zP@1_K{D%KI0v`$CRjoqBD2*f-XR8z5b6om93FjC?lxD65d?Y~-E!_!yoMTKLDRH@6 z7K1NrLL%qPv$K_C{l>I?YE1R3__lxgnW+8acLqKHjuX_4PWFs$$p8QV07*qoM6N<$ Ef*qu`asU7T diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off23.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off23.png index c885d49819be0a4af93d5424a356d0e9a515eb95..9fba6ed4ea013fe2fedb5d423d55a8274128ff77 100644 GIT binary patch delta 463 zcmV;=0Wkir1Ly;gBYy#}NklBb5Pi3B2O)wY@3x8BA6$}Og_*)V z-Yx60ME6t zyy8d>^c17`p?_dB(q?CZt9u7nTC(Nr@7Bb}*m%;}V5ERin~X`Do%8uTcDHNT*{YyW zD2R_Sql>|)c}j<22-~*jPD3={oQ>KPjQ`y2cJcTW(ExedWJpfRnPO)4fJ?$T|FuY58?#6( zFrz`SSdPx#1ZP1_K>z@;j|==^1poj532;bRa{vGq zB>(^xB>_oNB=7(L0YpheK~y+Tt&_b@!cY{)|Gl7X3MjgEaJ3|g&*3Y;ZXgD6=|gl8 z7$ENO3O)z}&JLYS6azG^N^8%-lN8gC8vP|V=bq1d?w3}-sDH;ucn?Dox!KosmRz9S zYP0e4A5*e;QKz7i&xmSbG8phLuj^r8h5+5a9x*;d2t*E zz1|%ZDW2!C@nycmeDQ&|m4emW9^xZONDdbeR6)mOtAyIsw;{#Z^#S`RCJh%b41<+u z9pVX}JkNrBnt$39kQ_b(O%)IZ0k@h5ZyZ5S3dGTR(}A4!Pp1869$83Ez9o0?KU<(j zLd@=2>_lQDhYJMB>O>rcI6;x;S&)xn2+7&%nXd6+w94#+Y~-VuG+e;4ELM)IWmGGB zI4niH&-5T0`6z~voTB_HdfUJKOqBb_?+knafgPRK#t+oqTmS$707*qoM6N<$f~|$J Aj{pDw diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off24.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off24.png index 2ea3e6db1df641ce605af8d6260607898aa9f815..d43b0d7c3efef967dd6bc5b88fa6a6977a236e0d 100644 GIT binary patch delta 471 zcmV;|0Vw|C1LXsd7=H)`0000V^Z#K000FE?L_t(Ijipn)P69y~oIN-oPOjz+VI%VLr7n_3O| zTn@cn53bWidOO2-{k9H~PH)Ll=?axfWhDpYav9a?wQ|sIw;6PQ97IDVOoD}k07nP< zgB0*E!eH#dO4tD>JgZ9Ny;uezA>jMJ0Q||00mE3sSW3M0TXRlWAQp@9f^H`A=lBcm z(1jGrfsg`Lq<@Re(1vn1!!hVX37eecn~8jMegfOHd1lX!8Dm!yQO#iiooyAf&o?I$ z2^^eev7bLgGMSvX@q@f*jCveFu$XLX|KONTpJ|pbncIias4AtjU@a)~||sd)3E8-2Xji0Dm?QylHXc5j+3@ N002ovPDHLkV1n>z*R}uv literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFM>ZJ&q9iy!t)x7$D3u`~F*C13&(AeP z!Bo#s&oF6g5D!qzw$upEG*3@01`Z&Hl|hP;m4Ok+@&aOMC>!Kz4Mt|LI1`X<$jAit zRuqt(+0FtM&jPYRAOVO$`e8Jhr3}D;n841!0#spOWNg5=0Aeag2kQceNmGDq5MTnD z!vt0tWN86pL3J4#7=UD@OD<2j!qLVJWJY?rIEF}EPEG&@GaH*)>UEW^0?Mpx3yTZ_ zQYNg3seN{4-OFAcq0sVkb1Zl7ndrFX7mq*=e~Q3rM#DaJBaW+cEWbZHQ|QXVtj8M8 lbDhszAdmGvE%Sc>SL3}WQyqPzD{>*%9JRUay za6BII47%N}L>qpl)2aM?e|_T3@zC%0vE6Plo6Uq@uh)p<7=Kk&p)4}^?;pY^Ndn9F z{boL&W4T;DRl#Dhz-qPntzf_33z_FRj4|kRI~uQed_Kc<-K)m5vr_DN z9&Fo2uh+Xdv94=eE*E53cEd{o4d%%d^Q5vYZvxpg`e|*A%?}$!uw*(ok;!BtB3cwh z!qKPKQjH|gZhxzj7z_po!w^9bU^pCJd5uwx{ixHtik5s2(gV&}yRA4J4oK5f{#c1Z zV^kv*a7i=)yUly=c00K@ZL`@3N1rB8jnNTl$s85Sb{yy5F)~Jz;qM-BNjPUFD2n3l zBDEn2Mx&8%+^|Q`2h`RWCAr(rJ|=2kd(HrU00Aewh!8&U=v4p!002ovPDHLkV1lJ? BxGMkv literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFy)37&w3&Rt70XRt82O%L|C5p=^+=H5i$};!HrcAtMvm zTTwuEW;+X5JPXJMfdn81>4(v1mNEbXVgfq@3s8lDk+A{e0*I*~9jpr=CQSjdL4XNp z4ii{qkfjBX1=VF}U;vVpF1bAA3P&3^kQwRe;us=vIXM9s%xr9Gsn=Du3MjL(Ei5t! zNSUxAruNyHbuW8)ghI>D&9U6QXQJblUpxXi{3!yf84df?jX18(vHbq*Ora|avmR?W l&via?fjrhbK^?{{k_rZ-rr4 z1HgX2M;mlH9f>yljK^d7`TTgt)AI{l*F~P^m`osr>~aKQ0+M6cI7YfLjM z#lG*uwrzB~-HQ{es>11X!g{^F;3a_u^JI!y$+f98jVCjvsj>N?VFXL&2F0V%NJLyo zk_g8=y_RYufq%NKn?%3gM;yn9q6mY*;LK}`YV3PX(=;vl7Q_SgS>0A_w_B`MEBRw3 z3XM^XRKOw81azDCE{a0#&6Q=DaNN@bsxjIkEt##N+qc@t7)^%jIpC16&yNPF2}$62 uo^U+*9`peVZT2B literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF^) zurL7u0iP{m2Z0(n3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv=}#LT=BJwMkF z1yemkJ;S7}K|DY;+fpMu(>y)37&w3&Rt70XRt82O%L|C5p=^+=H5i$};!HrcAtMvm zTTwuEW;+X5JPXJMfdn81>4(v1mNEbXVgfq@3s8lDk+A{e0*I*~9jpr=CQSjdL4XNp z4ii{qkfjBX1=VF}U;vVpF1bAA3P&3^kQwRe;us=vIXM9s%xr9Gsn=Du3MjL(Ei5t! zNSUxAruNyHbuW8)ghI>D&9U6QXQJblUpxXi{3!yf84df?jX18(vHbq*Ora|avmR?W l&via?fjrhbK^?{{k_J&m`H)x@FQqM3QTNlq|icJ3;%$viCS1=LZb-?IqrltGxq@)#Skai zO?GzP%-eahBD0i{0N`}Hn8b`ogrhauatAp+JU=~PDmD$vvVU+BWXE-X_|cC%8G)|msdEg4j`o$ zB?OF^1#Nc5i+_;=j6xeV%;&(B3B13x4I>`qwYRa!K9806v;e~if^PfexN;(q!0y^Q zvMZ}dCX+rJ5k>_VWn8CS*M+X@W7Xgukj?{>{N_fZf!f_Idx;78_|CTg!whIh0;#Cm z)UflLYdFm|ud}O5_OTM^VHm>bqc0KNbZ6RnJWJuh|u0000UllFtf3#rCwLrDxl2Dwy?+` zAZ5aenA&G&*1hcI5eh9oH^*}Ko{5fIe(?z8@TUl@W;E(9_k=Wt~$(698yAXt4kQ diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off28.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off28.png index 5b4cbf02021a827a30504ccaff1ce09644c76c7e..8bcb4a5fd234a0a1f0095abbee7c48a25e8815a4 100644 GIT binary patch delta 462 zcmV;<0WtpL1Kb0U7=H)`0000V^Z#K000E;(L_t(IjipmPPXa*@eS4pTKq6RBP}+!v zSoj-k>@2i6O$?2Z0B58q6MzsZSV|xQ z?FphNKrWx1W2{A10L&Lm#JSN3g6cZ?AH|Hu9NqW{qJ2tv0=x%BIZud>&q9 zABQJ15l;LI^gb3j8veWq6V z34=rgOBxi5MZVC4B`*Rhu*O*WSJ7;*`k4s(zwZp-7p#}JqXn?>+5i9m07*qoM6N<$ Ef|-%bK>z>% literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF zt5N|00oM0rGk_X73p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv=}#LT=BJwMkF z1yemkJ;S7}K|DY;+fpMu(>y)37&w3&Rt70XRt82O%L|C5p=^+=H5i$};!HrcAtMvm zTTwuEW;+X5JPXJMfdn81>4(v1mNEbXVgfq@3s8lDk+A{e0*I*~9jpr=CQSjdL4XNp z4ii{qkfjBX1=VF}U;vVpF1bAA3P&3^kQwRe;us=vIXM9s%xr9Gsn=Du3MjL(Ei5t! zNSUxAruNyHbuW8)ghI>D&9U6QXQJblUpxXi{3!yf84df?jX18(vHbq*Ora|avmR?W l&via?fjrhbK^?{{k_R7Ad;fx+g*LV+f{0%+TrS?O%VvuFUVjLZ%&-T_fAMS2%kQ_=O9)FMHtkJ+uvB>y-t%jvS z0i8|9lzt9$hd-cf!{ka9DxkI8=P#K0|7^f3|U0w~=B1tIr9| z0SyWD`L{v(c>Ee9N)YlOo6YipCM>*kydF8B002ovPDHLkV1nql+N=No literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF&q9iy!t)x7$D3u`~F*C13&(AeP z!Bo#s&oF6g5D!qzw$upEG*3@01`Z&Hl|hP;m4Ok+@&aOMC>!Kz4Mt|LI1`X<$jAit zRuqt(+0FtM&jPYRAOVO$`e8Jhr3}D;n841!0#spOWNg5=0Aeag2kQceNmGDq5MTnD z!vt0tWN86pL3J4#7=UD@OD<2j!qLVJWJY?rIEF}EPEG&@GaH*)>UEW^0?Mpx3yTZ_ zQYNg3seN{4-OFAcq0sVkb1Zl7ndrFX7mq*=e~Q3rM#DaJBaW+cEWbZHQ|QXVtj8M8 lbDhszAdmGE0(BSzrbczDe*!A7!f0x$sJG`GCc^%2oB@0RafHHTuC1Is00000 LNkvXXu0mjfM$y*H literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF&q9iy!t)x7$D3u`~F*C13&(AeP z!Bo#s&oF6g5D!qzw$upEG*3@01`Z&Hl|hP;m4Ok+@&aOMC>!Kz4Mt|LI1`X<$jAit zRuqt(+0FtM&jPYRAOVO$`e8Jhr3}D;n841!0#spOWNg5=0Aeag2kQceNmGDq5MTnD z!vt0tWN86pL3J4#7=UD@OD<2j!qLVJWJY?rIEF}EPEG&@GaH*)>UEW^0?Mpx3yTZ_ zQYNg3seN{4-OFAcq0sVkb1Zl7ndrFX7mq*=e~Q3rM#DaJBaW+cEWbZHQ|QXVtj8M8 lbDhszAdmGe2Cjo_ zk?s0{HtpI3fkp@s@fq!75)k65(o{w&Hn_5AScUh{cnLMt`GdwpzF-l{kJ~uOpw! zVKf?HIOrj>waxLyO#>p6*_7q-C92ixN(?HM3Tm~hDT7X@!@>UG3n4QEEiB*(0jY`w z08L7GV~L49K_YJbVf0{E0Q#iz%)%h(9HzyeYkLj zE~FHyfrJ+`kbm4TrZqBvp^XHik7(1)1U@}HgBjO(og5T6MmeepVz_~?HZdmJbhBky zINmSdXfKacD#bC*De68(Tc)(@x-bl5sT-^T`RuDr4C$Y{-7X$qnj9x46yux%`WR+F zLjq+LsU3+KczC{tJ^0~u_jJoK%4y0PAHxi6+n$OzmQHLHsoj^Mg*I}HF~iKw0SyWH zyl9Y|z#vhBIStb3G#_ZfW_B!4jDQO4V|4#j(QL2!mY`& z5+MNrfn&q9iy!t)x7$D3u`~F*C13&(AeP z!Bo#s&oF6g5D!qzw$upEG*3@01`Z&Hl|hP;m4Ok+@&aOMC>!Kz4Mt|LI1`X<$jAit zRuqt(+0FtM&jPYRAOVO$`e8Jhr3}D;n841!0#spOWNg5=0Aeag2kQceNmGDq5MTnD z!vt0tWN86pL3J4#7=UD@OD<2j!qLVJWJY?rIEF}EPEG&@GaH*)>UEW^0?Mpx3yTZ_ zQYNg3seN{4-OFAcq0sVkb1Zl7ndrFX7mq*=e~Q3rM#DaJBaW+cEWbZHQ|QXVtj8M8 lbDhszAdmGof{m4pi9wB;Xd(q-!;hd5DKODO6D1}#_WlJs3oWcEu)z;Rj^l34%(3J!NFc4yz273qbv1b~iZVH69RCPy1IW%skZczS$5bUcP|IDd?*Y83~$9Q%*UWvpj1 zXti2sel(Dpn`eLJqymvj&B}cK5XE9~qznp$0!pPLFN0dG#?EHr6+xlH)N}yO4@8IM zI_O9T(b!at*0rJ|Gkd@q%t9___Or&#r|Y z4gnxyNX!_M9DgHyj7Ad)=9$Ac6TG^&i>P7pSlQlUA7|Bjnqv3>r8b+Cd_z1Q$MVi5 zmNwRqNF=;$)RTOSHcV;Twh;&fhE{_$pgQ+W2!3+Zv zJ7So)J-@~07*qoM6N<$ Eg5a>uA^-pY literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF-iXD}xjxD+42t2!0mM|04%P(_lcoUKAixAP zhY74Q$kGDHg6c9fFaXI)mt3B5g`5Q~T`9x|h8?LZRj7=2-6DGtqI&FCKv${uF`LjD~&cMjTh?Sbl$YrqGpzS&ucG l=Q^LcKpyLzpbldeNd})sR=SR-Yg<7Udb;|#taD0e0sz6rW+(sv diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off33.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off33.png index 997ee0425723bf6fb12268541e98ed338208e3b2..f594d007855bc6232afc788c6d93e4358ec65d18 100644 GIT binary patch delta 420 zcmV;V0bBm#1F{2<7=H)`0000V^Z#K000DVPL_t(IjipnuP69y?eRmulAzp$s6!!yS zA^yuXB$&|9NP*b!5i}wNHZ&ws-p^R*7f?`1a)xliapuiAmqlYDagx2=eKYUv?A)x? zxN4*T@Day2#!g&Uq8)y^H(lAhzC7d9J43l##?yR`+g?xbhkx-H*R2-T>owk^H`FgK z1)n@lVAbpAX}^Dm;c$3V27|!>qtShq!D6uxaJ5>YP$3@WXy7<*=%IP%Ck_qR^!RM4hu;U zlauYfj7`D-6117jtI@}pAAR8azHHcGe>LSe`l{I5#~nTj`q literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF{&803<72a(T)Xjy7%}Gt$$=F+}2Wasn`z+1S)lud8eoP-bOYSY!~8 zGGRqb?XxrMUiR_`g_fV2W4U|JM8_?^cm#6zQv_Bs8uqChaa^5a`Tg0MLRS`MJ=SoZ k>wM+{d8~JWI*eH)8GIgD={laSZ3S8A>FVdQ&MBb@0B>SvSO5S3 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off34.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off34.png index 7bf3b7d3e9ccbcaad87130076dee71cff3152ec2..e27ad3281a114044ba09e2f8d7342b5184c359f9 100644 GIT binary patch delta 456 zcmV;(0XP1+1K|UZBYy#?NkljL|{k>f$H(0WSIl4Pg)oB5kd0&As#?9UvjT8BDcw~>)R)IgAd-9 zSC5R*KR?hcIIO_3tRd=|Tq<%qn_LP>6=kFtx>s;QeL+A?!gY3abSQ2@BLVTS2f191 y57c49HEFOY%P>Z86fsrQ+p`W6asM~Y0Db|d0Px#1ZP1_K>z@;j|==^1poj532;bRa{vGq zB>(^xB>_oNB=7(L0ZvIoK~y+Tt&=-W!$1^8uN}ZvK42&iA{|vsLCAW-21pS?<3+e3 zqzD@zyI=F+}Cesb9sn{nO9H+!;T9XW$i~sGwON>=Ud20000< KMNUMnLSTY-f4E)% diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on18.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on18.png index 5816e00bf5533641ace0d1ca9918885bdd11c29c..e16bfb776abec245fcd76511cb46ae57538c9b5b 100644 GIT binary patch delta 387 zcmV-}0et@B1Cj%f7=H)`0000V^Z#K000CJ^L_t(IjipmTYJ*S^eFj5RTCnS^f*WjV& z!E81YZ%$D*Sf4MI6WIx(;8TAAbnKSK;$KhY-9q!tX3;*Hk+Re_WQk%ZQH^$O-!d#7=|H648tIHI-PJnpW(XhMPrVmQrt9+1mOP| z6f(eKvAE*J%d#w4P)G~I@K;mWw6ZK^f2^7C!-f$|nI}_R*R_afRaFVcJuOQ$5Vb)^} l=ef>jE|AB1C#b`iMUuhik(I9F>DpG1g`Tc{F6*2UngH`SYGnWb diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on19.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on19.png index 5a14e4e5e0beb90028f2b3fb5cae62dd60f65e5d..1a35dad0e526fdca1b80603d9bddb22630945dc4 100644 GIT binary patch delta 452 zcmV;#0XzQV1JVPK7=H)`0000V^Z#K000EgvL_t(IjipmPPXa*@eS5cfgn$XQG$vvM z3$e1H(chpQHg-yZ*zhB0L<+T|kxqYuG&GhLicu3AT1kWuPVU3Z>@6ONVu+L6B{Ms3 z_RX7Fk=xAq0Ptzsn8y|@i?b#Dibq9u9v|)zPb3kG#cBy65in*=Mg zpYY*0{Oz?m9HTQ5|J+u5h$*1DTPYE{-7*my;8K!OX^{mU>-ftAH{q+rlD) zfRqU7l*LCsG>EOIv7JvMv)xvSH2+#8{9DE_a zw=a16whfif=fX#q@dU93E2M}B5B!3DjOC66&o|hDboynjHf;_ zo2eN`&wC}go_m6$Y-|Mq5-~mj@S!zEp^sYka6ySUa2zLcpll&uy`A7Y7(hvEDo|M0 zX$RnN^!PC*&JqI|w9VW#>-z#1eCL zF&qm^7ISu#y|f!r1NPZedlKjTt~Hu(r-D-nu}N$*&k+S262z@ywOO!Q_Xu9lmxp^| z{5Opq7>+0yjYe`{pDCLWe`_Oc9IVYa3v<9BVW0mRBsV%(s6jTHl>;X%T9HtbugR4} oLpB_3ZWU*H)yqWg|E@EDABi=%`Du~*kN^Mx07*qoM6N<$g59mdRsaA1 literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF2!0mM|04%P(_lcoUKAixAP zhY74Q$kGDHg6c9fFaXI)mt3B5g`5Q~T`9x|h8?LZRj7=2-6DGtqI&FCKv${uF`LjD~&cMjTh?Sbl$YrqGpzS&ucG l=Q^LcKpyLzpbldeNd})sR=SR-Yg<7Udb;|#taD0e0szw~X!8I7 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on21.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on21.png index 13ae4db69c80a601ca56d38b7369f14e1c64162a..ad1692ee0600ad6da623b57654567a272cac4c3c 100644 GIT binary patch delta 450 zcmV;z0X_cX1JDDI7=H)`0000V^Z#K000EatL_t(IjipmPO9Md=eS3H2jw1J1{%-p=0 zH*aS}VW$uQz(`6gVky()Y=b_fqY^u>FV9G4mSNjA9@=djmw(F~ziBqHUo67&JPi8Z z$Zu_Pymi}x$mgA?QaOR^x(hL=R;y?ZkL0D-WSZ21~Vl94S-0pX~+o zBAs0sV~pvl1b(`7V44E{st@SNj{q<}4M-Vb_pCF+gbP@fl@t&RKB&K=@A=#q36YF# z;J&uOIpGwBh<~zR%A?K%eylsl+6JHY`6kDhl@_Ne47*BgZl%W~`)fXTygOZo?gTL# zeWHuPX!De&nQ5eX#v0H)kJS$1CP7EX;nfF+iHS(WRKh3>GoU453uCoOu;RrVdY;c` zuh!uh{bL2EFw9^$9LALCo@K-xf4fG?S+XXWnLVH-p*ws2YmunH%pT-&Id*8nl1U~& sWf~Z$zzSoiS4F$M=wl-6|DH2|A1uzc1Ma4{(*OVf07*qoM6N<$f-bGhnE(I) literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFl;ubXMsm#F#`kNVGw3Kp1&dmC@4|l8c`CQpH@Vb)^} l=ef>jE|AB1C#b`iMUuhik(I9F>DpG1g`Tc{F6*2UngIH6YHt7l diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on22.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on22.png index 7543bce31f22ba343eb0476ae28a0abbfd950c3d..03c1d708cad89fc695acd4e578e776fb4db44e71 100644 GIT binary patch delta 450 zcmV;z0X_cX1JDDI7=H)`0000V^Z#K000EatL_t(IjipnuP69y?eS5cXgaC=Ql$v;0 zi2tG;Hg-yJLPKF<$CXGfD?RI-52CY^L-EK!S7z_sNd>@TrWgQ6V05O1M9xVV^K%zp#vk>dW zLW+^!UnQ{X-$U3ARG@%peqjUBl}Mrxfw#B7gdfP|aypT882oyA2sIu7@tlGsAPYro zUfgJQh*OM38-EGL7K1Yr*!AxqOC?@goj&`RRjfk|h959$bIn9MPM{tYXWTfyMikhZ zP4uOU!C1?brkbgwWyTs%pHsDMU9;^*csn~{H!&d}-w7RRFwB64#GFWN66~c}gBlKb z1>QdU=+1C97-le?PBmo}GHuHETN^0`b|%Fv%mEDv^*i~mL4uQ6oP%htd1Zd5;#)zbFXaE2J07*qoM6N<$f+*|BJ^%m! literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFVy*cn)WDh!N_4Hy?dOavp@3Xlx~Oh9v( zz$$|*Er2YjE<*zYkgRmcv+1h6=b2OtDnm{r-UW|Nrh=a diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on23.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on23.png index e3ee74bc954c2edd92685aefbd4c7fe9e48d5659..5c61ea7917e30bc196a1de0c5154660ce1baa6dc 100644 GIT binary patch delta 444 zcmV;t0Ym=d1Ih!C7=H)`0000V^Z#K000EInL_t(IjipmPPXa*{oZ}Xb5FpW(QjLd& z_+PZc#!e|tXedmqOe|=?E6~nHI{h;iicw2iO@I)N+=rRRtpbS{;wF2^n|re}``%ll zv{#A%VB&dLWu+`jvK2p-lZph-Pmjpv){x0$aM$VJ)NusAa(`VMmdhB8Mi>r0QQX-T zynWqVHT>-z{|+yr1Ng}{s8?04s!$N}kedKy@Ukk5|ZFdX;@V+#ob$mSF- zZ#N}}_B4miq<>&sv`uA_-FqAPyprAQYzxMJVXUk{4O}15HsVPS&lg1km!KbX2ELZ7xeqSZ0DdW z82@R@nj;RzC1zO#X1@=72-OKL0gHRyA^A4hn^W1e`G4PpU31Dr>Ul mDE+E9+p9h%a{u?70ek_5OSs8sr9J2X0000P2)u|oxEH9Av%n*=n1O-sFbFdq&tH)O6qG1&jVKAuPb(=;EJ|evNX*PD(erZ+ zQ83jr)H6)l8pH!svn@5kGtJXei-7~kVP%kFWMyCkvb=y;8p;N_T7!`pEY1XE8!|G1 zy%hyyXSTC|#j}8H5J&)GkbW4AW+?+OASSRgumDvU7#SNdE`XQ{(!sg_V$u{K8w8ku z<}iU(23cAFSx{Yu1_mHm>5|J+u5h$*1DTPYE{-7*my;8K!OX^{mU>-ftAH{q+rlD) zfRqU6;YwC9t&JM zWdEgZcIj3MW*38gK#-SA(7JWWTm6}!Qm~`f0u^!Pts67@-lkB7^k5g>y!mFn`DR8G z_6h+2%sdb4oVeq#x1?X`q{NrE*Jq^C8%QRTc<6L+TB)%8rhnPQVX=tGWPD-K7HnJSxWcME`k7btl18B&|+ z2qPDx68On&!4Wo;>H$#tMMBCPyuinPx4guJ10)iOFo2K@KI)%iq{av|0|5(ZnZo_{ z75mH=FvN`o3x7|*nF;*pwvdq-{yMoP+d@{{vu<_X{wn@T6I_h>hrhSl56&D7su}xY$YZ_znPo{!#5fdXt_vj60F#(V5o-t9dyfV zqc`$d#4v;DbgC&UrcD`tYa{u@U`LpxIiMk-KL0gHF*SsH5CzC)vwWcmGrjofP-X)* m7-_bOW_#UbBJBUx8Ne5K@wmx(t1!v{0000Vb)^} l=ef>jE|AB1C#b`iMUuhik(I9F>DpG1g`Tc{F6*2UngIE3YH9!g diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on25.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on25.png index c0a76a2bac400588932fc67898d8cbcb445cdc2e..6ef5d3dc05841256114f1a2a4ed91ff80160dd34 100644 GIT binary patch delta 406 zcmV;H0crl`1Ed3x7=H)`0000V^Z#K000C=BL_t(IjipmfYQj(u{vwHrv|wEco*-Qm zcUkEwIYmz3Cb-HWTuC-Lfv3<_T)FL{Jwd>g4YUNKfs}8`E6;|egbqx|%$sk1zBkX9 zPNx+B6h(nH((Cmk+T>@kScviZ@{GIt2Mh)SY&IJNK_LDpihtnyKJq-r$NL-X$0zZ} zaSX$@?P|GPVzpYe>L3h5tk>(W4$?FgXO?9!O%s-7!7vO_N>x>&*XtE!SzOK*N4i5}?Q2+n{07*qoM6N<$f*mfs AW&i*H literal 486 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF&q9iy!t)x7$D3u`~F*C13&(AeP z!Bo#s&oF6g5D!qzw$upEG*3@01`Z&Hl|hP;m4Ok+@&aOMC>!Kz4Mt|LI1`X<$jAit zRuqt(+0FtM&jPYRAOVO$`e8Jhr3}D;n841!0#spOWNg5=0Aeag2kQceNmGDq5MTnD z!vt0tWN86pL3J4#7=UD@OD<2j!qLVJWX5>9IEF}EPEG&@GaH*)>UEW^0?Mpx3yTZ_ zQYNg3seN{4-OFAcq0sVkb1Zl7ndrFX7mq*=e~Q3rM#DaJBaW+cEWbZHQ|QXVtj8Ky oVj54zl zJRXlFL9f@lNKlrgB*^ppf{7$>T~`(a(l?t;OH_&$hN0}6m<~S_jK+$rOmG~>0-{Gz zBr%hf#z+FKwtv|-53}NMI7GkSZ|!SL=a$m!SyR4dq5<#ORGYTj?XcZ$<)2J`?`w=O z;E4(v1mNEbXVgfq@3s8lDk+A{e0*I*~9jpr=CQSjdL4XNp z4ii{qkfjBX1=VF}U;vVpF1bAA3P&3^kQwRe;us=vIXM9s%xr9Gsn=Du3MjL(Ei5t! zNSUxAruNyHbuW8)ghI>D&9U6QXQJblUpxXi{3!yf84df?jX18(vHbq*Ora|avmR?W l&via?fjrhbK^?{{k_4m?p=~1N^oEgW^UiU zH*aT^(oQJ`0N?YlNMsCyckA@2991}ZeR)PUw+zd&@X+nzxPMyZ`c1oy{c;(u>tZzg zMsaJK>z&&Ulw#42Yqb+Njsl!2_xoJ@8V#Tt87M{ufC@m7+o{V4vF9W5 ze5_>iDMp_@mB9AXB^1Lz5Uc{w;~Qsnh1ujAchd4 z=PYd8H-x%qf`1{MY?#!*%mlU{o6z$Xug&f`*MusDq!`W;w?)qyGY7#MGp^sABGhcD zMoWE3FzRnkQ_qUL?|H!<&^=Gw4w*y?d-yoK;wmW-#32%65)3P#ArTR=+ho{V`2xYf z<<;A3aE<=4gHsq*FdmPkWS?adm|20T-z|0&J3I$GR!el2? tz$8=wl;8xTC$EZTd(p>4*#A9e06!W9wgXLuhQR;;002ovPDHLkV1mIV(b@n2 literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF5|J+u5h$*1DTPYE{-7*my;8K!OX^{mU>-ftAH{q+rlD) zfRqUto@cSjBrF~m*wZr|*i z-FY9Y3VQ_)0KRM+tBf_v5^v2<`Lry?^V1`esWcLa1a3MVoPSj+f?qb9I4YGe9*;2^ z4v^p36})xTg39M}UbT9TdcD4qf?BPHM&rU)(C_yJ9DIym#4KoKAqGGN&Wv#e!0~Lj zGaKoRb-yM?JNY&s5%0CxerYmKRAERbze$w zoKKlt6XV`2I3VPRg2`ke2J1}OjQzJV(g!f-oP|DMlRL1^e>D;hSja&plM#a*=8sV5 s&q1P34mmn}RqX9m9}~I%d(Hs90Vv_N{3_Xcr2qf`07*qoM6N<$f>xl+qW}N^ literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF5ZL_v(Ho#f&H|6fVg?4j!ywFfJby(BP*9@8HKHUqKdq!Zu_%=xATcwqM9AC&ooa@Ed~xChm}E!k(GfF$npYWX($`yY7Itaus9QtZOF(3 z_Er>-o!QO;7S95*K_CH$LHc1dnxzcDfSAC}zyefZU}S8-xBy}*NC)czh)Gj`Y!F}q zn!^NE8DwbzWI=Tq8W@0NrAsbPxx&%L4P-`ox;TbNTux2^1~VI*TIzL`tpdudYzvDF z0#YWdh^c*cX5GtP9-+|kb8{?r@0sYhmEuz&!@j#iBjypv(kRB)WlVlWt>-+M(1wl2 sF--_4!3txlUq!n;?`IO>_%)r2R7=#&*=dVZs3QCl?MwA5SrKP_&4dMZ+*_ImNnda%K#lQjNurf$7vNA9NSzbUa4P}E|t-;6)7H0yo4H=oh z-iiXUGuv6f;#oj82qXY8NI#55vy=fC5EIxLSb!=FjEoH!7eGt}>0n&|F=+~r4FXI+ zbC|#?gDfq8ET}F+0|St(bjjr@S2)_Zfy_ux7sn8Z%gG7AU}j@eOTDhLRX~}QZDEl? zK+1#_F}2Umtb5tZBNSSGZjR;dJrf9luPE~8ql&Q(FBQo%{BHm;!4>4%ug2n1%-E05sp5O}c>X zc(5H8u|#r$F@jMEF6OgH#uoAN{t?Q!y0VP!;0uk`W5_N6EX(o(XaYWOJ)r;X!1F86 zJmBW(4SV?w@qcjx7#1o6QyMc9e6+oZrHCPyGHp_oK6X_YQPs3n&&*6`X587zh^(qn zJ_@7HnlyW6OS6sy;GQSb_Iu{gE^pg156YT{kdMMh0Fp$GI|jxV3>;tG;q%9lOPMzQ zlL-bevW3xTBntP;vf2AzYot#kfC=${B;lT?5$XE=bv8mI1_<#Wl}d?1hWVXLJp?MS n!WimRk=ye=CSw2hoB{j-=8(A^79Szw00000NkvXXu0mjfuaeU4 literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFnAmtPE0&tPG4mmKP99L)jo#YcMi{#hHL?Lq;aB zx1xaT%yt&AcovWi0trA2(hsB2EM))&!~}K*7N80PBVz-`1rSp~I#?G#Oqv2@g8&oI z944^JAWI7%3#!Y|zyKsGU2=KK6^=G;AT!d_#W6(Ua&iJNnAzCWQm?CQ6;NhnTUcZe zkTPLKOzpEX>t6Qq2!)oPn`60q&qT*9zjy?4_)`Q{GaB}(8*yBnWBL8rnL<|^$5Xb}Ja diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on31.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on31.png index bc302b4f52d9397656062cc0c09d8c09a14b9d03..67fb9b59a8159574949dbda45d16d72aa0b6c0ba 100644 GIT binary patch delta 448 zcmV;x0YCoZ1I`1G7=H)`0000V^Z#K000EUrL_t(IjipnuP69y?eS5ch7Xn6YDK*Mj zh`&Kcq8&DNN`ct$5i}wN+Sy2_2_64oAz-AWRU?Gln!8&w!!1IBB*aN}lbPK&^Y+cG z$R1@i0DLQjRczgH__n02cu{1h^YV;jY72=(0uRk5E=whj-+$EWI4u+~9*;2^e!x38 zp@Ei=}D`fSv;<2QSujrMt;3=$=nn}c*Z%??f2w4aNN qfHBx$r1@1e+pB&i!v60&1NZ?5bGFI$DD?{f0000UllFtf3#rCwLrDxl2Dwy?+` zAZ5aenA&G&*1hcI5eh9oH^*}Ko{5fIe(?z8@TUl@W;E(9_k=Wt~$(69BzEXf^-< diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on32.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on32.png index 30378d963df7c20cf099c598bcf9df50daad412c..df47ff175b26a680bf11c94d2f34bba9a3903234 100644 GIT binary patch delta 449 zcmV;y0Y3iY1J47H7=H)`0000V^Z#K000EXsL_t(IjipmDPr^_T{$BgE4FRLBj2fj5 z;@@B+(G3?jWk6i`5iBADy1B@v2^;^zLD0y^szwNDP5Wx@+6N^n3GtFPdH3$S`|j?0 zB7cw%0pQE?u#Bx*7Dr3^mCwq2=si6mo!LMtmBL-Sjq^%{{eM@@CXP!bOePbINAGa< z_SxUMZb3LsF058BP_NgQVoRwZHdXv literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFO>_%)r2R7=#&*=dVZs3QCl?MwA5SrKP_&4dMZ+*_ImNnda%K#lQjNurf$7vNA9NSzbUa4P}E|t-;6)7H0yo4H=oh z-iiXUGuv6f;#oj82qXY8NI#55vy=fC5EIxLSb!=FjEoH!7eGt}>0n&|F=+~r4FXI+ zbC|#?gDfq8ET}F+0|St(bjjr@S2)_Zfy_ux7sn8Z%gG7AU}j@eOTDhLRX~}QZDEl? zK+1#_F}2Umtb5tZBNSSGZjR;dJrfIcsAPdC}hhQVJzzfKQT<8G^VFe{=A#Ibk<{N#a)j%XpGM&!P_h#PAJfnBh%K;#X zW1K^_QW9O^XK*(V<>UPgu6KcIwTjpI91r*RVt<}aaog`>zklB&419F2uEjoknZf9G zFZ1E>5##artO`b>5hjzTuL_pSr5Lx{EiB7|X`0CMT$p4ShH#c;NYfPcdi{W@6i+3% z*=(ZGXkfS7l`__9HEcE;tk>(3T@G*@M-*lzc(GU@j^k1VN-1(m=@wF zLKuc^A0vj*L9&B2YHslWPt9r&Pd6U3AAln{)@gM#yr(&UPFD) z`xr?NIA?uVE!o5*NrZp;iWsSYOQM}DmsxpN_JGWP+UU~nAmtPE0&tPG4mmKP99L)jo#YcMi{#hHL?Lq;aB zx1xaT%yt&AcovWi0trA2(hsB2EM))&!~}K*7N80PBVz-`1rSp~I#?G#Oqv2@g8&oI z944^JAWI7%3#tp~ageNZ$>k|mING>@%t%ic#}J9j$qB$6CJnw;t|NM&-JWbk=prR#XQwiRTdr>mdKI;Vst0D}={VgLXD diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on34.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on34.png index 652674092308ca40741bd44cbfc02f0b122194a9..570e7239c59f6970cb7f11ba91d53429ecb21920 100644 GIT binary patch delta 436 zcmV;l0Zabm1HuE47=H)`0000V^Z#K000D_fL_t(IjipmfO9EjKes;CiHVyM?*B~R> zponfkmwtojImm$|u?f;2G8JG1l5 z_h{CZ|k@>4i2i170KhImaGi6XNmr<>r`5AON9Z`0B1LzS0nr;9td?x8Wd#(d_n!e*iNp5BDQ;P__VvYeQJdC;vg1_iNMGN-#lEQ<@5p98++CeF%sCf zvVL}O0}PXshJOjUkjNvakAvMKL>88W`KC^?8keOo;y`sfsM+ZgX&Ky;1$|BK0Xb;lqv@HnSu<$s36M;ThVWR4)xZATH e6S4n0X8=D9QL&6^#s5730000<7I;J!GcfQS24TkI`72U@f)XXJ5hcO-X(i=}MX3w{iJ5sNdVa1U z3Z{C7dWK0`gLr^ywxvdRrg?g5F>nAmtPE0&tPG4mmKP99L)jo#YcMi{#hHL?Lq;aB zx1xaT%yt&AcovWi0trA2(hsB2EM))&!~}K*7N80PBVz-`1rSp~I#?G#Oqv2@g8&oI z944^JAWI7%3#!Y|zyKsGU2=KK6^=G;AT!F-#W6(Ua&iJNnAzCWQm?CQ6;NhnTUcZe zkTPLKOzpEX>t6Qq2!)oPn`60q&qT*9zjy>>_)`Q{Ga3s?wq%`~Q(gRQhf)*c^d^ma mavc}=%mwmT?*w%ivq&-oEwZxRaasHb$VN|BKbLh*2~7Y?K56j) diff --git a/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala b/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala index 32b32f9..f1e9306 100644 --- a/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala +++ b/src/main/scala/net/bdew/ae2stuff/machines/wireless/BlockWireless.scala @@ -17,7 +17,7 @@ import cpw.mods.fml.relauncher.{Side, SideOnly} import net.bdew.ae2stuff.misc.{BlockWrenchable, MachineMaterial} import net.bdew.lib.Misc import net.bdew.lib.block.{HasItemBlock, HasTE, ItemBlockTooltip, SimpleBlock} -import net.minecraft.block.{Block, BlockContainer} +import net.minecraft.block.Block import net.minecraft.client.renderer.texture.IIconRegister import net.minecraft.creativetab.CreativeTabs import net.minecraft.entity.EntityLivingBase From 84963f4bd0a56d363e120843b0e1bcc67f45fca4 Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Sat, 28 Dec 2024 05:05:46 +0200 Subject: [PATCH 13/18] !=! --- src/main/resources/assets/ae2stuff/lang/en_US.lang | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/resources/assets/ae2stuff/lang/en_US.lang b/src/main/resources/assets/ae2stuff/lang/en_US.lang index 6a9f514..6ad83ee 100644 --- a/src/main/resources/assets/ae2stuff/lang/en_US.lang +++ b/src/main/resources/assets/ae2stuff/lang/en_US.lang @@ -43,11 +43,11 @@ ae2stuff.wireless.advtool.connector.next=Next connector in queue: %s,%s,%s ae2stuff.wireless.advtool.extra=§oSneak right click to change mode between queuing and binding mode ae2stuff.wireless.advtool.noconnectors=No connectors found in queue. Try putting the tool into queueing mode and adding some ae2stuff.wireless.advtool.pop=Removed %s,%s,%s from queue -ae2stuff.wireless.advtool.hub.queued=%s hub slots added to queue! -ae2stuff.wireless.advtool.queueing.clear=Queue is cleared! -ae2stuff.wireless.tooltips.advtool.queueing.clear=Shift + Ctrl + R-click for clear queue! -ae2stuff.wireless.tooltips.advtool.hubqols.binding=Ctrl + R-click for connect to all free hub slots! -ae2stuff.wireless.tooltips.advtool.hubqols.queueing=Ctrl + R-click for add all free hub slots to queue! +ae2stuff.wireless.advtool.hub.queued=%s hub slots added to queue +ae2stuff.wireless.advtool.queueing.clear=Queue is cleared +ae2stuff.wireless.tooltips.advtool.queueing.clear=Shift + Ctrl + R-click for clear queue +ae2stuff.wireless.tooltips.advtool.hubqols.binding=Ctrl + R-click for connect to all free hub slots +ae2stuff.wireless.tooltips.advtool.hubqols.queueing=Ctrl + R-click for add all free hub slots to queue ae2stuff.wireless.tool.connected=Connected to %s,%s,%s ae2stuff.wireless.tool.failed=Connection failed ae2stuff.wireless.tool.dimension=Both connectors must be in the same dimension From 30b392421521732c5d45f99547946e9706cfb366 Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Sat, 28 Dec 2024 05:12:18 +0200 Subject: [PATCH 14/18] rw --- src/main/resources/assets/ae2stuff/lang/en_US.lang | 4 ++-- .../net/bdew/ae2stuff/machines/wireless/TileWireless.scala | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/resources/assets/ae2stuff/lang/en_US.lang b/src/main/resources/assets/ae2stuff/lang/en_US.lang index 6ad83ee..81a16a3 100644 --- a/src/main/resources/assets/ae2stuff/lang/en_US.lang +++ b/src/main/resources/assets/ae2stuff/lang/en_US.lang @@ -34,7 +34,7 @@ ae2stuff.wireless.advtool.binding=§aBinding Mode ae2stuff.wireless.advtool.queueing.activated=Queuing mode activated ae2stuff.wireless.advtool.binding.activated=Binding mode activated ae2stuff.wireless.advtool.queued=Added connector at %s,%s,%s to queue -ae2stuff.wireless.advtool.queuederror=Connector already in queue! +ae2stuff.wireless.advtool.queuederror=Connector already in queue ae2stuff.wireless.advtool.queueing.empty=Click Wireless Connectors to add to binding queue ae2stuff.wireless.advtool.binding.empty=Switch to Queuing Mode to add connectors to queue ae2stuff.wireless.advtool.queueing.notempty=Current wireless connectors in queue: @@ -53,7 +53,7 @@ ae2stuff.wireless.tool.failed=Connection failed ae2stuff.wireless.tool.dimension=Both connectors must be in the same dimension ae2stuff.wireless.tool.noexist=Bound connector does not exist ae2stuff.wireless.tool.security.player=Security violation - you are not allowed to modify this network -ae2stuff.wireless.tool.targethubfull=Target Hub is Full! +ae2stuff.wireless.tool.targethubfull=Target Hub is Full ae2stuff.visualiser.bound=Visualising network at %s,%s,%s ae2stuff.visualiser.mode=Mode: diff --git a/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala b/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala index d55b930..99a90f8 100644 --- a/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala +++ b/src/main/scala/net/bdew/ae2stuff/machines/wireless/TileWireless.scala @@ -73,7 +73,7 @@ class TileWireless }) def doLink(other: TileWireless): Boolean = { - if (other.link.isEmpty && !(isHub || other.isHub)) { + if (other.link.isEmpty && !isHub && !other.isHub) { other.link.set(myPos) this.customName = other.customName link.set(other.myPos) From 0230fb872d2c970f62ab284e3c5d157611802c1d Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Sat, 28 Dec 2024 19:46:55 +0200 Subject: [PATCH 15/18] remove in mod recipe --- src/main/scala/net/bdew/ae2stuff/Recipes.scala | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/main/scala/net/bdew/ae2stuff/Recipes.scala b/src/main/scala/net/bdew/ae2stuff/Recipes.scala index d2ed49f..f9f3764 100644 --- a/src/main/scala/net/bdew/ae2stuff/Recipes.scala +++ b/src/main/scala/net/bdew/ae2stuff/Recipes.scala @@ -4,7 +4,6 @@ import cpw.mods.fml.common.registry.GameRegistry import net.bdew.ae2stuff.items.{AdvWirelessKit, ItemWirelessKit} import net.bdew.ae2stuff.machines.wireless.BlockWireless import net.minecraft.item.ItemStack -import net.minecraftforge.oredict.OreDictionary object Recipes { def load(): Unit = { @@ -81,18 +80,6 @@ object Recipes { new ItemStack(BlockWireless), new ItemStack(BlockWireless, 1, 16) ) - GameRegistry.addShapelessRecipe( - new ItemStack(BlockWireless, 1, 17), - new ItemStack(BlockWireless), - new ItemStack(BlockWireless), - new ItemStack(BlockWireless), - new ItemStack(BlockWireless), - new ItemStack(BlockWireless), - new ItemStack(BlockWireless), - new ItemStack(BlockWireless), - new ItemStack(BlockWireless), - new ItemStack(BlockWireless) - ) GameRegistry.addShapelessRecipe( new ItemStack(BlockWireless, 1, 17), new ItemStack(BlockWireless, 1, 18) From b7a0f47acd1f891fca9b0b6e296d8d2f82109dd6 Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Sat, 18 Jan 2025 21:43:51 +0200 Subject: [PATCH 16/18] remove --- .../textures/blocks/wireless/side_on21.png | Bin 464 -> 0 bytes .../textures/blocks/wireless/side_on22.png | Bin 464 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on21.png delete mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on22.png diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on21.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on21.png deleted file mode 100644 index ad1692ee0600ad6da623b57654567a272cac4c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 464 zcmV;>0WbcEP)Y5Pf@h=8hu?Xd4hj!Hb3Qzi1a5J53QINI(J>LJ$tYm?GNQm`?wUg+|auNUM;9 zBOC5RX6`m0g^}RE9?aalnKy4|MPa890l-K~EMh6s~xHXhn- z9GA-+ziBqHUo67&JPi8Z$Zu_Pymi}x$mgA?QaOR^x(hL=R;y?ZkL0D-WSZ2 z1~Vl94S-0pX~+oBAs0sV~pvl1b(`7V44E{st@SNj{q<}4M-Vb_pCF+gbP@f zl@t&RKB&K=@A=#q36YF#;J&uOIpGwBh_YbHqs|0=tUJis2A}r%CdZhS7N;r8;mdsh diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on22.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on22.png deleted file mode 100644 index 03c1d708cad89fc695acd4e578e776fb4db44e71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 464 zcmV;>0WbcEP)C9Nhv2uJqr z%*?WmA-^YpP zvH#NdaZsyaGMQjJ`aorShyA^)9z><$CXGfD?RI-52CY^L-EK!S7z_sNd>@TrWgQ6V z05O1M9xVV^K%zp#vk>dWLW+^!UnQ{X-$U3ARG@%peqjUBl}Mrxfw#B7gdfP|aypT8 z82oyA2sIu7@tlGsAPYroUfgJQh*OM38wti1gEJG@_3t1{C0<*dKKqzetV0ckA24cj z%|ts+pdJ-x+&I5R6xf Date: Sat, 18 Jan 2025 21:44:08 +0200 Subject: [PATCH 17/18] add --- .../textures/blocks/wireless/side_on21.png | Bin 0 -> 464 bytes .../textures/blocks/wireless/side_on22.png | Bin 0 -> 464 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on21.png create mode 100644 src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on22.png diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on21.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on21.png new file mode 100644 index 0000000000000000000000000000000000000000..03c1d708cad89fc695acd4e578e776fb4db44e71 GIT binary patch literal 464 zcmV;>0WbcEP)C9Nhv2uJqr z%*?WmA-^YpP zvH#NdaZsyaGMQjJ`aorShyA^)9z><$CXGfD?RI-52CY^L-EK!S7z_sNd>@TrWgQ6V z05O1M9xVV^K%zp#vk>dWLW+^!UnQ{X-$U3ARG@%peqjUBl}Mrxfw#B7gdfP|aypT8 z82oyA2sIu7@tlGsAPYroUfgJQh*OM38wti1gEJG@_3t1{C0<*dKKqzetV0ckA24cj z%|ts+pdJ-x+&I5R6xf0WbcEP)Y5Pf@h=8hu?Xd4hj!Hb3Qzi1a5J53QINI(J>LJ$tYm?GNQm`?wUg+|auNUM;9 zBOC5RX6`m0g^}RE9?aalnKy4|MPa890l-K~EMh6s~xHXhn- z9GA-+ziBqHUo67&JPi8Z$Zu_Pymi}x$mgA?QaOR^x(hL=R;y?ZkL0D-WSZ2 z1~Vl94S-0pX~+oBAs0sV~pvl1b(`7V44E{st@SNj{q<}4M-Vb_pCF+gbP@f zl@t&RKB&K=@A=#q36YF#;J&uOIpGwBh_YbHqs|0=tUJis2A}r%CdZhS7N;r8;mdsh literal 0 HcmV?d00001 From 513b1bc8919965fedba7e1b9725bf623f14b6d87 Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Sat, 18 Jan 2025 22:08:02 +0200 Subject: [PATCH 18/18] fix colors --- .../textures/blocks/wireless/side_off21.png | Bin 487 -> 529 bytes .../textures/blocks/wireless/side_off24.png | Bin 485 -> 529 bytes .../textures/blocks/wireless/side_off27.png | Bin 474 -> 535 bytes .../textures/blocks/wireless/side_off28.png | Bin 476 -> 529 bytes .../textures/blocks/wireless/side_off32.png | Bin 476 -> 529 bytes .../textures/blocks/wireless/side_off34.png | Bin 481 -> 525 bytes .../textures/blocks/wireless/side_on21.png | Bin 464 -> 509 bytes .../textures/blocks/wireless/side_on24.png | Bin 458 -> 509 bytes .../textures/blocks/wireless/side_on27.png | Bin 465 -> 517 bytes .../textures/blocks/wireless/side_on28.png | Bin 464 -> 509 bytes .../textures/blocks/wireless/side_on32.png | Bin 463 -> 513 bytes 11 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off21.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off21.png index f5ea6ad511dc0b6ba58a44d8181a40df47a37cba..6c2c95399b4fd97011850d659c676ea1a9c43f31 100644 GIT binary patch literal 529 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}}0G|+7eFJ?>O^ul|XBOmV*VNRswY6z!Ybz@&*VWYt3X2Pi$%#m)iioL- zh^R(q);We1i_02|h^bXqSC^HQ_4f8!)yifAjp8iuh%9Dc;5!V$jK}j=qyPmaN?apK zg7ec#$`gxH83GbB^GfvmTtgI0^$hh4lePx&0M%?ujqptK^weVD0CHFvq!?Kl7=bJ= zAeM%*K_1g!WCn{f0ojI(Okj^j0oj@DEMW00AR7b{fEc77Mx$BE01TQ5>gCZIV?V3k3Z7C;tMm!W|HNLIS!@{}taZQMX+si%u$h(>T~ z|3kh81&)@9L0+tZ)&J9bZ)Q#X-u`i;H3P#P?`uqtHvMXl__Islmds1lk_TqDl24tn zJUVw9<022k&LfOAsuxeigbGzMHx{k*-FkhJri8-EmHk7>!a*U^|pUXO@geCw+M1W@i delta 472 zcmV;}0Vn>E1m^>g8Gi-<001BJ|6u?C0j^0zK~y-6rBgjm0znXc_e}taUPD1+WyD0W z^B33{8yYR3p)rvHvEfJ1h!mLE*g&C;jh(;1RufIEY%rlwf zJ`_)85Sj|38-Itfx+d8{OfhtjV7xr=%LG2kA3#qecoz<{>|<7*3=J@xAW)lY_Q5aP zwv9q|5BdFFB$G+W#-HjEVAQ{qc3l^SVf@(*)`0pPs;$bJJDm=iclYckCgkHgih&3* z%z%c3mnPLVVsTtu-(u41@xE-{u#fI2W){N?MxzlM)KO<@6|4PA8z}~w8Di$Ij=z~m12V?OfC^p4Q(#b48Z|L4}KNR_M)GOu>bqc0KNg=Uc+b1%DIpL O0000NS%G}}0G|+7eFJ?>O^ul|XBOmV*VNRswY6z!Ybz@&*VWYt3X2Pi$%#m)iioL- zh^SWQmefRNi_02|h^bXqSC^HQ_4fA8?0h&6XcT9GM`SSr1K(i~W;~w1A_XWYQQ{g= z5}cn_Ql40p$`Fv4nOCCc=Nh75s%NNYn6x#B2dHLSYJ_K+r>7PJ2av3CK2NWCD9M3dqiEX90_60ofps0K_2uFdEHL24K)kU}s$Nv;eZ8x(p2rK(f*$m#19eXyXPlOFdm2Lo|X@ z`ycW(C~&k)4Dw jtYyF1*H*pzZFhiE-iQ4lv!U!=kYhYu{an^LB{Ts5?9zf8 delta 470 zcmV;{0V)2G1my#e8Gi-<001BJ|6u?C0jxPfSjE#+*uV6)?jfI62G!k;QPM-{K<|1!&t*uO1$-3b52+w7K`zMZYJ{Q_zUjP zg%rwxkOEeui+|0~hH^Ktu`JV`=fO11rPbhosLnyQVQ|cyP6w}z7skm6VYH{tOgZd; znnWoG&bAe?@O=LW$8&f--90cydyq;%bJ#(@-&d9~;!jdhw*BbhGSV5Ugyzik0W}HL zd2u6s2aRMxl`s%UrBb}04x1f{J{=^i$(j?^uZntm)yG8K|2<~_e>M-iX>sEbJOBUy M07*qoM6N<$f=pD`T>t<8 diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off27.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off27.png index 7ac505b9ffaf8dda78f6506407367860336b1d8b..c633ea0ca95c81f28fec8bac720b57d8e1957640 100644 GIT binary patch literal 535 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|~0G|+7eFJ?>O^ul|XBOmV*VNRswY6z!Ybz@&*VWYt3X2Pi$%#m)iioL- zh^UH$l&fdfipv^{h^bXqSBp!km6etC_V&)ol{NvI##!JISIesvJDxTzSlcuJEIlIft)~qwmha zbe~9-eJ9CgBqU%oXov^eQ(mmf;FB?_m o%byn7wI-JDw|#BpyYIDLcrU)?&}xg6vkPgg&ebxsLQ03eKkP5=M^ delta 459 zcmV;+0W|)X1lj|T8Gi-<001BJ|6u?C0ij7mK~y-6rBgjm0znXcdtY1*A(4heY7@~! z?EC{3T3BeI1s2+vNP*b!BWOelOl)kV&_Y`a|A4KDT3BO3qX`H(?u0cn_W>Bi5GUD9 zc6Q#(+j+Ahvy_nl;B>o~#EeLUqcz%c2RS}GKRsY7HVwYcckYR*Af*>2 z1dNykZFa_sk$(e>LK`*A=fIT-yuY;#BOc|ox3S4SkCped0K*A_Zu{l9aw3ty?%F!C zE2~H*lRg^}Mgvg|6#k)!-hG&I6PD=0>A|+TAUCi3$1m&bI)=3}{FKsi@o3 zu=AU1IL$V%v#U$?u@dNE7{d%~+xEnAT$YNut^Oh-$3*CAh#8p!8WPg^uR((DNf;(b zrBZyL3G)m7U@BJ*zyU@JeihC3q@Rhf|NG7Wz5ovst&Dv=FLnR`002ovPDHLkV1g4% B(PjVu diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off28.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off28.png index 8bcb4a5fd234a0a1f0095abbee7c48a25e8815a4..1e79f5ae591c124b8f4c73fbba6a2c1e0dcd2f4d 100644 GIT binary patch literal 529 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}}0G|+7eFJ?>O^ul|XBOmV*VNRswY6z!Ybz@&*VWYt3X2Pi$%#m)iioL- zh^WR`m4<0nh|3y_h^bXqSC^HQ_4f8|nRToYXcT9GM`SSr1K(i~W;~w1A_XWYQQ{g= z5}cn_Ql40p$`Fv4nOCCc=Nh75s%NNYn6x#B2dHLSYJ_K+r>7PJ2av3CK2NWCD9M3dqiEX90_60ofps0K_2uFdEHL24K)kU}s$Nv;eZ8x(p2rK(f*$m#19eXyXPlOFdm2Lo|X@ z`ycW(C~&k)4Dw jtYyF1*H*pzZFhiE-iQ4lv!U!=kYhYu{an^LB{Ts5-MxWx delta 461 zcmV;;0W$uP1l$9V8Gi-<001BJ|6u?C0i#JoK~y-6rBgjm0znXcd!K|rB3MvR+K7c% z_#15OEVMXH42_WjvEfJ1h!hwbW1T-ZnB%~ z%)B?VZ)Qb#rz`)yR!Ivw)9zkOmG`JyNS%G}}0G|+7eFJ?>O^ul|XBOmV*VNRswY6z!Ybz@&*VWYt3X2Pi$%#m)iioL- zh^W>x$mKKei_02|h^bXqSC^HQ_4f8&DzP#F8pT=Q5n0T@z;_sg8IR|$NC65;l(KW=8CT$Jk0jk-S8sVAd>8ZuQ0pzeUNHMZ9FalX# zKr9VqgFL3e$P5-|060@05M2Ej7GDR0T?tB*cn)WDh!N_ z4Hy?dOavp@3Xlx~Oh9v(z$$|*Er2YjE<*zYkgRmc-prc%z5U}xYX*ip-q)BOZTi(9@n@I9Et!|9B@fJQC7(KD zd35eJ#zh{6oktjLR4<;22^FejZY)~qyY>1cO$mobhumMcPZg|cyeDU%6T9{9G|iGI iYuRu1wN>wa+a2JP_hCQCY$$sd>4mfefR1Hh6bqUrM;kO{_p`isdVD~1Jce*MjDM?Y6$iN-`;W_ItYG{j!i=sfa|^kQhFOgK+`7RNZ|hKW#CvoAQTGmf^H`Gx%-CCu7w^B z0U%;X%ovj#BY%C2MiU9ToesjHE$KB;Mdnpsq6H}RDI0I@DRVq?D zVwku+zd*BV@whoXV;}8NjGy5Q+U+(ksLoU>Qrp#jFGeH91bxgvA5fD}oqum6yWdE3 zz<>tHWRe%uVJ!9^f)S`-#Te>WQE!j>nTY-0cLwkcW2>;H&g1N<00000NkvXXu0mjf DKF7_; diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off34.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_off34.png index e27ad3281a114044ba09e2f8d7342b5184c359f9..f9fbf2ee843c2beda3a58a344e4529b4176c681b 100644 GIT binary patch literal 525 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|;0G|+7eFJ?>O^ul|XBOmV)zs9qwY6z!Ybz@&*VWYt3X2Pi$%#m)iioL- zh^PW}h|3y_h^bXqSC^HQ_4f9P-r8sg6y+@Nh%9Dc;5!V$jK}j=qyPmaN?apKg7ec# z$`gxH83GbB^GfvmTtgI0^$hh4lePx&0M%?ujqptK^weVD0CHFvq!?Kl7=bJ=AeM%* zLB7&pWCn{f0ojI(OkiI|0oj@DEMW00AR7b{fEc77Mx$BE01TH2>gCZIV?V3k3Z7C;tMm!W|HNLIS!@{}taZQMX+iKmNWh(>T~|82e_ z3LGwlQAo-O@OY_A?AFB66RmHRSeldKBJgnBOe#w4mU_OmESZs`G1n zCVX9MYG1TlsXen4Ds zcX4-dH5j8Y8f8FS_y`t}0Zok2LF4M;C-?y_`UMSP5D6k}t!>S{^dTJ}A-?1_d8hZ> zciy@8N`=*e4*=h`jak-QG|JHmeM-kAKD@oYATggtEEdDv{eL}9%4NpS8x3q1ix>CTnM~$SO%NkE@-(L%$APM(!qP@RR_;?3=L8#fQnd?Y1=jmHQME1)K!MWrIQ z$*}9&CwPMo-j`R8jL|X}?Bayy$`3QI{9WuzFoS8zgoKuyARc6D?p zZbBmg@vsNET#gUaVZ$|PuqewgMsO4{Rn*(F4ij-Pyhe` diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on21.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on21.png index 03c1d708cad89fc695acd4e578e776fb4db44e71..fe84c73ced28e9937d3abad88c0ea11006b7db60 100644 GIT binary patch literal 509 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}B0G|+7eFJ?>O^ul|XBOmV*VNRswY6z!Ybz@&*VWYt3X2Pi$%#m)iioL- zh^TJ8{I_Y%b8%T?5ivFH1?TI5CU6#bL>4nJ@ErzW#^d=bQhfNHj-MtG)qdTKFn06DA-QjDw&j6jwb5KBYZApdAE zGK0mLfNVoXCb0jafb7h67O;30kPQL}Kn&6kqtPs70EWl}b_N!p3Iii!1I7gqQ$add z7eGv!0%U^#6VMzcu*x7y3m^-s%h138Br9EVdCC=zHf|s@%hSa%L?bx0-<$7%0*6cC znn(Ose#dV+GF5l8!b3)8fxsOpnv5SkB~QHUY`A)Gx`2kry0!chFGfEtatNNQcD2mm z(YoyJH%sSEZakBm7wi39W)5#dYS-833CXV-qzjkjt+jqrzpMJ)Z@Y`!j6Lj~`zF6q P1i8S|)z4*}Q$iB}QObMk delta 449 zcmV;y0Y3iy1JDDI8Gi-<001BJ|6u?C0hdWcK~y-6rBks^0znXcd$(|e0ExDgns``< z|Dqi>c1m$VLt$cNVnG95fp#|1>Cc#`XQCyoCO`;B_U_EgvZt7cAx^TJ?CiXqH*aP| zb+?)Tz$^^0ie(*#qa|(i<2oOnpB_*st|6b#;jYbpgc6%iTtyT-&Zbvg13fpnzz8VFS{YNTLvdx3|EAAIRl$I+1i3{Cau_H68)+oPs4F3q@>R z+-P=)Q;bC$34g{GgEJG@_3t1{C0<*dKKqzetV0ckA24cj%|ts+pdJ-x+&I5R6xfNS%G}B0G|+7eFJ?>O^ul|XBOmV*VNRswY6z!Ybz@&*VWYt3X2Pi$%#m)iioL- zh^T(Q`SQos>*BJ;B4TP=IU?nOCU6#bL>4nJ@ErzW#^d=bQhfNHj-MtG)qdTKFn06DA-QjDw&j6jwb5KBYZApdAE zGK0mLfNVoXCb0jafb7h67O;30kPQL}Kn&6kqtPs70EWl}b_N!p3Iii!1I7gqQ$add z7eGv!0%U^#6VMzcu*x7y3m^-s%h138Br9EVdCC=zHf|s@%hSa%L?bx0-<$7%0*6cC znn(Ose#dV+GF5l8!b3)8fxsOpnv5SkB~QHUY`A)Gx`2kry0!chFGfEtatNNQcD2mm z(YoyJH%sSEZakBm7wi39W)5#dYS-833CXV-qzjkjt+jqrzpMJ)Z@Y`!j6Lj~`zF6q P1i8S|)z4*}Q$iB}DP4QY delta 443 zcmV;s0Yv`&1Ih!C8Gi-<001BJ|6u?C0g*{WK~y-6rBgvm0#OkD-tN;CQK7CL3tT&7 z|D|qr=~fD67lVF4ke5u*x^>B0{h6Rru%p)k6>;UQ8#DXfrcj3TU>DxJ`DVWPW=0hD z3IPDjJP+%fxZ|+5q+jWz#Fw|%XQa{_NG6kb=yY&esj&T~*?+`gv53iJg7N4R`JG+1 zw{P1J`Meuct7oX!>uWKn)oN%ou0sZc!GMk9j}aUz4o8rgDw}I}3xI$ZD0uT3Qk&@r zBNw9*_{nX-5jK?S0Z{ryLdqPxz{h^Kyu^e9Boc`*fRGG6>Yrnz#t1Y60SjrF!u|FY z`^*LRQ?g2*Ux4+F{L#Gb{DN8Sl0(Vf$UpMn$?9 zjI~N>s+me!byx%H^S9cPYxZpy$L|+xB_=|@nVbg0HyRRXxkzmitk|nysD}INS%G}Z0G|+7eFJ?>O^ul|XBOmV*VNRswY6z!Ybz@&*VWYt3X2Pi$%#m)iioL- zh^T6;c;|QVm$F@gjnU?BwI5R56JosH@A&sb;#ZG^N6NjP%HeaOu2U6LY7a9|H+Zr{E) zZ)cU#PALWe-}A6YWDJ9M>-4D{RXBNlc}6z349l|c(Cy;5T7TvGO}mZ#av84cVl@0l zaci6Fo!btSV$qIkwG%jwvyg&%y^dDvS}5rE`&|4Q4WJqsC`JZ=3P6$Dsmlnl=Oglb ztYq^kMxQ>F!1mK66vIFetOC&FpAfqKiP-bd+dZ36!Uve9$%(@32Hp>v2!^g8h7h9X zENt92gt};gA%C50nAE_`1hyZW(DN3r&F(qZger!l7|s&6Mb8>D2f-RMuHT&^)NH9n zOMOW&>Tga{&x*Y7dBGmgJx|;YnM4bF_&B`cDk%}fArfN}3@e}^5fQQ5WY}Bz0>QxL z)!S=ujsCHNQy5k-9*?DDpJfx{ylbRASTa-0%pA~=&^tZNS%G}B0G|+7eFJ?>O^ul|XBOmV*VNRswY6z!Ybz@&*VWYt3X2Pi$%#m)iioL- zh^X!;eziL2qqwZGh?rX9-clQ&37iEUk;M!Qe1}1p@p%4<6ri9)iEBhjaDG}zd16s2 zLqK9?UWuNcYlwoWo}r#$($*jzpqg!|5uRzDo>~kXKn^Q|6eBAGBar0<#L`eU$Uhp4 z%wTaQAls0U3GBZpAUm_21uUKgWP?Bg5QFr?Xf#V1fFUx0oq+|Y!obMbfN=rDRFDqV z1rU>_0NEhG1T=>UtTM>b0?2~uGBhv%$x4@8o^pkwjT^|!@^o$rCR-8?GLlE}$W@ZY}@Bi_uSu9D?VnT`hBX zv@W~*&CB41sYpvhZ@2YbP0l+XkKD+hZj delta 449 zcmV;y0Y3iy1JDDI8Gi-<001BJ|6u?C0hdWcK~y-6rBgjm0znj<<@P*6zywjj3nju6MYgL=K3@rB~<{kJmG2QcTHg+5@DusY6vH4+b4$U!EP5rZA(k5K5( rL84C%IXZk*?Cn(_6S@C;&H%mvDB-sJD%pCa00000NkvXXu0mjfb!^PF diff --git a/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on32.png b/src/main/resources/assets/ae2stuff/textures/blocks/wireless/side_on32.png index df47ff175b26a680bf11c94d2f34bba9a3903234..6ebdf9e8a93993c361c2ce6f2dcdec388a7715af 100644 GIT binary patch literal 513 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}Z0G|+7eFJ?>O^ul|XBOmV*VNRswY6z!Ybz@&*VWYt3X2Pi$%#m)iioL- zh^YQ&u(``1FD`2=BBo|6A^Y!nl`YT^&H|6fVg?4j!ywFfJby(BP*9@8HKHUqKdq!Z zu_%=xATcwqM9AC&ooa@Ed~xChm}E!k(GfF$npYWX($`y zB@ISqus9QtZOF(3_F@!}o!QO;7S95*K_CH$LHc1dnxzcDK$*bKzyefZU}S8-xBy}* zNC)czh)Gj`Y!F}qn!^NE8DwbzWI=Tq8W@0NrAsbPxx&%L4P<6}x;Tbt1gG`~3Nszy=+y(~0rPFOxA6OJKdfD+Gc>Q4d1dZ65>(^YXR-4C5hlCcd zyvA!}E*qS}mpeyRCKHTD?{N0^ z+26WuK{!q>tX3~juh*AiP^;C@Xk11NhQlE{$8R673=@_x04M-q94-JD@InPo1xRnM zPcbr?mB0_VA}j&;{tJL0zA+)?4!jUJ?04pva01)5qXfcW@X2czBi}<9GY}BS$N_G* z3ml^o7~;wUi+@aUWdh&lidd62f9>5O`yy5fNem~@(~f!$xU%o}xZ=%L0cOyP*#y(M zXpFIF($q7xw8(e{wCCBhP3}1`9h?rj>?I}w&wLlf%rMM=M1uH8)6Pf>rRNSleV4zZ zeusT@r%7uJGjLrurmUDYRs3s>6tj}R%;|tcLVNyQNICtfkSM{N4zk%SA4p+j(V~7D q0X0}-q<&ST?PVVmVgL7>0el1V2e!#H50-ZT0000