Posted May 15, 201510 yr Where in net.minecraft, or net.minecraftforge, would i look to gather the Chunk coordinates? Like the F3 screen shows. "Chunk: 14 4 11 in 9 4 13"
May 16, 201510 yr Simply divide x, y, z coords by 16 you will get chunk coords int x = 1000, y = 64, z = 1000; int chunkx = x >> 4; int chunky = y >> 4; int chunkz = z >> 4; Author of Tao Land Mod. http://taoland.herbix.me/images/1/14/TaoLandLogo.png[/img] Also, author of RenderTo ---- I'm not an English native speaker. I just try my best.
May 16, 201510 yr Simply divide x, y, z coords by 16 you will get chunk coords int x = 1000, y = 64, z = 1000; int chunkx = x >> 4; int chunky = y >> 4; int chunkz = z >> 4; You do not need to calculate chunkY, as a chunk is from y=0 to y=255. Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/
May 16, 201510 yr Author So that get's me the chunk numbers 9 and 13, but what about the 0-15 inside of them?
May 16, 201510 yr You can get the using blockPositionX & 15 , the same for Z; Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/
May 17, 201510 yr Author Thank you. I was expecting something similar to the biome name thing. Anyways, if anyone wants the code for chunk information, here it is. int chunkX = GetXCoordinate() / 16; int chunkY = GetYCoordinate() / 16; int chunkZ = GetZCoordinate() / 16; int inChunkX = GetXCoordinate() % 16; int inChunkY = GetYCoordinate() % 16; int inChunkZ = GetZCoordinate() % 16; String daChunk = ("" + Integer.toString(inChunkX) + " " + Integer.toString(inChunkY) + " " + Integer.toString(inChunkZ) + " in " + Integer.toString(chunkX) + " " + Integer.toString(chunkY) + " " + Integer.toString(chunkZ)); mc.fontRendererObj.drawString("C: " + daChunk + "", 2, 32, 0xffffff); protected static Minecraft mc = Minecraft.getMinecraft(); /** Get Player Coordinates */ public static int GetXCoordinate() { return (int) Math.floor(mc.thePlayer.posX); } public static int GetYCoordinate() { return (int) Math.floor(mc.thePlayer.posY); } public static int GetZCoordinate() { return (int) Math.floor(mc.thePlayer.posZ); }
May 17, 201510 yr As an addendum: Those 2 may seem like magic (chunkX = x >> 4 and inChunkX = x & 15). The actual operations you want are chunkX = x / 16 and inChunk = x % 16 - Division and modulus. Those make much more sense. They are equivalent to the above bit-hacks which are just a performance optimization. There's a little difference between x >> 4 and x / 16 if x < 0 , since (-1 >> 4) == -1 while (-1 / 16) == 0 . The same thing occurs on & and % . (-1 & 15) == 15 while (-1 % 16) == -1 . To get correct chunk coords efficiently, >> and & are necessary. Author of Tao Land Mod. http://taoland.herbix.me/images/1/14/TaoLandLogo.png[/img] Also, author of RenderTo ---- I'm not an English native speaker. I just try my best.
May 17, 201510 yr To get correct chunk coords efficiently, >> and & are necessary. Yes, yes they are, as I discovered one night. 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.