NiftyBukkit
3.4.2Allows you to easily/efficiently make use of many features seen in other plugins when coding.
3.4.2latestBugfixesJan 27, 2016 · Global Feature: When using this plugin, Mac (invisible/intrusive) special characters (0xF700 -> 0xF747) are stripped from sign text. · Plugin Feature: When using this plugin, anything using BukkitLogger or RegexUtil.replaceColor will have the color and formatting codes sorted to properly display on a users client. · ItemDatabase / EnchantmentDatabase · Updated item list. · Added ability to grab the primary names of items and enchantments. · SignMonitor · Keys are now compared in lowercase. Regardless of what case [yOUr KeY] is, it will still match properly. · When cancelling a SignCreateEvent, it now destroys the sign and returns it (if not in creative). · When a SignInteractEvent is not cancelled, it sends out a SignUpdateEvent. · No longer sends out a PlayerInteractEvent if a player left clicks a block in creative mode. · No longer resets sign information after a SignBreakEvent if it's not cancelled. · No longer registers random signs before checking if they're valid (lol?...) · NiftyCore · Config · You can now get the file name (with and without extension) as well as the absolute path for Configs. · The List converter no longer causes a ClassCastException when inside a type of Map. · Fixed first load when checking for MySQL. · Added SQLite support. · MojangRepository · Fixed reversed size checks when querying Mojang API (only previous version). · ProfileNotFoundException messages are now colorized. · MinecraftScheduler · Now correctly gets the task id. · The methods repeat and repeatAsync now do what they should have. · If values for delay and/or period are passed below zero, they reset to zero. · ChatColor now contains MAGIC, BOLD, STRIKETHROUGH, UNDERLINE, ITALIC and RESET. · Added the escapeUnicode method to escape unicode characters in strings to StringUtil. · Added comparators for sorting. The LengthComparator sorts a collection of strings by their length and the LastCharComparator sorts a collection of strings by their last character. · General · BukkitMojangCache now takes a super class of BukkitMojangProfile. · TitleManager now uses the fadeOutTime value. · BukkitMojangProfile#getServer() now returns a BungeeServer. · Added a Location utility. This can be used to convert a yaw value to BlockFace or level, center and/or straighten a Location value.3.4.1Maven Update & BugfixesJan 12, 2016 · Compatibility · Continues to support 1.7.10 through 1.8.x! · Requires NiftyBungee 2.0.0 or greater! · GSON has been shaded into NiftyCore to for easier backwards compatibility. · Experimental Sockets (Currently Unavailable). · Automatic bungee detection. · Takes over as primary Plugin Message handler (when using this plugin for Plugin Messages). · New SocketWrapper class for you to use for better handling of raw sockets. · New BukkitServerPingEvent class that can be used to expose the socket information and respond to ServerListPingEvents using reflection. · Maven Changes (IMPORTANT!) · A new project called NiftyCore (open source, available in description) is now the parent project for this project. · Classes belonging to SQL, HTTP, Minecraft (Pinging, Cross-platform Scheduler, Logging), Reflection, Utilities and YAML are now accessible through the class path: net.netcoding.niftycore. · Most classes originally in this plugin have been renamed and some have moved. You will need to fix imports inside your projects to locate these again, as well as change the names of anything not found. If an object type needs to be changed, it is most likely called Bukkit<OriginalClass> now. · This allows for a great freedom when using NiftyBukkit as a development tool, as you can choose between extending the core features located inside NiftyCore, or the features inside NiftyBukkit. · Plugin Messages · Now clears player list on successful ping, prevents incorrect list. · Loads entire list using GSON, saves processing time. · The BungeeListener interface no longer passes a Player object, as 9/10 times it will be unrelated to the message. · Information is now pre-converted to JSON to lower mass-processing time. · All methods now take a BukkitMojangProfile instead of a Player object. · SQL · Minimum connections has returned, this will help relieve stress by default. · No longer guesses at schema name using connection url and is now guaranteed to locate schema name across multiple driver types. · Mojang Repository · If an offline server sees a NullPointerException coming from BukkitMojangRepository, please send me the error! · The hasExpired method in profiles has been set to package only, it is not meant for developers. · Added an enum of Minecraft protocol numbers. If your protocol is not listed it will fetch it through my API (this information is not logged and the PHP files can be made available to those who wish to host it themselves). · Pinging · A lot of under-the-hood changes have occurred to make these classes more independent and function smoothly. · The isCurrentServer method located in MinecraftServer extended classes now matches current socket information. · Inventory/Items · Fixed a situation where NullPointerExceptions occur when looking up item aliases. · Reflection · getField now sets objects as accessible to avoid unreadable stack trace problems. · getField and getValue now support a search by type. · Added IS_SPIGOT reflected boolean in BukkitReflection. · A new BukkitReflection.getComatibleReflection method can now be used for those pesky classes that moved between 1.8 and 1.8.3. · SignMonitor · Now checks if the sign location is in the same world as the player before checking the distance between them. · Added the ability to send sign updates using tags. · Sped up constructor when large amount of keys are used. · YAML · Pulled a bug fix with '.' containing keys in maps. · No longer fails to load ItemStack from config with invalid/missing metadata. · General · Fixed BukkitCommand#isConsole checks. · The /nifty command now supports Player <-> UUID lookup taking advantage of anyone online or temporarily cached.3.4.0Jan 12, 2016 3.3.6Updates & BugfixesApr 14, 2015 · Fixed offline server username lookup / removal checks · Created an EnchantmentDatabase · ItemData now extends ItemStack and fixes problems with hasItemMeta, getItemMeta and getItemMeta#hasLore · SignMonitor once again supports 1.7.10 (and still 1.8+) · ItemData#setGlow now supports 1.7.10 through 1.8.3+ · Http updates: · New HttpStatus class with mapped out http codes · New HttpState class with appropriate code -> state checks · HttpClient is now instance-based, no more static methods · HttpClient#get and HttpClient#post now return a new HttpResponse class · New HttpResponse class offers ability to check the returned HttpStatus and HttpBody · HttpClient methods now throw a new HttpConnectionException if a code of 400 or higher is detected (client or server error) · MojangProfile updates: · New getSkull method that returns an ItemStack of the players head · New isLegacy that tells you if the account is unmigrated · New isDemo that tells you if the account is registered but unpaid · MojangRepository now has more intuitive exceptions for better developer handling and error messages · When checking with isConsole or isPlayer on a sender or name, it now uses the bukkit console sender to ensure that overridden console names are supported · Bungee and Player events now only offer the BungeeServer and MojangProfile methods · Now uses the StandardCharsets class to better support UTF-8 on different systems · Renamed MojangPlayer's isOnline method to isOnlineAnywhere and addedisOnlineLocally · You can now created an instance of TitleManager without a title · ItemDatabase and EnchantDatabase are instantiated last incase they fail · Fixed sending TitleManager Subtitle packet · FakeInventory now has a way to see who is viewing an inventory, and who is interacting with the inventory · Removed EntityFinder library3.3.5Massive Feature Update, Database Improvements and BugfixesMar 28, 2015 · Continues to support 1.7.10 through 1.8.x · Database · Added new asynchronous methods for executing queries and are being used throughout this package where applicable (These will not fire any exception, so make sure your code works before running it asynchronously) · Added new VoidResultCallback that's required when running an asynchronous query · Added new checkTableExists, checkColumnExists and getIdentifierQuoteString methods · When creating a new instance of an sql wrapper, it now uses 1 query instead of 3 to cache your database information (improves server launch time) · Now passes driver when creating a new instance of SQL, and removed all static variables and constructors to simplify wrappers · All queries implemented by the factory, pooling and notification implementations now work across different types of sql servers · Connection pooling now tests and reinitializes a connection before making it accessible (customizable) · Use the InnoDB engine when creating tables if the driver is MySQL · Now uses UTF-8 when reading and storing data, allowing for UTF-8 information to be stored if your sql server setup allows it · The connection pool now creates new connections more quickly and no longer stores any unused connections for longer than 15 seconds · Fixed volatility of booleans in asynchronous threads · getConnection from SQL classes is now protected, developers who wish to run custom queries using this method will need to extend the class and override the method · The notification method getUpdatedRow no longer returns anything, and requires you to run your code inside the callback · Now creates the log table and purge event before adding notifications (previously resulted in an error which required one restart) · HttpClient now has a customizable default timeout of 3000 milliseconds, as well as new methods for a wider range of use · Reflection updates: · Cleaned up and added a new helper method that fixes getConstructor, getMethod and invokeMethod when passing Class items · Will accept null as a parameter when looking for a constructor or method, and ignore the parameter it aligns with · MinecraftPackage now has two booleans for cross-compatibility with bukkit, IS_PRE_1_8 and IS_PRE_1_8_3 · Yaml updates: · Added new startWatcher method that will watch over your config file and automatically reload when a change is detected · The methods init, load and save that previously took a filename have been removed in favor of requiring a filename when creating a new class instance · The update method now returns a boolean and is used to save the config if you say you have made a change · Added new SQLConfig wrapper to handle sql config files, it supports custom developer-created wrappers · Added new libraries: · EntityFinder: Checks if an entity is located on the server (or a specific world) · SkyFactory: Changes the color of the sky for a given player (may need to be updated to 1.8) · TitleManager: Can be used to send minecraft titles to players (1.7.10 and 1.8+ compatible) · FakeInventory updates: · Now completely works · Supports standard, global inventory · Supports instance, customizable per-player inventory · Supports auto-center and standard left-align mode · Supports a hotbar item to open the inventory (self-managed to prevent drop and move by a client) · Has a listener you pass when creating a new FakeInventory, used for detecting custom InventoryClickEvent, InventoryCloseEvent, InventoryOpenEvent, InventoryItemInteractEvent · ItemData now supports modifying ItemStacks to add enchantment glow (both 1.7.10 and 1.8+ compatible) · MojangProfile has several new methods: · getAddress: Returns the IP Address of a player if they are online · getHandle: Returns the EntityPlayer as an Object to be used in reflection · getLocate: Returns the locale of the players client (en_EN, etc) · getPing: Returns the players ping with the server · getProtocolVersion: Returns the clients protocol version · hasAddress: Returns if the player has an IP Address · isPremium: Returns if the player name and uuid are associated with a premium account · respawn: Respawns the player · getServer: Returns the server a player is on · MojangRepository updates: · Now properly checks cached OfflinePlayers to determine offline player status and whether they should be used, before checking the Mojang API · Now has 2 fallbacks when looking up UUIDs, because of Mojangs retarded development ideas · When a profile is not found network-wide it is cached for 30 minutes, unless a player matching the profile name or unique id logs in · Now takes an extended Collection instead of a List, to support Set (and strange Bukkit code) · BukkitTabCommand has been removed and incorporated into BukkitCommand, simply override onTabComplete (optional) · BukkitCommand has new methods: · setBungeeOnly: Tells the command listener that the command requires BungeeCord · setCheckHelp: Tells the command listener not to check for help, and assume you will manage this yourself · setPlayerTabComplete: Automatically tab complete at the index set by setPlayerTabCompleteIndex (defaults to 0, first argument) with all online players (bungee support included) · BukkitServer is now easier to read code-wise · Modified utility package: · Added entire gson library, to continue supporting 1.7.10 · Added new DataUtil class for easily creating and modifying ByteStreams, InputStreams and OutputStreams · readVarInt and writeVarInt have been moved to DataUtil · Added new VersionUtil for comparing version strings, for cross-version support · ByteUtil, StringUtil and ListUtil now take a Collection instead of a List, to support Set as well · BungeeHelper updates: · isOnline now refers to BungeeCord's online_mode state · isDetected tells you if BungeeCord has been detected and cached at least once · All methods previously taking a Player object now require a MojangProfile · When the last player leaves a server, it empties the BungeeServer cache to free RAM (this information is useless without any players anyway)3.3.4Massive Updates, New Features and DocumentationMar 7, 2015 · Finished BukkitCommand documentation · Added custom events to FakeInventory · FakeInventory now mostly complete, FakeInventoryListener now uses custom events · Added support for non-minecraft reflection · Player information now sent from NiftyBungee as comma-separated string to future-proof further updates · Added a hasPermissions method to BukkitHelper that takes a MojangProfile, kept CommandSender for obvious ease of use · Added setBungeeOnly method to BukkitCommand to check for BungeeCord before executing · Sign Monitor refactored for proper exception handling, easier readability and fixed sign safe-proofing for Create, Break and Interact events · Config code updated to match december Yamler updates, also fixed Location, Block and ItemStack to support custom converters · Added set checking methods to ListUtil · Create an unresolved InetSocketAddress for BungeeServer classes, to save memory · Removed playerIP method from BungeeHelper in favor of new getAddress method in MojangProfile (now sent from BungeeCord as an unresolved InetSocketAddress) · All methods of BungeeHelper now take MojangProfile instead of Player · Added isOnline method to MojangProfile that checks if player is online anywhere on BungeeCord · PlayerPostLoginEvent now sends MojangProfile and not Player · Changed SignMonitor#sendSignUpdate to use MojangProfile · Added offline server support for current server methods in BungeeHelper · SignMonitor events now use MojangProfile instead of Player · Please check your plugins before updating!3.3.3SQL BugfixesMar 3, 2015 · databaseListener argument is now final · Fixed createTrigger - IMPORTANT · Added set checking methods to ListUtil3.3.2New Features + Updates + BugfixesMar 3, 2015 · Added PostgreSQL wrapper · Added Microsoft SQL wrapper · Store BukkitTask id instead of entire task · Rewrote SignMonitor to support 1.8 and future-proofed some code · SignMonitor does not support JSON as of yet · Finished documenting all classes in database package (SQL) · Documented all classes in Sign package (SignMonitor) · Documented all classes in mojang package (MojangRepository)3.3.1Rewritten and Documented SQL, BugfixesMar 1, 2015 · Made ListUtil methods generic · Added belongsTo and getPlayer methods to MojangProfile · When BungeeCord is not detected, use OfflinePlayer cache instead of only online players · Throw better explained exceptions when unable to find a users MojangProfile · Enabled AIR material in ItemDatabase · Fixed name change support · SQL · ConnectionFactory and ConnectionPool have been renamed to SQLFactory and SQLPooling, respectively · Notifications have been separated into their own new class and now run one query instead of 3, at twice the speed; now 6x faster · Now checks for valid SQL connections on new class instance · Now collects schema (database name) dynamically and allows it to be changed · Now properly closes and removes excess connections every 300 ticks (15 minutes) · Moved class files for better sorting · Added fromString method to TriggerEvent for new pulse notifications · Documented · NOTE: If you used SQL at all, update your plugins3.3.0Minecraft 1.8 + BugfixesFeb 23, 2015 · Requires NiftyBungee 1.0.3 or later · Fixed imported classes to use newer CraftBukkit builds · Items.csv updated to 1.8 version · Properly escape brackets when calling MojangProfile#toString · Suppress deprecation warnings for getOnlinePlayers · Removed temporary player list · Update notifications of Bungee PlayerJoin and PlayerLeave to utilize updated NiftyBungee code · Do not reset online status when resetting cached server information · Manually reset online status on failure to ping · Fixed getMaxPlayers so it now returns proper values · Update local player name if name change happens while player is online · Fixed name searching when looking up uuid · Added methods for HTTP GET requests · Only process the current online players when a player logs in when updating cache · Ignore BungeeCord when it has not yet been loaded · Deprecate exact name to uuid searching in favour of name changing · Run PlayerPostLogin outside of the main thread so it does not tax normal game usage · Added fallback for locating a players uuid, if said player has changed their name · Adhere to Mojang Rate Limit as best possible3.2.8Connect method fixAug 25, 2014 · Update constructor error message for better engrish · Fix connect method by using the correct channel, BungeeCord3.2.7More bugfixesAug 23, 2014 · Prevent the access of all bungee methods unless bungee is detected · Fixed null pointers when trying to get player count · Return empty ItemData list if the comma list or resulting array is empty · Do not cache profile on first access · Only cache profiles pulled from Mojangs site · Make sure not to unregister the BungeeCord channel prematurely, per plugin3.2.6Last resource fixAug 15, 2014 The previous resource had a fix applied that was not needed, and has been removed. · Removed "Don't register BUNGEE_CHANNEL more than once per plugin" · Finished ByteUtil documentation · Fixed up / rearranged class comments in utility classes3.2.5More bug fixesAug 15, 2014 · Don't register BUNGEE_CHANNEL more than once per plugin · Suppress IllegalStateErrors when reading plugin messages · Override hashCode and equals methods to support HashSet and HashMap in MojangProfile and MinecraftServer classes · Fix for PlayerJoin and PlayerLeave events by storing new players · Prevent users from listening to the NiftyBungee channel3.2.1Bug fixesJun 5, 2014 · Throw caught error if passed player is null · Added sql format · Fixed all reflection methods · Fixed current server check by loading current server iport as a socket · Fixed connection pool closing connections after timeout by forcing · Added a method to return an empty string when a string is null, empty or zero length, since null and empty checks sometimes go awry · Fixed null pointer exception when parsing custom item name list3.2.0May 12, 2014
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta