HomeJavaModsRedstone Circuit Board
Redstone Circuit Board
[​IMG]
This plugin requires MapPainting higher than version 1.5.6b as API for map interaction. Please ensure that you have map painting before you run this plugin.

This plugin DOESN'T works in Minecraft under 1.8.

github: https://github.com/aegistudio/MapCircuitBoard


overview.png
(The photo of ENIAC and PC are from Wikipedia)
[​IMG]
80 years ago, USA has invented ENIAC.
This vacuum tube computer occupying 2 classrooms computes 5000 times per second.

[​IMG]
Now you browse this page with your computer. It definitely don't need 2 classrooms to place.
But computes much faster. This is the power of integrated circuit.​

[​IMG] [​IMG]
A redstone circuit of complete logic used to be massive.
But this plugin place many mechanics in a single circuit board.
Small but fast, that's why you choose this plugin.


command_out.png
For a kick-start, I recommend you to create an integrated board.
[​IMG]
To create such board, issue command /mpp create integrated <board_name>. The command is long? Why not use tab-complete?

[​IMG]
Seeing such message, with a new enchanted painting in your inventory, you have successfully create that board.

[​IMG]
Right click on side face of a block, you will place that circuit board.

[​IMG]
Now try to place some redstone gear on the board, and watch them rock!
Just imagine a 32x32 plane in minecraft squeezed into one board. I think that won't be hard for any redstone player!
Make sure that you have read the 'Component' section of this tutorial before you ask.

Spoiler: LegacyTutorial
This section introduces basic usages, from creating a scheme, to deploy your circuit board. Everything would be just decent.
1 Create Scheme
Spoiler: CreateScheme
A scheme is where you could design your circuit board.
[​IMG]
Use command /mpp create scheme <your_scheme_name> you would create a scheme.

[​IMG]
Very easy, isn't it?
2 Design Circuit
Spoiler: DesignCircuit
You need to place the scheme you got onto a wall before you could design your circuit!

[​IMG]
While designing, you need to hold your a redstone item (like a redstone powder, redstone torch, lever, etc.) in your hand.
  • When you left click on the scheme, the component you're pointing at (if any) will be removed.
  • When you right click on the scheme, you will place your holding component or change the component state you're pointing at.
3 Deploy Circuit
Spoiler: DeployCircuit
You must be upset that the scheme you design doesn't work instantly. And you're turning to the author to report that there's a huge bug.
Wait, it's not a bug. The scheme you design is just the layout, you will need to manufacture circuit board to deploy that.
[​IMG]
By typing /mpp create circuit <your_scheme_name>, you will get a circuit board item for the scheme.

[​IMG]
Then you could place the circuit any where you want it to be!
And it will work where you place it.

components_out.png
Here comes the list of redstone components. (Specially thanks Minecraft Wiki for providing images.)
(I'm sorry but the BB code of spigotmc doesn't support table.)
Each component has its name, with which could place it (Item), how does it work (Description) and what will happen when you right click on it (Right-Click).
tutorial_out.png
This section introduces the components that you could place, and how to create a magnificent circuit.
1 The Pin
Spoiler: Pin
The idea of pin comes from the chip. A chip use its pin to receive or emit signal with other components on circuit board.
[​IMG]
In our plugin, the pin transfer redstone signal with its neighbouring blocks or circuit boards.

[​IMG]
To place a pin, use [​IMG]stone button (not redstone lamp, sorry for bewildering) at the map, so it will be place at where you point at.

There're two types of pin in general:
  • Input Pin (Yellow): receive signal from its neighbouring board or block.
  • Output Pin (Gray): emit signal to neighbouring board or block.
The pin should be placed at the border of the circuit board, otherwise it won't be able to work.
The word neighbouring means those who are adjacent to the block where the circuit board occupied.
(In the first picture, the redstone lamp is neighbouring to the right circuit board, and the left and right circuit board are adjacent.)

