Skip to content

Commit

Permalink
Improve Message Formatting #3
Browse files Browse the repository at this point in the history
  • Loading branch information
Hikari16665 committed Jul 18, 2024
1 parent f55d1cb commit 902d971
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 35 deletions.
8 changes: 5 additions & 3 deletions src/main/kotlin/com/github/zly2006/enclosure/Enclosure.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import net.minecraft.registry.RegistryWrapper.WrapperLookup
import net.minecraft.server.network.ServerPlayerEntity
import net.minecraft.server.world.ServerWorld
import net.minecraft.text.MutableText
import net.minecraft.text.Text
import net.minecraft.util.Formatting
import net.minecraft.util.math.BlockPos

Expand Down Expand Up @@ -57,17 +58,18 @@ class Enclosure : EnclosureArea {
override fun serialize(settings: SerializationSettings, player: ServerPlayerEntity?): MutableText {
if (settings == SerializationSettings.Full) {
val text = super.serialize(settings, player)
val subLandsText: MutableText = Text.empty()
if (subEnclosures.areas.isNotEmpty()) {
text.append("\n")
text.append(TrT.of("enclosure.message.sub_lands"))
for (area in subEnclosures.areas) {
text.append(area.serialize(SerializationSettings.Name, player).styled {
subLandsText.append(area.serialize(SerializationSettings.Name, player).styled {
it.withColor(Formatting.GOLD)
.hoverText(area.serialize(SerializationSettings.Hover, player))
.clickRun("/enclosure info ${area.fullName}")
})
text.append(" ")
subLandsText.append(" ")
}
text.append(TrT.of("enclosure.message.sub_lands", subLandsText))
}
return text
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class BuilderScope<T: argT>(var parent: T) {
throw e
} catch (e: Throwable) {
LOGGER.error("Error while executing command: " + it.input, e)
error(TrT.of("enclosure.message.error").append("${e.javaClass.simpleName}: ${e.message}"), it)
error(TrT.of("enclosure.message.error","${e.javaClass.simpleName}: ${e.message}"), it)
}
}
}
Expand All @@ -66,11 +66,10 @@ class BuilderScope<T: argT>(var parent: T) {
val firstPage = page == 1
val lastPage = page >= totalPage

val ret: MutableText = TrT.of("enclosure.menu.page.0")
.append(page.toString())
.append(TrT.of("enclosure.menu.page.1"))
.append(totalPage.toString())
.append("\n")
val ret: MutableText = TrT.of("enclosure.menu.page",
page.toString(),
totalPage.toString()
).append("\n")

var i: Int = size * (page - 1)
while (i < size * page && i < list.size) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,9 @@ fun BuilderScope<*>.registerCreate() {
val intersectArea = sessionOf(source).intersect(enclosure.subEnclosures)
if (intersectArea != null) {
error(
TrT.of("enclosure.message.intersected")
.append(intersectArea.serialize(SerializationSettings.Name, source.player)), this
TrT.of("enclosure.message.intersected",
intersectArea.serialize(SerializationSettings.Name, source.player)
), this
)
}
val limits = getLimits(this)
Expand All @@ -80,16 +81,18 @@ fun BuilderScope<*>.registerCreate() {
val count = enclosure.subEnclosures.areas.size.toLong()
if (count > limits.maxSubLands) {
error(
TrT.of("enclosure.message.scle").append(Text.literal(limits.maxSubLands.toString())),
this
TrT.of("enclosure.message.sub_lands.exceed",
Text.literal(limits.maxSubLands.toString())
),this
)
}
}
area.changeWorld(session.world)
enclosure.addChild(area)
source.sendMessage(
TrT.of("enclosure.message.created")
.append(area.serialize(SerializationSettings.Name, source.player))
TrT.of("enclosure.message.created",
area.serialize(SerializationSettings.Name, source.player)
)
)
LOGGER.info("Created subzone {} by {}", area.fullName, source.name)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,9 @@ fun BuilderScope<*>.registerSelection() {
.append(session.world.registryKey.value.toString())
)
source.sendMessage(
TrT.of("enclosure.message.total_size")
.append(session.size().toString())
TrT.of("enclosure.message.total_size",
session.size().toString()
)
)
if (intersectArea != null) {
source.sendMessage(
Expand Down
18 changes: 9 additions & 9 deletions src/main/resources/assets/enclosure/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,7 @@
"enclosure.limit.min_y": "Minimum Y coordinate",
"enclosure.limit.min_z_range": "Minimum Z range",
"enclosure.menu.next": "Next>",
"enclosure.menu.page.0": "Page ",
"enclosure.menu.page.1": " of ",
"enclosure.menu.page": "Page %s of %s",
"enclosure.menu.previous": "<Prev ",
"enclosure.message.added_user": "Added user: %s",
"enclosure.message.backup.another_in_progress": "Another backup is in progress, please wait",
Expand All @@ -62,11 +61,11 @@
"enclosure.message.dangerous": "This is a dangerous operation! Please click here to confirm.",
"enclosure.message.default_message": "Default enter/leave message",
"enclosure.message.deleted": "Deleted enclosure: ",
"enclosure.message.error": "An error occurred, please report this error to your server admin or the mod author: ",
"enclosure.message.error": "An error occurred, please report this error to your server admin or the mod author: %s",
"enclosure.message.existed": "This residence has existed",
"enclosure.message.expanded": "Expanded ",
"enclosure.message.given": "Given residence %s to %s",
"enclosure.message.intersected": "Your selection is intersected with another enclosure: ",
"enclosure.message.intersected": "Your selection is intersected with another enclosure: %s",
"enclosure.message.invalid_permission": "Invalid permission! Use `/enclosure flags` to view all permissions.",
"enclosure.message.item_only_self_pickup": "You don't have permission to drop items here but we failed to insert an item into your inventory, please pick it up by yourself",
"enclosure.message.kick.rollback": "You have been kicked out of the enclosure because it is rolling back",
Expand Down Expand Up @@ -125,12 +124,13 @@
"enclosure.message.shifted": "Shifted ",
"enclosure.message.shrunk": "Shrunk ",
"enclosure.message.sub_enclosure_outside": "The sub enclosure %s is outside the father enclosure",
"enclosure.message.sub_lands": "Sub-lands: ",
"enclosure.message.sub_lands": "Sub-lands: %s",
"enclosure.message.sub_lands.exceed": "Number of the sublands exceeds the limit: %s",
"enclosure.message.suggest_gui": "It seems that you have installed the enclosure client mod, would you like to open the GUI? (click me)",
"enclosure.message.teleport_too_fast": "You are teleporting too fast! Please wait for %s seconds.",
"enclosure.message.teleport_warning": "This position may be dangerous, please confirm your teleportation.",
"enclosure.message.teleport_warning.on_set": "This position may be dangerous(has no supporting block/in the wall/has fluid), player teleporting to your enclosure will be warned.",
"enclosure.message.total_size": "Total size: ",
"enclosure.message.total_size": "Total size: %s",
"enclosure.message.unexpected_info": "Unexpected type: only enter|leave are accepted.",
"enclosure.message.unexpected_optional_boolean": "Unexpected value: please type true | false | none",
"enclosure.message.unknown_user": "unknown user",
Expand Down Expand Up @@ -209,14 +209,14 @@
"enclosure.widget.false": "False",
"enclosure.widget.father_land.hover": "Click to show father land",
"enclosure.widget.global": "global permission",
"enclosure.widget.in_enclosure": "In enclosure",
"enclosure.widget.in_enclosure": "In enclosure: %s",
"enclosure.widget.no": "No",
"enclosure.widget.none": "None",
"enclosure.widget.player": "player",
"enclosure.widget.player": "Player: %s",
"enclosure.widget.search": "Search",
"enclosure.widget.selection_render.hover": "Click to render selection",
"enclosure.widget.set": "Set",
"enclosure.widget.set_permission": "Setting permission for",
"enclosure.widget.set_permission": "Setting permission for %s",
"enclosure.widget.sub_land.hover": "Click to show sub lands",
"enclosure.widget.transfer": "Transfer",
"enclosure.widget.transfer_confirm": "Please confirm the transfer of the enclosure, THIS OPERATION CAN NOT BE UNDONE!",
Expand Down
18 changes: 9 additions & 9 deletions src/main/resources/assets/enclosure/lang/zh_cn.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,7 @@
"enclosure.limit.min_y": "领地Y坐标最小值",
"enclosure.limit.min_z_range": "领地最小Z轴范围",
"enclosure.menu.next": "下一页>",
"enclosure.menu.page.0": "页码: ",
"enclosure.menu.page.1": " / ",
"enclosure.menu.page": "页码: %s / %s",
"enclosure.menu.previous": "<上一页 ",
"enclosure.message.added_user": "添加了玩家: %s",
"enclosure.message.backup.another_in_progress": "已有一个备份正在进行中",
Expand All @@ -62,11 +61,11 @@
"enclosure.message.dangerous": "这是一个危险的操作,请点击本提示以确认!",
"enclosure.message.default_message": "默认欢迎/离开消息",
"enclosure.message.deleted": "你成功删除了领地: ",
"enclosure.message.error": "发生了错误,请向你的服务器管理员或模组作者反馈: ",
"enclosure.message.error": "发生了错误,请向你的服务器管理员或模组作者反馈: %s",
"enclosure.message.existed": "领地已存在",
"enclosure.message.expanded": "把领地扩大了",
"enclosure.message.given": "将领地 %s 赠送给了 %s",
"enclosure.message.intersected": "你划定的领地范围与一个已存在的领地出现了交叠: ",
"enclosure.message.intersected": "你划定的领地范围与一个已存在的领地出现了交叠: %s",
"enclosure.message.invalid_permission": "无效的权限!你可以用 `/enclosure flags` 查看所有权限.",
"enclosure.message.item_only_self_pickup": "你没有权限扔出物品,但我们无法将其放入你的背包,请尽快前去捡起你的物品",
"enclosure.message.kick.rollback": "由于领地正在回滚,您已被踢出领地",
Expand Down Expand Up @@ -125,12 +124,13 @@
"enclosure.message.shifted": "把选区移动了",
"enclosure.message.shrunk": "把选区缩小了",
"enclosure.message.sub_enclosure_outside": "子领地 %s 必须在父领地内",
"enclosure.message.sub_lands": "子领地: ",
"enclosure.message.sub_lands": "子领地: %s",
"enclosure.message.sub_lands.exceed": "子领地数量达到限制:%s",
"enclosure.message.suggest_gui": "你的客户端已经安装了领地mod,可以点击这里打开领地GUI",
"enclosure.message.teleport_too_fast": "传送过于频繁,请等待 %s 秒",
"enclosure.message.teleport_warning": "传送位置可能不安全,请确认您是否传送。",
"enclosure.message.teleport_warning.on_set": "这个位置可能是危险的(没有支撑方块/在墙里/有流体), 传送到你的领地的玩家将会被警告.",
"enclosure.message.total_size": "领地总大小:",
"enclosure.message.total_size": "领地总大小:%s",
"enclosure.message.unexpected_info": "接收到意外的类型: 期望输入: enter|leave",
"enclosure.message.unexpected_optional_boolean": "接收到意外的值: 期望输入: true | false | none",
"enclosure.message.unknown_user": "未知用户",
Expand Down Expand Up @@ -209,14 +209,14 @@
"enclosure.widget.false": "拒绝",
"enclosure.widget.father_land.hover": "点击显示父领地",
"enclosure.widget.global": "全局权限",
"enclosure.widget.in_enclosure": "在领地",
"enclosure.widget.in_enclosure": " 在领地: %s",
"enclosure.widget.no": "",
"enclosure.widget.none": "默认",
"enclosure.widget.player": "玩家",
"enclosure.widget.player": "玩家: %s",
"enclosure.widget.search": "搜索",
"enclosure.widget.selection_render.hover": "点击显示领地的区域范围",
"enclosure.widget.set": "设置",
"enclosure.widget.set_permission": "正在设置权限:",
"enclosure.widget.set_permission": "正在设置权限:%s ",
"enclosure.widget.sub_land.hover": "点击显示子领地",
"enclosure.widget.transfer": "转让领地",
"enclosure.widget.transfer_confirm": "确认转让领地给玩家,此操作不可逆!",
Expand Down

0 comments on commit 902d971

Please sign in to comment.