From d9fc15955083e438da4deef6fe8913ea81875a77 Mon Sep 17 00:00:00 2001 From: Melledy <52122272+Melledy@users.noreply.github.com> Date: Tue, 19 Apr 2022 02:22:21 -0700 Subject: [PATCH] Refactor some commands and move inventory/team limits to the config --- src/main/java/emu/grasscutter/Config.java | 7 ++++++ .../emu/grasscutter/GenshinConstants.java | 8 ------- .../java/emu/grasscutter/Grasscutter.java | 1 + .../grasscutter/commands/PlayerCommands.java | 12 +++++----- .../grasscutter/commands/ServerCommands.java | 4 ++-- .../grasscutter/database/DatabaseHelper.java | 12 +++++----- .../emu/grasscutter/game/GenshinPlayer.java | 22 +++++++++---------- .../java/emu/grasscutter/game/TeamInfo.java | 7 +++--- .../emu/grasscutter/game/TeamManager.java | 8 ++++--- .../game/avatar/GenshinAvatar.java | 4 ++-- .../grasscutter/game/entity/EntityAvatar.java | 2 +- .../grasscutter/game/entity/EntityItem.java | 2 +- .../grasscutter/game/friends/FriendsList.java | 18 +++++++-------- .../grasscutter/game/friends/Friendship.java | 8 +++---- .../game/friends/PlayerProfile.java | 2 +- .../game/inventory/GenshinItem.java | 4 ++-- .../grasscutter/game/inventory/Inventory.java | 9 ++++---- .../game/managers/ChatManager.java | 8 +++---- .../game/managers/MultiplayerManager.java | 8 +++---- .../grasscutter/server/game/GameServer.java | 18 +++++++++------ .../grasscutter/server/game/GameSession.java | 2 +- .../recv/HandlerGetPlayerSocialDetailReq.java | 2 +- .../server/packet/recv/HandlerMarkMapReq.java | 2 +- .../recv/HandlerSetPlayerBornDataReq.java | 2 +- .../send/PacketGetPlayerAskFriendListRsp.java | 2 +- .../send/PacketGetPlayerFriendListRsp.java | 2 +- .../packet/send/PacketHostPlayerNotify.java | 2 +- .../PacketPlayerApplyEnterMpResultNotify.java | 2 +- .../packet/send/PacketPlayerChatNotify.java | 6 ++--- .../send/PacketPlayerEnterSceneNotify.java | 8 +++---- .../send/PacketPlayerGameTimeNotify.java | 2 +- .../packet/send/PacketPlayerStoreNotify.java | 3 ++- .../packet/send/PacketPullRecentChatRsp.java | 4 ++-- .../send/PacketScenePlayerInfoNotify.java | 2 +- .../send/PacketSceneTeamUpdateNotify.java | 2 +- .../send/PacketStoreWeightLimitNotify.java | 12 +++++----- .../send/PacketWorldPlayerInfoNotify.java | 2 +- .../send/PacketWorldPlayerRTTNotify.java | 2 +- .../java/emu/grasscutter/utils/Utils.java | 2 -- 39 files changed, 116 insertions(+), 109 deletions(-) diff --git a/src/main/java/emu/grasscutter/Config.java b/src/main/java/emu/grasscutter/Config.java index b7a971122..42dbb4a00 100644 --- a/src/main/java/emu/grasscutter/Config.java +++ b/src/main/java/emu/grasscutter/Config.java @@ -40,6 +40,13 @@ public final class Config { } public static class ServerOptions { + public int InventoryLimitWeapon = 2000; + public int InventoryLimitRelic = 2000; + public int InventoryLimitMaterial = 2000; + public int InventoryLimitFurniture = 2000; + public int InventoryLimitAll = 30000; + public int MaxAvatarsInTeam = 4; + public int MaxAvatarsInTeamMultiplayer = 4; public int MaxEntityLimit = 1000; // Max entity limit per world. // TODO: Enforce later. public int[] WelcomeEmotes = {2007, 1002, 4010}; public String WelcomeMotd = "Welcome to Grasscutter emu"; diff --git a/src/main/java/emu/grasscutter/GenshinConstants.java b/src/main/java/emu/grasscutter/GenshinConstants.java index bb59953e2..0f9eaa0b0 100644 --- a/src/main/java/emu/grasscutter/GenshinConstants.java +++ b/src/main/java/emu/grasscutter/GenshinConstants.java @@ -9,14 +9,6 @@ public final class GenshinConstants { public static String VERSION = "2.6.0"; public static final int MAX_TEAMS = 4; - public static final int MAX_AVATARS_IN_TEAM = 4; - - public static final int LIMIT_WEAPON = 2000; - public static final int LIMIT_RELIC = 2000; - public static final int LIMIT_MATERIAL = 2000; - public static final int LIMIT_FURNITURE = 2000; - public static final int LIMIT_ALL = 30000; - public static final int MAIN_CHARACTER_MALE = 10000005; public static final int MAIN_CHARACTER_FEMALE = 10000007; public static final Position START_POSITION = new Position(2747, 194, -1719); diff --git a/src/main/java/emu/grasscutter/Grasscutter.java b/src/main/java/emu/grasscutter/Grasscutter.java index 83afe274c..c9ccb551c 100644 --- a/src/main/java/emu/grasscutter/Grasscutter.java +++ b/src/main/java/emu/grasscutter/Grasscutter.java @@ -42,6 +42,7 @@ public final class Grasscutter { // Load server configuration. Grasscutter.loadConfig(); + // Check server structure. Utils.startupCheck(); } diff --git a/src/main/java/emu/grasscutter/commands/PlayerCommands.java b/src/main/java/emu/grasscutter/commands/PlayerCommands.java index d9f094050..cc671c006 100644 --- a/src/main/java/emu/grasscutter/commands/PlayerCommands.java +++ b/src/main/java/emu/grasscutter/commands/PlayerCommands.java @@ -52,8 +52,8 @@ public final class PlayerCommands { case 2: try { target = Integer.parseInt(args.get(0)); - if(Grasscutter.getGameServer().getPlayerById(target) == null) { - target = player.getId(); amount = Integer.parseInt(args.get(1)); + if(Grasscutter.getGameServer().getPlayerByUid(target) == null) { + target = player.getUid(); amount = Integer.parseInt(args.get(1)); item = Integer.parseInt(args.get(0)); } else { item = Integer.parseInt(args.get(1)); @@ -67,7 +67,7 @@ public final class PlayerCommands { case 3: try { target = Integer.parseInt(args.get(0)); - if(Grasscutter.getGameServer().getPlayerById(target) == null) { + if(Grasscutter.getGameServer().getPlayerByUid(target) == null) { CommandHandler.sendMessage(player, "Invalid player ID."); return; } @@ -81,7 +81,7 @@ public final class PlayerCommands { break; } - GenshinPlayer targetPlayer = Grasscutter.getGameServer().getPlayerById(target); + GenshinPlayer targetPlayer = Grasscutter.getGameServer().getPlayerByUid(target); if(targetPlayer == null) { CommandHandler.sendMessage(player, "Player not found."); return; } @@ -108,7 +108,7 @@ public final class PlayerCommands { int item = Integer.parseInt(args.get(1)); int amount = 1; if(args.size() > 2) amount = Integer.parseInt(args.get(2)); - GenshinPlayer targetPlayer = Grasscutter.getGameServer().getPlayerById(target); + GenshinPlayer targetPlayer = Grasscutter.getGameServer().getPlayerByUid(target); if(targetPlayer == null) { CommandHandler.sendMessage(null, "Player not found."); return; } @@ -233,7 +233,7 @@ public final class PlayerCommands { int playerUid = Integer.parseInt(args.get(0)); int sceneId = Integer.parseInt(args.get(1)); - GenshinPlayer player = Grasscutter.getGameServer().getPlayerById(playerUid); + GenshinPlayer player = Grasscutter.getGameServer().getPlayerByUid(playerUid); if (player == null) { CommandHandler.sendMessage(null, "Player not found or offline."); return; diff --git a/src/main/java/emu/grasscutter/commands/ServerCommands.java b/src/main/java/emu/grasscutter/commands/ServerCommands.java index 1262fae97..7aaf1ae5b 100644 --- a/src/main/java/emu/grasscutter/commands/ServerCommands.java +++ b/src/main/java/emu/grasscutter/commands/ServerCommands.java @@ -43,7 +43,7 @@ public final class ServerCommands { int target = Integer.parseInt(args.get(0)); String message = String.join(" ", args.subList(1, args.size())); - GenshinPlayer targetPlayer = Grasscutter.getGameServer().getPlayerById(target); + GenshinPlayer targetPlayer = Grasscutter.getGameServer().getPlayerByUid(target); if(targetPlayer == null) { CommandHandler.sendMessage(null, "Player not found."); return; } @@ -65,7 +65,7 @@ public final class ServerCommands { int target = Integer.parseInt(args.get(0)); String message = String.join(" ", args.subList(1, args.size())); - GenshinPlayer targetPlayer = Grasscutter.getGameServer().getPlayerById(target); + GenshinPlayer targetPlayer = Grasscutter.getGameServer().getPlayerByUid(target); if(targetPlayer == null) { CommandHandler.sendMessage(player, "Player not found."); return; } diff --git a/src/main/java/emu/grasscutter/database/DatabaseHelper.java b/src/main/java/emu/grasscutter/database/DatabaseHelper.java index 905c4ef64..0289c3e71 100644 --- a/src/main/java/emu/grasscutter/database/DatabaseHelper.java +++ b/src/main/java/emu/grasscutter/database/DatabaseHelper.java @@ -124,13 +124,13 @@ public class DatabaseHelper { int id = 0; if (reservedId > 0 && !checkPlayerExists(reservedId)) { id = reservedId; - character.setId(id); + character.setUid(id); } else { do { id = DatabaseManager.getNextId(character); } while (checkPlayerExists(id)); - character.setId(id); + character.setUid(id); } // Save to database DatabaseManager.getDatastore().save(character); @@ -160,7 +160,7 @@ public class DatabaseHelper { } public static List getAvatars(GenshinPlayer player) { - Query query = DatabaseManager.getDatastore().createQuery(GenshinAvatar.class).filter("ownerId", player.getId()); + Query query = DatabaseManager.getDatastore().createQuery(GenshinAvatar.class).filter("ownerId", player.getUid()); return query.find().toList(); } @@ -174,16 +174,16 @@ public class DatabaseHelper { } public static List getInventoryItems(GenshinPlayer player) { - Query query = DatabaseManager.getDatastore().createQuery(GenshinItem.class).filter("ownerId", player.getId()); + Query query = DatabaseManager.getDatastore().createQuery(GenshinItem.class).filter("ownerId", player.getUid()); return query.find().toList(); } public static List getFriends(GenshinPlayer player) { - Query query = DatabaseManager.getDatastore().createQuery(Friendship.class).filter("ownerId", player.getId()); + Query query = DatabaseManager.getDatastore().createQuery(Friendship.class).filter("ownerId", player.getUid()); return query.find().toList(); } public static List getReverseFriends(GenshinPlayer player) { - Query query = DatabaseManager.getDatastore().createQuery(Friendship.class).filter("friendId", player.getId()); + Query query = DatabaseManager.getDatastore().createQuery(Friendship.class).filter("friendId", player.getUid()); return query.find().toList(); } diff --git a/src/main/java/emu/grasscutter/game/GenshinPlayer.java b/src/main/java/emu/grasscutter/game/GenshinPlayer.java index 4a5b585a5..70fea04f0 100644 --- a/src/main/java/emu/grasscutter/game/GenshinPlayer.java +++ b/src/main/java/emu/grasscutter/game/GenshinPlayer.java @@ -156,17 +156,17 @@ public class GenshinPlayer { this.getRotation().set(0, 307, 0); } - public int getId() { + public int getUid() { return id; } - public void setId(int id) { + public void setUid(int id) { this.id = id; } - public long getNextGuid() { + public long getNextGenshinGuid() { long nextId = ++this.nextGuid; - return ((long) this.getId() << 32) + nextId; + return ((long) this.getUid() << 32) + nextId; } public Account getAccount() { @@ -175,7 +175,7 @@ public class GenshinPlayer { public void setAccount(Account account) { this.account = account; - this.account.setPlayerId(getId()); + this.account.setPlayerId(getUid()); } public GameSession getSession() { @@ -560,7 +560,7 @@ public class GenshinPlayer { } public void dropMessage(Object message) { - this.sendPacket(new PacketPrivateChatNotify(GenshinConstants.SERVER_CONSOLE_UID, getId(), message.toString())); + this.sendPacket(new PacketPrivateChatNotify(GenshinConstants.SERVER_CONSOLE_UID, getUid(), message.toString())); } /** @@ -569,7 +569,7 @@ public class GenshinPlayer { * @param message The message to send. */ public void sendMessage(GenshinPlayer sender, Object message) { - this.sendPacket(new PacketPrivateChatNotify(sender.getId(), this.getId(), message.toString())); + this.sendPacket(new PacketPrivateChatNotify(sender.getUid(), this.getUid(), message.toString())); } public void interactWith(int gadgetEntityId) { @@ -614,7 +614,7 @@ public class GenshinPlayer { public OnlinePlayerInfo getOnlinePlayerInfo() { OnlinePlayerInfo.Builder onlineInfo = OnlinePlayerInfo.newBuilder() - .setUid(this.getId()) + .setUid(this.getUid()) .setNickname(this.getNickname()) .setPlayerLevel(this.getLevel()) .setMpSettingType(this.getMpSetting()) @@ -633,7 +633,7 @@ public class GenshinPlayer { public SocialDetail.Builder getSocialDetail() { SocialDetail.Builder social = SocialDetail.newBuilder() - .setUid(this.getId()) + .setUid(this.getUid()) .setAvatar(HeadImage.newBuilder().setAvatarId(this.getHeadImage())) .setNickname(this.getNickname()) .setSignature(this.getSignature()) @@ -649,7 +649,7 @@ public class GenshinPlayer { public PlayerLocationInfo getPlayerLocationInfo() { return PlayerLocationInfo.newBuilder() - .setUid(this.getId()) + .setUid(this.getUid()) .setPos(this.getPos().toProto()) .setRot(this.getRotation().toProto()) .build(); @@ -699,7 +699,7 @@ public class GenshinPlayer { // Check if player object exists in server // TODO - optimize - GenshinPlayer exists = this.getServer().getPlayerById(getId()); + GenshinPlayer exists = this.getServer().getPlayerByUid(getUid()); if (exists != null) { exists.getSession().close(); } diff --git a/src/main/java/emu/grasscutter/game/TeamInfo.java b/src/main/java/emu/grasscutter/game/TeamInfo.java index 24b8aa60d..0a12b1d2c 100644 --- a/src/main/java/emu/grasscutter/game/TeamInfo.java +++ b/src/main/java/emu/grasscutter/game/TeamInfo.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import emu.grasscutter.GenshinConstants; +import emu.grasscutter.Grasscutter; import emu.grasscutter.game.avatar.GenshinAvatar; public class TeamInfo { @@ -12,7 +13,7 @@ public class TeamInfo { public TeamInfo() { this.name = ""; - this.avatars = new ArrayList<>(GenshinConstants.MAX_AVATARS_IN_TEAM); + this.avatars = new ArrayList<>(Grasscutter.getConfig().getServerOptions().MaxAvatarsInTeam); } public String getName() { @@ -36,7 +37,7 @@ public class TeamInfo { } public boolean addAvatar(GenshinAvatar avatar) { - if (size() >= GenshinConstants.MAX_AVATARS_IN_TEAM || contains(avatar)) { + if (size() >= Grasscutter.getConfig().getServerOptions().MaxAvatarsInTeam || contains(avatar)) { return false; } @@ -56,7 +57,7 @@ public class TeamInfo { } public void copyFrom(TeamInfo team) { - copyFrom(team, GenshinConstants.MAX_AVATARS_IN_TEAM); + copyFrom(team, Grasscutter.getConfig().getServerOptions().MaxAvatarsInTeam); } public void copyFrom(TeamInfo team, int maxTeamSize) { diff --git a/src/main/java/emu/grasscutter/game/TeamManager.java b/src/main/java/emu/grasscutter/game/TeamManager.java index 3f6c4ebe5..4cd7bfcdf 100644 --- a/src/main/java/emu/grasscutter/game/TeamManager.java +++ b/src/main/java/emu/grasscutter/game/TeamManager.java @@ -10,6 +10,7 @@ import java.util.Set; import dev.morphia.annotations.Transient; import emu.grasscutter.GenshinConstants; +import emu.grasscutter.Grasscutter; import emu.grasscutter.data.def.AvatarSkillDepotData; import emu.grasscutter.game.avatar.GenshinAvatar; import emu.grasscutter.game.entity.EntityAvatar; @@ -163,12 +164,13 @@ public class TeamManager { public int getMaxTeamSize() { if (getPlayer().isInMultiplayer()) { + int max = Grasscutter.getConfig().getServerOptions().MaxAvatarsInTeamMultiplayer; if (getPlayer().getWorld().getHost() == this.getPlayer()) { - return Math.max(1, (int) Math.ceil(GenshinConstants.MAX_AVATARS_IN_TEAM / (double) getWorld().getPlayerCount())); + return Math.max(1, (int) Math.ceil(max / (double) getWorld().getPlayerCount())); } - return Math.max(1, (int) Math.floor(GenshinConstants.MAX_AVATARS_IN_TEAM / (double) getWorld().getPlayerCount())); + return Math.max(1, (int) Math.floor(max / (double) getWorld().getPlayerCount())); } - return GenshinConstants.MAX_AVATARS_IN_TEAM; + return Grasscutter.getConfig().getServerOptions().MaxAvatarsInTeam; } // Methods diff --git a/src/main/java/emu/grasscutter/game/avatar/GenshinAvatar.java b/src/main/java/emu/grasscutter/game/avatar/GenshinAvatar.java index 414c73cfa..ba3b46554 100644 --- a/src/main/java/emu/grasscutter/game/avatar/GenshinAvatar.java +++ b/src/main/java/emu/grasscutter/game/avatar/GenshinAvatar.java @@ -148,8 +148,8 @@ public class GenshinAvatar { public void setOwner(GenshinPlayer player) { this.owner = player; - this.ownerId = player.getId(); - this.guid = player.getNextGuid(); + this.ownerId = player.getUid(); + this.guid = player.getNextGenshinGuid(); } public int getSatiation() { diff --git a/src/main/java/emu/grasscutter/game/entity/EntityAvatar.java b/src/main/java/emu/grasscutter/game/entity/EntityAvatar.java index e82624ba7..86e8ea458 100644 --- a/src/main/java/emu/grasscutter/game/entity/EntityAvatar.java +++ b/src/main/java/emu/grasscutter/game/entity/EntityAvatar.java @@ -107,7 +107,7 @@ public class EntityAvatar extends GenshinEntity { public SceneAvatarInfo getSceneAvatarInfo() { SceneAvatarInfo.Builder avatarInfo = SceneAvatarInfo.newBuilder() - .setPlayerId(this.getPlayer().getId()) + .setPlayerId(this.getPlayer().getUid()) .setAvatarId(this.getAvatar().getAvatarId()) .setGuid(this.getAvatar().getGuid()) .setPeerId(this.getPlayer().getPeerId()) diff --git a/src/main/java/emu/grasscutter/game/entity/EntityItem.java b/src/main/java/emu/grasscutter/game/entity/EntityItem.java index e96098d29..ba1188f13 100644 --- a/src/main/java/emu/grasscutter/game/entity/EntityItem.java +++ b/src/main/java/emu/grasscutter/game/entity/EntityItem.java @@ -36,7 +36,7 @@ public class EntityItem extends EntityGadget { this.id = getScene().getWorld().getNextEntityId(EntityIdType.GADGET); this.pos = new Position(pos); this.rot = new Position(); - this.guid = player.getNextGuid(); + this.guid = player.getNextGenshinGuid(); this.item = new GenshinItem(itemData, count); } diff --git a/src/main/java/emu/grasscutter/game/friends/FriendsList.java b/src/main/java/emu/grasscutter/game/friends/FriendsList.java index 26c65f26a..582a10efd 100644 --- a/src/main/java/emu/grasscutter/game/friends/FriendsList.java +++ b/src/main/java/emu/grasscutter/game/friends/FriendsList.java @@ -79,11 +79,11 @@ public class FriendsList { } // Make sure asker cant do anything - if (myFriendship.getAskerId() == this.getPlayer().getId()) { + if (myFriendship.getAskerId() == this.getPlayer().getUid()) { return; } - GenshinPlayer target = getPlayer().getSession().getServer().forceGetPlayerById(targetUid); + GenshinPlayer target = getPlayer().getSession().getServer().getPlayerByUid(targetUid, true); if (target == null) { return; // Should never happen } @@ -91,7 +91,7 @@ public class FriendsList { // Get target's friendship Friendship theirFriendship = null; if (target.isOnline()) { - theirFriendship = target.getFriendsList().getPendingFriendById(this.getPlayer().getId()); + theirFriendship = target.getFriendsList().getPendingFriendById(this.getPlayer().getUid()); } else { theirFriendship = DatabaseHelper.getReverseFriendship(myFriendship); } @@ -112,7 +112,7 @@ public class FriendsList { this.addFriend(myFriendship); if (target.isOnline()) { - target.getFriendsList().getPendingFriends().remove(this.getPlayer().getId()); + target.getFriendsList().getPendingFriends().remove(this.getPlayer().getUid()); target.getFriendsList().addFriend(theirFriendship); } @@ -124,7 +124,7 @@ public class FriendsList { myFriendship.delete(); // Delete from target uid if (target.isOnline()) { - theirFriendship = target.getFriendsList().getPendingFriendById(this.getPlayer().getId()); + theirFriendship = target.getFriendsList().getPendingFriendById(this.getPlayer().getUid()); } theirFriendship.delete(); } @@ -146,7 +146,7 @@ public class FriendsList { GenshinPlayer friend = myFriendship.getFriendProfile().getPlayer(); if (friend != null) { // Friend online - theirFriendship = friend.getFriendsList().getFriendById(this.getPlayer().getId()); + theirFriendship = friend.getFriendsList().getFriendById(this.getPlayer().getUid()); if (theirFriendship != null) { friend.getFriendsList().getFriends().remove(theirFriendship.getFriendId()); theirFriendship.delete(); @@ -165,7 +165,7 @@ public class FriendsList { } public synchronized void sendFriendRequest(int targetUid) { - GenshinPlayer target = getPlayer().getSession().getServer().forceGetPlayerById(targetUid); + GenshinPlayer target = getPlayer().getSession().getServer().getPlayerByUid(targetUid, true); if (target == null || target == this.getPlayer()) { return; @@ -220,14 +220,14 @@ public class FriendsList { friendship.setOwner(getPlayer()); // Check if friend is online - GenshinPlayer friend = getPlayer().getSession().getServer().getPlayerById(friendship.getFriendProfile().getId()); + GenshinPlayer friend = getPlayer().getSession().getServer().getPlayerByUid(friendship.getFriendProfile().getId()); if (friend != null) { // Set friend to online mode friendship.setFriendProfile(friend); // Update our status on friend's client if theyre online if (friend.getFriendsList().hasLoaded()) { - Friendship theirFriendship = friend.getFriendsList().getFriendshipById(getPlayer().getId()); + Friendship theirFriendship = friend.getFriendsList().getFriendshipById(getPlayer().getUid()); if (theirFriendship != null) { // Update friend profile theirFriendship.setFriendProfile(getPlayer()); diff --git a/src/main/java/emu/grasscutter/game/friends/Friendship.java b/src/main/java/emu/grasscutter/game/friends/Friendship.java index 954ab318c..2be7d1fce 100644 --- a/src/main/java/emu/grasscutter/game/friends/Friendship.java +++ b/src/main/java/emu/grasscutter/game/friends/Friendship.java @@ -27,10 +27,10 @@ public class Friendship { public Friendship(GenshinPlayer owner, GenshinPlayer friend, GenshinPlayer asker) { this.setOwner(owner); - this.ownerId = owner.getId(); - this.friendId = friend.getId(); + this.ownerId = owner.getUid(); + this.friendId = friend.getUid(); this.profile = friend.getProfile(); - this.askerId = asker.getId(); + this.askerId = asker.getUid(); } public GenshinPlayer getOwner() { @@ -70,7 +70,7 @@ public class Friendship { } public void setFriendProfile(GenshinPlayer character) { - if (character == null || this.friendId != character.getId()) return; + if (character == null || this.friendId != character.getUid()) return; this.profile = character.getProfile(); } diff --git a/src/main/java/emu/grasscutter/game/friends/PlayerProfile.java b/src/main/java/emu/grasscutter/game/friends/PlayerProfile.java index 647557e0c..cc7408aa6 100644 --- a/src/main/java/emu/grasscutter/game/friends/PlayerProfile.java +++ b/src/main/java/emu/grasscutter/game/friends/PlayerProfile.java @@ -22,7 +22,7 @@ public class PlayerProfile { public PlayerProfile() { } public PlayerProfile(GenshinPlayer player) { - this.id = player.getId(); + this.id = player.getUid(); this.syncWithCharacter(player); } diff --git a/src/main/java/emu/grasscutter/game/inventory/GenshinItem.java b/src/main/java/emu/grasscutter/game/inventory/GenshinItem.java index b9914644d..0b0db49c4 100644 --- a/src/main/java/emu/grasscutter/game/inventory/GenshinItem.java +++ b/src/main/java/emu/grasscutter/game/inventory/GenshinItem.java @@ -125,8 +125,8 @@ public class GenshinItem { } public void setOwner(GenshinPlayer player) { - this.ownerId = player.getId(); - this.guid = player.getNextGuid(); + this.ownerId = player.getUid(); + this.guid = player.getNextGenshinGuid(); } public int getItemId() { return itemId; diff --git a/src/main/java/emu/grasscutter/game/inventory/Inventory.java b/src/main/java/emu/grasscutter/game/inventory/Inventory.java index 5629521c8..19bdcc525 100644 --- a/src/main/java/emu/grasscutter/game/inventory/Inventory.java +++ b/src/main/java/emu/grasscutter/game/inventory/Inventory.java @@ -6,6 +6,7 @@ import java.util.LinkedList; import java.util.List; import emu.grasscutter.GenshinConstants; +import emu.grasscutter.Grasscutter; import emu.grasscutter.data.GenshinData; import emu.grasscutter.data.def.AvatarCostumeData; import emu.grasscutter.data.def.AvatarData; @@ -36,10 +37,10 @@ public class Inventory implements Iterable { this.store = new Long2ObjectOpenHashMap<>(); this.inventoryTypes = new Int2ObjectOpenHashMap<>(); - this.createInventoryTab(ItemType.ITEM_WEAPON, new EquipInventoryTab(GenshinConstants.LIMIT_WEAPON)); - this.createInventoryTab(ItemType.ITEM_RELIQUARY, new EquipInventoryTab(GenshinConstants.LIMIT_RELIC)); - this.createInventoryTab(ItemType.ITEM_MATERIAL, new MaterialInventoryTab(GenshinConstants.LIMIT_MATERIAL)); - this.createInventoryTab(ItemType.ITEM_FURNITURE, new MaterialInventoryTab(GenshinConstants.LIMIT_FURNITURE)); + this.createInventoryTab(ItemType.ITEM_WEAPON, new EquipInventoryTab(Grasscutter.getConfig().getServerOptions().InventoryLimitWeapon)); + this.createInventoryTab(ItemType.ITEM_RELIQUARY, new EquipInventoryTab(Grasscutter.getConfig().getServerOptions().InventoryLimitRelic)); + this.createInventoryTab(ItemType.ITEM_MATERIAL, new MaterialInventoryTab(Grasscutter.getConfig().getServerOptions().InventoryLimitMaterial)); + this.createInventoryTab(ItemType.ITEM_FURNITURE, new MaterialInventoryTab(Grasscutter.getConfig().getServerOptions().InventoryLimitFurniture)); } public GenshinPlayer getPlayer() { diff --git a/src/main/java/emu/grasscutter/game/managers/ChatManager.java b/src/main/java/emu/grasscutter/game/managers/ChatManager.java index 3856c0fd1..40b1a55b5 100644 --- a/src/main/java/emu/grasscutter/game/managers/ChatManager.java +++ b/src/main/java/emu/grasscutter/game/managers/ChatManager.java @@ -36,14 +36,14 @@ public class ChatManager { } // Get target - GenshinPlayer target = getServer().getPlayerById(targetUid); + GenshinPlayer target = getServer().getPlayerByUid(targetUid); if (target == null) { return; } // Create chat packet - GenshinPacket packet = new PacketPrivateChatNotify(player.getId(), target.getId(), message); + GenshinPacket packet = new PacketPrivateChatNotify(player.getUid(), target.getUid(), message); player.sendPacket(packet); target.sendPacket(packet); @@ -51,14 +51,14 @@ public class ChatManager { public void sendPrivateMessage(GenshinPlayer player, int targetUid, int emote) { // Get target - GenshinPlayer target = getServer().getPlayerById(targetUid); + GenshinPlayer target = getServer().getPlayerByUid(targetUid); if (target == null) { return; } // Create chat packet - GenshinPacket packet = new PacketPrivateChatNotify(player.getId(), target.getId(), emote); + GenshinPacket packet = new PacketPrivateChatNotify(player.getUid(), target.getUid(), emote); player.sendPacket(packet); target.sendPacket(packet); diff --git a/src/main/java/emu/grasscutter/game/managers/MultiplayerManager.java b/src/main/java/emu/grasscutter/game/managers/MultiplayerManager.java index 0e0562421..56d629036 100644 --- a/src/main/java/emu/grasscutter/game/managers/MultiplayerManager.java +++ b/src/main/java/emu/grasscutter/game/managers/MultiplayerManager.java @@ -24,7 +24,7 @@ public class MultiplayerManager { } public void applyEnterMp(GenshinPlayer player, int targetUid) { - GenshinPlayer target = getServer().getPlayerById(targetUid); + GenshinPlayer target = getServer().getPlayerByUid(targetUid); if (target == null) { player.sendPacket(new PacketPlayerApplyEnterMpResultNotify(targetUid, "", false, PlayerApplyEnterMpReason.PlayerCannotEnterMp)); return; @@ -43,7 +43,7 @@ public class MultiplayerManager { */ // Get request - CoopRequest request = target.getCoopRequests().get(player.getId()); + CoopRequest request = target.getCoopRequests().get(player.getUid()); if (request != null && !request.isExpired()) { // Join request already exists @@ -52,7 +52,7 @@ public class MultiplayerManager { // Put request in request = new CoopRequest(player); - target.getCoopRequests().put(player.getId(), request); + target.getCoopRequests().put(player.getUid(), request); // Packet target.sendPacket(new PacketPlayerApplyEnterMpNotify(player)); @@ -137,7 +137,7 @@ public class MultiplayerManager { } // Get victim and sanity checks - GenshinPlayer victim = player.getServer().getPlayerById(targetUid); + GenshinPlayer victim = player.getServer().getPlayerByUid(targetUid); if (victim == null || victim == player) { return false; diff --git a/src/main/java/emu/grasscutter/server/game/GameServer.java b/src/main/java/emu/grasscutter/server/game/GameServer.java index 329a28e61..d54f57d23 100644 --- a/src/main/java/emu/grasscutter/server/game/GameServer.java +++ b/src/main/java/emu/grasscutter/server/game/GameServer.java @@ -104,21 +104,25 @@ public final class GameServer extends MihoyoKcpServer { } public void registerPlayer(GenshinPlayer player) { - getPlayers().put(player.getId(), player); + getPlayers().put(player.getUid(), player); } - public GenshinPlayer getPlayerById(int id) { - return this.getPlayers().get(id); + public GenshinPlayer getPlayerByUid(int id) { + return this.getPlayerByUid(id, false); } - public GenshinPlayer forceGetPlayerById(int id) { + public GenshinPlayer getPlayerByUid(int id, boolean allowOfflinePlayers) { // Console check if (id == GenshinConstants.SERVER_CONSOLE_UID) { return null; } // Get from online players - GenshinPlayer player = this.getPlayerById(id); + GenshinPlayer player = this.getPlayerByUid(id); + + if (!allowOfflinePlayers) { + return player; + } // Check database if character isnt here if (player == null) { @@ -128,9 +132,9 @@ public final class GameServer extends MihoyoKcpServer { return player; } - public SocialDetail.Builder getSocialDetailById(int id) { + public SocialDetail.Builder getSocialDetailByUid(int id) { // Get from online players - GenshinPlayer player = this.forceGetPlayerById(id); + GenshinPlayer player = this.getPlayerByUid(id, true); if (player == null) { return null; diff --git a/src/main/java/emu/grasscutter/server/game/GameSession.java b/src/main/java/emu/grasscutter/server/game/GameSession.java index 29dcd46b6..1a54f31ba 100644 --- a/src/main/java/emu/grasscutter/server/game/GameSession.java +++ b/src/main/java/emu/grasscutter/server/game/GameSession.java @@ -123,7 +123,7 @@ public class GameSession extends MihoyoKcpChannel { // Save getPlayer().onLogout(); // Remove from gameserver - getServer().getPlayers().remove(getPlayer().getId()); + getServer().getPlayers().remove(getPlayer().getUid()); } } diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerSocialDetailReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerSocialDetailReq.java index 8391f2352..eafd15b78 100644 --- a/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerSocialDetailReq.java +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerGetPlayerSocialDetailReq.java @@ -15,7 +15,7 @@ public class HandlerGetPlayerSocialDetailReq extends PacketHandler { public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { GetPlayerSocialDetailReq req = GetPlayerSocialDetailReq.parseFrom(payload); - SocialDetail.Builder detail = session.getServer().getSocialDetailById(req.getUid()); + SocialDetail.Builder detail = session.getServer().getSocialDetailByUid(req.getUid()); if (detail != null) { detail.setIsFriend(session.getPlayer().getFriendsList().isFriendsWith(req.getUid())); diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerMarkMapReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerMarkMapReq.java index a91da56ad..024728789 100644 --- a/src/main/java/emu/grasscutter/server/packet/recv/HandlerMarkMapReq.java +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerMarkMapReq.java @@ -28,7 +28,7 @@ public class HandlerMarkMapReq extends PacketHandler { session.getPlayer().getPos().setZ(req.getMark().getPos().getZ()); session.getPlayer().getPos().setY(300); - Grasscutter.getLogger().info("Player [" + session.getPlayer().getId() + ":" + session.getPlayer().getNickname() + "] tp to " + session.getPlayer().getPos() + " Scene id: " + req.getMark().getSceneId()); + Grasscutter.getLogger().info("Player [" + session.getPlayer().getUid() + ":" + session.getPlayer().getNickname() + "] tp to " + session.getPlayer().getPos() + " Scene id: " + req.getMark().getSceneId()); if (req.getMark().getSceneId() != session.getPlayer().getSceneId()) { session.getPlayer().getWorld().transferPlayerToScene(session.getPlayer(), req.getMark().getSceneId(), session.getPlayer().getPos()); diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerBornDataReq.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerBornDataReq.java index a45cca5b0..5cbbd8d04 100644 --- a/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerBornDataReq.java +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerSetPlayerBornDataReq.java @@ -57,7 +57,7 @@ public class HandlerSetPlayerBornDataReq extends PacketHandler { } // Save account - session.getAccount().setPlayerId(player.getId()); + session.getAccount().setPlayerId(player.getUid()); session.getAccount().save(); // Set character diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerAskFriendListRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerAskFriendListRsp.java index 14bd3432d..e0aa0601f 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerAskFriendListRsp.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerAskFriendListRsp.java @@ -14,7 +14,7 @@ public class PacketGetPlayerAskFriendListRsp extends GenshinPacket { GetPlayerAskFriendListRsp.Builder proto = GetPlayerAskFriendListRsp.newBuilder(); for (Friendship friendship : player.getFriendsList().getPendingFriends().values()) { - if (friendship.getAskerId() == player.getId()) { + if (friendship.getAskerId() == player.getUid()) { continue; } proto.addAskFriendList(friendship.toProto()); diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerFriendListRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerFriendListRsp.java index bf0630eee..9df89af5f 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerFriendListRsp.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerFriendListRsp.java @@ -37,7 +37,7 @@ public class PacketGetPlayerFriendListRsp extends GenshinPacket { proto.addFriendList(friendship.toProto()); } for (Friendship friendship : player.getFriendsList().getPendingFriends().values()) { - if (friendship.getAskerId() == player.getId()) { + if (friendship.getAskerId() == player.getUid()) { continue; } proto.addAskFriendList(friendship.toProto()); diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketHostPlayerNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketHostPlayerNotify.java index b291074d8..9a43124e4 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketHostPlayerNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketHostPlayerNotify.java @@ -11,7 +11,7 @@ public class PacketHostPlayerNotify extends GenshinPacket { super(PacketOpcodes.HostPlayerNotify); HostPlayerNotify proto = HostPlayerNotify.newBuilder() - .setHostUid(world.getHost().getId()) + .setHostUid(world.getHost().getUid()) .setHostPeerId(world.getHost().getPeerId()) .build(); diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpResultNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpResultNotify.java index 2e94cc4d0..d2b5be7f5 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpResultNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerApplyEnterMpResultNotify.java @@ -12,7 +12,7 @@ public class PacketPlayerApplyEnterMpResultNotify extends GenshinPacket { super(PacketOpcodes.PlayerApplyEnterMpResultNotify); PlayerApplyEnterMpResultNotify proto = PlayerApplyEnterMpResultNotify.newBuilder() - .setTargetUid(target.getId()) + .setTargetUid(target.getUid()) .setTargetNickname(target.getNickname()) .setIsAgreed(isAgreed) .setReason(reason) diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerChatNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerChatNotify.java index 482a00ae2..287292ee4 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerChatNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerChatNotify.java @@ -14,7 +14,7 @@ public class PacketPlayerChatNotify extends GenshinPacket { ChatInfo info = ChatInfo.newBuilder() .setTime((int) (System.currentTimeMillis() / 1000)) - .setUid(sender.getId()) + .setUid(sender.getUid()) .setText(message) .build(); @@ -31,7 +31,7 @@ public class PacketPlayerChatNotify extends GenshinPacket { ChatInfo info = ChatInfo.newBuilder() .setTime((int) (System.currentTimeMillis() / 1000)) - .setUid(sender.getId()) + .setUid(sender.getUid()) .setIcon(emote) .build(); @@ -48,7 +48,7 @@ public class PacketPlayerChatNotify extends GenshinPacket { ChatInfo info = ChatInfo.newBuilder() .setTime((int) (System.currentTimeMillis() / 1000)) - .setUid(sender.getId()) + .setUid(sender.getUid()) .setSystemHint(systemHint) .build(); diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerEnterSceneNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerEnterSceneNotify.java index d7c7361a9..69ca9cb5f 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerEnterSceneNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerEnterSceneNotify.java @@ -24,13 +24,13 @@ public class PacketPlayerEnterSceneNotify extends GenshinPacket { .setPos(player.getPos().toProto()) .setSceneBeginTime(System.currentTimeMillis()) .setType(EnterType.EnterSelf) - .setTargetUid(player.getId()) + .setTargetUid(player.getUid()) .setEnterSceneToken(player.getEnterSceneToken()) .setWorldLevel(player.getWorldLevel()) .setEnterReason(EnterReason.Login.getValue()) .setIsFirstLoginEnterScene(player.isFirstLoginEnterScene()) .setUnk1(1) - .setUnk2("3-" + player.getId() + "-" + (int) (System.currentTimeMillis() / 1000) + "-" + 18402) + .setUnk2("3-" + player.getUid() + "-" + (int) (System.currentTimeMillis() / 1000) + "-" + 18402) .build(); this.setData(proto); @@ -53,7 +53,7 @@ public class PacketPlayerEnterSceneNotify extends GenshinPacket { .setPos(newPos.toProto()) .setSceneBeginTime(System.currentTimeMillis()) .setType(EnterType.EnterSelf) - .setTargetUid(target.getId()) + .setTargetUid(target.getUid()) .setEnterSceneToken(player.getEnterSceneToken()) .setWorldLevel(target.getWorld().getWorldLevel()) .setEnterReason(reason.getValue()) @@ -62,7 +62,7 @@ public class PacketPlayerEnterSceneNotify extends GenshinPacket { .addSceneTagIdList(113) .addSceneTagIdList(117) .setUnk1(1) - .setUnk2(newScene + "-" + target.getId() + "-" + (int) (System.currentTimeMillis() / 1000) + "-" + 18402) + .setUnk2(newScene + "-" + target.getUid() + "-" + (int) (System.currentTimeMillis() / 1000) + "-" + 18402) .build(); this.setData(proto); diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerGameTimeNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerGameTimeNotify.java index 32fa3194b..1dd219e1e 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerGameTimeNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerGameTimeNotify.java @@ -13,7 +13,7 @@ public class PacketPlayerGameTimeNotify extends GenshinPacket { PlayerGameTimeNotify proto = PlayerGameTimeNotify.newBuilder() .setGameTime(player.getScene().getTime()) - .setUid(player.getId()) + .setUid(player.getUid()) .build(); this.setData(proto); diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerStoreNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerStoreNotify.java index 45a13325b..c21a15351 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerStoreNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPlayerStoreNotify.java @@ -1,6 +1,7 @@ package emu.grasscutter.server.packet.send; import emu.grasscutter.GenshinConstants; +import emu.grasscutter.Grasscutter; import emu.grasscutter.game.GenshinPlayer; import emu.grasscutter.game.inventory.GenshinItem; import emu.grasscutter.net.packet.GenshinPacket; @@ -18,7 +19,7 @@ public class PacketPlayerStoreNotify extends GenshinPacket { PlayerStoreNotify.Builder p = PlayerStoreNotify.newBuilder() .setStoreType(StoreType.StorePack) - .setWeightLimit(GenshinConstants.LIMIT_ALL); + .setWeightLimit(Grasscutter.getConfig().getServerOptions().InventoryLimitAll); for (GenshinItem item : player.getInventory()) { Item itemProto = item.toProto(); diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketPullRecentChatRsp.java b/src/main/java/emu/grasscutter/server/packet/send/PacketPullRecentChatRsp.java index 34ca8b3b7..8048e4b0d 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketPullRecentChatRsp.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketPullRecentChatRsp.java @@ -21,7 +21,7 @@ public class PacketPullRecentChatRsp extends GenshinPacket { ChatInfo welcomeEmote = ChatInfo.newBuilder() .setTime((int) (System.currentTimeMillis() / 1000)) .setUid(GenshinConstants.SERVER_CONSOLE_UID) - .setToUid(player.getId()) + .setToUid(player.getUid()) .setIcon(serverOptions.WelcomeEmotes[Utils.randomRange(0, serverOptions.WelcomeEmotes.length - 1)]) .build(); @@ -32,7 +32,7 @@ public class PacketPullRecentChatRsp extends GenshinPacket { ChatInfo welcomeMotd = ChatInfo.newBuilder() .setTime((int) (System.currentTimeMillis() / 1000)) .setUid(GenshinConstants.SERVER_CONSOLE_UID) - .setToUid(player.getId()) + .setToUid(player.getUid()) .setText(Grasscutter.getConfig().getServerOptions().WelcomeMotd) .build(); diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketScenePlayerInfoNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketScenePlayerInfoNotify.java index a653889e2..0fa20784e 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketScenePlayerInfoNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketScenePlayerInfoNotify.java @@ -18,7 +18,7 @@ public class PacketScenePlayerInfoNotify extends GenshinPacket { GenshinPlayer p = world.getPlayers().get(i); ScenePlayerInfo pInfo = ScenePlayerInfo.newBuilder() - .setUid(p.getId()) + .setUid(p.getUid()) .setPeerId(p.getPeerId()) .setName(p.getNickname()) .setSceneId(p.getSceneId()) diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTeamUpdateNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTeamUpdateNotify.java index 1dac583ce..20e199bc4 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTeamUpdateNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketSceneTeamUpdateNotify.java @@ -19,7 +19,7 @@ public class PacketSceneTeamUpdateNotify extends GenshinPacket { for (GenshinPlayer p : player.getWorld().getPlayers()) { for (EntityAvatar entityAvatar : p.getTeamManager().getActiveTeam()) { SceneTeamAvatar.Builder avatarProto = SceneTeamAvatar.newBuilder() - .setPlayerId(p.getId()) + .setPlayerId(p.getUid()) .setAvatarGuid(entityAvatar.getAvatar().getGuid()) .setSceneId(p.getSceneId()) .setEntityId(entityAvatar.getId()) diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketStoreWeightLimitNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketStoreWeightLimitNotify.java index ae4418cb6..b93130388 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketStoreWeightLimitNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketStoreWeightLimitNotify.java @@ -1,6 +1,6 @@ package emu.grasscutter.server.packet.send; -import emu.grasscutter.GenshinConstants; +import emu.grasscutter.Grasscutter; import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.proto.StoreTypeOuterClass.StoreType; @@ -13,11 +13,11 @@ public class PacketStoreWeightLimitNotify extends GenshinPacket { StoreWeightLimitNotify p = StoreWeightLimitNotify.newBuilder() .setStoreType(StoreType.StorePack) - .setWeightLimit(GenshinConstants.LIMIT_ALL) - .setWeaponCountLimit(GenshinConstants.LIMIT_WEAPON) - .setReliquaryCountLimit(GenshinConstants.LIMIT_RELIC) - .setMaterialCountLimit(GenshinConstants.LIMIT_MATERIAL) - .setFurnitureCountLimit(GenshinConstants.LIMIT_FURNITURE) + .setWeightLimit(Grasscutter.getConfig().getServerOptions().InventoryLimitAll) + .setWeaponCountLimit(Grasscutter.getConfig().getServerOptions().InventoryLimitWeapon) + .setReliquaryCountLimit(Grasscutter.getConfig().getServerOptions().InventoryLimitRelic) + .setMaterialCountLimit(Grasscutter.getConfig().getServerOptions().InventoryLimitMaterial) + .setFurnitureCountLimit(Grasscutter.getConfig().getServerOptions().InventoryLimitFurniture) .build(); this.setData(p); diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerInfoNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerInfoNotify.java index c14c7e43d..709a128d2 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerInfoNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerInfoNotify.java @@ -17,7 +17,7 @@ public class PacketWorldPlayerInfoNotify extends GenshinPacket { GenshinPlayer p = world.getPlayers().get(i); proto.addPlayerInfoList(p.getOnlinePlayerInfo()); - proto.addPlayerUidList(p.getId()); + proto.addPlayerUidList(p.getUid()); } this.setData(proto.build()); diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerRTTNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerRTTNotify.java index 20b64e418..1154b3ee3 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerRTTNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketWorldPlayerRTTNotify.java @@ -17,7 +17,7 @@ public class PacketWorldPlayerRTTNotify extends GenshinPacket { for (GenshinPlayer player : world.getPlayers()) { proto.addPlayerRttList( PlayerRTTInfo.newBuilder() - .setUid(player.getId()) + .setUid(player.getUid()) .setRtt(10) // TODO - put player ping here ); } diff --git a/src/main/java/emu/grasscutter/utils/Utils.java b/src/main/java/emu/grasscutter/utils/Utils.java index 7c5ab18ba..251898bd4 100644 --- a/src/main/java/emu/grasscutter/utils/Utils.java +++ b/src/main/java/emu/grasscutter/utils/Utils.java @@ -165,8 +165,6 @@ public final class Utils { // Check for game data. if(!fileExists(dataFolder)) createFolder(dataFolder); - if(!fileExists(dataFolder + "AbilityEmbryos.json")) - copyFromResources("data/AbilityEmbryos.json", dataFolder); if(exit) System.exit(1); }