Skip to content

Commit

Permalink
Convert to the superior language system. (pt. 3)
Browse files Browse the repository at this point in the history
  • Loading branch information
KingRainbow44 committed May 6, 2022
1 parent f731196 commit 438f845
Show file tree
Hide file tree
Showing 17 changed files with 97 additions and 73 deletions.
15 changes: 8 additions & 7 deletions src/main/java/emu/grasscutter/command/commands/CoopCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

import java.util.List;

import static emu.grasscutter.utils.Language.translate;

@Command(label = "coop", usage = "coop [host UID]",
description = "Forces someone to join the world of others", permission = "server.coop")
public final class CoopCommand implements CommandHandler {
Expand All @@ -20,26 +22,25 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
Player host = sender;
switch (args.size()) {
case 0: // Summon target to self
if (sender == null) { // Console doesn't have a self to summon to
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Coop_usage);
CommandHandler.sendMessage(sender, translate("commands.coop.usage"));
if (sender == null) // Console doesn't have a self to summon to
return;
}
break;
case 1: // Summon target to argument
try {
int hostId = Integer.parseInt(args.get(0));
host = Grasscutter.getGameServer().getPlayerByUid(hostId);
if (host == null) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Player_is_offline);
CommandHandler.sendMessage(sender, translate("commands.execution.player_offline_error"));
return;
}
break;
} catch (NumberFormatException ignored) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Invalid_playerId);
CommandHandler.sendMessage(sender, translate("commands.execution.uid_error"));
return;
}
default:
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Coop_usage);
CommandHandler.sendMessage(sender, translate("commands.coop.usage"));
return;
}

Expand All @@ -49,6 +50,6 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
}
host.getServer().getMultiplayerManager().applyEnterMp(targetPlayer, host.getUid());
targetPlayer.getServer().getMultiplayerManager().applyEnterMpReply(host, targetPlayer.getUid(), true);
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Coop_success.replace("{host}", host.getNickname()).replace("{target}", targetPlayer.getNickname()));
CommandHandler.sendMessage(sender, translate("commands.coop.success", targetPlayer.getNickname(), host.getNickname()));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@

import java.util.*;

import static emu.grasscutter.utils.Language.translate;

@Command(label = "giveall", usage = "giveall [amount]",
description = "Gives all items", aliases = {"givea"}, permission = "player.giveall", threading = true)
public final class GiveAllCommand implements CommandHandler {
Expand All @@ -32,21 +34,21 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
try {
amount = Integer.parseInt(args.get(0));
} catch (NumberFormatException ignored) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Invalid_amount);
CommandHandler.sendMessage(sender, translate("commands.generic.invalid.amount"));
return;
}
break;
default: // invalid
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().GiveAll_usage);
CommandHandler.sendMessage(sender, translate("commands.giveAll.usage"));
return;
}

this.giveAllItems(targetPlayer, amount);
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().GiveAll_done);
CommandHandler.sendMessage(sender, translate("commands.giveAll.success", targetPlayer.getNickname()));
}

public void giveAllItems(Player player, int amount) {
CommandHandler.sendMessage(player, Grasscutter.getLanguage().GiveAll_item);
CommandHandler.sendMessage(player, translate("commands.giveAll.started"));

for (AvatarData avatarData: GameData.getAvatarDataMap().values()) {
//Exclude test avatar
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
import java.util.Collections;
import java.util.List;

import static emu.grasscutter.utils.Language.translate;

@Command(label = "giveart", usage = "giveart <artifactId> <mainPropId> [<appendPropId>[,<times>]]... [level]", description = "Gives the player a specified artifact", aliases = {"gart"}, permission = "player.giveart")
public final class GiveArtifactCommand implements CommandHandler {
@Override
Expand All @@ -24,28 +26,28 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
}

if (args.size() < 2) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().GiveArtifact_usage);
CommandHandler.sendMessage(sender, translate("commands.giveArtifact.usage"));
return;
}

int itemId;
try {
itemId = Integer.parseInt(args.remove(0));
} catch (NumberFormatException ignored) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Invalid_artifact_id);
CommandHandler.sendMessage(sender, translate("commands.giveArtifact.id_error"));
return;
}
ItemData itemData = GameData.getItemDataMap().get(itemId);
if (itemData.getItemType() != ItemType.ITEM_RELIQUARY) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Invalid_artifact_id);
CommandHandler.sendMessage(sender, translate("commands.giveArtifact.id_error"));
return;
}

