Posted August 22, 201312 yr I'm using this code to determine temperature if(isPowered()) temperature += 1.0F; temperature -= getCoolant(worldObj, xCoord, yCoord - 1, zCoord); temperature = ((float) Math.ceil(temperature * 5) / 5.0F); if(temperature < 0.0F) temperature = 0.0F; and here's the getCoolant() method public float getCoolant(World world, int x, int y, int z) { float coolant = 0.0F; for(int i = -1; i < 2; i++) { for(int j = -1; j < 2; j++) { int block = world.getBlockId(x + i, y, z + j); if(block == Block.waterMoving.blockID || block == Block.waterStill.blockID) { coolant += 0.2F; } else if(block == Block.lavaMoving.blockID || block == Block.lavaStill.blockID) { coolant -= 0.2F; } else if(Block.blocksList[block] != null && Block.blocksList[block] instanceof BlockFluidBase) { BlockFluidBase liquid = (BlockFluidBase) Block.blocksList[block]; Fluid fluid = liquid.getFluid(); if(fluid != null) { if((float) fluid.getTemperature(world, x + i, y, z + j) < getTemperature()) coolant += 0.2F; else coolant -= 0.2F; } } } } return coolant; } but in the gui it shows up as x.6 then x.2 then x.0 then x.6 then x.2 then x.0 then... so I was wondering if anyone knows how I could get this to work better correctly? currently 2/9 spots are obstructed if that helps. also, the liquid being used is water, so the BlockFluidBase part of the method doesn't matter.
August 22, 201312 yr If this is simply a Java question, this would be a much better fit for StackOverflow. In fact, I'll bet you anything it's already been answered there! I like to make mods, just like you. Here's one worth checking out
August 22, 201312 yr Author funny thing, I was looking on the internet for such a solution and didn't find a working one. :-( I'll try again. but let me know if you come up with anything.
August 22, 201312 yr I figured out a solution on my own. Would you mind sharing the concept behind your solution? I can't be bothered to work it out from scratch I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes. I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there
August 22, 201312 yr well logicly its roughly float x = wtv; round = ((int)((wtv+0.1)*5))/5f; how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 22, 201312 yr you need flow control if the temperature is negative though :\ like i said that "roughly" the formula how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 22, 201312 yr or dont have negative temperature (degree kelvin ?) how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 22, 201312 yr problem solved ! how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
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.