Skip to content

Commit 58afbee

Browse files
fix: adjust double jump mechanics and improve ground detection logic
1 parent ebdaca3 commit 58afbee

12 files changed

Lines changed: 138 additions & 112 deletions

File tree

TODO.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
kotlin.code.style=official
22
kotlin.stdlib.default.dependency=false
33
org.gradle.parallel=true
4-
version=3.1.0-SNAPSHOT
4+
version=3.1.1-SNAPSHOT

gradle/wrapper/gradle-wrapper.jar

3.43 KB
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions-snapshots/gradle-9.4.0-20260117005955+0000-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

gradlew

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package dev.slne.surf.lobby.hook.settings
22

33
import dev.slne.surf.settings.api.SurfSettingsApi
4+
import dev.slne.surf.settings.api.setting.SettingKeys
45
import java.util.*
56

67
object SettingsHook {
7-
fun hasScrollSoundsEnabled(playerUuid: UUID): Boolean {
8-
return SurfSettingsApi.getPlayerSetting(playerUuid, "lobby_scroll_sound")?.getBoolean()
9-
?: false
10-
}
8+
fun hasScrollSoundsEnabled(playerUuid: UUID): Boolean =
9+
SurfSettingsApi.getSettingValue(playerUuid, SettingKeys.LOBBY_SCROLL_SOUND)
1110
}

src/main/kotlin/dev/slne/surf/lobby/inventory/item/impl/profile/ProfileItem.kt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,17 @@ import dev.slne.surf.api.paper.builder.displayName
77
import dev.slne.surf.lobby.hook.profile.ProfileHook
88
import dev.slne.surf.lobby.inventory.item.InventoryItem
99
import dev.slne.surf.lobby.plugin
10+
import net.kyori.adventure.text.Component
11+
import net.kyori.adventure.text.format.NamedTextColor
1012
import net.kyori.adventure.text.format.TextColor
1113
import net.kyori.adventure.text.format.TextDecoration
14+
import net.kyori.adventure.text.`object`.ObjectContents
1215
import org.bukkit.entity.Player
1316
import org.bukkit.inventory.ItemStack
1417
import org.bukkit.inventory.ItemType
1518
import org.bukkit.inventory.meta.SkullMeta
1619

