Skip to content
desht edited this page Nov 7, 2016 · 98 revisions

ModularRouters Wiki

Table of Contents

Table of contents generated with markdown-toc

Overview

Welcome to Modular Routers! This is a low-tech, but (hopefully) situationally very useful mod for moving items around in various ways. With a single block - the Item Router - and one or more plug-in modules, you can pull items from an inventory (including modded inventories like Storage Drawers), send them to other inventories near & far, place items as blocks, break blocks, drop items into the world, and more. Think of the Item Router like a super-configurable Hopper on steroids...

This mod is for Minecraft 1.10.2 only. It might work on 1.9.4 but no support will be given here. It will not work (and will not be ported to) any earlier Minecraft version.

The Item Router

Item Router will Puller and Dropper modules installed

The Item Router is the centre of the system: it has a single buffer slot for items, nine module slots, and four upgrade slots. You can right-click an Item Router to open its GUI.

The Buffer

The Item Router has a single-slot buffer for items. Why only a single slot? The router is intended to move items around, not store them. However, if you want to use it as a 1-slot chest, you can; its inventory is fully accessible by vanilla hoppers and any other mods piping systems.

But to properly use a router, you need Modules.

Redstone Mode

The button in the top right of the GUI allows redstone behaviour to be configured, and has a tooltip indicating the mode:

  • Always (default) - router will run regardless of whether or not it has a redstone signal
  • High - router will only run if it has a redstone signal (any strength > 0)
  • Low - router will only run if it has no redstone signal
  • Never - router will not run at all
  • Pulsed - router will run once on a rising redstone edge (i.e. whenever the signal strength increases). This mode could be used to synchronise the router to a timer, for example. Note: the router will still not be allowed to run any faster than usual - once per second without Speed Upgrades.

Click the button to cycle to the next mode, or shift-click to cycle to the previous mode.

A comparator placed against a router will measure the number of items in the buffer as a proportion of the maximum stack size, following usual vanilla comparator rules.

Eco Mode

Next to the redstone mode button is a button with a little green leaf icon, crossed out by default. This button lets you put the router into Eco Mode. This is a CPU-saving mechanism, whereby a router in Eco Mode will slow itself down if it hasn't processed an item in a certain length of time - by default 15 seconds, but you can change that in the mod config. Instead of running every second (or faster with Speed Upgrades), a slowed-down router will only run every 5 seconds (by default - again, configurable). Once an item gets processed, the router will return to running at full speed.

When should you use Eco Mode? You will see benefits when:

  • The router processes items infrequently.
  • The router has modules which need to do a lot of work (in particular scanning large inventories). Good examples here are a Puller Module pulling from a big chest like an Actually Additions crate, or a Sorter Module sorting into a big inventory.
  • You don't need super-fast response times. E.g. a Player Module extracting ores from a player's inventory is probably fine if it only checks every 5 seconds instead of every second.
  • You're playing multiplayer. It doesn't hurt to use Eco Mode in singleplayer, but it's less important.

You don't need to use Eco Mode at all, but applied judiciously, it can help reduce CPU load on busy servers, making for a better experience for everyone.

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.

  1. 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.

  2. Whitelist/Blacklist toggle. A blacklist with no items in the filter will match everything; a whitelist with no items will match nothing.

  3. 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.

  4. Match/Ignore NBT. This allows matching or ignoring of items' extended NBT data, e.g. enchantment data, or mod-specific extended data.

  5. 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.

  6. 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.

  7. 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...

  8. 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.

Breaker Module

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.

Detector Module

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.

Dropper Module

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.

Extruder Module

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.

Flinger Module

