mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-04-06 16:02:48 +02:00
add /language command (#780)
* Fix the following issues: 1. HashMap non-thread-safe issus 2. Fix the same problem in pr621, but use a better implementation Add the following functions: 1. There is now a language cache inside getLanguage to prepare for different languages corresponding to different time zones where the accounts in the server are located * add /language command,each account has their own Locate
This commit is contained in:
@@ -21,11 +21,11 @@ public final class ClearCommand implements CommandHandler {
|
||||
@Override
|
||||
public void execute(Player sender, Player targetPlayer, List<String> args) {
|
||||
if (targetPlayer == null) {
|
||||
CommandHandler.sendMessage(sender, translate("commands.execution.need_target"));
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.execution.need_target"));
|
||||
return;
|
||||
}
|
||||
if (args.size() < 1) {
|
||||
CommandHandler.sendMessage(sender, translate("commands.clear.command_usage"));
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.clear.command_usage"));
|
||||
return;
|
||||
}
|
||||
Inventory playerInventory = targetPlayer.getInventory();
|
||||
@@ -37,7 +37,7 @@ public final class ClearCommand implements CommandHandler {
|
||||
.filter(item -> item.getItemType() == ItemType.ITEM_WEAPON)
|
||||
.filter(item -> !item.isLocked() && !item.isEquipped())
|
||||
.toList();
|
||||
CommandHandler.sendMessage(sender, translate("commands.clear.weapons", targetPlayer.getNickname()));
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.clear.weapons", targetPlayer.getNickname()));
|
||||
}
|
||||
case "art" -> {
|
||||
toDelete = playerInventory.getItems().values().stream()
|
||||
@@ -45,7 +45,7 @@ public final class ClearCommand implements CommandHandler {
|
||||
.filter(item -> item.getLevel() == 1 && item.getExp() == 0)
|
||||
.filter(item -> !item.isLocked() && !item.isEquipped())
|
||||
.toList();
|
||||
CommandHandler.sendMessage(sender, translate("commands.clear.artifacts", targetPlayer.getNickname()));
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.clear.artifacts", targetPlayer.getNickname()));
|
||||
}
|
||||
case "mat" -> {
|
||||
toDelete = playerInventory.getItems().values().stream()
|
||||
@@ -53,7 +53,7 @@ public final class ClearCommand implements CommandHandler {
|
||||
.filter(item -> item.getLevel() == 1 && item.getExp() == 0)
|
||||
.filter(item -> !item.isLocked() && !item.isEquipped())
|
||||
.toList();
|
||||
CommandHandler.sendMessage(sender, translate("commands.clear.materials", targetPlayer.getNickname()));
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.clear.materials", targetPlayer.getNickname()));
|
||||
}
|
||||
case "all" -> {
|
||||
toDelete = playerInventory.getItems().values().stream()
|
||||
@@ -61,7 +61,7 @@ public final class ClearCommand implements CommandHandler {
|
||||
.filter(item1 -> item1.getLevel() == 1 && item1.getExp() == 0)
|
||||
.filter(item1 -> !item1.isLocked() && !item1.isEquipped())
|
||||
.toList();
|
||||
CommandHandler.sendMessage(sender, translate("commands.clear.artifacts", targetPlayer.getNickname()));
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.clear.artifacts", targetPlayer.getNickname()));
|
||||
playerInventory.removeItems(toDelete);
|
||||
|
||||
toDelete = playerInventory.getItems().values().stream()
|
||||
@@ -69,7 +69,7 @@ public final class ClearCommand implements CommandHandler {
|
||||
.filter(item2 -> !item2.isLocked() && !item2.isEquipped())
|
||||
.toList();
|
||||
playerInventory.removeItems(toDelete);
|
||||
CommandHandler.sendMessage(sender, translate("commands.clear.materials", targetPlayer.getNickname()));
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.clear.materials", targetPlayer.getNickname()));
|
||||
|
||||
toDelete = playerInventory.getItems().values().stream()
|
||||
.filter(item3 -> item3.getItemType() == ItemType.ITEM_WEAPON)
|
||||
@@ -77,28 +77,28 @@ public final class ClearCommand implements CommandHandler {
|
||||
.filter(item3 -> !item3.isLocked() && !item3.isEquipped())
|
||||
.toList();
|
||||
playerInventory.removeItems(toDelete);
|
||||
CommandHandler.sendMessage(sender, translate("commands.clear.weapons", targetPlayer.getNickname()));
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.clear.weapons", targetPlayer.getNickname()));
|
||||
|
||||
toDelete = playerInventory.getItems().values().stream()
|
||||
.filter(item4 -> item4.getItemType() == ItemType.ITEM_FURNITURE)
|
||||
.filter(item4 -> !item4.isLocked() && !item4.isEquipped())
|
||||
.toList();
|
||||
playerInventory.removeItems(toDelete);
|
||||
CommandHandler.sendMessage(sender, translate("commands.clear.furniture", targetPlayer.getNickname()));
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.clear.furniture", targetPlayer.getNickname()));
|
||||
|
||||
toDelete = playerInventory.getItems().values().stream()
|
||||
.filter(item5 -> item5.getItemType() == ItemType.ITEM_DISPLAY)
|
||||
.filter(item5 -> !item5.isLocked() && !item5.isEquipped())
|
||||
.toList();
|
||||
playerInventory.removeItems(toDelete);
|
||||
CommandHandler.sendMessage(sender, translate("commands.clear.displays", targetPlayer.getNickname()));
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.clear.displays", targetPlayer.getNickname()));
|
||||
|
||||
toDelete = playerInventory.getItems().values().stream()
|
||||
.filter(item6 -> item6.getItemType() == ItemType.ITEM_VIRTUAL)
|
||||
.filter(item6 -> !item6.isLocked() && !item6.isEquipped())
|
||||
.toList();
|
||||
CommandHandler.sendMessage(sender, translate("commands.clear.virtuals", targetPlayer.getNickname()));
|
||||
CommandHandler.sendMessage(sender, translate("commands.clear.everything", targetPlayer.getNickname()));
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.clear.virtuals", targetPlayer.getNickname()));
|
||||
CommandHandler.sendMessage(sender, translate(sender, "commands.clear.everything", targetPlayer.getNickname()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user