mirror of
https://github.com/Melledy/LunarCore.git
synced 2026-05-08 22:03:46 +02:00
Update some protos and add /giveall skins command
This commit is contained in:
26
README.md
26
README.md
@@ -33,8 +33,8 @@
|
||||
### Compiling the server
|
||||
1. Open your system terminal, and compile the server with `./gradlew jar`
|
||||
2. Create a folder named `resources` in your server directory
|
||||
3. Download the `Config`, `TextMap`, and `ExcelBin` folders from [https://github.com/Dimbreath/StarRailData](https://github.com/Dimbreath/StarRailData) and place them into your resources folder.
|
||||
4. Run the server with `java -jar LunarCore.jar` from your system terminal. Lunar Core comes with a built-in internal MongoDB server for its database, so no Mongodb installation is required. However, it is highly recommended to install Mongodb anyway.
|
||||
3. Download the `Config`, `TextMap`, and `ExcelBin` folders from [https://github.com/Dimbreath/StarRailData](https://gitlab.com/Dimbreath/turnbasedgamedata) and place them into your resources folder.
|
||||
4. Run the server with `java -jar LunarCore.jar` from your system terminal. Lunar Core comes with a built-in internal MongoDB server for its database, so no Mongodb installation is required. However, it is highly recommended to install Mongodb anyway.
|
||||
|
||||
### Connecting with the client (Fiddler method)
|
||||
1. **Log in with the client to an official server and Hoyoverse account at least once to download game data.**
|
||||
@@ -66,21 +66,27 @@ Server commands can be run in the server console or in-game. There is a dummy us
|
||||
|
||||
```
|
||||
/account {create | delete} [username] (reserved player uid). Creates or deletes an account.
|
||||
/avatar lv(level) p(ascension) r(eidolon) s(skill levels). Sets the current avatar's properties.
|
||||
/clear {relics | lightcones | materials | items}. Removes filtered items from the player inventory.
|
||||
/gender {male | female}. Sets the player's gender.
|
||||
/give [item id] x[amount] lv[number]. Gives the targetted player an item.
|
||||
/giveall {materials | avatars | lightcones | relics}. Gives the targeted player items.
|
||||
/avatar {cur | all | lineup} lv(level) p(ascension) e(eidolon) s(skill levels). Sets the current avatar's properties
|
||||
/buildavatar [{avatar id} | cur | all | lineup]. Creates a set of relics for the selected avatars
|
||||
/clear {relics | lightcones | materials | items} lv(filter level). Removes filter items from the targeted player's inventory.
|
||||
/energy. Refills all characters energy in current lineup.
|
||||
/gender {male | female}. Sets the player gender.
|
||||
/give [item id] x(amount) lv(level) r(rank) p(promotion). Gives the targeted player an item.
|
||||
/giveall {materials | avatars | lightcones | relics | usables} lv(level). Gives the targeted player items.
|
||||
/heal. Heals your avatars.
|
||||
/help. Displays a list of available commands.
|
||||
/kick @[player id]. Kicks a player from the server.
|
||||
/lineup [avatar ids]. USE AT YOUR OWN RISK. Sets your current lineup with the specified avatar ids.
|
||||
/mail [content]. Sends the targeted player a system mail.
|
||||
/permission {add | remove | clear} [permission]. Gives/removes a permission from the targeted player.
|
||||
/refill. Refill your skill points in open world.
|
||||
/refill - refill your skill points in open world.
|
||||
/reload. Reloads the server config.
|
||||
/scene [scene id] [floor id]. Teleports the player to the specified scene.
|
||||
/setlevel [level] - Sets the targeted player's trailblazer level.
|
||||
/spawn [npc monster id/prop id] s[stage id] x[amount] lv[level] r[radius] <battle monster ids...>. Spawns a monster or prop near the targeted player.
|
||||
/stop. Stops the server
|
||||
/unstuck @[player id]. Unstucks an offline player if they're in a scene that doesn't load.
|
||||
/status. Displays the status of the server.
|
||||
/stop - Stops the server
|
||||
/tp [x] [y] [z]. Teleports the player to the specified coordinates.
|
||||
/unstuck @[player id]. Unstucks an offline player if theyre in a scene that doesnt load.
|
||||
/worldlevel [world level]. Sets the targeted player's equilibrium level.
|
||||
```
|
||||
|
||||
@@ -115,9 +115,9 @@ public final class GateserverOuterClass {
|
||||
private final Utf8String mdkResVersion = Utf8String.newEmptyInstance();
|
||||
|
||||
/**
|
||||
* <code>optional string asset_bundle_url_2 = 1417;</code>
|
||||
* <code>optional string base_asset_bundle_url = 1417;</code>
|
||||
*/
|
||||
private final Utf8String assetBundleUrl2 = Utf8String.newEmptyInstance();
|
||||
private final Utf8String baseAssetBundleUrl = Utf8String.newEmptyInstance();
|
||||
|
||||
/**
|
||||
* <code>optional string ifix_url = 1488;</code>
|
||||
@@ -1090,67 +1090,67 @@ public final class GateserverOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string asset_bundle_url_2 = 1417;</code>
|
||||
* @return whether the assetBundleUrl2 field is set
|
||||
* <code>optional string base_asset_bundle_url = 1417;</code>
|
||||
* @return whether the baseAssetBundleUrl field is set
|
||||
*/
|
||||
public boolean hasAssetBundleUrl2() {
|
||||
public boolean hasBaseAssetBundleUrl() {
|
||||
return (bitField0_ & 0x00080000) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string asset_bundle_url_2 = 1417;</code>
|
||||
* <code>optional string base_asset_bundle_url = 1417;</code>
|
||||
* @return this
|
||||
*/
|
||||
public Gateserver clearAssetBundleUrl2() {
|
||||
public Gateserver clearBaseAssetBundleUrl() {
|
||||
bitField0_ &= ~0x00080000;
|
||||
assetBundleUrl2.clear();
|
||||
baseAssetBundleUrl.clear();
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string asset_bundle_url_2 = 1417;</code>
|
||||
* @return the assetBundleUrl2
|
||||
* <code>optional string base_asset_bundle_url = 1417;</code>
|
||||
* @return the baseAssetBundleUrl
|
||||
*/
|
||||
public String getAssetBundleUrl2() {
|
||||
return assetBundleUrl2.getString();
|
||||
public String getBaseAssetBundleUrl() {
|
||||
return baseAssetBundleUrl.getString();
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string asset_bundle_url_2 = 1417;</code>
|
||||
* @return internal {@code Utf8String} representation of assetBundleUrl2 for reading
|
||||
* <code>optional string base_asset_bundle_url = 1417;</code>
|
||||
* @return internal {@code Utf8String} representation of baseAssetBundleUrl for reading
|
||||
*/
|
||||
public Utf8String getAssetBundleUrl2Bytes() {
|
||||
return this.assetBundleUrl2;
|
||||
public Utf8String getBaseAssetBundleUrlBytes() {
|
||||
return this.baseAssetBundleUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string asset_bundle_url_2 = 1417;</code>
|
||||
* @return internal {@code Utf8String} representation of assetBundleUrl2 for modifications
|
||||
* <code>optional string base_asset_bundle_url = 1417;</code>
|
||||
* @return internal {@code Utf8String} representation of baseAssetBundleUrl for modifications
|
||||
*/
|
||||
public Utf8String getMutableAssetBundleUrl2Bytes() {
|
||||
public Utf8String getMutableBaseAssetBundleUrlBytes() {
|
||||
bitField0_ |= 0x00080000;
|
||||
return this.assetBundleUrl2;
|
||||
return this.baseAssetBundleUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string asset_bundle_url_2 = 1417;</code>
|
||||
* @param value the assetBundleUrl2 to set
|
||||
* <code>optional string base_asset_bundle_url = 1417;</code>
|
||||
* @param value the baseAssetBundleUrl to set
|
||||
* @return this
|
||||
*/
|
||||
public Gateserver setAssetBundleUrl2(final CharSequence value) {
|
||||
public Gateserver setBaseAssetBundleUrl(final CharSequence value) {
|
||||
bitField0_ |= 0x00080000;
|
||||
assetBundleUrl2.copyFrom(value);
|
||||
baseAssetBundleUrl.copyFrom(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string asset_bundle_url_2 = 1417;</code>
|
||||
* @param value the assetBundleUrl2 to set
|
||||
* <code>optional string base_asset_bundle_url = 1417;</code>
|
||||
* @param value the baseAssetBundleUrl to set
|
||||
* @return this
|
||||
*/
|
||||
public Gateserver setAssetBundleUrl2(final Utf8String value) {
|
||||
public Gateserver setBaseAssetBundleUrl(final Utf8String value) {
|
||||
bitField0_ |= 0x00080000;
|
||||
assetBundleUrl2.copyFrom(value);
|
||||
baseAssetBundleUrl.copyFrom(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -1243,7 +1243,7 @@ public final class GateserverOuterClass {
|
||||
clientSecretKey.copyFrom(other.clientSecretKey);
|
||||
ifixVersion.copyFrom(other.ifixVersion);
|
||||
mdkResVersion.copyFrom(other.mdkResVersion);
|
||||
assetBundleUrl2.copyFrom(other.assetBundleUrl2);
|
||||
baseAssetBundleUrl.copyFrom(other.baseAssetBundleUrl);
|
||||
ifixUrl.copyFrom(other.ifixUrl);
|
||||
}
|
||||
return this;
|
||||
@@ -1312,8 +1312,8 @@ public final class GateserverOuterClass {
|
||||
if (other.hasMdkResVersion()) {
|
||||
getMutableMdkResVersionBytes().copyFrom(other.mdkResVersion);
|
||||
}
|
||||
if (other.hasAssetBundleUrl2()) {
|
||||
getMutableAssetBundleUrl2Bytes().copyFrom(other.assetBundleUrl2);
|
||||
if (other.hasBaseAssetBundleUrl()) {
|
||||
getMutableBaseAssetBundleUrlBytes().copyFrom(other.baseAssetBundleUrl);
|
||||
}
|
||||
if (other.hasIfixUrl()) {
|
||||
getMutableIfixUrlBytes().copyFrom(other.ifixUrl);
|
||||
@@ -1347,7 +1347,7 @@ public final class GateserverOuterClass {
|
||||
clientSecretKey.clear();
|
||||
ifixVersion.clear();
|
||||
mdkResVersion.clear();
|
||||
assetBundleUrl2.clear();
|
||||
baseAssetBundleUrl.clear();
|
||||
ifixUrl.clear();
|
||||
return this;
|
||||
}
|
||||
@@ -1368,7 +1368,7 @@ public final class GateserverOuterClass {
|
||||
clientSecretKey.clear();
|
||||
ifixVersion.clear();
|
||||
mdkResVersion.clear();
|
||||
assetBundleUrl2.clear();
|
||||
baseAssetBundleUrl.clear();
|
||||
ifixUrl.clear();
|
||||
return this;
|
||||
}
|
||||
@@ -1402,7 +1402,7 @@ public final class GateserverOuterClass {
|
||||
&& (!hasClientSecretKey() || clientSecretKey.equals(other.clientSecretKey))
|
||||
&& (!hasIfixVersion() || ifixVersion.equals(other.ifixVersion))
|
||||
&& (!hasMdkResVersion() || mdkResVersion.equals(other.mdkResVersion))
|
||||
&& (!hasAssetBundleUrl2() || assetBundleUrl2.equals(other.assetBundleUrl2))
|
||||
&& (!hasBaseAssetBundleUrl() || baseAssetBundleUrl.equals(other.baseAssetBundleUrl))
|
||||
&& (!hasIfixUrl() || ifixUrl.equals(other.ifixUrl));
|
||||
}
|
||||
|
||||
@@ -1486,7 +1486,7 @@ public final class GateserverOuterClass {
|
||||
}
|
||||
if ((bitField0_ & 0x00080000) != 0) {
|
||||
output.writeRawLittleEndian16((short) 22730);
|
||||
output.writeStringNoTag(assetBundleUrl2);
|
||||
output.writeStringNoTag(baseAssetBundleUrl);
|
||||
}
|
||||
if ((bitField0_ & 0x00100000) != 0) {
|
||||
output.writeRawLittleEndian16((short) 23938);
|
||||
@@ -1555,7 +1555,7 @@ public final class GateserverOuterClass {
|
||||
size += 2 + ProtoSink.computeStringSizeNoTag(mdkResVersion);
|
||||
}
|
||||
if ((bitField0_ & 0x00080000) != 0) {
|
||||
size += 2 + ProtoSink.computeStringSizeNoTag(assetBundleUrl2);
|
||||
size += 2 + ProtoSink.computeStringSizeNoTag(baseAssetBundleUrl);
|
||||
}
|
||||
if ((bitField0_ & 0x00100000) != 0) {
|
||||
size += 2 + ProtoSink.computeStringSizeNoTag(ifixUrl);
|
||||
@@ -1742,8 +1742,8 @@ public final class GateserverOuterClass {
|
||||
}
|
||||
}
|
||||
case 11338: {
|
||||
// assetBundleUrl2
|
||||
input.readString(assetBundleUrl2);
|
||||
// baseAssetBundleUrl
|
||||
input.readString(baseAssetBundleUrl);
|
||||
bitField0_ |= 0x00080000;
|
||||
tag = input.readTag();
|
||||
if (tag != 11906) {
|
||||
@@ -1834,7 +1834,7 @@ public final class GateserverOuterClass {
|
||||
output.writeString(FieldNames.mdkResVersion, mdkResVersion);
|
||||
}
|
||||
if ((bitField0_ & 0x00080000) != 0) {
|
||||
output.writeString(FieldNames.assetBundleUrl2, assetBundleUrl2);
|
||||
output.writeString(FieldNames.baseAssetBundleUrl, baseAssetBundleUrl);
|
||||
}
|
||||
if ((bitField0_ & 0x00100000) != 0) {
|
||||
output.writeString(FieldNames.ifixUrl, ifixUrl);
|
||||
@@ -2066,11 +2066,11 @@ public final class GateserverOuterClass {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case -247376043:
|
||||
case -1775001516: {
|
||||
if (input.isAtField(FieldNames.assetBundleUrl2)) {
|
||||
case 436849070:
|
||||
case -324796273: {
|
||||
if (input.isAtField(FieldNames.baseAssetBundleUrl)) {
|
||||
if (!input.trySkipNullValue()) {
|
||||
input.readString(assetBundleUrl2);
|
||||
input.readString(baseAssetBundleUrl);
|
||||
bitField0_ |= 0x00080000;
|
||||
}
|
||||
} else {
|
||||
@@ -2180,7 +2180,7 @@ public final class GateserverOuterClass {
|
||||
|
||||
static final FieldName mdkResVersion = FieldName.forField("mdkResVersion", "mdk_res_version");
|
||||
|
||||
static final FieldName assetBundleUrl2 = FieldName.forField("assetBundleUrl2", "asset_bundle_url_2");
|
||||
static final FieldName baseAssetBundleUrl = FieldName.forField("baseAssetBundleUrl", "base_asset_bundle_url");
|
||||
|
||||
static final FieldName ifixUrl = FieldName.forField("ifixUrl", "ifix_url");
|
||||
}
|
||||
|
||||
@@ -20,16 +20,12 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 13;</code>
|
||||
* <code>optional uint32 retcode = 2;</code>
|
||||
*/
|
||||
private int retcode;
|
||||
|
||||
/**
|
||||
* <code>repeated uint32 friend_uid_list = 7;</code>
|
||||
* <code>repeated uint32 friend_uid_list = 13;</code>
|
||||
*/
|
||||
private final RepeatedInt friendUidList = RepeatedInt.newEmptyInstance();
|
||||
|
||||
@@ -44,11 +40,7 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 13;</code>
|
||||
* <code>optional uint32 retcode = 2;</code>
|
||||
* @return whether the retcode field is set
|
||||
*/
|
||||
public boolean hasRetcode() {
|
||||
@@ -56,11 +48,7 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 13;</code>
|
||||
* <code>optional uint32 retcode = 2;</code>
|
||||
* @return this
|
||||
*/
|
||||
public GetFriendLoginInfoScRsp clearRetcode() {
|
||||
@@ -70,11 +58,7 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 13;</code>
|
||||
* <code>optional uint32 retcode = 2;</code>
|
||||
* @return the retcode
|
||||
*/
|
||||
public int getRetcode() {
|
||||
@@ -82,11 +66,7 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 13;</code>
|
||||
* <code>optional uint32 retcode = 2;</code>
|
||||
* @param value the retcode to set
|
||||
* @return this
|
||||
*/
|
||||
@@ -97,7 +77,7 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated uint32 friend_uid_list = 7;</code>
|
||||
* <code>repeated uint32 friend_uid_list = 13;</code>
|
||||
* @return whether the friendUidList field is set
|
||||
*/
|
||||
public boolean hasFriendUidList() {
|
||||
@@ -105,7 +85,7 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated uint32 friend_uid_list = 7;</code>
|
||||
* <code>repeated uint32 friend_uid_list = 13;</code>
|
||||
* @return this
|
||||
*/
|
||||
public GetFriendLoginInfoScRsp clearFriendUidList() {
|
||||
@@ -115,7 +95,7 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated uint32 friend_uid_list = 7;</code>
|
||||
* <code>repeated uint32 friend_uid_list = 13;</code>
|
||||
*
|
||||
* This method returns the internal storage object without modifying any has state.
|
||||
* The returned object should not be modified and be treated as read-only.
|
||||
@@ -129,7 +109,7 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated uint32 friend_uid_list = 7;</code>
|
||||
* <code>repeated uint32 friend_uid_list = 13;</code>
|
||||
*
|
||||
* This method returns the internal storage object and sets the corresponding
|
||||
* has state. The returned object will become part of this message and its
|
||||
@@ -143,7 +123,7 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated uint32 friend_uid_list = 7;</code>
|
||||
* <code>repeated uint32 friend_uid_list = 13;</code>
|
||||
* @param value the friendUidList to add
|
||||
* @return this
|
||||
*/
|
||||
@@ -154,7 +134,7 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated uint32 friend_uid_list = 7;</code>
|
||||
* <code>repeated uint32 friend_uid_list = 13;</code>
|
||||
* @param values the friendUidList to add
|
||||
* @return this
|
||||
*/
|
||||
@@ -230,12 +210,12 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
@Override
|
||||
public void writeTo(final ProtoSink output) throws IOException {
|
||||
if ((bitField0_ & 0x00000001) != 0) {
|
||||
output.writeRawByte((byte) 104);
|
||||
output.writeRawByte((byte) 16);
|
||||
output.writeUInt32NoTag(retcode);
|
||||
}
|
||||
if ((bitField0_ & 0x00000002) != 0) {
|
||||
for (int i = 0; i < friendUidList.length(); i++) {
|
||||
output.writeRawByte((byte) 56);
|
||||
output.writeRawByte((byte) 104);
|
||||
output.writeUInt32NoTag(friendUidList.array()[i]);
|
||||
}
|
||||
}
|
||||
@@ -260,16 +240,16 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
int tag = input.readTag();
|
||||
while (true) {
|
||||
switch (tag) {
|
||||
case 104: {
|
||||
case 16: {
|
||||
// retcode
|
||||
retcode = input.readUInt32();
|
||||
bitField0_ |= 0x00000001;
|
||||
tag = input.readTag();
|
||||
if (tag != 58) {
|
||||
if (tag != 106) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
case 58: {
|
||||
case 106: {
|
||||
// friendUidList [packed=true]
|
||||
input.readPackedUInt32(friendUidList, tag);
|
||||
bitField0_ |= 0x00000002;
|
||||
@@ -288,7 +268,7 @@ public final class GetFriendLoginInfoScRspOuterClass {
|
||||
tag = input.readTag();
|
||||
break;
|
||||
}
|
||||
case 56: {
|
||||
case 104: {
|
||||
// friendUidList [packed=false]
|
||||
tag = input.readRepeatedUInt32(friendUidList, tag);
|
||||
bitField0_ |= 0x00000002;
|
||||
|
||||
@@ -24,10 +24,6 @@ public final class SceneEntityInfoOuterClass {
|
||||
private int instId;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* FJNHDHOHBCL
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 13;</code>
|
||||
*/
|
||||
private int groupId;
|
||||
@@ -115,10 +111,6 @@ public final class SceneEntityInfoOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* FJNHDHOHBCL
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 13;</code>
|
||||
* @return whether the groupId field is set
|
||||
*/
|
||||
@@ -127,10 +119,6 @@ public final class SceneEntityInfoOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* FJNHDHOHBCL
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 13;</code>
|
||||
* @return this
|
||||
*/
|
||||
@@ -141,10 +129,6 @@ public final class SceneEntityInfoOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* FJNHDHOHBCL
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 13;</code>
|
||||
* @return the groupId
|
||||
*/
|
||||
@@ -153,10 +137,6 @@ public final class SceneEntityInfoOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* FJNHDHOHBCL
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 13;</code>
|
||||
* @param value the groupId to set
|
||||
* @return this
|
||||
|
||||
@@ -29,10 +29,6 @@ public final class SetGroupCustomSaveDataCsReqOuterClass {
|
||||
private int entryId;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* FJNHDHOHBCL
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 13;</code>
|
||||
*/
|
||||
private int groupId;
|
||||
@@ -106,10 +102,6 @@ public final class SetGroupCustomSaveDataCsReqOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* FJNHDHOHBCL
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 13;</code>
|
||||
* @return whether the groupId field is set
|
||||
*/
|
||||
@@ -118,10 +110,6 @@ public final class SetGroupCustomSaveDataCsReqOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* FJNHDHOHBCL
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 13;</code>
|
||||
* @return this
|
||||
*/
|
||||
@@ -132,10 +120,6 @@ public final class SetGroupCustomSaveDataCsReqOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* FJNHDHOHBCL
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 13;</code>
|
||||
* @return the groupId
|
||||
*/
|
||||
@@ -144,10 +128,6 @@ public final class SetGroupCustomSaveDataCsReqOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* FJNHDHOHBCL
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 13;</code>
|
||||
* @param value the groupId to set
|
||||
* @return this
|
||||
|
||||
@@ -23,28 +23,16 @@ public final class SetGroupCustomSaveDataScRspOuterClass {
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JODPMEDMPJK
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 entry_id = 4;</code>
|
||||
*/
|
||||
private int entryId;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* HEDLHGFPCGG
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 11;</code>
|
||||
*/
|
||||
private int groupId;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 15;</code>
|
||||
*/
|
||||
private int retcode;
|
||||
@@ -64,10 +52,6 @@ public final class SetGroupCustomSaveDataScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JODPMEDMPJK
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 entry_id = 4;</code>
|
||||
* @return whether the entryId field is set
|
||||
*/
|
||||
@@ -76,10 +60,6 @@ public final class SetGroupCustomSaveDataScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JODPMEDMPJK
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 entry_id = 4;</code>
|
||||
* @return this
|
||||
*/
|
||||
@@ -90,10 +70,6 @@ public final class SetGroupCustomSaveDataScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JODPMEDMPJK
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 entry_id = 4;</code>
|
||||
* @return the entryId
|
||||
*/
|
||||
@@ -102,10 +78,6 @@ public final class SetGroupCustomSaveDataScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JODPMEDMPJK
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 entry_id = 4;</code>
|
||||
* @param value the entryId to set
|
||||
* @return this
|
||||
@@ -117,10 +89,6 @@ public final class SetGroupCustomSaveDataScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* HEDLHGFPCGG
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 11;</code>
|
||||
* @return whether the groupId field is set
|
||||
*/
|
||||
@@ -129,10 +97,6 @@ public final class SetGroupCustomSaveDataScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* HEDLHGFPCGG
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 11;</code>
|
||||
* @return this
|
||||
*/
|
||||
@@ -143,10 +107,6 @@ public final class SetGroupCustomSaveDataScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* HEDLHGFPCGG
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 11;</code>
|
||||
* @return the groupId
|
||||
*/
|
||||
@@ -155,10 +115,6 @@ public final class SetGroupCustomSaveDataScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* HEDLHGFPCGG
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 group_id = 11;</code>
|
||||
* @param value the groupId to set
|
||||
* @return this
|
||||
@@ -170,10 +126,6 @@ public final class SetGroupCustomSaveDataScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 15;</code>
|
||||
* @return whether the retcode field is set
|
||||
*/
|
||||
@@ -182,10 +134,6 @@ public final class SetGroupCustomSaveDataScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 15;</code>
|
||||
* @return this
|
||||
*/
|
||||
@@ -196,10 +144,6 @@ public final class SetGroupCustomSaveDataScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 15;</code>
|
||||
* @return the retcode
|
||||
*/
|
||||
@@ -208,10 +152,6 @@ public final class SetGroupCustomSaveDataScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 15;</code>
|
||||
* @param value the retcode to set
|
||||
* @return this
|
||||
|
||||
@@ -24,6 +24,11 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
*/
|
||||
private int challengePeakId;
|
||||
|
||||
/**
|
||||
* <code>optional uint32 challenge_peak_buff_id = 6;</code>
|
||||
*/
|
||||
private int challengePeakBuffId;
|
||||
|
||||
/**
|
||||
* <code>repeated uint32 challenge_avatar_id_list = 15;</code>
|
||||
*/
|
||||
@@ -76,12 +81,49 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint32 challenge_peak_buff_id = 6;</code>
|
||||
* @return whether the challengePeakBuffId field is set
|
||||
*/
|
||||
public boolean hasChallengePeakBuffId() {
|
||||
return (bitField0_ & 0x00000002) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint32 challenge_peak_buff_id = 6;</code>
|
||||
* @return this
|
||||
*/
|
||||
public StartChallengePeakCsReq clearChallengePeakBuffId() {
|
||||
bitField0_ &= ~0x00000002;
|
||||
challengePeakBuffId = 0;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint32 challenge_peak_buff_id = 6;</code>
|
||||
* @return the challengePeakBuffId
|
||||
*/
|
||||
public int getChallengePeakBuffId() {
|
||||
return challengePeakBuffId;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint32 challenge_peak_buff_id = 6;</code>
|
||||
* @param value the challengePeakBuffId to set
|
||||
* @return this
|
||||
*/
|
||||
public StartChallengePeakCsReq setChallengePeakBuffId(final int value) {
|
||||
bitField0_ |= 0x00000002;
|
||||
challengePeakBuffId = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated uint32 challenge_avatar_id_list = 15;</code>
|
||||
* @return whether the challengeAvatarIdList field is set
|
||||
*/
|
||||
public boolean hasChallengeAvatarIdList() {
|
||||
return (bitField0_ & 0x00000002) != 0;
|
||||
return (bitField0_ & 0x00000004) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -89,7 +131,7 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
* @return this
|
||||
*/
|
||||
public StartChallengePeakCsReq clearChallengeAvatarIdList() {
|
||||
bitField0_ &= ~0x00000002;
|
||||
bitField0_ &= ~0x00000004;
|
||||
challengeAvatarIdList.clear();
|
||||
return this;
|
||||
}
|
||||
@@ -118,7 +160,7 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
* @return internal storage object for modifications
|
||||
*/
|
||||
public RepeatedInt getMutableChallengeAvatarIdList() {
|
||||
bitField0_ |= 0x00000002;
|
||||
bitField0_ |= 0x00000004;
|
||||
return challengeAvatarIdList;
|
||||
}
|
||||
|
||||
@@ -128,7 +170,7 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
* @return this
|
||||
*/
|
||||
public StartChallengePeakCsReq addChallengeAvatarIdList(final int value) {
|
||||
bitField0_ |= 0x00000002;
|
||||
bitField0_ |= 0x00000004;
|
||||
challengeAvatarIdList.add(value);
|
||||
return this;
|
||||
}
|
||||
@@ -139,7 +181,7 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
* @return this
|
||||
*/
|
||||
public StartChallengePeakCsReq addAllChallengeAvatarIdList(final int... values) {
|
||||
bitField0_ |= 0x00000002;
|
||||
bitField0_ |= 0x00000004;
|
||||
challengeAvatarIdList.addAll(values);
|
||||
return this;
|
||||
}
|
||||
@@ -150,6 +192,7 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
if ((bitField0_ | other.bitField0_) != 0) {
|
||||
bitField0_ = other.bitField0_;
|
||||
challengePeakId = other.challengePeakId;
|
||||
challengePeakBuffId = other.challengePeakBuffId;
|
||||
challengeAvatarIdList.copyFrom(other.challengeAvatarIdList);
|
||||
}
|
||||
return this;
|
||||
@@ -164,6 +207,9 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
if (other.hasChallengePeakId()) {
|
||||
setChallengePeakId(other.challengePeakId);
|
||||
}
|
||||
if (other.hasChallengePeakBuffId()) {
|
||||
setChallengePeakBuffId(other.challengePeakBuffId);
|
||||
}
|
||||
if (other.hasChallengeAvatarIdList()) {
|
||||
getMutableChallengeAvatarIdList().addAll(other.challengeAvatarIdList);
|
||||
}
|
||||
@@ -178,6 +224,7 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
cachedSize = -1;
|
||||
bitField0_ = 0;
|
||||
challengePeakId = 0;
|
||||
challengePeakBuffId = 0;
|
||||
challengeAvatarIdList.clear();
|
||||
return this;
|
||||
}
|
||||
@@ -204,6 +251,7 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
StartChallengePeakCsReq other = (StartChallengePeakCsReq) o;
|
||||
return bitField0_ == other.bitField0_
|
||||
&& (!hasChallengePeakId() || challengePeakId == other.challengePeakId)
|
||||
&& (!hasChallengePeakBuffId() || challengePeakBuffId == other.challengePeakBuffId)
|
||||
&& (!hasChallengeAvatarIdList() || challengeAvatarIdList.equals(other.challengeAvatarIdList));
|
||||
}
|
||||
|
||||
@@ -214,6 +262,10 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
output.writeUInt32NoTag(challengePeakId);
|
||||
}
|
||||
if ((bitField0_ & 0x00000002) != 0) {
|
||||
output.writeRawByte((byte) 48);
|
||||
output.writeUInt32NoTag(challengePeakBuffId);
|
||||
}
|
||||
if ((bitField0_ & 0x00000004) != 0) {
|
||||
for (int i = 0; i < challengeAvatarIdList.length(); i++) {
|
||||
output.writeRawByte((byte) 120);
|
||||
output.writeUInt32NoTag(challengeAvatarIdList.array()[i]);
|
||||
@@ -228,6 +280,9 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
size += 1 + ProtoSink.computeUInt32SizeNoTag(challengePeakId);
|
||||
}
|
||||
if ((bitField0_ & 0x00000002) != 0) {
|
||||
size += 1 + ProtoSink.computeUInt32SizeNoTag(challengePeakBuffId);
|
||||
}
|
||||
if ((bitField0_ & 0x00000004) != 0) {
|
||||
size += (1 * challengeAvatarIdList.length()) + ProtoSink.computeRepeatedUInt32SizeNoTag(challengeAvatarIdList);
|
||||
}
|
||||
return size;
|
||||
@@ -245,6 +300,15 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
challengePeakId = input.readUInt32();
|
||||
bitField0_ |= 0x00000001;
|
||||
tag = input.readTag();
|
||||
if (tag != 48) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
case 48: {
|
||||
// challengePeakBuffId
|
||||
challengePeakBuffId = input.readUInt32();
|
||||
bitField0_ |= 0x00000002;
|
||||
tag = input.readTag();
|
||||
if (tag != 122) {
|
||||
break;
|
||||
}
|
||||
@@ -252,7 +316,7 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
case 122: {
|
||||
// challengeAvatarIdList [packed=true]
|
||||
input.readPackedUInt32(challengeAvatarIdList, tag);
|
||||
bitField0_ |= 0x00000002;
|
||||
bitField0_ |= 0x00000004;
|
||||
tag = input.readTag();
|
||||
if (tag != 0) {
|
||||
break;
|
||||
@@ -271,7 +335,7 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
case 120: {
|
||||
// challengeAvatarIdList [packed=false]
|
||||
tag = input.readRepeatedUInt32(challengeAvatarIdList, tag);
|
||||
bitField0_ |= 0x00000002;
|
||||
bitField0_ |= 0x00000004;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -285,6 +349,9 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
output.writeUInt32(FieldNames.challengePeakId, challengePeakId);
|
||||
}
|
||||
if ((bitField0_ & 0x00000002) != 0) {
|
||||
output.writeUInt32(FieldNames.challengePeakBuffId, challengePeakBuffId);
|
||||
}
|
||||
if ((bitField0_ & 0x00000004) != 0) {
|
||||
output.writeRepeatedUInt32(FieldNames.challengeAvatarIdList, challengeAvatarIdList);
|
||||
}
|
||||
output.endObject();
|
||||
@@ -309,12 +376,24 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1004602192:
|
||||
case 1580927875: {
|
||||
if (input.isAtField(FieldNames.challengePeakBuffId)) {
|
||||
if (!input.trySkipNullValue()) {
|
||||
challengePeakBuffId = input.readUInt32();
|
||||
bitField0_ |= 0x00000002;
|
||||
}
|
||||
} else {
|
||||
input.skipUnknownField();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 836175637:
|
||||
case 1831834552: {
|
||||
if (input.isAtField(FieldNames.challengeAvatarIdList)) {
|
||||
if (!input.trySkipNullValue()) {
|
||||
input.readRepeatedUInt32(challengeAvatarIdList);
|
||||
bitField0_ |= 0x00000002;
|
||||
bitField0_ |= 0x00000004;
|
||||
}
|
||||
} else {
|
||||
input.skipUnknownField();
|
||||
@@ -376,6 +455,8 @@ public final class StartChallengePeakCsReqOuterClass {
|
||||
static class FieldNames {
|
||||
static final FieldName challengePeakId = FieldName.forField("challengePeakId", "challenge_peak_id");
|
||||
|
||||
static final FieldName challengePeakBuffId = FieldName.forField("challengePeakBuffId", "challenge_peak_buff_id");
|
||||
|
||||
static final FieldName challengeAvatarIdList = FieldName.forField("challengeAvatarIdList", "challenge_avatar_id_list");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,10 @@ public final class SwitchHandUpdateScRspOuterClass {
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
*/
|
||||
private int retcode;
|
||||
@@ -60,6 +64,10 @@ public final class SwitchHandUpdateScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @return whether the retcode field is set
|
||||
*/
|
||||
@@ -68,6 +76,10 @@ public final class SwitchHandUpdateScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @return this
|
||||
*/
|
||||
@@ -78,6 +90,10 @@ public final class SwitchHandUpdateScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @return the retcode
|
||||
*/
|
||||
@@ -86,6 +102,10 @@ public final class SwitchHandUpdateScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @param value the retcode to set
|
||||
* @return this
|
||||
|
||||
@@ -20,6 +20,10 @@ public final class TakeMailAttachmentScRspOuterClass {
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
*/
|
||||
private int retcode;
|
||||
@@ -45,6 +49,10 @@ public final class TakeMailAttachmentScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @return whether the retcode field is set
|
||||
*/
|
||||
@@ -53,6 +61,10 @@ public final class TakeMailAttachmentScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @return this
|
||||
*/
|
||||
@@ -63,6 +75,10 @@ public final class TakeMailAttachmentScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @return the retcode
|
||||
*/
|
||||
@@ -71,6 +87,10 @@ public final class TakeMailAttachmentScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @param value the retcode to set
|
||||
* @return this
|
||||
|
||||
@@ -24,6 +24,10 @@ public final class TextJoinQueryScRspOuterClass {
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 12;</code>
|
||||
*/
|
||||
private int retcode;
|
||||
@@ -52,6 +56,10 @@ public final class TextJoinQueryScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 12;</code>
|
||||
* @return whether the retcode field is set
|
||||
*/
|
||||
@@ -60,6 +68,10 @@ public final class TextJoinQueryScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 12;</code>
|
||||
* @return this
|
||||
*/
|
||||
@@ -70,6 +82,10 @@ public final class TextJoinQueryScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 12;</code>
|
||||
* @return the retcode
|
||||
*/
|
||||
@@ -78,6 +94,10 @@ public final class TextJoinQueryScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 12;</code>
|
||||
* @param value the retcode to set
|
||||
* @return this
|
||||
|
||||
@@ -20,6 +20,10 @@ public final class UnlockAvatarPathScRspOuterClass {
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 12;</code>
|
||||
*/
|
||||
private int retcode;
|
||||
@@ -50,6 +54,10 @@ public final class UnlockAvatarPathScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 12;</code>
|
||||
* @return whether the retcode field is set
|
||||
*/
|
||||
@@ -58,6 +66,10 @@ public final class UnlockAvatarPathScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 12;</code>
|
||||
* @return this
|
||||
*/
|
||||
@@ -68,6 +80,10 @@ public final class UnlockAvatarPathScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 12;</code>
|
||||
* @return the retcode
|
||||
*/
|
||||
@@ -76,6 +92,10 @@ public final class UnlockAvatarPathScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 12;</code>
|
||||
* @param value the retcode to set
|
||||
* @return this
|
||||
|
||||
@@ -19,6 +19,10 @@ public final class UnlockTutorialScRspOuterClass {
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
*/
|
||||
private int retcode;
|
||||
@@ -39,6 +43,10 @@ public final class UnlockTutorialScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @return whether the retcode field is set
|
||||
*/
|
||||
@@ -47,6 +55,10 @@ public final class UnlockTutorialScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @return this
|
||||
*/
|
||||
@@ -57,6 +69,10 @@ public final class UnlockTutorialScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @return the retcode
|
||||
*/
|
||||
@@ -65,6 +81,10 @@ public final class UnlockTutorialScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @param value the retcode to set
|
||||
* @return this
|
||||
|
||||
@@ -20,6 +20,10 @@ public final class UpdateMarkChestScRspOuterClass {
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
*/
|
||||
private int retcode;
|
||||
@@ -50,6 +54,10 @@ public final class UpdateMarkChestScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @return whether the retcode field is set
|
||||
*/
|
||||
@@ -58,6 +66,10 @@ public final class UpdateMarkChestScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @return this
|
||||
*/
|
||||
@@ -68,6 +80,10 @@ public final class UpdateMarkChestScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @return the retcode
|
||||
*/
|
||||
@@ -76,6 +92,10 @@ public final class UpdateMarkChestScRspOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JDLHKMNFDBD
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional uint32 retcode = 1;</code>
|
||||
* @param value the retcode to set
|
||||
* @return this
|
||||
|
||||
@@ -2,6 +2,7 @@ package emu.lunarcore;
|
||||
|
||||
public class HotfixData {
|
||||
public String assetBundleUrl = "";
|
||||
public String baseAssetBundleUrl = "";
|
||||
public String exResourceUrl = "";
|
||||
public String luaUrl = "";
|
||||
public String ifixUrl = "";
|
||||
|
||||
@@ -147,6 +147,14 @@ public class GiveAllCommand implements CommandHandler {
|
||||
// Send message
|
||||
args.sendMessage("Giving " + target.getName() + " all avatars");
|
||||
}
|
||||
case "skins" -> {
|
||||
for (var excel : GameData.getAvatarSkinExcelMap().values()) {
|
||||
target.getUnlocks().addAvatarSkin(excel.getId());
|
||||
}
|
||||
|
||||
// Send message
|
||||
args.sendMessage("Giving " + target.getName() + " all avatar skins");
|
||||
}
|
||||
case "unlocks", "usables", "icons" -> {
|
||||
// Add head icons - Duplicates are handled automatically
|
||||
for (var excel : GameData.getPlayerIconExcelMap().values()) {
|
||||
|
||||
@@ -52,6 +52,7 @@ public class GameData {
|
||||
@Getter private static ExcelMap<TextJoinExcel> textJoinExcelMap = new ExcelMap<>();
|
||||
@Getter private static ExcelMap<ChatBubbleExcel> chatBubbleExcelMap = new ExcelMap<>();
|
||||
@Getter private static ExcelMap<PhoneThemeExcel> phoneThemeExcelMap = new ExcelMap<>();
|
||||
@Getter private static ExcelMap<PlayerOutfitBaseExcel> playerOutfitBaseExcelMap = new ExcelMap<>();
|
||||
@Getter private static ExcelMap<PetExcel> petExcelMap = new ExcelMap<>();
|
||||
@Getter private static ExcelMap<ContentPackageExcel> contentPackageExcelMap = new ExcelMap<>();
|
||||
@Getter private static ExcelMap<OfferingTypeExcel> offeringTypeExcelMap = new ExcelMap<>();
|
||||
|
||||
@@ -52,9 +52,6 @@ public class ResourceLoader {
|
||||
// Load maze abilities
|
||||
loadMazeAbilities();
|
||||
|
||||
// Load mission infos
|
||||
loadMissionInfo();
|
||||
|
||||
// Done
|
||||
loaded = true;
|
||||
LunarCore.getLogger().info("Resource loading complete");
|
||||
@@ -414,33 +411,5 @@ public class ResourceLoader {
|
||||
// Done
|
||||
LunarCore.getLogger().info("Loaded " + count + " maze abilities for avatars.");
|
||||
}
|
||||
|
||||
private static void loadMissionInfo() {
|
||||
int count = 0;
|
||||
int countTask = 0;
|
||||
for (Integer mMissionId : GameData.getMainMissionIds()) {
|
||||
File file = new File(LunarCore.getConfig().getResourceDir() + "/Config/Level/Mission/" + mMissionId + "/" + "MissionInfo_" + mMissionId + ".json");
|
||||
if (!file.exists()) continue;
|
||||
try (FileReader reader = new FileReader(file)) {
|
||||
MissionInfo info = gson.fromJson(reader, MissionInfo.class);
|
||||
for (MissionInfo.SubMissionInfo setme : info.getSubMissionList()) {
|
||||
File taskFile = new File(LunarCore.getConfig().getResourceDir() + "/Config/Level/Mission/" + setme.getMainMissionID() + "/" + "Mission_" + setme.getId() + ".json");
|
||||
if (!taskFile.exists()) continue;
|
||||
try (FileReader readerTask = new FileReader(taskFile)) {
|
||||
MissionTaskInfo infoTask = gson.fromJson(readerTask, MissionTaskInfo.class);
|
||||
setme.setTask(infoTask);
|
||||
countTask++;
|
||||
} catch (Exception ex) {
|
||||
LunarCore.getLogger().warn("Failed to load task mission info: " + taskFile.getName(), ex);
|
||||
}
|
||||
}
|
||||
// Update GameData with the modified MissionInfo object
|
||||
GameData.getMissionInfos().put(info.getMainMissionID(), info);
|
||||
count++;
|
||||
} catch (Exception e) {
|
||||
LunarCore.getLogger().warn("Failed to load mission info: " + file.getName(), e);
|
||||
}
|
||||
}
|
||||
LunarCore.getLogger().info("Loaded " + count + " mission infos (task " + countTask + ").");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package emu.lunarcore.data.excel;
|
||||
|
||||
import emu.lunarcore.data.resource.GameResource;
|
||||
import emu.lunarcore.data.resource.ResourceType;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = {"PlayerOutfitBase.json"})
|
||||
public class PlayerOutfitBaseExcel extends GameResource {
|
||||
private int OutfitID;
|
||||
private String[] SlotTypeList;
|
||||
private int ItemID;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return OutfitID;
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,11 @@ public enum ItemSubType {
|
||||
RogueMedal (513),
|
||||
PamSkin (514),
|
||||
FindChest (515),
|
||||
PersonalCard (516),
|
||||
PhoneCase (517),
|
||||
PlayerOutfit (518),
|
||||
HeadIconFrame (519),
|
||||
PlatformBoundGift (520),
|
||||
Material (601),
|
||||
Eidolon (602),
|
||||
MuseumExhibit (603),
|
||||
@@ -33,6 +38,21 @@ public enum ItemSubType {
|
||||
AetherSpirit (606),
|
||||
FightFestSkill (607),
|
||||
TrainPartyDiyMaterial (608),
|
||||
PlanetFesItem (609),
|
||||
ElfRestaurantItem (610),
|
||||
MatchThreeV2 (611),
|
||||
HipplenOutfit (612),
|
||||
DiceCombatAvatar (613),
|
||||
DiceCombatDice (614),
|
||||
IdleLiveItem (616),
|
||||
AvatarExp (651),
|
||||
AvatarRank (652),
|
||||
TracePath (653),
|
||||
WeeklyMonsterDrop (654),
|
||||
EquipmentExp (655),
|
||||
RelicExp (656),
|
||||
CommonMonsterDrop (657),
|
||||
ComposeMaterial (658),
|
||||
Mission (701),
|
||||
RelicSetShowOnly (801),
|
||||
RelicRarityShowOnly (802),
|
||||
|
||||
@@ -256,6 +256,10 @@ public class Inventory extends BasePlayerManager {
|
||||
getPlayer().getUnlocks().addHeadIcon(item.getItemId());
|
||||
return item;
|
||||
}
|
||||
case HeadIconFrame -> {
|
||||
getPlayer().getUnlocks().addHeadIconFrame(item.getItemId());
|
||||
return item;
|
||||
}
|
||||
case ChatBubble -> {
|
||||
getPlayer().getUnlocks().addChatBubble(item.getItemId());
|
||||
return item;
|
||||
@@ -264,6 +268,10 @@ public class Inventory extends BasePlayerManager {
|
||||
getPlayer().getUnlocks().addPhoneTheme(item.getItemId());
|
||||
return item;
|
||||
}
|
||||
case AvatarSkin -> {
|
||||
getPlayer().getUnlocks().addAvatarSkin(item.getItemId());
|
||||
return item;
|
||||
}
|
||||
default -> {
|
||||
// Skip
|
||||
}
|
||||
|
||||
@@ -47,6 +47,9 @@ public class QueryGatewayHandler implements Handler {
|
||||
if (data.assetBundleUrl != null && !data.assetBundleUrl.isBlank()) {
|
||||
gateserver.setAssetBundleUrl(data.assetBundleUrl);
|
||||
}
|
||||
if (data.baseAssetBundleUrl != null && !data.baseAssetBundleUrl.isBlank()) {
|
||||
gateserver.setBaseAssetBundleUrl(data.baseAssetBundleUrl);
|
||||
}
|
||||
if (data.exResourceUrl != null && !data.exResourceUrl.isBlank()) {
|
||||
gateserver.setExResourceUrl(data.exResourceUrl);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user