1
0
mirror of https://github.com/p2r3/bareiron.git synced 2025-10-01 23:25:09 +02:00

spawn players at terrain height level

This commit is contained in:
p2r3
2025-08-12 13:07:42 +03:00
parent d2409ec0f5
commit 3b9ca68a57
4 changed files with 21 additions and 7 deletions

View File

@@ -7,6 +7,7 @@
#include "globals.h"
#include "varnum.h"
#include "packets.h"
#include "tools.h"
static uint64_t htonll (uint64_t value) {
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
@@ -144,9 +145,7 @@ int reservePlayerData (int client_fd, char *uuid) {
if (empty) {
player_data[i].client_fd = client_fd;
memcpy(player_data[i].uuid, uuid, 16);
player_data[i].x = 8;
player_data[i].y = 80;
player_data[i].z = 8;
player_data[i].y = -32767;
return 0;
}
}

View File

@@ -7,6 +7,7 @@
#include "globals.h"
#include "tools.h"
#include "registries.h"
#include "worldgen.h"
uint32_t getHash (const void *data, size_t len) {
const uint8_t *bytes = data;
@@ -50,8 +51,6 @@ int getCornerHeight (uint32_t hash) {
}
#define chunk_size 8
int interpolate (int a, int b, int c, int d, int x, int z) {
int top = a * (chunk_size - x) + b * x;
int bottom = c * (chunk_size - x) + d * x;

View File

@@ -3,7 +3,10 @@
#include <stdint.h>
#define chunk_size 8
uint32_t getChunkHash (short x, short z);
int getHeightAt (int rx, int rz, int _x, int _z, uint32_t chunk_hash);
uint8_t getBlockAt (int x, int y, int z);
void writeChunkSection (int client_fd, int _x, int _z, int i);
#endif