<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Basic Concepts — Sponge 5.0.0 documentation</title> <link rel="stylesheet" href="../../_static/basic.css" type="text/css" /> <link rel="stylesheet" href="../../_static/sponge.css" type="text/css" /> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.1/css/font-awesome.min.css" rel="stylesheet" type="text/css" /> <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro|Roboto:400italic,700italic,700,400|Montserrat:400,700" rel="stylesheet" type="text/css" /> <link rel="stylesheet" href="../../_static/tomorrow.css" type="text/css" /> <link id="syntax-highlighting-ref" rel="stylesheet" href="../../_static/tomorrow_night.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '../../', VERSION: '5.0.0', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true, SOURCELINK_SUFFIX: '.txt' }; </script> <script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/store.min.js"></script> <script type="text/javascript" src="../../_static/lights.js"></script> <link rel="shortcut icon" href="../../_static/favicon.ico"/> <link rel="index" title="Index" href="../../genindex.html" /> <link rel="search" title="Search" href="../../search.html" /> <link rel="top" title="Sponge 5.0.0 documentation" href="../../index.html" /> <link rel="up" title="Economy" href="index.html" /> <link rel="next" title="Using the Economy API" href="using.html" /> <link rel="prev" title="Economy" href="index.html" /> <script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-59476017-2', 'auto'); ga('send', 'pageview'); </script> {§#curver§} {|#langs|} <link rel="alternate" hreflang="{|crowdin_code|}" href="/{§currentversion§}/{|crowdin_code|}/"> {|/langs|} {§/curver§} <link rel="alternate" hreflang="x-default" href="/"> </head> <body role="document" id="top"> <div class="topbar"> <div role="navigation" aria-label="related navigation"> <div class="sp-logo-container sp-not-mobileview sp-mobileview"> <a class="sp-logo-link" data-auto-route="true" href="/"> <img height="40px" id="site-logo" class="logo-big" alt="" src="https://www.spongepowered.org/assets/img/icons/spongie-mark.svg"> <span id="sp-site-title">Sponge</span> </a> <div class="sp-logo-bg"></div> <div class="sp-logo-chevron"><i class="fa fa-fw fa-chevron-down"></i></div> <div class="sp-logo-menu sp-skip-handler"> <ul class="sp-logo-dropdown" id="ddleft"> <a href="https://www.spongepowered.org"><li><i class="fa-fw fa fa-home"></i>Homepage</li></a> <a href="https://forums.spongepowered.org"><li><i class="fa-fw fa fa-comments"></i>Forums</li></a> <a href="https://github.com/SpongePowered"><li><i class="fa-fw fa fa-code"></i>Code</li></a> <a class="sp-forums-home" href="https://docs.spongepowered.org"><li class="active"><i class="fa-fw fa fa-book"></i>Docs</li></a> <a href="https://jd.spongepowered.org"><li><i class="fa-fw fa fa-graduation-cap"></i>Javadocs</li></a> <a href="https://forums.spongepowered.org/c/plugins/plugin-releases"><li><i class="fa-fw fa fa-plug"></i>Plugins</li></a> <a href="https://www.spongepowered.org/downloads"><li><i class="fa-fw fa fa-download"></i>Downloads</li></a> <a href="https://www.spongepowered.org/chat"><li><i class="fa-fw fa fa-comment"></i>Chat</li></a> </ul> </div> </div> <div class="menu-right"> <div><i class="fa fa-fw fa-globe"></i></div> <ul class="dropdown" id="ddlang"> {§#curver§} {|#langs|} <li><a href="/{§currentversion§}/{|crowdin_code|}/" class="lang"><img src="//d1ztvzf22lmr1j.cloudfront.net/images/flags/{|crowdin_code|}.png" alt="Flag for {|name|}"/></a></li> {|/langs|} {§/curver§} </ul> </div> <div class="menu-right"> <div><i class="fa fa-fw fa-tag"></i><a>5.0.0</a></div> <ul class="dropdown" id="ddvers"> <li><a href="/master/en/"><i class="fa fa-fw fa-tag"></i> latest</a></li> {[#vers]} <li><a href="/{[apiversion]}/en/"><i class="fa fa-fw fa-tag"></i> {[apiversion]}</a></li> {[/vers]} </ul> </div> <div class="menu-right"> <div title="Toggle syntax highlighting between light and dark" class="lights"> <i class="fa fa-fw fa-lightbulb-o"></i> </div> </div> <div> <ul class="controls"> <li>|</li> <li><a href="using.html" title="Next Page"><i class="fa fa-fw fa-chevron-right"></i></a></li> <li><a href="#top" title="To the top"><i class="fa fa-fw fa-chevron-up"></i></a></li> <li><a href="../../index.html" title="Home"><i class="fa fa-fw fa-home"></i></a></li> <li><a href="index.html" title="Previous Page"><i class="fa fa-fw fa-chevron-left"></i></a></li> <li>|</li> <li><a href="https://github.com/SpongePowered/SpongeDocs/blob/master/source/plugin/economy/basics.rst" title="Edit on GitHub"><i class="fa fa-fw fa-github"></i></a></li> </ul> </div> <h3>Navigation</h3> </div> </div> <div class="container"> <div class="breadcrumbs"> <ul> <li><a href="../../index.html">Sponge 5.0.0 documentation</a><i class="fa fa-fw fa-chevron-right"></i></li> <li><a href="../index.html" >Creating a Plugin</a><i class="fa fa-fw fa-chevron-right"></i></li> <li><a href="index.html" accesskey="U">Economy</a><i class="fa fa-fw fa-chevron-right"></i></li> </ul> </div> <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> <div class="sphinxsidebarwrapper"> <div id="searchbox" style="display: none" role="search"> <form class="search" action="../../search.html" method="get"> <div class="searchbox-inner"> <input class="field" type="text" name="q" autocomplete="off" /> <button class="submit" type="submit"><i class="fa fa-fw fa-search" aria-hidden="true"></i></button> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </div> </form> <p class="searchtip" style="font-size: 90%"></p> </div> <script type="text/javascript">$('#searchbox').show(0);</script><h3><a href="../../index.html">Table Of Contents</a></h3> <ul> <li class="toctree-l1"><a class="reference internal" href="../../server/index.html">Creating a Server</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../server/getting-started/index.html">Getting Started</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../server/getting-started/jre.html">Installing Java</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/getting-started/migrating.html">Migrating to Sponge</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/getting-started/implementations/index.html">Choosing an Implementation</a><ul> <li class="toctree-l4"><a class="reference internal" href="../../server/getting-started/implementations/spongeforge.html">Installing SpongeForge</a></li> <li class="toctree-l4"><a class="reference internal" href="../../server/getting-started/implementations/spongevanilla.html">Installing SpongeVanilla</a></li> </ul> </li> <li class="toctree-l3"><a class="reference internal" href="../../server/getting-started/launch-script.html">Creating a Launch Script</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/getting-started/port-forward.html">Port Forwarding</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/getting-started/bungeecord.html">Using Sponge with BungeeCord</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/getting-started/configuration/index.html">Configuring Sponge</a><ul> <li class="toctree-l4"><a class="reference internal" href="../../server/getting-started/configuration/hocon.html">Introduction to HOCON</a></li> <li class="toctree-l4"><a class="reference internal" href="../../server/getting-started/configuration/json.html">JSON Syntax</a></li> <li class="toctree-l4"><a class="reference internal" href="../../server/getting-started/configuration/sponge-conf.html">global.conf</a></li> <li class="toctree-l4"><a class="reference internal" href="../../server/getting-started/configuration/server-properties.html">server.properties</a></li> </ul> </li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../../server/management/index.html">Server Management</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../server/management/whitelist.html">Managing the Whitelist</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/management/bans.html">Managing Bans</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/management/permissions.html">Managing Permissions</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/management/plugins.html">Installing Plugins</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/management/exploit-patches.html">Exploit Patches</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/management/performance-tweaks.html">Performance Tweaks</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../../server/spongineer/index.html">Becoming an Expert Spongineer</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../server/spongineer/commands.html">Commands</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/spongineer/troubleshooting.html">Troubleshooting</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/spongineer/logs.html">Log Files</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/spongineer/debugging.html">Debugging</a></li> <li class="toctree-l3"><a class="reference internal" href="../../server/spongineer/bugreport.html">Reporting Bugs</a></li> </ul> </li> </ul> </li> </ul> <ul> <li class="toctree-l1"><a class="reference internal" href="../../preparing/index.html">Preparing for Development</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../preparing/jdk.html">Installing the JDK</a></li> <li class="toctree-l2"><a class="reference internal" href="../../preparing/ide.html">Installing an IDE</a></li> <li class="toctree-l2"><a class="reference internal" href="../../preparing/text.html">Installing a Text Editor</a></li> <li class="toctree-l2"><a class="reference internal" href="../../preparing/git.html">Installing Git</a></li> </ul> </li> </ul> <ul class="current"> <li class="toctree-l1 current"><a class="reference internal" href="../index.html">Creating a Plugin</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="../buildsystem.html">Build Systems</a></li> <li class="toctree-l2"><a class="reference internal" href="../workspace/index.html">Setting Up Your Workspace</a><ul> <li class="toctree-l3"><a class="reference internal" href="../workspace/idea.html">Setting Up IntelliJ IDEA</a></li> <li class="toctree-l3"><a class="reference internal" href="../workspace/eclipse.html">Setting Up Eclipse</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../project/index.html">Setting Up Your Project</a><ul> <li class="toctree-l3"><a class="reference internal" href="../project/gradle.html">Setting Up Gradle</a></li> <li class="toctree-l3"><a class="reference internal" href="../project/maven.html">Setting Up Maven</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../plugin-identifier.html">Plugin Identifiers</a></li> <li class="toctree-l2"><a class="reference internal" href="../plugin-class.html">Main Plugin Class</a></li> <li class="toctree-l2"><a class="reference internal" href="../lifecycle.html">Plugin Lifecycle</a></li> <li class="toctree-l2"><a class="reference internal" href="../injection.html">Dependency Injection</a></li> <li class="toctree-l2"><a class="reference internal" href="../practices.html">Best Practices</a></li> <li class="toctree-l2"><a class="reference internal" href="../optional/index.html">Optionals</a><ul> <li class="toctree-l3"><a class="reference internal" href="../optional/basic.html">Optionals Explained</a></li> <li class="toctree-l3"><a class="reference internal" href="../optional/usage.html">Usage Examples</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../logging.html">Logging and Debugging</a></li> <li class="toctree-l2"><a class="reference internal" href="../commands/index.html">Commands</a><ul> <li class="toctree-l3"><a class="reference internal" href="../commands/creating.html">Building a Command</a></li> <li class="toctree-l3"><a class="reference internal" href="../commands/arguments.html">Argument Parsing</a></li> <li class="toctree-l3"><a class="reference internal" href="../commands/flags.html">Command Flags</a></li> <li class="toctree-l3"><a class="reference internal" href="../commands/childcommands.html">Child Commands</a></li> <li class="toctree-l3"><a class="reference internal" href="../commands/service.html">The Command Manager</a></li> <li class="toctree-l3"><a class="reference internal" href="../commands/commandcallable.html">Low-Level Command API</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../event/index.html">Events</a><ul> <li class="toctree-l3"><a class="reference internal" href="../event/listeners.html">Event Listeners</a></li> <li class="toctree-l3"><a class="reference internal" href="../event/causes.html">Event Causes</a></li> <li class="toctree-l3"><a class="reference internal" href="../event/filters.html">Event Filters</a></li> <li class="toctree-l3"><a class="reference internal" href="../event/custom.html">Custom Events</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../assets.html">The Asset API</a></li> <li class="toctree-l2"><a class="reference internal" href="../configuration/index.html">Configuring Plugins</a><ul> <li class="toctree-l3"><a class="reference internal" href="../configuration/loaders.html">Configuration Loaders</a></li> <li class="toctree-l3"><a class="reference internal" href="../configuration/nodes.html">Configuration Nodes</a></li> <li class="toctree-l3"><a class="reference internal" href="../configuration/serialization.html">Serializing Objects</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../text/index.html">Text</a><ul> <li class="toctree-l3"><a class="reference internal" href="../text/text.html">Creating Text</a></li> <li class="toctree-l3"><a class="reference internal" href="../text/representations/index.html">Text Serializers</a><ul> <li class="toctree-l4"><a class="reference internal" href="../text/representations/formatting-code-legacy.html">Formatting Code & Legacy Format</a></li> <li class="toctree-l4"><a class="reference internal" href="../text/representations/xml.html">TextXML Format</a></li> <li class="toctree-l4"><a class="reference internal" href="../text/representations/json.html">JSON Format</a></li> <li class="toctree-l4"><a class="reference internal" href="../text/representations/configurate.html">Configuration Format</a></li> </ul> </li> <li class="toctree-l3"><a class="reference internal" href="../text/pagination.html">The Pagination Service</a></li> <li class="toctree-l3"><a class="reference internal" href="../text/messagechannels.html">Message Channels</a></li> <li class="toctree-l3"><a class="reference internal" href="../text/templates.html">TextTemplates</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../data/index.html">The Data API</a><ul> <li class="toctree-l3"><a class="reference internal" href="../data/custom/index.html">Custom Data</a><ul> <li class="toctree-l4"><a class="reference internal" href="../data/custom/datamanipulators.html">Custom DataManipulators</a></li> <li class="toctree-l4"><a class="reference internal" href="../data/custom/dataholders.html">Custom DataHolders</a></li> <li class="toctree-l4"><a class="reference internal" href="../data/custom/serialization.html">Serializing Custom Data</a></li> </ul> </li> <li class="toctree-l3"><a class="reference internal" href="../data/keys.html">Using Keys</a></li> <li class="toctree-l3"><a class="reference internal" href="../data/datamanipulators.html">Data Manipulators</a></li> <li class="toctree-l3"><a class="reference internal" href="../data/transactions.html">Transactions</a></li> <li class="toctree-l3"><a class="reference internal" href="../data/serialization.html">Serializing Data</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../blocks/index.html">Blocks</a><ul> <li class="toctree-l3"><a class="reference internal" href="../blocks/concepts.html">Concepts</a></li> <li class="toctree-l3"><a class="reference internal" href="../blocks/accessing.html">Accessing Blocks</a></li> <li class="toctree-l3"><a class="reference internal" href="../blocks/modifying.html">Modifying Blocks</a></li> <li class="toctree-l3"><a class="reference internal" href="../blocks/tileentities.html">Tile Entities</a></li> <li class="toctree-l3"><a class="reference internal" href="../blocks/virtualblock.html">Virtual Block Changes</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../entities/index.html">Entities</a><ul> <li class="toctree-l3"><a class="reference internal" href="../entities/spawning.html">Spawning an Entity</a></li> <li class="toctree-l3"><a class="reference internal" href="../entities/modifying.html">Modifying an Entity</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../items/index.html">Items</a><ul> <li class="toctree-l3"><a class="reference internal" href="../items/usage.html">Basic Item Usage</a></li> <li class="toctree-l3"><a class="reference internal" href="../items/creating.html">Creating an ItemStack</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../trade-offers.html">Trade-Offers</a></li> <li class="toctree-l2"><a class="reference internal" href="../effects.html">Effects</a></li> <li class="toctree-l2"><a class="reference internal" href="../scheduler.html">Scheduler</a></li> <li class="toctree-l2"><a class="reference internal" href="../services.html">Services</a></li> <li class="toctree-l2"><a class="reference internal" href="../database.html">Databases</a></li> <li class="toctree-l2"><a class="reference internal" href="../permissions.html">Permissions</a></li> <li class="toctree-l2"><a class="reference internal" href="../bans.html">Bans</a></li> <li class="toctree-l2"><a class="reference internal" href="../bookview.html">Book Views</a></li> <li class="toctree-l2 current"><a class="reference internal" href="index.html">Economy</a><ul class="current"> <li class="toctree-l3 current"><a class="current reference internal" href="#">Basic Concepts</a></li> <li class="toctree-l3"><a class="reference internal" href="using.html">Using the Economy API</a></li> <li class="toctree-l3"><a class="reference internal" href="practices.html">Economy API Best Practices</a></li> <li class="toctree-l3"><a class="reference internal" href="implementing.html">Implementing the Economy API</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../wgen/index.html">World Generation</a><ul> <li class="toctree-l3"><a class="reference internal" href="../wgen/modifiers.html">WorldGeneratorModifiers</a></li> <li class="toctree-l3"><a class="reference internal" href="../wgen/customwgen.html">Modifying World Generation</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../manager.html">Plugin Manager</a></li> <li class="toctree-l2"><a class="reference internal" href="../game-profile-manager.html">Game Profile Manager</a></li> <li class="toctree-l2"><a class="reference internal" href="../offline-userplayer-data.html">Offline Player Data</a></li> <li class="toctree-l2"><a class="reference internal" href="../debugging.html">Plugin Debugging</a></li> <li class="toctree-l2"><a class="reference internal" href="../tab-lists.html">Tab Lists</a></li> <li class="toctree-l2"><a class="reference internal" href="../plugin-meta.html">Plugin Metadata</a></li> <li class="toctree-l2"><a class="reference internal" href="../ray-tracing.html">Ray Tracing</a></li> <li class="toctree-l2"><a class="reference internal" href="../tutorials.html">Tutorials</a></li> </ul> </li> </ul> <ul> <li class="toctree-l1"><a class="reference internal" href="../../ore/index.html">Ore Documentation</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../ore/publish.html">Publishing Your Plugin</a></li> <li class="toctree-l2"><a class="reference internal" href="../../ore/security.html">Security</a></li> <li class="toctree-l2"><a class="reference internal" href="../../ore/api.html">Ore Web API</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../ore/routes/list-projects.html">List projects</a></li> <li class="toctree-l3"><a class="reference internal" href="../../ore/routes/project.html">Get Project</a></li> <li class="toctree-l3"><a class="reference internal" href="../../ore/routes/list-versions.html">List Project Versions</a></li> <li class="toctree-l3"><a class="reference internal" href="../../ore/routes/project-version.html">Get Project Version</a></li> <li class="toctree-l3"><a class="reference internal" href="../../ore/routes/list-users.html">List Users</a></li> <li class="toctree-l3"><a class="reference internal" href="../../ore/routes/user.html">Get User</a></li> <li class="toctree-l3"><a class="reference internal" href="../../ore/routes/download.html">Download Project Version</a></li> </ul> </li> </ul> </li> </ul> <ul> <li class="toctree-l1"><a class="reference internal" href="../../contributing/index.html">Contributing to Sponge</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../contributing/guidelines.html">Contribution Guidelines</a></li> <li class="toctree-l2"><a class="reference internal" href="../../contributing/howtogit.html">How to Git(Hub)</a></li> <li class="toctree-l2"><a class="reference internal" href="../../contributing/implementation/index.html">Developing Sponge</a><ul> <li class="toctree-l3"><a class="reference internal" href="../../contributing/implementation/codestyle.html">Code Style</a></li> <li class="toctree-l3"><a class="reference internal" href="../../contributing/implementation/git-implementation.html">Git Workflow for API and Implementations</a></li> <li class="toctree-l3"><a class="reference internal" href="../../contributing/implementation/pr.html">Submitting a Pull-Request</a></li> <li class="toctree-l3"><a class="reference internal" href="../../contributing/implementation/debugging.html">Debugging Sponge Within the IDE</a></li> <li class="toctree-l3"><a class="reference internal" href="../../contributing/implementation/mixins.html">Mixins</a></li> <li class="toctree-l3"><a class="reference internal" href="../../contributing/implementation/datamanipulator.html">Implementing DataManipulators</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../../contributing/spongedocs.html">SpongeDocs Writing</a></li> <li class="toctree-l2"><a class="reference internal" href="../../contributing/porting.html">Porting Sponge to Other Platforms</a></li> <li class="toctree-l2"><a class="reference internal" href="../../contributing/versioning.html">Versioning System and Repository Branch Layout</a></li> </ul> </li> </ul> <ul> <li class="toctree-l1"><a class="reference internal" href="../../about/index.html">About the Sponge Project</a><ul> <li class="toctree-l2"><a class="reference internal" href="../../about/introduction.html">Introduction</a></li> <li class="toctree-l2"><a class="reference internal" href="../../about/faq.html">Frequently Asked Questions</a></li> <li class="toctree-l2"><a class="reference internal" href="../../about/structure.html">The Structure of the Sponge Project</a></li> <li class="toctree-l2"><a class="reference internal" href="../../about/future.html">Plans for the Future</a></li> <li class="toctree-l2"><a class="reference internal" href="../../about/license.html">License</a></li> <li class="toctree-l2"><a class="reference internal" href="../../about/posting.html">Forum Posting Guidelines</a></li> <li class="toctree-l2"><a class="reference internal" href="../../about/rules.html">Forum & IRC Rules</a></li> <li class="toctree-l2"><a class="reference internal" href="../../about/staff.html">Staff</a></li> <li class="toctree-l2"><a class="reference internal" href="../../about/glossary.html">Sponge Glossary</a></li> <li class="toctree-l2"><a class="reference internal" href="../../about/assets.html">Art Assets</a></li> <li class="toctree-l2"><a class="reference internal" href="../../about/history.html">The History of Sponge</a></li> </ul> </li> </ul> </div> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body" role="main"> <div class="section" id="basic-concepts"> <h1>Basic Concepts<a class="headerlink" href="#basic-concepts" title="Permalink to this headline">¶</a></h1> <p>The Sponge Economy API has a few basic components that developers should be familiar with:</p> <ul class="simple"> <li>EconomyService</li> <li>Currency</li> <li>Accounts</li> <li>Transactions</li> </ul> <div class="section" id="the-economyservice"> <h2>The EconomyService<a class="headerlink" href="#the-economyservice" title="Permalink to this headline">¶</a></h2> <p>The <a class="reference external" href="https://jd.spongepowered.org/5.0.0/org/spongepowered/api/service/economy/EconomyService.html">EconomyService</a> is the basis of the Economy API. It is used to interact via the Economy API, stores an economy’s currencies and provides methods for account management.</p> <div class="admonition warning"> <p class="first admonition-title">Warning</p> <p class="last">Sponge does not provide a default implementation for the <code class="docutils literal"><span class="pre">EconomyService</span></code>. It’s completely up to plugins to implement the Economy API. This means that you have to rely on another plugin which implements the service or you’ll have to implement it yourself, if you want to make use of it.</p> </div> </div> <div class="section" id="currency"> <h2>Currency<a class="headerlink" href="#currency" title="Permalink to this headline">¶</a></h2> <p>The <a class="reference external" href="https://jd.spongepowered.org/5.0.0/org/spongepowered/api/service/economy/Currency.html">Currency</a> object represents a form of Currency. <code class="docutils literal"><span class="pre">Currency</span></code> stores a display name (plural and singular), a symbol, the amount of fractional digits, and whether the currency is the default currency for the economy. If the economy plugin chooses, it can support multiple currencies.</p> </div> <div class="section" id="accounts"> <h2>Accounts<a class="headerlink" href="#accounts" title="Permalink to this headline">¶</a></h2> <p><a class="reference external" href="https://jd.spongepowered.org/5.0.0/org/spongepowered/api/service/economy/account/Account.html">Account</a>s are used to store economy information about a specific player or other object (i.e. bank, business, entity). There are two account types in the Sponge Economy API:</p> <div class="section" id="virtual-accounts"> <h3>Virtual Accounts<a class="headerlink" href="#virtual-accounts" title="Permalink to this headline">¶</a></h3> <p>Virtual accounts are tied to an identifier, which is stored as a string. Virtual accounts can be tied to almost anything, but are commonly used for things such as banks, or non-players. To get the id of a virtual account, use <code class="docutils literal"><span class="pre">getIdentifier()</span></code>.</p> </div> <div class="section" id="unique-accounts"> <h3>Unique Accounts<a class="headerlink" href="#unique-accounts" title="Permalink to this headline">¶</a></h3> <p>Unique accounts are tied to a UUID, usually a player. To get the UUID of an unique account, use <code class="docutils literal"><span class="pre">getUUID()</span></code>.</p> </div> </div> <div class="section" id="transactions"> <h2>Transactions<a class="headerlink" href="#transactions" title="Permalink to this headline">¶</a></h2> <p>Transactions represent an account’s change in balance. There are currently three types of transactions:</p> <ul class="simple"> <li>Deposit: Occurs when an account has funds added to it</li> <li>Withdraw: Occurs when an account has funds removed from it</li> <li>Transfer: Occurs when an account exchanges funds with another account</li> </ul> <p>When a transfer occurs, the <a class="reference external" href="https://jd.spongepowered.org/5.0.0/org/spongepowered/api/event/economy/EconomyTransactionEvent.html">EconomyTransactionEvent</a> is fired. Using this event, you can get the <a class="reference external" href="https://jd.spongepowered.org/5.0.0/org/spongepowered/api/service/economy/transaction/TransactionResult.html">TransactionResult</a>. The <code class="docutils literal"><span class="pre">TransactionResult</span></code> stores data about the transaction that occurred, including:</p> <ul class="simple"> <li>Account involved</li> <li>Currency involved</li> <li>Amount of currency involved</li> <li>Transaction type</li> <li>Result of the transaction</li> </ul> <p>You can view all possible transaction results on the <a class="reference external" href="https://jd.spongepowered.org/5.0.0/org/spongepowered/api/service/economy/transaction/ResultType.html">ResultType</a> JavaDocs page.</p> </div> </div> </div> </div> </div> <div class="clearer"></div> </div> <div class="footer" role="contentinfo"> © Copyright 2014-2016, Sponge Contributors. Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.1. </div> </div> </body> </html>