Jump to content

[1.7.10] [SOLVED] How to make a block that is not 1x1x1?


Recommended Posts

Posted

I don't even know the name of the topic, so I can't really google something like that. The mod I'm working on is like a poor man's BuildCraft. I'll try to implement the basics of BC minimizing network packet sending and updates. It is intended for hamachi servers.

How do I create a block like a BuildCraft pipe, that is smaller, probably like 1.0x0.3x0.3? I really suck at arts an everything that is not purely abstract, so I need I "how to build a non 1x1x1 block For Dummies". Could someone be kind enough to either point me to a dumbed down tutorial or write a few basics? Thanks

WIP mods: easyautomation, easyenergy, easyelectronics, easymoney, easytrasportation, easysecurity, easymultiverse, easyfactions, easymagick, easyalchemy, easyseasons

Posted

Block#setBlockBounds will work for this case. The coords given are local coordinates. It does what it says, however, which means that it only changes the collision box. I would suggest looking at modeling for a physically smaller block.

Posted

Oh lol I was assuming he already had the block rendering.  So yeah you could use an ISBRH and draw the block using the Tessellator to make it appear to be any size you want, and use Block#setBounds to make the collision match.

Posted

I want a block like a BuildCraft pipe. It is centered on all 3 axis. The block should not touch ground or ceiling. It's hard to explain unless you see one of those pipes.

WIP mods: easyautomation, easyenergy, easyelectronics, easymoney, easytrasportation, easysecurity, easymultiverse, easyfactions, easymagick, easyalchemy, easyseasons

Posted

Pipes should not be bigger then 1x1x1. A large pipe consists of multiple small pipes

 

yes. I don't want to make them bigger, but smaller. I want them to have a smaller collision box and to be drawn accordingly. I don't want each of my pipes to be a 1x1x1 cube, you see.

WIP mods: easyautomation, easyenergy, easyelectronics, easymoney, easytrasportation, easysecurity, easymultiverse, easyfactions, easymagick, easyalchemy, easyseasons

Posted

You should do it how vanilla does it, which is the bed.

Pipes should not be bigger then 1x1x1. A large pipe consists of multiple small pipes

 

Good job not reading the original post.

 

How do I create a block like a BuildCraft pipe, that is smaller, probably like 1.0x0.3x0.3?

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

You don't need to use a tessellator to make a "smaller than default" block.

Setting the block bounds to a lower value than 1.0 would also set the renderer to do the work inside these bounds.

A pipe would most likely be a tile-entity. Each instance of your block should change it's bounds in order to achieve the "connection" between the pipes.

Posted

Except that it won't work like that.  Imagine a corner piece.  You can't set any cuboid boundaries that result in an L shape.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Except that it won't work like that.  Imagine a corner piece.  You can't set any cuboid boundaries that result in an L shape.

 

Do you mean that this : http://prnt.sc/acd0a7 would happen?

How can you prevent that from happening?

Sorry if the image doesn't represent the case. That's what i thought it would happen.

Posted

Notice how that image is not a single cuboid, its three.

 

setBlockBounds() will only handle a single cuboid.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

My pipes won't connect to others (they are teleport pipes: 1 extractor paired with 1 inserter). They only change appearance according to their metadata, that is set the moment the pipe is placed, to indicate to which side is the inventory they are connected to.

 

I have a 1x1x1 cube working perfectly for both extractor and inserter, with all faces displaying an arrow relative to the connected inventory (the extractor displays an arrow that points away from the inventory, the inserter an arrow pointing towards the inventory). This proves my metadata logic is correct. I tried to use

Block#setBlockBoundsBasedOnState

but it turned adjacent sides of neighbor blocks invisible.

 

It kind of worked, if it wasn't for making stuff invisible. Is there something I'm missing?

WIP mods: easyautomation, easyenergy, easyelectronics, easymoney, easytrasportation, easysecurity, easymultiverse, easyfactions, easymagick, easyalchemy, easyseasons

Posted

You need to also set the block to not being opaque.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

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.

Announcements



×
×
  • Create New...

Important Information

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