Posted October 3, 201410 yr I Was Trying To Make A Structure Spawn In The World Like Nether Bridge Or The Village But I Have No Idea How Help
October 3, 201410 yr I've coded my own structure generator, but it isn't really ready to share. There are some others out there you may want to look at. But here is the the general approach. First of all, you need to decide whether your structures are made of "regular" pieces (like straight walls, perfect boxes, etc.) or irregular. If they are regular, you can make methods for each regular part like generateWall() or generateHollowCube(). These would simply consist of nested for loops that cycle through all the locations and place the desired block. I personally tend to have irregular structures. So in that case I use a "schematic" method. This means I have a file that basically maps out the placement of every block. Then my generation method simply reads the file and places blocks as indicated. There are several tricks though. First of all, a structure has a LOT of blocks in it. A 20 x 20 x 20 room could have 8000 blocks! So at the time of generation there can be significant lag. I have worked on a way where the structure is built over several game ticks so that there is no lag, but frankly it is an intermediate programming level to get this right. Also, because there are so many blocks, you need to use an external text file for the schematic -- otherwise you'll reach the limit of the size of a Java class. Secondly, the order that you place some blocks matter, like if you try to place a torch before there is a wall to attach it it will cause trouble. So I actually do three "passes" in the generation. First I place all the regular blocks with no metadata that are also not special (I'll explain that in a sec). Then I place blocks with metadata. Then I place some special blocks like tripwire. If you place tripwire before there is ground to place it on, it will just become an EntityItem rather than proper block. Thirdly, rotation of a structure is EXTREMELY difficult because unfortunately the metadata is not consistent. Rotating a bed to the East is different than rotating a door to the East, so you have to do a huge number of if statements to get it right. I personally find it easier to make separate schematics that are already rotated than to have one schematic and try to rotate it via code. But generally the idea is simple -- create a schematic in a text file (make this an asset resource), read the file back and place the blocks according to the schematic. Check out my tutorials here: http://jabelarminecraft.blogspot.com/
October 4, 201410 yr Author Thanks For All Of This But I Want To Know Another Thing How To Spawn The Structure In The World And Thanks
October 4, 201410 yr A structure is just a bunch of blocks, so you just place blocks like you would normally with the world.setBlock() method. Check out my tutorials here: http://jabelarminecraft.blogspot.com/
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.