Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
kotlin.code.style=official
kotlin.stdlib.default.dependency=false
org.gradle.parallel=true
version=2.2.5
version=2.2.6
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,8 @@ object SettingKeys {
)
val FRIEND_SOUNDS =
SettingKey.ofBoolean(key("friend", "sounds"), defaultValue = true)

// Nametag

val SHOW_NAMETAGS = SettingKey.ofBoolean(key("nametag", "show-nametags"), defaultValue = true)
Comment thread
TheBjoRedCraft marked this conversation as resolved.
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import dev.slne.surf.settings.paper.menu.SettingsMenu
import dev.slne.surf.settings.paper.menu.sub.ChatSettingsMenu
import dev.slne.surf.settings.paper.menu.sub.ClanSettingsMenu
import dev.slne.surf.settings.paper.menu.sub.FriendSettingsMenu
import dev.slne.surf.settings.paper.menu.sub.LobbySettingsMenu
import dev.slne.surf.settings.paper.menu.sub.OtherSettingsMenu
import org.bukkit.plugin.java.JavaPlugin

val plugin get() = JavaPlugin.getPlugin(PaperMain::class.java)
Expand All @@ -26,7 +26,7 @@ class PaperMain : SuspendingJavaPlugin() {
ChatSettingsMenu.register()
ClanSettingsMenu.register()
FriendSettingsMenu.register()
LobbySettingsMenu.register()
OtherSettingsMenu.register()
SettingsMenu.register()
Comment thread
TheBjoRedCraft marked this conversation as resolved.
}

Expand All @@ -50,6 +50,7 @@ class PaperMain : SuspendingJavaPlugin() {
SurfSettingsApi.createSetting(SettingKeys.FRIEND_REQUEST_NOTIFICATIONS)
SurfSettingsApi.createSetting(SettingKeys.FRIEND_NOTIFICATIONS)
SurfSettingsApi.createSetting(SettingKeys.FRIEND_SOUNDS)
SurfSettingsApi.createSetting(SettingKeys.SHOW_NAMETAGS)
// @formatter:on
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import dev.slne.surf.api.paper.inventory.framework.view.AbstractSurfView
import dev.slne.surf.settings.paper.menu.sub.ChatSettingsMenu
import dev.slne.surf.settings.paper.menu.sub.ClanSettingsMenu
import dev.slne.surf.settings.paper.menu.sub.FriendSettingsMenu
import dev.slne.surf.settings.paper.menu.sub.LobbySettingsMenu
import dev.slne.surf.settings.paper.menu.sub.OtherSettingsMenu
import me.devnatan.inventoryframework.ViewConfigBuilder
import me.devnatan.inventoryframework.context.RenderContext
import net.kyori.adventure.text.format.TextDecoration
Expand All @@ -31,10 +31,10 @@ object SettingsMenu : AbstractSurfView("Einstellungen") {
}

render.slot(2, 5) {
withItem(lobbyItem())
withItem(otherItem())
onClick { click ->
click.playClickSound()
click.openForPlayer(LobbySettingsMenu)
click.openForPlayer(OtherSettingsMenu)
}
}

Expand Down Expand Up @@ -74,9 +74,9 @@ private fun chatItem() = buildItem(Material.BELL) {
}
}

private fun lobbyItem() = buildItem(Material.GOLD_NUGGET) {
private fun otherItem() = buildItem(Material.GOLD_NUGGET) {
displayName {
localColored("Lobby Einstellungen".toSmallCaps(), TextDecoration.BOLD)
localColored("Allgemeine Einstellungen".toSmallCaps(), TextDecoration.BOLD)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,11 @@ import me.devnatan.inventoryframework.context.RenderContext
import net.kyori.adventure.text.format.TextDecoration
import org.bukkit.Material

object LobbySettingsMenu : AbstractSurfView("Lobby") {
val scroll = mutableState(false)
val joinScroll = mutableState(false)
object OtherSettingsMenu : AbstractSurfView("Allgemein") {
private val scroll = mutableState(false)
private val joinScroll = mutableState(false)
private val nametag = mutableState(false)
private val joinNametag = mutableState(false)

override fun onViewInit(config: ViewConfigBuilder) {
config.size(5).cancelInteractions()
Expand All @@ -33,14 +35,25 @@ object LobbySettingsMenu : AbstractSurfView("Lobby") {
val player = render.player

scroll.set(
SurfSettingsApi.getSettingValue(player.uniqueId, SettingKeys.LOBBY_SCROLL_SOUND), render
SurfSettingsApi.getSettingValue(player.uniqueId, SettingKeys.LOBBY_SCROLL_SOUND),
render
)

joinScroll.set(
SurfSettingsApi.getSettingValue(player.uniqueId, SettingKeys.LOBBY_SCROLL_SOUND), render
SurfSettingsApi.getSettingValue(
player.uniqueId,
SettingKeys.LOBBY_SCROLL_SOUND
), render
)
nametag.set(
SurfSettingsApi.getSettingValue(player.uniqueId, SettingKeys.SHOW_NAMETAGS),
render
)
joinNametag.set(
SurfSettingsApi.getSettingValue(player.uniqueId, SettingKeys.SHOW_NAMETAGS),
render
)

render.slot(3, 5) {
render.slot(3, 4) {
renderWith {
lobbyScrollItem(scroll[render])
}
Expand All @@ -59,6 +72,25 @@ object LobbySettingsMenu : AbstractSurfView("Lobby") {
watch(scroll)
}

render.slot(3, 6) {
renderWith {
nameTagItem(nametag[render])
}
onClick { click ->
val new = !nametag[render]
nametag.set(new, render)

click.player.sendText {
appendSuccessPrefix()
success("Du hast Nametags nun ")
variableValue(if (new) "aktiviert" else "deaktiviert")
success(".")
}
click.playClickSound()
}
watch(nametag)
}

render.slot(5, 5) {
withItem(buildItem(Material.BARRIER) {
displayName {
Expand All @@ -83,13 +115,21 @@ object LobbySettingsMenu : AbstractSurfView("Lobby") {
scroll.get(close)
)
}

if (joinNametag[close] != nametag[close]) {
SurfSettingsApi.saveSetting(
player.uniqueId,
SettingKeys.SHOW_NAMETAGS,
nametag.get(close)
)
}
}
}
}

private fun lobbyScrollItem(state: Boolean) = buildItem(Material.STONE_BUTTON) {
displayName {
localColored("Hotbar Scroll Sounds".toSmallCaps(), TextDecoration.BOLD)
localColored("Lobby Hotbar Scroll Sounds".toSmallCaps(), TextDecoration.BOLD)
}

buildLore {
Expand All @@ -108,4 +148,31 @@ private fun lobbyScrollItem(state: Boolean) = buildItem(Material.STONE_BUTTON) {
emptyLine()
line { spacer("Klicke, um die Einstellung zu ändern") }
}
}

private fun nameTagItem(state: Boolean) = buildItem(Material.NAME_TAG) {
displayName {
localColored("Nametag Sichtbarkeit".toSmallCaps(), TextDecoration.BOLD)
}

buildLore {
emptyLine()
line { variableValue("Beschreibung:".toSmallCaps()) }
line { localColored("Passe die Nametag Sichtbarkeit an.") }

emptyLine()
line { variableValue("Status:".toSmallCaps()) }
line {
spacer("-")
appendSpace()
localColored(if (state) "Aktiviert" else "Deaktiviert")
}

emptyLine()
line { spacer("Klicke, um die Einstellung zu ändern") }

emptyLine()
line { error("In einigen Fällen kann diese Einstellung") }
line { error("vom Server überschrieben werden.") }
}
}