Unable To Run Vp Uml Plugin For Mac
Eclipse Installation and Plugins COMP 310 Eclipse and Eclipse Plug-in Installations IMPORTANT: Install ONLY the plug-ins that are required! Not all plug-ins work with the current Eclipse and Java versions and installing them can cause installation and operational problems for other plug-ins. See the instructions in your class year's instructions as to which plug-ins are required. Quick Links to Install Instructions. Do this FIRST!. 'for Java Developers' edition, NOT the 'EE' version!.
you will need to get a license key from the instructor. Mac and Linux installations may need additional installations.
Most people will NOT need to do the following:. This is already included in the Eclipse for Java Developers distribution so you will automatically get this plugin with a new installation but if you are upgrading Eclipse from an earlier vesion, e.g. From Kepler to Luna, the included WindowBuilder plug-in may not update properly, so you may need to install this manually. WindowBuilder is NOT included in the Eclipse for Java EE Developers version!. NOTE: As of 1/7/18, the current stable release of Eclipse, 'Oxygen.2' does NOT include WindowBuilder in any edition.
WindowBuilder must be installed separately. In general, the best way to install plug-ins is to use the Eclipse Marketplace:. From the main Eclipse menu, go to Help/Eclipse Marketplace. Search for the desired plugin and click the ' Install' button.
Install the latest Java JDK Please see the. Install Eclipse 8/15/16: Existing Eclipse users:.
Recommendation: Rename your current Eclipse installation directory so as not to lose anything, then do a fresh installation of Neon. Get Neon working as you want and then delete the old version if desired. If you are running a 32-bit operating system, please contact the staff immediately BEFORE installing anything!
(Recommendation: upgrade to a 64-bit operation system as a 32-bit system will only cause one problem after another.). Go to and click the link for ' Download'. Download the installer for the latest version of Eclipse and run it. Windows users: The installer must be run 'as Administrator', so download the installer, then right-click the downloaded file and select 'Run as Administrator'. When the Eclipse installer asks, the version you want is called ' Eclipse IDE for Java Developers', not Eclipse IDE for Java EE Developers. The installation instructions willv vary depending on the computer's operating system so just follow the on-screen directions. Notes:.
On Mac OS X machines:. Be sure you know if you are running the 64-bit JDK. JDK 1.7 issues:. The Mac OS may not include the latest Java JDK or JRE, e.g.
Install it directly from the Java download site. On a Mac, in Applications/Utilities, is a Java preferences app. Use this to set the latest installed Java JRE to be the default JRE.
( Mac or Linux) Eclipse may not fully recognize that the new JDK and JRE is installed. This may result in build errors referencing missing components or incorrect build paths. In the Eclipse Preferences/Java, set/check the following:. Compiler/Compiler compliance level = 1.8 (or whatever the latest installed JRE is). Installed JREs = jre8 (or whatever the latest installed JRE is). If not correct, click the 'Search.'
First-Class UML Modeling Experience on Mac OS X. Intuitive UML modeling tool on the world's most advanced operating system. Combining Visual Paradigm with Mac OS X allows anyone to model software system with ease and quality.
Button, which should find it. Add the jre8 (or later) and remove any other ones.
If you already have a project created you can simply delete the project and make a new one once the above changes are made, or. Go the Project properties (hightlight the src folder and go to Project/Preferences) and set the following:. Java Build Path/Libraries = JavaSE-1.8. If not set, click 'Add Library' and select 'JRE System Library' and click 'Next'.
'jre8' (or later) should be the 'Workspace default JRE'. Select it and click 'Finish'. Apple docs on Eclipse on a Mac:. On Linux machine. Ubuntu users must install the regular JDK, not the one that came with Ubuntu!
Please contact the staff for assistance. Note: Particularly if you have upgraded Eclipse from an earlier version, e.g. Kepler to Luna, you may need to increase the amount of memory allocated to Eclipse in order to gid rid of ' Out of Memory' or ' GC Overhead Limit Exceeded' errors.
Unable to run Visual Paradigm due to lack of Java This is because the Java 6 runtime previously installed on Mac OS X was being removed during the OS upgrade process. Since Visual Paradigm requires Java 6 runtime and therefore this message will be shown when starting Visual Paradigm. The ObjectAid UML Explorer is optimized for the quick and easy creation of UML class and sequence diagrams from existing Java source code and libraries. It uses the UML notation to show a graphical representation of existing code that is as accurate and up-to-date as your text editor.
If you are encounter these errors, please see. Keep Eclipse Updated! - Periodically, run Help/Check For Updates from the Eclipse main menu. Windows users: You may need to run Eclipse 'as administrator' in order to perform updates (except Subclipse - see below), depending on how Eclipse was installed. Forcing Eclipse to Use a Specific JVM Sometimes between the operating system and Eclipse, signals get crossed and Eclipse uses the wrong JVM (Java Virtual Machine, aka Java Run-time Engine/JRE) when it runs. This can cause a multitude of confusing problems such as the inability to run some plug-ins (e.g. 'incorrect version number in plug-in class file' error).
Here are some directions on how to manually configure Eclipse's initialization file to force it to use the proper JVM: Updating Eclipse One should regularly update Eclipse to make sure that you have the latest versions for Eclipse and all the plugins. To manage update sites: If you followed the directions below to install your plugins, the update sites should already be in Eclipse. To add new update sites or to check that you have the ones for the installed plugins,. In Eclipse, go to Windows/Preferences. Expand the Install/Update node and select 'Available Software Sites'. You can add, remove, enable/disable and edit update sites here.
To manually perform an update:. Go to Help/Check for Updates. Eclipse will run through all its update sites looking for updates To perform a major release update on Eclipse: Eclipse will NOT automatically update itself from one major release to the next, e.g. From 'Kepler' to 'Luna'.
You need to explicitly add the update site for the new release (see above), whose name depends on the release, but is typically something on the order of release name/ e.g. Once you add the update site for the new release, you can manually run the update as described above. On Windows machines, updating Eclipse itself will probably require running Eclipse as an administrator (symptom: You get are unable to select the update due to 'insufficient access privileges' or the like.) For more information, see the documentation: Install Eclipse Plug-ins Window Users: Note that updates to Eclipse itself may require that Eclipse be 'run as administrator'.
Note that when Eclipse restarts after an installation, it is still running as as administrator. To return to normal operation, exit Eclipse completely and then run it again as normal. 'UML Lab' Diagramming Tool UML Lab Home page: UML Lab is a commercial UML diagramming tool for Eclipse that supports round-trip engineering, i.e. Creating diagrams from code and creating code from diagrams. Rice owns a license key for the full UML Lab functionality.
The course staff will tell you how to obtain this key. The only restriction for the key is that it must be installed while on-campus and one must periodically ( every 2 weeks) bring UML Lab up while on campus so it can renew its license. A free but reduced functionality 'Student Version' is available via their academic program:.
This version is has no limitations with regards to being on-campus. Installation:. Have your license key in hand before you start the install!. If you wish to use the free, but reduced functionality, Student Version, go on-line and apply for one. This process may take several days or more.
Your course instructor may have free 'floating licenses' available for you to use. Ask before you start the install to make sure you can obtain one. You must be ON CAMPUS (i.e.
Connected to the Rice wired or wireless network) to install a floating license! (See notes below). From Marketplace (recommended):.
In Eclipse, go to Help/Eclipse Marketplace. Search for 'UML Lab'. Select and install ' UML Lab Modeling IDE' ( not the 'Class Diagram Editor'!). Manually (only if necessary):. In Eclipse, go to Help/Install New Software.
In the ' Work with' text field, type ' Click ' Add'. (Note: this process sometimes takes a long time.
If it does, try cancelling the operation and trying again, as this seems to speed it up.). The ' Add Site' dialog will ask you for a name. Type in something useful, such as 'UML Lab'. In the main box in the center of the ' Install' dialog, check off only the box labelled ' UML Lab'.
Check off any license agreements and click ' Finish'. Restart Eclipse. The first time you use UML Lab, you will be asked to input the license key. Please make a post to the discussion forum asking where the license key can be accessed. If you have already been running UML Lab, e.g. In trial mode, you may enter your license into the UML Lab Preferences.
Chose ' Preferences/UML Lab/Product License' in the Eclipse menu:'. Select ' Floating License'. Paste the entire license key into the ' Host URL' input field. This will automatically parse the license key and properly distribute its pieces over the URL Host, Contingent and Password fields.
Be sure that Keep license on exit is set to its default value, No. Confirm your input by clicking ' OK'. BEFORE YOU DO ANYTHING IN UML LAB, BE SURE TO! UML Lab runs slightly differently than the other UML diagramming tools. Be sure to check out the. UML Lab Floating License Notes:.
You must be connected to the Rice network to install the license key. The license key works by periodically confirming with the manufacturer's central license server that the product is being used on-campus. When you close Eclipse, UML Lab will tell you how long you may use the the product off-campus before you must use it again on-campus, when the license key will be re-verified. This time period is about a week.
Subclipse Subversion Source Control Subclipse Home page: Subclipse provides Subversion source control capabilitiees for Eclipse to enable multi-developer access to a common, versioned source code repository. It is also used as the assignment turn-in mechanism in the course. Subversion home page: Installation: Windows Users: Do not use 'Run as administrator' to install Subclipse (see below). Go to the Subclipse home page and check what the latest version of the plug is. Be sure to install the latest version for your system. From Marketplace (recommended):. In Eclipse, go to Help/Eclipse Marketplace.
Search for 'Subclipse'. Select and install ' Subclipse'. Manually (only if necessary):. In Eclipse, go to Help/Install New Software.
In the ' Work with' text field, type the URL for the latest version and then click ' Add':. As of, the latest version is. The ' Add Site' dialog will ask you for a name. Type in something useful, such as 'Subclipse'. In the main box in the center of the ' Install' dialog, check off. Core SVNKit Library (required). Optional JNA Library (recommended).
Subclipse (note that this automatically selects installing the SVNKit, which Mac and Linux users may need). Subclipse - JavaHL Windows Binaries( Windows users only). Subclipse - Maven Integration (Only if you intend to use Maven in other work - not used in this class). Click ' Next'.
The next screen is a review of what is going to be installed. Click on ' Next'. Accept the license agreement on the next screen and then click on ' Finish'. Disregard any warnings about installing unsigned software and allow the software to install. Restart Eclipse when the installation is finished. NOTE: As of 1/7/18, almost all Mac and Linux installations have required the use of the SVNKit to operate properly.
In addition, a number of Windows machines have also needed it. If you are having problems with the JavaHL driver not being recognized, please follow the directions below to switch to the SVNKit driver.
Linux and Mac Issues: Linux and Macs have some known problems with recognizing and/or interoperating with the JavaHL component of Subclipse. JavaHL is a system-dependent Subversion client that either comes with Subclipse (usually only for Windows installations) or is already installed in the operationg system (typical of Macs and Linux). This is often caused by the latest stable SVN client version for that OS platform being incompatible with the latest Subclipse version. The first thing to try if the above installation does not work, is the following work-around, which uses a pure-Java SVN client called ' SVNKit':.
In the Eclipse Preferences, under Team/SVN, for the 'SVN Interface', select the 'SVNKit (Pure Java)' option. We have seen issues where Mac users have included the 'JavaHL Windows Binaries' in their download and install. This can cause Subclipse to default to the Windows JavaHL client, which not surprisingly, will not work on a Mac. Just go and change the client to be SVNKit instead, which should be a droplist choice for the client.
If it does not appear as a choice, completely uninstall Subclipse (see below) and try installing again with the correct choices. Windows Issues: If Subclipse was installed using 'Run as administrator', the SVN operations may not be possible because no SVN client is available. See Preferences/Team/SVN to see what the 'default SVN client' is set to and what options are available.
The correct client for Windows is the JavaHL client. The problem does not seem to appear if Subclipse is installed without 'Run as administrator'. To fix the problem, uninstall all of Subclipse(see below) and reinstall it. Uninstalling Subclipse: Sometimes, you need to completely uninstall Subclipse and start over. To uninstall Subclipse, go to Help/Installation Details.
There are many pieces to Subclipse, which need to be uninstalled one by one, though you do not need to restart Eclipse between each uninstall, only after the last one. Uninstall the following, the details of which will depend on what you initially installed:. Anything that is called 'Subclipse.' . Anything that is called 'Subversion.'
. Anything called 'SVNKit.' . JNA Library. Maven SCM handler for Subclipse Once everything is uninstalled, restart Eclipse (not as administrator) and reinstall Subclipse. If you are still having trouble even after configuring to use the SVNKit, contact a staff member immediately.
Do NOT proceed further unless cleared by a staff person! If no SVNKit is available, try the following solutions: Mac OS X If neither the regular installation above nor the SVNKit installation above works, you can try the following as a last resort: Information about JavaHL on Mac OS X: Linux Information on JavaHL on Linux: THE FOLLOWING PLUGINS DO NOT TYPICALLY NEED TO BE INSTALLED BY MOST USERS: Eclipse WindowBuilder Eclipse Oxygen however does NOT appear to be bundled with WindowBuilder, so it will need to be explicitly installed for that version.
WindowBuilder is included in the 'Indigo' and later (e.g. 'Neon') releases of Eclipse - no installation needed if you use this latest release. WindowsBuilder is not included in the Java EE version of Eclipse, so if you must use the EE version (NOT recommended!) then you must manually install WindowBuilder. WindowBuilder home page: WindowBuilder is a (free!) What-You-See-Is-What-You-Get ('WYSIWG') editor for creating graphical user interfaces ('GUI's) in Java. The use of a an automated GUI builder such as WindowBuilder greatly simplifies and speeds up the development of GUI-based applications. Installation (for previous versions of Eclipse):.
From Marketplace (recommended):. In Eclipse, go to Help/Eclipse Marketplace.
Search for 'WindowBuilder'. Select and install ' WindowBuilder'. Manually (only if necessary):. In Eclipse, go to Help/Install New Software. In the ' Work with' text field, type in one of the following links that corresponds to your version of Eclipse.
Click ' Add'. 'Helios':. 'Galileo':. 'Juno':. etc.
The ' Add Site' dialog will ask you for a name. Type in something useful, such as ' WindowBuilder'. In the main box in the center of the ' Install' dialog, check off at least the following components:. Swing Designer. WindowBuilder Engine. Check off any license agreements and click ' Finish'.
Unable To Run Vp Uml Plugin For Mac Download
Restart Eclipse. None of the following plugins are needed by COMP 310 or COMP 504, though they may be needed for other classes: Eclipse Web Tools Platform ('WTP') This plugin is useful for those who wish to do web development using Eclipse. In particular, one of the few free WYSIWYG ('What You See Is What You Get') HTML editors is available here. WTP Home Page: Update site: eclipseversion/ e.g.
To get just the 'Web Page Editor':. Add the appropriate site above to Eclipse's 'Available Software Sites' and open the update site in the 'Install New Software' dialog in Eclipse. Expand the 'Web Tools Platform' item.
Select 'JSF Tools - Web Page Editor'. Finish the installation of the plugin. Google Plugin for Eclipse (Google App Engine) This plugin is only needed if you are doing Google App Engine development in Eclipse, particularly in Java. This tool includes the Google App Engine SDK and local emulator plus deployment tools.
Note that as of 8/15/16, the Google Plugin above only supports Java development for Google App Engine, not Python, Php or Go. To develop in these languages, you need install the stand-alone SDKs for those languages. Google Plugin for Eclipse home page: Update site: version e.g. (check for the latest version in the home page first) PyDev This plugin is used for Python development in Eclipse. PyDev home page: Update site: © 2017 by Stephen Wong.
Learning Java These tutorials require basic knowledge of the Java programming language. If you are just getting started with Java or need a refresher, the following is a non-exhaustive list. Official tutorials. Tutorials. Tutorials. Free online textbook.
TheNewBoston's video tutorials. Faster paced Video tutorials The Development Environment Before developing a plugin (or learning Java) you will need to set up a development environment.
This includes but is not limited to installing an IDE (Integrated Development Environment). The following tutorial contains instructions for the Eclipse IDE. For further information, see You MUST download the Eclipse build for Java developers, NOT the one for Java EE developers. The version for Java EE developers does not ship Maven support, which is required for this tutorial. Starting a Plugin Project Create a Project Before starting you'll need to set up your workspace and files in Eclipse.
Start Eclipse, then create a new Project by selecting File - New - Project: Now, open up the Maven folder, and select Maven Project. Click next, and then tick the Create a simple project box on the next page, and then click Next: If you can't see Maven folder, then you need to go download the m2eclipse plugin from Now, you need to name your group as follows:. If you have a domain name, the package would be the domain name in reverse. Ex: i-am-a-bukkit-developer.com your package would be com.iamabukkitdeveloper. Avoid using a domain you do not own. Here are some common conventions. Create an account on a source control site such as GitHub or sourceforge.
For GitHub, follow the instructions and you will have a sub-domain, so your package would be io.github. Use your email.
Ex: @gmail.com would be com.gmail., and your artifact name would be TestPlugin. For the version, simply stick with the default for now. It can be changed later.
Finish the wizard: If this is your first time using Eclipse, close the Welcome tab by clicking the 'X' next to the Welcome tab on the tab bar. Now, you should have a window that looks like this: Click the arrow to the left of your artifact name, and let's get started! Reference the Bukkit API Before you begin developing your plugin you will need to add the Bukkit API library to your project as a dependency, you can also add any other API's you may want to use. Double-click pom.xml, which is at the bottom of your project's folder. Click the pom.xml tab at the bottom, and you should see something like this: If you wish to use Java 6+ language features, you must specify the Java version that the project should be built on. Copy and paste this (specifies that the project should be built under Java 7) before: org.apache.maven.plugins maven-compiler-plugin 1.7 1.7 You may use other levels, such as 1.8 for Java 8.
Please note that, a sizeable number of servers run Java 7, so compiling for Java 8 will result in many server owners being unable to run your plugin. If you do use Java 1.8 features, Eclipse will suggest changing the language level when you hover over the code 'error'. Before the at the bottom, copy and paste this block (it tells Eclipse where Bukkit's repository is located): spigot-repo The spigot repository is the only working repository as the former repository 'bukkit-repo' is down. Next, before the at the bottom, copy and paste this block (it tells Eclipse that we're building against Bukkit): org.bukkit bukkit 1.12.2-R0.1-SNAPSHOT jar provided To use spigot features, also include the following dependency (in addition): org.spigotmc spigot-api 1.12.2-R0.1-SNAPSHOT jar provided If you wish to, you may change the version of Bukkit you're building against. You can view the available versions by looking in the maven-metadata.xml file under versions.
When you finish, your pom.xml should look similar to this: Save your pom.xml using File - Save or pressing Cmd + S. It will take a few minutes to download the dependencies and build the workspace. Then, right click the projects title and click Maven - Update Project. Bukkit Javadocs If you have some experience with Eclipse and Java you will know that when you hover your mouse over any built in class or method a yellow box will pop up, containing the documentation for that class or method. This is known as a Javadoc and can also be accessed online at the.
Bukkit also has documentation which often contains useful descriptions of each method and class provided by the API, which is available (Beta Javadocs can be found, and development build Javadocs ). In order to have this information available within Eclipse, so that it will pop up whenever you hover over a Bukkit method or class, first right click on the Bukkit jar where it appears under 'Maven Dependencies' in the project explorer, and select 'Properties'. Choose the Javadoc Location item on the left of the window that pops up, and paste the url (or that of the beta/development Javadocs linked above) into the textbox under 'Javadoc URL'. It should look like this (with the new url): Click 'Validate', and then click 'OK'. Now the Bukkit Javadocs are linked to the Bukkit source, and you can access helpful documentation from within Eclipse.
PC users can stream content to their iPhone and iPad, but unfortunately this functionality isn’t available with the Mac version. Elgato EyeTV Netstream DTT Link:| Price: $170 / £109 approx. Nevertheless, it’s a good all-round package that’s relatively inexpensive. Bundled in with the package is a remote control, and the included software (Elgato’s EyeTV Lite) is quite easy to use. The USB NanoStick lets you watch live TV on the Mac 3. Usb tv box utv3 drivers for mac office.
Creating a package Now you need to create a 'package' which will store all the Java class files we will be using. Right click on the folder labelled src/main/java and select New Package: For your package name, put your group name, then a period, and then your artifact name in lowercase. For example, if your group name is io.github.name and your artifact name is TestPlugin, your package name would be io.github.name.testplugin. Creating the Plugin's Class Now that we have our project set up we can start to add class files and begin making our plugin. The plugin's main class is the class that extends JavaPlugin. There should only ever be one class in your plugin that extends JavaPlugin either directly or indirectly.
It's always good practice to create your main class first and give it the same name as your plugin. Right click on the package you created before, and select New Class. You should have a new class similar to the following. Name: Basic main:. Version: 1.0 author: commands: basic: description: This is a demo command. Usage: / player permission:.basic permission-message: You don't have. basic - the name of the command.
description - the description of the command. usage - the help dialog that users will see when you return false in the onCommand method. Write clearly, so that others can discern what the command is and how to use it. permission - This is used by some help plugins to work out which commands to show to the user. permission-message - This is output when the player attempts but does not have permission to use the command. Note that yml files use 2 spaces for tabs, as the tab character will cause problems.
Console Commands vs. Player Commands You may have noticed the CommandSender sender parameter above. CommandSender is a Bukkit interface which has two useful (for plugin writers) subclasses: Player and ConsoleCommandSender. (There are also other subclasses that are less common such as BlockCommandSender) When you're writing your plugin, it's a very good idea to ensure that commands that can be run from the console actually work, and that commands that should only be run as a logged-in player really are only run as a logged-in player.
Some plugins simply return if the sender is not a player (i.e. Someone tried to use the plugin's commands from the console), even when those commands make perfect sense from the console (e.g. Changing the weather on the server).
One way to do this is. Boolean isPermissionSet ( String name ) You may be wondering why there aren't any groups. The answer to that is because they aren't really needed. Previously one of the main uses for groups was to format chat messages.
That however can be done just as easily with permissions. Inside your chat plugin's config you would define associations between permissions and prefixes. For example the permission 'someChat.prefix.admin' would correspond to the prefix Admin. Whenever a player speaks with that permission their name will be prefixed with Admin. Another common usage might be to send a message to all users within a group. Again however this can be done with permissions with the following.
Permissions: doorman.: description: Gives access to all doorman commands children: doorman.kick: true doorman.ban: true doorman.knock: true doorman.denied: false doorman.kick: description: Allows you to kick a user default: op doorman.ban: description: Allows you to ban a user default: op doorman.knock: description: Knocks on the door! Default: true doorman.denied: description: Prevents this user from entering the door Firstly, each permission your plugin uses is defined as a child node of the permissions node. Each permission can then optionally have a description, a default value, and children.
Defaults By default when a permission isn't defined for a player hasPermission will return false. Inside your plugin.yml you can change this by setting the default node to be one of four values:.
true - The permission will be true by default. false - The permission will by false by default.
op - If the player is an op then this will be true. not op - If the player is not an op then this will be true. Children Before now you will probably be used to the. permission to automatically assign all sub permissions. This has changed with the bukkit API and you can now define the child permissions. This allows for a lot more flexibility. Below is an example of how you do this.
Permissions: doorman.: description: Gives access to all doorman commands children: doorman.kick: true doorman.ban: true doorman.knock: true doorman.denied: false Here the doorman. permission has several child permissions assigned to it. The way child permissions work is when doorman. is set to true, the child permissions are set to their values defined in the plugin.yml. If however doorman. was set to false then all child permissions would be inverted.
Setting your own permissions If you wish to know about developing your own permissions plugins (Ones that actually set permissions) then check out the tutorial on. Scheduling Tasks and Background Tasks Currently, Minecraft servers operate nearly all of the game logic in one thread, so each individual task that happens in the game needs to be kept very short. A complicated piece of code in your plugin has the potential to cause huge delays and lag spikes to the game logic, if not handled properly. Luckily, Bukkit has support for scheduling code in your plugin. You can submit a Runnable task to occur once in the future, or on a recurring basis, or you can spin off a whole new independent thread that can perform lengthy tasks in parallel with the game logic. There is a separate tutorial which introduces the Scheduler, and gives more information on using it to schedule synchronous tasks, and on kicking off asynchronous tasks in Bukkit. Block Manipulation The easiest way to create blocks is to get an existing block and modify it.
For example, if you want to change the block that is located five blocks above you, you would first have to get your current location, add five to your current y-coordinate, and then change it. List lores = new ArrayList ; lores. Add ( 'Example lore' ); lores.
Add ( 'this one comes on line 2' ); ItemStack myItem = new ItemStack ( Material. DIAMONDSWORD ); //your item ItemMeta im = myItem. GetItemMeta ; //get the itemmeta of the item again im. SetLore ( lores ); //add the lores of course myItem. SetItemMeta ( im ); //give the item the new itemmeta Metadata Bukkit is trying to make plugin development as easy as possible, so HashMaps with key of type Player, Entity, World or even a Block were replaced by Metadata.
Metadata is some kind of alternative to HashMap. It allows you to add custom 'fields' to Players, Entities, Worlds and Blocks. These things are all members of Metadatable class(check )It works very simply. Everything that is Metadatable holds its own HashMap of Metadata which you have access to.
That means, for example, if you're creating an economy plugin, you would need a HashMap of Player and Float or Double. With Metadata, you don't have to! You just attach to player new metadata value, and that's it! Why to use Metadata. Metadata is all handled by Bukkit, which makes it a very good alternative to HashMaps.
Metadata can be used to share information between plugins. Why not use Metadata. Slightly more difficult to get the value. It is not saved on shutdown (but then again, neither are any Maps that you create). Getting & Setting Metadata.