Skip to content

Commit d545701

Browse files
committed
Changes synced with 1.14.4 branch.
Signed-off-by: Pavel Erokhin (MairwunNx) <[email protected]>
1 parent c3081c9 commit d545701

19 files changed

+177
-149
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,3 +151,5 @@ fabric.properties
151151
.idea/sonarlint
152152
!/gradle/wrapper/gradle-wrapper.jar
153153
gradle/wrapper/gradle-wrapper.jar
154+
155+
!/libs/*

build.gradle

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,11 @@ minecraft {
6969
repositories {
7070
jcenter()
7171
mavenCentral()
72-
maven { url("https://minecraft.curseforge.com/api/maven/") }
7372
maven { url("https://libraries.minecraft.net") }
74-
maven { url("https://jitpack.io") }
7573
}
7674

7775
dependencies {
76+
implementation fileTree(dir: 'libs', include: ['*.jar'])
7877
minecraft(group: "net.minecraftforge", name: "forge", version: forge_version)
7978
compile(group: "com.mojang", name: "brigadier", version: brigadier_version)
8079
compile(
@@ -87,21 +86,6 @@ dependencies {
8786
name: "kotlin-stdlib-$kotlin_jdk_version_target",
8887
version: kotlin_version
8988
)
90-
compile(
91-
group: "com.github.projectessentials",
92-
name: "ProjectEssentials-Permissions",
93-
version: ess_perm_version
94-
)
95-
compile(
96-
group: "com.github.projectessentials",
97-
name: "ProjectEssentials-Core",
98-
version: ess_core_version
99-
)
100-
compile(
101-
group: "com.github.projectessentials",
102-
name: "ProjectEssentials-Cooldown",
103-
version: ess_cooldown_version
104-
)
10589
}
10690

10791
jar {

changelog.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased]
88

9+
## [1.15.2-1.1.1] - 2020-03-14
10+
11+
### Added
12+
- Libraries as dependencies added.
13+
- Compatibility with safe-localization messages added.
14+
15+
### Changed
16+
- Kotlin dependency updated to `1.3.70`.
17+
- KotlinX Serialization version updated to `0.20.0`.
18+
- Forge API version updated to `28.2.0`.
19+
- `.gitignore` unignored `libs` directory.
20+
- `@UseExperimental` annotation replaced with `@OptIn` in `ChatCooldown.kt`.
21+
22+
### Removed
23+
- Essentials modules removed from `gradle.properties`.
24+
- Essentials modules removed from dependencies in `build.gradle`.
25+
- `jitpack.io` maven repository removed from repositories in `build.gradle`.
26+
- `curseforge` maven repository removed from repositories in `build.gradle`.
27+
928
## [1.15.2-1.1.0] - 2020-02-11
1029

1130
### Added

gradle.properties

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,9 @@ forge_mappings_channel_version=20190719-1.14.3
1111
brigadier_version=1.0.17
1212
kotlin_jdk_version_target=jdk8
1313
project_jvm_version_target=1.8
14-
kotlin_version=1.3.61
15-
kotlinx_serialization_version=0.14.0
16-
ess_core_version=v1.15.2-1.0.0
17-
ess_perm_version=v1.15.2-1.0.0
18-
ess_cooldown_version=v1.15.2-1.0.0
19-
module_version=1.15.2-1.1.0
14+
kotlin_version=1.3.70
15+
kotlinx_serialization_version=0.20.0
16+
module_version=1.15.2-1.1.1
2017
module_name=Project Essentials Chat
2118
module_id=project_essentials_chat
2219
module_vendor=MairwunNx (Pavel Erokhin)
Binary file not shown.
Binary file not shown.
Binary file not shown.

readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<img align="center" src="assets/chat_social.png"/>
22

3-
<h4 align="center"><a href="https://github.com/ProjectEssentials/ProjectEssentials-Chat/releases/download/v1.15.2-1.1.0/Project.Essentials.Chat-1.15.2-1.1.0.jar">Download mod</a> · <a href="https://mairwunnx.gitbook.io/project-essentials/project-essentials-chat#how-to-install">How to install</a> · <a href="https://mairwunnx.gitbook.io/project-essentials/project-essentials-chat#permissions">Permissions</a> · <a href="https://mairwunnx.gitbook.io/project-essentials/project-essentials-chat#configuration">Configuration</a> · <a href="https://github.com/ProjectEssentials/ProjectEssentials-Chat/issues/new/choose">Troubleshooting</a> · <a href="https://t.me/minecraftforge">News & updates</a> · <a href="changelog.md">Change log</a></h4>
3+
<h4 align="center"><a href="https://github.com/ProjectEssentials/ProjectEssentials-Chat/releases/download/v1.15.2-1.1.1/Project.Essentials.Chat-1.15.2-1.1.1.jar">Download mod</a> · <a href="https://mairwunnx.gitbook.io/project-essentials/project-essentials-chat#how-to-install">How to install</a> · <a href="https://mairwunnx.gitbook.io/project-essentials/project-essentials-chat#permissions">Permissions</a> · <a href="https://mairwunnx.gitbook.io/project-essentials/project-essentials-chat#configuration">Configuration</a> · <a href="https://github.com/ProjectEssentials/ProjectEssentials-Chat/issues/new/choose">Troubleshooting</a> · <a href="https://t.me/minecraftforge">News & updates</a> · <a href="changelog.md">Change log</a></h4>
44

55
<h4 align="center">lightweight chat manager for forge, with simple anti-spam and anti-advertising and anti-swearing protection, also with configuration.</h4>
66

src/main/kotlin/com/mairwunnx/projectessentials/chat/ChatCooldown.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ object ChatCooldown {
2323
minSecondsDuration: Int = DEFAULT_COOLDOWN
2424
): Boolean = getCooldownTimeLeft(nickname) >= minSecondsDuration
2525

26-
@UseExperimental(ExperimentalTime::class)
26+
@OptIn(ExperimentalTime::class)
2727
fun getCooldownTimeLeft(nickname: String): Double {
2828
if (cooldownMap[nickname] != null) {
2929
val commandExecutionTime = cooldownMap[nickname]

src/main/kotlin/com/mairwunnx/projectessentials/chat/ChatUtils.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package com.mairwunnx.projectessentials.chat
33
import com.mairwunnx.projectessentials.chat.EntryPoint.Companion.hasPermission
44
import com.mairwunnx.projectessentials.chat.models.ChatModelUtils
55
import com.mairwunnx.projectessentials.core.extensions.empty
6-
import com.mairwunnx.projectessentials.core.extensions.sendMsg
76
import net.minecraft.util.Tuple
87
import net.minecraftforge.event.ServerChatEvent
98

@@ -33,8 +32,7 @@ object ChatUtils {
3332
fixedMessage = newMessage
3433
}
3534
} else {
36-
sendMsg(
37-
"chat",
35+
sendMessage(
3836
event.player.commandSource,
3937
"chat.blocked_word",
4038
it
@@ -55,8 +53,7 @@ object ChatUtils {
5553
val blockedChars = ChatModelUtils.chatModel.moderation.blockedChars
5654
blockedChars.forEach {
5755
if (event.message.contains(it)) {
58-
sendMsg(
59-
"chat",
56+
sendMessage(
6057
event.player.commandSource,
6158
"chat.blocked_char"
6259
)
@@ -74,8 +71,8 @@ object ChatUtils {
7471

7572
val maxLength = ChatModelUtils.chatModel.moderation.maxMessageLength
7673
if (event.message.length > maxLength) {
77-
sendMsg(
78-
"chat", event.player.commandSource, "chat.message_maxlength"
74+
sendMessage(
75+
event.player.commandSource, "chat.message_maxlength"
7976
)
8077
return false
8178
}

src/main/kotlin/com/mairwunnx/projectessentials/chat/EntryPoint.kt

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ import com.mairwunnx.projectessentials.chat.commands.*
55
import com.mairwunnx.projectessentials.chat.models.ChatModelUtils
66
import com.mairwunnx.projectessentials.chat.models.MuteModelUtils
77
import com.mairwunnx.projectessentials.core.EssBase
8+
import com.mairwunnx.projectessentials.core.configuration.localization.LocalizationConfigurationUtils
89
import com.mairwunnx.projectessentials.core.extensions.empty
9-
import com.mairwunnx.projectessentials.core.extensions.sendMsg
10+
import com.mairwunnx.projectessentials.core.localization.processLocalizations
1011
import com.mairwunnx.projectessentials.permissions.permissions.PermissionsAPI
1112
import net.minecraft.entity.player.ServerPlayerEntity
1213
import net.minecraft.util.math.AxisAlignedBB
@@ -28,13 +29,30 @@ class EntryPoint : EssBase() {
2829

2930
init {
3031
modInstance = this
31-
modVersion = "1.15.2-1.1.0"
32+
modVersion = "1.15.2-1.1.1"
3233
logBaseInfo()
3334
validateForgeVersion()
3435
MinecraftForge.EVENT_BUS.register(this)
3536
loadAdditionalModules()
3637
ChatModelUtils.loadData()
3738
MuteModelUtils.loadData()
39+
loadLocalization()
40+
}
41+
42+
private fun loadLocalization() {
43+
if (LocalizationConfigurationUtils.getConfig().enabled) {
44+
processLocalizations(
45+
EntryPoint::class.java, listOf(
46+
"/assets/projectessentialschat/lang/ru_ru.json",
47+
"/assets/projectessentialschat/lang/en_us.json",
48+
"/assets/projectessentialschat/lang/de_de.json",
49+
"/assets/projectessentialschat/lang/es_cl.json",
50+
"/assets/projectessentialschat/lang/fr_fr.json",
51+
"/assets/projectessentialschat/lang/pt_br.json",
52+
"/assets/projectessentialschat/lang/sv_se.json"
53+
)
54+
)
55+
}
3856
}
3957

4058
private fun loadAdditionalModules() {
@@ -114,8 +132,7 @@ class EntryPoint : EssBase() {
114132
val mutedBy = MuteAPI.getMuteInitiator(event.username)!!
115133
val reason = MuteAPI.getMuteReason(event.username)!!
116134

117-
sendMsg(
118-
"chat",
135+
sendMessage(
119136
event.player.commandSource,
120137
"chat.muted",
121138
mutedBy,
@@ -126,13 +143,13 @@ class EntryPoint : EssBase() {
126143
}
127144

128145
if (!ChatModelUtils.chatModel.messaging.chatEnabled) {
129-
sendMsg("chat", event.player.commandSource, "chat.disabled")
146+
sendMessage(event.player.commandSource, "chat.disabled")
130147
event.isCanceled = true
131148
return
132149
}
133150

134151
if (!hasPermission(event.player, "ess.chat")) {
135-
sendMsg("chat", event.player.commandSource, "chat.restricted")
152+
sendMessage(event.player.commandSource, "chat.restricted")
136153
event.isCanceled = true
137154
return
138155
}
@@ -146,8 +163,7 @@ class EntryPoint : EssBase() {
146163
) {
147164
ChatCooldown.addCooldown(event.player.name.string)
148165
} else {
149-
sendMsg(
150-
"chat",
166+
sendMessage(
151167
event.player.commandSource,
152168
"chat.cooldown_not_expired"
153169
)
@@ -166,8 +182,7 @@ class EntryPoint : EssBase() {
166182
)
167183
)
168184
) {
169-
sendMsg(
170-
"chat",
185+
sendMessage(
171186
event.player.commandSource,
172187
"chat.advertising_not_allowed"
173188
)
@@ -183,7 +198,7 @@ class EntryPoint : EssBase() {
183198
event.message.replace("&", "§")
184199
}
185200
} else {
186-
sendMsg("chat", event.player.commandSource, "chat.color_restricted")
201+
sendMessage(event.player.commandSource, "chat.color_restricted")
187202
event.isCanceled = true
188203
return
189204
}
@@ -289,8 +304,7 @@ class EntryPoint : EssBase() {
289304
}
290305
return
291306
} else {
292-
sendMsg(
293-
"chat",
307+
sendMessage(
294308
event.player.commandSource,
295309
"chat.mention_all_aborted"
296310
)
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.mairwunnx.projectessentials.chat
2+
3+
import com.mairwunnx.projectessentials.core.configuration.localization.LocalizationConfigurationUtils
4+
import com.mairwunnx.projectessentials.core.extensions.sendMsg
5+
import com.mairwunnx.projectessentials.core.localization.sendMsgV2
6+
import net.minecraft.command.CommandSource
7+
8+
internal fun sendMessage(
9+
source: CommandSource,
10+
message: String,
11+
vararg args: String
12+
) {
13+
if (LocalizationConfigurationUtils.getConfig().enabled) {
14+
sendMsgV2(
15+
source.asPlayer(),
16+
"project_essentials_chat.$message", *args
17+
)
18+
} else {
19+
sendMsg(
20+
"chat", source, message, *args
21+
)
22+
}
23+
}

src/main/kotlin/com/mairwunnx/projectessentials/chat/commands/ClearChatCommand.kt

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package com.mairwunnx.projectessentials.chat.commands
22

33
import com.mairwunnx.projectessentials.chat.EntryPoint
4+
import com.mairwunnx.projectessentials.chat.sendMessage
45
import com.mairwunnx.projectessentials.cooldown.essentials.CommandsAliases
56
import com.mairwunnx.projectessentials.core.extensions.isPlayerSender
67
import com.mairwunnx.projectessentials.core.extensions.playerName
7-
import com.mairwunnx.projectessentials.core.extensions.sendMsg
8-
import com.mairwunnx.projectessentials.core.helpers.PERMISSION_LEVEL
8+
import com.mairwunnx.projectessentials.core.helpers.throwPermissionLevel
99
import com.mojang.brigadier.CommandDispatcher
1010
import com.mojang.brigadier.arguments.BoolArgumentType
1111
import com.mojang.brigadier.builder.LiteralArgumentBuilder.literal
@@ -65,12 +65,8 @@ object ClearChatCommand {
6565
}
6666
}
6767
} else {
68-
logger.warn(
69-
PERMISSION_LEVEL
70-
.replace("%0", context.playerName())
71-
.replace("%1", "clear-chat")
72-
)
73-
sendMsg("chat", context.source, "chat.clear_restricted")
68+
throwPermissionLevel(context.playerName(), "clear-chat")
69+
sendMessage(context.source, "chat.clear_restricted")
7470
}
7571
} else {
7672
logger.info("Command with parameter `clearOnlyForSender` can't be executed from server. Type `cls` if you use windows or `/clear` if you use mac os or linux.")
@@ -99,7 +95,7 @@ object ClearChatCommand {
9995
}
10096
}
10197
} else {
102-
sendMsg("chat", context.source, "chat.clear_other_restricted")
98+
sendMessage(context.source, "chat.clear_other_restricted")
10399
return 0
104100
}
105101
}

0 commit comments

Comments
 (0)