Skip to content

Commit df5192e

Browse files
Version 1.3.10
1 parent a051c57 commit df5192e

File tree

26 files changed

+216
-274
lines changed

26 files changed

+216
-274
lines changed

changelog/release-1.3.10.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Title: Bug Patch
2+
Summary: Minor bug fixes
3+
4+
## Social
5+
- Added Community Rules modal, which must be accepted before being able to engage with social features
6+
- Added modal to mute or block user after reporting them
7+
- Added notification to confirm when a user has been successfully muted
8+
- Added modals to communicate why and for how long you were suspended
9+
- Improved Social Menu to show when you cannot talk to a user because they are suspended
10+
- Improved Terms of Use and Privacy Policy modal design
11+
12+
## Bug Fixes
13+
- Fixed skin textures being removed after opening Wardrobe on Minecraft 1.20.2 to 1.21.8
14+
- Fixed Essential's Pause Menu showing up in Minecraft's Game Paused menu on Minecraft 1.17+
15+
- Fixed game freezing when uploading skin
16+
- Fixed notifications with a single character not displaying the message
17+
- Fixed keybinds for Screenshot Manager, Wardrobe, and Social Menu sometimes soft-locking the game
18+
- Fixed server names in Friends tab of Multiplayer menu

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ minecraftVersion=11202
1010
# TODO remove once upgrading to Loom 1.10
1111
# fabric-api 1.21.5 was built with Loom 1.10, seems to work well enough in dev with our current 1.7 though
1212
loom.ignoreDependencyLoomVersionValidation=true
13-
version=1.3.9.3
13+
version=1.3.10

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[versions]
22
universalcraft = "431"
3-
elementa = "708"
3+
elementa = "712"
44
vigilance = "306"
55
mixinextras = "0.4.0"
66

gui/essential/src/main/java/gg/essential/handlers/MojangSkinManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ public void flushChanges(boolean notification) {
107107
}
108108

