Skip to content

Commit 42fce58

Browse files
committed
Merge branch 'master' of https://github.com/TrMenu/TrMenu
2 parents 20e8ad7 + b097670 commit 42fce58

File tree

5 files changed

+69
-28
lines changed

5 files changed

+69
-28
lines changed

plugin/build.gradle.kts

+3
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ taboolib {
4141
name("ItemsAdder").optional(true)
4242
name("floodgate-bukkit").optional(true)
4343
name("FastScript").optional(true)
44+
name("Triton").optional(true)
4445
}
4546
}
4647
relocate("trplugins.menu", group.toString().toLowerCase())
@@ -81,6 +82,8 @@ dependencies {
8182
compileOnly("com.github.Th0rgal:Oraxen:master-SNAPSHOT") { isTransitive = false }
8283
compileOnly("org.black_ixx:playerpoints:3.1.1") { isTransitive = false }
8384
compileOnly("com.github.MilkBowl:VaultAPI:-SNAPSHOT") { isTransitive = false }
85+
compileOnly("com.github.tritonmc.Triton:core:v3.7.3") { isTransitive = false }
86+
compileOnly("com.github.tritonmc.Triton:api:v3.7.3") { isTransitive = false }
8487

8588
compileOnly(fileTree("libs"))
8689
}

plugin/src/main/kotlin/trplugins/menu/module/internal/hook/HookPlugin.kt

+4
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,8 @@ object HookPlugin {
7575
return get(HookZaphkiel::class.java)
7676
}
7777

78+
fun getTriton(): HookTriton {
79+
return get(HookTriton::class.java)
80+
}
81+
7882
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package trplugins.menu.module.internal.hook.impl
2+
3+
import com.rexcantor64.triton.Triton
4+
import com.rexcantor64.triton.api.players.LanguagePlayer
5+
import org.bukkit.entity.Player
6+
import trplugins.menu.module.internal.hook.HookAbstract
7+
8+
/**
9+
* @author Rubenicos
10+
* @date 2022/06/01 09:18
11+
*/
12+
class HookTriton : HookAbstract() {
13+
14+
private val triton: Triton? = if (isHooked) Triton.get() else null
15+
get() {
16+
if (field == null) reportAbuse()
17+
return field
18+
}
19+
20+
fun getText(player: Player, code: String, args: Array<String>): String? {
21+
val langPlayer: LanguagePlayer = triton?.playerManager?.get(player.uniqueId) ?: return null
22+
return triton?.languageManager?.getText(langPlayer, code, *args)
23+
}
24+
25+
override fun getPluginName(): String {
26+
return "Triton"
27+
}
28+
}

plugin/src/main/kotlin/trplugins/menu/module/internal/script/FunctionParser.kt

+8-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import trplugins.menu.util.print
1111
import org.bukkit.entity.Player
1212
import taboolib.common.util.subList
1313
import taboolib.module.configuration.Configuration
14+
import trplugins.menu.module.internal.hook.HookPlugin
1415

1516
/**
1617
* @author Arasple
@@ -38,6 +39,7 @@ object FunctionParser {
3839
"meta", "m" -> Metadata.getMeta(player)[value].toString()
3940
"data", "d" -> Metadata.getData(player)[value].toString()
4041
"globaldata", "gdata", "g" -> runCatching { Metadata.globalData[value].toString() }.getOrElse { "null" }
42+
"lang", "triton" -> parseLangText(player, value)
4143

4244
else -> block(type, value) ?: "{${it.value}}"
4345
}
@@ -75,4 +77,9 @@ object FunctionParser {
7577
return JavaScriptAgent.eval(session, input).asString()
7678
}
7779

78-
}
80+
private fun parseLangText(player: Player, text: String): String {
81+
val split = text.split("=", limit = 2)
82+
return HookPlugin.getTriton().getText(player, split[0], if (split.size < 2) emptyArray() else split[1].split("_||_").toTypedArray()).toString()
83+
}
84+
85+
}

plugin/src/main/resources/lang/ru_RU.yml

+26-27
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,31 @@ Plugin-Loading:
22
- '&r'
33
- '&7Загрузка &3Tr&bMenu &f&lPremium... &8{0}'
44
- '&r'
5-
Plugin-Enabled: '&8[&3Tr&bMenu&8] &bINFO &8| &3Плагин включен. В настоящее время запущена версия &2{0}&7.'
5+
Plugin-Enabled: '&8[&3Tr&bMenu&8] &bINFO &8| &3Плагин включен. Версия плагина &2{0}&7'
66
Plugin-Update:
7-
- '&8[&3Tr&bMenu&8] &bUPDATE &8| &3Обновление &a{0}&3 найдено ! Скачайте его по ссылке ниже, чтобы узнать о новых возможностях и исправить ошибку!'
7+
- '&8[&3Tr&bMenu&8] &bUPDATE &8| &3Обновление &a{0}&3! Скачайте его для новых фишек и исправления ошибок!'
88
- '&bhttps://www.spigotmc.org/resources/83120/'
9-
Plugin-Dependency-Hooked: '&8[&3Tr&bMenu&8] &6HOOK &8| &7Soft-Dependency &f{0} &7is hooked.'
10-
Plugin-Dependency-Abuse: '&8[&3Tr&bMenu&8] &6HOOK &8| &4Attempted to use the non-installed soft-depend plugin &c{0}'
9+
Plugin-Dependency-Hooked: '&8[&3Tr&bMenu&8] &6HOOK &8| &7Дополнительный софт &f{0} &7is привязан.'
10+
Plugin-Dependency-Abuse: '&8[&3Tr&bMenu&8] &6HOOK &8| &4Попытка привязки к не установленому софту... &c{0}'
1111

12-
Menu-Loader-Loaded: '&8[&3Tr&bMenu&8] &aFINE &8| &a{0} &3менюшки были загружены за &8({1} ms)'
13-
Menu-Loader-Loading: '&8[&3Tr&bMenu&8] &6THREAD &8| &3Loading menus...'
14-
Menu-Loader-Failed: '&8[&3Tr&bMenu&8] &cError &8| &4An error occurred while loading the trplugins.menu &c{0} &4! Located at: {1}'
15-
Menu-Loader-Reloaded: '&8[&3Tr&bMenu&8] &aFINE &8| &7автоматически перезагружается меню xxx &f{0} &8({1}ms)'
12+
Menu-Loader-Loaded: '&8[&3Tr&bMenu&8] &aFINE &8| &a{0} &3Меню загрузились &8({1} с)'
13+
Menu-Loader-Loading: '&8[&3Tr&bMenu&8] &6THREAD &8| &3Загрузка меню...'
14+
Menu-Loader-Failed: '&8[&3Tr&bMenu&8] &cError &8| &4Произошла ошибка при загрузке trplugins.menu &c{0} &4! Находится: {1}'
15+
Menu-Loader-Reloaded: '&8[&3Tr&bMenu&8] &aFINE &8| &7Автоматически перезагружается меню &f{0} &7за &8({1}ms)'
1616
Menu-Expansions-Header:
17-
- '&8[&3Tr&bMenu&8] &7Вы должны установить &f{0} &7расширение для PlaceholderAPI чтобы использовать данное меню!'
17+
- '&8[&3Tr&bMenu&8] &7Требуется расширение &f{0}&7 для плагина PlaceholderAPI чтобы открыть меню!'
1818
- type: JSON
19-
text: '&7Также не забудьте [&3&nreload]'
19+
text: '&7Также не забудьте &7[&3&nПерезагрузить]'
2020
args:
21-
- hover: '&7Нажмите, чтобы перезагрузить расширения PAPI'
21+
- hover: '&7Щелкните, чтобы перезагрузить расширения PAPI'
2222
command: '/papi reload'
2323
Menu-Expansions-Format:
2424
- type: JSON
2525
text: '&8- [&a{0}]&r'
2626
args:
27-
- hover: '&7Нажмите, чтобы скачать!'
27+
- hover: '&7Скачать расширение!'
2828
command: '/papi ecloud download {0}'
29-
Menu-Action-Sound: '&8[&3Tr&bMenu&8] &7Неизвестный звук: &f{0}'
30-
29+
Menu-Action-Sound: '&8[&3Tr&bMenu&8] &7Звук: &f{0} &7не найден!'
3130
Menu-Internal-Page-Previous: 'Предыдущая страница'
3231
Menu-Internal-Page-Next: 'Следующая Страница'
3332
Menu-Internal-Sounds-Title: 'Звуки / Страница: {0} ; Фильтр: {1}'
@@ -45,11 +44,11 @@ Menu-Internal-Sounds-Copy:
4544
- type: JSON
4645
text: '[&a&n{0}]'
4746
args:
48-
- hover: '&8Щелкните этот текст, скопируйте в буфер обмена '
47+
- hover: '&8Щелкните, чтобы скопировать'
4948
suggest: '{0}'
5049
- '&r'
5150

52-
Paster-Processing: '&8[&3Tr&bMenu&8] &7Содержимое вставляется ...'
51+
Paster-Processing: '&8[&3Tr&bMenu&8] &7Содержимое вставляется...'
5352
Paster-Success: '&8[&3Tr&bMenu&8] &3Содержание вставлено в &a{0}'
5453
Paster-Failed: '&8[&3Tr&bMenu&8] &cПри вставке содержимого произошла ошибка. Пожалуйста, проверьте консоль.'
5554

@@ -60,24 +59,24 @@ Command-Open-Description: 'Открыть меню для плеера'
6059
Command-Reload-Description: 'Обновить все меню'
6160
Command-Template-Description: 'Меню быстрого макета'
6261
Command-Item-Description: 'Манипулировать предметами'
63-
Command-Convert-Description: 'Convert menu type'
62+
Command-Convert-Description: 'Конвертировать тип меню'
6463
Command-Action-Description: 'Выполнить действия для теста'
6564
Command-Sounds-Description: 'Предварительный просмотр и тестирование звуков'
6665

6766
Command-Open-Unknown-Menu: '&8[&3Tr&bMenu&8] &7Неизвестное меню: &6{0} &7.'
6867
Command-Open-Unknown-Player: '&8[&3Tr&bMenu&8] &7Игрок &f{0} &7не в сети.'
6968
Command-Action-Unknown-Player: '&8[&3Tr&bMenu&8] &7Игрок &f{0} &7не в сети.'
70-
Command-Template-Empty: '&8[&3Tr&bMenu&8] &7Инвентаризация шаблонов пуста, создание меню отменено.'
71-
Command-Item-No-Item: '&8[&3Tr&bMenu&8] &7Пожалуйста &fдержите предмет &7в руке.'
69+
Command-Template-Empty: '&8[&3Tr&bMenu&8] &Меню пустое! Создание меню отменено.'
70+
Command-Item-No-Item: '&8[&3Tr&bMenu&8] &7Возьмите предмет в руку.'
7271
Command-Item-To-Json:
7372
- type: JSON
74-
text: '&8\[&3Tr&bMenu&8\] &7Этот предмет был преобразован в формат JSON: [&3&nНажмите copy]'
73+
text: '&8\[&3Tr&bMenu&8\] &7Этот предмет был преобразован в формат JSON: [&3&nЩелкните скопировать]'
7574
args:
76-
- hover: '&7Нажмите, чтобы скопировать'
75+
- hover: '&7Щелкните, чтобы скопировать'
7776
suggest: '{0}'
7877
Command-Item-Saved: '&8[&3Tr&bMenu&8] &7Сохранен предмет (Id: &f{0}&7) в хранилище'
7978
Command-Item-Deleted: '&8[&3Tr&bMenu&8] &7Удален предмет (Id: &f{0}&7) из хранилища'
80-
Command-List-Error: '&8[&3Tr&bMenu&8] &7NORM &8| &7Меню не найдено... &8(Фильтр: {0})'
79+
Command-List-Error: '&8[&3Tr&bMenu&8] &7NORM &8| &7Меню не найдено... &8(&3Фильтр: &a{0})'
8180
Command-List-Header:
8281
- '&r'
8382
- '&8[&3Tr&bMenu&8] &aFINE &8| &7Загружено &f{0} &7меню &8(Фильтр: {1}): '
@@ -86,9 +85,9 @@ Command-List-Format:
8685
- type: JSON
8786
text: '&8- [&3{0}]&8<{1}&8> &7| &8(Заголовок: {2} &8/ Иконки: {3})&r'
8887
args:
89-
- hover: '&7Нажмите, чтобы открыть'
88+
- hover: '&7Щелкните, чтобы открыть'
9089
command: '/trmenu open {0}'
91-
Command-Convert-Unknown-Menu: '&8[&3Tr&bMenu&8] &7Unknown menu &6{0} &7.'
92-
Command-Convert-Unknown-Type: '&8[&3Tr&bMenu&8] &7Unknown type &b{0} &7.'
93-
Command-Convert-Type-Already: '&8[&3Tr&bMenu&8] &7The type of menu &6{0} &7 is already &b{1} &7.'
94-
Command-Convert-Converted: '&8[&3Tr&bMenu&8] &7Typecast menu &6{0} &7 to &b{1}&7.'
90+
Command-Convert-Unknown-Menu: '&8[&3Tr&bMenu&8] &7Неизвестное меню: &6{0} &7.'
91+
Command-Convert-Unknown-Type: '&8[&3Tr&bMenu&8] &7Неизвестный вид &b{0} &7.'
92+
Command-Convert-Type-Already: '&8[&3Tr&bMenu&8] &7Вид меню &6{0} &7 находится &b{1} &7.'
93+
Command-Convert-Converted: '&8[&3Tr&bMenu&8] &7Типичное меню от &6{0} &7 до &b{1}&7.'

0 commit comments

Comments
 (0)