mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-05-23 23:51:25 +08:00
Add support for v3.5.0 (#2090)
* Fix Dvalin battle See https://github.com/Anime-Game-Servers/Grasscutter-Quests/pull/25. This is entirely untested and there's a 99% chance it's broken, I'm just submitting it as a draft PR so that I don't forget about its existence. Co-Authored-By: mjolsic <21289772+mjolsic@users.noreply.github.com> * Update protos * 3.4 protos * Fix Now builds successfully, don't have the time to check if I should have specified true instead of false for withChildQuests, or if this functions as intended. * Change from false to true Per what smileoflove has been told on Discord * 3.5 * Remove the Dvalin crap from this PR Git is so confusing * Update version * Apply README changes from `origin/development` * Remove unnecessary debugging information --------- Co-authored-by: mjolsic <21289772+mjolsic@users.noreply.github.com> Co-authored-by: KingRainbow44 <kobedo11@gmail.com>
This commit is contained in:
committed by
GitHub
Unverified
parent
922f7bca51
commit
516e5975e1
+46
-169
@@ -19,30 +19,35 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
com.google.protobuf.MessageOrBuilder {
|
||||
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
java.util.List<emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar>
|
||||
getVarListList();
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar getVarList(int index);
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
int getVarListCount();
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
java.util.List<? extends emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVarOrBuilder>
|
||||
getVarListOrBuilderList();
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVarOrBuilder getVarListOrBuilder(
|
||||
int index);
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* Name: ABJNGHFNOGP
|
||||
* CmdId: 426
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type {@code QuestGlobalVarNotify}
|
||||
*/
|
||||
public static final class QuestGlobalVarNotify extends
|
||||
@@ -89,7 +94,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
case 0:
|
||||
done = true;
|
||||
break;
|
||||
case 98: {
|
||||
case 34: {
|
||||
if (!((mutable_bitField0_ & 0x00000001) != 0)) {
|
||||
varList_ = new java.util.ArrayList<emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar>();
|
||||
mutable_bitField0_ |= 0x00000001;
|
||||
@@ -133,148 +138,17 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
emu.grasscutter.net.proto.QuestGlobalVarNotifyOuterClass.QuestGlobalVarNotify.class, emu.grasscutter.net.proto.QuestGlobalVarNotifyOuterClass.QuestGlobalVarNotify.Builder.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Protobuf enum {@code QuestGlobalVarNotify.JPMJBPBHBDK}
|
||||
*/
|
||||
public enum JPMJBPBHBDK
|
||||
implements com.google.protobuf.ProtocolMessageEnum {
|
||||
/**
|
||||
* <code>NONE = 0;</code>
|
||||
*/
|
||||
NONE(0, 0),
|
||||
/**
|
||||
* <code>PEPPOHPHJOJ = 451;</code>
|
||||
*/
|
||||
PEPPOHPHJOJ(1, 451),
|
||||
/**
|
||||
* <code>NNBKOLMPOEA = 1;</code>
|
||||
*/
|
||||
NNBKOLMPOEA(3, 1),
|
||||
UNRECOGNIZED(-1, -1),
|
||||
;
|
||||
|
||||
/**
|
||||
* <code>DCDNILFDFLB = 0;</code>
|
||||
*/
|
||||
public static final JPMJBPBHBDK DCDNILFDFLB = NONE;
|
||||
/**
|
||||
* <code>NONE = 0;</code>
|
||||
*/
|
||||
public static final int NONE_VALUE = 0;
|
||||
/**
|
||||
* <code>PEPPOHPHJOJ = 451;</code>
|
||||
*/
|
||||
public static final int PEPPOHPHJOJ_VALUE = 451;
|
||||
/**
|
||||
* <code>DCDNILFDFLB = 0;</code>
|
||||
*/
|
||||
public static final int DCDNILFDFLB_VALUE = 0;
|
||||
/**
|
||||
* <code>NNBKOLMPOEA = 1;</code>
|
||||
*/
|
||||
public static final int NNBKOLMPOEA_VALUE = 1;
|
||||
|
||||
|
||||
public final int getNumber() {
|
||||
if (index == -1) {
|
||||
throw new java.lang.IllegalArgumentException(
|
||||
"Can't get the number of an unknown enum value.");
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param value The numeric wire value of the corresponding enum entry.
|
||||
* @return The enum associated with the given numeric wire value.
|
||||
* @deprecated Use {@link #forNumber(int)} instead.
|
||||
*/
|
||||
@java.lang.Deprecated
|
||||
public static JPMJBPBHBDK valueOf(int value) {
|
||||
return forNumber(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param value The numeric wire value of the corresponding enum entry.
|
||||
* @return The enum associated with the given numeric wire value.
|
||||
*/
|
||||
public static JPMJBPBHBDK forNumber(int value) {
|
||||
switch (value) {
|
||||
case 0: return NONE;
|
||||
case 451: return PEPPOHPHJOJ;
|
||||
case 1: return NNBKOLMPOEA;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static com.google.protobuf.Internal.EnumLiteMap<JPMJBPBHBDK>
|
||||
internalGetValueMap() {
|
||||
return internalValueMap;
|
||||
}
|
||||
private static final com.google.protobuf.Internal.EnumLiteMap<
|
||||
JPMJBPBHBDK> internalValueMap =
|
||||
new com.google.protobuf.Internal.EnumLiteMap<JPMJBPBHBDK>() {
|
||||
public JPMJBPBHBDK findValueByNumber(int number) {
|
||||
return JPMJBPBHBDK.forNumber(number);
|
||||
}
|
||||
};
|
||||
|
||||
public final com.google.protobuf.Descriptors.EnumValueDescriptor
|
||||
getValueDescriptor() {
|
||||
if (index == -1) {
|
||||
throw new java.lang.IllegalStateException(
|
||||
"Can't get the descriptor of an unrecognized enum value.");
|
||||
}
|
||||
return getDescriptor().getValues().get(index);
|
||||
}
|
||||
public final com.google.protobuf.Descriptors.EnumDescriptor
|
||||
getDescriptorForType() {
|
||||
return getDescriptor();
|
||||
}
|
||||
public static final com.google.protobuf.Descriptors.EnumDescriptor
|
||||
getDescriptor() {
|
||||
return emu.grasscutter.net.proto.QuestGlobalVarNotifyOuterClass.QuestGlobalVarNotify.getDescriptor().getEnumTypes().get(0);
|
||||
}
|
||||
|
||||
private static final JPMJBPBHBDK[] VALUES = getStaticValuesArray();
|
||||
private static JPMJBPBHBDK[] getStaticValuesArray() {
|
||||
return new JPMJBPBHBDK[] {
|
||||
NONE, PEPPOHPHJOJ, DCDNILFDFLB, NNBKOLMPOEA,
|
||||
};
|
||||
}
|
||||
public static JPMJBPBHBDK valueOf(
|
||||
com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
|
||||
if (desc.getType() != getDescriptor()) {
|
||||
throw new java.lang.IllegalArgumentException(
|
||||
"EnumValueDescriptor is not for this type.");
|
||||
}
|
||||
if (desc.getIndex() == -1) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
return VALUES[desc.getIndex()];
|
||||
}
|
||||
|
||||
private final int index;
|
||||
private final int value;
|
||||
|
||||
private JPMJBPBHBDK(int index, int value) {
|
||||
this.index = index;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
// @@protoc_insertion_point(enum_scope:QuestGlobalVarNotify.JPMJBPBHBDK)
|
||||
}
|
||||
|
||||
public static final int VARLIST_FIELD_NUMBER = 12;
|
||||
public static final int VAR_LIST_FIELD_NUMBER = 4;
|
||||
private java.util.List<emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar> varList_;
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
@java.lang.Override
|
||||
public java.util.List<emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar> getVarListList() {
|
||||
return varList_;
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
@java.lang.Override
|
||||
public java.util.List<? extends emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVarOrBuilder>
|
||||
@@ -282,21 +156,21 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
return varList_;
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
@java.lang.Override
|
||||
public int getVarListCount() {
|
||||
return varList_.size();
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
@java.lang.Override
|
||||
public emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar getVarList(int index) {
|
||||
return varList_.get(index);
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
@java.lang.Override
|
||||
public emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVarOrBuilder getVarListOrBuilder(
|
||||
@@ -319,7 +193,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
public void writeTo(com.google.protobuf.CodedOutputStream output)
|
||||
throws java.io.IOException {
|
||||
for (int i = 0; i < varList_.size(); i++) {
|
||||
output.writeMessage(12, varList_.get(i));
|
||||
output.writeMessage(4, varList_.get(i));
|
||||
}
|
||||
unknownFields.writeTo(output);
|
||||
}
|
||||
@@ -332,7 +206,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
size = 0;
|
||||
for (int i = 0; i < varList_.size(); i++) {
|
||||
size += com.google.protobuf.CodedOutputStream
|
||||
.computeMessageSize(12, varList_.get(i));
|
||||
.computeMessageSize(4, varList_.get(i));
|
||||
}
|
||||
size += unknownFields.getSerializedSize();
|
||||
memoizedSize = size;
|
||||
@@ -363,7 +237,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
int hash = 41;
|
||||
hash = (19 * hash) + getDescriptor().hashCode();
|
||||
if (getVarListCount() > 0) {
|
||||
hash = (37 * hash) + VARLIST_FIELD_NUMBER;
|
||||
hash = (37 * hash) + VAR_LIST_FIELD_NUMBER;
|
||||
hash = (53 * hash) + getVarListList().hashCode();
|
||||
}
|
||||
hash = (29 * hash) + unknownFields.hashCode();
|
||||
@@ -462,6 +336,11 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
return builder;
|
||||
}
|
||||
/**
|
||||
* <pre>
|
||||
* Name: ABJNGHFNOGP
|
||||
* CmdId: 426
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type {@code QuestGlobalVarNotify}
|
||||
*/
|
||||
public static final class Builder extends
|
||||
@@ -659,7 +538,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar, emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar.Builder, emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVarOrBuilder> varListBuilder_;
|
||||
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public java.util.List<emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar> getVarListList() {
|
||||
if (varListBuilder_ == null) {
|
||||
@@ -669,7 +548,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
}
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public int getVarListCount() {
|
||||
if (varListBuilder_ == null) {
|
||||
@@ -679,7 +558,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
}
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar getVarList(int index) {
|
||||
if (varListBuilder_ == null) {
|
||||
@@ -689,7 +568,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
}
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public Builder setVarList(
|
||||
int index, emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar value) {
|
||||
@@ -706,7 +585,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public Builder setVarList(
|
||||
int index, emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar.Builder builderForValue) {
|
||||
@@ -720,7 +599,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public Builder addVarList(emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar value) {
|
||||
if (varListBuilder_ == null) {
|
||||
@@ -736,7 +615,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public Builder addVarList(
|
||||
int index, emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar value) {
|
||||
@@ -753,7 +632,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public Builder addVarList(
|
||||
emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar.Builder builderForValue) {
|
||||
@@ -767,7 +646,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public Builder addVarList(
|
||||
int index, emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar.Builder builderForValue) {
|
||||
@@ -781,7 +660,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public Builder addAllVarList(
|
||||
java.lang.Iterable<? extends emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar> values) {
|
||||
@@ -796,7 +675,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public Builder clearVarList() {
|
||||
if (varListBuilder_ == null) {
|
||||
@@ -809,7 +688,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public Builder removeVarList(int index) {
|
||||
if (varListBuilder_ == null) {
|
||||
@@ -822,14 +701,14 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar.Builder getVarListBuilder(
|
||||
int index) {
|
||||
return getVarListFieldBuilder().getBuilder(index);
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVarOrBuilder getVarListOrBuilder(
|
||||
int index) {
|
||||
@@ -839,7 +718,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
}
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public java.util.List<? extends emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVarOrBuilder>
|
||||
getVarListOrBuilderList() {
|
||||
@@ -850,14 +729,14 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
}
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar.Builder addVarListBuilder() {
|
||||
return getVarListFieldBuilder().addBuilder(
|
||||
emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar.getDefaultInstance());
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar.Builder addVarListBuilder(
|
||||
int index) {
|
||||
@@ -865,7 +744,7 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
index, emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar.getDefaultInstance());
|
||||
}
|
||||
/**
|
||||
* <code>repeated .QuestGlobalVar varList = 12;</code>
|
||||
* <code>repeated .QuestGlobalVar var_list = 4;</code>
|
||||
*/
|
||||
public java.util.List<emu.grasscutter.net.proto.QuestGlobalVarOuterClass.QuestGlobalVar.Builder>
|
||||
getVarListBuilderList() {
|
||||
@@ -953,11 +832,9 @@ public final class QuestGlobalVarNotifyOuterClass {
|
||||
static {
|
||||
java.lang.String[] descriptorData = {
|
||||
"\n\032QuestGlobalVarNotify.proto\032\024QuestGloba" +
|
||||
"lVar.proto\"\211\001\n\024QuestGlobalVarNotify\022 \n\007v" +
|
||||
"arList\030\014 \003(\0132\017.QuestGlobalVar\"O\n\013JPMJBPB" +
|
||||
"HBDK\022\010\n\004NONE\020\000\022\020\n\013PEPPOHPHJOJ\020\303\003\022\017\n\013DCDN" +
|
||||
"ILFDFLB\020\000\022\017\n\013NNBKOLMPOEA\020\001\032\002\020\001B\033\n\031emu.gr" +
|
||||
"asscutter.net.protob\006proto3"
|
||||
"lVar.proto\"9\n\024QuestGlobalVarNotify\022!\n\010va" +
|
||||
"r_list\030\004 \003(\0132\017.QuestGlobalVarB\033\n\031emu.gra" +
|
||||
"sscutter.net.protob\006proto3"
|
||||
};
|
||||
descriptor = com.google.protobuf.Descriptors.FileDescriptor
|
||||
.internalBuildGeneratedFileFrom(descriptorData,
|
||||
|
||||
Reference in New Issue
Block a user