mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-23 10:44:36 +01:00
Make a config option for setting server friend info
This commit is contained in:
@@ -93,6 +93,8 @@ public class Config {
|
||||
public int staminaReserveRecoveryRate = 18 * 60;
|
||||
public String language = "EN";
|
||||
public Set<String> defaultPermissions = Set.of("*");
|
||||
|
||||
public ServerProfile serverFriendInfo = new ServerProfile();
|
||||
public WelcomeMail welcomeMail = new WelcomeMail();
|
||||
|
||||
public int getStaminaRecoveryRate() {
|
||||
@@ -104,6 +106,17 @@ public class Config {
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
public static class ServerProfile {
|
||||
public String name = "Server";
|
||||
public String signature = "Type /help for a list of commands";
|
||||
public int level = 1;
|
||||
public int headIcon = 201001;
|
||||
public int chatBubbleId = 0;
|
||||
public int displayAvatarId = 1001;
|
||||
public int displayAvatarLevel = 1;
|
||||
}
|
||||
|
||||
@Getter
|
||||
public static class WelcomeMail {
|
||||
public String title;
|
||||
|
||||
@@ -797,6 +797,7 @@ public class Player {
|
||||
.setNickname(this.getName())
|
||||
.setSignature(this.getSignature())
|
||||
.setLevel(this.getLevel())
|
||||
.setChatBubbleId(this.getChatBubble())
|
||||
.setOnlineStatus(this.isOnline() ? FriendOnlineStatus.FRIEND_ONLINE_STATUS_ONLINE : FriendOnlineStatus.FRIEND_ONLINE_STATUS_OFFLINE)
|
||||
.setPlatformType(PlatformType.PC)
|
||||
.setLastActiveTime(this.getLastActiveTime())
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package emu.lunarcore.server.packet.send;
|
||||
|
||||
import emu.lunarcore.GameConstants;
|
||||
import emu.lunarcore.LunarCore;
|
||||
import emu.lunarcore.game.friends.FriendList;
|
||||
import emu.lunarcore.proto.FriendListInfoOuterClass.FriendListInfo;
|
||||
import emu.lunarcore.proto.FriendOnlineStatusOuterClass.FriendOnlineStatus;
|
||||
@@ -15,17 +16,21 @@ public class PacketGetFriendListInfoScRsp extends BasePacket {
|
||||
|
||||
public PacketGetFriendListInfoScRsp(FriendList friendList) {
|
||||
super(CmdId.GetFriendListInfoScRsp);
|
||||
|
||||
// Get friend info from config
|
||||
var serverFriendInfo = LunarCore.getConfig().getServerOptions().getServerFriendInfo();
|
||||
|
||||
// Inject server console as friend
|
||||
var consoleFriend = SimpleInfo.newInstance()
|
||||
.setUid(GameConstants.SERVER_CONSOLE_UID)
|
||||
.setNickname("Server")
|
||||
.setSignature("Type /help for a list of commands")
|
||||
.setLevel(1)
|
||||
.setNickname(serverFriendInfo.getName())
|
||||
.setSignature(serverFriendInfo.getSignature())
|
||||
.setLevel(serverFriendInfo.getLevel())
|
||||
.setChatBubbleId(serverFriendInfo.getChatBubbleId())
|
||||
.setOnlineStatus(FriendOnlineStatus.FRIEND_ONLINE_STATUS_ONLINE)
|
||||
.setPlatformType(PlatformType.PC)
|
||||
.setSimpleAvatarInfo(SimpleAvatarInfo.newInstance().setAvatarId(1001).setLevel(1))
|
||||
.setHeadIcon(201001);
|
||||
.setSimpleAvatarInfo(SimpleAvatarInfo.newInstance().setAvatarId(serverFriendInfo.getDisplayAvatarId()).setLevel(serverFriendInfo.getDisplayAvatarLevel()))
|
||||
.setHeadIcon(serverFriendInfo.getHeadIcon());
|
||||
|
||||
var data = GetFriendListInfoScRsp.newInstance()
|
||||
.addFriendList(FriendListInfo.newInstance().setSimpleInfo(consoleFriend));
|
||||
|
||||
Reference in New Issue
Block a user