Skip to content

Commit 072e1b5

Browse files
committed
Mail mostly stable. title data current unused.
1 parent 2879872 commit 072e1b5

File tree

8 files changed

+320
-344
lines changed

8 files changed

+320
-344
lines changed

common/src/main/java/generations/gg/generations/core/generationscore/common/client/screen/mails/MailEditScreen.kt

Lines changed: 19 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
package generations.gg.generations.core.generationscore.common.client.screen.mails
22

33
import com.cobblemon.mod.common.Cobblemon
4-
import com.cobblemon.mod.common.CobblemonNetwork
54
import com.google.common.collect.Lists
6-
import com.mojang.blaze3d.platform.GlStateManager
75
import com.mojang.blaze3d.systems.RenderSystem
86
import com.mojang.blaze3d.vertex.*
9-
import generations.gg.generations.core.generationscore.common.GenerationsCore.implementation
107
import generations.gg.generations.core.generationscore.common.network.packets.C2SEditMailPacket
118
import generations.gg.generations.core.generationscore.common.world.item.MailItem
129
import generations.gg.generations.core.generationscore.common.world.item.components.GenerationsDataComponents.SEALED_MAIL_DATA
13-
import generations.gg.generations.core.generationscore.common.world.item.components.SealedMailContent
10+
import generations.gg.generations.core.generationscore.common.world.item.components.MailContent
1411
import it.unimi.dsi.fastutil.ints.IntArrayList
1512
import net.fabricmc.api.EnvType
1613
import net.fabricmc.api.Environment
@@ -23,8 +20,8 @@ import net.minecraft.client.gui.GuiGraphics
2320
import net.minecraft.client.gui.components.Button
2421
import net.minecraft.client.gui.font.TextFieldHelper
2522
import net.minecraft.client.gui.screens.Screen
26-
import net.minecraft.client.renderer.GameRenderer
2723
import net.minecraft.client.renderer.Rect2i
24+
import net.minecraft.client.renderer.RenderType
2825
import net.minecraft.network.chat.CommonComponents
2926
import net.minecraft.network.chat.Component
3027
import net.minecraft.network.chat.Style
@@ -73,9 +70,9 @@ class MailEditScreen(private val owner: Player, private val book: ItemStack, pri
7370
private var displayCache: DisplayCache? = DisplayCache.EMPTY
7471

7572
init {
76-
val sealedMailContent: SealedMailContent? = book.get(SEALED_MAIL_DATA.value())
77-
if (sealedMailContent != null) {
78-
contents = sealedMailContent.content
73+
val mailContent: MailContent? = book.get(SEALED_MAIL_DATA.value())
74+
if (mailContent != null) {
75+
contents = mailContent.content
7976
}
8077

8178
location = (book.item as MailItem).type.location
@@ -95,6 +92,10 @@ class MailEditScreen(private val owner: Player, private val book: ItemStack, pri
9592
}
9693
}
9794

95+
override fun renderBlurredBackground(partialTick: Float) {
96+
97+
}
98+
9899
override fun tick() {
99100
super.tick()
100101
++this.frameTick
@@ -116,7 +117,7 @@ class MailEditScreen(private val owner: Player, private val book: ItemStack, pri
116117
this.addRenderableWidget(
117118
Button.builder(
118119
CommonComponents.GUI_DONE,
119-
{ arg: Button? ->
120+
{ arg ->
120121
this.saveChanges(false)
121122
minecraft!!.setScreen(null)
122123
}).bounds(this.width / 2 + 2, correctedHeight + 2, 98, 20).build()
@@ -139,13 +140,13 @@ class MailEditScreen(private val owner: Player, private val book: ItemStack, pri
139140
}
140141

141142
private fun updateLocalCopy(sign: Boolean) {
142-
val sealedMailContent: SealedMailContent = book.getOrDefault(SEALED_MAIL_DATA.value(), SealedMailContent())
143+
val mailContent: MailContent = book.getOrDefault(SEALED_MAIL_DATA.value(), MailContent())
143144

144-
if (!contents.isEmpty()) {
145-
sealedMailContent.content = this.contents
145+
if (contents.isNotEmpty()) {
146+
mailContent.content = this.contents
146147
}
147148
if (sign) {
148-
sealedMailContent.author = owner.gameProfile.name
149+
mailContent.author = owner.gameProfile.name
149150
}
150151
}
151152

@@ -308,7 +309,7 @@ class MailEditScreen(private val owner: Player, private val book: ItemStack, pri
308309
for (lineInfo: LineInfo in displayCache!!.lines) {
309310
graphics.drawString(this.font, lineInfo.asComponent, lineInfo.x, lineInfo.y, -0x1000000, false)
310311
}
311-
this.renderHighlight(displayCache.selection)
312+
this.renderHighlight(graphics, displayCache.selection)
312313
this.renderCursor(graphics, displayCache.cursor, displayCache.cursorAtEnd)
313314

314315
super.render(graphics, mouseX, mouseY, partialTick)
@@ -326,28 +327,14 @@ class MailEditScreen(private val owner: Player, private val book: ItemStack, pri
326327
}
327328
}
328329

329-
private fun renderHighlight(selected: Array<Rect2i>) {
330-
val tesselator: Tesselator = Tesselator.getInstance()
331-
RenderSystem.setShader({ GameRenderer.getPositionShader() })
332-
RenderSystem.setShaderColor(0.0f, 0.0f, 255.0f, 255.0f)
333-
// RenderSystem.disableTexture();
334-
RenderSystem.enableColorLogicOp()
335-
RenderSystem.logicOp(GlStateManager.LogicOp.OR_REVERSE)
336-
val bufferBuilder: BufferBuilder = tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION)
330+
private fun renderHighlight(graphics: GuiGraphics, selected: Array<Rect2i>) {
337331
for (rect2i: Rect2i in selected) {
338332
val i: Int = rect2i.x
339333
val j: Int = rect2i.y
340334
val k: Int = i + rect2i.width
341335
val l: Int = j + rect2i.height
342-
bufferBuilder.addVertex(i.toFloat(), l.toFloat(), 0.0f)
343-
bufferBuilder.addVertex(k.toFloat(), l.toFloat(), 0.0f)
344-
bufferBuilder.addVertex(k.toFloat(), j.toFloat(), 0.0f)
345-
bufferBuilder.addVertex(i.toFloat(), j.toFloat(), 0.0f)
336+
graphics.fill(RenderType.guiTextHighlight(), i, j, k, l, -16776961)
346337
}
347-
348-
BufferUploader.drawWithShader(bufferBuilder.buildOrThrow())
349-
RenderSystem.disableColorLogicOp()
350-
// RenderSystem.enableTexture();
351338
}
352339

353340
private fun convertScreenToLocal(screenPos: Pos2i): Pos2i {
@@ -522,7 +509,7 @@ class MailEditScreen(private val owner: Player, private val book: ItemStack, pri
522509
i: Int,
523510
j: Int,
524511
k: Int,
525-
l: Int
512+
l: Int,
526513
): Rect2i {
527514
val string: String = input.substring(l, i)
528515
val string2: String = input.substring(l, j)
@@ -550,7 +537,7 @@ class MailEditScreen(private val owner: Player, private val book: ItemStack, pri
550537
val cursorAtEnd: Boolean,
551538
private val lineStarts: IntArray,
552539
val lines: Array<LineInfo>,
553-
val selection: Array<Rect2i>
540+
val selection: Array<Rect2i>,
554541
) {
555542
fun getIndexAtPosition(font: Font, cursorPosition: Pos2i): Int {
556543
val i: Int = cursorPosition.y / font.lineHeight

common/src/main/java/generations/gg/generations/core/generationscore/common/client/screen/mails/MailViewScreen.java

Lines changed: 0 additions & 254 deletions
This file was deleted.

0 commit comments

Comments
 (0)