Please notice that the pin doesn't work well when communicating with other redstone components. The APIs of different Minecraft version have incoherence. So some function works well in some version doesn't guarantee working in other version.
2 Overclocking
Spoiler: Overclocking
The word 'Overclocking' means to raise the clock rate of a CPU when it comes to computer circuits.

In your plugin, overclocking means to raise the refresh frequency of our circuit. By default, our circuit will refresh once per server tick. But you are allowed to set this refresh rate to more than once.

To overclock, you just need to set the internalTick in the config.yml to more than 1, and then reload the server. Then the circuit board will run at the frequency you want.

Overclocking will consume more CPU resources, obviously. So the TPS of your server may descend when overclocking.
And setting the internal tick too large may even cause your server side application to stop running. So use at your own risk.
It's fair to set the internal tick to less than 20, which will bring you the profit of overclocking without affecting your server side performance violently.
3 Command Block
Spoiler: CommandBlock
Hello folks. This update brings us the command block into the circuit board. The most terrifying function of Minecraft.
[​IMG]
You should use a command block item to place the command block. You should have mcb.cmdblock permission before you do anything future with command block.

[​IMG]
By right-clicking on the the command block, the detailed information of this command block is shown, including who has just edited the command block, the command you set, the last output of this command block, and whether this command block is emiting power. (I'm sorry that it is confirmed impossible for a plugin to open a command block GUI, it's completely a client side action :p).

[​IMG]
To set the command of the command block, you should use the command /mppctl cmdblock update <new command>. In this picture, I use /testfor @a to test whether there's anyone online.

[​IMG]
A command block need power to activate (execute its inner command if set), and emit its power if adjacent to a comparator.

To demonstrate how it works, I even add a clock circuit to activate, and two more command block for output. Then I deploy the circuit.

[​IMG]
Firstly I left the game. Then the upper command is activated, its output is 'no' as I set its command to '/me no'.

[​IMG]
Then I join back to my server. The command block detects my join, and activate the lower command block, outputing 'yes' as I set its command to '/me yes'.

[​IMG]
Finally I have to warn you that this function is so powerful, that it is possible to summon such 'ender crystal drill' in a few seconds by using /summon EnderCrystal ... Do whatever you like, but use it at your own risk.

permission_out.png
Permissions:

Configuration:

changelog_out.png
1.5 (Command Block Update)
  1. Adding command block, you could set a command in the component, and impulse to execute the command, just like a Minecraft command block.
  2. Auto localizing based on language setting of the server. Supporting both English and Simplified Chinese currently.

1.4 (Tick Algorithm Optimization)
  1. Optimize tick algorithm of the circuit board. The new algorithm is about 20 times faster under overclocking circunstum.

1.3 (Overclock Update)

  1. Supporting overclocking, you could configure the overclock rate and policy (synchronous or asynchronous)
  2. Adding permissions, restrict players' obtaining schemes or circuit boards.

1.2
  1. Adding comparator, supporting both comparative and subtractive mode.
  2. Adding repeater, supporting 4-tiers of lags (1 tick to 4 tick), and supporting hatched by another repeater or comparator.
  3. Adding bi-directional insulated wire. Which prevent redstone power from insulated side from getting into the wire.
  4. Fixed bugs related to pin-redstone powering. Like redstone torch may drop when powered, and redstone wire may fail to propagate power.
  5. Supporting strong-powering adjacent blocks.
  6. Display level of redstone power in pins.

1.1 (Pin Update)

  1. You could now place pin to communicate with neighbouring block or circuit boards.
  2. Change what the redstone torch looks like.
  3. Improve the interaction experiment.

1.0 (Initial Version)
  1. You could now create schema and circuit board!
  2. You could add wire, torch, switch and button to the circuit!
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Redstone Circuit Board is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9. Downloaded 1,070 times (via Spigot). Download it and open it directly in the game.

Explore more