mirror of
https://github.com/Melledy/Grasscutter.git
synced 2024-11-26 12:08:17 +00:00
Merge branch 'development' into unstable
# Conflicts: # src/generated/main/java/emu/grasscutter/net/proto/ResinChangeNotifyOuterClass.java # src/main/java/emu/grasscutter/game/managers/ResinManager.java # src/main/java/emu/grasscutter/game/player/Player.java # src/main/java/emu/grasscutter/game/props/ItemUseAction/ItemUseAddItem.java # src/main/java/emu/grasscutter/server/packet/send/PacketResinChangeNotify.java
This commit is contained in:
commit
7ad6c892ce
4
.github/PULL_REQUEST_TEMPLATE.md
vendored
4
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,7 +1,7 @@
|
|||||||
## Description
|
## Description
|
||||||
|
|
||||||
Please carefully read the [Contributing note](https://github.com/Grasscutters/Grasscutter/blob/stable/CONTRIBUTING.md) and [Code of conduct](https://github.com/Grasscutters/Grasscutter/blob/development/CODE_OF_CONDUCT.md) before making any pull requests.
|
Please carefully read the [Contributing note](https://github.com/Grasscutters/Grasscutter/blob/stable/CONTRIBUTING.md) and [Code of conduct](https://github.com/Grasscutters/Grasscutter/blob/development/CODE_OF_CONDUCT.md) before making any pull requests.
|
||||||
And, **Do not make a pull request to merge into stable unless it is a hotfix. Use the development branch instead.**
|
|
||||||
## Issues fixed by this PR
|
## Issues fixed by this PR
|
||||||
|
|
||||||
<!--- Put the links of issues that may be fixed by this PR here (if any). -->
|
<!--- Put the links of issues that may be fixed by this PR here (if any). -->
|
||||||
@ -19,4 +19,4 @@ And, **Do not make a pull request to merge into stable unless it is a hotfix. Us
|
|||||||
- [ ] My code follows the style guidelines of this project
|
- [ ] My code follows the style guidelines of this project
|
||||||
- [ ] My pull request is unique and no other pull requests have been opened for these changes
|
- [ ] My pull request is unique and no other pull requests have been opened for these changes
|
||||||
- [ ] I have read the [Contributing note](https://github.com/Grasscutters/Grasscutter/blob/stable/CONTRIBUTING.md) and [Code of conduct](https://github.com/Grasscutters/Grasscutter/blob/development/CODE_OF_CONDUCT.md)
|
- [ ] I have read the [Contributing note](https://github.com/Grasscutters/Grasscutter/blob/stable/CONTRIBUTING.md) and [Code of conduct](https://github.com/Grasscutters/Grasscutter/blob/development/CODE_OF_CONDUCT.md)
|
||||||
- [ ] I am responsible for any copyright issues with my code if it occurs in the future.
|
- [ ] I am responsible for any copyright issues with my code if it occurs in the future.
|
||||||
|
@ -0,0 +1,475 @@
|
|||||||
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
// source: BuyResinReq.proto
|
||||||
|
|
||||||
|
package emu.grasscutter.net.proto;
|
||||||
|
|
||||||
|
public final class BuyResinReqOuterClass {
|
||||||
|
private BuyResinReqOuterClass() {}
|
||||||
|
public static void registerAllExtensions(
|
||||||
|
com.google.protobuf.ExtensionRegistryLite registry) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void registerAllExtensions(
|
||||||
|
com.google.protobuf.ExtensionRegistry registry) {
|
||||||
|
registerAllExtensions(
|
||||||
|
(com.google.protobuf.ExtensionRegistryLite) registry);
|
||||||
|
}
|
||||||
|
public interface BuyResinReqOrBuilder extends
|
||||||
|
// @@protoc_insertion_point(interface_extends:BuyResinReq)
|
||||||
|
com.google.protobuf.MessageOrBuilder {
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* Name: NIBFJEFHMIM
|
||||||
|
* CmdId: 630
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* Protobuf type {@code BuyResinReq}
|
||||||
|
*/
|
||||||
|
public static final class BuyResinReq extends
|
||||||
|
com.google.protobuf.GeneratedMessageV3 implements
|
||||||
|
// @@protoc_insertion_point(message_implements:BuyResinReq)
|
||||||
|
BuyResinReqOrBuilder {
|
||||||
|
private static final long serialVersionUID = 0L;
|
||||||
|
// Use BuyResinReq.newBuilder() to construct.
|
||||||
|
private BuyResinReq(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
|
||||||
|
super(builder);
|
||||||
|
}
|
||||||
|
private BuyResinReq() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
@SuppressWarnings({"unused"})
|
||||||
|
protected java.lang.Object newInstance(
|
||||||
|
UnusedPrivateParameter unused) {
|
||||||
|
return new BuyResinReq();
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public final com.google.protobuf.UnknownFieldSet
|
||||||
|
getUnknownFields() {
|
||||||
|
return this.unknownFields;
|
||||||
|
}
|
||||||
|
private BuyResinReq(
|
||||||
|
com.google.protobuf.CodedInputStream input,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
this();
|
||||||
|
if (extensionRegistry == null) {
|
||||||
|
throw new java.lang.NullPointerException();
|
||||||
|
}
|
||||||
|
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
|
||||||
|
com.google.protobuf.UnknownFieldSet.newBuilder();
|
||||||
|
try {
|
||||||
|
boolean done = false;
|
||||||
|
while (!done) {
|
||||||
|
int tag = input.readTag();
|
||||||
|
switch (tag) {
|
||||||
|
case 0:
|
||||||
|
done = true;
|
||||||
|
break;
|
||||||
|
default: {
|
||||||
|
if (!parseUnknownField(
|
||||||
|
input, unknownFields, extensionRegistry, tag)) {
|
||||||
|
done = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||||
|
throw e.setUnfinishedMessage(this);
|
||||||
|
} catch (java.io.IOException e) {
|
||||||
|
throw new com.google.protobuf.InvalidProtocolBufferException(
|
||||||
|
e).setUnfinishedMessage(this);
|
||||||
|
} finally {
|
||||||
|
this.unknownFields = unknownFields.build();
|
||||||
|
makeExtensionsImmutable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static final com.google.protobuf.Descriptors.Descriptor
|
||||||
|
getDescriptor() {
|
||||||
|
return emu.grasscutter.net.proto.BuyResinReqOuterClass.internal_static_BuyResinReq_descriptor;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||||
|
internalGetFieldAccessorTable() {
|
||||||
|
return emu.grasscutter.net.proto.BuyResinReqOuterClass.internal_static_BuyResinReq_fieldAccessorTable
|
||||||
|
.ensureFieldAccessorsInitialized(
|
||||||
|
emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq.class, emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq.Builder.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
private byte memoizedIsInitialized = -1;
|
||||||
|
@java.lang.Override
|
||||||
|
public final boolean isInitialized() {
|
||||||
|
byte isInitialized = memoizedIsInitialized;
|
||||||
|
if (isInitialized == 1) return true;
|
||||||
|
if (isInitialized == 0) return false;
|
||||||
|
|
||||||
|
memoizedIsInitialized = 1;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public void writeTo(com.google.protobuf.CodedOutputStream output)
|
||||||
|
throws java.io.IOException {
|
||||||
|
unknownFields.writeTo(output);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public int getSerializedSize() {
|
||||||
|
int size = memoizedSize;
|
||||||
|
if (size != -1) return size;
|
||||||
|
|
||||||
|
size = 0;
|
||||||
|
size += unknownFields.getSerializedSize();
|
||||||
|
memoizedSize = size;
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public boolean equals(final java.lang.Object obj) {
|
||||||
|
if (obj == this) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (!(obj instanceof emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq)) {
|
||||||
|
return super.equals(obj);
|
||||||
|
}
|
||||||
|
emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq other = (emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq) obj;
|
||||||
|
|
||||||
|
if (!unknownFields.equals(other.unknownFields)) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public int hashCode() {
|
||||||
|
if (memoizedHashCode != 0) {
|
||||||
|
return memoizedHashCode;
|
||||||
|
}
|
||||||
|
int hash = 41;
|
||||||
|
hash = (19 * hash) + getDescriptor().hashCode();
|
||||||
|
hash = (29 * hash) + unknownFields.hashCode();
|
||||||
|
memoizedHashCode = hash;
|
||||||
|
return hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq parseFrom(
|
||||||
|
java.nio.ByteBuffer data)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq parseFrom(
|
||||||
|
java.nio.ByteBuffer data,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data, extensionRegistry);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq parseFrom(
|
||||||
|
com.google.protobuf.ByteString data)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq parseFrom(
|
||||||
|
com.google.protobuf.ByteString data,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data, extensionRegistry);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq parseFrom(byte[] data)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq parseFrom(
|
||||||
|
byte[] data,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data, extensionRegistry);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq parseFrom(java.io.InputStream input)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseWithIOException(PARSER, input);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq parseFrom(
|
||||||
|
java.io.InputStream input,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseWithIOException(PARSER, input, extensionRegistry);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq parseDelimitedFrom(java.io.InputStream input)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseDelimitedWithIOException(PARSER, input);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq parseDelimitedFrom(
|
||||||
|
java.io.InputStream input,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq parseFrom(
|
||||||
|
com.google.protobuf.CodedInputStream input)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseWithIOException(PARSER, input);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq parseFrom(
|
||||||
|
com.google.protobuf.CodedInputStream input,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseWithIOException(PARSER, input, extensionRegistry);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder newBuilderForType() { return newBuilder(); }
|
||||||
|
public static Builder newBuilder() {
|
||||||
|
return DEFAULT_INSTANCE.toBuilder();
|
||||||
|
}
|
||||||
|
public static Builder newBuilder(emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq prototype) {
|
||||||
|
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return this == DEFAULT_INSTANCE
|
||||||
|
? new Builder() : new Builder().mergeFrom(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
protected Builder newBuilderForType(
|
||||||
|
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
|
||||||
|
Builder builder = new Builder(parent);
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* Name: NIBFJEFHMIM
|
||||||
|
* CmdId: 630
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* Protobuf type {@code BuyResinReq}
|
||||||
|
*/
|
||||||
|
public static final class Builder extends
|
||||||
|
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
|
||||||
|
// @@protoc_insertion_point(builder_implements:BuyResinReq)
|
||||||
|
emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReqOrBuilder {
|
||||||
|
public static final com.google.protobuf.Descriptors.Descriptor
|
||||||
|
getDescriptor() {
|
||||||
|
return emu.grasscutter.net.proto.BuyResinReqOuterClass.internal_static_BuyResinReq_descriptor;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||||
|
internalGetFieldAccessorTable() {
|
||||||
|
return emu.grasscutter.net.proto.BuyResinReqOuterClass.internal_static_BuyResinReq_fieldAccessorTable
|
||||||
|
.ensureFieldAccessorsInitialized(
|
||||||
|
emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq.class, emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq.Builder.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Construct using emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq.newBuilder()
|
||||||
|
private Builder() {
|
||||||
|
maybeForceBuilderInitialization();
|
||||||
|
}
|
||||||
|
|
||||||
|
private Builder(
|
||||||
|
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
|
||||||
|
super(parent);
|
||||||
|
maybeForceBuilderInitialization();
|
||||||
|
}
|
||||||
|
private void maybeForceBuilderInitialization() {
|
||||||
|
if (com.google.protobuf.GeneratedMessageV3
|
||||||
|
.alwaysUseFieldBuilders) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder clear() {
|
||||||
|
super.clear();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Descriptors.Descriptor
|
||||||
|
getDescriptorForType() {
|
||||||
|
return emu.grasscutter.net.proto.BuyResinReqOuterClass.internal_static_BuyResinReq_descriptor;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq getDefaultInstanceForType() {
|
||||||
|
return emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq.getDefaultInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq build() {
|
||||||
|
emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq result = buildPartial();
|
||||||
|
if (!result.isInitialized()) {
|
||||||
|
throw newUninitializedMessageException(result);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq buildPartial() {
|
||||||
|
emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq result = new emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq(this);
|
||||||
|
onBuilt();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder clone() {
|
||||||
|
return super.clone();
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder setField(
|
||||||
|
com.google.protobuf.Descriptors.FieldDescriptor field,
|
||||||
|
java.lang.Object value) {
|
||||||
|
return super.setField(field, value);
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder clearField(
|
||||||
|
com.google.protobuf.Descriptors.FieldDescriptor field) {
|
||||||
|
return super.clearField(field);
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder clearOneof(
|
||||||
|
com.google.protobuf.Descriptors.OneofDescriptor oneof) {
|
||||||
|
return super.clearOneof(oneof);
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder setRepeatedField(
|
||||||
|
com.google.protobuf.Descriptors.FieldDescriptor field,
|
||||||
|
int index, java.lang.Object value) {
|
||||||
|
return super.setRepeatedField(field, index, value);
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder addRepeatedField(
|
||||||
|
com.google.protobuf.Descriptors.FieldDescriptor field,
|
||||||
|
java.lang.Object value) {
|
||||||
|
return super.addRepeatedField(field, value);
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder mergeFrom(com.google.protobuf.Message other) {
|
||||||
|
if (other instanceof emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq) {
|
||||||
|
return mergeFrom((emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq)other);
|
||||||
|
} else {
|
||||||
|
super.mergeFrom(other);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder mergeFrom(emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq other) {
|
||||||
|
if (other == emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq.getDefaultInstance()) return this;
|
||||||
|
this.mergeUnknownFields(other.unknownFields);
|
||||||
|
onChanged();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public final boolean isInitialized() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder mergeFrom(
|
||||||
|
com.google.protobuf.CodedInputStream input,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws java.io.IOException {
|
||||||
|
emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq parsedMessage = null;
|
||||||
|
try {
|
||||||
|
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
|
||||||
|
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||||
|
parsedMessage = (emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq) e.getUnfinishedMessage();
|
||||||
|
throw e.unwrapIOException();
|
||||||
|
} finally {
|
||||||
|
if (parsedMessage != null) {
|
||||||
|
mergeFrom(parsedMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public final Builder setUnknownFields(
|
||||||
|
final com.google.protobuf.UnknownFieldSet unknownFields) {
|
||||||
|
return super.setUnknownFields(unknownFields);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public final Builder mergeUnknownFields(
|
||||||
|
final com.google.protobuf.UnknownFieldSet unknownFields) {
|
||||||
|
return super.mergeUnknownFields(unknownFields);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(builder_scope:BuyResinReq)
|
||||||
|
}
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(class_scope:BuyResinReq)
|
||||||
|
private static final emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq DEFAULT_INSTANCE;
|
||||||
|
static {
|
||||||
|
DEFAULT_INSTANCE = new emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq getDefaultInstance() {
|
||||||
|
return DEFAULT_INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final com.google.protobuf.Parser<BuyResinReq>
|
||||||
|
PARSER = new com.google.protobuf.AbstractParser<BuyResinReq>() {
|
||||||
|
@java.lang.Override
|
||||||
|
public BuyResinReq parsePartialFrom(
|
||||||
|
com.google.protobuf.CodedInputStream input,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return new BuyResinReq(input, extensionRegistry);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static com.google.protobuf.Parser<BuyResinReq> parser() {
|
||||||
|
return PARSER;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Parser<BuyResinReq> getParserForType() {
|
||||||
|
return PARSER;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public emu.grasscutter.net.proto.BuyResinReqOuterClass.BuyResinReq getDefaultInstanceForType() {
|
||||||
|
return DEFAULT_INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final com.google.protobuf.Descriptors.Descriptor
|
||||||
|
internal_static_BuyResinReq_descriptor;
|
||||||
|
private static final
|
||||||
|
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||||
|
internal_static_BuyResinReq_fieldAccessorTable;
|
||||||
|
|
||||||
|
public static com.google.protobuf.Descriptors.FileDescriptor
|
||||||
|
getDescriptor() {
|
||||||
|
return descriptor;
|
||||||
|
}
|
||||||
|
private static com.google.protobuf.Descriptors.FileDescriptor
|
||||||
|
descriptor;
|
||||||
|
static {
|
||||||
|
java.lang.String[] descriptorData = {
|
||||||
|
"\n\021BuyResinReq.proto\"\r\n\013BuyResinReqB\033\n\031em" +
|
||||||
|
"u.grasscutter.net.protob\006proto3"
|
||||||
|
};
|
||||||
|
descriptor = com.google.protobuf.Descriptors.FileDescriptor
|
||||||
|
.internalBuildGeneratedFileFrom(descriptorData,
|
||||||
|
new com.google.protobuf.Descriptors.FileDescriptor[] {
|
||||||
|
});
|
||||||
|
internal_static_BuyResinReq_descriptor =
|
||||||
|
getDescriptor().getMessageTypes().get(0);
|
||||||
|
internal_static_BuyResinReq_fieldAccessorTable = new
|
||||||
|
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
||||||
|
internal_static_BuyResinReq_descriptor,
|
||||||
|
new java.lang.String[] { });
|
||||||
|
}
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(outer_class_scope)
|
||||||
|
}
|
@ -0,0 +1,616 @@
|
|||||||
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
// source: BuyResinRsp.proto
|
||||||
|
|
||||||
|
package emu.grasscutter.net.proto;
|
||||||
|
|
||||||
|
public final class BuyResinRspOuterClass {
|
||||||
|
private BuyResinRspOuterClass() {}
|
||||||
|
public static void registerAllExtensions(
|
||||||
|
com.google.protobuf.ExtensionRegistryLite registry) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void registerAllExtensions(
|
||||||
|
com.google.protobuf.ExtensionRegistry registry) {
|
||||||
|
registerAllExtensions(
|
||||||
|
(com.google.protobuf.ExtensionRegistryLite) registry);
|
||||||
|
}
|
||||||
|
public interface BuyResinRspOrBuilder extends
|
||||||
|
// @@protoc_insertion_point(interface_extends:BuyResinRsp)
|
||||||
|
com.google.protobuf.MessageOrBuilder {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <code>int32 retcode = 9;</code>
|
||||||
|
* @return The retcode.
|
||||||
|
*/
|
||||||
|
int getRetcode();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <code>uint32 cur_value = 3;</code>
|
||||||
|
* @return The curValue.
|
||||||
|
*/
|
||||||
|
int getCurValue();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* Name: PFLBPGOHFKJ
|
||||||
|
* CmdId: 687
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* Protobuf type {@code BuyResinRsp}
|
||||||
|
*/
|
||||||
|
public static final class BuyResinRsp extends
|
||||||
|
com.google.protobuf.GeneratedMessageV3 implements
|
||||||
|
// @@protoc_insertion_point(message_implements:BuyResinRsp)
|
||||||
|
BuyResinRspOrBuilder {
|
||||||
|
private static final long serialVersionUID = 0L;
|
||||||
|
// Use BuyResinRsp.newBuilder() to construct.
|
||||||
|
private BuyResinRsp(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
|
||||||
|
super(builder);
|
||||||
|
}
|
||||||
|
private BuyResinRsp() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
@SuppressWarnings({"unused"})
|
||||||
|
protected java.lang.Object newInstance(
|
||||||
|
UnusedPrivateParameter unused) {
|
||||||
|
return new BuyResinRsp();
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public final com.google.protobuf.UnknownFieldSet
|
||||||
|
getUnknownFields() {
|
||||||
|
return this.unknownFields;
|
||||||
|
}
|
||||||
|
private BuyResinRsp(
|
||||||
|
com.google.protobuf.CodedInputStream input,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
this();
|
||||||
|
if (extensionRegistry == null) {
|
||||||
|
throw new java.lang.NullPointerException();
|
||||||
|
}
|
||||||
|
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
|
||||||
|
com.google.protobuf.UnknownFieldSet.newBuilder();
|
||||||
|
try {
|
||||||
|
boolean done = false;
|
||||||
|
while (!done) {
|
||||||
|
int tag = input.readTag();
|
||||||
|
switch (tag) {
|
||||||
|
case 0:
|
||||||
|
done = true;
|
||||||
|
break;
|
||||||
|
case 24: {
|
||||||
|
|
||||||
|
curValue_ = input.readUInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 72: {
|
||||||
|
|
||||||
|
retcode_ = input.readInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
if (!parseUnknownField(
|
||||||
|
input, unknownFields, extensionRegistry, tag)) {
|
||||||
|
done = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||||
|
throw e.setUnfinishedMessage(this);
|
||||||
|
} catch (java.io.IOException e) {
|
||||||
|
throw new com.google.protobuf.InvalidProtocolBufferException(
|
||||||
|
e).setUnfinishedMessage(this);
|
||||||
|
} finally {
|
||||||
|
this.unknownFields = unknownFields.build();
|
||||||
|
makeExtensionsImmutable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static final com.google.protobuf.Descriptors.Descriptor
|
||||||
|
getDescriptor() {
|
||||||
|
return emu.grasscutter.net.proto.BuyResinRspOuterClass.internal_static_BuyResinRsp_descriptor;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||||
|
internalGetFieldAccessorTable() {
|
||||||
|
return emu.grasscutter.net.proto.BuyResinRspOuterClass.internal_static_BuyResinRsp_fieldAccessorTable
|
||||||
|
.ensureFieldAccessorsInitialized(
|
||||||
|
emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp.class, emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp.Builder.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final int RETCODE_FIELD_NUMBER = 9;
|
||||||
|
private int retcode_;
|
||||||
|
/**
|
||||||
|
* <code>int32 retcode = 9;</code>
|
||||||
|
* @return The retcode.
|
||||||
|
*/
|
||||||
|
@java.lang.Override
|
||||||
|
public int getRetcode() {
|
||||||
|
return retcode_;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final int CUR_VALUE_FIELD_NUMBER = 3;
|
||||||
|
private int curValue_;
|
||||||
|
/**
|
||||||
|
* <code>uint32 cur_value = 3;</code>
|
||||||
|
* @return The curValue.
|
||||||
|
*/
|
||||||
|
@java.lang.Override
|
||||||
|
public int getCurValue() {
|
||||||
|
return curValue_;
|
||||||
|
}
|
||||||
|
|
||||||
|
private byte memoizedIsInitialized = -1;
|
||||||
|
@java.lang.Override
|
||||||
|
public final boolean isInitialized() {
|
||||||
|
byte isInitialized = memoizedIsInitialized;
|
||||||
|
if (isInitialized == 1) return true;
|
||||||
|
if (isInitialized == 0) return false;
|
||||||
|
|
||||||
|
memoizedIsInitialized = 1;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public void writeTo(com.google.protobuf.CodedOutputStream output)
|
||||||
|
throws java.io.IOException {
|
||||||
|
if (curValue_ != 0) {
|
||||||
|
output.writeUInt32(3, curValue_);
|
||||||
|
}
|
||||||
|
if (retcode_ != 0) {
|
||||||
|
output.writeInt32(9, retcode_);
|
||||||
|
}
|
||||||
|
unknownFields.writeTo(output);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public int getSerializedSize() {
|
||||||
|
int size = memoizedSize;
|
||||||
|
if (size != -1) return size;
|
||||||
|
|
||||||
|
size = 0;
|
||||||
|
if (curValue_ != 0) {
|
||||||
|
size += com.google.protobuf.CodedOutputStream
|
||||||
|
.computeUInt32Size(3, curValue_);
|
||||||
|
}
|
||||||
|
if (retcode_ != 0) {
|
||||||
|
size += com.google.protobuf.CodedOutputStream
|
||||||
|
.computeInt32Size(9, retcode_);
|
||||||
|
}
|
||||||
|
size += unknownFields.getSerializedSize();
|
||||||
|
memoizedSize = size;
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public boolean equals(final java.lang.Object obj) {
|
||||||
|
if (obj == this) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (!(obj instanceof emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp)) {
|
||||||
|
return super.equals(obj);
|
||||||
|
}
|
||||||
|
emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp other = (emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp) obj;
|
||||||
|
|
||||||
|
if (getRetcode()
|
||||||
|
!= other.getRetcode()) return false;
|
||||||
|
if (getCurValue()
|
||||||
|
!= other.getCurValue()) return false;
|
||||||
|
if (!unknownFields.equals(other.unknownFields)) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public int hashCode() {
|
||||||
|
if (memoizedHashCode != 0) {
|
||||||
|
return memoizedHashCode;
|
||||||
|
}
|
||||||
|
int hash = 41;
|
||||||
|
hash = (19 * hash) + getDescriptor().hashCode();
|
||||||
|
hash = (37 * hash) + RETCODE_FIELD_NUMBER;
|
||||||
|
hash = (53 * hash) + getRetcode();
|
||||||
|
hash = (37 * hash) + CUR_VALUE_FIELD_NUMBER;
|
||||||
|
hash = (53 * hash) + getCurValue();
|
||||||
|
hash = (29 * hash) + unknownFields.hashCode();
|
||||||
|
memoizedHashCode = hash;
|
||||||
|
return hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp parseFrom(
|
||||||
|
java.nio.ByteBuffer data)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp parseFrom(
|
||||||
|
java.nio.ByteBuffer data,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data, extensionRegistry);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp parseFrom(
|
||||||
|
com.google.protobuf.ByteString data)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp parseFrom(
|
||||||
|
com.google.protobuf.ByteString data,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data, extensionRegistry);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp parseFrom(byte[] data)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp parseFrom(
|
||||||
|
byte[] data,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return PARSER.parseFrom(data, extensionRegistry);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp parseFrom(java.io.InputStream input)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseWithIOException(PARSER, input);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp parseFrom(
|
||||||
|
java.io.InputStream input,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseWithIOException(PARSER, input, extensionRegistry);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp parseDelimitedFrom(java.io.InputStream input)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseDelimitedWithIOException(PARSER, input);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp parseDelimitedFrom(
|
||||||
|
java.io.InputStream input,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp parseFrom(
|
||||||
|
com.google.protobuf.CodedInputStream input)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseWithIOException(PARSER, input);
|
||||||
|
}
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp parseFrom(
|
||||||
|
com.google.protobuf.CodedInputStream input,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws java.io.IOException {
|
||||||
|
return com.google.protobuf.GeneratedMessageV3
|
||||||
|
.parseWithIOException(PARSER, input, extensionRegistry);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder newBuilderForType() { return newBuilder(); }
|
||||||
|
public static Builder newBuilder() {
|
||||||
|
return DEFAULT_INSTANCE.toBuilder();
|
||||||
|
}
|
||||||
|
public static Builder newBuilder(emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp prototype) {
|
||||||
|
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder toBuilder() {
|
||||||
|
return this == DEFAULT_INSTANCE
|
||||||
|
? new Builder() : new Builder().mergeFrom(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
protected Builder newBuilderForType(
|
||||||
|
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
|
||||||
|
Builder builder = new Builder(parent);
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* Name: PFLBPGOHFKJ
|
||||||
|
* CmdId: 687
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* Protobuf type {@code BuyResinRsp}
|
||||||
|
*/
|
||||||
|
public static final class Builder extends
|
||||||
|
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
|
||||||
|
// @@protoc_insertion_point(builder_implements:BuyResinRsp)
|
||||||
|
emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRspOrBuilder {
|
||||||
|
public static final com.google.protobuf.Descriptors.Descriptor
|
||||||
|
getDescriptor() {
|
||||||
|
return emu.grasscutter.net.proto.BuyResinRspOuterClass.internal_static_BuyResinRsp_descriptor;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||||
|
internalGetFieldAccessorTable() {
|
||||||
|
return emu.grasscutter.net.proto.BuyResinRspOuterClass.internal_static_BuyResinRsp_fieldAccessorTable
|
||||||
|
.ensureFieldAccessorsInitialized(
|
||||||
|
emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp.class, emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp.Builder.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Construct using emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp.newBuilder()
|
||||||
|
private Builder() {
|
||||||
|
maybeForceBuilderInitialization();
|
||||||
|
}
|
||||||
|
|
||||||
|
private Builder(
|
||||||
|
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
|
||||||
|
super(parent);
|
||||||
|
maybeForceBuilderInitialization();
|
||||||
|
}
|
||||||
|
private void maybeForceBuilderInitialization() {
|
||||||
|
if (com.google.protobuf.GeneratedMessageV3
|
||||||
|
.alwaysUseFieldBuilders) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder clear() {
|
||||||
|
super.clear();
|
||||||
|
retcode_ = 0;
|
||||||
|
|
||||||
|
curValue_ = 0;
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Descriptors.Descriptor
|
||||||
|
getDescriptorForType() {
|
||||||
|
return emu.grasscutter.net.proto.BuyResinRspOuterClass.internal_static_BuyResinRsp_descriptor;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp getDefaultInstanceForType() {
|
||||||
|
return emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp.getDefaultInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp build() {
|
||||||
|
emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp result = buildPartial();
|
||||||
|
if (!result.isInitialized()) {
|
||||||
|
throw newUninitializedMessageException(result);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp buildPartial() {
|
||||||
|
emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp result = new emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp(this);
|
||||||
|
result.retcode_ = retcode_;
|
||||||
|
result.curValue_ = curValue_;
|
||||||
|
onBuilt();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder clone() {
|
||||||
|
return super.clone();
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder setField(
|
||||||
|
com.google.protobuf.Descriptors.FieldDescriptor field,
|
||||||
|
java.lang.Object value) {
|
||||||
|
return super.setField(field, value);
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder clearField(
|
||||||
|
com.google.protobuf.Descriptors.FieldDescriptor field) {
|
||||||
|
return super.clearField(field);
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder clearOneof(
|
||||||
|
com.google.protobuf.Descriptors.OneofDescriptor oneof) {
|
||||||
|
return super.clearOneof(oneof);
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder setRepeatedField(
|
||||||
|
com.google.protobuf.Descriptors.FieldDescriptor field,
|
||||||
|
int index, java.lang.Object value) {
|
||||||
|
return super.setRepeatedField(field, index, value);
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder addRepeatedField(
|
||||||
|
com.google.protobuf.Descriptors.FieldDescriptor field,
|
||||||
|
java.lang.Object value) {
|
||||||
|
return super.addRepeatedField(field, value);
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder mergeFrom(com.google.protobuf.Message other) {
|
||||||
|
if (other instanceof emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp) {
|
||||||
|
return mergeFrom((emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp)other);
|
||||||
|
} else {
|
||||||
|
super.mergeFrom(other);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder mergeFrom(emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp other) {
|
||||||
|
if (other == emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp.getDefaultInstance()) return this;
|
||||||
|
if (other.getRetcode() != 0) {
|
||||||
|
setRetcode(other.getRetcode());
|
||||||
|
}
|
||||||
|
if (other.getCurValue() != 0) {
|
||||||
|
setCurValue(other.getCurValue());
|
||||||
|
}
|
||||||
|
this.mergeUnknownFields(other.unknownFields);
|
||||||
|
onChanged();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public final boolean isInitialized() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public Builder mergeFrom(
|
||||||
|
com.google.protobuf.CodedInputStream input,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws java.io.IOException {
|
||||||
|
emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp parsedMessage = null;
|
||||||
|
try {
|
||||||
|
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
|
||||||
|
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||||
|
parsedMessage = (emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp) e.getUnfinishedMessage();
|
||||||
|
throw e.unwrapIOException();
|
||||||
|
} finally {
|
||||||
|
if (parsedMessage != null) {
|
||||||
|
mergeFrom(parsedMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int retcode_ ;
|
||||||
|
/**
|
||||||
|
* <code>int32 retcode = 9;</code>
|
||||||
|
* @return The retcode.
|
||||||
|
*/
|
||||||
|
@java.lang.Override
|
||||||
|
public int getRetcode() {
|
||||||
|
return retcode_;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <code>int32 retcode = 9;</code>
|
||||||
|
* @param value The retcode to set.
|
||||||
|
* @return This builder for chaining.
|
||||||
|
*/
|
||||||
|
public Builder setRetcode(int value) {
|
||||||
|
|
||||||
|
retcode_ = value;
|
||||||
|
onChanged();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <code>int32 retcode = 9;</code>
|
||||||
|
* @return This builder for chaining.
|
||||||
|
*/
|
||||||
|
public Builder clearRetcode() {
|
||||||
|
|
||||||
|
retcode_ = 0;
|
||||||
|
onChanged();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int curValue_ ;
|
||||||
|
/**
|
||||||
|
* <code>uint32 cur_value = 3;</code>
|
||||||
|
* @return The curValue.
|
||||||
|
*/
|
||||||
|
@java.lang.Override
|
||||||
|
public int getCurValue() {
|
||||||
|
return curValue_;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <code>uint32 cur_value = 3;</code>
|
||||||
|
* @param value The curValue to set.
|
||||||
|
* @return This builder for chaining.
|
||||||
|
*/
|
||||||
|
public Builder setCurValue(int value) {
|
||||||
|
|
||||||
|
curValue_ = value;
|
||||||
|
onChanged();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* <code>uint32 cur_value = 3;</code>
|
||||||
|
* @return This builder for chaining.
|
||||||
|
*/
|
||||||
|
public Builder clearCurValue() {
|
||||||
|
|
||||||
|
curValue_ = 0;
|
||||||
|
onChanged();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
@java.lang.Override
|
||||||
|
public final Builder setUnknownFields(
|
||||||
|
final com.google.protobuf.UnknownFieldSet unknownFields) {
|
||||||
|
return super.setUnknownFields(unknownFields);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public final Builder mergeUnknownFields(
|
||||||
|
final com.google.protobuf.UnknownFieldSet unknownFields) {
|
||||||
|
return super.mergeUnknownFields(unknownFields);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(builder_scope:BuyResinRsp)
|
||||||
|
}
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(class_scope:BuyResinRsp)
|
||||||
|
private static final emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp DEFAULT_INSTANCE;
|
||||||
|
static {
|
||||||
|
DEFAULT_INSTANCE = new emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp getDefaultInstance() {
|
||||||
|
return DEFAULT_INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final com.google.protobuf.Parser<BuyResinRsp>
|
||||||
|
PARSER = new com.google.protobuf.AbstractParser<BuyResinRsp>() {
|
||||||
|
@java.lang.Override
|
||||||
|
public BuyResinRsp parsePartialFrom(
|
||||||
|
com.google.protobuf.CodedInputStream input,
|
||||||
|
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||||
|
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||||
|
return new BuyResinRsp(input, extensionRegistry);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static com.google.protobuf.Parser<BuyResinRsp> parser() {
|
||||||
|
return PARSER;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Parser<BuyResinRsp> getParserForType() {
|
||||||
|
return PARSER;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
public emu.grasscutter.net.proto.BuyResinRspOuterClass.BuyResinRsp getDefaultInstanceForType() {
|
||||||
|
return DEFAULT_INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final com.google.protobuf.Descriptors.Descriptor
|
||||||
|
internal_static_BuyResinRsp_descriptor;
|
||||||
|
private static final
|
||||||
|
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
|
||||||
|
internal_static_BuyResinRsp_fieldAccessorTable;
|
||||||
|
|
||||||
|
public static com.google.protobuf.Descriptors.FileDescriptor
|
||||||
|
getDescriptor() {
|
||||||
|
return descriptor;
|
||||||
|
}
|
||||||
|
private static com.google.protobuf.Descriptors.FileDescriptor
|
||||||
|
descriptor;
|
||||||
|
static {
|
||||||
|
java.lang.String[] descriptorData = {
|
||||||
|
"\n\021BuyResinRsp.proto\"1\n\013BuyResinRsp\022\017\n\007re" +
|
||||||
|
"tcode\030\t \001(\005\022\021\n\tcur_value\030\003 \001(\rB\033\n\031emu.gr" +
|
||||||
|
"asscutter.net.protob\006proto3"
|
||||||
|
};
|
||||||
|
descriptor = com.google.protobuf.Descriptors.FileDescriptor
|
||||||
|
.internalBuildGeneratedFileFrom(descriptorData,
|
||||||
|
new com.google.protobuf.Descriptors.FileDescriptor[] {
|
||||||
|
});
|
||||||
|
internal_static_BuyResinRsp_descriptor =
|
||||||
|
getDescriptor().getMessageTypes().get(0);
|
||||||
|
internal_static_BuyResinRsp_fieldAccessorTable = new
|
||||||
|
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
|
||||||
|
internal_static_BuyResinRsp_descriptor,
|
||||||
|
new java.lang.String[] { "Retcode", "CurValue", });
|
||||||
|
}
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(outer_class_scope)
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,154 +1,179 @@
|
|||||||
package emu.grasscutter.game.managers;
|
package emu.grasscutter.game.managers;
|
||||||
|
|
||||||
import static emu.grasscutter.config.Configuration.GAME_OPTIONS;
|
import emu.grasscutter.game.inventory.GameItem;
|
||||||
|
import emu.grasscutter.game.player.BasePlayerManager;
|
||||||
import emu.grasscutter.game.player.BasePlayerManager;
|
import emu.grasscutter.game.player.Player;
|
||||||
import emu.grasscutter.game.player.Player;
|
import emu.grasscutter.game.props.ActionReason;
|
||||||
import emu.grasscutter.game.props.PlayerProperty;
|
import emu.grasscutter.game.props.PlayerProperty;
|
||||||
import emu.grasscutter.game.props.WatcherTriggerType;
|
import emu.grasscutter.game.props.WatcherTriggerType;
|
||||||
import emu.grasscutter.server.packet.send.PacketResinChangeNotify;
|
import emu.grasscutter.net.proto.RetcodeOuterClass;
|
||||||
import emu.grasscutter.utils.Utils;
|
import emu.grasscutter.server.packet.send.PacketItemAddHintNotify;
|
||||||
|
import emu.grasscutter.server.packet.send.PacketResinChangeNotify;
|
||||||
public class ResinManager extends BasePlayerManager {
|
import emu.grasscutter.utils.Utils;
|
||||||
|
|
||||||
public ResinManager(Player player) {
|
import static emu.grasscutter.config.Configuration.GAME_OPTIONS;
|
||||||
super(player);
|
|
||||||
}
|
public class ResinManager extends BasePlayerManager {
|
||||||
|
public static final int MAX_RESIN_BUYING_COUNT = 6;
|
||||||
/********************
|
public static final int AMOUNT_TO_ADD = 60;
|
||||||
* Change resin.
|
public static final int[] HCOIN_NUM_TO_BUY_RESIN = new int[]{50, 100, 100, 150, 200, 200};
|
||||||
********************/
|
|
||||||
public synchronized boolean useResin(int amount) {
|
public ResinManager(Player player) {
|
||||||
// Check if resin enabled.
|
super(player);
|
||||||
if (!GAME_OPTIONS.resinOptions.resinUsage) {
|
}
|
||||||
return true;
|
|
||||||
}
|
/********************
|
||||||
|
* Change resin.
|
||||||
int currentResin = this.player.getProperty(PlayerProperty.PROP_PLAYER_RESIN);
|
********************/
|
||||||
|
public synchronized boolean useResin(int amount) {
|
||||||
// Check if the player has sufficient resin.
|
// Check if resin enabled.
|
||||||
if (currentResin < amount) {
|
if (!GAME_OPTIONS.resinOptions.resinUsage) {
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deduct the resin from the player.
|
int currentResin = this.player.getProperty(PlayerProperty.PROP_PLAYER_RESIN);
|
||||||
int newResin = currentResin - amount;
|
|
||||||
this.player.setProperty(PlayerProperty.PROP_PLAYER_RESIN, newResin);
|
// Check if the player has sufficient resin.
|
||||||
|
if (currentResin < amount) {
|
||||||
// Check if this has taken the player under the recharge cap,
|
return false;
|
||||||
// starting the recharging process.
|
}
|
||||||
if (this.player.getNextResinRefresh() == 0 && newResin < GAME_OPTIONS.resinOptions.cap) {
|
|
||||||
int currentTime = Utils.getCurrentSeconds();
|
// Deduct the resin from the player.
|
||||||
this.player.setNextResinRefresh(currentTime + GAME_OPTIONS.resinOptions.rechargeTime);
|
int newResin = currentResin - amount;
|
||||||
}
|
this.player.setProperty(PlayerProperty.PROP_PLAYER_RESIN, newResin);
|
||||||
|
|
||||||
// Send packets.
|
// Check if this has taken the player under the recharge cap,
|
||||||
this.player.sendPacket(new PacketResinChangeNotify(this.player));
|
// starting the recharging process.
|
||||||
|
if (this.player.getNextResinRefresh() == 0 && newResin < GAME_OPTIONS.resinOptions.cap) {
|
||||||
// Battle Pass trigger
|
int currentTime = Utils.getCurrentSeconds();
|
||||||
this.player
|
this.player.setNextResinRefresh(currentTime + GAME_OPTIONS.resinOptions.rechargeTime);
|
||||||
.getBattlePassManager()
|
}
|
||||||
.triggerMission(
|
|
||||||
WatcherTriggerType.TRIGGER_COST_MATERIAL, 106, amount); // Resin item id = 106
|
// Send packets.
|
||||||
|
this.player.sendPacket(new PacketResinChangeNotify(this.player));
|
||||||
return true;
|
|
||||||
}
|
// Battle Pass trigger
|
||||||
|
this.player
|
||||||
public synchronized boolean useCondensedResin(int amount) {
|
.getBattlePassManager()
|
||||||
// Don't deduct if resin disabled.
|
.triggerMission(
|
||||||
if (!GAME_OPTIONS.resinOptions.resinUsage) return true;
|
WatcherTriggerType.TRIGGER_COST_MATERIAL, 106, amount); // Resin item id = 106
|
||||||
return this.player.getInventory().payItem(220007, amount);
|
|
||||||
}
|
return true;
|
||||||
|
}
|
||||||
public synchronized void addResin(int amount) {
|
|
||||||
// Check if resin enabled.
|
public synchronized boolean useCondensedResin(int amount) {
|
||||||
if (!GAME_OPTIONS.resinOptions.resinUsage) {
|
// Don't deduct if resin disabled.
|
||||||
return;
|
if (!GAME_OPTIONS.resinOptions.resinUsage) return true;
|
||||||
}
|
return this.player.getInventory().payItem(220007, amount);
|
||||||
|
}
|
||||||
// Add resin.
|
|
||||||
int currentResin = this.player.getProperty(PlayerProperty.PROP_PLAYER_RESIN);
|
public synchronized void addResin(int amount) {
|
||||||
int newResin = currentResin + amount;
|
// Check if resin enabled.
|
||||||
this.player.setProperty(PlayerProperty.PROP_PLAYER_RESIN, newResin);
|
if (!GAME_OPTIONS.resinOptions.resinUsage) {
|
||||||
|
return;
|
||||||
// Stop recharging if player is now at or over the cap.
|
}
|
||||||
if (newResin >= GAME_OPTIONS.resinOptions.cap) {
|
|
||||||
this.player.setNextResinRefresh(0);
|
// Add resin.
|
||||||
}
|
int currentResin = this.player.getProperty(PlayerProperty.PROP_PLAYER_RESIN);
|
||||||
|
int newResin = currentResin + amount;
|
||||||
// Send packets.
|
this.player.setProperty(PlayerProperty.PROP_PLAYER_RESIN, newResin);
|
||||||
this.player.sendPacket(new PacketResinChangeNotify(this.player));
|
|
||||||
}
|
// Stop recharging if player is now at or over the cap.
|
||||||
|
if (newResin >= GAME_OPTIONS.resinOptions.cap) {
|
||||||
/********************
|
this.player.setNextResinRefresh(0);
|
||||||
* Recharge resin.
|
}
|
||||||
********************/
|
|
||||||
public synchronized void rechargeResin() {
|
// Send packets.
|
||||||
// Check if resin enabled.
|
this.player.sendPacket(new PacketResinChangeNotify(this.player));
|
||||||
if (!GAME_OPTIONS.resinOptions.resinUsage) {
|
}
|
||||||
return;
|
|
||||||
}
|
/********************
|
||||||
|
* Recharge resin.
|
||||||
int currentResin = this.player.getProperty(PlayerProperty.PROP_PLAYER_RESIN);
|
********************/
|
||||||
int currentTime = Utils.getCurrentSeconds();
|
public synchronized void rechargeResin() {
|
||||||
|
// Check if resin enabled.
|
||||||
// Make sure we are currently in "recharging mode".
|
if (!GAME_OPTIONS.resinOptions.resinUsage) {
|
||||||
// This is denoted by Player.nextResinRefresh being greater than 0.
|
return;
|
||||||
if (this.player.getNextResinRefresh() <= 0) {
|
}
|
||||||
return;
|
|
||||||
}
|
int currentResin = this.player.getProperty(PlayerProperty.PROP_PLAYER_RESIN);
|
||||||
|
int currentTime = Utils.getCurrentSeconds();
|
||||||
// Determine if we actually need to recharge yet.
|
|
||||||
if (currentTime < this.player.getNextResinRefresh()) {
|
// Make sure we are currently in "recharging mode".
|
||||||
return;
|
// This is denoted by Player.nextResinRefresh being greater than 0.
|
||||||
}
|
if (this.player.getNextResinRefresh() <= 0) {
|
||||||
|
return;
|
||||||
// Calculate how much resin we need to refill and update player.
|
}
|
||||||
// Note that this can be more than one in case the player
|
|
||||||
// logged off with uncapped resin and is now logging in again.
|
// Determine if we actually need to recharge yet.
|
||||||
int recharge =
|
if (currentTime < this.player.getNextResinRefresh()) {
|
||||||
1
|
return;
|
||||||
+ ((currentTime - this.player.getNextResinRefresh())
|
}
|
||||||
/ GAME_OPTIONS.resinOptions.rechargeTime);
|
|
||||||
int newResin = Math.min(GAME_OPTIONS.resinOptions.cap, currentResin + recharge);
|
// Calculate how much resin we need to refill and update player.
|
||||||
int resinChange = newResin - currentResin;
|
// Note that this can be more than one in case the player
|
||||||
|
// logged off with uncapped resin and is now logging in again.
|
||||||
this.player.setProperty(PlayerProperty.PROP_PLAYER_RESIN, newResin);
|
int recharge =
|
||||||
|
1
|
||||||
// Calculate next recharge time.
|
+ ((currentTime - this.player.getNextResinRefresh())
|
||||||
// Set to zero to disable recharge (because on/over cap.)
|
/ GAME_OPTIONS.resinOptions.rechargeTime);
|
||||||
if (newResin >= GAME_OPTIONS.resinOptions.cap) {
|
int newResin = Math.min(GAME_OPTIONS.resinOptions.cap, currentResin + recharge);
|
||||||
this.player.setNextResinRefresh(0);
|
int resinChange = newResin - currentResin;
|
||||||
} else {
|
|
||||||
int nextRecharge =
|
this.player.setProperty(PlayerProperty.PROP_PLAYER_RESIN, newResin);
|
||||||
this.player.getNextResinRefresh() + resinChange * GAME_OPTIONS.resinOptions.rechargeTime;
|
|
||||||
this.player.setNextResinRefresh(nextRecharge);
|
// Calculate next recharge time.
|
||||||
}
|
// Set to zero to disable recharge (because on/over cap.)
|
||||||
|
if (newResin >= GAME_OPTIONS.resinOptions.cap) {
|
||||||
// Send packets.
|
this.player.setNextResinRefresh(0);
|
||||||
this.player.sendPacket(new PacketResinChangeNotify(this.player));
|
} else {
|
||||||
}
|
int nextRecharge =
|
||||||
|
this.player.getNextResinRefresh() + resinChange * GAME_OPTIONS.resinOptions.rechargeTime;
|
||||||
/********************
|
this.player.setNextResinRefresh(nextRecharge);
|
||||||
* Player login.
|
}
|
||||||
********************/
|
|
||||||
public synchronized void onPlayerLogin() {
|
// Send packets.
|
||||||
// If resin usage is disabled, set resin to cap.
|
this.player.sendPacket(new PacketResinChangeNotify(this.player));
|
||||||
if (!GAME_OPTIONS.resinOptions.resinUsage) {
|
}
|
||||||
this.player.setProperty(PlayerProperty.PROP_PLAYER_RESIN, GAME_OPTIONS.resinOptions.cap);
|
|
||||||
this.player.setNextResinRefresh(0);
|
/********************
|
||||||
}
|
* Player login.
|
||||||
|
********************/
|
||||||
// In case server administrators change the resin cap while players are capped,
|
public synchronized void onPlayerLogin() {
|
||||||
// we need to restart recharging here.
|
// If resin usage is disabled, set resin to cap.
|
||||||
int currentResin = this.player.getProperty(PlayerProperty.PROP_PLAYER_RESIN);
|
if (!GAME_OPTIONS.resinOptions.resinUsage) {
|
||||||
int currentTime = Utils.getCurrentSeconds();
|
this.player.setProperty(PlayerProperty.PROP_PLAYER_RESIN, GAME_OPTIONS.resinOptions.cap);
|
||||||
|
this.player.setNextResinRefresh(0);
|
||||||
if (currentResin < GAME_OPTIONS.resinOptions.cap && this.player.getNextResinRefresh() == 0) {
|
}
|
||||||
this.player.setNextResinRefresh(currentTime + GAME_OPTIONS.resinOptions.rechargeTime);
|
|
||||||
}
|
// In case server administrators change the resin cap while players are capped,
|
||||||
|
// we need to restart recharging here.
|
||||||
// Send initial notifications on logon.
|
int currentResin = this.player.getProperty(PlayerProperty.PROP_PLAYER_RESIN);
|
||||||
this.player.sendPacket(new PacketResinChangeNotify(this.player));
|
int currentTime = Utils.getCurrentSeconds();
|
||||||
}
|
|
||||||
}
|
if (currentResin < GAME_OPTIONS.resinOptions.cap && this.player.getNextResinRefresh() == 0) {
|
||||||
|
this.player.setNextResinRefresh(currentTime + GAME_OPTIONS.resinOptions.rechargeTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send initial notifications on logon.
|
||||||
|
this.player.sendPacket(new PacketResinChangeNotify(this.player));
|
||||||
|
}
|
||||||
|
|
||||||
|
public int buy() {
|
||||||
|
if (this.player.getResinBuyCount() >= MAX_RESIN_BUYING_COUNT) {
|
||||||
|
return RetcodeOuterClass.Retcode.RET_RESIN_BOUGHT_COUNT_EXCEEDED_VALUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
var res = this.player.getInventory().payItem(201, HCOIN_NUM_TO_BUY_RESIN[this.player.getResinBuyCount()]);
|
||||||
|
if (!res) {
|
||||||
|
return RetcodeOuterClass.Retcode.RET_HCOIN_NOT_ENOUGH_VALUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.player.setResinBuyCount(this.player.getResinBuyCount() + 1);
|
||||||
|
this.player.setProperty(PlayerProperty.PROP_PLAYER_WAIT_SUB_HCOIN, 0);
|
||||||
|
this.addResin(AMOUNT_TO_ADD);
|
||||||
|
this.player.sendPacket(new PacketItemAddHintNotify(new GameItem(106, AMOUNT_TO_ADD), ActionReason.BuyResin));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -319,9 +319,12 @@ public class Player {
|
|||||||
private int nextResinRefresh;
|
private int nextResinRefresh;
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
|
private int resinBuyCount;
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
private int lastDailyReset;
|
private int lastDailyReset;
|
||||||
@Getter
|
@Getter
|
||||||
private final transient MpSettingType mpSetting = MpSettingType.MP_SETTING_TYPE_ENTER_AFTER_APPLY; // TODO
|
private transient MpSettingType mpSetting = MpSettingType.MP_SETTING_TYPE_ENTER_AFTER_APPLY; // TODO
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
@SuppressWarnings({"rawtypes", "unchecked"}) // Morphia only!
|
@SuppressWarnings({"rawtypes", "unchecked"}) // Morphia only!
|
||||||
@ -1269,6 +1272,9 @@ public class Player {
|
|||||||
this.getBattlePassManager().resetWeeklyMissions();
|
this.getBattlePassManager().resetWeeklyMissions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Reset resin-buying count.
|
||||||
|
this.setResinBuyCount(0);
|
||||||
|
|
||||||
// Done. Update last reset time.
|
// Done. Update last reset time.
|
||||||
this.setLastDailyReset(currentTime);
|
this.setLastDailyReset(currentTime);
|
||||||
}
|
}
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
package emu.grasscutter.game.props.ItemUseAction;
|
package emu.grasscutter.game.props.ItemUseAction;
|
||||||
|
|
||||||
import emu.grasscutter.game.props.ItemUseOp;
|
import emu.grasscutter.game.props.ActionReason;
|
||||||
|
import emu.grasscutter.game.props.ItemUseOp;
|
||||||
public class ItemUseAddItem extends ItemUseInt {
|
|
||||||
private int count = 0;
|
public class ItemUseAddItem extends ItemUseInt {
|
||||||
|
private int count = 0;
|
||||||
public ItemUseAddItem(String[] useParam) {
|
|
||||||
super(useParam);
|
@Override
|
||||||
try {
|
public ItemUseOp getItemUseOp() {
|
||||||
this.count = Integer.parseInt(useParam[1]);
|
return ItemUseOp.ITEM_USE_ADD_ITEM;
|
||||||
} catch (NumberFormatException | ArrayIndexOutOfBoundsException ignored) {
|
}
|
||||||
}
|
|
||||||
}
|
public ItemUseAddItem(String[] useParam) {
|
||||||
|
super(useParam);
|
||||||
@Override
|
try {
|
||||||
public ItemUseOp getItemUseOp() {
|
this.count = Integer.parseInt(useParam[1]);
|
||||||
return ItemUseOp.ITEM_USE_ADD_ITEM;
|
} catch (NumberFormatException | ArrayIndexOutOfBoundsException ignored) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean useItem(UseItemParams params) {
|
public boolean useItem(UseItemParams params) {
|
||||||
return params.player.getInventory().addItem(this.i, this.count * params.count);
|
return params.player.getInventory().addItem(this.i, this.count * params.count, ActionReason.PlayerUseItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
package emu.grasscutter.server.packet.recv;
|
||||||
|
|
||||||
|
import emu.grasscutter.net.packet.Opcodes;
|
||||||
|
import emu.grasscutter.net.packet.PacketHandler;
|
||||||
|
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||||
|
import emu.grasscutter.server.game.GameSession;
|
||||||
|
import emu.grasscutter.server.packet.send.PacketBuyResinRsp;
|
||||||
|
|
||||||
|
@Opcodes(PacketOpcodes.BuyResinReq)
|
||||||
|
public class HandlerBuyResinReq extends PacketHandler {
|
||||||
|
@Override
|
||||||
|
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||||
|
var player = session.getPlayer();
|
||||||
|
session.send(new PacketBuyResinRsp(player, player.getResinManager().buy()));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
|
||||||
|
package emu.grasscutter.server.packet.recv;
|
||||||
|
|
||||||
|
import javax.lang.model.type.TypeMirror;
|
||||||
|
|
||||||
|
import emu.grasscutter.net.packet.Opcodes;
|
||||||
|
import emu.grasscutter.net.packet.PacketHandler;
|
||||||
|
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||||
|
import emu.grasscutter.net.proto.SceneAudioNotifyOuterClass.SceneAudioNotify;
|
||||||
|
import emu.grasscutter.server.game.GameSession;
|
||||||
|
import emu.grasscutter.server.packet.send.PacketSceneAudioNotify;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Opcodes(PacketOpcodes.SceneAudioNotify)
|
||||||
|
public class HandlerSceneAudioNotify extends PacketHandler {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||||
|
SceneAudioNotify notify = SceneAudioNotify.parseFrom(payload);
|
||||||
|
|
||||||
|
int sourceUid = notify.getSourceUid();
|
||||||
|
List<Float> param2 = notify.getParam2List();
|
||||||
|
List<String> param3 = notify.getParam3List();
|
||||||
|
int type = notify.getType();
|
||||||
|
List<Integer> param1 = notify.getParam1List();
|
||||||
|
|
||||||
|
session.getPlayer().getScene().broadcastPacket(new PacketSceneAudioNotify(sourceUid, param2, param3, type, param1));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
|||||||
|
package emu.grasscutter.server.packet.send;
|
||||||
|
|
||||||
|
import emu.grasscutter.game.player.Player;
|
||||||
|
import emu.grasscutter.game.props.PlayerProperty;
|
||||||
|
import emu.grasscutter.net.packet.BasePacket;
|
||||||
|
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||||
|
import emu.grasscutter.net.proto.BuyResinRspOuterClass;
|
||||||
|
|
||||||
|
public class PacketBuyResinRsp extends BasePacket {
|
||||||
|
public PacketBuyResinRsp(Player player, int ret) {
|
||||||
|
super(PacketOpcodes.BuyResinRsp);
|
||||||
|
|
||||||
|
this.setData(BuyResinRspOuterClass.BuyResinRsp.newBuilder()
|
||||||
|
.setCurValue(player.getProperty(PlayerProperty.PROP_PLAYER_RESIN))
|
||||||
|
.setRetcode(ret)
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
}
|
@ -1,24 +1,22 @@
|
|||||||
package emu.grasscutter.server.packet.send;
|
package emu.grasscutter.server.packet.send;
|
||||||
|
|
||||||
import emu.grasscutter.game.player.Player;
|
import emu.grasscutter.game.player.Player;
|
||||||
import emu.grasscutter.game.props.PlayerProperty;
|
import emu.grasscutter.game.props.PlayerProperty;
|
||||||
import emu.grasscutter.net.packet.BasePacket;
|
import emu.grasscutter.net.packet.BasePacket;
|
||||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||||
import emu.grasscutter.net.proto.ResinChangeNotifyOuterClass.ResinChangeNotify;
|
import emu.grasscutter.net.proto.ResinChangeNotifyOuterClass.ResinChangeNotify;
|
||||||
|
|
||||||
public class PacketResinChangeNotify extends BasePacket {
|
public class PacketResinChangeNotify extends BasePacket {
|
||||||
|
|
||||||
public PacketResinChangeNotify(Player player) {
|
public PacketResinChangeNotify(Player player) {
|
||||||
super(PacketOpcodes.ResinChangeNotify);
|
super(PacketOpcodes.ResinChangeNotify);
|
||||||
|
|
||||||
ResinChangeNotify proto =
|
ResinChangeNotify proto = ResinChangeNotify.newBuilder()
|
||||||
ResinChangeNotify.newBuilder()
|
.setCurValue(player.getProperty(PlayerProperty.PROP_PLAYER_RESIN))
|
||||||
.setCurValue(player.getProperty(PlayerProperty.PROP_PLAYER_RESIN))
|
.setNextAddTimestamp(player.getNextResinRefresh())
|
||||||
.setNextAddTimestamp(player.getNextResinRefresh())
|
.setCurBuyCount(player.getResinBuyCount())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
// ToDo: Add ability to buy resin with primogems, has to be included here.
|
this.setData(proto);
|
||||||
|
}
|
||||||
this.setData(proto);
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
package emu.grasscutter.server.packet.send;
|
||||||
|
|
||||||
|
import emu.grasscutter.net.packet.BasePacket;
|
||||||
|
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||||
|
import emu.grasscutter.net.proto.SceneAudioNotifyOuterClass;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class PacketSceneAudioNotify extends BasePacket {
|
||||||
|
|
||||||
|
public PacketSceneAudioNotify(int sourceUid, List<Float> param2, List<String> param3, int type, List<Integer> param1) {
|
||||||
|
super(PacketOpcodes.SceneAudioNotify);
|
||||||
|
|
||||||
|
SceneAudioNotifyOuterClass.SceneAudioNotify proto = SceneAudioNotifyOuterClass.SceneAudioNotify.newBuilder()
|
||||||
|
.setSourceUid(sourceUid)
|
||||||
|
.addAllParam2(param2)
|
||||||
|
.addAllParam3(param3)
|
||||||
|
.setType(type)
|
||||||
|
.addAllParam1(param1)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
this.setData(proto);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user