109109
@Nullable
110-
protected synchronized Skin updateSkinNow(boolean notification, boolean userSet) {
110+
protected synchronized Skin updateSkinNow(boolean notification, boolean ignoreForClientUpdate) {
111111
SkinUpdate queuedSkinChange = this.queuedSkinChange;
112112
this.queuedSkinChange = null;
113113
if (queuedSkinChange == null) return null;

gui/essential/src/main/kotlin/gg/essential/gui/common/modal/ConfirmDenyModal.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,6 @@ open class ConfirmDenyModal(
5555
get() = cancelButtonTextState.get()
5656
set(value) = cancelButtonTextState.set(value)
5757

58-
var cancelButtonStyle: StyledButton.Style
59-
get() = cancelButtonStyleState.get()
60-
set(value) = cancelButtonStyleState.set(value)
61-
62-
var cancelButtonEnabled: Boolean
63-
get() = cancelButtonEnabledState.get()
64-
set(value) = cancelButtonEnabledState.set(value)
65-
6658
val cancelButton: UIComponent by OutlineButton(
6759
cancelButtonStyleState.toV2(),
6860
cancelButtonEnabledState.not().toV2(),

gui/essential/src/main/kotlin/gg/essential/gui/common/outline/GuiScaleOffsetOutline.kt

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

gui/essential/src/main/kotlin/gg/essential/gui/friends/state/SocialStates.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,12 +214,12 @@ interface IMessengerStates {
214214
/**
215215
* Deletes [message] from the channel it is in
216216
*/
217-
fun deleteMessage(message: ClientMessage) = deleteMessage(message.id, message.channel.id)
217+
fun deleteMessage(message: ClientMessage) = deleteMessage(message.channel.id, message.id)
218218

219219
/**
220220
* Deletes [message] from the channel it is in
221221
*/
222-
fun deleteMessage(message: Message) = deleteMessage(message.id, message.channelId)
222+
fun deleteMessage(message: Message) = deleteMessage(message.channelId, message.id)
223223

224224
fun leaveGroup(channelId: Long)
225225

gui/essential/src/main/kotlin/gg/essential/gui/layoutdsl/checkbox.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import gg.essential.gui.EssentialPalette
1616
import gg.essential.gui.common.Checkbox
1717
import gg.essential.gui.elementa.state.v2.MutableState
1818
import gg.essential.gui.elementa.state.v2.State
19+
import gg.essential.gui.elementa.state.v2.combinators.not
1920
import gg.essential.gui.elementa.state.v2.stateOf
2021
import gg.essential.universal.USound
2122
import gg.essential.util.onLeftClick
@@ -39,9 +40,12 @@ fun LayoutScope.checkbox(
3940

4041
// Alternative checkbox style used in modern modals
4142
fun LayoutScope.checkboxAlt(selected: MutableState<Boolean>, modifier: Modifier = Modifier, disabled: State<Boolean> = stateOf(false)) {
42-
val selectedModifier = Modifier.color(EssentialPalette.LINK).whenTrue(disabled, Modifier.color(EssentialPalette.LINK.darker()), Modifier.hoverColor(EssentialPalette.LINK_HIGHLIGHT))
43-
val outlineColorModifier = Modifier.whenTrue(selected, selectedModifier, Modifier.color(EssentialPalette.CHECKBOX_OUTLINE).whenTrue(disabled, Modifier.color(EssentialPalette.CHECKBOX_OUTLINE.darker())))
44-
val innerColorModifier = Modifier.whenTrue(selected, selectedModifier, Modifier.color(EssentialPalette.BUTTON).whenTrue(disabled, Modifier.color(EssentialPalette.BUTTON.darker()), Modifier.hoverColor(EssentialPalette.BUTTON_HIGHLIGHT)))
43+
val selectedModifier = Modifier.color(EssentialPalette.CHECKBOX_SELECTED_BACKGROUND)
44+
.whenTrue(disabled, Modifier.color(EssentialPalette.CHECKBOX_SELECTED_BACKGROUND.darker()), Modifier.hoverColor(EssentialPalette.CHECKBOX_SELECTED_BACKGROUND_HOVER))
45+
val outlineColorModifier = Modifier.whenTrue(selected, selectedModifier, Modifier.color(EssentialPalette.CHECKBOX_OUTLINE)
46+
.whenTrue(disabled, Modifier.color(EssentialPalette.CHECKBOX_OUTLINE.darker())))
47+
val innerColorModifier = Modifier.whenTrue(selected, selectedModifier, Modifier.color(EssentialPalette.CHECKBOX_BACKGROUND)
48+
.whenTrue(disabled, Modifier.color(EssentialPalette.CHECKBOX_BACKGROUND.darker()), Modifier.hoverColor(EssentialPalette.CHECKBOX_BACKGROUND_HOVER)))
4549

4650
box(Modifier.width(9f).heightAspect(1f).hoverScope() then outlineColorModifier then modifier) {
4751
box(Modifier.width(7f).heightAspect(1f) then innerColorModifier) {

gui/essential/src/main/kotlin/gg/essential/gui/modals/ModalPrerequisites.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@
1111
*/
1212
package gg.essential.gui.modals
1313

14+
import gg.essential.gui.elementa.state.v2.await
1415
import gg.essential.gui.overlay.ModalFlow
1516
import gg.essential.util.GuiEssentialPlatform.Companion.platform
1617
import kotlinx.coroutines.CancellationException
18+
import kotlinx.coroutines.cancel
19+
import kotlinx.coroutines.launch
1720

1821
abstract class ModalPrerequisites {
1922

@@ -61,6 +64,11 @@ suspend fun ModalFlow.ensurePrerequisites(
6164
}
6265

6366
ensurePrerequisitesInternal(prerequisites)
67+
68+
modalManager.coroutineScope.launch {
69+
platform.suspensionManager.activeSuspension.await { it != null && (social || it.isPermanent) }
70+
modalManager.coroutineScope.cancel()
71+
}
6472
}
6573
}
6674

gui/essential/src/main/kotlin/gg/essential/gui/wardrobe/components/gifting.kt

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import gg.essential.elementa.utils.ObservableList
2626
import gg.essential.gui.EssentialPalette
2727
import gg.essential.gui.common.modal.EssentialModal
2828
import gg.essential.gui.common.modal.configure
29-
import gg.essential.gui.elementa.state.v2.MutableState
3029
import gg.essential.gui.elementa.state.v2.State
3130
import gg.essential.gui.elementa.state.v2.addAll
3231
import gg.essential.gui.elementa.state.v2.collections.MutableTrackedList
@@ -208,18 +207,6 @@ suspend fun ModalFlow.selectFriendsToGiftModal(
208207
validFriends: State<MutableTrackedList<UUID>>,
209208
loadingFriends: State<Boolean>,
210209
): Set<UUID>? {
211-
fun LayoutScope.addRemoveCheckbox(selected: MutableState<Boolean>) {
212-
val hoverColor = selected.map { if (it) EssentialPalette.CHECKBOX_SELECTED_BACKGROUND_HOVER else EssentialPalette.CHECKBOX_BACKGROUND_HOVER }
213-
val colorModifier = Modifier.color(EssentialPalette.CHECKBOX_BACKGROUND)
214-
.whenTrue(!selected, Modifier.outline(EssentialPalette.CHECKBOX_OUTLINE, 1f, true))
215-
.whenTrue(selected, Modifier.color(EssentialPalette.CHECKBOX_SELECTED_BACKGROUND))
216-
217-
box(colorModifier.width(9f).heightAspect(1f).hoverScope().hoverColor(hoverColor)) {
218-
if_(selected) {
219-
image(EssentialPalette.CHECKMARK_7X5, Modifier.color(EssentialPalette.TEXT_HIGHLIGHT))
220-
}
221-
}
222-
}
223210

224211
return selectModal(
225212
"Select friends to gift\nthem ${ChatColor.WHITE + item.name + ChatColor.RESET}.", "SelectFriendsToGift"
@@ -244,7 +231,7 @@ suspend fun ModalFlow.selectFriendsToGiftModal(
244231
box(Modifier.fillParent()) {
245232
row(Modifier.fillParent(padding = 3f)) {
246233
playerEntry(selected, uuid)
247-
addRemoveCheckbox(selected)
234+
checkboxAlt(selected)
248235
}
249236
}.onLeftClick { event ->
250237
USound.playButtonPress()

0 commit comments

Comments
 (0)