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

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

Source:WorldMock.java Github

copy

Full Screen

...61import org.bukkit.inventory.ItemStack;62import org.bukkit.metadata.MetadataValue;63import org.bukkit.persistence.PersistentDataContainer;64import org.bukkit.plugin.Plugin;65import org.bukkit.plugin.messaging.StandardMessenger;66import org.bukkit.util.BoundingBox;67import org.bukkit.util.Consumer;68import org.bukkit.util.RayTraceResult;69import org.bukkit.util.Vector;70import org.jetbrains.annotations.NotNull;71import org.jetbrains.annotations.Nullable;72import java.io.File;73import java.util.ArrayList;74import java.util.Collection;75import java.util.HashMap;76import java.util.HashSet;77import java.util.List;78import java.util.Map;79import java.util.Random;80import java.util.Set;81import java.util.UUID;82import java.util.concurrent.CompletableFuture;83import java.util.concurrent.ThreadLocalRandom;84import java.util.function.Predicate;85import java.util.stream.Collectors;86/**87 * A mock world object. Note that it is made to be as simple as possible. It is by no means an efficient implementation.88 */89public class WorldMock implements World90{91 private static final int SEA_LEVEL = 63;92 private final Map<Coordinate, BlockMock> blocks = new HashMap<>();93 private final Map<GameRule<?>, Object> gameRules = new HashMap<>();94 private final MetadataTable metadataTable = new MetadataTable();95 private final Map<ChunkCoordinate, ChunkMock> loadedChunks = new HashMap<>();96 private final PersistentDataContainer persistentDataContainer = new PersistentDataContainerMock();97 private final ServerMock server;98 private final Material defaultBlock;99 private final int grassHeight;100 private final int minHeight;101 private final int maxHeight;102 private final UUID uuid = UUID.randomUUID();103 private Environment environment = Environment.NORMAL;104 private String name = "World";105 private Location spawnLocation;106 private long fullTime = 0;107 private int weatherDuration = 0;108 private int thunderDuration = 0;109 private boolean storming = false;110 private long seed = 0;111 private WorldType worldType = WorldType.NORMAL;112 /**113 * Creates a new mock world.114 *115 * @param defaultBlock The block that is spawned at locations 1 to {@code grassHeight}116 * @param minHeight The minimum height of the world.117 * @param maxHeight The maximum height of the world.118 * @param grassHeight The last {@code y} at which {@code defaultBlock} will spawn.119 */120 public WorldMock(Material defaultBlock, int minHeight, int maxHeight, int grassHeight)121 {122 this.defaultBlock = defaultBlock;123 this.minHeight = minHeight;124 this.maxHeight = maxHeight;125 this.grassHeight = grassHeight;126 this.server = MockBukkit.getMock();127 // Set the default gamerule values.128 gameRules.put(GameRule.ANNOUNCE_ADVANCEMENTS, true);129 gameRules.put(GameRule.COMMAND_BLOCK_OUTPUT, true);130 gameRules.put(GameRule.DISABLE_ELYTRA_MOVEMENT_CHECK, false);131 gameRules.put(GameRule.DO_DAYLIGHT_CYCLE, true);132 gameRules.put(GameRule.DO_ENTITY_DROPS, true);133 gameRules.put(GameRule.DO_FIRE_TICK, true);134 gameRules.put(GameRule.DO_LIMITED_CRAFTING, false);135 gameRules.put(GameRule.DO_MOB_LOOT, true);136 gameRules.put(GameRule.DO_MOB_SPAWNING, true);137 gameRules.put(GameRule.DO_TILE_DROPS, true);138 gameRules.put(GameRule.DO_WEATHER_CYCLE, true);139 gameRules.put(GameRule.KEEP_INVENTORY, false);140 gameRules.put(GameRule.LOG_ADMIN_COMMANDS, true);141 gameRules.put(GameRule.MAX_COMMAND_CHAIN_LENGTH, 65536);142 gameRules.put(GameRule.MAX_ENTITY_CRAMMING, 24);143 gameRules.put(GameRule.MOB_GRIEFING, true);144 gameRules.put(GameRule.NATURAL_REGENERATION, true);145 gameRules.put(GameRule.RANDOM_TICK_SPEED, 3);146 gameRules.put(GameRule.REDUCED_DEBUG_INFO, false);147 gameRules.put(GameRule.SEND_COMMAND_FEEDBACK, true);148 gameRules.put(GameRule.SHOW_DEATH_MESSAGES, true);149 gameRules.put(GameRule.SPAWN_RADIUS, 10);150 gameRules.put(GameRule.SPECTATORS_GENERATE_CHUNKS, true);151 }152 public WorldMock(@NotNull WorldCreator creator)153 {154 this();155 this.name = creator.name();156 this.worldType = creator.type();157 this.seed = creator.seed();158 this.environment = creator.environment();159 }160 /**161 * Creates a new mock world with a specific height from 0.162 *163 * @param defaultBlock The block that is spawned at locations 1 to {@code grassHeight}164 * @param maxHeight The maximum height of the world.165 * @param grassHeight The last {@code y} at which {@code defaultBlock} will spawn.166 */167 public WorldMock(Material defaultBlock, int maxHeight, int grassHeight)168 {169 this(defaultBlock, 0, maxHeight, grassHeight);170 }171 /**172 * Creates a new mock world with a height of 128.173 *174 * @param defaultBlock The block that is spawned at locations 1 to {@code grassHeight}175 * @param grassHeight The last {@code y} at which {@code defaultBlock} will spawn.176 */177 public WorldMock(Material defaultBlock, int grassHeight)178 {179 this(defaultBlock, 128, grassHeight);180 }181 /**182 * Creates a new mock world with a height of 128 and will spawn grass until a {@code y} of 4.183 */184 public WorldMock()185 {186 this(Material.GRASS, 4);187 }188 /**189 * Makes sure that a certain block exists on the coordinate. Returns that block.190 *191 * @param c Creates a block on the given coordinate.192 * @return A newly created block at that location.193 */194 public BlockMock createBlock(Coordinate c)195 {196 if (c.y >= maxHeight)197 {198 throw new ArrayIndexOutOfBoundsException("Y larger than max height");199 }200 else if (c.y < minHeight)201 {202 throw new ArrayIndexOutOfBoundsException("Y smaller than min height");203 }204 Location location = new Location(this, c.x, c.y, c.z);205 BlockMock block;206 if (c.y == minHeight)207 {208 block = new BlockMock(Material.BEDROCK, location);209 }210 else if (c.y <= grassHeight)211 {212 block = new BlockMock(defaultBlock, location);213 }214 else215 {216 block = new BlockMock(location);217 }218 blocks.put(c, block);219 return block;220 }221 @Override222 public int getEntityCount()223 {224 // TODO Auto-generated method stub225 throw new UnimplementedOperationException();226 }227 @Override228 public int getTileEntityCount()229 {230 // TODO Auto-generated method stub231 throw new UnimplementedOperationException();232 }233 @Override234 public int getTickableTileEntityCount()235 {236 // TODO Auto-generated method stub237 throw new UnimplementedOperationException();238 }239 @Override240 public int getChunkCount()241 {242 // TODO Auto-generated method stub243 throw new UnimplementedOperationException();244 }245 @Override246 public int getPlayerCount()247 {248 // TODO Auto-generated method stub249 throw new UnimplementedOperationException();250 }251 @Override252 public @NotNull MoonPhase getMoonPhase()253 {254 // TODO Auto-generated method stub255 throw new UnimplementedOperationException();256 }257 @Override258 public boolean lineOfSightExists(@NotNull Location from, @NotNull Location to)259 {260 // TODO Auto-generated method stub261 throw new UnimplementedOperationException();262 }263 @Override264 public @NotNull BlockMock getBlockAt(int x, int y, int z)265 {266 return getBlockAt(new Coordinate(x, y, z));267 }268 public @NotNull BlockMock getBlockAt(@NotNull Coordinate coordinate)269 {270 if (blocks.containsKey(coordinate))271 {272 return blocks.get(coordinate);273 }274 else275 {276 return createBlock(coordinate);277 }278 }279 @Override280 public @NotNull BlockMock getBlockAt(Location location)281 {282 return getBlockAt(location.getBlockX(), location.getBlockY(), location.getBlockZ());283 }284 @Override285 @Deprecated286 public @NotNull Block getBlockAtKey(long key)287 {288 // TODO Auto-generated method stub289 throw new UnimplementedOperationException();290 }291 @Override292 public @NotNull Location getLocationAtKey(long key)293 {294 return World.super.getLocationAtKey(key);295 }296 @Override297 public @NotNull String getName()298 {299 return name;300 }301 /**302 * Give a new name to this world.303 *304 * @param name The new name of this world.305 */306 public void setName(String name)307 {308 this.name = name;309 }310 @Override311 public @NotNull UUID getUID()312 {313 return uuid;314 }315 @Override316 public @NotNull Location getSpawnLocation()317 {318 if (spawnLocation == null)319 {320 setSpawnLocation(0, grassHeight + 1, 0);321 }322 return spawnLocation;323 }324 @Override325 public boolean setSpawnLocation(Location location)326 {327 return setSpawnLocation(location.getBlockX(), location.getBlockY(), location.getBlockZ());328 }329 @Override330 public boolean setSpawnLocation(int x, int y, int z)331 {332 if (spawnLocation == null)333 {334 spawnLocation = new Location(this, x, y, z);335 }336 else337 {338 spawnLocation.setX(x);339 spawnLocation.setY(y);340 spawnLocation.setZ(z);341 }342 return true;343 }344 @Override345 public @NotNull List<Entity> getEntities()346 {347 // MockBukkit.assertMocking();348 List<Entity> entities = new ArrayList<>();349 Collection<? extends EntityMock> serverEntities = MockBukkit.getMock().getEntities();350 serverEntities.stream().filter(entity -> entity.getWorld() == this)351 .collect(Collectors.toCollection(() -> entities));352 return entities;353 }354 @Override355 public @NotNull ChunkMock getChunkAt(int x, int z)356 {357 return getChunkAt(new ChunkCoordinate(x, z));358 }359 /**360 * Gets the chunk at a specific chunk coordinate.361 * <p>362 * If there is no chunk recorded at the location, one will be created.363 *364 * @param coordinate The coordinate at which to get the chunk.365 * @return The chunk at the location.366 */367 @NotNull368 public ChunkMock getChunkAt(@NotNull ChunkCoordinate coordinate)369 {370 ChunkMock chunk = loadedChunks.get(coordinate);371 if (chunk == null)372 {373 chunk = new ChunkMock(this, coordinate.getX(), coordinate.getZ());374 loadedChunks.put(coordinate, chunk);375 }376 return chunk;377 }378 @Override379 public void sendPluginMessage(@NotNull Plugin source, @NotNull String channel, byte[] message)380 {381 StandardMessenger.validatePluginMessage(this.server.getMessenger(), source, channel, message);382 for (Player player : this.getPlayers())383 {384 player.sendPluginMessage(source, channel, message);385 }386 }387 @Override388 public @NotNull Set<String> getListeningPluginChannels()389 {390 Set<String> result = new HashSet<>();391 for (Player player : this.getPlayers())392 {393 result.addAll(player.getListeningPluginChannels());394 }395 return result;...

Full Screen

Full Screen

Source:ServerMock.java Github

copy

Full Screen

...84import org.bukkit.loot.LootTable;85import org.bukkit.map.MapView;86import org.bukkit.plugin.Plugin;87import org.bukkit.plugin.messaging.Messenger;88import org.bukkit.plugin.messaging.StandardMessenger;89import org.bukkit.potion.PotionBrewer;90import org.bukkit.potion.PotionEffectType;91import org.bukkit.profile.PlayerProfile;92import org.bukkit.structure.StructureManager;93import org.bukkit.util.CachedServerIcon;94import org.jetbrains.annotations.NotNull;95import org.jetbrains.annotations.Nullable;96import java.awt.image.BufferedImage;97import java.io.File;98import java.io.IOException;99import java.io.InputStream;100import java.util.ArrayList;101import java.util.Arrays;102import java.util.Collection;103import java.util.Collections;104import java.util.HashMap;105import java.util.HashSet;106import java.util.Iterator;107import java.util.LinkedList;108import java.util.List;109import java.util.Locale;110import java.util.Map;111import java.util.Set;112import java.util.UUID;113import java.util.function.Consumer;114import java.util.logging.Level;115import java.util.logging.LogManager;116import java.util.logging.Logger;117import java.util.stream.Collectors;118public class ServerMock extends Server.Spigot implements Server119{120 private static final String BUKKIT_VERSION = "1.18.2";121 private static final String JOIN_MESSAGE = "%s has joined the server.";122 private static final String MOTD = "A Minecraft Server";123 private final Logger logger = Logger.getLogger("ServerMock");124 private final Thread mainThread = Thread.currentThread();125 private final MockUnsafeValues unsafe = new MockUnsafeValues();126 private final Map<String, TagRegistry> materialTags = new HashMap<>();127 private final Set<EntityMock> entities = new HashSet<>();128 private final List<World> worlds = new ArrayList<>();129 private final List<Recipe> recipes = new LinkedList<>();130 private final Map<NamespacedKey, KeyedBossBarMock> bossBars = new HashMap<>();131 private final ItemFactory factory = new ItemFactoryMock();132 private final PlayerMockFactory playerFactory = new PlayerMockFactory(this);133 private final PluginManagerMock pluginManager = new PluginManagerMock(this);134 private final ScoreboardManagerMock scoreboardManager = new ScoreboardManagerMock();135 private final BukkitSchedulerMock scheduler = new BukkitSchedulerMock();136 private final ServicesManagerMock servicesManager = new ServicesManagerMock();137 private final MockPlayerList playerList = new MockPlayerList();138 private final MockCommandMap commandMap = new MockCommandMap(this);139 private final HelpMapMock helpMap = new HelpMapMock();140 private final StandardMessenger messenger = new StandardMessenger();141 private GameMode defaultGameMode = GameMode.SURVIVAL;142 private ConsoleCommandSender consoleSender;143 private int spawnRadius = 16;144 private WarningState warningState = WarningState.DEFAULT;145 public ServerMock()146 {147 ServerMock.registerSerializables();148 // Register default Minecraft Potion Effect Types149 createPotionEffectTypes();150 TagsMock.loadDefaultTags(this, true);151 EnchantmentsMock.registerDefaultEnchantments();152 try153 {154 InputStream stream = ClassLoader.getSystemResourceAsStream("logger.properties");155 LogManager.getLogManager().readConfiguration(stream);156 }157 catch (IOException e)158 {159 logger.warning("Could not load file logger.properties");160 }161 logger.setLevel(Level.ALL);162 }163 /**164 * Checks if we are on the main thread. The main thread is the thread used to create this instance of the mock165 * server.166 *167 * @return {@code true} if we are on the main thread, {@code false} if we are running on a different thread.168 */169 public boolean isOnMainThread()170 {171 return mainThread.equals(Thread.currentThread());172 }173 /**174 * Checks if we are running a method on the main thread. If not, a `ThreadAccessException` is thrown.175 */176 public void assertMainThread()177 {178 if (!isOnMainThread())179 {180 throw new ThreadAccessException("The Bukkit API was accessed from asynchronous code.");181 }182 }183 /**184 * Registers an entity so that the server can track it more easily. Should only be used internally.185 *186 * @param entity The entity to register187 */188 public void registerEntity(@NotNull EntityMock entity)189 {190 assertMainThread();191 entities.add(entity);192 }193 /**194 * Returns a set of entities that exist on the server instance.195 *196 * @return A set of entities that exist on this server instance.197 */198 @NotNull199 public Set<EntityMock> getEntities()200 {201 return Collections.unmodifiableSet(entities);202 }203 /**204 * Add a specific player to the set.205 *206 * @param player The player to add.207 */208 public void addPlayer(PlayerMock player)209 {210 assertMainThread();211 playerList.addPlayer(player);212 PlayerJoinEvent playerJoinEvent = new PlayerJoinEvent(player,213 String.format(JOIN_MESSAGE, player.getDisplayName()));214 Bukkit.getPluginManager().callEvent(playerJoinEvent);215 player.setLastPlayed(getCurrentServerTime());216 registerEntity(player);217 }218 /**219 * Creates a random player and adds it.220 *221 * @return The player that was added.222 */223 public PlayerMock addPlayer()224 {225 assertMainThread();226 PlayerMock player = playerFactory.createRandomPlayer();227 addPlayer(player);228 return player;229 }230 /**231 * Creates a player with a given name and adds it.232 *233 * @param name The name to give to the player.234 * @return The added player.235 */236 public PlayerMock addPlayer(String name)237 {238 assertMainThread();239 PlayerMock player = new PlayerMock(this, name);240 addPlayer(player);241 return player;242 }243 /**244 * Set the numbers of mock players that are on this server. Note that it will remove all players that are already on245 * this server.246 *247 * @param num The number of players that are on this server.248 */249 public void setPlayers(int num)250 {251 assertMainThread();252 playerList.clearOnlinePlayers();253 for (int i = 0; i < num; i++)254 addPlayer();255 }256 /**257 * Set the numbers of mock offline players that are on this server. Note that even players that are online are also258 * considered offline player because an {@link OfflinePlayer} really just refers to anyone that has at some point in259 * time played on the server.260 *261 * @param num The number of players that are on this server.262 */263 public void setOfflinePlayers(int num)264 {265 assertMainThread();266 playerList.clearOfflinePlayers();267 for (PlayerMock player : getOnlinePlayers())268 {269 playerList.addPlayer(player);270 }271 for (int i = 0; i < num; i++)272 {273 OfflinePlayer player = playerFactory.createRandomOfflinePlayer();274 playerList.addOfflinePlayer(player);275 }276 }277 /**278 * Get a specific mock player. A player's number will never change between invocations of {@link #setPlayers(int)}.279 *280 * @param num The number of the player to retrieve.281 * @return The chosen player.282 */283 public PlayerMock getPlayer(int num)284 {285 return playerList.getPlayer(num);286 }287 @Override288 public @Nullable UUID getPlayerUniqueId(@NotNull String playerName)289 {290 return playerList.getPlayer(playerName).getUniqueId();291 }292 /**293 * Adds a very simple super flat world with a given name.294 *295 * @param name The name to give to the world.296 * @return The {@link WorldMock} that has been created.297 */298 public WorldMock addSimpleWorld(String name)299 {300 assertMainThread();301 WorldMock world = new WorldMock();302 world.setName(name);303 worlds.add(world);304 return world;305 }306 /**307 * Adds the given mocked world to this server.308 *309 * @param world The world to add.310 */311 public void addWorld(WorldMock world)312 {313 assertMainThread();314 worlds.add(world);315 }316 /**317 * Executes a command as the console.318 *319 * @param command The command to execute.320 * @param args The arguments to pass to the commands.321 * @return The value returned by {@link Command#execute}.322 */323 public CommandResult executeConsole(Command command, String... args)324 {325 assertMainThread();326 return execute(command, getConsoleSender(), args);327 }328 /**329 * Executes a command as the console.330 *331 * @param command The command to execute.332 * @param args The arguments to pass to the commands.333 * @return The value returned by {@link Command#execute}.334 */335 public CommandResult executeConsole(String command, String... args)336 {337 assertMainThread();338 return executeConsole(getCommandMap().getCommand(command), args);339 }340 /**341 * Executes a command as a player.342 *343 * @param command The command to execute.344 * @param args The arguments to pass to the commands.345 * @return The value returned by {@link Command#execute}.346 */347 public CommandResult executePlayer(Command command, String... args)348 {349 assertMainThread();350 if (playerList.isSomeoneOnline())351 return execute(command, getPlayer(0), args);352 else353 throw new IllegalStateException("Need at least one player to run the command");354 }355 /**356 * Executes a command as a player.357 *358 * @param command The command to execute.359 * @param args The arguments to pass to the commands.360 * @return The value returned by {@link Command#execute}.361 */362 public CommandResult executePlayer(String command, String... args)363 {364 assertMainThread();365 return executePlayer(getCommandMap().getCommand(command), args);366 }367 /**368 * Executes a command.369 *370 * @param command The command to execute.371 * @param sender The person that executed the command.372 * @param args The arguments to pass to the commands.373 * @return The value returned by {@link Command#execute}.374 */375 public CommandResult execute(Command command, CommandSender sender, String... args)376 {377 assertMainThread();378 if (!(sender instanceof MessageTarget))379 {380 throw new IllegalArgumentException("Only a MessageTarget can be the sender of the command");381 }382 boolean status = command.execute(sender, command.getName(), args);383 return new CommandResult(status, (MessageTarget) sender);384 }385 /**386 * Executes a command.387 *388 * @param command The command to execute.389 * @param sender The person that executed the command.390 * @param args The arguments to pass to the commands.391 * @return The value returned by {@link Command#execute}.392 */393 public CommandResult execute(String command, CommandSender sender, String... args)394 {395 assertMainThread();396 return execute(getCommandMap().getCommand(command), sender, args);397 }398 @Override399 public String getName()400 {401 return "ServerMock";402 }403 @Override404 public String getVersion()405 {406 return String.format("MockBukkit (MC: %s)", BUKKIT_VERSION);407 }408 @Override409 public String getBukkitVersion()410 {411 return BUKKIT_VERSION;412 }413 @Override414 public @NotNull String getMinecraftVersion()415 {416 throw new UnimplementedOperationException();417 }418 @Override419 public Collection<? extends PlayerMock> getOnlinePlayers()420 {421 return playerList.getOnlinePlayers();422 }423 @Override424 public OfflinePlayer[] getOfflinePlayers()425 {426 return playerList.getOfflinePlayers();427 }428 @Override429 public @Nullable OfflinePlayer getOfflinePlayerIfCached(@NotNull String name)430 {431 //TODO Auto-generated method stub432 throw new UnimplementedOperationException();433 }434 @Override435 public Player getPlayer(String name)436 {437 return playerList.getPlayer(name);438 }439 @Override440 public Player getPlayerExact(String name)441 {442 return playerList.getPlayerExact(name);443 }444 @Override445 public List<Player> matchPlayer(String name)446 {447 return playerList.matchPlayer(name);448 }449 @Override450 public Player getPlayer(UUID id)451 {452 return playerList.getPlayer(id);453 }454 @Override455 public PluginManagerMock getPluginManager()456 {457 return pluginManager;458 }459 @NotNull460 public MockCommandMap getCommandMap()461 {462 return commandMap;463 }464 @Override465 public PluginCommand getPluginCommand(String name)466 {467 assertMainThread();468 Command command = getCommandMap().getCommand(name);469 return command instanceof PluginCommand ? (PluginCommand) command : null;470 }471 @Override472 public Logger getLogger()473 {474 return logger;475 }476 @Override477 public ConsoleCommandSender getConsoleSender()478 {479 if (consoleSender == null)480 {481 consoleSender = new ConsoleCommandSenderMock();482 }483 return consoleSender;484 }485 @Override486 public @NotNull CommandSender createCommandSender(@NotNull Consumer<? super Component> feedback)487 {488 //TODO Auto-generated method stub489 throw new UnimplementedOperationException();490 }491 @NotNull492 @Deprecated493 public InventoryMock createInventory(InventoryHolder owner, InventoryType type, String title, int size)494 {495 assertMainThread();496 if (!type.isCreatable())497 {498 throw new IllegalArgumentException("Inventory Type is not creatable!");499 }500 switch (type)501 {502 case CHEST:503 return new ChestInventoryMock(owner, size > 0 ? size : 9 * 3);504 case DISPENSER:505 return new DispenserInventoryMock(owner);506 case DROPPER:507 return new DropperInventoryMock(owner);508 case PLAYER:509 if (owner instanceof HumanEntity)510 {511 return new PlayerInventoryMock((HumanEntity) owner);512 }513 else514 {515 throw new IllegalArgumentException("Cannot create a Player Inventory for: " + owner);516 }517 case ENDER_CHEST:518 return new EnderChestInventoryMock(owner);519 case HOPPER:520 return new HopperInventoryMock(owner);521 case SHULKER_BOX:522 return new ShulkerBoxInventoryMock(owner);523 case BARREL:524 return new BarrelInventoryMock(owner);525 case LECTERN:526 return new LecternInventoryMock(owner);527 case GRINDSTONE:528 // TODO: This Inventory Type needs to be implemented529 case STONECUTTER:530 // TODO: This Inventory Type needs to be implemented531 case CARTOGRAPHY:532 // TODO: This Inventory Type needs to be implemented533 case SMOKER:534 // TODO: This Inventory Type needs to be implemented535 case LOOM:536 // TODO: This Inventory Type needs to be implemented537 case BLAST_FURNACE:538 // TODO: This Inventory Type needs to be implemented539 case ANVIL:540 // TODO: This Inventory Type needs to be implemented541 case SMITHING:542 // TODO: This Inventory Type needs to be implemented543 case BEACON:544 // TODO: This Inventory Type needs to be implemented545 case FURNACE:546 // TODO: This Inventory Type needs to be implemented547 case WORKBENCH:548 // TODO: This Inventory Type needs to be implemented549 case ENCHANTING:550 // TODO: This Inventory Type needs to be implemented551 case BREWING:552 // TODO: This Inventory Type needs to be implemented553 case CRAFTING:554 // TODO: This Inventory Type needs to be implemented555 case CREATIVE:556 // TODO: This Inventory Type needs to be implemented557 case MERCHANT:558 // TODO: This Inventory Type needs to be implemented559 default:560 throw new UnimplementedOperationException("Inventory type not yet supported");561 }562 }563 @Override564 public InventoryMock createInventory(InventoryHolder owner, InventoryType type)565 {566 return createInventory(owner, type, "Inventory");567 }568 @Override569 public @NotNull Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull Component title)570 {571 //TODO Auto-generated method stub572 throw new UnimplementedOperationException();573 }574 @Override575 @Deprecated576 public InventoryMock createInventory(InventoryHolder owner, InventoryType type, String title)577 {578 return createInventory(owner, type, title, -1);579 }580 @Override581 public InventoryMock createInventory(InventoryHolder owner, int size)582 {583 return createInventory(owner, size, "Inventory");584 }585 @Override586 public @NotNull Inventory createInventory(@Nullable InventoryHolder owner, int size, @NotNull Component title) throws IllegalArgumentException587 {588 //TODO Auto-generated method stub589 throw new UnimplementedOperationException();590 }591 @Override592 @Deprecated593 public InventoryMock createInventory(InventoryHolder owner, int size, String title)594 {595 return createInventory(owner, InventoryType.CHEST, title, size);596 }597 @Override598 public Merchant createMerchant(@Nullable Component title)599 {600 //TODO Auto-generated method stub601 throw new UnimplementedOperationException();602 }603 @Override604 public ItemFactory getItemFactory()605 {606 return factory;607 }608 @Override609 public List<World> getWorlds()610 {611 return new ArrayList<>(worlds);612 }613 @Override614 public World getWorld(String name)615 {616 return worlds.stream().filter(world -> world.getName().equals(name)).findAny().orElse(null);617 }618 @Override619 public World getWorld(UUID uid)620 {621 return worlds.stream().filter(world -> world.getUID().equals(uid)).findAny().orElse(null);622 }623 @Override624 public @Nullable World getWorld(@NotNull NamespacedKey worldKey)625 {626 // TODO Auto-generated method stub627 throw new UnimplementedOperationException();628 }629 @NotNull630 @Override631 public WorldBorder createWorldBorder()632 {633 // TODO Auto-generated method stub634 throw new UnimplementedOperationException();635 }636 @Override637 public BukkitSchedulerMock getScheduler()638 {639 return scheduler;640 }641 @Override642 public int getMaxPlayers()643 {644 return playerList.getMaxPlayers();645 }646 @Override647 public void setMaxPlayers(int maxPlayers)648 {649 playerList.setMaxPlayers(maxPlayers);650 }651 @Override652 public Set<String> getIPBans()653 {654 return this.playerList.getIPBans().getBanEntries().stream().map(BanEntry::getTarget)655 .collect(Collectors.toSet());656 }657 @Override658 public void banIP(String address)659 {660 assertMainThread();661 this.playerList.getIPBans().addBan(address, null, null, null);662 }663 @Override664 public void unbanIP(String address)665 {666 assertMainThread();667 this.playerList.getIPBans().pardon(address);668 }669 @Override670 public BanList getBanList(Type type)671 {672 switch (type)673 {674 case IP:675 return playerList.getIPBans();676 case NAME:677 default:678 return playerList.getProfileBans();679 }680 }681 @Override682 public Set<OfflinePlayer> getOperators()683 {684 return playerList.getOperators();685 }686 @Override687 public GameMode getDefaultGameMode()688 {689 return this.defaultGameMode;690 }691 @Override692 public void setDefaultGameMode(GameMode mode)693 {694 assertMainThread();695 this.defaultGameMode = mode;696 }697 @Override698 @Deprecated699 public int broadcastMessage(String message)700 {701 Collection<? extends PlayerMock> players = getOnlinePlayers();702 for (Player player : players)703 {704 player.sendMessage(message);705 }706 return players.size();707 }708 @Override709 @Deprecated710 public int broadcast(String message, String permission)711 {712 Collection<? extends PlayerMock> players = getOnlinePlayers();713 int count = 0;714 for (Player player : players)715 {716 if (player.hasPermission(permission))717 {718 player.sendMessage(message);719 count++;720 }721 }722 return count;723 }724 @Override725 public int broadcast(@NotNull Component message)726 {727 Collection<? extends PlayerMock> players = getOnlinePlayers();728 for (Player player : players)729 {730 player.sendMessage(message);731 }732 return players.size();733 }734 @Override735 public int broadcast(@NotNull Component message, @NotNull String permission)736 {737 Collection<? extends PlayerMock> players = getOnlinePlayers();738 int count = 0;739 for (Player player : players)740 {741 if (player.hasPermission(permission))742 {743 player.sendMessage(message);744 count++;745 }746 }747 return count;748 }749 /**750 * Registers any classes that are serializable with the ConfigurationSerializable system of Bukkit.751 */752 public static void registerSerializables()753 {754 ConfigurationSerialization.registerClass(ItemMetaMock.class);755 }756 @Override757 public boolean addRecipe(Recipe recipe)758 {759 assertMainThread();760 recipes.add(recipe);761 return true;762 }763 @Override764 public List<Recipe> getRecipesFor(@NotNull ItemStack item)765 {766 assertMainThread();767 return recipes.stream().filter(recipe ->768 {769 ItemStack result = recipe.getResult();770 // Amount is explicitly ignored here771 return result.getType() == item.getType() && result.getItemMeta().equals(item.getItemMeta());772 }).collect(Collectors.toList());773 }774 @Override775 public Recipe getRecipe(NamespacedKey key)776 {777 assertMainThread();778 for (Recipe recipe : recipes)779 {780 // Seriously why can't the Recipe interface itself just extend Keyed...781 if (recipe instanceof Keyed && ((Keyed) recipe).getKey().equals(key))782 {783 return recipe;784 }785 }786 return null;787 }788 @Nullable789 @Override790 public Recipe getCraftingRecipe(@NotNull ItemStack[] craftingMatrix, @NotNull World world)791 {792 // TODO Auto-generated method stub793 throw new UnimplementedOperationException();794 }795 @NotNull796 @Override797 public ItemStack craftItem(@NotNull ItemStack[] craftingMatrix, @NotNull World world, @NotNull Player player)798 {799 // TODO Auto-generated method stub800 throw new UnimplementedOperationException();801 }802 @Override803 public boolean removeRecipe(NamespacedKey key)804 {805 assertMainThread();806 Iterator<Recipe> iterator = recipeIterator();807 while (iterator.hasNext())808 {809 Recipe recipe = iterator.next();810 // Seriously why can't the Recipe interface itself just extend Keyed...811 if (recipe instanceof Keyed && ((Keyed) recipe).getKey().equals(key))812 {813 iterator.remove();814 return true;815 }816 }817 return false;818 }819 @Override820 public Iterator<Recipe> recipeIterator()821 {822 assertMainThread();823 return recipes.iterator();824 }825 @Override826 public void clearRecipes()827 {828 assertMainThread();829 recipes.clear();830 }831 @Override832 public boolean dispatchCommand(CommandSender sender, String commandLine)833 {834 assertMainThread();835 String[] commands = commandLine.split(" ");836 String commandLabel = commands[0];837 String[] args = Arrays.copyOfRange(commands, 1, commands.length);838 Command command = getCommandMap().getCommand(commandLabel);839 if (command != null)840 {841 return command.execute(sender, commandLabel, args);842 }843 else844 {845 return false;846 }847 }848 @Override849 public HelpMapMock getHelpMap()850 {851 return helpMap;852 }853 @Override854 public void sendPluginMessage(@NotNull Plugin source, @NotNull String channel, byte[] message)855 {856 StandardMessenger.validatePluginMessage(this.getMessenger(), source, channel, message);857 for (Player player : this.getOnlinePlayers())858 {859 player.sendPluginMessage(source, channel, message);860 }861 }862 @Override863 public @NotNull Set<String> getListeningPluginChannels()864 {865 Set<String> result = new HashSet<>();866 for (Player player : this.getOnlinePlayers())867 {868 result.addAll(player.getListeningPluginChannels());869 }870 return result;...

Full Screen

Full Screen

StandardMessenger

Using AI Code Generation

copy

Full Screen

1package test;2import be.seeseemelk.mockbukkit.ServerMock;3import be.seeseemelk.mockbukkit.entity.PlayerMock;4import be.seeseemelk.mockbukkit.entity.PlayerMockFactory;5import org.bukkit.entity.Player;6import org.junit.Test;7import static org.junit.Assert.*;8public class TestPlayer {9 public void testPlayer() {10 ServerMock server = new ServerMock();11 PlayerMockFactory factory = new PlayerMockFactory(server);12 PlayerMock player = factory.createPlayer("testPlayer");13 server.addPlayer(player);14 player.sendMessage("test message");15 assertEquals("test message", player.nextMessage());16 }17}18package test;19import be.seeseemelk.mockbukkit.ServerMock;20import be.seeseemelk.mockbukkit.entity.PlayerMock;21import be.seeseemelk.mockbukkit.entity.PlayerMockFactory;22import org.bukkit.entity.Player;23import org.junit.Test;24import static org.junit.Assert.*;25public class TestPlayer {26 public void testPlayer() {27 ServerMock server = new ServerMock();28 PlayerMockFactory factory = new PlayerMockFactory(server);29 PlayerMock player = factory.createPlayer("testPlayer");30 server.addPlayer(player);31 player.sendMessage("test message");32 assertEquals("test message", player.nextMessage());33 }34}35package test;36import be.seeseemelk.mockbukkit.ServerMock;37import be.seeseemelk.mockbukkit.entity.PlayerMock;38import be.seeseemelk.mockbukkit.entity.PlayerMockFactory;39import org.bukkit.entity.Player;40import org.junit.Test;41import static org.junit.Assert.*;42public class TestPlayer {43 public void testPlayer() {44 ServerMock server = new ServerMock();45 PlayerMockFactory factory = new PlayerMockFactory(server);46 PlayerMock player = factory.createPlayer("testPlayer");47 server.addPlayer(player);48 player.sendMessage("test message");49 assertEquals("test message", player.nextMessage());50 }51}

Full Screen

Full Screen

StandardMessenger

Using AI Code Generation

copy

Full Screen

1package be.seeseemelk.mockbukkit;2import org.bukkit.entity.Player;3import org.bukkit.plugin.Plugin;4{5 public void registerOutgoingPluginChannel(Plugin arg0, String arg1)6 {7 }8 public void registerIncomingPluginChannel(Plugin arg0, String arg1, PluginMessageListener arg2)9 {10 }11 public void unregisterIncomingPluginChannel(Plugin arg0, String arg1, PluginMessageListener arg2)12 {13 }14 public void unregisterIncomingPluginChannel(Plugin arg0, String arg1)15 {16 }17 public void unregisterIncomingPluginChannel(Plugin arg0)18 {19 }20 public void unregisterOutgoingPluginChannel(Plugin arg0, String arg1)21 {22 }23 public void unregisterOutgoingPluginChannel(Plugin arg0)24 {25 }26 public Set<String> getIncomingChannels()27 {28 return null;29 }30 public Set<String> getIncomingChannels(Plugin arg0)31 {32 return null;33 }34 public Set<String> getOutgoingChannels()35 {36 return null;37 }38 public Set<String> getOutgoingChannels(Plugin arg0)39 {40 return null;41 }42 public boolean isOutgoingChannelRegistered(Plugin arg0, String arg1)43 {44 return false;45 }46 public boolean isIncomingChannelRegistered(Plugin arg0, String arg1)47 {48 return false;49 }50 public void dispatchIncomingMessage(Player arg0, String arg1, byte[] arg2)51 {52 }

Full Screen

Full Screen

StandardMessenger

Using AI Code Generation

copy

Full Screen

1import org.junit.Test;2import be.seeseemelk.mockbukkit.ServerMock;3import org.bukkit.entity.Player;4import static org.junit.Assert.assertEquals;5public class StandardMessengerTest {6 public void testSendPlayerMessage() {7 ServerMock server = new ServerMock();8 Player player = server.addPlayer();9 server.getStandardMessenger().sendPlayerMessage(player, "Hello, World!");10 assertEquals("Hello, World!", player.getLastMessage());11 }12}13import org.junit.Test;14import be.seeseemelk.mockbukkit.ServerMock;15import org.bukkit.entity.Player;16import static org.junit.Assert.assertEquals;17public class StandardMessengerTest {18 public void testSendPlayerMessage() {19 ServerMock server = new ServerMock();20 Player player = server.addPlayer();21 server.getStandardMessenger().sendPlayerMessage(player, "Hello, World!");22 assertEquals("Hello, World!", player.getLastMessage());23 }24}25import org.junit.Test;26import be.seeseemelk.mockbukkit.ServerMock;27import org.bukkit.entity.Player;28import static org.junit.Assert.assertEquals;29public class StandardMessengerTest {30 public void testSendPlayerMessage() {31 ServerMock server = new ServerMock();32 Player player = server.addPlayer();33 server.getStandardMessenger().sendPlayerMessage(player, "Hello, World!");34 assertEquals("Hello, World!", player.getLastMessage());35 }36}37import org.junit.Test;38import be.seeseemelk.mockbukkit.ServerMock;39import org.bukkit.entity.Player;40import static org.junit.Assert.assertEquals;41public class StandardMessengerTest {42 public void testSendPlayerMessage() {43 ServerMock server = new ServerMock();44 Player player = server.addPlayer();45 server.getStandardMessenger().sendPlayerMessage(player, "Hello, World!");46 assertEquals("Hello

Full Screen

Full Screen

StandardMessenger

Using AI Code Generation

copy

Full Screen

1package com.example;2import org.bukkit.event.Listener;3import org.junit.Before;4import org.junit.Test;5import be.seeseemelk.mockbukkit.MockBukkit;6import be.seeseemelk.mockbukkit.ServerMock;7{8 private ServerMock serverMock;9 private Listener listener;10 public void setUp()11 {12 serverMock = MockBukkit.mock();13 listener = new ExampleListener();14 serverMock.getPluginManager().registerEvents(listener, MockBukkit.getMock().createMockPlugin());15 }16 public void test()17 {18 serverMock.getStandardMessenger().printMessage("Hello World");19 }20}21package com.example;22import org.bukkit.event.Listener;23import org.junit.After;24import org.junit.Before;25import org.junit.Test;26import be.seeseemelk.mockbukkit.MockBukkit;27import be.seeseemelk.mockbukkit.ServerMock;28{29 private ServerMock serverMock;30 private Listener listener;31 public void setUp()32 {33 serverMock = MockBukkit.mock();34 listener = new ExampleListener();35 serverMock.getPluginManager().registerEvents(listener, MockBukkit.getMock().createMockPlugin());36 }37 public void test()38 {39 serverMock.getStandardMessenger().printMessage("Hello World");40 }41 public void tearDown()42 {43 MockBukkit.unmock();44 }45}46package com.example;47import org.bukkit.event.Listener;48import org.junit.After;49import

Full Screen

Full Screen

StandardMessenger

Using AI Code Generation

copy

Full Screen

1public void testGetServerMessenger() {2 StandardMessenger messenger = server.getMessenger();3 assertNotNull(messenger);4}5public void testGetServerMessenger() {6 StandardMessenger messenger = server.getServerMessenger();7 assertNotNull(messenger);8}9public void testGetServerMessenger() {10 StandardMessenger messenger = server.getMessenger();11 assertNotNull(messenger);12}13public void testGetServerMessenger() {14 StandardMessenger messenger = server.getMessenger();15 assertNotNull(messenger);16}17public void testGetServerMessenger() {18 StandardMessenger messenger = server.getServerMessenger();19 assertNotNull(messenger);20}21public void testGetServerMessenger() {22 StandardMessenger messenger = server.getMessenger();23 assertNotNull(messenger);24}25public void testGetServerMessenger() {26 StandardMessenger messenger = server.getMessenger();27 assertNotNull(messenger);28}29public void testGetServerMessenger() {30 StandardMessenger messenger = server.getServerMessenger();31 assertNotNull(messenger);32}33public void testGetServerMessenger() {

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