-
Notifications
You must be signed in to change notification settings - Fork 26
Modules
Modules actually define what a router does. An Item Router can have up to nine modules installed, and every router tick (which is 20 server ticks or 1 second by default, but see Speed Upgrades), it executes every installed module once, from the leftmost module to the rightmost.
There are 15 different module types, each of which operates on the router's buffer in a specific way. All modules have a common configuration interface, which can be accessed by right-clicking with the module in hand, or by pressing the 'C' key (configurable) while the mouse is over an installed module in the router's GUI.
By default, a module operates on a single item at a time, but this can be increased with one or more Stack Upgrades.

-
The filter. All modules have a 9-slot filter interface where you can add ghost items. The module will only operate on items which match items in the filter.
-
Whitelist/Blacklist toggle. A blacklist with no items in the filter will match everything; a whitelist with no items will match nothing.
-
Match/Ignore Metadata. This allows matching or ignoring of items' damage values; either the damage on a item with durability, or the metadata on items such as wool. Example: if you select Ignore Metadata and put wool in the filter, the module will work on wool of any colour.
-
Match/Ignore NBT. This allows matching or ignoring of items' extended NBT data, e.g. enchantment data, or mod-specific extended data.
-
Use/Ignore Oredict. This allows for oredict-based matching. Vanilla example: all music discs have an Oredict equivalence. If you enable oredict matching and put any music disc in the filter, all music discs will be matched by this module.
-
Termination. If Termination is ON, and this module succeeds in processing an item, no further modules will be executed on this router tick. Example: say the first module in the router is set to match Stone, and the second module is set to match anything - if there's a stack of Stone in the router, and you want it all to be processed by the first module (e.g. send it all in a certain direction), you would enable Termination on the first module, so as soon as the router finds a match, it stops there.
-
Direction. Most modules need a direction to operate in; e.g. to know where to send an item, which block to break, where to place a block... The default direction is None, and in most (but not all) cases a module with a direction of None will do nothing, so you will need to explicitly configure a direction here. Directions are always relative to the router's facing (except that a router only faces horizontally so Up and Down are always absolute). This section will be blank for modules which don't need a direction, e.g. Sender Mk2/Mk3, Player, Void...
-
Extras. Some modules may have some extra controls for configurable certain module-specific settings. E.g. in the above example, the Detector Module has controls for setting the redstone signal level and whether to emit a strong or weak signal. This section will be blank for modules which don't have any module-specific settings.
This module tries to break a block, adjacent to the router in the module's configured direction. Most blocks are breakable, although anything with an unbreakable hardness (e.g. vanilla Bedrock or End Portal) can not be broken, nor can any fluid blocks. If the block is broken, its primary drop(s) will be pulled into the item router's buffer.
- If there's already something else in the buffer, or the buffer is full, the block will not be broken.
- If breaking the block yields more than one type of drop (e.g. mature wheat drops both wheat and seeds), only the first drop will be pulled into the buffer and other items will be left as items on the ground. In this case, you might also want a Vacuum Module to pull in the extra drops. If there are multiple drops of the same type (e.g. redstone ore dropping several redstone dust), all stackable drops will be pulled into the buffer where possible.
- The Breaker Module may be crafted with either a Fortune or Silk Touch enchanted book to gain those enchantments' abilities.
This module doesn't actually manipulate items, but instead detects specific items in the router's buffer. If the buffer contents are matched by the module's filter, it will make the router emit a redstone signal in the configured direction, or all directions if the configured direction is None. The signal level (default: 15) and signal type (default: weak) can be adjust via the module GUI.
This module tries to drop an item from the router's buffer as an item entity in the world. The drop will be adjacent to the router in the module's configured direction. The item entity will be placed with a zero velocity, unlike a vanilla Dropper.
This module extends and withdraws a row of blocks (from the router's buffer) in the module's configured direction. By default, the module extends blocks when the router has a redstone signal, and withdraws them when the router has no signal, but a Redstone Enhancement can be added to the module to customise this behaviour.
Using this module, it's possible to build large extending bridges and doorways. (If you've used the Tinker's Drawbridge from the Tinker's Mechworks mod in 1.7.10, the functionality will be familiar).
- See also the Camouflage Upgrade, which may be useful to hide the router.
- The default range (i.e. number of blocks which can be placed) is 12, but this can be increased up to 24 with Range Upgrades.
- If you change the module's direction while it has blocks extended, you may get the router a little confused. In this case, breaking and replacing the router will help.
- If you have multiple routers together with Extuder Modules installed (e.g. for a wide door or bridge), you may find the Sync Upgrade useful to ensure they all run on the same tick.
![] (https://github.com/desht/ModularRouters/blob/master/src/main/resources/assets/modularrouters/textures/items/flingerModule.png) This module behaves like the dropper module, except that it also imparts a configurable velocity to the dropped item, potentially throwing the item a considerable distance. You can adjust the item's speed, pitch and yaw via the module's GUI.
- Pitch and Yaw are in degrees, relative to a base pitch or yaw.
- If the module ejects Up or Down, the base pitch is +90° or -90°, respectively. Otherwise, the base pitch is 0°.
- If the module ejects Up or Down, the base yaw is the router's facing direction. Otherwise the base yaw is taken from the module's direction.
- Example: a speed of 1.0, pitch/yaw of 0°, and a horizontal module direction, will throw an item along the ground for a distance of about 7 blocks.
This module has been deprecated as of v1.1.0, and replaced by the Mod Filter. Existing modules will continue to function, but can no longer be crafted.
This module will try to place an item from the router's buffer into the adjacent inventory in the module's configured direction. However, it will only place an item into the inventory if there is an item in the inventory from the same mod as the buffer item. Note: this is in addition to any filter you may have defined on the module.
See also Sorter Module
This module tries to place an item from the router's buffer as a block, adjacent to the router in the module's configured direction.
- If the item isn't a block or the destination block is obstructed, nothing will be done.
- Normal Minecraft placement rules are followed; e.g. sugar cane can only be placed next to water on sand/dirt.
- Fluid blocks will be replaced, as will replaceable blocks such as tall grass.
This module tries to transfer items between the router and a player's own inventory. The player can be anywhere in any dimension, making this a rather powerful module.
- The module can transfer items either from or to the player; you can set this in the module's GUI.
- The module can operate on either the player's main 36-slot inventory, their 4-slot armor inventory, their offhand slot, or their Ender inventory (as shown by vanilla Ender Chests). This can also be set in the module's GUI.
- Extracted/inserted items can, of course, be filtered by the module.
A good use-case for this module would be to extract ores/cobblestone/dirt etc. from the player's inventory, and send it on to the player's main storage system in their base. With a little design, it should be possible to build a system to auto-swap your armor sets (maybe even in the field, with some wireless redstone from another mod...)
The Player Module is keyed to a specific player; the item tooltip shows the owner. This is set to the player who initially crafted the module, but can be overridden by holding the module and sneak-right-clicking it. You might also need to do this if you obtained the module by other means (creative, JEI cheat mode...).
Using a Security Upgrade in conjunction with this module is probably wise; you don't want a hostile player stealing this module...
This module tries to pull the first eligible item from the inventory in its configured direction into the router's buffer. If the buffer is full or contains something that stacks with nothing in the inventory, nothing will be pulled.
This module tries to send an item from the router's buffer to an inventory in the module's configured direction:
- The target inventory can be up to 8 blocks away (up to 16 with Range Upgrades )
- The target inventory must be directly along the X, Y, or Z axis
- The router must have clear line of sight to the target inventory; no opaque blocks, but blocks such as glass, fences, iron bars etc. are OK
This more powerful sender module tries to send an item from the router's buffer to a nearby inventory:
- The target inventory can be up to 16 blocks away (up to 32 with Range Upgrades )
- Clear line of sight is not required
- To select the target inventory, Shift-Right-click the target with the Sender Mk2 module in hand. You will get a confirmation message.
- If you need to check where a Sender Mk2 is configured to, Left-click with the module in hand, and a particle effect will stream toward the target inventory (the co-ordinates of the target are also shown in the module item's tooltip).
- The Direction setting is ignored by this module.
This top-end sender module operates very much like the Mk2 Sender, but can send to any inventory (in any dimension) with no restrictions! Note: the target inventory must be chunk-loaded; Modular Routers will not do this for you.
This module has been deprecated as of v1.1.0, and replaced by the Bulk Item Filter. Existing modules will continue to function, but can no longer be crafted.
This module will try to place an item from the router's buffer into the adjacent inventory in the module's configured direction. However, it will only place an item into the inventory if there is already a matching item in the inventory. Note: this is in addition to any filter you may have defined on the module.
A "match" is considered to occur when the items match, and the metadata matches (although damage is ignored for items with durability). NBT data is not considered. So wool of different colours, for example, will not be considered as matching, but a diamond sword will match other diamond swords, even if damaged or enchanted differently.
This can be used to make a very simple early-game sorting system: consider a horizontal row of item routers with chests on top of them. Each router should have two modules: firstly a Sorter Module sending UP, and secondly a Sender Module Mk1 sending RIGHT (to the next router). The modules should have Termination ON (unless your routers all have enough Stack Upgrades to process a full stack at once, which is unlikely early-game) to avoid items being wrongly sent along by the Sender Module. The final router can have a single Sender Mk1 sending UP, to a catch-all chest.
See also Mod Sorter Module
This module scans for dropped items in a 13x13x13 cubic area around the router (i.e. up to 6 blocks in each direction), and absorbs them into the router's buffer, if possible.
- The range can be increased up to 25x25x25 (12 blocks in each direction) with Range Upgrades. Each Range Upgrade increases the distance by 1 block, so up to 6 Range Upgrades can be usefully installed.
- The scanned area is centered on the router if the module's direction is None. If the module has an actual direction configured, the area is offset in that direction by 6 blocks (plus one for each Range Upgrade installed). E.g. with a direction of UP, the module will only scan an area directly above the router.
This dangerous module permanently destroys items in the router's buffer! It is strongly recommended to configure this module with a Whitelist to prevent accidental deletion of valuable items...