Skip to content
Branch: master
Go to file

Latest commit

shartte committed eb0e428 Jul 5, 2020
Unify the client/server-side shared itemstack registry to avoid over-…
…dependence on the current thread

when this class is used. Otherwise if a thread is not correctly detected to be part of the server or client
thread groups, a shared item stack from the wrong domain is returned.


Failed to load latest commit information.

Build master Latest Release Latest PreRelease

Applied Energistics 2

Table of Contents


A Mod about Matter, Energy and using them to conquer the world..



  • Applied Energistics 2 API
    • (c) 2013 - 2020 AlgorithmX2 et al
    • License
  • Applied Energistics 2
    • (c) 2013 - 2020 AlgorithmX2 et al
    • License
  • Textures and Models
    • (c) 2013 - 2020 AlgorithmX2 et al
    • License
  • Text and Translations
    • License


Downloads can be found on CurseForge or on the official website.


You install this mod by putting it into the minecraft/mods/ folder. It has no additional hard dependencies.


Applied Energistics 2 crashing, have a suggestion, found a bug? Create an issue now!

  1. Make sure your issue has not already been answered or fixed and you are using the latest version. Also think about whether your issue is a valid one before submitting it.
    • If it is already possible with vanilla and AE2 itself, the suggestion will be considered invalid.
    • Asking for a smaller version, more compact version, or more efficient version of something will also be considered invalid.
  2. Go to the issues page and click new issue
  3. If applicable, use on of the provided templates. It will also contain further details about required or useful information to add.
  4. Click Submit New Issue, and wait for feedback!

Providing as many details as possible does help us to find and resolve the issue faster and also you getting a fixed version as fast as possible.

Please note that we might close any issue not matching these requirements.


  1. Clone this repository via
  • SSH git clone or
  • HTTPS git clone
  1. Build using the gradle build task. Jar will be in build/libs
  2. For core developer: Setup IDE
  • IntelliJ: Import as gradle project
  • Eclipse: Import as gradle project or execute gradle task eclipse and potentially genEclipseRuns


Before you want to add major changes, you might want to discuss them with us first, before wasting your time. If you are still willing to contribute to this project, you can contribute via Pull-Request.

The guidelines for contributing contain more detailed information about topics like the used code style and should also be considered.

Here are a few things to keep in mind that will help get your PR approved.

  • A PR should be focused on content. Any PRs where the changes are only syntax will be rejected.
  • Use the file you are editing as a style guide.
  • Consider your feature. Suggestion Guidelines
    • Is your suggestion already possible using Vanilla + AE2?
    • Make sure your feature isn't already in the works, or hasn't been rejected previously.
    • Does your feature simplify another feature of AE2? These changes will not be accepted.
    • If your feature can be done by any popular mod, discuss with us first.

Getting Started

  1. Fork this repository
  2. Clone the fork via
  • SSH git clone<your username>/Applied-Energistics-2.git or
  • HTTPS git clone<your username>/Applied-Energistics-2.git
  1. Change code base
  2. Add changes to git git add -A
  3. Commit changes to your clone git commit -m "<summary of made changes>"
  4. Push to your fork git push
  5. Create a Pull-Request on GitHub
  6. Wait for review
  7. Squash commits for cleaner history

If you are only doing single file pull requests, GitHub supports using a quick way without the need of cloning your fork. Also read up about synching if you plan to contribute on regular basis.

Applied Energistics 2 API

The API for Applied Energistics 2. It is open source to discuss changes, improve documentation, and provide better add-on support in general.

Universal builds obtained Here should work in a development environment.


When compiling against the AE2 API you can use gradle dependencies, just add

dependencies {
    compile "appeng:appliedenergistics2:rv_-_____-__:api"

or add the compile line to your existing dependencies task to your build.gradle

Where the __ are filled in with the correct version criteria; AE2 is available from the default forge maven so no additional repositories are necessary.

An example string would be appeng:appliedenergistics2:rv5-stable-1:api for the API only or appeng:appliedenergistics2:rv5-stable-1 for the whole mod.

Applied Energistics 2 CraftTweaker


The inscriber uses the vanilla recipe system with a custom type of appliedenergistics2:inscriber. See the inscriber recipe folder for some examples.


The grindstone uses the vanilla recipe system with a custom type of appliedenergistics2:grinder. See the grinder recipe folder for some examples.


Whitelist a TileEntity class for Spatial IO.

mods.appliedenergistics2.Spatial.whitelistEntity( String fullEntityClassName );


Attune a ItemStack or ModID to a specific P2P-Tunnel type. ModID's are used as fallback when no ItemStack was found.

mods.appliedenergistics2.Attunement.attuneME( ItemStack itemStack );
mods.appliedenergistics2.Attunement.attuneME( String modID );
mods.appliedenergistics2.Attunement.attuneItem( ItemStack itemStack );
mods.appliedenergistics2.Attunement.attuneItem( String modID );
mods.appliedenergistics2.Attunement.attuneFluid( ItemStack itemStack );
mods.appliedenergistics2.Attunement.attuneFluid( String modID );
mods.appliedenergistics2.Attunement.attuneRedstone( ItemStack itemStack );
mods.appliedenergistics2.Attunement.attuneRedstone( String modID );
mods.appliedenergistics2.Attunement.attuneRF( ItemStack itemStack );
mods.appliedenergistics2.Attunement.attuneRF( String modID );
mods.appliedenergistics2.Attunement.attuneIC2( ItemStack itemStack );
mods.appliedenergistics2.Attunement.attuneIC2( String modID );
mods.appliedenergistics2.Attunement.attuneLight( ItemStack itemStack );
mods.appliedenergistics2.Attunement.attuneLight( String modID );


Add ammo types for the matter cannon.

mods.appliedenergistics2.Cannon.registerAmmo( ItemStack itemStack, double weight );

Applied Energistics 2 Localization

English Text

en_US is included in this repository, fixes to typos are welcome.


Files must be encoded as UTF-8.

New or updated Translations

The language files are located in /src/main/resources/assets/appliedenergistics2/lang/ and use the appropriate locale code as name and .lang as extension.

To update an translation edit the corresponding file and improve/correct the existing entry. Or copy any entries from en_US.lang for missing translation.

To create a new translation, copy the contents of en_US.lang, create a new file with appropriate filename, and translate it to your language.

Please keep in mind that we use String format to pass additional data to the text for displaying. Therefore you should preserve parts like %s or %1$d%%, which allows us to replace them with the correct values while you still have the option to change their order for match the rules of grammar. This might not be possible for some languages. Should this be the case, please contact us.

Final Note

If you have have issues localizing something feel free to contact us on IRC, at #AppliedEnergistics on

Thanks to everyone helping out to improve localization of AE2.


Thanks to

  • Notch et al for Minecraft
  • Lex et al for MinecraftForge
  • AlgorithmX2 for AppliedEnergistics2
  • all contributors
You can’t perform that action at this time.