21 Commits

Author SHA1 Message Date
c08ab19d84 Various removals of '&' for Javadoc to be happy 2023-09-02 19:49:38 -04:00
34589d0128 Merge remote-tracking branch 'origin/development' into development 2023-09-02 19:48:39 -04:00
70ee3ed1a6 Remove protocol definitions from Javadoc generation 2023-09-02 19:31:58 -04:00
88d7be86da Format code [skip actions] 2023-09-02 23:06:00 +00:00
d6abb2288d Bump version to v1.7.1 2023-09-02 19:05:34 -04:00
416ef56101 Bump down the plugin API version
nothing major was *removed*, meaning all existing v2 plugins should still work
2023-09-02 19:05:30 -04:00
ed0e89074b Merge remote-tracking branch 'origin/development' into development 2023-09-02 19:04:09 -04:00
1894296ed4 fix: home transfer (#2327)
* fix: home transfer

* Update HomeSceneItem.java
2023-09-02 19:04:02 -04:00
69a223949b Merge remote-tracking branch 'origin/development' into development 2023-09-02 19:02:41 -04:00
f8fb6732de Format code [skip actions] 2023-09-02 15:55:11 +00:00
ed97201473 fix: arrangement of main house is duplicated even if player changes module (#2325)
* fix: arrangement of main house is duplicated even if player change module

* removeIf

* Update src/main/java/emu/grasscutter/game/home/GameHome.java

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>

---------

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
2023-09-02 11:52:56 -04:00
decf494234 Format code [skip actions] 2023-09-02 05:49:00 +00:00
9c25060c78 Format code [skip actions] 2023-09-02 05:48:12 +00:00
a49f37edb3 feat: finish home avatar talk (#2328) 2023-09-02 01:47:06 -04:00
97138d8c84 feat: implement home animals (#2329) 2023-09-02 01:46:58 -04:00
314bccb7a2 Add command description for debug 2023-09-01 20:50:37 -04:00
c1045103ed Format code [skip actions] 2023-09-02 00:37:43 +00:00
1831d5c81f SerializedName MonsterSpecialName (#2331)
* SerializedName MonsterSpecialName

* uh add space back

* remove space

---------

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
2023-09-01 20:35:54 -04:00
717a358636 Format code [skip actions] 2023-09-02 00:33:12 +00:00
0db69882a3 fix: sync home avatar costume (#2326) 2023-09-01 20:31:55 -04:00
12da46b5ee Re-order troubleshooting info 2023-09-01 20:29:25 -04:00
615 changed files with 2067 additions and 1651 deletions

View File

@ -58,7 +58,7 @@ sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17
group = 'io.grasscutter' group = 'io.grasscutter'
version = '1.7.0' version = '1.7.1'
java { java {
withJavadocJar() withJavadocJar()
@ -311,6 +311,8 @@ javadoc {
// Add this to avoid warning caused by lack of comments in proto generated java files // Add this to avoid warning caused by lack of comments in proto generated java files
options.addStringOption('Xdoclint:none', '-quiet') options.addStringOption('Xdoclint:none', '-quiet')
exclude '**/*.md' exclude '**/*.md'
exclude 'src/handbook/**/*.*'
exclude 'src/generated/**/*.*'
} }
tasks.register('injectGitHash') { tasks.register('injectGitHash') {

View File

@ -25,10 +25,10 @@ public final class HomeTransferReqOuterClass {
int getGuid(); int getGuid();
/** /**
* <code>bool JFEOCNJLCLG = 5;</code> * <code>bool is_transfer_to_main_house_point = 5;</code>
* @return The jFEOCNJLCLG. * @return The isTransferToMainHousePoint.
*/ */
boolean getJFEOCNJLCLG(); boolean getIsTransferToMainHousePoint();
/** /**
* <code>bool is_transfer_to_safe_point = 3;</code> * <code>bool is_transfer_to_safe_point = 3;</code>
@ -93,7 +93,7 @@ public final class HomeTransferReqOuterClass {
} }
case 40: { case 40: {
jFEOCNJLCLG_ = input.readBool(); isTransferToMainHousePoint_ = input.readBool();
break; break;
} }
case 96: { case 96: {
@ -144,15 +144,15 @@ public final class HomeTransferReqOuterClass {
return guid_; return guid_;
} }
public static final int JFEOCNJLCLG_FIELD_NUMBER = 5; public static final int IS_TRANSFER_TO_MAIN_HOUSE_POINT_FIELD_NUMBER = 5;
private boolean jFEOCNJLCLG_; private boolean isTransferToMainHousePoint_;
/** /**
* <code>bool JFEOCNJLCLG = 5;</code> * <code>bool is_transfer_to_main_house_point = 5;</code>
* @return The jFEOCNJLCLG. * @return The isTransferToMainHousePoint.
*/ */
@java.lang.Override @java.lang.Override
public boolean getJFEOCNJLCLG() { public boolean getIsTransferToMainHousePoint() {
return jFEOCNJLCLG_; return isTransferToMainHousePoint_;
} }
public static final int IS_TRANSFER_TO_SAFE_POINT_FIELD_NUMBER = 3; public static final int IS_TRANSFER_TO_SAFE_POINT_FIELD_NUMBER = 3;
@ -183,8 +183,8 @@ public final class HomeTransferReqOuterClass {
if (isTransferToSafePoint_ != false) { if (isTransferToSafePoint_ != false) {
output.writeBool(3, isTransferToSafePoint_); output.writeBool(3, isTransferToSafePoint_);
} }
if (jFEOCNJLCLG_ != false) { if (isTransferToMainHousePoint_ != false) {
output.writeBool(5, jFEOCNJLCLG_); output.writeBool(5, isTransferToMainHousePoint_);
} }
if (guid_ != 0) { if (guid_ != 0) {
output.writeUInt32(12, guid_); output.writeUInt32(12, guid_);
@ -202,9 +202,9 @@ public final class HomeTransferReqOuterClass {
size += com.google.protobuf.CodedOutputStream size += com.google.protobuf.CodedOutputStream
.computeBoolSize(3, isTransferToSafePoint_); .computeBoolSize(3, isTransferToSafePoint_);
} }
if (jFEOCNJLCLG_ != false) { if (isTransferToMainHousePoint_ != false) {
size += com.google.protobuf.CodedOutputStream size += com.google.protobuf.CodedOutputStream
.computeBoolSize(5, jFEOCNJLCLG_); .computeBoolSize(5, isTransferToMainHousePoint_);
} }
if (guid_ != 0) { if (guid_ != 0) {
size += com.google.protobuf.CodedOutputStream size += com.google.protobuf.CodedOutputStream
@ -227,8 +227,8 @@ public final class HomeTransferReqOuterClass {
if (getGuid() if (getGuid()
!= other.getGuid()) return false; != other.getGuid()) return false;
if (getJFEOCNJLCLG() if (getIsTransferToMainHousePoint()
!= other.getJFEOCNJLCLG()) return false; != other.getIsTransferToMainHousePoint()) return false;
if (getIsTransferToSafePoint() if (getIsTransferToSafePoint()
!= other.getIsTransferToSafePoint()) return false; != other.getIsTransferToSafePoint()) return false;
if (!unknownFields.equals(other.unknownFields)) return false; if (!unknownFields.equals(other.unknownFields)) return false;
@ -244,9 +244,9 @@ public final class HomeTransferReqOuterClass {
hash = (19 * hash) + getDescriptor().hashCode(); hash = (19 * hash) + getDescriptor().hashCode();
hash = (37 * hash) + GUID_FIELD_NUMBER; hash = (37 * hash) + GUID_FIELD_NUMBER;
hash = (53 * hash) + getGuid(); hash = (53 * hash) + getGuid();
hash = (37 * hash) + JFEOCNJLCLG_FIELD_NUMBER; hash = (37 * hash) + IS_TRANSFER_TO_MAIN_HOUSE_POINT_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getJFEOCNJLCLG()); getIsTransferToMainHousePoint());
hash = (37 * hash) + IS_TRANSFER_TO_SAFE_POINT_FIELD_NUMBER; hash = (37 * hash) + IS_TRANSFER_TO_SAFE_POINT_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getIsTransferToSafePoint()); getIsTransferToSafePoint());
@ -390,7 +390,7 @@ public final class HomeTransferReqOuterClass {
super.clear(); super.clear();
guid_ = 0; guid_ = 0;
jFEOCNJLCLG_ = false; isTransferToMainHousePoint_ = false;
isTransferToSafePoint_ = false; isTransferToSafePoint_ = false;
@ -421,7 +421,7 @@ public final class HomeTransferReqOuterClass {
public emu.grasscutter.net.proto.HomeTransferReqOuterClass.HomeTransferReq buildPartial() { public emu.grasscutter.net.proto.HomeTransferReqOuterClass.HomeTransferReq buildPartial() {
emu.grasscutter.net.proto.HomeTransferReqOuterClass.HomeTransferReq result = new emu.grasscutter.net.proto.HomeTransferReqOuterClass.HomeTransferReq(this); emu.grasscutter.net.proto.HomeTransferReqOuterClass.HomeTransferReq result = new emu.grasscutter.net.proto.HomeTransferReqOuterClass.HomeTransferReq(this);
result.guid_ = guid_; result.guid_ = guid_;
result.jFEOCNJLCLG_ = jFEOCNJLCLG_; result.isTransferToMainHousePoint_ = isTransferToMainHousePoint_;
result.isTransferToSafePoint_ = isTransferToSafePoint_; result.isTransferToSafePoint_ = isTransferToSafePoint_;
onBuilt(); onBuilt();
return result; return result;
@ -474,8 +474,8 @@ public final class HomeTransferReqOuterClass {
if (other.getGuid() != 0) { if (other.getGuid() != 0) {
setGuid(other.getGuid()); setGuid(other.getGuid());
} }
if (other.getJFEOCNJLCLG() != false) { if (other.getIsTransferToMainHousePoint() != false) {
setJFEOCNJLCLG(other.getJFEOCNJLCLG()); setIsTransferToMainHousePoint(other.getIsTransferToMainHousePoint());
} }
if (other.getIsTransferToSafePoint() != false) { if (other.getIsTransferToSafePoint() != false) {
setIsTransferToSafePoint(other.getIsTransferToSafePoint()); setIsTransferToSafePoint(other.getIsTransferToSafePoint());
@ -540,33 +540,33 @@ public final class HomeTransferReqOuterClass {
return this; return this;
} }
private boolean jFEOCNJLCLG_ ; private boolean isTransferToMainHousePoint_ ;
/** /**
* <code>bool JFEOCNJLCLG = 5;</code> * <code>bool is_transfer_to_main_house_point = 5;</code>
* @return The jFEOCNJLCLG. * @return The isTransferToMainHousePoint.
*/ */
@java.lang.Override @java.lang.Override
public boolean getJFEOCNJLCLG() { public boolean getIsTransferToMainHousePoint() {
return jFEOCNJLCLG_; return isTransferToMainHousePoint_;
} }
/** /**
* <code>bool JFEOCNJLCLG = 5;</code> * <code>bool is_transfer_to_main_house_point = 5;</code>
* @param value The jFEOCNJLCLG to set. * @param value The isTransferToMainHousePoint to set.
* @return This builder for chaining. * @return This builder for chaining.
*/ */
public Builder setJFEOCNJLCLG(boolean value) { public Builder setIsTransferToMainHousePoint(boolean value) {
jFEOCNJLCLG_ = value; isTransferToMainHousePoint_ = value;
onChanged(); onChanged();
return this; return this;
} }
/** /**
* <code>bool JFEOCNJLCLG = 5;</code> * <code>bool is_transfer_to_main_house_point = 5;</code>
* @return This builder for chaining. * @return This builder for chaining.
*/ */
public Builder clearJFEOCNJLCLG() { public Builder clearIsTransferToMainHousePoint() {
jFEOCNJLCLG_ = false; isTransferToMainHousePoint_ = false;
onChanged(); onChanged();
return this; return this;
} }
@ -668,10 +668,11 @@ public final class HomeTransferReqOuterClass {
descriptor; descriptor;
static { static {
java.lang.String[] descriptorData = { java.lang.String[] descriptorData = {
"\n\025HomeTransferReq.proto\"W\n\017HomeTransferR" + "\n\025HomeTransferReq.proto\"k\n\017HomeTransferR" +
"eq\022\014\n\004guid\030\014 \001(\r\022\023\n\013JFEOCNJLCLG\030\005 \001(\010\022!\n" + "eq\022\014\n\004guid\030\014 \001(\r\022\'\n\037is_transfer_to_main_" +
"\031is_transfer_to_safe_point\030\003 \001(\010B\033\n\031emu." + "house_point\030\005 \001(\010\022!\n\031is_transfer_to_safe" +
"grasscutter.net.protob\006proto3" "_point\030\003 \001(\010B\033\n\031emu.grasscutter.net.prot" +
"ob\006proto3"
}; };
descriptor = com.google.protobuf.Descriptors.FileDescriptor descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData, .internalBuildGeneratedFileFrom(descriptorData,
@ -682,7 +683,7 @@ public final class HomeTransferReqOuterClass {
internal_static_HomeTransferReq_fieldAccessorTable = new internal_static_HomeTransferReq_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_HomeTransferReq_descriptor, internal_static_HomeTransferReq_descriptor,
new java.lang.String[] { "Guid", "JFEOCNJLCLG", "IsTransferToSafePoint", }); new java.lang.String[] { "Guid", "IsTransferToMainHousePoint", "IsTransferToSafePoint", });
} }
// @@protoc_insertion_point(outer_class_scope) // @@protoc_insertion_point(outer_class_scope)

View File

@ -37,10 +37,10 @@ public final class TryEnterHomeReqOuterClass {
int getTargetPoint(); int getTargetPoint();
/** /**
* <code>bool JFEOCNJLCLG = 12;</code> * <code>bool is_transfer_to_main_house_point = 12;</code>
* @return The jFEOCNJLCLG. * @return The isTransferToMainHousePoint.
*/ */
boolean getJFEOCNJLCLG(); boolean getIsTransferToMainHousePoint();
} }
/** /**
* <pre> * <pre>
@ -109,7 +109,7 @@ public final class TryEnterHomeReqOuterClass {
} }
case 96: { case 96: {
jFEOCNJLCLG_ = input.readBool(); isTransferToMainHousePoint_ = input.readBool();
break; break;
} }
default: { default: {
@ -177,15 +177,15 @@ public final class TryEnterHomeReqOuterClass {
return targetPoint_; return targetPoint_;
} }
public static final int JFEOCNJLCLG_FIELD_NUMBER = 12; public static final int IS_TRANSFER_TO_MAIN_HOUSE_POINT_FIELD_NUMBER = 12;
private boolean jFEOCNJLCLG_; private boolean isTransferToMainHousePoint_;
/** /**
* <code>bool JFEOCNJLCLG = 12;</code> * <code>bool is_transfer_to_main_house_point = 12;</code>
* @return The jFEOCNJLCLG. * @return The isTransferToMainHousePoint.
*/ */
@java.lang.Override @java.lang.Override
public boolean getJFEOCNJLCLG() { public boolean getIsTransferToMainHousePoint() {
return jFEOCNJLCLG_; return isTransferToMainHousePoint_;
} }
private byte memoizedIsInitialized = -1; private byte memoizedIsInitialized = -1;
@ -211,8 +211,8 @@ public final class TryEnterHomeReqOuterClass {
if (isTransferToSafePoint_ != false) { if (isTransferToSafePoint_ != false) {
output.writeBool(9, isTransferToSafePoint_); output.writeBool(9, isTransferToSafePoint_);
} }
if (jFEOCNJLCLG_ != false) { if (isTransferToMainHousePoint_ != false) {
output.writeBool(12, jFEOCNJLCLG_); output.writeBool(12, isTransferToMainHousePoint_);
} }
unknownFields.writeTo(output); unknownFields.writeTo(output);
} }
@ -235,9 +235,9 @@ public final class TryEnterHomeReqOuterClass {
size += com.google.protobuf.CodedOutputStream size += com.google.protobuf.CodedOutputStream
.computeBoolSize(9, isTransferToSafePoint_); .computeBoolSize(9, isTransferToSafePoint_);
} }
if (jFEOCNJLCLG_ != false) { if (isTransferToMainHousePoint_ != false) {
size += com.google.protobuf.CodedOutputStream size += com.google.protobuf.CodedOutputStream
.computeBoolSize(12, jFEOCNJLCLG_); .computeBoolSize(12, isTransferToMainHousePoint_);
} }
size += unknownFields.getSerializedSize(); size += unknownFields.getSerializedSize();
memoizedSize = size; memoizedSize = size;
@ -260,8 +260,8 @@ public final class TryEnterHomeReqOuterClass {
!= other.getIsTransferToSafePoint()) return false; != other.getIsTransferToSafePoint()) return false;
if (getTargetPoint() if (getTargetPoint()
!= other.getTargetPoint()) return false; != other.getTargetPoint()) return false;
if (getJFEOCNJLCLG() if (getIsTransferToMainHousePoint()
!= other.getJFEOCNJLCLG()) return false; != other.getIsTransferToMainHousePoint()) return false;
if (!unknownFields.equals(other.unknownFields)) return false; if (!unknownFields.equals(other.unknownFields)) return false;
return true; return true;
} }
@ -280,9 +280,9 @@ public final class TryEnterHomeReqOuterClass {
getIsTransferToSafePoint()); getIsTransferToSafePoint());
hash = (37 * hash) + TARGET_POINT_FIELD_NUMBER; hash = (37 * hash) + TARGET_POINT_FIELD_NUMBER;
hash = (53 * hash) + getTargetPoint(); hash = (53 * hash) + getTargetPoint();
hash = (37 * hash) + JFEOCNJLCLG_FIELD_NUMBER; hash = (37 * hash) + IS_TRANSFER_TO_MAIN_HOUSE_POINT_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getJFEOCNJLCLG()); getIsTransferToMainHousePoint());
hash = (29 * hash) + unknownFields.hashCode(); hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash; memoizedHashCode = hash;
return hash; return hash;
@ -427,7 +427,7 @@ public final class TryEnterHomeReqOuterClass {
targetPoint_ = 0; targetPoint_ = 0;
jFEOCNJLCLG_ = false; isTransferToMainHousePoint_ = false;
return this; return this;
} }
@ -458,7 +458,7 @@ public final class TryEnterHomeReqOuterClass {
result.targetUid_ = targetUid_; result.targetUid_ = targetUid_;
result.isTransferToSafePoint_ = isTransferToSafePoint_; result.isTransferToSafePoint_ = isTransferToSafePoint_;
result.targetPoint_ = targetPoint_; result.targetPoint_ = targetPoint_;
result.jFEOCNJLCLG_ = jFEOCNJLCLG_; result.isTransferToMainHousePoint_ = isTransferToMainHousePoint_;
onBuilt(); onBuilt();
return result; return result;
} }
@ -516,8 +516,8 @@ public final class TryEnterHomeReqOuterClass {
if (other.getTargetPoint() != 0) { if (other.getTargetPoint() != 0) {
setTargetPoint(other.getTargetPoint()); setTargetPoint(other.getTargetPoint());
} }
if (other.getJFEOCNJLCLG() != false) { if (other.getIsTransferToMainHousePoint() != false) {
setJFEOCNJLCLG(other.getJFEOCNJLCLG()); setIsTransferToMainHousePoint(other.getIsTransferToMainHousePoint());
} }
this.mergeUnknownFields(other.unknownFields); this.mergeUnknownFields(other.unknownFields);
onChanged(); onChanged();
@ -641,33 +641,33 @@ public final class TryEnterHomeReqOuterClass {
return this; return this;
} }
private boolean jFEOCNJLCLG_ ; private boolean isTransferToMainHousePoint_ ;
/** /**
* <code>bool JFEOCNJLCLG = 12;</code> * <code>bool is_transfer_to_main_house_point = 12;</code>
* @return The jFEOCNJLCLG. * @return The isTransferToMainHousePoint.
*/ */
@java.lang.Override @java.lang.Override
public boolean getJFEOCNJLCLG() { public boolean getIsTransferToMainHousePoint() {
return jFEOCNJLCLG_; return isTransferToMainHousePoint_;
} }
/** /**
* <code>bool JFEOCNJLCLG = 12;</code> * <code>bool is_transfer_to_main_house_point = 12;</code>
* @param value The jFEOCNJLCLG to set. * @param value The isTransferToMainHousePoint to set.
* @return This builder for chaining. * @return This builder for chaining.
*/ */
public Builder setJFEOCNJLCLG(boolean value) { public Builder setIsTransferToMainHousePoint(boolean value) {
jFEOCNJLCLG_ = value; isTransferToMainHousePoint_ = value;
onChanged(); onChanged();
return this; return this;
} }
/** /**
* <code>bool JFEOCNJLCLG = 12;</code> * <code>bool is_transfer_to_main_house_point = 12;</code>
* @return This builder for chaining. * @return This builder for chaining.
*/ */
public Builder clearJFEOCNJLCLG() { public Builder clearIsTransferToMainHousePoint() {
jFEOCNJLCLG_ = false; isTransferToMainHousePoint_ = false;
onChanged(); onChanged();
return this; return this;
} }
@ -738,11 +738,11 @@ public final class TryEnterHomeReqOuterClass {
descriptor; descriptor;
static { static {
java.lang.String[] descriptorData = { java.lang.String[] descriptorData = {
"\n\025TryEnterHomeReq.proto\"s\n\017TryEnterHomeR" + "\n\025TryEnterHomeReq.proto\"\207\001\n\017TryEnterHome" +
"eq\022\022\n\ntarget_uid\030\004 \001(\r\022!\n\031is_transfer_to" + "Req\022\022\n\ntarget_uid\030\004 \001(\r\022!\n\031is_transfer_t" +
"_safe_point\030\t \001(\010\022\024\n\014target_point\030\005 \001(\r\022" + "o_safe_point\030\t \001(\010\022\024\n\014target_point\030\005 \001(\r" +
"\023\n\013JFEOCNJLCLG\030\014 \001(\010B\033\n\031emu.grasscutter." + "\022\'\n\037is_transfer_to_main_house_point\030\014 \001(" +
"net.protob\006proto3" "\010B\033\n\031emu.grasscutter.net.protob\006proto3"
}; };
descriptor = com.google.protobuf.Descriptors.FileDescriptor descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData, .internalBuildGeneratedFileFrom(descriptorData,
@ -753,7 +753,7 @@ public final class TryEnterHomeReqOuterClass {
internal_static_TryEnterHomeReq_fieldAccessorTable = new internal_static_TryEnterHomeReq_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_TryEnterHomeReq_descriptor, internal_static_TryEnterHomeReq_descriptor,
new java.lang.String[] { "TargetUid", "IsTransferToSafePoint", "TargetPoint", "JFEOCNJLCLG", }); new java.lang.String[] { "TargetUid", "IsTransferToSafePoint", "TargetPoint", "IsTransferToMainHousePoint", });
} }
// @@protoc_insertion_point(outer_class_scope) // @@protoc_insertion_point(outer_class_scope)

View File

@ -1,5 +1,8 @@
package emu.grasscutter; package emu.grasscutter;
import static emu.grasscutter.config.Configuration.SERVER;
import static emu.grasscutter.utils.lang.Language.translate;
import ch.qos.logback.classic.*; import ch.qos.logback.classic.*;
import emu.grasscutter.auth.*; import emu.grasscutter.auth.*;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
@ -18,20 +21,16 @@ import emu.grasscutter.tools.Tools;
import emu.grasscutter.utils.*; import emu.grasscutter.utils.*;
import emu.grasscutter.utils.lang.Language; import emu.grasscutter.utils.lang.Language;
import io.netty.util.concurrent.FastThreadLocalThread; import io.netty.util.concurrent.FastThreadLocalThread;
import java.io.*;
import java.util.Calendar;
import java.util.concurrent.*;
import javax.annotation.Nullable;
import lombok.*; import lombok.*;
import org.jline.reader.*; import org.jline.reader.*;
import org.jline.terminal.*; import org.jline.terminal.*;
import org.reflections.Reflections; import org.reflections.Reflections;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
import java.io.*;
import java.util.Calendar;
import java.util.concurrent.*;
import static emu.grasscutter.config.Configuration.SERVER;
import static emu.grasscutter.utils.lang.Language.translate;
public final class Grasscutter { public final class Grasscutter {
public static final File configFile = new File("./config.json"); public static final File configFile = new File("./config.json");
public static final Reflections reflector = new Reflections("emu.grasscutter"); public static final Reflections reflector = new Reflections("emu.grasscutter");
@ -211,11 +210,7 @@ public final class Grasscutter {
} }
} }
/** /** Utility method for starting the: - SDK server - Dispatch server */
* Utility method for starting the:
* - SDK server
* - Dispatch server
*/
public static void startDispatch() throws Exception { public static void startDispatch() throws Exception {
httpServer.start(); // Start the SDK/HTTP server. httpServer.start(); // Start the SDK/HTTP server.

View File

@ -4,9 +4,8 @@ import emu.grasscutter.game.Account;
import emu.grasscutter.server.http.objects.*; import emu.grasscutter.server.http.objects.*;
import emu.grasscutter.utils.DispatchUtils; import emu.grasscutter.utils.DispatchUtils;
import io.javalin.http.Context; import io.javalin.http.Context;
import lombok.*;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import lombok.*;
/** Defines an authenticator for the server. Can be changed by plugins. */ /** Defines an authenticator for the server. Can be changed by plugins. */
public interface AuthenticationSystem { public interface AuthenticationSystem {

View File

@ -1,13 +1,13 @@
package emu.grasscutter.auth; package emu.grasscutter.auth;
import static emu.grasscutter.config.Configuration.ACCOUNT;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.auth.DefaultAuthenticators.*; import emu.grasscutter.auth.DefaultAuthenticators.*;
import emu.grasscutter.game.Account; import emu.grasscutter.game.Account;
import emu.grasscutter.server.http.objects.*; import emu.grasscutter.server.http.objects.*;
import static emu.grasscutter.config.Configuration.ACCOUNT;
import static emu.grasscutter.utils.lang.Language.translate;
/** /**
* The default Grasscutter authentication implementation. Allows all users to access any account. * The default Grasscutter authentication implementation. Allows all users to access any account.
*/ */

View File

@ -1,5 +1,8 @@
package emu.grasscutter.auth; package emu.grasscutter.auth;
import static emu.grasscutter.config.Configuration.ACCOUNT;
import static emu.grasscutter.utils.lang.Language.translate;
import at.favre.lib.crypto.bcrypt.BCrypt; import at.favre.lib.crypto.bcrypt.BCrypt;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.Grasscutter.ServerRunMode; import emu.grasscutter.Grasscutter.ServerRunMode;
@ -10,16 +13,12 @@ import emu.grasscutter.server.dispatch.*;
import emu.grasscutter.server.http.objects.*; import emu.grasscutter.server.http.objects.*;
import emu.grasscutter.utils.*; import emu.grasscutter.utils.*;
import io.javalin.http.ContentType; import io.javalin.http.ContentType;
import javax.crypto.Cipher;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.security.KeyFactory; import java.security.KeyFactory;
import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPrivateKey;
import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.PKCS8EncodedKeySpec;
import java.util.concurrent.*; import java.util.concurrent.*;
import javax.crypto.Cipher;
import static emu.grasscutter.config.Configuration.ACCOUNT;
import static emu.grasscutter.utils.lang.Language.translate;
/** A class containing default authenticators. */ /** A class containing default authenticators. */
public final class DefaultAuthenticators { public final class DefaultAuthenticators {

View File

@ -1,13 +1,12 @@
package emu.grasscutter.command; package emu.grasscutter.command;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.event.game.ReceiveCommandFeedbackEvent; import emu.grasscutter.server.event.game.ReceiveCommandFeedbackEvent;
import java.util.*; import java.util.*;
import static emu.grasscutter.utils.lang.Language.translate;
public interface CommandHandler { public interface CommandHandler {
/** /**

View File

@ -1,9 +1,9 @@
package emu.grasscutter.command; package emu.grasscutter.command;
import javax.annotation.Nonnull;
import java.util.*; import java.util.*;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;
import java.util.regex.*; import java.util.regex.*;
import javax.annotation.Nonnull;
public class CommandHelpers { public class CommandHelpers {
public static final Pattern lvlRegex = public static final Pattern lvlRegex =

View File

@ -1,15 +1,14 @@
package emu.grasscutter.command; package emu.grasscutter.command;
import static emu.grasscutter.config.Configuration.SERVER;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.database.DatabaseHelper; import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.event.game.ExecuteCommandEvent; import emu.grasscutter.server.event.game.ExecuteCommandEvent;
import it.unimi.dsi.fastutil.objects.*; import it.unimi.dsi.fastutil.objects.*;
import org.reflections.Reflections;
import java.util.*; import java.util.*;
import org.reflections.Reflections;
import static emu.grasscutter.config.Configuration.SERVER;
@SuppressWarnings({"UnusedReturnValue", "unused"}) @SuppressWarnings({"UnusedReturnValue", "unused"})
public final class CommandMap { public final class CommandMap {

View File

@ -1,5 +1,7 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import at.favre.lib.crypto.bcrypt.BCrypt; import at.favre.lib.crypto.bcrypt.BCrypt;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
@ -7,12 +9,9 @@ import emu.grasscutter.config.Configuration;
import emu.grasscutter.database.*; import emu.grasscutter.database.*;
import emu.grasscutter.game.Account; import emu.grasscutter.game.Account;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "account", label = "account",
usage = { usage = {

View File

@ -5,7 +5,6 @@ import emu.grasscutter.data.GameData;
import emu.grasscutter.data.excels.achievement.AchievementData; import emu.grasscutter.data.excels.achievement.AchievementData;
import emu.grasscutter.game.achievement.*; import emu.grasscutter.game.achievement.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;

View File

@ -1,14 +1,13 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.packet.send.PacketServerAnnounceNotify; import emu.grasscutter.server.packet.send.PacketServerAnnounceNotify;
import java.util.*; import java.util.*;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "announce", label = "announce",
usage = {"<content>", "refresh", "(tpl|revoke) <templateId>"}, usage = {"<content>", "refresh", "(tpl|revoke) <templateId>"},

View File

@ -4,7 +4,6 @@ import emu.grasscutter.command.*;
import emu.grasscutter.game.Account; import emu.grasscutter.game.Account;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.game.GameSession; import emu.grasscutter.server.game.GameSession;
import java.util.List; import java.util.List;
@Command( @Command(

View File

@ -1,16 +1,15 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.command.CommandHelpers.*;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.inventory.*; import emu.grasscutter.game.inventory.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import lombok.Setter;
import java.util.*; import java.util.*;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Stream; import java.util.stream.Stream;
import lombok.Setter;
import static emu.grasscutter.command.CommandHelpers.*;
@Command( @Command(
label = "clear", label = "clear",

View File

@ -3,7 +3,6 @@ package emu.grasscutter.command.commands;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.List; import java.util.List;
@Command( @Command(

View File

@ -3,9 +3,8 @@ package emu.grasscutter.command.commands;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.packet.send.PacketCutsceneBeginNotify; import emu.grasscutter.server.packet.send.PacketCutsceneBeginNotify;
import lombok.val;
import java.util.List; import java.util.List;
import lombok.val;
@Command( @Command(
label = "cutscene", label = "cutscene",

View File

@ -3,7 +3,6 @@ package emu.grasscutter.command.commands;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.List; import java.util.List;
@Command( @Command(

View File

@ -1,12 +1,11 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "enter_dungeon", label = "enter_dungeon",
aliases = {"enterdungeon", "dungeon"}, aliases = {"enterdungeon", "dungeon"},

View File

@ -1,5 +1,8 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.command.CommandHelpers.*;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.entity.*; import emu.grasscutter.game.entity.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
@ -7,14 +10,10 @@ import emu.grasscutter.game.props.*;
import emu.grasscutter.game.world.Scene; import emu.grasscutter.game.world.Scene;
import emu.grasscutter.server.event.entity.EntityDamageEvent; import emu.grasscutter.server.event.entity.EntityDamageEvent;
import emu.grasscutter.server.packet.send.PacketEntityFightPropUpdateNotify; import emu.grasscutter.server.packet.send.PacketEntityFightPropUpdateNotify;
import lombok.Setter;
import java.util.*; import java.util.*;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import lombok.Setter;
import static emu.grasscutter.command.CommandHelpers.*;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "entity", label = "entity",

View File

@ -1,5 +1,8 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.GameConstants.*;
import static emu.grasscutter.command.CommandHelpers.*;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import emu.grasscutter.data.excels.ItemData; import emu.grasscutter.data.excels.ItemData;
@ -9,14 +12,10 @@ import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.inventory.*; import emu.grasscutter.game.inventory.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.props.*; import emu.grasscutter.game.props.*;
import lombok.Setter;
import java.util.*; import java.util.*;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import lombok.Setter;
import static emu.grasscutter.GameConstants.*;
import static emu.grasscutter.command.CommandHelpers.*;
@Command( @Command(
label = "give", label = "give",

View File

@ -1,13 +1,12 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.world.SceneGroupInstance; import emu.grasscutter.game.world.SceneGroupInstance;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "group", label = "group",
aliases = {"gr"}, aliases = {"gr"},

View File

@ -1,14 +1,13 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.props.FightProperty; import emu.grasscutter.game.props.FightProperty;
import emu.grasscutter.server.packet.send.*; import emu.grasscutter.server.packet.send.*;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "heal", label = "heal",
aliases = {"h"}, aliases = {"h"},

View File

@ -1,13 +1,12 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.Account; import emu.grasscutter.game.Account;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.*; import java.util.*;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "help", label = "help",
usage = {"[<command>]"}, usage = {"[<command>]"},

View File

@ -50,8 +50,8 @@ public final class InfoCommand implements CommandHandler {
Player Count: %d Player Count: %d
Questing Enabled: %s Questing Enabled: %s
Scripts Enabled: %s Scripts Enabled: %s
Operating System: %s
Using Fast Require: %s Using Fast Require: %s
Operating System: %s
Resource Information: %s Resource Information: %s
discord.gg/T5vZU6UyeG""" discord.gg/T5vZU6UyeG"""

View File

@ -2,7 +2,6 @@ package emu.grasscutter.command.commands;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.List; import java.util.List;
@Command( @Command(

View File

@ -1,14 +1,13 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.entity.*; import emu.grasscutter.game.entity.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.world.Scene; import emu.grasscutter.game.world.Scene;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "killall", label = "killall",
usage = {"[<sceneId>]"}, usage = {"[<sceneId>]"},

View File

@ -1,15 +1,14 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.entity.EntityAvatar; import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.props.*; import emu.grasscutter.game.props.*;
import emu.grasscutter.server.packet.send.*; import emu.grasscutter.server.packet.send.*;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "killCharacter", label = "killCharacter",
aliases = {"suicide", "kill"}, aliases = {"suicide", "kill"},

View File

@ -1,14 +1,13 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.utils.Utils; import emu.grasscutter.utils.Utils;
import java.util.*; import java.util.*;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "language", label = "language",
usage = {"[<language code>]"}, usage = {"[<language code>]"},

View File

@ -1,13 +1,12 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.*; import java.util.*;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "list", label = "list",
aliases = {"players"}, aliases = {"players"},

View File

@ -1,15 +1,14 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.command.Command.TargetRequirement; import emu.grasscutter.command.Command.TargetRequirement;
import emu.grasscutter.game.Account; import emu.grasscutter.game.Account;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "permission", label = "permission",
usage = {"add <permission>", "remove <permission>", "clear", "list"}, usage = {"add <permission>", "remove <permission>", "clear", "list"},

View File

@ -3,7 +3,6 @@ package emu.grasscutter.command.commands;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.world.Position; import emu.grasscutter.game.world.Position;
import java.util.List; import java.util.List;
@Command( @Command(

View File

@ -1,15 +1,14 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.quest.GameQuest; import emu.grasscutter.game.quest.GameQuest;
import emu.grasscutter.game.quest.enums.*; import emu.grasscutter.game.quest.enums.*;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "quest", label = "quest",
aliases = {"q"}, aliases = {"q"},

View File

@ -1,13 +1,12 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "reload", label = "reload",
permission = "server.reload", permission = "server.reload",

View File

@ -1,14 +1,13 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.entity.EntityAvatar; import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "resetConst", label = "resetConst",
aliases = {"resetconstellation"}, aliases = {"resetconstellation"},

View File

@ -1,12 +1,11 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "resetShopLimit", label = "resetShopLimit",
aliases = {"resetshop"}, aliases = {"resetshop"},

View File

@ -1,15 +1,14 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.database.DatabaseHelper; import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.mail.Mail; import emu.grasscutter.game.mail.Mail;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.*; import java.util.*;
import static emu.grasscutter.utils.lang.Language.translate;
@SuppressWarnings("ConstantConditions") @SuppressWarnings("ConstantConditions")
@Command( @Command(
label = "sendMail", label = "sendMail",

View File

@ -4,7 +4,6 @@ import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.command.Command.TargetRequirement; import emu.grasscutter.command.Command.TargetRequirement;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.List; import java.util.List;
@Command( @Command(

View File

@ -6,7 +6,6 @@ import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.world.*; import emu.grasscutter.game.world.*;
import emu.grasscutter.server.packet.send.PacketSceneEntityAppearNotify; import emu.grasscutter.server.packet.send.PacketSceneEntityAppearNotify;
import java.util.List; import java.util.List;
@Command( @Command(

View File

@ -1,15 +1,14 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.packet.send.PacketAvatarFetterDataNotify; import emu.grasscutter.server.packet.send.PacketAvatarFetterDataNotify;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "setFetterLevel", label = "setFetterLevel",
usage = {"<level>"}, usage = {"<level>"},

View File

@ -6,7 +6,6 @@ import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.props.PlayerProperty; import emu.grasscutter.game.props.PlayerProperty;
import emu.grasscutter.game.tower.TowerLevelRecord; import emu.grasscutter.game.tower.TowerLevelRecord;
import emu.grasscutter.server.packet.send.*; import emu.grasscutter.server.packet.send.*;
import java.util.*; import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
import java.util.stream.IntStream; import java.util.stream.IntStream;

View File

@ -6,7 +6,6 @@ import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.props.FightProperty; import emu.grasscutter.game.props.FightProperty;
import emu.grasscutter.server.packet.send.PacketEntityFightPropUpdateNotify; import emu.grasscutter.server.packet.send.PacketEntityFightPropUpdateNotify;
import java.util.*; import java.util.*;
@Command( @Command(

View File

@ -1,14 +1,13 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.world.Position; import emu.grasscutter.game.world.Position;
import emu.grasscutter.server.packet.send.PacketScenePlayerSoundNotify; import emu.grasscutter.server.packet.send.PacketScenePlayerSoundNotify;
import lombok.val;
import java.util.List; import java.util.List;
import lombok.val;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "sound", label = "sound",

View File

@ -1,5 +1,9 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.command.CommandHelpers.*;
import static emu.grasscutter.config.Configuration.GAME_OPTIONS;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.excels.*; import emu.grasscutter.data.excels.*;
@ -8,15 +12,10 @@ import emu.grasscutter.game.entity.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.props.*; import emu.grasscutter.game.props.*;
import emu.grasscutter.game.world.*; import emu.grasscutter.game.world.*;
import lombok.Setter;
import java.util.*; import java.util.*;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import lombok.Setter;
import static emu.grasscutter.command.CommandHelpers.*;
import static emu.grasscutter.config.Configuration.GAME_OPTIONS;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "spawn", label = "spawn",

View File

@ -1,13 +1,12 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "stop", label = "stop",
aliases = {"shutdown"}, aliases = {"shutdown"},

View File

@ -6,7 +6,6 @@ import emu.grasscutter.data.excels.avatar.AvatarSkillDepotData;
import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.utils.lang.Language; import emu.grasscutter.utils.lang.Language;
import java.util.List; import java.util.List;
@Command( @Command(

View File

@ -1,13 +1,12 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.config.Configuration.GAME_OPTIONS;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.packet.send.PacketChangeMpTeamAvatarRsp; import emu.grasscutter.server.packet.send.PacketChangeMpTeamAvatarRsp;
import java.util.*; import java.util.*;
import static emu.grasscutter.config.Configuration.GAME_OPTIONS;
@Command( @Command(
label = "team", label = "team",
usage = {"add <avatarId,...>", "(remove|set) [index|first|last|index-index,...]"}, usage = {"add <avatarId,...>", "(remove|set) [index|first|last|index-index,...]"},

View File

@ -1,13 +1,12 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.event.player.PlayerTeleportEvent.TeleportType; import emu.grasscutter.server.event.player.PlayerTeleportEvent.TeleportType;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "teleportAll", label = "teleportAll",
aliases = {"tpall"}, aliases = {"tpall"},

View File

@ -1,14 +1,13 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.world.Position; import emu.grasscutter.game.world.Position;
import emu.grasscutter.server.event.player.PlayerTeleportEvent.TeleportType; import emu.grasscutter.server.event.player.PlayerTeleportEvent.TeleportType;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "teleport", label = "teleport",
aliases = {"tp"}, aliases = {"tp"},

View File

@ -1,16 +1,15 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.activity.trialavatar.*; import emu.grasscutter.game.activity.trialavatar.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.props.ActivityType; import emu.grasscutter.game.props.ActivityType;
import emu.grasscutter.server.packet.send.PacketActivityInfoNotify; import emu.grasscutter.server.packet.send.PacketActivityInfoNotify;
import emu.grasscutter.utils.JsonUtils; import emu.grasscutter.utils.JsonUtils;
import java.util.List; import java.util.List;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "trialAvatarActivity", label = "trialAvatarActivity",
aliases = {"taa"}, aliases = {"taa"},

View File

@ -3,7 +3,6 @@ package emu.grasscutter.command.commands;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.Account; import emu.grasscutter.game.Account;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import java.util.List; import java.util.List;
@Command( @Command(

View File

@ -1,14 +1,13 @@
package emu.grasscutter.command.commands; package emu.grasscutter.command.commands;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.game.player.*; import emu.grasscutter.game.player.*;
import emu.grasscutter.server.packet.send.PacketOpenStateChangeNotify; import emu.grasscutter.server.packet.send.PacketOpenStateChangeNotify;
import java.util.*; import java.util.*;
import static emu.grasscutter.utils.lang.Language.translate;
@Command( @Command(
label = "unlockall", label = "unlockall",
usage = {""}, usage = {""},

View File

@ -3,7 +3,6 @@ package emu.grasscutter.command.commands;
import emu.grasscutter.command.*; import emu.grasscutter.command.*;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.props.ClimateType; import emu.grasscutter.game.props.ClimateType;
import java.util.List; import java.util.List;
@Command( @Command(

View File

@ -68,7 +68,7 @@ public class ConfigContainer {
} }
}); updated.version = version(); }); updated.version = version();
try { // Save configuration & reload. try { // Save configuration and reload.
Grasscutter.saveConfig(updated); Grasscutter.saveConfig(updated);
Grasscutter.loadConfig(); Grasscutter.loadConfig();
} catch (Exception exception) { } catch (Exception exception) {

View File

@ -1,12 +1,11 @@
package emu.grasscutter.config; package emu.grasscutter.config;
import emu.grasscutter.utils.FileUtils; import static emu.grasscutter.Grasscutter.config;
import emu.grasscutter.utils.FileUtils;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.Locale; import java.util.Locale;
import static emu.grasscutter.Grasscutter.config;
/** /**
* A data container for the server's configuration. * A data container for the server's configuration.
* *

View File

@ -4,11 +4,10 @@ import emu.grasscutter.Grasscutter;
import emu.grasscutter.server.http.handlers.GachaHandler; import emu.grasscutter.server.http.handlers.GachaHandler;
import emu.grasscutter.tools.Tools; import emu.grasscutter.tools.Tools;
import emu.grasscutter.utils.*; import emu.grasscutter.utils.*;
import lombok.val;
import java.io.*; import java.io.*;
import java.nio.file.*; import java.nio.file.*;
import java.util.*; import java.util.*;
import lombok.val;
public class DataLoader { public class DataLoader {

View File

@ -4,34 +4,54 @@ import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.binout.*; import emu.grasscutter.data.binout.*;
import emu.grasscutter.data.binout.config.*; import emu.grasscutter.data.binout.config.*;
import emu.grasscutter.data.binout.routes.Route; import emu.grasscutter.data.binout.routes.Route;
import emu.grasscutter.data.custom.*; import emu.grasscutter.data.custom.TrialAvatarActivityCustomData;
import emu.grasscutter.data.custom.TrialAvatarCustomData;
import emu.grasscutter.data.excels.*; import emu.grasscutter.data.excels.*;
import emu.grasscutter.data.excels.achievement.*; import emu.grasscutter.data.excels.achievement.AchievementData;
import emu.grasscutter.data.excels.activity.*; import emu.grasscutter.data.excels.achievement.AchievementGoalData;
import emu.grasscutter.data.excels.activity.ActivityCondExcelConfigData;
import emu.grasscutter.data.excels.activity.ActivityData;
import emu.grasscutter.data.excels.activity.ActivityShopData;
import emu.grasscutter.data.excels.activity.ActivityWatcherData;
import emu.grasscutter.data.excels.avatar.*; import emu.grasscutter.data.excels.avatar.*;
import emu.grasscutter.data.excels.codex.*; import emu.grasscutter.data.excels.codex.*;
import emu.grasscutter.data.excels.dungeon.*; import emu.grasscutter.data.excels.dungeon.*;
import emu.grasscutter.data.excels.giving.*; import emu.grasscutter.data.excels.giving.GivingData;
import emu.grasscutter.data.excels.monster.*; import emu.grasscutter.data.excels.giving.GivingGroupData;
import emu.grasscutter.data.excels.quest.*; import emu.grasscutter.data.excels.monster.MonsterCurveData;
import emu.grasscutter.data.excels.reliquary.*; import emu.grasscutter.data.excels.monster.MonsterData;
import emu.grasscutter.data.excels.monster.MonsterDescribeData;
import emu.grasscutter.data.excels.monster.MonsterSpecialNameData;
import emu.grasscutter.data.excels.quest.QuestData;
import emu.grasscutter.data.excels.quest.QuestGlobalVarData;
import emu.grasscutter.data.excels.reliquary.ReliquaryAffixData;
import emu.grasscutter.data.excels.reliquary.ReliquaryLevelData;
import emu.grasscutter.data.excels.reliquary.ReliquaryMainPropData;
import emu.grasscutter.data.excels.reliquary.ReliquarySetData;
import emu.grasscutter.data.excels.scene.*; import emu.grasscutter.data.excels.scene.*;
import emu.grasscutter.data.excels.tower.*; import emu.grasscutter.data.excels.tower.TowerFloorData;
import emu.grasscutter.data.excels.tower.TowerLevelData;
import emu.grasscutter.data.excels.tower.TowerScheduleData;
import emu.grasscutter.data.excels.trial.*; import emu.grasscutter.data.excels.trial.*;
import emu.grasscutter.data.excels.weapon.*; import emu.grasscutter.data.excels.weapon.WeaponCurveData;
import emu.grasscutter.data.excels.world.*; import emu.grasscutter.data.excels.weapon.WeaponLevelData;
import emu.grasscutter.data.excels.weapon.WeaponPromoteData;
import emu.grasscutter.data.excels.world.WeatherData;
import emu.grasscutter.data.excels.world.WorldAreaData;
import emu.grasscutter.data.excels.world.WorldLevelData;
import emu.grasscutter.data.server.*; import emu.grasscutter.data.server.*;
import emu.grasscutter.game.dungeons.DungeonDropEntry; import emu.grasscutter.game.dungeons.DungeonDropEntry;
import emu.grasscutter.game.quest.*; import emu.grasscutter.game.quest.QuestEncryptionKey;
import emu.grasscutter.game.quest.RewindData;
import emu.grasscutter.game.quest.TeleportData;
import emu.grasscutter.game.quest.enums.QuestCond; import emu.grasscutter.game.quest.enums.QuestCond;
import emu.grasscutter.game.world.GroupReplacementData; import emu.grasscutter.game.world.GroupReplacementData;
import emu.grasscutter.utils.Utils; import emu.grasscutter.utils.Utils;
import it.unimi.dsi.fastutil.ints.*; import it.unimi.dsi.fastutil.ints.*;
import lombok.*;
import javax.annotation.Nullable;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.*; import java.util.*;
import javax.annotation.Nullable;
import lombok.*;
@SuppressWarnings({"unused", "MismatchedQueryAndUpdateOfCollection"}) @SuppressWarnings({"unused", "MismatchedQueryAndUpdateOfCollection"})
public final class GameData { public final class GameData {
@ -258,6 +278,10 @@ public final class GameData {
private static final Int2ObjectMap<GuideTriggerData> guideTriggerDataMap = private static final Int2ObjectMap<GuideTriggerData> guideTriggerDataMap =
new Int2ObjectOpenHashMap<>(); new Int2ObjectOpenHashMap<>();
@Getter
private static final Int2ObjectMap<HomeWorldAnimalData> homeWorldAnimalDataMap =
new Int2ObjectOpenHashMap<>();
@Getter @Getter
private static final Int2ObjectMap<HomeWorldBgmData> homeWorldBgmDataMap = private static final Int2ObjectMap<HomeWorldBgmData> homeWorldBgmDataMap =
new Int2ObjectOpenHashMap<>(); new Int2ObjectOpenHashMap<>();

View File

@ -7,9 +7,8 @@ import emu.grasscutter.game.managers.blossom.BlossomConfig;
import emu.grasscutter.game.world.SpawnDataEntry; import emu.grasscutter.game.world.SpawnDataEntry;
import emu.grasscutter.utils.objects.WeightedList; import emu.grasscutter.utils.objects.WeightedList;
import it.unimi.dsi.fastutil.ints.*; import it.unimi.dsi.fastutil.ints.*;
import lombok.*;
import java.util.*; import java.util.*;
import lombok.*;
public class GameDepot { public class GameDepot {
public static final int[] BLOCK_SIZE = new int[] {50, 500}; // Scales public static final int[] BLOCK_SIZE = new int[] {50, 500}; // Scales

View File

@ -1,5 +1,8 @@
package emu.grasscutter.data; package emu.grasscutter.data;
import static emu.grasscutter.utils.FileUtils.*;
import static emu.grasscutter.utils.lang.Language.translate;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
@ -20,9 +23,6 @@ import emu.grasscutter.scripts.*;
import emu.grasscutter.utils.*; import emu.grasscutter.utils.*;
import it.unimi.dsi.fastutil.Pair; import it.unimi.dsi.fastutil.Pair;
import it.unimi.dsi.fastutil.ints.*; import it.unimi.dsi.fastutil.ints.*;
import lombok.*;
import javax.script.*;
import java.io.*; import java.io.*;
import java.nio.file.*; import java.nio.file.*;
import java.util.*; import java.util.*;
@ -30,9 +30,8 @@ import java.util.Map.Entry;
import java.util.concurrent.*; import java.util.concurrent.*;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.*; import java.util.stream.*;
import javax.script.*;
import static emu.grasscutter.utils.FileUtils.*; import lombok.*;
import static emu.grasscutter.utils.lang.Language.translate;
public final class ResourceLoader { public final class ResourceLoader {

View File

@ -3,7 +3,6 @@ package emu.grasscutter.data.binout;
import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction; import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction;
import emu.grasscutter.game.ability.AbilityLocalIdGenerator; import emu.grasscutter.game.ability.AbilityLocalIdGenerator;
import emu.grasscutter.game.ability.AbilityLocalIdGenerator.ConfigAbilitySubContainerType; import emu.grasscutter.game.ability.AbilityLocalIdGenerator.ConfigAbilitySubContainerType;
import java.util.*; import java.util.*;
public class AbilityData { public class AbilityData {

View File

@ -3,7 +3,6 @@ package emu.grasscutter.data.binout;
import com.google.gson.*; import com.google.gson.*;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import java.io.Serializable; import java.io.Serializable;
import java.util.*; import java.util.*;

View File

@ -3,9 +3,8 @@ package emu.grasscutter.data.binout;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import emu.grasscutter.data.common.DynamicFloat; import emu.grasscutter.data.common.DynamicFloat;
import emu.grasscutter.game.props.ElementType; import emu.grasscutter.game.props.ElementType;
import lombok.ToString;
import java.io.Serializable; import java.io.Serializable;
import lombok.ToString;
public class AbilityModifier implements Serializable { public class AbilityModifier implements Serializable {
private static final long serialVersionUID = -2001232313615923575L; private static final long serialVersionUID = -2001232313615923575L;

View File

@ -1,7 +1,6 @@
package emu.grasscutter.data.binout; package emu.grasscutter.data.binout;
import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction; import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction;
import java.util.*; import java.util.*;
public class AbilityModifierEntry { public class AbilityModifierEntry {

View File

@ -1,10 +1,9 @@
package emu.grasscutter.data.binout; package emu.grasscutter.data.binout;
import javax.annotation.Nullable;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
import javax.annotation.Nullable;
@Data @Data
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
public class ConfigGadget { public class ConfigGadget {

View File

@ -2,11 +2,10 @@ package emu.grasscutter.data.binout;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import emu.grasscutter.game.world.Position; import emu.grasscutter.game.world.Position;
import java.util.List;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
import java.util.List;
@Data @Data
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
public class HomeworldDefaultSaveData { public class HomeworldDefaultSaveData {

View File

@ -3,9 +3,8 @@ package emu.grasscutter.data.binout;
import dev.morphia.annotations.Entity; import dev.morphia.annotations.Entity;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.game.quest.enums.QuestType; import emu.grasscutter.game.quest.enums.QuestType;
import lombok.Data;
import java.util.*; import java.util.*;
import lombok.Data;
public class MainQuestData { public class MainQuestData {
private int id; private int id;

View File

@ -1,7 +1,6 @@
package emu.grasscutter.data.binout; package emu.grasscutter.data.binout;
import emu.grasscutter.data.ResourceLoader.OpenConfigData; import emu.grasscutter.data.ResourceLoader.OpenConfigData;
import java.util.*; import java.util.*;
public class OpenConfigEntry { public class OpenConfigEntry {

View File

@ -3,11 +3,10 @@ package emu.grasscutter.data.binout;
import com.github.davidmoten.rtreemulti.RTree; import com.github.davidmoten.rtreemulti.RTree;
import com.github.davidmoten.rtreemulti.geometry.Geometry; import com.github.davidmoten.rtreemulti.geometry.Geometry;
import emu.grasscutter.scripts.data.SceneGroup; import emu.grasscutter.scripts.data.SceneGroup;
import lombok.*;
import lombok.experimental.FieldDefaults;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import lombok.*;
import lombok.experimental.FieldDefaults;
@Data @Data
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)

View File

@ -2,11 +2,10 @@ package emu.grasscutter.data.binout;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import emu.grasscutter.game.world.Position; import emu.grasscutter.game.world.Position;
import java.util.List;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
import java.util.List;
@Data @Data
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
public class SceneNpcBornEntry { public class SceneNpcBornEntry {

View File

@ -1,9 +1,8 @@
package emu.grasscutter.data.binout; package emu.grasscutter.data.binout;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.util.*; import java.util.*;
import lombok.Data;
@Data @Data
public class ScriptSceneData { public class ScriptSceneData {

View File

@ -2,7 +2,6 @@ package emu.grasscutter.data.binout;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import emu.grasscutter.data.common.DynamicFloat; import emu.grasscutter.data.common.DynamicFloat;
import java.io.Serializable; import java.io.Serializable;
public class TalentData implements Serializable { public class TalentData implements Serializable {

View File

@ -1,10 +1,9 @@
package emu.grasscutter.data.binout.config; package emu.grasscutter.data.binout.config;
import emu.grasscutter.data.binout.config.fields.*; import emu.grasscutter.data.binout.config.fields.*;
import lombok.Data;
import javax.annotation.Nullable;
import java.util.Collection; import java.util.Collection;
import javax.annotation.Nullable;
import lombok.Data;
@Data @Data
public class ConfigEntityBase { public class ConfigEntityBase {

View File

@ -1,8 +1,7 @@
package emu.grasscutter.data.binout.config; package emu.grasscutter.data.binout.config;
import lombok.Data;
import java.util.List; import java.util.List;
import lombok.Data;
@Data @Data
public class ConfigGlobalCombat { public class ConfigGlobalCombat {

View File

@ -1,9 +1,8 @@
package emu.grasscutter.data.binout.config; package emu.grasscutter.data.binout.config;
import emu.grasscutter.data.binout.config.fields.ConfigAbilityData; import emu.grasscutter.data.binout.config.fields.ConfigAbilityData;
import lombok.Getter;
import java.util.List; import java.util.List;
import lombok.Getter;
public class ConfigLevelEntity { public class ConfigLevelEntity {

View File

@ -1,8 +1,7 @@
package emu.grasscutter.data.binout.config.fields; package emu.grasscutter.data.binout.config.fields;
import lombok.Data;
import java.util.*; import java.util.*;
import lombok.Data;
/** Contains information about the entities SGVs */ /** Contains information about the entities SGVs */
@Data @Data

View File

@ -1,10 +1,9 @@
package emu.grasscutter.data.binout.routes; package emu.grasscutter.data.binout.routes;
import javax.annotation.Nullable;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
import javax.annotation.Nullable;
@Data @Data
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
public class SceneRoutes { public class SceneRoutes {

View File

@ -4,9 +4,8 @@ import emu.grasscutter.data.excels.ProudSkillData;
import emu.grasscutter.game.ability.Ability; import emu.grasscutter.game.ability.Ability;
import it.unimi.dsi.fastutil.floats.FloatArrayList; import it.unimi.dsi.fastutil.floats.FloatArrayList;
import it.unimi.dsi.fastutil.objects.*; import it.unimi.dsi.fastutil.objects.*;
import lombok.*;
import java.util.*; import java.util.*;
import lombok.*;
@Getter @Getter
public class DynamicFloat { public class DynamicFloat {

View File

@ -1,9 +1,8 @@
package emu.grasscutter.data.custom; package emu.grasscutter.data.custom;
import emu.grasscutter.data.common.BaseTrialActivityData; import emu.grasscutter.data.common.BaseTrialActivityData;
import lombok.Data;
import java.util.List; import java.util.List;
import lombok.Data;
@Data @Data
public class TrialAvatarActivityCustomData implements BaseTrialActivityData { public class TrialAvatarActivityCustomData implements BaseTrialActivityData {

View File

@ -1,8 +1,7 @@
package emu.grasscutter.data.custom; package emu.grasscutter.data.custom;
import lombok.Data;
import java.util.List; import java.util.List;
import lombok.Data;
@Data @Data
public class TrialAvatarCustomData { public class TrialAvatarCustomData {

View File

@ -1,9 +1,8 @@
package emu.grasscutter.data.excels; package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import lombok.Getter;
import java.util.List; import java.util.List;
import lombok.Getter;
@Getter @Getter
@ResourceType(name = "BargainExcelConfigData.json") @ResourceType(name = "BargainExcelConfigData.json")

View File

@ -3,10 +3,9 @@ package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import emu.grasscutter.game.props.*; import emu.grasscutter.game.props.*;
import emu.grasscutter.net.proto.BattlePassMissionOuterClass.BattlePassMission.MissionStatus; import emu.grasscutter.net.proto.BattlePassMissionOuterClass.BattlePassMission.MissionStatus;
import lombok.Getter;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import lombok.Getter;
@ResourceType(name = {"BattlePassMissionExcelConfigData.json"}) @ResourceType(name = {"BattlePassMissionExcelConfigData.json"})
@Getter @Getter

View File

@ -1,9 +1,8 @@
package emu.grasscutter.data.excels; package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import lombok.Getter;
import java.util.List; import java.util.List;
import lombok.Getter;
@ResourceType(name = "BattlePassRewardExcelConfigData.json") @ResourceType(name = "BattlePassRewardExcelConfigData.json")
@Getter @Getter

View File

@ -1,9 +1,8 @@
package emu.grasscutter.data.excels; package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import lombok.Getter;
import java.util.List; import java.util.List;
import lombok.Getter;
@ResourceType(name = "BlossomRefreshExcelConfigData.json") @ResourceType(name = "BlossomRefreshExcelConfigData.json")
@Getter @Getter

View File

@ -1,9 +1,8 @@
package emu.grasscutter.data.excels; package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import lombok.Getter;
import java.util.*; import java.util.*;
import lombok.Getter;
@Getter @Getter
@ResourceType(name = "ChapterExcelConfigData.json") @ResourceType(name = "ChapterExcelConfigData.json")

View File

@ -1,11 +1,10 @@
package emu.grasscutter.data.excels; package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import java.util.List;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
import java.util.List;
@ResourceType(name = "CityConfigData.json", loadPriority = ResourceType.LoadPriority.HIGH) @ResourceType(name = "CityConfigData.json", loadPriority = ResourceType.LoadPriority.HIGH)
@Getter @Getter
@Setter @Setter

View File

@ -2,7 +2,6 @@ package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import emu.grasscutter.data.common.ItemParamData; import emu.grasscutter.data.common.ItemParamData;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@ -3,9 +3,8 @@ package emu.grasscutter.data.excels;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import emu.grasscutter.data.common.ItemParamData; import emu.grasscutter.data.common.ItemParamData;
import lombok.Getter;
import java.util.List; import java.util.List;
import lombok.Getter;
@ResourceType( @ResourceType(
name = {"CompoundExcelConfigData.json"}, name = {"CompoundExcelConfigData.json"},

View File

@ -3,9 +3,8 @@ package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import emu.grasscutter.data.ResourceType.LoadPriority; import emu.grasscutter.data.ResourceType.LoadPriority;
import emu.grasscutter.data.common.ItemParamData; import emu.grasscutter.data.common.ItemParamData;
import lombok.Getter;
import java.util.List; import java.util.List;
import lombok.Getter;
@ResourceType( @ResourceType(
name = {"CookRecipeExcelConfigData.json"}, name = {"CookRecipeExcelConfigData.json"},

View File

@ -3,9 +3,8 @@ package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import emu.grasscutter.data.ResourceType.LoadPriority; import emu.grasscutter.data.ResourceType.LoadPriority;
import emu.grasscutter.data.common.DropItemData; import emu.grasscutter.data.common.DropItemData;
import lombok.Getter;
import java.util.List; import java.util.List;
import lombok.Getter;
@ResourceType( @ResourceType(
name = {"DropTableExcelConfigData.json", "DropSubTableExcelConfigData.json"}, name = {"DropTableExcelConfigData.json", "DropSubTableExcelConfigData.json"},

View File

@ -2,7 +2,6 @@ package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import emu.grasscutter.data.common.ItemParamData; import emu.grasscutter.data.common.ItemParamData;
import java.util.List; import java.util.List;
@ResourceType( @ResourceType(

View File

@ -2,7 +2,6 @@ package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import emu.grasscutter.data.common.FightPropData; import emu.grasscutter.data.common.FightPropData;
import java.util.ArrayList; import java.util.ArrayList;
@ResourceType(name = "EquipAffixExcelConfigData.json") @ResourceType(name = "EquipAffixExcelConfigData.json")

View File

@ -3,7 +3,6 @@ package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import emu.grasscutter.data.ResourceType.LoadPriority; import emu.grasscutter.data.ResourceType.LoadPriority;
import emu.grasscutter.data.common.OpenCondData; import emu.grasscutter.data.common.OpenCondData;
import java.util.List; import java.util.List;
@ResourceType( @ResourceType(

View File

@ -3,9 +3,8 @@ package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import emu.grasscutter.data.ResourceType.LoadPriority; import emu.grasscutter.data.ResourceType.LoadPriority;
import emu.grasscutter.data.common.ItemParamData; import emu.grasscutter.data.common.ItemParamData;
import lombok.Getter;
import java.util.List; import java.util.List;
import lombok.Getter;
@ResourceType( @ResourceType(
name = {"ForgeExcelConfigData.json"}, name = {"ForgeExcelConfigData.json"},

View File

@ -2,11 +2,10 @@ package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import emu.grasscutter.data.common.ItemParamData; import emu.grasscutter.data.common.ItemParamData;
import java.util.List;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
import java.util.List;
@Getter @Getter
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
@ResourceType(name = {"FurnitureMakeExcelConfigData.json"}) @ResourceType(name = {"FurnitureMakeExcelConfigData.json"})

View File

@ -0,0 +1,22 @@
package emu.grasscutter.data.excels;
import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.experimental.FieldDefaults;
@ResourceType(name = "HomeworldAnimalExcelConfigData.json")
@FieldDefaults(level = AccessLevel.PRIVATE)
@Getter
public class HomeWorldAnimalData extends GameResource {
int furnitureID;
int monsterID;
int isRebirth;
int rebirthCD;
@Override
public int getId() {
return this.furnitureID;
}
}

View File

@ -9,11 +9,16 @@ import lombok.experimental.FieldDefaults;
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
@ResourceType(name = {"HomeWorldBgmExcelConfigData.json"}) @ResourceType(name = {"HomeWorldBgmExcelConfigData.json"})
public class HomeWorldBgmData extends GameResource { public class HomeWorldBgmData extends GameResource {
@SerializedName(value = "homeBgmId", alternate = {"MJJENLEBKEF"}) @SerializedName(
value = "homeBgmId",
alternate = {"MJJENLEBKEF"})
private int homeBgmId; private int homeBgmId;
@SerializedName(value = "isDefaultUnlock", alternate = {"GBEONILEOBA"}) @SerializedName(
value = "isDefaultUnlock",
alternate = {"GBEONILEOBA"})
private boolean isDefaultUnlock; private boolean isDefaultUnlock;
private boolean NBIDHGOOCKD; private boolean NBIDHGOOCKD;
private boolean JJMNJMCCOKP; private boolean JJMNJMCCOKP;
private int cityId; private int cityId;

View File

@ -1,11 +1,10 @@
package emu.grasscutter.data.excels; package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import java.util.List;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
import java.util.List;
@Getter @Getter
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
@ResourceType(name = {"HomeworldLevelExcelConfigData.json"}) @ResourceType(name = {"HomeworldLevelExcelConfigData.json"})

View File

@ -3,27 +3,42 @@ package emu.grasscutter.data.excels;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import emu.grasscutter.game.inventory.ItemQuality; import emu.grasscutter.game.inventory.ItemQuality;
import java.util.List;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
import java.util.List;
@ResourceType(name = "HomeWorldNPCExcelConfigData.json") @ResourceType(name = "HomeWorldNPCExcelConfigData.json")
@Getter @Getter
@FieldDefaults(level = AccessLevel.PRIVATE) @FieldDefaults(level = AccessLevel.PRIVATE)
public class HomeWorldNPCData extends GameResource { public class HomeWorldNPCData extends GameResource {
int furnitureID; int furnitureID;
int avatarID; int avatarID;
@SerializedName(value = "npcId", alternate = {"HDLJMOGHICL"})
@SerializedName(
value = "npcId",
alternate = {"HDLJMOGHICL"})
int npcId; int npcId;
@SerializedName(value = "talkIdList", alternate = {"CKMCLCNIBLD"})
@SerializedName(
value = "talkIdList",
alternate = {"CKMCLCNIBLD"})
List<Integer> talkIdList; List<Integer> talkIdList;
@SerializedName(value = "isTalkRandomly", alternate = {"HPJMMEBNMAI"})
@SerializedName(
value = "isTalkRandomly",
alternate = {"HPJMMEBNMAI"})
boolean isTalkRandomly; boolean isTalkRandomly;
@SerializedName(value = "npcQuality", alternate = {"BHJOIKFHIBD"})
@SerializedName(
value = "npcQuality",
alternate = {"BHJOIKFHIBD"})
ItemQuality npcQuality; ItemQuality npcQuality;
@SerializedName(value = "titleTextMapHash", alternate = {"GNMAIEGCFPO"})
@SerializedName(
value = "titleTextMapHash",
alternate = {"GNMAIEGCFPO"})
long titleTextMapHash; long titleTextMapHash;
long descTextMapHash; long descTextMapHash;
@Override @Override

View File

@ -1,11 +1,10 @@
package emu.grasscutter.data.excels; package emu.grasscutter.data.excels;
import emu.grasscutter.data.*; import emu.grasscutter.data.*;
import java.util.List;
import lombok.*; import lombok.*;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
import java.util.List;
@ResourceType( @ResourceType(
name = "InvestigationMonsterConfigData.json", name = "InvestigationMonsterConfigData.json",
loadPriority = ResourceType.LoadPriority.LOW) loadPriority = ResourceType.LoadPriority.LOW)

View File

@ -8,9 +8,8 @@ import emu.grasscutter.game.inventory.*;
import emu.grasscutter.game.props.*; import emu.grasscutter.game.props.*;
import emu.grasscutter.game.props.ItemUseAction.ItemUseAction; import emu.grasscutter.game.props.ItemUseAction.ItemUseAction;
import it.unimi.dsi.fastutil.ints.*; import it.unimi.dsi.fastutil.ints.*;
import lombok.Getter;
import java.util.*; import java.util.*;
import lombok.Getter;
@ResourceType( @ResourceType(
name = { name = {

Some files were not shown because too many files have changed in this diff Show More