17-
object ProfileItem : InventoryItem(8, ItemType.PLAYER_HEAD.createItemStack().apply {
18-
applyDisplayAndLore()
19-
}) {
20+
object ProfileItem : InventoryItem(8, ItemType.PLAYER_HEAD.createItemStack()) {
2021
override val permission = null
2122
override fun onInteract(player: Player) {
2223
if (plugin.checkProfileHook()) {
@@ -29,12 +30,14 @@ object ProfileItem : InventoryItem(8, ItemType.PLAYER_HEAD.createItemStack().app
2930
editMeta(SkullMeta::class.java) {
3031
it.owningPlayer = player
3132
}
32-
applyDisplayAndLore()
33+
applyDisplayAndLore(player)
3334
}
3435
}
3536

36-
private fun ItemStack.applyDisplayAndLore() {
37+
private fun ItemStack.applyDisplayAndLore(player: Player) {
3738
displayName {
39+
append(Component.`object`(ObjectContents.playerHead(player.uniqueId))).color(NamedTextColor.WHITE)
40+
appendSpace()
3841
localColored("Dein Profil")
3942
}
4043

src/main/kotlin/dev/slne/surf/lobby/inventory/item/impl/visibility/ShowAllPlayersInventoryItem.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package dev.slne.surf.lobby.inventory.item.impl.visibility
22

33
import dev.slne.surf.api.core.font.toSmallCaps
4+
import dev.slne.surf.api.core.messages.adventure.playSound
45
import dev.slne.surf.api.core.messages.adventure.sendText
56
import dev.slne.surf.api.core.messages.builder.SurfComponentBuilder
67
import dev.slne.surf.api.paper.builder.buildLore
78
import dev.slne.surf.api.paper.builder.displayName
9+
import dev.slne.surf.api.paper.util.BukkitSound
810
import dev.slne.surf.lobby.inventory.item.InventoryItem
911
import dev.slne.surf.lobby.manager.PlayerVisibilityManager
1012
import dev.slne.surf.lobby.utils.PermissionRegistry
@@ -13,7 +15,7 @@ import net.kyori.adventure.text.format.TextDecoration
1315
import org.bukkit.entity.Player
1416
import org.bukkit.inventory.ItemType
1517

16-
object ShowAllPlayersInventoryItem : InventoryItem(0, ItemType.LIME_DYE.createItemStack().apply {
18+
object ShowAllPlayersInventoryItem : InventoryItem(0, ItemType.LIME_CANDLE.createItemStack().apply {
1719
displayName {
1820
localColored("Spieler-Sichtbarkeit")
1921
}
@@ -74,11 +76,14 @@ object ShowAllPlayersInventoryItem : InventoryItem(0, ItemType.LIME_DYE.createIt
7476
PlayerVisibilityManager.VisibilityState.SHOW_TEAM
7577
)
7678
player.inventory.setItem(slot, ShowTeamPlayersInventoryItem.item)
79+
player.playSound(true) {
80+
type(BukkitSound.UI_BUTTON_CLICK)
81+
}
7782

7883
player.sendText {
7984
appendInfoPrefix()
8085
info("Du siehst jetzt nur noch ")
81-
success("Teammitglieder")
86+
yellow("Teammitglieder")
8287
info(".")
8388
}
8489
}

src/main/kotlin/dev/slne/surf/lobby/inventory/item/impl/visibility/ShowNonePlayersInventoryItem.kt

Lines changed: 50 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package dev.slne.surf.lobby.inventory.item.impl.visibility
22

33
import dev.slne.surf.api.core.font.toSmallCaps
4+
import dev.slne.surf.api.core.messages.adventure.playSound
45
import dev.slne.surf.api.core.messages.adventure.sendText
56
import dev.slne.surf.api.core.messages.builder.SurfComponentBuilder
67
import dev.slne.surf.api.paper.builder.buildLore
78
import dev.slne.surf.api.paper.builder.displayName
9+
import dev.slne.surf.api.paper.util.BukkitSound
810
import dev.slne.surf.lobby.inventory.item.InventoryItem
911
import dev.slne.surf.lobby.manager.PlayerVisibilityManager
1012
import dev.slne.surf.lobby.utils.PermissionRegistry
@@ -13,67 +15,71 @@ import net.kyori.adventure.text.format.TextDecoration
1315
import org.bukkit.entity.Player
1416
import org.bukkit.inventory.ItemType
1517

16-
object ShowNonePlayersInventoryItem : InventoryItem(0, ItemType.GRAY_DYE.createItemStack().apply {
17-
displayName {
18-
localColored("Spieler-Sichtbarkeit")
19-
}
20-
21-
buildLore {
22-
emptyLine()
23-
line {
24-
variableValue("Beschreibung:".toSmallCaps())
25-
}
26-
line {
27-
spacer("-")
28-
appendSpace()
29-
localColored("Spielersichtbarkeit steuern")
18+
object ShowNonePlayersInventoryItem :
19+
InventoryItem(0, ItemType.RED_CANDLE.createItemStack().apply {
20+
displayName {
21+
localColored("Spieler-Sichtbarkeit")
3022
}
3123

32-
line {
33-
spacer("-")
34-
appendSpace()
35-
localColored("Zwischen allen Spielern, Teammitgliedern und keinen Spielern wechseln")
36-
}
24+
buildLore {
25+
emptyLine()
26+
line {
27+
variableValue("Beschreibung:".toSmallCaps())
28+
}
29+
line {
30+
spacer("-")
31+
appendSpace()
32+
localColored("Spielersichtbarkeit steuern")
33+
}
3734

38-
emptyLine()
35+
line {
36+
spacer("-")
37+
appendSpace()
38+
localColored("Zwischen allen Spielern, Teammitgliedern und keinen Spielern wechseln")
39+
}
3940

40-
line {
41-
variableValue("Status".toSmallCaps())
42-
}
41+
emptyLine()
4342

44-
line {
45-
spacer("-")
46-
appendSpace()
47-
error("Alle Spieler")
48-
}
43+
line {
44+
variableValue("Status".toSmallCaps())
45+
}
4946

50-
line {
51-
spacer("-")
52-
appendSpace()
53-
error("Nur Teammitglieder")
54-
}
47+
line {
48+
spacer("-")
49+
appendSpace()
50+
error("Alle Spieler")
51+
}
5552

56-
line {
57-
appendSpace()
58-
spacer("-")
59-
appendSpace()
60-
success("Keine Spieler", TextDecoration.BOLD)
61-
}
53+
line {
54+
spacer("-")
55+
appendSpace()
56+
error("Nur Teammitglieder")
57+
}
58+
59+
line {
60+
appendSpace()
61+
spacer("-")
62+
appendSpace()
63+
success("Keine Spieler", TextDecoration.BOLD)
64+
}
6265

63-
emptyLine()
66+
emptyLine()
6467

65-
line {
66-
spacer("» Klicke, um zu wechseln")
68+
line {
69+
spacer("» Klicke, um zu wechseln")
70+
}
6771
}
68-
}
69-
}) {
72+
}) {
7073
override val permission: String = PermissionRegistry.PLAYER_VISIBILITY_ITEM
7174
override fun onInteract(player: Player) {
7275
PlayerVisibilityManager.setState(
7376
player.uniqueId,
7477
PlayerVisibilityManager.VisibilityState.SHOW_ALL
7578
)
7679
player.inventory.setItem(slot, ShowAllPlayersInventoryItem.item)
80+
player.playSound(true) {
81+
type(BukkitSound.UI_BUTTON_CLICK)
82+
}
7783

7884
player.sendText {
7985
appendInfoPrefix()

src/main/kotlin/dev/slne/surf/lobby/inventory/item/impl/visibility/ShowTeamPlayersInventoryItem.kt

Lines changed: 50 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,84 @@
11
package dev.slne.surf.lobby.inventory.item.impl.visibility
22

33
import dev.slne.surf.api.core.font.toSmallCaps
4+
import dev.slne.surf.api.core.messages.adventure.playSound
45
import dev.slne.surf.api.core.messages.adventure.sendText
56
import dev.slne.surf.api.core.messages.builder.SurfComponentBuilder
67
import dev.slne.surf.api.paper.builder.buildLore
78
import dev.slne.surf.api.paper.builder.displayName
9+
import dev.slne.surf.api.paper.util.BukkitSound
810
import dev.slne.surf.lobby.inventory.item.InventoryItem
911
import dev.slne.surf.lobby.manager.PlayerVisibilityManager
1012
import net.kyori.adventure.text.format.TextColor
1113
import net.kyori.adventure.text.format.TextDecoration
1214
import org.bukkit.entity.Player
1315
import org.bukkit.inventory.ItemType
1416

15-
object ShowTeamPlayersInventoryItem : InventoryItem(0, ItemType.ORANGE_DYE.createItemStack().apply {
16-
displayName {
17-
localColored("Spieler-Sichtbarkeit")
18-
}
19-
20-
buildLore {
21-
emptyLine()
22-
line {
23-
variableValue("Beschreibung:".toSmallCaps())
24-
}
25-
line {
26-
spacer("-")
27-
appendSpace()
28-
localColored("Spielersichtbarkeit steuern")
17+
object ShowTeamPlayersInventoryItem :
18+
InventoryItem(0, ItemType.YELLOW_CANDLE.createItemStack().apply {
19+
displayName {
20+
localColored("Spieler-Sichtbarkeit")
2921
}
3022

31-
line {
32-
spacer("-")
33-
appendSpace()
34-
localColored("Zwischen allen Spielern, Teammitgliedern und keinen Spielern wechseln")
35-
}
23+
buildLore {
24+
emptyLine()
25+
line {
26+
variableValue("Beschreibung:".toSmallCaps())
27+
}
28+
line {
29+
spacer("-")
30+
appendSpace()
31+
localColored("Spielersichtbarkeit steuern")
32+
}
3633

37-
emptyLine()
34+
line {
35+
spacer("-")
36+
appendSpace()
37+
localColored("Zwischen allen Spielern, Teammitgliedern und keinen Spielern wechseln")
38+
}
3839

39-
line {
40-
variableValue("Status".toSmallCaps())
41-
}
40+
emptyLine()
4241

43-
line {
44-
spacer("-")
45-
appendSpace()
46-
error("Alle Spieler")
47-
}
42+
line {
43+
variableValue("Status".toSmallCaps())
44+
}
4845

49-
line {
50-
appendSpace()
51-
spacer("-")
52-
appendSpace()
53-
success("Nur Teammitglieder", TextDecoration.BOLD)
54-
}
46+
line {
47+
spacer("-")
48+
appendSpace()
49+
error("Alle Spieler")
50+
}
5551

56-
line {
57-
spacer("-")
58-
appendSpace()
59-
error("Keine Spieler", TextDecoration.BOLD)
60-
}
52+
line {
53+
appendSpace()
54+
spacer("-")
55+
appendSpace()
56+
success("Nur Teammitglieder", TextDecoration.BOLD)
57+
}
58+
59+
line {
60+
spacer("-")
61+
appendSpace()
62+
error("Keine Spieler", TextDecoration.BOLD)
63+
}
6164

62-
emptyLine()
65+
emptyLine()
6366

64-
line {
65-
spacer("» Klicke, um zu wechseln")
67+
line {
68+
spacer("» Klicke, um zu wechseln")
69+
}
6670
}
67-
}
68-
}) {
71+
}) {
6972
override val permission = null
7073
override fun onInteract(player: Player) {
7174
PlayerVisibilityManager.setState(
7275
player.uniqueId,
7376
PlayerVisibilityManager.VisibilityState.SHOW_NONE
7477
)
7578
player.inventory.setItem(slot, ShowNonePlayersInventoryItem.item)
79+
player.playSound(true) {
80+
type(BukkitSound.UI_BUTTON_CLICK)
81+
}
7682

7783
player.sendText {
7884
appendInfoPrefix()

0 commit comments

Comments
 (0)