From c6ba3ff03311e246a46f6a0a901d5d8f44c17c9c Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Sat, 21 Jan 2023 19:32:10 +0800 Subject: [PATCH 1/4] display me p2p used channels --- .../betterp2p/client/ClientCache.kt | 6 ++-- .../client/gui/GuiAdvancedMemoryCard.kt | 16 +++++------ .../betterp2p/client/gui/InfoWrapper.kt | 4 +-- .../client/gui/widget/WidgetP2PDevice.kt | 26 ++++++++++++++---- .../client/render/OutlineRenderer.java | 10 +++---- .../client/render/RenderHandler.java | 4 +-- .../betterp2p/network/P2PInfo.kt | 14 ++++++++-- .../betterp2p/network/S2CRefreshInfo.kt | 6 ++-- .../betterp2p/util/p2p/P2PUtil.kt | 15 ++-------- .../assets/betterp2p/lang/en_US.lang | 2 ++ .../textures/gui/advanced_memory_card.png | Bin 1078 -> 1191 bytes 11 files changed, 59 insertions(+), 44 deletions(-) diff --git a/src/main/java/com/projecturanus/betterp2p/client/ClientCache.kt b/src/main/java/com/projecturanus/betterp2p/client/ClientCache.kt index 5fee730..9edd8a8 100644 --- a/src/main/java/com/projecturanus/betterp2p/client/ClientCache.kt +++ b/src/main/java/com/projecturanus/betterp2p/client/ClientCache.kt @@ -1,11 +1,11 @@ package com.projecturanus.betterp2p.client -import net.minecraft.util.EnumFacing +import net.minecraftforge.common.util.ForgeDirection object ClientCache { - val positions = mutableListOf, EnumFacing>>() + val positions = mutableListOf, ForgeDirection>>() var selectedPosition: List? = null - var selectedFacing: EnumFacing? = null + var selectedFacing: ForgeDirection? = null var searchText: String= "" fun clear() { positions.clear() diff --git a/src/main/java/com/projecturanus/betterp2p/client/gui/GuiAdvancedMemoryCard.kt b/src/main/java/com/projecturanus/betterp2p/client/gui/GuiAdvancedMemoryCard.kt index bb6ffce..36c5571 100644 --- a/src/main/java/com/projecturanus/betterp2p/client/gui/GuiAdvancedMemoryCard.kt +++ b/src/main/java/com/projecturanus/betterp2p/client/gui/GuiAdvancedMemoryCard.kt @@ -26,7 +26,7 @@ import java.util.* class GuiAdvancedMemoryCard(msg: S2CListP2P) : GuiScreen(), TextureBound { private val xSize = 288 - private val ySize = 206 + private val ySize = 242 private val guiLeft: Int by lazy { (width - this.xSize) / 2 } private val guiTop: Int by lazy { (height - this.ySize) / 2 } @@ -55,7 +55,7 @@ class GuiAdvancedMemoryCard(msg: S2CListP2P) : GuiScreen(), TextureBound { private val descriptionLines: MutableList = mutableListOf() private var mode = msg.memoryInfo.mode private var modeString = getModeString() - private val modeButton by lazy { GuiButton(0, guiLeft + 8, guiTop + 154, 256, 20, modeString) } + private val modeButton by lazy { GuiButton(0, guiLeft + 8, guiTop + 190, 256, 20, modeString) } init { selectInfo(msg.memoryInfo.selectedIndex) @@ -81,12 +81,12 @@ class GuiAdvancedMemoryCard(msg: S2CListP2P) : GuiScreen(), TextureBound { searchBar.y = guiTop + 5 scrollBar.displayX = guiLeft + 268 scrollBar.displayY = guiTop + 19 - scrollBar.height = 114 + scrollBar.height = 150 scrollBar.setRange(0, infos.size.coerceIn(0..(infos.size - 4).coerceAtLeast(0)), 23) for (i in 0..3) { widgetDevices[i].x = guiLeft + tableX - widgetDevices[i].y = guiTop + tableY + 33 * i + widgetDevices[i].y = guiTop + tableY + 42 * i } searchBar.text = ClientCache.searchText reGenInfoFromText() @@ -226,11 +226,11 @@ class GuiAdvancedMemoryCard(msg: S2CListP2P) : GuiScreen(), TextureBound { selectInfo(info.index) } private fun onRenameButtonClicked(info:InfoWrapper,index: Int){ - if(isShiftKeyDown()){ + if(isShiftKeyDown()) { return transportPlayer(info) } renameBar.isVisible = true - renameBar.y = (this.guiTop + 6) + (index + 1) * 33 + renameBar.y = (this.guiTop + this.tableY) + index * 42 + 19 renameBar.x = this.guiLeft + 60 renameBar.w = 120 renameBar.h = 12 @@ -285,9 +285,9 @@ class GuiAdvancedMemoryCard(msg: S2CListP2P) : GuiScreen(), TextureBound { val info = widget.infoSupplier() if (info?.selectButton?.mousePressed(mc, mouseX, mouseY) == true) { onSelectButtonClicked(widget.infoSupplier()!!) - }else if (info?.bindButton?.mousePressed(mc, mouseX, mouseY) == true) { + } else if (info?.bindButton?.mousePressed(mc, mouseX, mouseY) == true) { onBindButtonClicked(widget.infoSupplier()!!) - }else if (info?.renameButton?.mousePressed(mc, mouseX,mouseY) == true) { + } else if (info?.renameButton?.mousePressed(mc, mouseX,mouseY) == true) { if(renameBar.info != widget.infoSupplier()!!) saveP2PChannel() widget.renderNameTextField = false diff --git a/src/main/java/com/projecturanus/betterp2p/client/gui/InfoWrapper.kt b/src/main/java/com/projecturanus/betterp2p/client/gui/InfoWrapper.kt index b53c008..237f5c6 100644 --- a/src/main/java/com/projecturanus/betterp2p/client/gui/InfoWrapper.kt +++ b/src/main/java/com/projecturanus/betterp2p/client/gui/InfoWrapper.kt @@ -3,7 +3,7 @@ package com.projecturanus.betterp2p.client.gui import com.projecturanus.betterp2p.network.P2PInfo import net.minecraft.client.gui.GuiButton import net.minecraft.client.resources.I18n -import net.minecraft.util.EnumFacing +import net.minecraftforge.common.util.ForgeDirection import java.util.* class InfoWrapper(info: P2PInfo) { @@ -15,7 +15,7 @@ class InfoWrapper(info: P2PInfo) { val posY: Int = info.posY val posZ: Int = info.posZ val world: Int = info.world - val facing: EnumFacing = info.facing + val facing: ForgeDirection = info.facing val description: String val output: Boolean = info.output var name: String = info.name diff --git a/src/main/java/com/projecturanus/betterp2p/client/gui/widget/WidgetP2PDevice.kt b/src/main/java/com/projecturanus/betterp2p/client/gui/widget/WidgetP2PDevice.kt index 87f5095..117afb6 100644 --- a/src/main/java/com/projecturanus/betterp2p/client/gui/widget/WidgetP2PDevice.kt +++ b/src/main/java/com/projecturanus/betterp2p/client/gui/widget/WidgetP2PDevice.kt @@ -1,9 +1,14 @@ package com.projecturanus.betterp2p.client.gui.widget +import appeng.me.GridNode +import appeng.parts.p2p.PartP2PTunnelME +import appeng.tile.networking.TileCableBus import com.projecturanus.betterp2p.client.gui.InfoWrapper import com.projecturanus.betterp2p.item.BetterMemoryCardModes import net.minecraft.client.gui.GuiScreen import net.minecraft.client.resources.I18n +import net.minecraftforge.common.DimensionManager +import net.minecraftforge.common.util.ForgeDirection import java.awt.Color import kotlin.reflect.KMutableProperty0 @@ -14,8 +19,8 @@ class WidgetP2PDevice(private val selectedInfoProperty: KMutableProperty0, EnumFacing>> coordinates, int r, int g, int b) { + public static void renderOutlinesWithFacing(RenderWorldLastEvent evt, EntityPlayer p, Collection, ForgeDirection>> coordinates, int r, int g, int b) { double doubleX = p.lastTickPosX + (p.posX - p.lastTickPosX); double doubleY = p.lastTickPosY + (p.posY - p.lastTickPosY); @@ -107,13 +107,13 @@ public class OutlineRenderer { GlStateManager.depthMask(true); } - private static void renderOutlinesWithFacing(Collection, EnumFacing>> coordinates, double x, double y, double z, int r, int g, int b, int thickness) { + private static void renderOutlinesWithFacing(Collection, ForgeDirection>> coordinates, double x, double y, double z, int r, int g, int b, int thickness) { Tessellator tessellator = Tessellator.instance; //BufferBuilder buffer = tessellator.getBuffer(); - for (Pair, EnumFacing> coordinate : coordinates) { + for (Pair, ForgeDirection> coordinate : coordinates) { List pos = coordinate.component1(); - EnumFacing facing = coordinate.component2(); + ForgeDirection facing = coordinate.component2(); if (pos == null || facing == null || pos.size() != 3) continue; GlStateManager.pushMatrix(); diff --git a/src/main/java/com/projecturanus/betterp2p/client/render/RenderHandler.java b/src/main/java/com/projecturanus/betterp2p/client/render/RenderHandler.java index 2c9ffda..465294c 100644 --- a/src/main/java/com/projecturanus/betterp2p/client/render/RenderHandler.java +++ b/src/main/java/com/projecturanus/betterp2p/client/render/RenderHandler.java @@ -7,9 +7,9 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent; import kotlin.Pair; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.EnumFacing; import net.minecraftforge.client.event.RenderWorldLastEvent; import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.common.util.ForgeDirection; import java.util.ArrayList; import java.util.List; @@ -23,7 +23,7 @@ public class RenderHandler { if (player.getHeldItem() != null && player.getHeldItem().getItem() == ItemAdvancedMemoryCard.INSTANCE) { if (!ClientCache.INSTANCE.getPositions().isEmpty() || ClientCache.INSTANCE.getSelectedPosition() != null) { if (ClientCache.INSTANCE.getSelectedPosition() != null) { - List, EnumFacing>> tmp = new ArrayList<>(); + List, ForgeDirection>> tmp = new ArrayList<>(); tmp.add(new Pair<>(ClientCache.INSTANCE.getSelectedPosition(), ClientCache.INSTANCE.getSelectedFacing())); OutlineRenderer.renderOutlinesWithFacing( event, diff --git a/src/main/java/com/projecturanus/betterp2p/network/P2PInfo.kt b/src/main/java/com/projecturanus/betterp2p/network/P2PInfo.kt index c5707ae..d8c0d4d 100644 --- a/src/main/java/com/projecturanus/betterp2p/network/P2PInfo.kt +++ b/src/main/java/com/projecturanus/betterp2p/network/P2PInfo.kt @@ -1,6 +1,14 @@ package com.projecturanus.betterp2p.network -import net.minecraft.util.EnumFacing +import net.minecraftforge.common.util.ForgeDirection -class P2PInfo(val index: Int, val frequency: Long, val posX: Int, val posY: Int, val posZ: Int,val world: Int, val facing: EnumFacing, val name: String, val output: Boolean, val hasChannel: Boolean) { -} +class P2PInfo(val index: Int, + val frequency: Long, + val posX: Int, + val posY: Int, + val posZ: Int, + val world: Int, + val facing: ForgeDirection, + val name: String, + val output: Boolean, + val hasChannel: Boolean) diff --git a/src/main/java/com/projecturanus/betterp2p/network/S2CRefreshInfo.kt b/src/main/java/com/projecturanus/betterp2p/network/S2CRefreshInfo.kt index ed33f10..f250442 100644 --- a/src/main/java/com/projecturanus/betterp2p/network/S2CRefreshInfo.kt +++ b/src/main/java/com/projecturanus/betterp2p/network/S2CRefreshInfo.kt @@ -2,7 +2,7 @@ package com.projecturanus.betterp2p.network import cpw.mods.fml.common.network.simpleimpl.IMessage import io.netty.buffer.ByteBuf -import net.minecraft.util.EnumFacing +import net.minecraftforge.common.util.ForgeDirection fun readInfo(buf: ByteBuf): P2PInfo { val index = buf.readInt() @@ -11,7 +11,7 @@ fun readInfo(buf: ByteBuf): P2PInfo { val posY = buf.readInt() val posZ = buf.readInt() val world = buf.readInt() - val facing = EnumFacing.values()[buf.readInt()] + val facing = ForgeDirection.values()[buf.readInt()] val nameLength = buf.readShort() - 1 var name = "" for (i in 0..nameLength) { @@ -30,7 +30,7 @@ fun writeInfo(buf: ByteBuf, info: P2PInfo) { buf.writeInt(info.facing.ordinal) buf.writeShort(info.name.length) for (c in info.name) { - buf.writeChar(c.toInt()) + buf.writeChar(c.code) } buf.writeBoolean(info.output) buf.writeBoolean(info.hasChannel) diff --git a/src/main/java/com/projecturanus/betterp2p/util/p2p/P2PUtil.kt b/src/main/java/com/projecturanus/betterp2p/util/p2p/P2PUtil.kt index 5d2ad58..38c2ecc 100644 --- a/src/main/java/com/projecturanus/betterp2p/util/p2p/P2PUtil.kt +++ b/src/main/java/com/projecturanus/betterp2p/util/p2p/P2PUtil.kt @@ -11,7 +11,6 @@ import com.projecturanus.betterp2p.network.P2PInfo import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound -import net.minecraft.util.EnumFacing import net.minecraftforge.common.util.ForgeDirection fun linkP2P(player: EntityPlayer, inputIndex: Int, outputIndex: Int, status: P2PStatus) : Pair, PartP2PTunnel<*>>? { @@ -60,7 +59,7 @@ fun updateP2P(tunnel: PartP2PTunnel<*>, frequency: Long, output: Boolean, player val data = NBTTagCompound() val p2pItem: ItemStack = tunnel.getItemStack(PartItemStack.Wrench) - val type: String = p2pItem.unlocalizedName + p2pItem.unlocalizedName tunnel.outputProperty = output tunnel.customName = name @@ -94,18 +93,8 @@ var PartP2PTunnel<*>.outputProperty field.setBoolean(this, value) } -fun ForgeDirection.getEnumIndex(): Int { - if (this == ForgeDirection.WEST) { - return 5 - } - if (this == ForgeDirection.EAST) { - return 4 - } - return this.ordinal -} - val PartP2PTunnel<*>.hasChannel get() = isPowered && isActive fun PartP2PTunnel<*>.getInfo(index: Int) - = P2PInfo(index, frequency, location.x, location.y, location.z,location.dimension,EnumFacing.getFront(side.getEnumIndex()), customName, isOutput, hasChannel) + = P2PInfo(index, frequency, location.x, location.y, location.z, location.dimension, side, customName, isOutput, hasChannel) diff --git a/src/main/resources/assets/betterp2p/lang/en_US.lang b/src/main/resources/assets/betterp2p/lang/en_US.lang index d5ab3bf..37dba6a 100644 --- a/src/main/resources/assets/betterp2p/lang/en_US.lang +++ b/src/main/resources/assets/betterp2p/lang/en_US.lang @@ -5,6 +5,8 @@ gui.advanced_memory_card.select=Select gui.advanced_memory_card.bind=Bind gui.advanced_memory_card.pos=Pos: %d, %d, %d Side: %s gui.advanced_memory_card.name=Name: %s +gui.advanced_memory_card.extra.channel=Used Channel: %s +gui.advanced_memory_card.extra.none=No Extra Info gui.advanced_memory_card.mode.input=Mode: Bind Input gui.advanced_memory_card.mode.output=Mode: Bind Output gui.advanced_memory_card.mode.copy=Mode: Copy Output diff --git a/src/main/resources/assets/betterp2p/textures/gui/advanced_memory_card.png b/src/main/resources/assets/betterp2p/textures/gui/advanced_memory_card.png index 9f091bee80bdc04f19d41454abe5fc4dd2ae548c..883f99f7bca5a199dca7760696ffb6e62e266a7e 100644 GIT binary patch delta 424 zcmV;Z0ayOE2&V~<7Z&me1^@s6?E)AO000DTNkl#sJ0kiXpv&cAX8^M~ z91dS!k((oIe}qf5+wGpRB6_*wIRLW|ARr?^Kt_Ooi~s={0Rl1t1Y}$X1fRHG19ZI> zhIt7PeByc)uv?SnX9)&m1PI97T!JnAraV}p&u&KjlNQ{%sr9aNKwrLm@knQ}x$FOe0h7rBCKq!+z+HZf$0Ilb z0&aSAd`_p+Fiq3w2$Kc_EeR0u`XNN?_1YejJOkGw!#GaAd^WIHkB-kU48vdltAeJ? SCtLdf0000#sJ0toYpv&drU;wi@ z91dUKk((oI|Ab4m+wGpRB6_*wH2|{^ARr?^Kt_Ooi~s={0Rl1t1Z3O?1fRIx19ZI? zhIt7PeByc+ut$^TX9)&m1PI97T!JnAp*&ck&mKnolNQ{1sP(REKwrLm@ka;?vRVQt9u4M9*>R?EXaPpf6C6@6`<{QJO7pdi(?4}lYs(K zlVAZ19hucV10Rn^M+g>Vzu!M)XYUHocDtQ_OMu0(1Ot=N0bU%;>Yjm*$D<QEeR3v`XNN?_1Y1WtpnF1%Q#NId^NCGkB-kU48vbQ=7L@W#H}6x0000+3 From 951564be8fcacaef9d80ca00b4c362e953ebad8c Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sat, 21 Jan 2023 12:42:46 +0100 Subject: [PATCH 2/4] Update build.gradle --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 5ea36f3..7388fc1 100644 --- a/build.gradle +++ b/build.gradle @@ -35,7 +35,7 @@ buildscript { } } dependencies { - classpath 'com.github.GTNewHorizons:ForgeGradle:1.2.7' + classpath 'com.github.GTNewHorizons:ForgeGradle:1.2.13' } } From 83d25de3a2b836df78d277b51f12f0f62f081b2f Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Sat, 21 Jan 2023 19:55:00 +0800 Subject: [PATCH 3/4] text shift --- .../projecturanus/betterp2p/client/gui/GuiAdvancedMemoryCard.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/projecturanus/betterp2p/client/gui/GuiAdvancedMemoryCard.kt b/src/main/java/com/projecturanus/betterp2p/client/gui/GuiAdvancedMemoryCard.kt index 36c5571..9f6d452 100644 --- a/src/main/java/com/projecturanus/betterp2p/client/gui/GuiAdvancedMemoryCard.kt +++ b/src/main/java/com/projecturanus/betterp2p/client/gui/GuiAdvancedMemoryCard.kt @@ -152,7 +152,7 @@ class GuiAdvancedMemoryCard(msg: S2CListP2P) : GuiScreen(), TextureBound { private fun drawInformation() { val x = 8 - var y = 178 + var y = 214 for (line in descriptionLines) { fontRendererObj.drawString(line, guiLeft + x, guiTop + y, 0) y += fontRendererObj.FONT_HEIGHT From de992b64adc59936a15d9092e145de59755762ce Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Tue, 24 Jan 2023 09:32:39 +0800 Subject: [PATCH 4/4] name --- src/main/resources/assets/betterp2p/lang/en_US.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/betterp2p/lang/en_US.lang b/src/main/resources/assets/betterp2p/lang/en_US.lang index 37dba6a..c96552e 100644 --- a/src/main/resources/assets/betterp2p/lang/en_US.lang +++ b/src/main/resources/assets/betterp2p/lang/en_US.lang @@ -5,7 +5,7 @@ gui.advanced_memory_card.select=Select gui.advanced_memory_card.bind=Bind gui.advanced_memory_card.pos=Pos: %d, %d, %d Side: %s gui.advanced_memory_card.name=Name: %s -gui.advanced_memory_card.extra.channel=Used Channel: %s +gui.advanced_memory_card.extra.channel=Channels used: %s gui.advanced_memory_card.extra.none=No Extra Info gui.advanced_memory_card.mode.input=Mode: Bind Input gui.advanced_memory_card.mode.output=Mode: Bind Output