int mainPropId;
try {
mainPropId = Integer.parseInt(args.remove(0));
} catch (NumberFormatException ignored) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Invalid_arguments);
CommandHandler.sendMessage(sender, translate("commands.generic.execution.argument_error"));
return;
}

Expand All @@ -59,7 +61,7 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
} catch (NumberFormatException ignored) { // Could be a stat,times string so no need to panic
}

ArrayList<Integer> appendPropIdList = new ArrayList<>();
List<Integer> appendPropIdList = new ArrayList<>();
try {
args.forEach(it -> {
String[] arr;
Expand All @@ -74,7 +76,7 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
appendPropIdList.addAll(Collections.nCopies(n, Integer.parseInt(it)));
});
} catch (Exception ignored) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Invalid_arguments);
CommandHandler.sendMessage(sender, translate("commands.execution.argument_error"));
return;
}

Expand All @@ -85,7 +87,7 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
item.getAppendPropIdList().addAll(appendPropIdList);
targetPlayer.getInventory().addItem(item, ActionReason.SubfieldDrop);

CommandHandler.sendMessage(sender, Grasscutter.getLanguage().GiveArtifact_given.replace("{itemId}", Integer.toString(itemId)).replace("target", Integer.toString(targetPlayer.getUid())));
CommandHandler.sendMessage(sender, translate("commands.giveArtifact.success", Integer.toString(itemId), Integer.toString(targetPlayer.getUid())));
}
}

Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package emu.grasscutter.command.commands;

import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.Command;
import emu.grasscutter.command.CommandHandler;
import emu.grasscutter.game.entity.EntityAvatar;
Expand All @@ -12,6 +11,8 @@

import java.util.List;

import static emu.grasscutter.utils.Language.translate;

@Command(label = "killcharacter", usage = "killcharacter", aliases = {"suicide", "kill"},
description = "Kills the players current character", permission = "player.killcharacter")
public final class KillCharacterCommand implements CommandHandler {
Expand All @@ -32,6 +33,6 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
targetPlayer.getScene().removeEntity(entity);
entity.onDeath(0);

CommandHandler.sendMessage(sender, Grasscutter.getLanguage().KillCharacter_kill_current_character.replace("{name}", targetPlayer.getNickname()));
CommandHandler.sendMessage(sender, translate("commands.killCharacter.success", targetPlayer.getNickname()));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import java.util.List;
import java.util.Map;

import static emu.grasscutter.utils.Language.translate;

@Command(label = "list", usage = "list [uid]",
description = "List online players", aliases = {"players"})
public final class ListCommand implements CommandHandler {
Expand All @@ -21,7 +23,7 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
needUID = args.get(0).equals("uid");
}

CommandHandler.sendMessage(sender, Grasscutter.getLanguage().List_message.replace("{size}", Integer.toString(playersMap.size())));
CommandHandler.sendMessage(sender, translate("commands.list.success", Integer.toString(playersMap.size())));

if (playersMap.size() != 0) {
StringBuilder playerSet = new StringBuilder();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
}

if (args.size() != 2) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Permission_usage);
CommandHandler.sendMessage(sender, translate("commands.permission.usage"));
return;
}

Expand All @@ -31,23 +31,23 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {

Account account = targetPlayer.getAccount();
if (account == null) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Account_not_find);
CommandHandler.sendMessage(sender, translate("commands.permission.account_error"));
return;
}

switch (action) {
default:
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Permission_usage);
CommandHandler.sendMessage(sender, translate("commands.permission.usage"));
break;
case "add":
if (account.addPermission(permission)) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Permission_add);
} else CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Permission_have_permission);
CommandHandler.sendMessage(sender, translate("commands.permission.add"));
} else CommandHandler.sendMessage(sender, translate("commands.permission.has_error"));
break;
case "remove":
if (account.removePermission(permission)) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Permission_remove);
} else CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Permission_not_have_permission);
CommandHandler.sendMessage(sender, translate("commands.permission.remove"));
} else CommandHandler.sendMessage(sender, translate("commands.permission.not_have_error"));
break;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

import java.util.List;

import static emu.grasscutter.utils.Language.translate;

