chore: rev 194
This commit is contained in:
@@ -4,301 +4,138 @@ import net.runelite.mapping.Implements;
|
||||
import net.runelite.mapping.ObfuscatedGetter;
|
||||
import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
import net.runelite.rs.ScriptOpcodes;
|
||||
|
||||
@ObfuscatedName("gi")
|
||||
@ObfuscatedName("gp")
|
||||
@Implements("Language")
|
||||
public class Language implements Enumerated {
|
||||
@ObfuscatedName("h")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgi;"
|
||||
)
|
||||
@Export("Language_EN")
|
||||
public static final Language Language_EN;
|
||||
@ObfuscatedName("v")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgi;"
|
||||
)
|
||||
@Export("Language_DE")
|
||||
static final Language Language_DE;
|
||||
@ObfuscatedName("x")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgi;"
|
||||
)
|
||||
@Export("Language_FR")
|
||||
public static final Language Language_FR;
|
||||
@ObfuscatedName("w")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgi;"
|
||||
)
|
||||
@Export("Language_PT")
|
||||
static final Language Language_PT;
|
||||
@ObfuscatedName("t")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgi;"
|
||||
)
|
||||
@Export("Language_NL")
|
||||
static final Language Language_NL;
|
||||
@ObfuscatedName("j")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgi;"
|
||||
)
|
||||
@Export("Language_ES")
|
||||
public static final Language Language_ES;
|
||||
@ObfuscatedName("n")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgi;"
|
||||
)
|
||||
@Export("Language_ES_MX")
|
||||
static final Language Language_ES_MX;
|
||||
@ObfuscatedName("u")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "[Lgi;"
|
||||
)
|
||||
@Export("Language_valuesOrdered")
|
||||
static final Language[] Language_valuesOrdered;
|
||||
@ObfuscatedName("p")
|
||||
final String field2380;
|
||||
@ObfuscatedName("l")
|
||||
@Export("language")
|
||||
final String language;
|
||||
@ObfuscatedName("z")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 1680963867
|
||||
)
|
||||
@Export("id")
|
||||
final int id;
|
||||
@ObfuscatedName("n")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgp;"
|
||||
)
|
||||
@Export("Language_EN")
|
||||
public static final Language Language_EN;
|
||||
@ObfuscatedName("v")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgp;"
|
||||
)
|
||||
@Export("Language_DE")
|
||||
static final Language Language_DE;
|
||||
@ObfuscatedName("d")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgp;"
|
||||
)
|
||||
@Export("Language_FR")
|
||||
public static final Language Language_FR;
|
||||
@ObfuscatedName("c")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgp;"
|
||||
)
|
||||
@Export("Language_PT")
|
||||
static final Language Language_PT;
|
||||
@ObfuscatedName("y")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgp;"
|
||||
)
|
||||
@Export("Language_NL")
|
||||
static final Language Language_NL;
|
||||
@ObfuscatedName("h")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgp;"
|
||||
)
|
||||
@Export("Language_ES")
|
||||
public static final Language Language_ES;
|
||||
@ObfuscatedName("z")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "Lgp;"
|
||||
)
|
||||
@Export("Language_ES_MX")
|
||||
static final Language Language_ES_MX;
|
||||
@ObfuscatedName("s")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "[Lgp;"
|
||||
)
|
||||
@Export("Language_valuesOrdered")
|
||||
static final Language[] Language_valuesOrdered;
|
||||
@ObfuscatedName("e")
|
||||
final String field2387;
|
||||
@ObfuscatedName("q")
|
||||
@Export("language")
|
||||
final String language;
|
||||
@ObfuscatedName("l")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 426516807
|
||||
)
|
||||
@Export("id")
|
||||
final int id;
|
||||
|
||||
static {
|
||||
Language_EN = new Language("EN", "en", "English", ModeWhere.field2402, 0, "GB"); // L: 10
|
||||
Language_DE = new Language("DE", "de", "German", ModeWhere.field2402, 1, "DE"); // L: 11
|
||||
Language_FR = new Language("FR", "fr", "French", ModeWhere.field2402, 2, "FR"); // L: 12
|
||||
Language_PT = new Language("PT", "pt", "Portuguese", ModeWhere.field2402, 3, "BR"); // L: 13
|
||||
Language_NL = new Language("NL", "nl", "Dutch", ModeWhere.field2397, 4, "NL"); // L: 14
|
||||
Language_ES = new Language("ES", "es", "Spanish", ModeWhere.field2397, 5, "ES"); // L: 15
|
||||
Language_ES_MX = new Language("ES_MX", "es-mx", "Spanish (Latin American)", ModeWhere.field2402, 6, "MX"); // L: 16
|
||||
Language[] var0 = method3708(); // L: 23
|
||||
Language_valuesOrdered = new Language[var0.length]; // L: 24
|
||||
Language[] var1 = var0; // L: 26
|
||||
static {
|
||||
Language_EN = new Language("EN", "en", "English", ModeWhere.field2420, 0, "GB");
|
||||
Language_DE = new Language("DE", "de", "German", ModeWhere.field2420, 1, "DE");
|
||||
Language_FR = new Language("FR", "fr", "French", ModeWhere.field2420, 2, "FR");
|
||||
Language_PT = new Language("PT", "pt", "Portuguese", ModeWhere.field2420, 3, "BR");
|
||||
Language_NL = new Language("NL", "nl", "Dutch", ModeWhere.field2405, 4, "NL");
|
||||
Language_ES = new Language("ES", "es", "Spanish", ModeWhere.field2405, 5, "ES");
|
||||
Language_ES_MX = new Language("ES_MX", "es-mx", "Spanish (Latin American)", ModeWhere.field2420, 6, "MX");
|
||||
Language[] var0 = new Language[]{Language_FR, Language_DE, Language_ES, Language_NL, Language_PT, Language_EN, Language_ES_MX};
|
||||
Language_valuesOrdered = new Language[var0.length];
|
||||
Language[] var2 = var0;
|
||||
|
||||
for (int var2 = 0; var2 < var1.length; ++var2) { // L: 27
|
||||
Language var3 = var1[var2]; // L: 28
|
||||
if (Language_valuesOrdered[var3.id] != null) { // L: 30
|
||||
throw new IllegalStateException(); // L: 31
|
||||
}
|
||||
for(int var3 = 0; var3 < var2.length; ++var3) {
|
||||
Language var4 = var2[var3];
|
||||
if (Language_valuesOrdered[var4.id] != null) {
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
|
||||
Language_valuesOrdered[var3.id] = var3; // L: 33
|
||||
}
|
||||
Language_valuesOrdered[var4.id] = var4;
|
||||
}
|
||||
|
||||
} // L: 37
|
||||
}
|
||||
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lge;ILjava/lang/String;)V"
|
||||
)
|
||||
Language(String var1, String var2, String var3, ModeWhere var4, int var5, String var6) {
|
||||
this.field2380 = var1; // L: 44
|
||||
this.language = var2; // L: 45
|
||||
this.id = var5; // L: 46
|
||||
if (var6 != null) { // L: 47
|
||||
new Locale(var2.substring(0, 2), var6); // L: 48
|
||||
} else {
|
||||
new Locale(var2.substring(0, 2)); // L: 51
|
||||
}
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lgw;ILjava/lang/String;)V"
|
||||
)
|
||||
Language(String var1, String var2, String var3, ModeWhere var4, int var5, String var6) {
|
||||
this.field2387 = var1;
|
||||
this.language = var2;
|
||||
this.id = var5;
|
||||
if (var6 != null) {
|
||||
new Locale(var2.substring(0, 2), var6);
|
||||
} else {
|
||||
new Locale(var2.substring(0, 2));
|
||||
}
|
||||
|
||||
} // L: 53
|
||||
}
|
||||
|
||||
@ObfuscatedName("v")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(I)Ljava/lang/String;",
|
||||
garbageValue = "379304040"
|
||||
)
|
||||
@Export("getLanguage")
|
||||
String getLanguage() {
|
||||
return this.language; // L: 56
|
||||
}
|
||||
@ObfuscatedName("n")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(B)Ljava/lang/String;",
|
||||
garbageValue = "-40"
|
||||
)
|
||||
@Export("getLanguage")
|
||||
String getLanguage() {
|
||||
return this.language;
|
||||
}
|
||||
|
||||
@ObfuscatedName("x")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(I)I",
|
||||
garbageValue = "-275768542"
|
||||
)
|
||||
@Export("rsOrdinal")
|
||||
public int rsOrdinal() {
|
||||
return this.id; // L: 60
|
||||
}
|
||||
@ObfuscatedName("v")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(B)I",
|
||||
garbageValue = "63"
|
||||
)
|
||||
@Export("rsOrdinal")
|
||||
public int rsOrdinal() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this.getLanguage().toLowerCase(Locale.ENGLISH);
|
||||
}
|
||||
public String toString() {
|
||||
return this.getLanguage().toLowerCase(Locale.ENGLISH);
|
||||
}
|
||||
|
||||
@ObfuscatedName("h")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(I)[Lgi;",
|
||||
garbageValue = "-1061791428"
|
||||
)
|
||||
static Language[] method3708() {
|
||||
return new Language[]{Language_PT, Language_NL, Language_ES, Language_DE, Language_EN, Language_FR, Language_ES_MX}; // L: 40
|
||||
}
|
||||
|
||||
@ObfuscatedName("w")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(IB)Lgi;",
|
||||
garbageValue = "-1"
|
||||
)
|
||||
public static Language method3701(int var0) {
|
||||
return var0 >= 0 && var0 < Language_valuesOrdered.length ? Language_valuesOrdered[var0] : null;
|
||||
}
|
||||
|
||||
@ObfuscatedName("t")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(II)V",
|
||||
garbageValue = "684258970"
|
||||
)
|
||||
@Export("clearItemContainer")
|
||||
static void clearItemContainer(int var0) {
|
||||
ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); // L: 63
|
||||
if (var1 != null) { // L: 64
|
||||
for (int var2 = 0; var2 < var1.ids.length; ++var2) { // L: 65
|
||||
var1.ids[var2] = -1; // L: 66
|
||||
var1.quantities[var2] = 0; // L: 67
|
||||
}
|
||||
|
||||
}
|
||||
} // L: 69
|
||||
|
||||
@ObfuscatedName("ax")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(ILcs;ZB)I",
|
||||
garbageValue = "59"
|
||||
)
|
||||
static int method3709(int var0, Script var1, boolean var2) {
|
||||
if (var0 == ScriptOpcodes.CLIENTCLOCK) { // L: 1781
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.cycle; // L: 1782
|
||||
return 1; // L: 1783
|
||||
} else {
|
||||
int var3;
|
||||
int var4;
|
||||
if (var0 == ScriptOpcodes.INV_GETOBJ) { // L: 1785
|
||||
VarcInt.Interpreter_intStackSize -= 2; // L: 1786
|
||||
var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1787
|
||||
var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1788
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = class60.method942(var3, var4); // L: 1789
|
||||
return 1; // L: 1790
|
||||
} else if (var0 == ScriptOpcodes.INV_GETNUM) { // L: 1792
|
||||
VarcInt.Interpreter_intStackSize -= 2; // L: 1793
|
||||
var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1794
|
||||
var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1795
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = class8.ItemContainer_getCount(var3, var4); // L: 1796
|
||||
return 1; // L: 1797
|
||||
} else if (var0 == ScriptOpcodes.INV_TOTAL) { // L: 1799
|
||||
VarcInt.Interpreter_intStackSize -= 2; // L: 1800
|
||||
var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1801
|
||||
var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1802
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Frames.method3356(var3, var4); // L: 1803
|
||||
return 1; // L: 1804
|
||||
} else if (var0 == ScriptOpcodes.INV_SIZE) { // L: 1806
|
||||
var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1807
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = LoginScreenAnimation.getInvDefinition(var3).size; // L: 1808
|
||||
return 1; // L: 1809
|
||||
} else if (var0 == ScriptOpcodes.STAT) { // L: 1811
|
||||
var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1812
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.currentLevels[var3]; // L: 1813
|
||||
return 1; // L: 1814
|
||||
} else if (var0 == ScriptOpcodes.STAT_BASE) { // L: 1816
|
||||
var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1817
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.levels[var3]; // L: 1818
|
||||
return 1; // L: 1819
|
||||
} else if (var0 == ScriptOpcodes.STAT_XP) { // L: 1821
|
||||
var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1822
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.experience[var3]; // L: 1823
|
||||
return 1; // L: 1824
|
||||
} else {
|
||||
int var5;
|
||||
if (var0 == ScriptOpcodes.COORD) { // L: 1826
|
||||
var3 = GameObject.Client_plane; // L: 1827
|
||||
var4 = (PlayerComposition.localPlayer.x >> 7) + NetFileRequest.baseX; // L: 1828
|
||||
var5 = (PlayerComposition.localPlayer.y >> 7) + class41.baseY; // L: 1829
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = (var4 << 14) + var5 + (var3 << 28); // L: 1830
|
||||
return 1; // L: 1831
|
||||
} else if (var0 == ScriptOpcodes.COORDX) { // L: 1833
|
||||
var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1834
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3 >> 14 & 16383; // L: 1835
|
||||
return 1; // L: 1836
|
||||
} else if (var0 == ScriptOpcodes.COORDZ) { // L: 1838
|
||||
var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1839
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3 >> 28; // L: 1840
|
||||
return 1; // L: 1841
|
||||
} else if (var0 == ScriptOpcodes.COORDY) { // L: 1843
|
||||
var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1844
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3 & 16383; // L: 1845
|
||||
return 1; // L: 1846
|
||||
} else if (var0 == ScriptOpcodes.MAP_MEMBERS) { // L: 1848
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.isMembersWorld ? 1 : 0; // L: 1849
|
||||
return 1; // L: 1850
|
||||
} else if (var0 == ScriptOpcodes.INVOTHER_GETOBJ) { // L: 1852
|
||||
VarcInt.Interpreter_intStackSize -= 2; // L: 1853
|
||||
var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] + 32768; // L: 1854
|
||||
var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1855
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = class60.method942(var3, var4); // L: 1856
|
||||
return 1; // L: 1857
|
||||
} else if (var0 == ScriptOpcodes.INVOTHER_GETNUM) { // L: 1859
|
||||
VarcInt.Interpreter_intStackSize -= 2; // L: 1860
|
||||
var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] + 32768; // L: 1861
|
||||
var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1862
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = class8.ItemContainer_getCount(var3, var4); // L: 1863
|
||||
return 1; // L: 1864
|
||||
} else if (var0 == ScriptOpcodes.INVOTHER_TOTAL) { // L: 1866
|
||||
VarcInt.Interpreter_intStackSize -= 2; // L: 1867
|
||||
var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] + 32768; // L: 1868
|
||||
var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1869
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Frames.method3356(var3, var4); // L: 1870
|
||||
return 1; // L: 1871
|
||||
} else if (var0 == ScriptOpcodes.STAFFMODLEVEL) { // L: 1873
|
||||
if (Client.staffModLevel >= 2) { // L: 1874
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.staffModLevel;
|
||||
} else {
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1875
|
||||
}
|
||||
|
||||
return 1; // L: 1876
|
||||
} else if (var0 == ScriptOpcodes.REBOOTTIMER) { // L: 1878
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.rebootTimer; // L: 1879
|
||||
return 1; // L: 1880
|
||||
} else if (var0 == ScriptOpcodes.MAP_WORLD) { // L: 1882
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.worldId; // L: 1883
|
||||
return 1; // L: 1884
|
||||
} else if (var0 == ScriptOpcodes.RUNENERGY_VISIBLE) { // L: 1886
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.runEnergy; // L: 1887
|
||||
return 1; // L: 1888
|
||||
} else if (var0 == ScriptOpcodes.RUNWEIGHT_VISIBLE) { // L: 1890
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.weight; // L: 1891
|
||||
return 1; // L: 1892
|
||||
} else if (var0 == ScriptOpcodes.PLAYERMOD) { // L: 1894
|
||||
if (Client.playerMod) { // L: 1895
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 1;
|
||||
} else {
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1896
|
||||
}
|
||||
|
||||
return 1; // L: 1897
|
||||
} else if (var0 == ScriptOpcodes.WORLDFLAGS) { // L: 1899
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.worldProperties; // L: 1900
|
||||
return 1; // L: 1901
|
||||
} else if (var0 == ScriptOpcodes.MOVECOORD) { // L: 1903
|
||||
VarcInt.Interpreter_intStackSize -= 4; // L: 1904
|
||||
var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1905
|
||||
var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1906
|
||||
var5 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 1907
|
||||
int var6 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 3]; // L: 1908
|
||||
var3 += var4 << 14; // L: 1909
|
||||
var3 += var5 << 28; // L: 1910
|
||||
var3 += var6; // L: 1911
|
||||
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3; // L: 1912
|
||||
return 1; // L: 1913
|
||||
} else {
|
||||
return 2; // L: 1915
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ObfuscatedName("d")
|
||||
@ObfuscatedSignature(
|
||||
descriptor = "(IB)Lgp;",
|
||||
garbageValue = "-86"
|
||||
)
|
||||
public static Language method3854(int var0) {
|
||||
return var0 >= 0 && var0 < Language_valuesOrdered.length ? Language_valuesOrdered[var0] : null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user