# [1.8] Get chunk Coords [SOLVED]

## Recommended Posts

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"

##### Share on other sites

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.

Also, author of RenderTo

----

I'm not an English native speaker. I just try my best.

##### Share on other sites

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.

##### Share on other sites

So that get's me the chunk numbers 9 and 13, but what about the 0-15 inside of them?

##### Share on other sites

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.

##### Share on other sites

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);
}```

##### Share on other sites

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.

Also, author of RenderTo

----

I'm not an English native speaker. I just try my best.

##### Share on other sites

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.

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.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.

×   Pasted as rich text.   Restore formatting

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

• ### Posts

• Finally, I fixed it and now it's working
• Ok, so my friend has been trying to enter my minecraft modded server but he keeps getting these errors: Internal Exception: java.lang.StringIndexOutOfBoundsException: offset 108, count 101, length 141 and Internal exception: net.minecraft.class_151: Non [a-z0-9/._-] Character in path of location: minecraft:daf\uFFFD\uFFFD\uFFFD\uFFFD\\U\uFFFD\u00115\u0011\uFFFDzK\uFFFDQo, \uFFFD\uFFFD)\uFFFd\uFFFD( Logs: https://mclo.gs/AQjtPE8
• I figured out that the issues was due to using the wrong version of https://www.curseforge.com/minecraft/mc-mods/werewolves-become-a-beast  thank you Ughar for telling me that I sent the logs wrong, I will keep that in mind for next time I experience an issue
• can someone help me out I'm trying to figure out why I cannot mind nothing with a pickaxe I tried every type of pickaxe and i'm still not get any material on mine a block plz help ps and i add Load My F***ing Tags and still nothing
• Hi! This is my first time creating a mod in Minecraft. It will be for personal use, and the goal is to play creepy/scary music at night. I want it to play without overlapping with Minecraft music (C418, etc.). I have almost finished it, but I don't know how to detect if Minecraft music is playing. I tried accessing a "currentMusic" variable in the MusicManager class via reflection, but it doesn't work.   Class<?> musicManagerClass = musicManager.getClass(); java.lang.reflect.Field currentMusicField = musicManagerClass.getDeclaredField("currentMusic"); currentMusicField.setAccessible(true); currentMusic = (SoundInstance) currentMusicField.get(musicManager); Does anyone know how to do it?

• ### Who's Online (See full list)

×

• #### Activity

×
• Create New...