#pragma once #include "pxl8_chunk.h" #include "pxl8_chunk_cache.h" #include "pxl8_entity.h" #include "pxl8_gfx.h" #include "pxl8_math.h" #include "pxl8_net.h" #include "pxl8_types.h" #ifdef __cplusplus extern "C" { #endif typedef struct pxl8_world pxl8_world; pxl8_world* pxl8_world_create(void); void pxl8_world_destroy(pxl8_world* world); pxl8_chunk_cache* pxl8_world_chunk_cache(pxl8_world* world); pxl8_chunk* pxl8_world_active_chunk(pxl8_world* world); void pxl8_world_set_active_chunk(pxl8_world* world, pxl8_chunk* chunk); pxl8_block_registry* pxl8_world_block_registry(pxl8_world* world); pxl8_entity_pool* pxl8_world_entities(pxl8_world* world); pxl8_entity pxl8_world_spawn(pxl8_world* world); bool pxl8_world_check_collision(const pxl8_world* world, pxl8_vec3 pos, f32 radius); pxl8_vec3 pxl8_world_resolve_collision(const pxl8_world* world, pxl8_vec3 from, pxl8_vec3 to, f32 radius); void pxl8_world_update(pxl8_world* world, f32 dt); void pxl8_world_render(pxl8_world* world, pxl8_gfx* gfx, pxl8_vec3 camera_pos); void pxl8_world_sync(pxl8_world* world, pxl8_net* net); #ifdef __cplusplus } #endif