mirror of
https://github.com/Crazy-Crew/CrazyAuctions.git
synced 2025-01-23 21:51:37 +01:00
Grammer changes
This commit is contained in:
parent
8ea1e39db8
commit
8d9ba73247
@ -18,7 +18,6 @@ import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.BookMeta;
|
||||
import org.bukkit.permissions.PermissionAttachmentInfo;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.yaml.snakeyaml.error.YAMLException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -373,16 +372,12 @@ public class Main extends JavaPlugin implements Listener {
|
||||
public void onJoin(PlayerJoinEvent e) {
|
||||
final Player player = e.getPlayer();
|
||||
if (player.getName().equalsIgnoreCase("BadBones69")) {
|
||||
Bukkit.getScheduler().runTaskLater(this, () -> {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color("&7This server is running your Crazy Auctions Plugin. " + "&7It is running version &av" + Bukkit.getServer().getPluginManager().getPlugin("CrazyAuctions").getDescription().getVersion() + "&7."));
|
||||
}, 40);
|
||||
Bukkit.getScheduler().runTaskLater(this, () -> player.sendMessage(Methods.getPrefix() + Methods.color("&7This server is running your Crazy Auctions Plugin. " + "&7It is running version &av" + Bukkit.getServer().getPluginManager().getPlugin("CrazyAuctions").getDescription().getVersion() + "&7.")), 40);
|
||||
}
|
||||
}
|
||||
|
||||
private void startCheck() {
|
||||
Bukkit.getScheduler().runTaskTimer(this, () -> {
|
||||
Methods.updateAuction();
|
||||
}, 20, 5 * 20);
|
||||
Bukkit.getScheduler().runTaskTimer(this, Methods :: updateAuction, 20, 5 * 20);
|
||||
}
|
||||
|
||||
private ArrayList<Material> getDamageableItems() {
|
||||
|
@ -63,7 +63,7 @@ public class Methods {
|
||||
try {
|
||||
item = new ItemStack(m, amount, (short) ty);
|
||||
} catch (Exception e) {
|
||||
if (Version.getCurrentVersion().isNewer(Version.v1_12_R1)) {
|
||||
if (Version.isNewer(Version.v1_12_R1)) {
|
||||
item = new ItemStack(Material.matchMaterial("RED_TERRACOTTA"), 1);
|
||||
|
||||
} else {
|
||||
@ -85,7 +85,7 @@ public class Methods {
|
||||
try {
|
||||
item = new ItemStack(m, amount, (short) ty);
|
||||
} catch (Exception e) {
|
||||
if (Version.getCurrentVersion().isNewer(Version.v1_12_R1)) {
|
||||
if (Version.isNewer(Version.v1_12_R1)) {
|
||||
item = new ItemStack(Material.matchMaterial("RED_TERRACOTTA"), 1);
|
||||
|
||||
} else {
|
||||
@ -111,7 +111,7 @@ public class Methods {
|
||||
try {
|
||||
item = new ItemStack(m, amount, (short) ty);
|
||||
} catch (Exception e) {
|
||||
if (Version.getCurrentVersion().isNewer(Version.v1_12_R1)) {
|
||||
if (Version.isNewer(Version.v1_12_R1)) {
|
||||
item = new ItemStack(Material.matchMaterial("RED_TERRACOTTA"), 1);
|
||||
|
||||
} else {
|
||||
|
@ -15,20 +15,20 @@ public enum Category {
|
||||
POTIONS("Potions", getPotions()),
|
||||
BLOCKS("Blocks", getBlocks());
|
||||
|
||||
private String Name;
|
||||
private ArrayList<Material> Items;
|
||||
private final String name;
|
||||
private final ArrayList<Material> items;
|
||||
|
||||
/**
|
||||
* @param name Name of the Shop Type.
|
||||
*/
|
||||
private Category(String name, ArrayList<Material> items) {
|
||||
this.Name = name;
|
||||
this.Items = items;
|
||||
this.name = name;
|
||||
this.items = items;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param name Name of the Type you want.
|
||||
* @return Returns the Type as a Enum.
|
||||
* @return Returns the Type as an Enum.
|
||||
*/
|
||||
public static Category getFromName(String name) {
|
||||
for (Category type : Category.values()) {
|
||||
@ -41,7 +41,7 @@ public enum Category {
|
||||
|
||||
private static ArrayList<Material> getArmor() {
|
||||
ArrayList<Material> ma = new ArrayList<>();
|
||||
if (Version.getCurrentVersion().isNewer(Version.v1_12_R1)) {
|
||||
if (Version.isNewer(Version.v1_12_R1)) {
|
||||
ma.add(Material.matchMaterial("GOLDEN_HELMET"));
|
||||
ma.add(Material.matchMaterial("GOLDEN_CHESTPLATE"));
|
||||
ma.add(Material.matchMaterial("GOLDEN_LEGGINGS"));
|
||||
@ -68,7 +68,7 @@ public enum Category {
|
||||
ma.add(Material.DIAMOND_CHESTPLATE);
|
||||
ma.add(Material.DIAMOND_LEGGINGS);
|
||||
ma.add(Material.DIAMOND_BOOTS);
|
||||
if (Version.getCurrentVersion().isNewer(Version.v1_15_R1)) {
|
||||
if (Version.isNewer(Version.v1_15_R1)) {
|
||||
ma.add(Material.NETHERITE_HELMET);
|
||||
ma.add(Material.NETHERITE_CHESTPLATE);
|
||||
ma.add(Material.NETHERITE_LEGGINGS);
|
||||
@ -79,7 +79,7 @@ public enum Category {
|
||||
|
||||
private static ArrayList<Material> getTools() {
|
||||
ArrayList<Material> ma = new ArrayList<>();
|
||||
if (Version.getCurrentVersion().isNewer(Version.v1_12_R1)) {
|
||||
if (Version.isNewer(Version.v1_12_R1)) {
|
||||
ma.add(Material.matchMaterial("WOODEN_PICKAXE"));
|
||||
ma.add(Material.matchMaterial("WOODEN_AXE"));
|
||||
ma.add(Material.matchMaterial("WOODEN_SHOVEL"));
|
||||
@ -113,7 +113,7 @@ public enum Category {
|
||||
ma.add(Material.STONE_HOE);
|
||||
ma.add(Material.IRON_HOE);
|
||||
ma.add(Material.DIAMOND_HOE);
|
||||
if (Version.getCurrentVersion().isNewer(Version.v1_15_R1)) {
|
||||
if (Version.isNewer(Version.v1_15_R1)) {
|
||||
ma.add(Material.NETHERITE_PICKAXE);
|
||||
ma.add(Material.NETHERITE_AXE);
|
||||
ma.add(Material.NETHERITE_HOE);
|
||||
@ -124,7 +124,7 @@ public enum Category {
|
||||
|
||||
private static ArrayList<Material> getWeapons() {
|
||||
ArrayList<Material> ma = new ArrayList<>();
|
||||
if (Version.getCurrentVersion().isNewer(Version.v1_12_R1)) {
|
||||
if (Version.isNewer(Version.v1_12_R1)) {
|
||||
ma.add(Material.matchMaterial("WOODEN_SWORD"));
|
||||
ma.add(Material.matchMaterial("WOODEN_AXE"));
|
||||
ma.add(Material.matchMaterial("GOLDEN_SWORD"));
|
||||
@ -142,7 +142,7 @@ public enum Category {
|
||||
ma.add(Material.IRON_AXE);
|
||||
ma.add(Material.DIAMOND_AXE);
|
||||
ma.add(Material.BOW);
|
||||
if (Version.getCurrentVersion().isNewer(Version.v1_15_R1)) {
|
||||
if (Version.isNewer(Version.v1_15_R1)) {
|
||||
ma.add(Material.NETHERITE_SWORD);
|
||||
ma.add(Material.NETHERITE_AXE);
|
||||
}
|
||||
@ -195,11 +195,11 @@ public enum Category {
|
||||
* @return Returns the type name as a string.
|
||||
*/
|
||||
public String getName() {
|
||||
return Name;
|
||||
return name;
|
||||
}
|
||||
|
||||
public ArrayList<Material> getItems() {
|
||||
return Items;
|
||||
return items;
|
||||
}
|
||||
|
||||
}
|
@ -190,7 +190,7 @@ public class FileManager {
|
||||
*/
|
||||
public CustomFile getFile(String name) {
|
||||
for (CustomFile file : customFiles) {
|
||||
if (file.getName().toLowerCase().equalsIgnoreCase(name.toLowerCase())) {
|
||||
if (file.getName().equalsIgnoreCase(name)) {
|
||||
return file;
|
||||
}
|
||||
}
|
||||
@ -206,7 +206,7 @@ public class FileManager {
|
||||
FileConfiguration configuration = configurations.get(file);
|
||||
|
||||
YamlConfiguration copy = new YamlConfiguration();
|
||||
configuration.getValues(false).forEach(copy::set);
|
||||
configuration.getValues(false).forEach(copy :: set);
|
||||
|
||||
BukkitRunnable runnable = new BukkitRunnable() {
|
||||
@Override
|
||||
@ -317,8 +317,8 @@ public class FileManager {
|
||||
MESSAGES("Messages.yml", "Messages.yml"),
|
||||
TEST_FILE("Test-File.yml", "Test-File.yml");
|
||||
|
||||
private String fileName;
|
||||
private String fileLocation;
|
||||
private final String fileName;
|
||||
private final String fileLocation;
|
||||
|
||||
/**
|
||||
* The files that the server will try and load.
|
||||
|
@ -55,8 +55,8 @@ public enum Messages {
|
||||
"&9/Ah Listed - &eView and manage the items you are selling.",
|
||||
"&9/Ah Help - &eView this help menu."));
|
||||
|
||||
private static FileManager fileManager = FileManager.getInstance();
|
||||
private String path;
|
||||
private static final FileManager fileManager = FileManager.getInstance();
|
||||
private final String path;
|
||||
private String defaultMessage;
|
||||
private List<String> defaultListMessage;
|
||||
|
||||
|
@ -4,7 +4,7 @@ public enum ShopType {
|
||||
|
||||
SELL("Sell"), BID("Bid");
|
||||
|
||||
private String name;
|
||||
private final String name;
|
||||
|
||||
/**
|
||||
* @param name name of the Shop Type.
|
||||
@ -15,7 +15,7 @@ public enum ShopType {
|
||||
|
||||
/**
|
||||
* @param name name of the Type you want.
|
||||
* @return Returns the Type as a Enum.
|
||||
* @return Returns the Type as an Enum.
|
||||
*/
|
||||
public static ShopType getFromName(String name) {
|
||||
for (ShopType type : ShopType.values()) {
|
||||
|
@ -19,7 +19,7 @@ public enum Version {
|
||||
|
||||
private static Version currentVersion;
|
||||
private static Version latest;
|
||||
private int versionInteger;
|
||||
private final int versionInteger;
|
||||
|
||||
private Version(int versionInteger) {
|
||||
this.versionInteger = versionInteger;
|
||||
@ -116,9 +116,9 @@ public enum Version {
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks to see if the current version is older then the checked version.
|
||||
* Checks to see if the current version is older than the checked version.
|
||||
* @param version The version you are checking.
|
||||
* @return True if older then the checked version and false if the same or newer.
|
||||
* @return True if older than the checked version and false if the same or newer.
|
||||
*/
|
||||
public static boolean isOlder(Version version) {
|
||||
if (currentVersion == null) getCurrentVersion();
|
||||
|
@ -21,9 +21,9 @@ public class AuctionBuyEvent extends Event {
|
||||
|
||||
/**
|
||||
*
|
||||
* @param player
|
||||
* @param item
|
||||
* @param price
|
||||
* @param player The player who bought the item.
|
||||
* @param item The item that was bought.
|
||||
* @param price The price of the item.
|
||||
*/
|
||||
public AuctionBuyEvent(Player player, ItemStack item, long price) {
|
||||
this.player = player;
|
||||
|
@ -25,7 +25,7 @@ public class AuctionCancelledEvent extends Event {
|
||||
|
||||
/**
|
||||
*
|
||||
* @param offlinePlayer The player who's item is cancelled.
|
||||
* @param offlinePlayer The player whose item is cancelled.
|
||||
* @param item The item that is cancelled.
|
||||
*/
|
||||
public AuctionCancelledEvent(OfflinePlayer offlinePlayer, ItemStack item, CancelledReason reason) {
|
||||
@ -37,7 +37,7 @@ public class AuctionCancelledEvent extends Event {
|
||||
|
||||
/**
|
||||
*
|
||||
* @param onlinePlayer The player who's item is cancelled.
|
||||
* @param onlinePlayer The player whose item is cancelled.
|
||||
* @param item The item that is cancelled.
|
||||
*/
|
||||
public AuctionCancelledEvent(Player onlinePlayer, ItemStack item, CancelledReason reason) {
|
||||
|
@ -23,7 +23,7 @@ public class AuctionExpireEvent extends Event {
|
||||
|
||||
/**
|
||||
*
|
||||
* @param offlinePlayer The player who's item is expiring.
|
||||
* @param offlinePlayer The player whose item is expiring.
|
||||
* @param item The item that is expiring.
|
||||
*/
|
||||
public AuctionExpireEvent(OfflinePlayer offlinePlayer, ItemStack item) {
|
||||
@ -34,7 +34,7 @@ public class AuctionExpireEvent extends Event {
|
||||
|
||||
/**
|
||||
*
|
||||
* @param onlinePlayer The player who's item is expiring.
|
||||
* @param onlinePlayer The player whose item is expiring.
|
||||
* @param item The item that is expiring.
|
||||
*/
|
||||
public AuctionExpireEvent(Player onlinePlayer, ItemStack item) {
|
||||
|
@ -23,10 +23,10 @@ public class AuctionListEvent extends Event {
|
||||
|
||||
/**
|
||||
*
|
||||
* @param player
|
||||
* @param shop
|
||||
* @param item
|
||||
* @param price
|
||||
* @param player The player who is listing the item.
|
||||
* @param shop The shop type the item is being listed to.
|
||||
* @param item The item being listed.
|
||||
* @param price The price the item is being listed for.
|
||||
*/
|
||||
public AuctionListEvent(Player player, ShopType shop, ItemStack item, long price) {
|
||||
this.player = player;
|
||||
|
@ -18,9 +18,9 @@ public class AuctionNewBidEvent extends Event {
|
||||
|
||||
/**
|
||||
*
|
||||
* @param player
|
||||
* @param item
|
||||
* @param bid
|
||||
* @param player The player who placed the bid.
|
||||
* @param item The item that was bid on.
|
||||
* @param bid The amount of money that was bid.
|
||||
*/
|
||||
public AuctionNewBidEvent(Player player, ItemStack item, long bid) {
|
||||
this.player = player;
|
||||
|
@ -21,9 +21,9 @@ public class AuctionWinBidEvent extends Event {
|
||||
|
||||
/**
|
||||
*
|
||||
* @param player
|
||||
* @param item
|
||||
* @param bid
|
||||
* @param player The player who won the item.
|
||||
* @param item The item that was won.
|
||||
* @param bid The bid that was placed on the item.
|
||||
*/
|
||||
public AuctionWinBidEvent(Player player, ItemStack item, long bid) {
|
||||
this.player = player;
|
||||
|
@ -34,8 +34,8 @@ public class Metrics {
|
||||
if (System.getProperty("bstats.relocatecheck") == null || !System.getProperty("bstats.relocatecheck").equals("false")) {
|
||||
// Maven's Relocate is clever and changes strings, too. So we have to use this little "trick" ... :D
|
||||
final String defaultPackage = new String(
|
||||
new byte[]{'o', 'r', 'g', '.', 'b', 's', 't', 'a', 't', 's', '.', 'b', 'u', 'k', 'k', 'i', 't'});
|
||||
final String examplePackage = new String(new byte[]{'y', 'o', 'u', 'r', '.', 'p', 'a', 'c', 'k', 'a', 'g', 'e'});
|
||||
new byte[] {'o', 'r', 'g', '.', 'b', 's', 't', 'a', 't', 's', '.', 'b', 'u', 'k', 'k', 'i', 't'});
|
||||
final String examplePackage = new String(new byte[] {'y', 'o', 'u', 'r', '.', 'p', 'a', 'c', 'k', 'a', 'g', 'e'});
|
||||
// We want to make sure nobody just copy & pastes the example and use the wrong package names
|
||||
if (Metrics.class.getPackage().getName().equals(defaultPackage) || Metrics.class.getPackage().getName().equals(examplePackage)) {
|
||||
throw new IllegalStateException("bStats Metrics class has not been relocated correctly!");
|
||||
@ -115,7 +115,8 @@ public class Metrics {
|
||||
).copyDefaults(true);
|
||||
try {
|
||||
config.save(configFile);
|
||||
} catch (IOException ignored) { }
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
}
|
||||
|
||||
// Load the data
|
||||
@ -133,7 +134,8 @@ public class Metrics {
|
||||
service.getField("B_STATS_VERSION"); // Our identifier :)
|
||||
found = true; // We aren't the first
|
||||
break;
|
||||
} catch (NoSuchFieldException ignored) { }
|
||||
} catch (NoSuchFieldException ignored) {
|
||||
}
|
||||
}
|
||||
// Register our service
|
||||
Bukkit.getServicesManager().register(Metrics.class, this, plugin, ServicePriority.Normal);
|
||||
@ -297,9 +299,11 @@ public class Metrics {
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (NullPointerException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ignored) { }
|
||||
} catch (NullPointerException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ignored) {
|
||||
}
|
||||
}
|
||||
} catch (NoSuchFieldException ignored) {
|
||||
}
|
||||
} catch (NoSuchFieldException ignored) { }
|
||||
}
|
||||
|
||||
data.add("plugins", pluginData);
|
||||
@ -458,6 +462,7 @@ public class Metrics {
|
||||
data.addProperty("value", value);
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -502,6 +507,7 @@ public class Metrics {
|
||||
data.add("values", values);
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -551,6 +557,7 @@ public class Metrics {
|
||||
data.add("values", values);
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -714,6 +721,7 @@ public class Metrics {
|
||||
data.add("values", values);
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -9,7 +9,8 @@ public enum CurrencyManager { // Currency Manager
|
||||
|
||||
VAULT("Vault", "Money");
|
||||
|
||||
private String pluginName, name;
|
||||
private final String pluginName;
|
||||
private final String name;
|
||||
|
||||
/**
|
||||
* @param pluginname
|
||||
|
@ -10,12 +10,12 @@ Settings:
|
||||
Bid-Time: 2m 30s #Time for each item that is biddable.
|
||||
Full-Expire-Time: 10d #The full time the item is in the crazy auctions.
|
||||
Bid-Winner-Time: 20d #The time the winner of a bid has to claim their prize.
|
||||
Minimum-Sell-Price: 10 #Minimum amount you can sell a item for.
|
||||
Max-Beginning-Sell-Price: 1000000 #Max amount you can sell a item for.
|
||||
Minimum-Sell-Price: 10 #Minimum amount you can sell an item for.
|
||||
Max-Beginning-Sell-Price: 1000000 #Max amount you can sell an item for.
|
||||
Minimum-Bid-Price: 100 #Minimum starting bid.
|
||||
Max-Beginning-Bid-Price: 1000000 #Maximum starting bid.
|
||||
Allow-Damaged-Items: False #Allow items that have been damaged.
|
||||
Category-Page-Opens-First: False #If set to true the categories page will open when they do /CA.
|
||||
Category-Page-Opens-First: False #If set to true the categories' page will open when they do /CA.
|
||||
Feature-Toggle: #Toggle if a feature is on or off.
|
||||
Selling: true #Able to use the selling part of the auction house.
|
||||
Bidding: true #Able to use the bidding part of the auction house.
|
||||
@ -141,19 +141,19 @@ Settings:
|
||||
Toggle: true
|
||||
Slot: 49
|
||||
Name: '&6Previous Page'
|
||||
Lore: {}
|
||||
Lore: { }
|
||||
Refesh: #The button for Refresh Page.
|
||||
Item: '175'
|
||||
Toggle: true
|
||||
Slot: 50
|
||||
Name: '&6Refresh Page'
|
||||
Lore: {}
|
||||
Lore: { }
|
||||
NextPage: #The button for Next Page.
|
||||
Item: '339'
|
||||
Toggle: true
|
||||
Slot: 51
|
||||
Name: '&6Next Page'
|
||||
Lore: {}
|
||||
Lore: { }
|
||||
Category1: #The button for Next Page.
|
||||
Item: '54'
|
||||
Toggle: true
|
||||
@ -281,7 +281,7 @@ Settings:
|
||||
Your-Item: #The item that shows when you try to buy/bid on your item.
|
||||
Item: '166'
|
||||
Name: '&cYou Can''t Purchase Your Own Item.'
|
||||
Cant-Afford: #The item that shows when you cant afford this item.
|
||||
Cant-Afford: #The item that shows when you can't afford this item.
|
||||
Item: '166'
|
||||
Name: '&cYou Can''t Afford This Item.'
|
||||
Top-Bidder: #The item for when a player is already the top bidder.
|
||||
|
@ -10,12 +10,12 @@ Settings:
|
||||
Bid-Time: 2m 30s #Time for each item that is biddable.
|
||||
Full-Expire-Time: 10d #The full time the item is in the crazy auctions.
|
||||
Bid-Winner-Time: 20d #The time the winner of a bid has to claim their prize.
|
||||
Minimum-Sell-Price: 10 #Minimum amount you can sell a item for.
|
||||
Max-Beginning-Sell-Price: 1000000 #Max amount you can sell a item for.
|
||||
Minimum-Sell-Price: 10 #Minimum amount you can sell an item for.
|
||||
Max-Beginning-Sell-Price: 1000000 #Max amount you can sell an item for.
|
||||
Minimum-Bid-Price: 100 #Minimum starting bid.
|
||||
Max-Beginning-Bid-Price: 1000000 #Maximum starting bid.
|
||||
Allow-Damaged-Items: false #Allow items that have been damaged.
|
||||
Category-Page-Opens-First: false #If set to true the categories page will open when they do /CA.
|
||||
Category-Page-Opens-First: false #If set to true the categories' page will open when they do /CA.
|
||||
Feature-Toggle: #Toggle if a feature is on or off.
|
||||
Selling: true #Able to use the selling part of the auction house.
|
||||
Bidding: true #Able to use the bidding part of the auction house.
|
||||
@ -140,19 +140,19 @@ Settings:
|
||||
Toggle: true
|
||||
Slot: 49
|
||||
Name: '&6Previous Page'
|
||||
Lore: {}
|
||||
Lore: { }
|
||||
Refesh: #The button for Refresh Page.
|
||||
Item: 'SUNFLOWER'
|
||||
Toggle: true
|
||||
Slot: 50
|
||||
Name: '&6Refresh Page'
|
||||
Lore: {}
|
||||
Lore: { }
|
||||
NextPage: #The button for Next Page.
|
||||
Item: 'PAPER'
|
||||
Toggle: true
|
||||
Slot: 51
|
||||
Name: '&6Next Page'
|
||||
Lore: {}
|
||||
Lore: { }
|
||||
Category1: #The button for Next Page.
|
||||
Item: 'CHEST'
|
||||
Toggle: true
|
||||
@ -280,7 +280,7 @@ Settings:
|
||||
Your-Item: #The item that shows when you try to buy/bid on your item.
|
||||
Item: 'BARRIER'
|
||||
Name: '&cYou Can''t Purchase Your Own Item.'
|
||||
Cant-Afford: #The item that shows when you cant afford this item.
|
||||
Cant-Afford: #The item that shows when you can't afford this item.
|
||||
Item: 'BARRIER'
|
||||
Name: '&cYou Can''t Afford This Item.'
|
||||
Top-Bidder: #The item for when a player is already the top bidder.
|
||||
|
Loading…
Reference in New Issue
Block a user