Good Practices With AE: Difference between revisions

From GT New Horizons
Content added Content deleted
m (Suggesting Wireless connectors for longer distances is stupid unless you have a creative energy cell, added it to point that out)
m (added the oredictionnary export bus advice)
Line 13: Line 13:
* If you want to use extracells' fluid input/output buses, don't use acceleration cards, that makes it laggy as hell.
* If you want to use extracells' fluid input/output buses, don't use acceleration cards, that makes it laggy as hell.
* The time of your 1st opening of your AE storage is proportional to the amount of itemstacks and NBT you have inside of it. To reduce it, get rid of the item types with low amount and with heavy NBTs.
* The time of your 1st opening of your AE storage is proportional to the amount of itemstacks and NBT you have inside of it. To reduce it, get rid of the item types with low amount and with heavy NBTs.
* in the 2.1.0.0 version of the pack, If you use an oredictionnary export bus and the wildcard (*) in your expression, make sure to avoid multiple oredict prefixes matching your expression, it generates a lot of lags. For exemple, "ore*" is matching the following list:
** "ore*"
** "oreCrushed*"
** "oreCrushedPurified*"
** "oreCrushedCentrifuged*"
** "oreAny*",
** "oreNetherrack*",
** "oreNetherrackAny*"
** "oreEndstone*"
** "oreEndstoneAny*"
** "oreBlackGranite*"
** "oreBlackGraniteAny*"
** "oreRedGranite*"
** "oreRedGraniteAny*"
** "oreMarble*"
** "oreMarbleAny*"
** "oreBasalt*"
** "oreBasaltAny*"

Revision as of 17:33, 31 December 2020


Here are some good practices to respect when building your AE network:

  • Always put the highest multiple of a recipe if you can, as it reduces queries for AE. Exemple: you want to automate the craft of 1 iron dust from 1 iron ingot. Automating it like that will make 64 queries if you want a stack of it automating 64 iron dusts from 64 iron ingots will only make 1 querry if you want a stack of it.
  • Always prefer the recipes without reusable items if you can: it impacts server tps because it needs to calculate if it can reuse the tools after each querry Exemple: you should aim for the assembler recipe of the machine casing instead of the crafting grid recipe.
  • If you can, avoid using subnetworks for storage: This is a good way to trigger a lot of updates at once if you do it. (famous exemple of laggy storage subnetwork is the Super Soaryn Drive)
  • If you want to use the crafting cards, reduce the queries as much as you can: Use the 1st point of this list and if it's still spamming the queries, consider making the needed item outside of AE and import them in AE
  • You should prefer using AE drives instead of the chests + storage buses combo: the hashs of the items are precalculated in the AE storage cells. It does not make any noticeable difference for items without NBTs, but will make a difference for items with NBTs
  • Always prefer teleporting the AE network instead of pulling long cables.
  • If you don't need interdim teleportation of your AE network, prefer using the wireless connectors, they are less laggy. (warning: they consume more than the quantum ring, viable once you obtained a neutronium energy cell)
  • If you need to teleport more than 32 channels to a destination, use a subnetwork with P2P, and then teleport the subnetwork
  • If you want to use extracells' fluid input/output buses, don't use acceleration cards, that makes it laggy as hell.
  • The time of your 1st opening of your AE storage is proportional to the amount of itemstacks and NBT you have inside of it. To reduce it, get rid of the item types with low amount and with heavy NBTs.
  • in the 2.1.0.0 version of the pack, If you use an oredictionnary export bus and the wildcard (*) in your expression, make sure to avoid multiple oredict prefixes matching your expression, it generates a lot of lags. For exemple, "ore*" is matching the following list:
    • "ore*"
    • "oreCrushed*"
    • "oreCrushedPurified*"
    • "oreCrushedCentrifuged*"
    • "oreAny*",
    • "oreNetherrack*",
    • "oreNetherrackAny*"
    • "oreEndstone*"
    • "oreEndstoneAny*"
    • "oreBlackGranite*"
    • "oreBlackGraniteAny*"
    • "oreRedGranite*"
    • "oreRedGraniteAny*"
    • "oreMarble*"
    • "oreMarbleAny*"
    • "oreBasalt*"
    • "oreBasaltAny*"