Skip to content

Commit 8e5831b

Browse files
authored
Merge pull request #185 from YsGqHY/stable/v3
perf:优化头颅图标加载性能
2 parents 5f94354 + 32b89cc commit 8e5831b

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

plugin/src/main/kotlin/trplugins/menu/TrMenu.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import trplugins.menu.module.internal.script.Bindings
2828
import trplugins.menu.module.internal.script.evalScript
2929
import trplugins.menu.module.internal.service.RegisterCommands
3030
import trplugins.menu.module.internal.service.Shortcuts
31+
import trplugins.menu.util.bukkit.Heads
3132

3233
/**
3334
* @author Arasple
@@ -97,6 +98,8 @@ object TrMenu : Plugin() {
9798
NMS.javaStaticInventory = SETTINGS.getBoolean("Options.Static-Inventory.Java", false)
9899
NMS.bedrockStaticInventory = SETTINGS.getBoolean("Options.Static-Inventory.Bedrock", false)
99100
NMS.createIdPacketInventory = SETTINGS.getBoolean("Options.Packet-Inventory.Create-Id", false)
101+
Heads.headConnectTimeout = SETTINGS.getInt("Menu.Icon.Item.Head-Connect-Timeout", 500)
102+
Heads.headReadTimeout = SETTINGS.getInt("Menu.Icon.Item.Head-Read-Timeout", 2500)
100103
}
101104

102105
}

plugin/src/main/kotlin/trplugins/menu/util/bukkit/Heads.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ object Heads {
2929
private const val USER_API = "https://api.mojang.com/users/profiles/minecraft/"
3030
private const val SESSION_API = "https://sessionserver.mojang.com/session/minecraft/profile/"
3131

32+
var headConnectTimeout: Int = 500
33+
var headReadTimeout: Int = 2500
34+
3235
private val JSON_PARSER = JsonParser()
3336
private val DEFAULT_HEAD = XMaterial.PLAYER_HEAD.parseItem()!!.apply {
3437
if (runCatching { Material.PLAYER_HEAD }.isFailure) {
@@ -150,8 +153,8 @@ object Heads {
150153
try {
151154
val con = URL(url).openConnection()
152155
// Java 8 require user agent
153-
con.connectTimeout = 500
154-
con.readTimeout = 2500
156+
con.connectTimeout = headConnectTimeout
157+
con.readTimeout = headReadTimeout
155158
con.addRequestProperty("User-Agent", "Mozilla/5.0")
156159
con.getInputStream().use { `in` ->
157160
BufferedReader(InputStreamReader(`in`)).use { reader ->

plugin/src/main/resources/settings.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ Menu:
8080
Default-Name-Color: "&7"
8181
Default-Lore-Color: "&7"
8282
Pre-Color: false
83+
Head-Connect-Timeout: 500
84+
Head-Read-Timeout: 2500
8385

8486
Action:
8587
Using-Component: true

0 commit comments

Comments
 (0)