How to use ServicesManagerMock method of be.seeseemelk.mockbukkit.ServerMock class

Best MockBukkit code snippet using be.seeseemelk.mockbukkit.ServerMock.ServicesManagerMock

Source:ServerMock.java Github

copy

Full Screen

...96import be.seeseemelk.mockbukkit.plugin.PluginManagerMock;97import be.seeseemelk.mockbukkit.potion.MockPotionEffectType;98import be.seeseemelk.mockbukkit.scheduler.BukkitSchedulerMock;99import be.seeseemelk.mockbukkit.scoreboard.ScoreboardManagerMock;100import be.seeseemelk.mockbukkit.services.ServicesManagerMock;101import be.seeseemelk.mockbukkit.tags.TagRegistry;102import be.seeseemelk.mockbukkit.tags.TagWrapperMock;103import be.seeseemelk.mockbukkit.tags.TagsMock;104import net.md_5.bungee.api.chat.BaseComponent;105@SuppressWarnings("deprecation")106public class ServerMock extends Server.Spigot implements Server107{108 private static final String BUKKIT_VERSION = "1.16.5";109 private static final String JOIN_MESSAGE = "%s has joined the server.";110 private static final String MOTD = "A Minecraft Server";111 private final Logger logger = Logger.getLogger("ServerMock");112 private final Thread mainThread = Thread.currentThread();113 private final MockUnsafeValues unsafe = new MockUnsafeValues();114 private final Map<String, TagRegistry> materialTags = new HashMap<>();115 private final Set<EntityMock> entities = new HashSet<>();116 private final List<World> worlds = new ArrayList<>();117 private final List<Recipe> recipes = new LinkedList<>();118 private final Map<NamespacedKey, KeyedBossBarMock> bossBars = new HashMap<>();119 private final ItemFactory factory = new ItemFactoryMock();120 private final PlayerMockFactory playerFactory = new PlayerMockFactory(this);121 private final PluginManagerMock pluginManager = new PluginManagerMock(this);122 private final ScoreboardManagerMock scoreboardManager = new ScoreboardManagerMock();123 private final BukkitSchedulerMock scheduler = new BukkitSchedulerMock();124 private final ServicesManagerMock servicesManager = new ServicesManagerMock();125 private final MockPlayerList playerList = new MockPlayerList();126 private final MockCommandMap commandMap = new MockCommandMap(this);127 private final HelpMapMock helpMap = new HelpMapMock();128 private GameMode defaultGameMode = GameMode.SURVIVAL;129 private ConsoleCommandSender consoleSender;130 public ServerMock()131 {132 ServerMock.registerSerializables();133 // Register default Minecraft Potion Effect Types134 createPotionEffectTypes();135 TagsMock.loadDefaultTags(this, true);136 EnchantmentsMock.registerDefaultEnchantments();137 try138 {139 InputStream stream = ClassLoader.getSystemResourceAsStream("logger.properties");140 LogManager.getLogManager().readConfiguration(stream);141 }142 catch (IOException e)143 {144 logger.warning("Could not load file logger.properties");145 }146 logger.setLevel(Level.ALL);147 }148 /**149 * Checks if we are on the main thread. The main thread is the thread used to create this instance of the mock150 * server.151 *152 * @return {@code true} if we are on the main thread, {@code false} if we are running on a different thread.153 */154 public boolean isOnMainThread()155 {156 return mainThread.equals(Thread.currentThread());157 }158 /**159 * Checks if we are running a method on the main thread. If not, a `ThreadAccessException` is thrown.160 */161 public void assertMainThread()162 {163 if (!isOnMainThread())164 {165 throw new ThreadAccessException("The Bukkit API was accessed from asynchronous code.");166 }167 }168 /**169 * Registers an entity so that the server can track it more easily. Should only be used internally.170 *171 * @param entity The entity to register172 */173 public void registerEntity(@NotNull EntityMock entity)174 {175 assertMainThread();176 entities.add(entity);177 }178 /**179 * Returns a set of entities that exist on the server instance.180 *181 * @return A set of entities that exist on this server instance.182 */183 @NotNull184 public Set<EntityMock> getEntities()185 {186 return Collections.unmodifiableSet(entities);187 }188 /**189 * Add a specific player to the set.190 *191 * @param player The player to add.192 */193 public void addPlayer(PlayerMock player)194 {195 assertMainThread();196 playerList.addPlayer(player);197 PlayerJoinEvent playerJoinEvent = new PlayerJoinEvent(player,198 String.format(JOIN_MESSAGE, player.getDisplayName()));199 Bukkit.getPluginManager().callEvent(playerJoinEvent);200 player.setLastPlayed(getCurrentServerTime());201 registerEntity(player);202 }203 /**204 * Creates a random player and adds it.205 *206 * @return The player that was added.207 */208 public PlayerMock addPlayer()209 {210 assertMainThread();211 PlayerMock player = playerFactory.createRandomPlayer();212 addPlayer(player);213 return player;214 }215 /**216 * Creates a player with a given name and adds it.217 *218 * @param name The name to give to the player.219 * @return The added player.220 */221 public PlayerMock addPlayer(String name)222 {223 assertMainThread();224 PlayerMock player = new PlayerMock(this, name);225 addPlayer(player);226 return player;227 }228 /**229 * Set the numbers of mock players that are on this server. Note that it will remove all players that are already on230 * this server.231 *232 * @param num The number of players that are on this server.233 */234 public void setPlayers(int num)235 {236 assertMainThread();237 playerList.clearOnlinePlayers();238 for (int i = 0; i < num; i++)239 addPlayer();240 }241 /**242 * Set the numbers of mock offline players that are on this server. Note that even players that are online are also243 * considered offline player because an {@link OfflinePlayer} really just refers to anyone that has at some point in244 * time played on the server.245 *246 * @param num The number of players that are on this server.247 */248 public void setOfflinePlayers(int num)249 {250 assertMainThread();251 playerList.clearOfflinePlayers();252 for (PlayerMock player : getOnlinePlayers())253 {254 playerList.addPlayer(player);255 }256 for (int i = 0; i < num; i++)257 {258 OfflinePlayer player = playerFactory.createRandomOfflinePlayer();259 playerList.addOfflinePlayer(player);260 }261 }262 /**263 * Get a specific mock player. A player's number will never change between invocations of {@link #setPlayers(int)}.264 *265 * @param num The number of the player to retrieve.266 * @return The chosen player.267 */268 public PlayerMock getPlayer(int num)269 {270 return playerList.getPlayer(num);271 }272 /**273 * Adds a very simple super flat world with a given name.274 *275 * @param name The name to give to the world.276 * @return The {@link WorldMock} that has been created.277 */278 public WorldMock addSimpleWorld(String name)279 {280 assertMainThread();281 WorldMock world = new WorldMock();282 world.setName(name);283 worlds.add(world);284 return world;285 }286 /**287 * Adds the given mocked world to this server.288 *289 * @param world The world to add.290 */291 public void addWorld(WorldMock world)292 {293 assertMainThread();294 worlds.add(world);295 }296 /**297 * Executes a command as the console.298 *299 * @param command The command to execute.300 * @param args The arguments to pass to the commands.301 * @return The value returned by {@link Command#execute}.302 */303 public CommandResult executeConsole(Command command, String... args)304 {305 assertMainThread();306 return execute(command, getConsoleSender(), args);307 }308 /**309 * Executes a command as the console.310 *311 * @param command The command to execute.312 * @param args The arguments to pass to the commands.313 * @return The value returned by {@link Command#execute}.314 */315 public CommandResult executeConsole(String command, String... args)316 {317 assertMainThread();318 return executeConsole(getCommandMap().getCommand(command), args);319 }320 /**321 * Executes a command as a player.322 *323 * @param command The command to execute.324 * @param args The arguments to pass to the commands.325 * @return The value returned by {@link Command#execute}.326 */327 public CommandResult executePlayer(Command command, String... args)328 {329 assertMainThread();330 if (playerList.isSomeoneOnline())331 return execute(command, getPlayer(0), args);332 else333 throw new IllegalStateException("Need at least one player to run the command");334 }335 /**336 * Executes a command as a player.337 *338 * @param command The command to execute.339 * @param args The arguments to pass to the commands.340 * @return The value returned by {@link Command#execute}.341 */342 public CommandResult executePlayer(String command, String... args)343 {344 assertMainThread();345 return executePlayer(getCommandMap().getCommand(command), args);346 }347 /**348 * Executes a command.349 *350 * @param command The command to execute.351 * @param sender The person that executed the command.352 * @param args The arguments to pass to the commands.353 * @return The value returned by {@link Command#execute}.354 */355 public CommandResult execute(Command command, CommandSender sender, String... args)356 {357 assertMainThread();358 if (!(sender instanceof MessageTarget))359 {360 throw new IllegalArgumentException("Only a MessageTarget can be the sender of the command");361 }362 boolean status = command.execute(sender, command.getName(), args);363 return new CommandResult(status, (MessageTarget) sender);364 }365 /**366 * Executes a command.367 *368 * @param command The command to execute.369 * @param sender The person that executed the command.370 * @param args The arguments to pass to the commands.371 * @return The value returned by {@link Command#execute}.372 */373 public CommandResult execute(String command, CommandSender sender, String... args)374 {375 assertMainThread();376 return execute(getCommandMap().getCommand(command), sender, args);377 }378 @Override379 public String getName()380 {381 return "ServerMock";382 }383 @Override384 public String getVersion()385 {386 return String.format("MockBukkit (MC: %s)", BUKKIT_VERSION);387 }388 @Override389 public String getBukkitVersion()390 {391 return BUKKIT_VERSION;392 }393 @Override394 public Collection<? extends PlayerMock> getOnlinePlayers()395 {396 return playerList.getOnlinePlayers();397 }398 @Override399 public OfflinePlayer[] getOfflinePlayers()400 {401 return playerList.getOfflinePlayers();402 }403 @Override404 public Player getPlayer(String name)405 {406 return playerList.getPlayer(name);407 }408 @Override409 public Player getPlayerExact(String name)410 {411 return playerList.getPlayerExact(name);412 }413 @Override414 public List<Player> matchPlayer(String name)415 {416 return playerList.matchPlayer(name);417 }418 @Override419 public Player getPlayer(UUID id)420 {421 return playerList.getPlayer(id);422 }423 @Override424 public PluginManagerMock getPluginManager()425 {426 return pluginManager;427 }428 @NotNull429 public MockCommandMap getCommandMap()430 {431 return commandMap;432 }433 @Override434 public PluginCommand getPluginCommand(String name)435 {436 assertMainThread();437 Command command = getCommandMap().getCommand(name);438 return command instanceof PluginCommand ? (PluginCommand) command : null;439 }440 @Override441 public Logger getLogger()442 {443 return logger;444 }445 @Override446 public ConsoleCommandSender getConsoleSender()447 {448 if (consoleSender == null)449 {450 consoleSender = new ConsoleCommandSenderMock();451 }452 return consoleSender;453 }454 @NotNull455 public InventoryMock createInventory(InventoryHolder owner, InventoryType type, String title, int size)456 {457 assertMainThread();458 if (!type.isCreatable())459 {460 throw new IllegalArgumentException("Inventory Type is not creatable!");461 }462 switch (type)463 {464 case CHEST:465 return new ChestInventoryMock(owner, size > 0 ? size : 9 * 3);466 case DISPENSER:467 return new DispenserInventoryMock(owner);468 case DROPPER:469 return new DropperInventoryMock(owner);470 case PLAYER:471 if (owner instanceof HumanEntity)472 {473 return new PlayerInventoryMock((HumanEntity) owner);474 }475 else476 {477 throw new IllegalArgumentException("Cannot create a Player Inventory for: " + owner);478 }479 case ENDER_CHEST:480 return new EnderChestInventoryMock(owner);481 case HOPPER:482 return new HopperInventoryMock(owner);483 case SHULKER_BOX:484 return new ShulkerBoxInventoryMock(owner);485 case BARREL:486 return new BarrelInventoryMock(owner);487 case LECTERN:488 return new LecternInventoryMock(owner);489 case GRINDSTONE:490 // TODO: This Inventory Type needs to be implemented491 case STONECUTTER:492 // TODO: This Inventory Type needs to be implemented493 case CARTOGRAPHY:494 // TODO: This Inventory Type needs to be implemented495 case SMOKER:496 // TODO: This Inventory Type needs to be implemented497 case LOOM:498 // TODO: This Inventory Type needs to be implemented499 case BLAST_FURNACE:500 // TODO: This Inventory Type needs to be implemented501 case ANVIL:502 // TODO: This Inventory Type needs to be implemented503 case SMITHING:504 // TODO: This Inventory Type needs to be implemented505 case BEACON:506 // TODO: This Inventory Type needs to be implemented507 case FURNACE:508 // TODO: This Inventory Type needs to be implemented509 case WORKBENCH:510 // TODO: This Inventory Type needs to be implemented511 case ENCHANTING:512 // TODO: This Inventory Type needs to be implemented513 case BREWING:514 // TODO: This Inventory Type needs to be implemented515 case CRAFTING:516 // TODO: This Inventory Type needs to be implemented517 case CREATIVE:518 // TODO: This Inventory Type needs to be implemented519 case MERCHANT:520 // TODO: This Inventory Type needs to be implemented521 default:522 throw new UnimplementedOperationException("Inventory type not yet supported");523 }524 }525 @Override526 public InventoryMock createInventory(InventoryHolder owner, InventoryType type)527 {528 return createInventory(owner, type, "Inventory");529 }530 @Override531 public InventoryMock createInventory(InventoryHolder owner, InventoryType type, String title)532 {533 return createInventory(owner, type, title, -1);534 }535 @Override536 public InventoryMock createInventory(InventoryHolder owner, int size)537 {538 return createInventory(owner, size, "Inventory");539 }540 @Override541 public InventoryMock createInventory(InventoryHolder owner, int size, String title)542 {543 return createInventory(owner, InventoryType.CHEST, title, size);544 }545 @Override546 public ItemFactory getItemFactory()547 {548 return factory;549 }550 @Override551 public List<World> getWorlds()552 {553 return new ArrayList<>(worlds);554 }555 @Override556 public World getWorld(String name)557 {558 return worlds.stream().filter(world -> world.getName().equals(name)).findAny().orElse(null);559 }560 @Override561 public World getWorld(UUID uid)562 {563 return worlds.stream().filter(world -> world.getUID().equals(uid)).findAny().orElse(null);564 }565 @Override566 public BukkitSchedulerMock getScheduler()567 {568 return scheduler;569 }570 @Override571 public int getMaxPlayers()572 {573 return playerList.getMaxPlayers();574 }575 @Override576 public Set<String> getIPBans()577 {578 return this.playerList.getIPBans().getBanEntries().stream().map(BanEntry::getTarget)579 .collect(Collectors.toSet());580 }581 @Override582 public void banIP(String address)583 {584 assertMainThread();585 this.playerList.getIPBans().addBan(address, null, null, null);586 }587 @Override588 public void unbanIP(String address)589 {590 assertMainThread();591 this.playerList.getIPBans().pardon(address);592 }593 @Override594 public BanList getBanList(Type type)595 {596 switch (type)597 {598 case IP:599 return playerList.getIPBans();600 case NAME:601 default:602 return playerList.getProfileBans();603 }604 }605 @Override606 public Set<OfflinePlayer> getOperators()607 {608 return playerList.getOperators();609 }610 @Override611 public GameMode getDefaultGameMode()612 {613 return this.defaultGameMode;614 }615 @Override616 public void setDefaultGameMode(GameMode mode)617 {618 assertMainThread();619 this.defaultGameMode = mode;620 }621 @Override622 public int broadcastMessage(String message)623 {624 Collection<? extends PlayerMock> players = getOnlinePlayers();625 for (Player player : players)626 {627 player.sendMessage(message);628 }629 return players.size();630 }631 @Override632 public int broadcast(String message, String permission)633 {634 Collection<? extends PlayerMock> players = getOnlinePlayers();635 int count = 0;636 for (Player player : players)637 {638 if (player.hasPermission(permission))639 {640 player.sendMessage(message);641 count++;642 }643 }644 return count;645 }646 /**647 * Registers any classes that are serializable with the ConfigurationSerializable system of Bukkit.648 */649 public static void registerSerializables()650 {651 ConfigurationSerialization.registerClass(ItemMetaMock.class);652 }653 @Override654 public boolean addRecipe(Recipe recipe)655 {656 assertMainThread();657 recipes.add(recipe);658 return true;659 }660 @Override661 public List<Recipe> getRecipesFor(@NotNull ItemStack item)662 {663 assertMainThread();664 return recipes.stream().filter(recipe ->665 {666 ItemStack result = recipe.getResult();667 // Amount is explicitly ignored here668 return result.getType() == item.getType() && result.getItemMeta().equals(item.getItemMeta());669 }).collect(Collectors.toList());670 }671 @Override672 public Recipe getRecipe(NamespacedKey key)673 {674 assertMainThread();675 for (Recipe recipe : recipes)676 {677 // Seriously why can't the Recipe interface itself just extend Keyed...678 if (recipe instanceof Keyed && ((Keyed) recipe).getKey().equals(key))679 {680 return recipe;681 }682 }683 return null;684 }685 @Override686 public boolean removeRecipe(NamespacedKey key)687 {688 assertMainThread();689 Iterator<Recipe> iterator = recipeIterator();690 while (iterator.hasNext())691 {692 Recipe recipe = iterator.next();693 // Seriously why can't the Recipe interface itself just extend Keyed...694 if (recipe instanceof Keyed && ((Keyed) recipe).getKey().equals(key))695 {696 iterator.remove();697 return true;698 }699 }700 return false;701 }702 @Override703 public Iterator<Recipe> recipeIterator()704 {705 assertMainThread();706 return recipes.iterator();707 }708 @Override709 public void clearRecipes()710 {711 assertMainThread();712 recipes.clear();713 }714 @Override715 public boolean dispatchCommand(CommandSender sender, String commandLine)716 {717 assertMainThread();718 String[] commands = commandLine.split(" ");719 String commandLabel = commands[0];720 String[] args = Arrays.copyOfRange(commands, 1, commands.length);721 Command command = getCommandMap().getCommand(commandLabel);722 if (command != null)723 {724 return command.execute(sender, commandLabel, args);725 }726 else727 {728 return false;729 }730 }731 @Override732 public HelpMapMock getHelpMap()733 {734 return helpMap;735 }736 @Override737 public void sendPluginMessage(Plugin source, String channel, byte[] message)738 {739 // TODO Auto-generated method stub740 throw new UnimplementedOperationException();741 }742 @Override743 public Set<String> getListeningPluginChannels()744 {745 // TODO Auto-generated method stub746 throw new UnimplementedOperationException();747 }748 @Override749 public int getPort()750 {751 // TODO Auto-generated method stub752 throw new UnimplementedOperationException();753 }754 @Override755 public int getViewDistance()756 {757 // TODO Auto-generated method stub758 throw new UnimplementedOperationException();759 }760 @Override761 public String getIp()762 {763 // TODO Auto-generated method stub764 throw new UnimplementedOperationException();765 }766 @Override767 public String getWorldType()768 {769 // TODO Auto-generated method stub770 throw new UnimplementedOperationException();771 }772 @Override773 public boolean getGenerateStructures()774 {775 // TODO Auto-generated method stub776 throw new UnimplementedOperationException();777 }778 @Override779 public boolean getAllowEnd()780 {781 // TODO Auto-generated method stub782 throw new UnimplementedOperationException();783 }784 @Override785 public boolean getAllowNether()786 {787 // TODO Auto-generated method stub788 throw new UnimplementedOperationException();789 }790 @Override791 public boolean hasWhitelist()792 {793 // TODO Auto-generated method stub794 throw new UnimplementedOperationException();795 }796 @Override797 public void setWhitelist(boolean value)798 {799 // TODO Auto-generated method stub800 throw new UnimplementedOperationException();801 }802 @Override803 public Set<OfflinePlayer> getWhitelistedPlayers()804 {805 // TODO Auto-generated method stub806 throw new UnimplementedOperationException();807 }808 @Override809 public void reloadWhitelist()810 {811 // TODO Auto-generated method stub812 throw new UnimplementedOperationException();813 }814 @Override815 public String getUpdateFolder()816 {817 // TODO Auto-generated method stub818 throw new UnimplementedOperationException();819 }820 @Override821 public File getUpdateFolderFile()822 {823 // TODO Auto-generated method stub824 throw new UnimplementedOperationException();825 }826 @Override827 public long getConnectionThrottle()828 {829 // TODO Auto-generated method stub830 throw new UnimplementedOperationException();831 }832 @Override833 public int getTicksPerAnimalSpawns()834 {835 // TODO Auto-generated method stub836 throw new UnimplementedOperationException();837 }838 @Override839 public int getTicksPerMonsterSpawns()840 {841 // TODO Auto-generated method stub842 throw new UnimplementedOperationException();843 }844 @Override845 public ServicesManagerMock getServicesManager()846 {847 return servicesManager;848 }849 @Override850 public World createWorld(WorldCreator creator)851 {852 // TODO Auto-generated method stub853 throw new UnimplementedOperationException();854 }855 @Override856 public boolean unloadWorld(String name, boolean save)857 {858 // TODO Auto-generated method stub859 throw new UnimplementedOperationException();...

Full Screen

Full Screen

ServicesManagerMock

Using AI Code Generation

copy

Full Screen

1ServerMock server = MockBukkit.mock();2PlayerMock player = server.addPlayer();3PlayerMock player = server.addPlayer();4PlayerMock player = server.addPlayer();5PlayerMock player = server.addPlayer();6PlayerMock player = server.addPlayer();7PlayerMock player = server.addPlayer();8PlayerMock player = server.addPlayer();9PlayerMock player = server.addPlayer();10PlayerMock player = server.addPlayer();11PlayerMock player = server.addPlayer();12PlayerMock player = server.addPlayer();13PlayerMock player = server.addPlayer();14PlayerMock player = server.addPlayer();

Full Screen

Full Screen

ServicesManagerMock

Using AI Code Generation

copy

Full Screen

1{2 public void onEnableTest()3 {4 ServerMock server = MockBukkit.mock();5 PluginManagerMock pluginManager = server.getPluginManager();6 ServicesManagerMock servicesManager = server.getServicesManager();7 MyPlugin plugin = MockBukkit.load(MyPlugin.class);8 plugin.onEnable();9 verify(pluginManager).registerEvents(any(MyPlugin.class), any(Plugin.class));10 verify(servicesManager).register(any(Class.class), any(MyPlugin.class), any(Plugin.class), any(ServicePriority.class));11 }12}

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run MockBukkit automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used method in ServerMock

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful