Best MockBukkit code snippet using be.seeseemelk.mockbukkit.ServerMock.createPotionEffectTypes
Source:ServerMock.java
...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();860 }861 @Override862 public boolean unloadWorld(World world, boolean save)863 {864 // TODO Auto-generated method stub865 throw new UnimplementedOperationException();866 }867 @Override868 public MapView createMap(World world)869 {870 // TODO Auto-generated method stub871 throw new UnimplementedOperationException();872 }873 @Override874 public void reload()875 {876 // TODO Auto-generated method stub877 throw new UnimplementedOperationException();878 }879 @Override880 public void reloadData()881 {882 // TODO Auto-generated method stub883 throw new UnimplementedOperationException();884 }885 @Override886 public void savePlayers()887 {888 // TODO Auto-generated method stub889 throw new UnimplementedOperationException();890 }891 @Override892 public void resetRecipes()893 {894 // TODO Auto-generated method stub895 throw new UnimplementedOperationException();896 }897 @Override898 public Map<String, String[]> getCommandAliases()899 {900 // TODO Auto-generated method stub901 throw new UnimplementedOperationException();902 }903 @Override904 public int getSpawnRadius()905 {906 // TODO Auto-generated method stub907 throw new UnimplementedOperationException();908 }909 @Override910 public void setSpawnRadius(int value)911 {912 // TODO Auto-generated method stub913 throw new UnimplementedOperationException();914 }915 @Override916 public boolean getOnlineMode()917 {918 // TODO Auto-generated method stub919 throw new UnimplementedOperationException();920 }921 @Override922 public boolean getAllowFlight()923 {924 // TODO Auto-generated method stub925 throw new UnimplementedOperationException();926 }927 @Override928 public boolean isHardcore()929 {930 // TODO Auto-generated method stub931 throw new UnimplementedOperationException();932 }933 @Override934 public void shutdown()935 {936 // TODO Auto-generated method stub937 throw new UnimplementedOperationException();938 }939 @Override940 public OfflinePlayer getOfflinePlayer(String name)941 {942 return playerList.getOfflinePlayer(name);943 }944 @Override945 public OfflinePlayer getOfflinePlayer(UUID id)946 {947 OfflinePlayer player = playerList.getOfflinePlayer(id);948 if (player != null)949 {950 return player;951 }952 else953 {954 return playerFactory.createRandomOfflinePlayer();955 }956 }957 @Override958 public Set<OfflinePlayer> getBannedPlayers()959 {960 // TODO Auto-generated method stub961 throw new UnimplementedOperationException();962 }963 @Override964 public File getWorldContainer()965 {966 // TODO Auto-generated method stub967 throw new UnimplementedOperationException();968 }969 @Override970 public Messenger getMessenger()971 {972 // TODO Auto-generated method stub973 throw new UnimplementedOperationException();974 }975 @Override976 public Merchant createMerchant(String title)977 {978 // TODO Auto-generated method stub979 throw new UnimplementedOperationException();980 }981 @Override982 public int getMonsterSpawnLimit()983 {984 // TODO Auto-generated method stub985 throw new UnimplementedOperationException();986 }987 @Override988 public int getAnimalSpawnLimit()989 {990 // TODO Auto-generated method stub991 throw new UnimplementedOperationException();992 }993 @Override994 public int getWaterAnimalSpawnLimit()995 {996 // TODO Auto-generated method stub997 throw new UnimplementedOperationException();998 }999 @Override1000 public int getAmbientSpawnLimit()1001 {1002 // TODO Auto-generated method stub1003 throw new UnimplementedOperationException();1004 }1005 @Override1006 public boolean isPrimaryThread()1007 {1008 return this.isOnMainThread();1009 }1010 @Override1011 public String getMotd()1012 {1013 return MOTD;1014 }1015 @Override1016 public String getShutdownMessage()1017 {1018 // TODO Auto-generated method stub1019 throw new UnimplementedOperationException();1020 }1021 @Override1022 public WarningState getWarningState()1023 {1024 // TODO Auto-generated method stub1025 throw new UnimplementedOperationException();1026 }1027 @Override1028 public ScoreboardManagerMock getScoreboardManager()1029 {1030 return scoreboardManager;1031 }1032 @Override1033 public CachedServerIcon getServerIcon()1034 {1035 // TODO Auto-generated method stub1036 throw new UnimplementedOperationException();1037 }1038 @Override1039 public CachedServerIcon loadServerIcon(File file)1040 {1041 // TODO Auto-generated method stub1042 throw new UnimplementedOperationException();1043 }1044 @Override1045 public CachedServerIcon loadServerIcon(BufferedImage image)1046 {1047 // TODO Auto-generated method stub1048 throw new UnimplementedOperationException();1049 }1050 @Override1051 public void setIdleTimeout(int threshold)1052 {1053 // TODO Auto-generated method stub1054 throw new UnimplementedOperationException();1055 }1056 @Override1057 public int getIdleTimeout()1058 {1059 // TODO Auto-generated method stub1060 throw new UnimplementedOperationException();1061 }1062 @Override1063 public ChunkData createChunkData(World world)1064 {1065 // TODO Auto-generated method stub1066 throw new UnimplementedOperationException();1067 }1068 @Override1069 public BossBar createBossBar(String title, BarColor color, BarStyle style, BarFlag... flags)1070 {1071 return new BossBarMock(title, color, style, flags);1072 }1073 @Override1074 public Entity getEntity(UUID uuid)1075 {1076 // TODO Auto-generated method stub1077 throw new UnimplementedOperationException();1078 }1079 @Override1080 public Advancement getAdvancement(NamespacedKey key)1081 {1082 // TODO Auto-generated method stub1083 throw new UnimplementedOperationException();1084 }1085 @Override1086 public Iterator<Advancement> advancementIterator()1087 {1088 // TODO Auto-generated method stub1089 throw new UnimplementedOperationException();1090 }1091 @Override1092 @Deprecated1093 public UnsafeValues getUnsafe()1094 {1095 return unsafe;1096 }1097 @Override1098 public BlockData createBlockData(Material material)1099 {1100 // TODO Auto-generated method stub1101 throw new UnimplementedOperationException();1102 }1103 @Override1104 public BlockData createBlockData(Material material, Consumer<BlockData> consumer)1105 {1106 // TODO Auto-generated method stub1107 throw new UnimplementedOperationException();1108 }1109 @Override1110 public BlockData createBlockData(String data)1111 {1112 // TODO Auto-generated method stub1113 throw new UnimplementedOperationException();1114 }1115 @Override1116 public BlockData createBlockData(Material material, String data)1117 {1118 // TODO Auto-generated method stub1119 throw new UnimplementedOperationException();1120 }1121 /**1122 * This creates a new Mock {@link Tag} for the {@link Material} class.<br>1123 * Call this in advance before you are gonna access {@link #getTag(String, NamespacedKey, Class)} or any of the1124 * constants defined in {@link Tag}.1125 *1126 * @param key The {@link NamespacedKey} for this {@link Tag}1127 * @param registryKey The name of the {@link TagRegistry}.1128 * @param materials {@link Material Materials} which should be covered by this {@link Tag}1129 *1130 * @return The newly created {@link Tag}1131 */1132 @NotNull1133 public Tag<Material> createMaterialTag(@NotNull NamespacedKey key, @NotNull String registryKey, @NotNull Material... materials)1134 {1135 Validate.notNull(key, "A NamespacedKey must never be null");1136 TagRegistry registry = materialTags.get(registryKey);1137 TagWrapperMock tag = new TagWrapperMock(registry, key);1138 registry.getTags().put(key, tag);1139 return tag;1140 }1141 public void addTagRegistry(@NotNull TagRegistry registry)1142 {1143 materialTags.put(registry.getRegistry(), registry);1144 }1145 @SuppressWarnings("unchecked")1146 @Override1147 public <T extends Keyed> Tag<T> getTag(String registryKey, NamespacedKey key, Class<T> clazz)1148 {1149 if (clazz == Material.class)1150 {1151 TagRegistry registry = materialTags.get(registryKey);1152 if (registry != null)1153 {1154 Tag<Material> tag = registry.getTags().get(key);1155 if (tag != null)1156 {1157 return (Tag<T>) tag;1158 }1159 }1160 }1161 // Per definition this method should return null if the given tag does not exist.1162 return null;1163 }1164 /**1165 * This registers Minecrafts default {@link PotionEffectType PotionEffectTypes}. It also prevents any new effects to1166 * be created afterwards.1167 */1168 private void createPotionEffectTypes()1169 {1170 for (PotionEffectType type : PotionEffectType.values())1171 {1172 // We probably already registered all Potion Effects1173 // otherwise this would be null1174 if (type != null)1175 {1176 // This is not perfect, but it works.1177 return;1178 }1179 }1180 registerPotionEffectType(1, "SPEED", false, 8171462);1181 registerPotionEffectType(2, "SLOWNESS", false, 5926017);1182 registerPotionEffectType(3, "HASTE", false, 14270531);...
Source:MockNMS.java
...119 DispenserRegistry.a();120 121 // Sometimes, and I have no idea why, DispenserRegistry.a() only works122 // on the very first test in the test suite. After that, everything else123 // doesn't work. At this point, we'll use the ServerMock#createPotionEffectTypes124 // method (which unfortunately is private and pure, so instead of using reflection125 // we'll just implement it right here instead)126 @SuppressWarnings("unchecked")127 Map<NamespacedKey, PotionEffectType> byKey = (Map<NamespacedKey, PotionEffectType>) getField(PotionEffectType.class, "byKey", null);128 if(byKey.isEmpty()) {129 createPotionEffectTypes();130 }131// System.out.println(byKey);132 } catch (ReflectiveOperationException e) {133 e.printStackTrace();134 }135 }136 137 private static void registerPotionEffectType(int id, @NotNull String name, boolean instant, int rgb) {138 NamespacedKey key = NamespacedKey.minecraft(name.toLowerCase(Locale.ROOT));139 PotionEffectType type = new MockPotionEffectType(key, id, name, instant, Color.fromRGB(rgb));140 PotionEffectType.registerPotionEffectType(type);141 }142 143 /**144 * This registers Minecrafts default {@link PotionEffectType PotionEffectTypes}. It also prevents any new effects to145 * be created afterwards.146 */147 public static void createPotionEffectTypes() {148 for (PotionEffectType type : PotionEffectType.values()) {149 // We probably already registered all Potion Effects150 // otherwise this would be null151 if (type != null) {152 // This is not perfect, but it works.153 return;154 }155 }156 registerPotionEffectType(1, "SPEED", false, 8171462);157 registerPotionEffectType(2, "SLOWNESS", false, 5926017);158 registerPotionEffectType(3, "HASTE", false, 14270531);159 registerPotionEffectType(4, "MINING_FATIGUE", false, 4866583);160 registerPotionEffectType(5, "STRENGTH", false, 9643043);161 registerPotionEffectType(6, "INSTANT_HEALTH", true, 16262179);...
createPotionEffectTypes
Using AI Code Generation
1import be.seeseemelk.mockbukkit.ServerMock;2import be.seeseemelk.mockbukkit.entity.PlayerMock;3import org.bukkit.entity.Player;4import org.bukkit.potion.PotionEffectType;5import java.util.HashMap;6import java.util.Map;7public class 2 {8 public static void main(String[] args) {9 ServerMock server = new ServerMock();10 server.createPotionEffectTypes();11 PlayerMock player = server.addPlayer();12 Map<PotionEffectType, Integer> effects = new HashMap<>();13 effects.put(PotionEffectType.ABSORPTION, 1);14 effects.put(PotionEffectType.BLINDNESS, 2);15 effects.put(PotionEffectType.CONFUSION, 3);16 effects.put(PotionEffectType.DAMAGE_RESISTANCE, 4);17 effects.put(PotionEffectType.FAST_DIGGING, 5);18 effects.put(PotionEffectType.FIRE_RESISTANCE, 6);19 effects.put(PotionEffectType.HARM, 7);20 effects.put(PotionEffectType.HEAL, 8);21 effects.put(PotionEffectType.HEALTH_BOOST, 9);22 effects.put(PotionEffectType.HUNGER, 10);23 effects.put(PotionEffectType.INCREASE_DAMAGE, 11);24 effects.put(PotionEffectType.INVISIBILITY, 12);25 effects.put(PotionEffectType.JUMP, 13);26 effects.put(PotionEffectType.NIGHT_VISION, 14);27 effects.put(PotionEffectType.POISON, 15);28 effects.put(PotionEffectType.REGENERATION, 16);29 effects.put(PotionEffectType.SATURATION, 17);30 effects.put(PotionEffectType.SLOW, 18);31 effects.put(PotionEffectType.SLOW_DIGGING, 19);32 effects.put(PotionEffectType.SPEED, 20);33 effects.put(PotionEffectType.WATER_BREATHING, 21);34 effects.put(PotionEffectType.WEAKNESS, 22);35 effects.put(PotionEffectType.WITHER, 23);36 for (PotionEffectType effect : effects.keySet()) {37 player.addPotionEffect(effect.createEffect(100, effects.get(effect)));38 System.out.println(player.getActivePotionEffects());39 }40 }41}
createPotionEffectTypes
Using AI Code Generation
1import be.seeseemelk.mockbukkit.ServerMock;2import org.bukkit.potion.PotionEffectType;3import org.junit.Test;4import org.junit.Before;5import org.junit.After;6import static org.junit.Assert.*;7{8 private ServerMock server;9 private PotionEffectType potionEffectType;10 public void setUp()11 {12 server = new ServerMock();13 server.createPotionEffectTypes();14 }15 public void tearDown()16 {17 server = null;18 potionEffectType = null;19 }20 public void testPotionEffectType()21 {22 potionEffectType = PotionEffectType.getByName("SPEED");23 assertEquals("SPEED", potionEffectType.getName());24 assertEquals(1, potionEffectType.getId());25 assertEquals(1, potionEffectType.getMaxAmplifier());26 assertEquals(1800, potionEffectType.getMaxDuration());27 assertTrue(potionEffectType.isInstant());28 assertTrue(potionEffectType.isBeneficial());29 assertFalse(potionEffectType.hasIcon());30 assertTrue(potionEffectType.isExtendable());31 }32}33C:\Users\user\Documents\NetBeansProjects\MockBukkit>javac -cp .;mockbukkit-1.8.jar TestPotionEffectType.java34C:\Users\user\Documents\NetBeansProjects\MockBukkit>java -cp .;mockbukkit-1.8.jar org.junit.runner.JUnitCore TestPotionEffectType35OK (1 test)
createPotionEffectTypes
Using AI Code Generation
1package com.example;2import be.seeseemelk.mockbukkit.ServerMock;3import org.bukkit.potion.PotionEffectType;4{5 public static void main(String[] args)6 {7 ServerMock server = new ServerMock();8 PotionEffectType potionEffectType = server.createPotionEffectType("SPEED", 1);9 System.out.println(potionEffectType);10 }11}12package com.example;13import be.seeseemelk.mockbukkit.ServerMock;14import org.bukkit.potion.PotionEffect;15import org.bukkit.potion.PotionEffectType;16{17 public static void main(String[] args)18 {19 ServerMock server = new ServerMock();20 PotionEffectType potionEffectType = server.createPotionEffectType("SPEED", 1);21 PotionEffect potionEffect = server.createPotionEffect(potionEffectType, 100, 1, true);22 System.out.println(potionEffect);23 }24}25PotionEffect{type=SPEED, duration=100, amplifier=1, ambient=true}26package com.example;27import be.seeseemelk.mockbukkit.MockBukkit;28import be.seeseemelk.mockbukkit.ServerMock;29import be.seeseemelk.mockbukkit.entity.PlayerMock;30import org.bukkit.potion.PotionEffect;31import org.bukkit.potion.PotionEffectType;32{33 public static void main(String[] args)34 {35 ServerMock server = MockBukkit.mock();36 PlayerMock player = server.addPlayer();37 PotionEffectType potionEffectType = server.createPotionEffectType("SPEED", 1);38 PotionEffect potionEffect = server.createPotionEffect(potionEffectType, 100, 1, true);39 player.addPotionEffect(potionEffect);40 System.out.println(player.getActivePotionEffects());41 MockBukkit.unmock();42 }43}44[PotionEffect{
createPotionEffectTypes
Using AI Code Generation
1public void testCreatePotionEffectTypes() {2 PotionEffectType potionEffectType = PotionEffectType.getById(1);3 assertEquals("speed", potionEffectType.getName());4}5public void testCreatePotionEffectTypes() {6 PotionEffectType potionEffectType = PotionEffectType.getById(2);7 assertEquals("slowness", potionEffectType.getName());8}
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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!