2b2t_Nocom_Overworld_Heatmap.png
Size of this preview:
800 × 450 pixels
.
Other resolutions:
320 × 180 pixels
|
640 × 360 pixels
|
1,024 × 576 pixels
|
1,280 × 720 pixels
|
2,560 × 1,440 pixels
|
7,680 × 4,320 pixels
.
Summary
Description 2b2t Nocom Overworld Heatmap.png |
English:
Data collected from the Nocom exploit from March 2020 to July 2021. This was a coordinate exploit that allowed player movements to be tracked, and this image is a heatmap of every hit from said player tracking. Dark spots are locations where a lot of time was spent, such as a location where a player was building something, or a location that people commonly would travel through, such as the axes/diagonals. This data is from X = -245760 to X = +245759 on horizontal, and Z = -138240 to Z = +138239 on vertical, from 2b2t's Overworld, downscaled to 8K resolution.
|
Date | |
Source | Own work |
Author | Leijurv |
Image generated by the following code:
public static void makeHeatmap(int radius) throws Exception {
Scanner scan = new Scanner(new File("/Users/leijurv/Downloads/heatmap_overworld_full.csv"));
// from -radius to +radius-1
BufferedImage output = new BufferedImage(radius * 2, radius * 2, BufferedImage.TYPE_BYTE_GRAY);
WritableRaster raster = output.getRaster();
SampleModel model = raster.getSampleModel();
DataBuffer buffer = raster.getDataBuffer();
for (int x = 0; x < 2 * radius; x++) {
for (int y = 0; y < 2 * radius; y++) {
model.setSample(x, y, 0, 255, buffer);
}
}
int i = 0;
while (scan.hasNextLine()) {
if (++i % 1000000 == 0) {
System.out.println(i);
}
String line = scan.nextLine();
String[] split = line.split(",");
int chunkX = Integer.parseInt(split[0]);
int chunkZ = Integer.parseInt(split[1]);
int imageX = chunkX + radius;
int imageY = chunkZ + radius;
if (imageX < 0 || imageX >= 2 * radius || imageY < 0 || imageY >= 2 * radius) {
continue;
}
int weight = Integer.parseInt(split[2]);
int color = 255 - (int) (50 * Math.log(weight)) - 50;
if (color < 0) {
color = 0;
}
if (color > 255) {
color = 255;
}
model.setSample(imageX, imageY, 0, color, buffer);
}
File o = new File("/Users/leijurv/Downloads/heatmap_overworld_full.png");
ImageIO.write(output, "png", o);
}
Then I cropped it and downscaled it with vips.
Licensing
I, the copyright holder of this work, hereby publish it under the following license:
This file is licensed under the
Creative Commons
Attribution-Share Alike 4.0 International
license.
-
You are free:
- to share – to copy, distribute and transmit the work
- to remix – to adapt the work
-
Under the following conditions:
- attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.