Posted February 9, 201312 yr I asked on here if air blocks were actual block-objects that could have methods and properties some time ago, and the answer I got was "yes". Now I'm trying to add some code to the air block, but I can't seem to... find it. It isn't really defined anywhere. Material.java defines the material, but there doesn't seem to be any object representing a specific air block that I can mess with. Does anyone have any idea how to make this work? This is the first thing I've ever done with Forge besides doing tutorials, and I don't really understand how anything works.
February 9, 201312 yr That is a bit of problem if you need a specifc air block instance, but if you want to check if its an air or not, world class provides function just for that World.java > 431 Line. Heres cutout of it. /** * Returns true if the block at the specified coordinates is empty */ public boolean isAirBlock(int par1, int par2, int par3) { int id = getBlockId(par1, par2, par3); return id == 0 || Block.blocksList[id] == null || Block.blocksList[id].isAirBlock(this, par1, par2, par3); } Hope I helped in any way, one way you could do this is check every users location via server tick event and check as whatever they are in specifc biom and are in air or whatever and then just do what ever you wanted with them. Just an idea.... ~I was here~
February 9, 201312 yr Author Yeah, I saw that, but unfortunately it isn't very helpful. I need the air to actually do something. It's for a mod that adds air temperature simulation to the game, so I mostly need to add one int holding the temperature value and one method doing the simulation.
February 9, 201312 yr then just check if hasNoSky is false (its a boolean that tells when the player its on surface or not, i think its in world or world provider).
February 9, 201312 yr Author The problem is, that air is not a block. Read here, he should know it http://notch.tumblr.com/post/760983716/my-worst-code-design-decision So: You need to do it differently Dang! That's what I was worried about from the start. Maybe I could set it up as an array with each entry representing an air block instead. Hmm.
February 9, 201312 yr just check to see if hasNoSky is false. minecraft use this boolean to create a random spawn point in surface (u can take a look how minecraft create this spawn point, because it only creates at surface, but the better way it just see, if hasNoSky returned false, u do the temperature things, the most real way, its getting the biome temperature and checking if is raining or not.
February 9, 201312 yr Author That's not very helpful though, because it needs to be done on a block-by-block basis.
February 10, 201312 yr air blocks are inifnity, they still generate even if the world stop generating
February 10, 201312 yr Author air blocks are inifnity, they still generate even if the world stop generating ... Eh? How does that work? I'm planning on only doing the simulation for air blocks that can't see the sky, of course.
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.