<!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>Setting Up IntelliJ IDEA &mdash; 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="Setting Up Your Workspace" href="index.html" />
        <link rel="next" title="Setting Up Eclipse" href="eclipse.html" />
        <link rel="prev" title="Setting Up Your Workspace" 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="eclipse.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/workspace/idea.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">Setting Up Your Workspace</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 current"><a class="reference internal" href="index.html">Setting Up Your Workspace</a><ul class="current">
<li class="toctree-l3 current"><a class="current reference internal" href="#">Setting Up IntelliJ IDEA</a></li>
<li class="toctree-l3"><a class="reference internal" href="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 &amp; 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"><a class="reference internal" href="../economy/index.html">Economy</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../economy/basics.html">Basic Concepts</a></li>
<li class="toctree-l3"><a class="reference internal" href="../economy/using.html">Using the Economy API</a></li>
<li class="toctree-l3"><a class="reference internal" href="../economy/practices.html">Economy API Best Practices</a></li>
<li class="toctree-l3"><a class="reference internal" href="../economy/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 &amp; 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="setting-up-intellij-idea">
<h1>Setting Up IntelliJ IDEA<a class="headerlink" href="#setting-up-intellij-idea" title="Permalink to this headline">¶</a></h1>
<p>This article describes how to configure your <strong>IntelliJ IDEA</strong> workspace for plugin development with SpongeAPI and
<a class="reference internal" href="../buildsystem.html"><span class="doc">a build system such as Maven or Gradle</span></a>.</p>
<div class="section" id="gradle">
<h2>Gradle<a class="headerlink" href="#gradle" title="Permalink to this headline">¶</a></h2>
<div class="section" id="creating-your-project">
<h3>Creating your project<a class="headerlink" href="#creating-your-project" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>Open <strong>IntelliJ IDEA</strong>.</li>
<li>Click <code class="docutils literal"><span class="pre">Create</span> <span class="pre">New</span> <span class="pre">Project</span></code>.</li>
<li>Select <code class="docutils literal"><span class="pre">Gradle</span></code> in the popup, and click <code class="docutils literal"><span class="pre">Next</span></code>.</li>
<li>Enter your <strong>Group ID</strong>, <strong>Artifact ID</strong>, and <strong>Version</strong>.<ul>
<li>Your <strong>Group ID</strong> should usually correspond to your Java package name. See <a class="reference internal" href="../plugin-class.html"><span class="doc">Main Plugin Class</span></a> for details.</li>
<li>Your <strong>Artifact ID</strong> should usually correspond to your <strong>plugin ID</strong> you chose earlier, e.g. <code class="docutils literal"><span class="pre">myplugin</span></code>.</li>
<li>Your <strong>Version</strong> is up to you.</li>
</ul>
</li>
<li>Click <code class="docutils literal"><span class="pre">Next</span></code> twice, name your project, and click <code class="docutils literal"><span class="pre">Finish</span></code>.</li>
</ul>
</div>
<div class="section" id="editing-the-build-script">
<h3>Editing the build script<a class="headerlink" href="#editing-the-build-script" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>Open <code class="docutils literal"><span class="pre">build.gradle</span></code> in the navigator and add the dependencies.</li>
<li>Edit the build script according to the instructions at <a class="reference internal" href="../project/gradle.html"><span class="doc">Setting Up Gradle</span></a>.</li>
<li>Open the <strong>Gradle tab</strong> on the right of the IntelliJ window and hit the refresh button.</li>
<li>Gradle setup is done! Now you can start coding your plugin.</li>
</ul>
</div>
<div class="section" id="importing-your-project">
<h3>Importing your project<a class="headerlink" href="#importing-your-project" title="Permalink to this headline">¶</a></h3>
<p>If you&#8217;ve already started with your project and want to import it again at a later point you need to import it instead
of re-creating it inside your IDE:</p>
<ul class="simple">
<li>Click <code class="docutils literal"><span class="pre">File</span> <span class="pre">&gt;</span> <span class="pre">Open</span></code></li>
<li>Navigate to the project&#8217;s <code class="docutils literal"><span class="pre">build.gradle</span></code> file</li>
<li>Click Ok</li>
</ul>
</div>
</div>
<div class="section" id="maven">
<h2>Maven<a class="headerlink" href="#maven" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id1">
<h3>Creating your project<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>Open <strong>IntelliJ IDEA</strong>.</li>
<li>Click <code class="docutils literal"><span class="pre">Create</span> <span class="pre">New</span> <span class="pre">Project</span></code>.</li>
<li>Select <code class="docutils literal"><span class="pre">Maven</span></code> in the popup, and click <code class="docutils literal"><span class="pre">Next</span></code>.</li>
<li>Enter your <strong>Group ID</strong>, <strong>Artifact ID</strong>, and <strong>Version</strong>.<ul>
<li>Your <strong>Group ID</strong> should usually correspond to your Java package name. See <a class="reference internal" href="../plugin-class.html"><span class="doc">Main Plugin Class</span></a> for details.</li>
<li>Your <strong>Artifact ID</strong> should usually correspond to your <strong>plugin ID</strong> you chose earlier, e.g. <code class="docutils literal"><span class="pre">myplugin</span></code>.</li>
<li>Your <strong>Version</strong> is up to you.</li>
</ul>
</li>
<li>Click <code class="docutils literal"><span class="pre">Next</span></code>.</li>
<li>Enter your project&#8217;s name, and click <code class="docutils literal"><span class="pre">Finish</span></code>.</li>
</ul>
</div>
<div class="section" id="editing-the-project-configuration">
<h3>Editing the project configuration<a class="headerlink" href="#editing-the-project-configuration" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>Open <code class="docutils literal"><span class="pre">pom.xml</span></code> in the navigator.</li>
<li>Edit the build configuration according to the instructions at <a class="reference internal" href="../project/maven.html"><span class="doc">Setting Up Maven</span></a>.</li>
<li>Refresh your Maven project.</li>
<li>Import the Maven changes, if prompted.</li>
</ul>
</div>
<div class="section" id="id2">
<h3>Importing your project<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
<p>If you&#8217;ve already started with your project and want to import it again at a later point you need to import it instead
of re-creating it inside your IDE:</p>
<ul class="simple">
<li>Click <code class="docutils literal"><span class="pre">File</span> <span class="pre">&gt;</span> <span class="pre">Open</span></code></li>
<li>Navigate to the project&#8217;s <code class="docutils literal"><span class="pre">pom.xml</span></code> file</li>
<li>Click Ok</li>
</ul>
</div>
</div>
<div class="section" id="git-integration">
<h2>Git Integration<a class="headerlink" href="#git-integration" title="Permalink to this headline">¶</a></h2>
<p>JetBrains offers documentation on Git integration:</p>
<p><a class="reference external" href="https://www.jetbrains.com/idea/help/using-git-integration.html">https://www.jetbrains.com/idea/help/using-git-integration.html</a></p>
</div>
</div>


                </div>
              </div>
            </div>
          <div class="clearer"></div>
        </div>
        <div class="footer" role="contentinfo">
              &copy; Copyright 2014-2016, Sponge Contributors.
            Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.1.
        </div>
    </div>
  </body>
</html>