@Command(label = "resetshop", usage = "resetshop",
description = "Reset target player's shop refresh time.", permission = "server.resetshop")
public final class ResetShopLimitCommand implements CommandHandler {
Expand All @@ -19,6 +21,6 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {

targetPlayer.getShopLimit().forEach(x -> x.setNextRefreshTime(0));
targetPlayer.save();
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Success);
CommandHandler.sendMessage(sender, translate("commands.status.success"));
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package emu.grasscutter.command.commands;

import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.Command;
import emu.grasscutter.command.CommandHandler;
import emu.grasscutter.game.player.Player;
Expand All @@ -20,12 +19,12 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
return;
}
if (args.size() == 0) {
CommandHandler.sendMessage(null, Grasscutter.getLanguage().SendMessage_usage);
CommandHandler.sendMessage(null, translate("commands.sendMessage.usage"));
return;
}

String message = String.join(" ", args);
CommandHandler.sendMessage(targetPlayer, message);
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().SenaMessage_message_sent);
CommandHandler.sendMessage(sender, translate("commands.sendMessage.success"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@

import java.util.List;

import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.Command;
import emu.grasscutter.command.CommandHandler;
import emu.grasscutter.data.GameData;
import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.packet.send.PacketAvatarFetterDataNotify;

import static emu.grasscutter.utils.Language.translate;

@Command(label = "setfetterlevel", usage = "setfetterlevel <level>",
description = "Sets your fetter level for your current active character",
aliases = {"setfetterlvl", "setfriendship"}, permission = "player.setfetterlevel")
Expand All @@ -23,14 +24,14 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
}

if (args.size() != 1) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().SetFetterLevel_usage);
CommandHandler.sendMessage(sender, translate("commands.setFetterLevel.usage"));
return;
}

try {
int fetterLevel = Integer.parseInt(args.get(0));
if (fetterLevel < 0 || fetterLevel > 10) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().SetFetterLevel_fetter_level_must_between_0_and_10);
CommandHandler.sendMessage(sender, translate("commands.setFetterLevel.range_error"));
return;
}
Avatar avatar = targetPlayer.getTeamManager().getCurrentAvatarEntity().getAvatar();
Expand All @@ -42,9 +43,9 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
avatar.save();

targetPlayer.sendPacket(new PacketAvatarFetterDataNotify(avatar));
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().SetFetterLevel_fetter_set_level.replace("{level}", Integer.toString(fetterLevel)));
CommandHandler.sendMessage(sender, translate("commands.setFetterLevel.success", fetterLevel));
} catch (NumberFormatException ignored) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().SetFetterLevel_invalid_fetter_level);
CommandHandler.sendMessage(sender, translate("commands.setFetterLevel.level_error"));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ public Stat(String name, FightProperty prop, boolean percent) {
Map<String, Stat> stats = new HashMap<>();

public SetStatsCommand() {
Language lang = Grasscutter.getLanguage();
// Default stats
stats.put("maxhp", new Stat(FightProperty.FIGHT_PROP_MAX_HP.toString(), FightProperty.FIGHT_PROP_MAX_HP, false));
stats.put("hp", new Stat(FightProperty.FIGHT_PROP_CUR_HP.toString(), FightProperty.FIGHT_PROP_CUR_HP, false));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

import java.util.List;

import static emu.grasscutter.utils.Language.translate;

@Command(label = "setworldlevel", usage = "setworldlevel <level>",
description = "Sets your world level (Relog to see proper effects)",
aliases = {"setworldlvl"}, permission = "player.setworldlevel")
Expand All @@ -20,24 +22,24 @@ public void execute(Player sender, Player targetPlayer, List<String> args) {
}

if (args.size() < 1) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().SetWorldLevel_usage);
CommandHandler.sendMessage(sender, translate("commands.setWorldLevel.usage"));
return;
}

try {
int level = Integer.parseInt(args.get(0));
if (level > 8 || level < 0) {
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().SetWorldLevel_world_level_must_between_0_and_8);
CommandHandler.sendMessage(sender, translate("commands.setWorldLevel.value_error"));
return;
}

// Set in both world and player props
targetPlayer.getWorld().setWorldLevel(level);
targetPlayer.setWorldLevel(level);

CommandHandler.sendMessage(sender, Grasscutter.getLanguage().SetWorldLevel_set_world_level.replace("{level}", Integer.toString(level)));
CommandHandler.sendMessage(sender, translate("commands.setWorldLevel.success", Integer.toString(level)));
} catch (NumberFormatException ignored) {
CommandHandler.sendMessage(null, Grasscutter.getLanguage().SetWorldLevel_invalid_world_level);
CommandHandler.sendMessage(null, translate("commands.setWorldLevel.invalid_world_level"));
}
}
}
Loading

0 comments on commit 438f845

Please sign in to comment.