![] (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.

Mod Sorter Module

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

Placer 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.

Player Module

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...

Puller 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.

Sender Module Mk1

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

Sender Module Mk2

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.

Sender Module Mk3

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.

Sorter Module

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

Vacuum 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.

Void Module

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...

Module Enhancements

Module Enhancements are a way of adding extra functionality to an individual module, generally by crafting the module with one or more extra items. It's recommended to have a recipe display mod such as JEI installed to see what can be crafted.

Redstone Enhancement

Normally, a module is run when the router runs, no questions asked. However, adding the Redstone Enhancement to a module gives it individual control over when it runs based on the router's redstone signal level, and separate from any other mods in the router.

When a module has the Redstone Enhancement activated, you will see an extra button in its GUI for setting its redstone behaviour, the same as the button in the Item Router's GUI.

Example: get 2 Dropper Modules, and add the Redstone Enhancement to both of them. Configure one module to drop to the right, and on a high signal, and the other module to drop to the left, and on a high signal. With these two modules in a router, the router will drop to the right if it has a redstone signal, and to the left if it doesn't. Redstone-based item routing.

Regulator Enhancement

The Regulator Enhancement allows for more precise control over how many items may be sent to or pulled from an inventory, or the router's buffer.

When a module has the Regulator Enhancement activated, you will see an extra numeric textfield in its GUI where you can configure a limit. This limit is interpreted differently depending on the particular module:

  • For the Sender Mk1/2/3 Modules and Player Module in insert mode, the modules will only send an item to the inventory if there are fewer than the configured number of that item already in the inventory.
  • For the Puller and Player Module in extract mode, the modules will only pull an item from the inventory if there are more than the configured number of that item in the inventory.
  • For the Dropper, Flinger, Placer & Void Modules, the modules will only run if there are more than the configured number of that item in the router's buffer.
  • For the Breaker & Vacuum Modules, the modules will only run if there are fewer than the configured number of that item in the router's buffer.

Upgrades

While modules define what a router does, upgrades affect how the router does it. There are four different upgrade types:

Camouflage Upgrade

This upgrade allows you to disguise the router as another block. Sneak+Right-click the router against a block to record that block on the camouflage upgrade. When inserted into a router, that router will take on the appearance of the recorded block.

  • Not all blocks can be used. In general, any block with a simple model (doesn't have to be a full cube) will work, but some more complex block models will either refuse to copy or render as a empty cube.

Range Upgrade

This upgrade only affects the following modules:

  • Extruder Module
  • Sender Module Mk1
  • Sender Module Mk2
  • Vacuum Module

Each installed Range Upgrade increases the range of those modules by 1 block up to a module-specific hard maximum; see individual module documentation for more details.

Stack Upgrade

By default, a router operates on a single item at a time, even if there is more than one item in the buffer. For example, a Puller module will pull one item from an adjacent inventory, even if there's a whole stack available in that inventory.

By adding Stack Upgrades to a router, this can be increased. Each Stack Upgrade doubles the number of items that can be processed, up to a maximum of 64, or the item's native stack size (e.g. 16 for Ender Pearls). It therefore follows that 6 is the maximum number of useful Stack Upgrades which can be installed in one router.

Speed Upgrade

By default, a router ticks every 20 server ticks, or once per second. On each tick, every installed module is executed in order, left to right.

If you need a router to operate faster than this, you can add Speed Upgrades; each Speed Upgrade reduces the tick interval by 2 server ticks, down to a minimum of every 2 server ticks (or 10 times per second). The base tick rate, tick increase per upgrade, and hard minimum tick rate are all configurable in the module's config.

Note that for performance reasons, Stack Upgrades should always be preferred over Speed Upgrades where possible; use Speed Upgrades judiciously and only where absolutely required for maximum item transfer rate. Be Kind To Your Server (tm).

Security Upgrade

This module, when inserted, will restrict the players who can open the router's GUI. By default, it only permits the player who crafted the upgrade.

  • You can add extra players to a Security Upgrade by right-clicking the player with the upgrade in your main hand.
  • You can remove players from a Security Upgrade by shift-right-clicking the player.
  • There is a maximum of 6 additional players per Security Upgrade (so 7 in total, including the creator), but you can install more than one Security Upgrade in a router if necessary.
  • The Security Upgrade does not prevent a router being broken by a player; but since upgrades and modules remain in a broken router, players can't break a router to steal modules/upgrades or reconfigure the router (when the router is placed back down, the Security Upgrade remains installed). If you want to prevent a router being broken, you may wish to explore other mods' block protection capabilities.
  • There is a non-craftable item called the Security Override Card - this can be obtained in creative mode or cheating the item in via JEI etc. A player who holds one of these in either hand is not affected by any Security Upgrade, and can access any router.
Clone this wiki locally