making a Multi-Block Machine (3x3x3 furnace)

Started by AHLZ on

Topic category: User side tutorials

Last seen on 20:09, 27. Aug 2023
Joined Dec 2015
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
making a Multi-Block Machine (3x3x3 furnace)

Hello everyone, first sorry for my english (i'm brazilian), but let's go, in this tutorial i will show how to make a 3x3x3 furnace (Like the coke oven of immersive engineering, but more, very more simple).

First we need understand the X, Z axys of minecraft.
Image about the X,Y Axys (Yeah, i'm bad in paint), basically: N= -Z, S= +Z, E=+X, W= -X. It's important for we undestand what coordinate is each block

 

Next step: define the "frame" blocks and the Machine_controller, in the case of furnace make a desactivated machine-controller and a activated machine-controller, i go use bricks as frame
Next: define the direction (N, W, S, E) of your controller, in my case my machine controller is more for the west, this is important for the procedure, it's only work if your machine-controller is in the extreme west of machine. BUT IS POSSIBLE TO MAKE FOR ANYONE DIRECTION (but i don't show in this tutorial)

Let's make the procedure for desactivated machine-block: we need verify if each "block frame" is in your locale, for this we need a tick update procedure(remember, the machine controller is the localization X=0, Y=0, Z=0 in the procedure)furnace procedure

furnace
I enumerated the columns to facilitate understanding: for verify the blocks of first column, we need reduce -1 in Z([X, Y, Z-1] [X, Y+1, Z-1] [X, Y-1, Z-1], for the center column, Y+1 and Y-1 (Machine controller in the center) and for the third column Z+1([X, Y, Z+1] [X, Y+1, Z+1] [X, Y-1, Z+1], and the X axys is for go to back columns, Back of the machine controller, and if all this procedure is true, replace block(place the activated machine-controller)
furnace procedure

This is the procedure for the tick-update of activated machine-block, i separated my machine in "layer" the first layer is X, second is X+1 and third is X+2, and for each layer i make a separated if, in this case i need 3 else, one for each if, with a replace block(place desactivated machine-controller) in each else.
Machine GUI REMEMBER TO LINK THE GUI WITH THE ACTIVATED AND DESACTIVATED MACHINE-CONTROLLER

The slot 00 is the input of coal, 01 output of coal coke, 02 input of bottles, 03 is the output of bottles with creosote oil. text label: <BNBT:number:cresote oil> is for show the player the amount of cresote oil is in the machine.

Let's make the process in the tick update procedure of activated block-machine:

Process procedure

1- We need verify if has a coal in the slot 00 of gui AND if the output is not full

2-if the 1 is true, remove one item of slot 00(remove a coal)

3- Get the number of coal cokes in the output and add one coal coke

4- verify if the amount of creosote oil is less than 1000

5- Set the cresoste oil NBT +100

6-Verify if the amount of cresoste oil is more than 1000

7- set creosote oil to 1000

8-verify if is a bottle in slot 2 AND if output is not full

9- Verify if the amount of creosote oil is equal or more of 250

10- remove one item of slot 2 (remove a bottle).

11- Get the number of bottles with creosote oil in the output and add one bottle with creosote oil.
12 - Reduce the amount of creosote oil in the machine by 250.

AND AFTER OF ALL THIS THINGS, WE GO TEST THE MACHINEEEEEEEEEEEEEEEEEEEE!!!!!!!!!!!!!!!!!!!

test machine

And after all, it's WORK!!

Everyone, again, sorry for my english i'm trying to learn this language, and if you want i have a youtube channel: ALSupremeMake: https://www.youtube.com/channel/UCsKJBuEY50lLQWo7DoDDhow

thanks for all, it's my first tutorial in english and in this forum i hope you like it,

Byee :)

Last seen on 04:35, 17. Jan 2021
Joined Sep 2019
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Noice!
Tue, 06/23/2020 - 04:12

Noice!

Last seen on 11:50, 6. Nov 2021
Joined Jul 2019
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
wooooooow 
Wed, 02/24/2021 - 11:00

wooooooow 

Last seen on 16:12, 23. Mar 2024
Joined Jul 2023
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
And what about multi-block…
Mon, 07/31/2023 - 14:08

And what about multi-block structures, which, when properly assembled, are replaced by a model .. how to be? how is the model made, etc. logic?

Last seen on 20:09, 27. Aug 2023
Joined Dec 2015
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
You can make a model in…
Sun, 08/27/2023 - 20:09

You can make a model in blockbench with multi-blocks, and when the players complete the "raw machine" he can right click in block and a procedure check all the blocks on right click event, if the blocks is ok you replace it with the model.

Last seen on 16:12, 23. Mar 2024
Joined Jul 2023
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
You can make a model in…
Sun, 10/15/2023 - 07:51

You can make a model in blockbench with multi-blocks, and when the players complete the "raw machine" he can right click in block and a procedure check all the blocks on right click event, if the blocks is ok you replace it with the model.

M.. let's say. It doesn't work like that... I had a rune as a model. 3x3 blocks and a thickness close to the carpet. In the editor itself, I specified its size as 48x48 in width and depth. And here the problem is that nothing prevents you from sticking the block into the aisles of the frame, looking not at the floor but at the wall nearby... so it turns out that it takes up space... the block itself with the model... but not the neighboring ones. Also, the answer does not reveal the secret of where regular blocks go when replaced with a general model... or how the model then realizes that it has been broken and needs to return to the set of blocks.