Jump to content

Help with Multiblocks


Jacat218

Recommended Posts

Hello I am trying to make a multi block for my mod. The multi block I am trying to make changes model when formed it also has a gui that stores the data to a master. If this is at all possible please help I have been working on this for a month and i have deleted my project multiple times i just restarted and I am getting frustrated. Thanks

Link to comment
Share on other sites

When the block detects it is in the correct structure you should change a property in the block state (using setBlockState in World), or use getActualState in your block class). Then your blockstate json file can detect if the block is in a different state and point to a different model file.

 

Look at redstone wire. It has to detect whether there are redstone components nearby.

catch(Exception e)

{

 

}

Yay, Pokémon exception handling, gotta catch 'em all (and then do nothing with 'em).

Link to comment
Share on other sites

Would this work for the forming of the multiblock.

 

 public void onNeighborBlockChange(World world, int x, int y, int z , Block neighborBlock){
        updateMutiBlockStructure(world,  x, y, z);
    }

    public void onBlockAdded(World world, int x, int y, int z){
        updateMutiBlockStructure(world,  x, y, z);
    }

    public void updateMutiBlockStructure(World world, int x, int y, int z){
        isMutiBlockStructure(world,  x, y, z);
    }

    public boolean isMutiBlockStructure(World world, int x1, int y1, int z1){
        boolean mStructure = false;
        boolean currentCheckStructure = true;


        for(int x2 = 0; x2 < 3; x2++){
            for(int z2 = 0; z2 < 3; z2++){
                if(!mStructure){
                    currentCheckStructure = true;

                    for(int x3 = 0; x3 < 3; x3++){
                        for(int y3 = 0; y3 < 1; y3++){
                            for(int z3 = 0; z3 < 3; z3++){
                                if(currentCheckStructure && !world.getBlock(x1+x2-x3, y1+y3, z1+z2-z3).equals(ModBlocks.blockLaunchPad)){
                                    currentCheckStructure = false;
                                }
                            }
                        }
                    }

                    if(currentCheckStructure){
                        for(int x3 = 0; x3 < 3; x3++){
                            for(int y3 = 0; y3 < 1; y3++){
                                for(int z3 = 0; z3 < 3; z3++){
                                    world.setBlockMetadataWithNotify(x1+x2-x3, y1+y3, z1+z2-z3, x3*3+z3+1, 2);
                                }
                            }
                        }
                    }
                }
                mStructure = currentCheckStructure;
            }
        }
        if(mStructure) return true;

        if(world.getBlockMetadata(x1, y1, z1) > 0) world.setBlockMetadataWithNotify(x1, y1, z1, 0, 3);

        return false;
    }

Link to comment
Share on other sites

I am not working on 1.7.10 I am on 1.8 that code is from a old failed project i have. what code do you need to help I am not new to modding but I may have tried to learn to many programming languages at one time I am also 13 and want to be a software engineer. If there any way you can help Thanks

Link to comment
Share on other sites

Hello I am trying to make a multi block for my mod...

Pls excuse me for being thick, but what do you mean by "multiblock"? Are you inventing a new golem? If so, then familiarize yourself with (and imitate) how the vanilla code makes golems.

The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.