mirror of
https://github.com/AppleDash/SaneEconomy.git
synced 2025-02-16 11:41:21 +01:00
Baltop improvements & mocking of Server
This commit is contained in:
parent
03cd019763
commit
01938349cb
@ -2,6 +2,7 @@ package org.appledash.saneeconomy;
|
||||
|
||||
import org.appledash.saneeconomy.economy.EconomyManager;
|
||||
import org.appledash.saneeconomy.economy.logger.TransactionLogger;
|
||||
import org.appledash.saneeconomy.vault.VaultHook;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@ -24,4 +25,6 @@ public interface ISaneEconomy {
|
||||
* @return TransactionLogger, if there is one. Otherwise, Optional.empty()
|
||||
*/
|
||||
Optional<TransactionLogger> getTransactionLogger();
|
||||
|
||||
VaultHook getVaultHook();
|
||||
}
|
||||
|
@ -174,4 +174,8 @@ public class SaneEconomy extends SanePlugin implements ISaneEconomy {
|
||||
public static Logger logger(){
|
||||
return instance.getLogger();
|
||||
}
|
||||
|
||||
public VaultHook getVaultHook() {
|
||||
return vaultHook;
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import org.appledash.saneeconomy.economy.economable.Economable;
|
||||
import org.appledash.saneeconomy.economy.transaction.Transaction;
|
||||
import org.appledash.saneeconomy.economy.transaction.TransactionResult;
|
||||
import org.appledash.saneeconomy.event.SaneEconomyTransactionEvent;
|
||||
import org.appledash.saneeconomy.utils.MapUtil;
|
||||
import org.appledash.saneeconomy.utils.NumberUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
@ -165,7 +166,7 @@ public class EconomyManager {
|
||||
Economable receiver = transaction.getReceiver();
|
||||
double amount = transaction.getAmount(); // This amount is validated upon creation of Transaction
|
||||
|
||||
if (Bukkit.getServer() != null) { // Bukkit.getServer() == null from our JUnit tests.
|
||||
if (Bukkit.getServer().getPluginManager() != null) { // Bukkit.getServer() == null from our JUnit tests.
|
||||
SaneEconomyTransactionEvent evt = new SaneEconomyTransactionEvent(transaction);
|
||||
Bukkit.getServer().getPluginManager().callEvent(evt);
|
||||
if (evt.isCancelled()) {
|
||||
@ -196,16 +197,19 @@ public class EconomyManager {
|
||||
* @return Map of OfflinePlayer to Double
|
||||
*/
|
||||
public Map<OfflinePlayer, Double> getTopPlayerBalances(int amount, int offset) {
|
||||
Map<UUID, Double> uuidBalances = backend.getTopPlayerBalances(amount, offset);
|
||||
Map<OfflinePlayer, Double> playerBalances = new LinkedHashMap<>();
|
||||
Map<UUID, Double> uuidBalances = backend.getTopPlayerBalances();
|
||||
LinkedHashMap<OfflinePlayer, Double> playerBalances = new LinkedHashMap<>();
|
||||
|
||||
uuidBalances.forEach((uuid, balance) -> {
|
||||
if (Bukkit.getServer().getOfflinePlayer(uuid) != null) {
|
||||
playerBalances.put(Bukkit.getServer().getOfflinePlayer(uuid), balance);
|
||||
OfflinePlayer offlinePlayer = Bukkit.getServer().getOfflinePlayer(uuid);
|
||||
if (offlinePlayer != null) {
|
||||
if (this.saneEconomy.getVaultHook() == null || !this.saneEconomy.getVaultHook().hasPermission(offlinePlayer, "saneeconomy.balancetop.hide")) {
|
||||
playerBalances.put(Bukkit.getServer().getOfflinePlayer(uuid), balance);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return playerBalances;
|
||||
return MapUtil.skipAndTake(playerBalances, offset, amount);
|
||||
}
|
||||
|
||||
public EconomyStorageBackend getBackend() {
|
||||
|
@ -39,7 +39,7 @@ public interface EconomyStorageBackend {
|
||||
* @param amount Maximum number to get.
|
||||
* @return Map of player UUIDs to amounts.
|
||||
*/
|
||||
LinkedHashMap<UUID, Double> getTopPlayerBalances(int amount, int offset);
|
||||
LinkedHashMap<UUID, Double> getTopPlayerBalances();
|
||||
|
||||
/**
|
||||
* Reload this backend's database from disk.
|
||||
|
@ -33,9 +33,8 @@ public abstract class EconomyStorageBackendCaching implements EconomyStorageBack
|
||||
return balances.get(economable.getUniqueIdentifier());
|
||||
}
|
||||
|
||||
@Override
|
||||
public LinkedHashMap<UUID, Double> getTopPlayerBalances(int amount, int offset) {
|
||||
return MapUtil.skipAndTake(topPlayerBalances, offset, amount);
|
||||
public LinkedHashMap<UUID, Double> getTopPlayerBalances() {
|
||||
return topPlayerBalances;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,8 +1,11 @@
|
||||
package org.appledash.saneeconomy.vault;
|
||||
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import net.milkbowl.vault.permission.Permission;
|
||||
import org.appledash.saneeconomy.SaneEconomy;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
import org.bukkit.plugin.ServicePriority;
|
||||
|
||||
/**
|
||||
@ -24,4 +27,10 @@ public class VaultHook {
|
||||
public void unhook() {
|
||||
Bukkit.getServicesManager().unregister(Economy.class, provider);
|
||||
}
|
||||
|
||||
public boolean hasPermission(OfflinePlayer offlinePlayer, String permNode) {
|
||||
RegisteredServiceProvider<Permission> rsp = this.plugin.getServer().getServicesManager().getRegistration(Permission.class);
|
||||
|
||||
return rsp != null && rsp.getProvider().playerHas(null, offlinePlayer, permNode);
|
||||
}
|
||||
}
|
||||
|
@ -50,6 +50,9 @@ permissions:
|
||||
saneeconomy.balancetop:
|
||||
description: Allows you to view the players on the server who have the most money.
|
||||
default: true
|
||||
saneeconomy.balancetop.hide:
|
||||
description: Players with this node are hidden from /baltop
|
||||
default: false
|
||||
saneeconomy.update-notify:
|
||||
description: Allows you to be notified of updates to the plugin on join.
|
||||
default: op
|
||||
@ -61,5 +64,6 @@ permissions:
|
||||
saneeconomy.pay: true
|
||||
saneeconomy.admin: true
|
||||
saneeconomy.balancetop: true
|
||||
saneeconomy.balancetop.hide: false
|
||||
saneeconomy.update-notify: true
|
||||
default: op
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.appledash.saneeconomy.test;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.appledash.saneeconomy.economy.Currency;
|
||||
import org.appledash.saneeconomy.economy.EconomyManager;
|
||||
import org.appledash.saneeconomy.economy.economable.Economable;
|
||||
@ -14,6 +15,10 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Created by AppleDash on 7/29/2016.
|
||||
@ -77,9 +82,44 @@ public class EconomyManagerTest {
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTopBalances() {
|
||||
Random random = new Random();
|
||||
List<Economable> economables = new ArrayList<>(10);
|
||||
|
||||
for (int i = 0; i < 10; i++) {
|
||||
Economable economable = Economable.wrap(new MockOfflinePlayer("Dude" + i));
|
||||
economables.add(economable);
|
||||
this.economyManager.setBalance(economable, random.nextInt(1000));
|
||||
}
|
||||
|
||||
this.economyManager.getBackend().reloadTopPlayerBalances();
|
||||
|
||||
List<Double> javaSortedBalances = economables.stream().map(this.economyManager::getBalance).sorted((left, right) -> -left.compareTo(right)).collect(Collectors.toList());
|
||||
List<Double> ecoManTopBalances = ImmutableList.copyOf(this.economyManager.getTopPlayerBalances(10, 0).values());
|
||||
|
||||
Assert.assertTrue("List is not correctly sorted!", areListsEqual(javaSortedBalances, ecoManTopBalances));
|
||||
Assert.assertEquals("Wrong number of top balances!", 5, this.economyManager.getTopPlayerBalances(5, 0).size());
|
||||
}
|
||||
|
||||
private <T> boolean areListsEqual(List<T> first, List<T> second) {
|
||||
if (first.size() != second.size()) {
|
||||
throw new IllegalArgumentException("Lists must be same length (first=" + first.size() + ", second=" + second.size() + ")");
|
||||
}
|
||||
|
||||
for (int i = 0; i < first.size(); i++) {
|
||||
if (!first.get(i).equals(second.get(i))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testNegativeBalance() {
|
||||
Economable economable = Economable.wrap(new MockOfflinePlayer("Bob"));
|
||||
economyManager.setBalance(economable, -1.0);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ public class MockOfflinePlayer implements OfflinePlayer {
|
||||
private MockOfflinePlayer(UUID uuid, String name) {
|
||||
this.uuid = uuid;
|
||||
this.name = name;
|
||||
MockServer.getInstance().addOfflinePlayer(this);
|
||||
}
|
||||
|
||||
public MockOfflinePlayer(String name) {
|
||||
|
@ -3,6 +3,7 @@ package org.appledash.saneeconomy.test.mock;
|
||||
import org.appledash.saneeconomy.ISaneEconomy;
|
||||
import org.appledash.saneeconomy.economy.EconomyManager;
|
||||
import org.appledash.saneeconomy.economy.logger.TransactionLogger;
|
||||
import org.appledash.saneeconomy.vault.VaultHook;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@ -20,4 +21,9 @@ public class MockSaneEconomy implements ISaneEconomy {
|
||||
public Optional<TransactionLogger> getTransactionLogger() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public VaultHook getVaultHook() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,566 @@
|
||||
package org.appledash.saneeconomy.test.mock;
|
||||
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.advancement.Advancement;
|
||||
import org.bukkit.boss.BarColor;
|
||||
import org.bukkit.boss.BarFlag;
|
||||
import org.bukkit.boss.BarStyle;
|
||||
import org.bukkit.boss.BossBar;
|
||||
import org.bukkit.command.CommandException;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.ConsoleCommandSender;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
import org.bukkit.help.HelpMap;
|
||||
import org.bukkit.inventory.*;
|
||||
import org.bukkit.map.MapView;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.ServicesManager;
|
||||
import org.bukkit.plugin.messaging.Messenger;
|
||||
import org.bukkit.scheduler.BukkitScheduler;
|
||||
import org.bukkit.scoreboard.ScoreboardManager;
|
||||
import org.bukkit.util.CachedServerIcon;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
/**
|
||||
* Created by appledash on 7/15/17.
|
||||
* Blackjack is best pony.
|
||||
*/
|
||||
public class MockServer implements Server {
|
||||
public static MockServer instance;
|
||||
|
||||
public static MockServer getInstance() {
|
||||
if (instance == null) {
|
||||
instance = new MockServer();
|
||||
Bukkit.setServer(instance);
|
||||
}
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
||||
private Logger logger = Logger.getLogger("MockServer");
|
||||
private Map<UUID, OfflinePlayer> offlinePlayers = new HashMap<>();
|
||||
|
||||
public void addOfflinePlayer(OfflinePlayer offlinePlayer) {
|
||||
this.offlinePlayers.put(offlinePlayer.getUniqueId(), offlinePlayer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "SaneEconomy Mock Server";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getVersion() {
|
||||
return "0.1.0";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getBukkitVersion() {
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<? extends Player> getOnlinePlayers() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxPlayers() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPort() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getViewDistance() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getIp() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getServerName() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getServerId() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getWorldType() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getGenerateStructures() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getAllowEnd() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getAllowNether() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasWhitelist() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setWhitelist(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<OfflinePlayer> getWhitelistedPlayers() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reloadWhitelist() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int broadcastMessage(String s) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUpdateFolder() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public File getUpdateFolderFile() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getConnectionThrottle() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTicksPerAnimalSpawns() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTicksPerMonsterSpawns() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Player getPlayer(String s) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Player getPlayerExact(String s) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Player> matchPlayer(String s) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Player getPlayer(UUID uuid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PluginManager getPluginManager() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BukkitScheduler getScheduler() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ServicesManager getServicesManager() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<World> getWorlds() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public World createWorld(WorldCreator worldCreator) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean unloadWorld(String s, boolean b) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean unloadWorld(World world, boolean b) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public World getWorld(String s) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public World getWorld(UUID uuid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MapView getMap(short i) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MapView createMap(World world) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reload() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reloadData() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Logger getLogger() {
|
||||
return this.logger;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PluginCommand getPluginCommand(String s) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void savePlayers() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean dispatchCommand(CommandSender commandSender, String s) throws CommandException {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addRecipe(Recipe recipe) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Recipe> getRecipesFor(ItemStack itemStack) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<Recipe> recipeIterator() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearRecipes() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetRecipes() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String[]> getCommandAliases() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSpawnRadius() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSpawnRadius(int i) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getOnlineMode() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getAllowFlight() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isHardcore() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void shutdown() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int broadcast(String s, String s1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OfflinePlayer getOfflinePlayer(String s) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OfflinePlayer getOfflinePlayer(UUID uuid) {
|
||||
return this.offlinePlayers.get(uuid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getIPBans() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void banIP(String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unbanIP(String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<OfflinePlayer> getBannedPlayers() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BanList getBanList(BanList.Type type) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<OfflinePlayer> getOperators() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameMode getDefaultGameMode() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDefaultGameMode(GameMode gameMode) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConsoleCommandSender getConsoleSender() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public File getWorldContainer() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OfflinePlayer[] getOfflinePlayers() {
|
||||
return new OfflinePlayer[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public Messenger getMessenger() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HelpMap getHelpMap() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Inventory createInventory(InventoryHolder inventoryHolder, InventoryType inventoryType) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Inventory createInventory(InventoryHolder inventoryHolder, InventoryType inventoryType, String s) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Inventory createInventory(InventoryHolder inventoryHolder, int i) throws IllegalArgumentException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Inventory createInventory(InventoryHolder inventoryHolder, int i, String s) throws IllegalArgumentException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Merchant createMerchant(String s) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMonsterSpawnLimit() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAnimalSpawnLimit() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getWaterAnimalSpawnLimit() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAmbientSpawnLimit() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPrimaryThread() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMotd() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getShutdownMessage() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Warning.WarningState getWarningState() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemFactory getItemFactory() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScoreboardManager getScoreboardManager() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CachedServerIcon getServerIcon() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CachedServerIcon loadServerIcon(File file) throws IllegalArgumentException, Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CachedServerIcon loadServerIcon(BufferedImage bufferedImage) throws IllegalArgumentException, Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIdleTimeout(int i) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIdleTimeout() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChunkGenerator.ChunkData createChunkData(World world) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BossBar createBossBar(String s, BarColor barColor, BarStyle barStyle, BarFlag... barFlags) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity(UUID uuid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Advancement getAdvancement(NamespacedKey namespacedKey) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<Advancement> advancementIterator() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UnsafeValues getUnsafe() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Spigot spigot() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendPluginMessage(Plugin plugin, String s, byte[] bytes) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getListeningPluginChannels() {
|
||||
return null;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user