From ea6a6acfbee85dd12048b1a31dffc194aa4d3473 Mon Sep 17 00:00:00 2001 From: Paula Date: Sat, 14 Mar 2026 19:16:25 -0300 Subject: [PATCH] Rename everything "tile" to "block" --- client/{tiles => blocks}/chest.ts | 4 ++-- client/{tiles => blocks}/crops.ts | 12 ++++++------ client/{tiles => blocks}/dirt.ts | 8 ++++---- client/{tiles => blocks}/furnace.ts | 4 ++-- client/{tiles => blocks}/grass.ts | 4 ++-- client/blocks/log.ts | 12 ++++++++++++ client/{tiles => blocks}/mod.ts | 0 client/blocks/sand.ts | 6 ++++++ client/blocks/snow.ts | 6 ++++++ client/blocks/stone.ts | 6 ++++++ client/{tiles => blocks}/tree.ts | 4 ++-- client/blocks/water.ts | 6 ++++++ client/components/dimension.ts | 4 ++-- client/main.ts | 2 +- client/systems/dimension_logic.ts | 6 +++--- client/systems/rendering/dimension.ts | 14 +++++++------- client/tiles/log.ts | 12 ------------ client/tiles/sand.ts | 6 ------ client/tiles/snow.ts | 6 ------ client/tiles/stone.ts | 6 ------ client/tiles/water.ts | 6 ------ common/constants.ts | 1 - common/everything_registry.ts | 14 +++++++------- 23 files changed, 74 insertions(+), 75 deletions(-) rename client/{tiles => blocks}/chest.ts (79%) rename client/{tiles => blocks}/crops.ts (90%) rename client/{tiles => blocks}/dirt.ts (90%) rename client/{tiles => blocks}/furnace.ts (92%) rename client/{tiles => blocks}/grass.ts (81%) create mode 100644 client/blocks/log.ts rename client/{tiles => blocks}/mod.ts (100%) create mode 100644 client/blocks/sand.ts create mode 100644 client/blocks/snow.ts create mode 100644 client/blocks/stone.ts rename client/{tiles => blocks}/tree.ts (78%) create mode 100644 client/blocks/water.ts delete mode 100644 client/tiles/log.ts delete mode 100644 client/tiles/sand.ts delete mode 100644 client/tiles/snow.ts delete mode 100644 client/tiles/stone.ts delete mode 100644 client/tiles/water.ts diff --git a/client/tiles/chest.ts b/client/blocks/chest.ts similarity index 79% rename from client/tiles/chest.ts rename to client/blocks/chest.ts index 7a8fca1..a23edd7 100644 --- a/client/tiles/chest.ts +++ b/client/blocks/chest.ts @@ -1,4 +1,4 @@ -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; import { Container, Inventory } from "../inventory.ts"; import { PlayerComponent } from "../player.ts"; import { GuiChest } from "$/client/gui/gui_chest.ts"; @@ -7,7 +7,7 @@ interface TileChestData { inventory: Inventory; } -EverythingRegistry.register>("blocks", "bworld:chest", { +EverythingRegistry.register>("blocks", "bworld:chest", { texture_id: "bworld:chest", has_collision: false, diff --git a/client/tiles/crops.ts b/client/blocks/crops.ts similarity index 90% rename from client/tiles/crops.ts rename to client/blocks/crops.ts index f3f4124..6dbdec8 100644 --- a/client/tiles/crops.ts +++ b/client/blocks/crops.ts @@ -1,4 +1,4 @@ -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; import { ItemStack } from "../inventory.ts"; import { PlayerComponent } from "../player.ts"; @@ -121,25 +121,25 @@ function create_crop_tile(crop_id: string) { crop.growth_time = 0; } }, - } as TileRegistry; + } as BlockRegistry; } -EverythingRegistry.register>( +EverythingRegistry.register>( "blocks", "bworld:tomato_crop", create_crop_tile("bworld:tomato"), ); -EverythingRegistry.register>( +EverythingRegistry.register>( "blocks", "bworld:carrot_crop", create_crop_tile("bworld:carrot"), ); -EverythingRegistry.register>( +EverythingRegistry.register>( "blocks", "bworld:potato_crop", create_crop_tile("bworld:potato"), ); -EverythingRegistry.register>( +EverythingRegistry.register>( "blocks", "bworld:pumpkin_crop", create_crop_tile("bworld:pumpkin"), diff --git a/client/tiles/dirt.ts b/client/blocks/dirt.ts similarity index 90% rename from client/tiles/dirt.ts rename to client/blocks/dirt.ts index 814d5ed..16fead9 100644 --- a/client/tiles/dirt.ts +++ b/client/blocks/dirt.ts @@ -1,8 +1,8 @@ -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; import { WateringCanData } from "../items/watering_can.ts"; import { PlayerComponent } from "../player.ts"; -EverythingRegistry.register("blocks", "bworld:dirt", { +EverythingRegistry.register("blocks", "bworld:dirt", { texture_id: "bworld:dirt", has_collision: false, @@ -16,7 +16,7 @@ EverythingRegistry.register("blocks", "bworld:dirt", { }, }); -EverythingRegistry.register("blocks", "bworld:hoed_dirt", { +EverythingRegistry.register("blocks", "bworld:hoed_dirt", { texture_id: "bworld:hoed_dirt", has_collision: false, @@ -50,7 +50,7 @@ EverythingRegistry.register("blocks", "bworld:hoed_dirt", { }, }); -EverythingRegistry.register("blocks", "bworld:hoed_watered_dirt", { +EverythingRegistry.register("blocks", "bworld:hoed_watered_dirt", { texture_id: "bworld:hoed_watered_dirt", has_collision: false, diff --git a/client/tiles/furnace.ts b/client/blocks/furnace.ts similarity index 92% rename from client/tiles/furnace.ts rename to client/blocks/furnace.ts index f086578..536f08e 100644 --- a/client/tiles/furnace.ts +++ b/client/blocks/furnace.ts @@ -1,4 +1,4 @@ -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; import { Container, Inventory, ItemStack } from "../inventory.ts"; import { PlayerComponent } from "../player.ts"; import { GuiFurnace } from "$/client/gui/gui_furnace.ts"; @@ -66,7 +66,7 @@ interface TileChestData { fuel: number; } -EverythingRegistry.register>("blocks", "bworld:furnace", { +EverythingRegistry.register>("blocks", "bworld:furnace", { texture_id: "bworld:furnace", has_collision: false, diff --git a/client/tiles/grass.ts b/client/blocks/grass.ts similarity index 81% rename from client/tiles/grass.ts rename to client/blocks/grass.ts index e3e9bd1..65f0cfd 100644 --- a/client/tiles/grass.ts +++ b/client/blocks/grass.ts @@ -1,7 +1,7 @@ -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; import { PlayerComponent } from "../player.ts"; -EverythingRegistry.register("blocks", "bworld:grass", { +EverythingRegistry.register("blocks", "bworld:grass", { texture_id: "bworld:grass", has_collision: false, diff --git a/client/blocks/log.ts b/client/blocks/log.ts new file mode 100644 index 0000000..1efe565 --- /dev/null +++ b/client/blocks/log.ts @@ -0,0 +1,12 @@ +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; + +EverythingRegistry.register("blocks", "bworld:log", { + texture_id: "bworld:log_side", + has_collision: true, +}); + +EverythingRegistry.register("blocks", "bworld:leaves", { + texture_id: "bworld:leaves", + has_collision: true, + transparent: true, +}); diff --git a/client/tiles/mod.ts b/client/blocks/mod.ts similarity index 100% rename from client/tiles/mod.ts rename to client/blocks/mod.ts diff --git a/client/blocks/sand.ts b/client/blocks/sand.ts new file mode 100644 index 0000000..cb6aa3e --- /dev/null +++ b/client/blocks/sand.ts @@ -0,0 +1,6 @@ +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; + +EverythingRegistry.register("blocks", "bworld:sand", { + texture_id: "bworld:sand", + has_collision: true, +}); diff --git a/client/blocks/snow.ts b/client/blocks/snow.ts new file mode 100644 index 0000000..5b107b1 --- /dev/null +++ b/client/blocks/snow.ts @@ -0,0 +1,6 @@ +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; + +EverythingRegistry.register("blocks", "bworld:snow", { + texture_id: "bworld:snow", + has_collision: true, +}); diff --git a/client/blocks/stone.ts b/client/blocks/stone.ts new file mode 100644 index 0000000..30548df --- /dev/null +++ b/client/blocks/stone.ts @@ -0,0 +1,6 @@ +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; + +EverythingRegistry.register("blocks", "bworld:stone", { + texture_id: "bworld:stone", + has_collision: true, +}); diff --git a/client/tiles/tree.ts b/client/blocks/tree.ts similarity index 78% rename from client/tiles/tree.ts rename to client/blocks/tree.ts index 95eaba8..623d8ed 100644 --- a/client/tiles/tree.ts +++ b/client/blocks/tree.ts @@ -1,8 +1,8 @@ -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; import { ItemStack } from "../inventory.ts"; import { PlayerComponent } from "../player.ts"; -EverythingRegistry.register("blocks", "bworld:tree", { +EverythingRegistry.register("blocks", "bworld:tree", { texture_id: "bworld:tree", has_collision: false, diff --git a/client/blocks/water.ts b/client/blocks/water.ts new file mode 100644 index 0000000..1cf3b4b --- /dev/null +++ b/client/blocks/water.ts @@ -0,0 +1,6 @@ +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; + +EverythingRegistry.register("blocks", "bworld:water", { + texture_id: "bworld:water", + has_collision: false, +}); diff --git a/client/components/dimension.ts b/client/components/dimension.ts index 18ef69c..2277212 100644 --- a/client/components/dimension.ts +++ b/client/components/dimension.ts @@ -1,5 +1,5 @@ import { Component } from "$/common/ecs/mod.ts"; -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; import { Faces } from "../../common/constants.ts"; import { AssetManager } from "../assets.ts"; import { generate_chunk } from "../generation.ts"; @@ -53,7 +53,7 @@ export class Dimension extends Component { chunk = this.add_chunk(block_chunk_x, block_chunk_z); } - const [nid, block_info] = EverythingRegistry.get_full("blocks", block.id)!; + const [nid, block_info] = EverythingRegistry.get_full("blocks", block.id)!; const lx = block.x - block_chunk_x * CHUNK_SIZE; const lz = block.z - block_chunk_z * CHUNK_SIZE; diff --git a/client/main.ts b/client/main.ts index 3172801..7569768 100644 --- a/client/main.ts +++ b/client/main.ts @@ -3,7 +3,7 @@ import { ClientWorld } from "./client_world.ts"; import { InputManager } from "./input_manager.ts"; import { begin_drawing, end_drawing, init_font, init_window } from "./renderer/mod.ts"; -await import("./tiles/mod.ts"); +await import("./blocks/mod.ts"); await import("./items/mod.ts"); export class ClientLoop { diff --git a/client/systems/dimension_logic.ts b/client/systems/dimension_logic.ts index 97d62eb..800b83d 100644 --- a/client/systems/dimension_logic.ts +++ b/client/systems/dimension_logic.ts @@ -5,7 +5,7 @@ import { Camera, screen_to_world } from "../components/camera.ts"; import { InputManager } from "../input_manager.ts"; import { canvas } from "../renderer/mod.ts"; import { TICK_DELTA, TILE_SIZE } from "$/common/constants.ts"; -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; import { Position } from "$/common/components/position.ts"; import { distance_point_rectangle } from "../../common/utils.ts"; @@ -77,7 +77,7 @@ export class DimensionLogicSystem extends System { handle_second(world: ClientWorld, dimension: Dimension) { const tickables = dimension.blocks.filter((t) => t.tickable); for (const tickable of tickables) { - const tile_info = EverythingRegistry.get("blocks", tickable.id); + const tile_info = EverythingRegistry.get("blocks", tickable.id); if (tile_info && tile_info.on_second) { tile_info.on_second(world, tickable, dimension.second_timer); } @@ -88,7 +88,7 @@ export class DimensionLogicSystem extends System { handle_tick(world: ClientWorld, dimension: Dimension) { const tickables = dimension.blocks.filter((t) => t.tickable); for (const tickable of tickables) { - const tile_info = EverythingRegistry.get("blocks", tickable.id); + const tile_info = EverythingRegistry.get("blocks", tickable.id); if (tile_info && tile_info.on_tick) { tile_info.on_tick(world, tickable, dimension.tick_timer); } diff --git a/client/systems/rendering/dimension.ts b/client/systems/rendering/dimension.ts index 30d5b16..4dfb9aa 100644 --- a/client/systems/rendering/dimension.ts +++ b/client/systems/rendering/dimension.ts @@ -1,7 +1,7 @@ import { get_sprite_region } from "$/common/utils.ts"; import { Chunk, CHUNK_AREA, CHUNK_SIZE, Dimension } from "$/client/components/dimension.ts"; import { TEXTURE_SIZE } from "$/common/constants.ts"; -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; +import { BlockRegistry, EverythingRegistry } from "$/common/everything_registry.ts"; import { flush_buffer, gl, push_cube_to_mesh, set_current_texture } from "$/client/renderer/mod.ts"; import { Camera } from "$/client/components/camera.ts"; @@ -32,7 +32,7 @@ function render_chunk_opaque(chunk: Chunk) { function make_chunk_mesh(chunk: Chunk, dimension: Dimension, camera: Camera) { let vertices = new Float32Array(CHUNK_AREA * 24 * 6 * 9); let count = 0; - const blocks_registry = EverythingRegistry.get_registry("blocks"); + const blocks_registry = EverythingRegistry.get_registry("blocks"); const show_face = (x: number, y: number, z: number) => { const block = dimension.get_block(x, y, z); @@ -55,14 +55,14 @@ function make_chunk_mesh(chunk: Chunk, dimension: Dimension, camera: Camera) { continue; } - const tile_info = blocks_registry[block_nid]; + const block_info = blocks_registry[block_nid]; let texture_id = "bworld:missing"; - if (tile_info?.texture_id) { - if (typeof tile_info.texture_id === "string") { - texture_id = tile_info.texture_id; + if (block_info?.texture_id) { + if (typeof block_info.texture_id === "string") { + texture_id = block_info.texture_id; } else { - // texture_id = tile_info.texture_id(tile); + // texture_id = block_info.texture_id(block); } } diff --git a/client/tiles/log.ts b/client/tiles/log.ts deleted file mode 100644 index 368440d..0000000 --- a/client/tiles/log.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; - -EverythingRegistry.register("blocks", "bworld:log", { - texture_id: "bworld:log_side", - has_collision: true, -}); - -EverythingRegistry.register("blocks", "bworld:leaves", { - texture_id: "bworld:leaves", - has_collision: true, - transparent: true, -}); diff --git a/client/tiles/sand.ts b/client/tiles/sand.ts deleted file mode 100644 index 76bfa83..0000000 --- a/client/tiles/sand.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; - -EverythingRegistry.register("blocks", "bworld:sand", { - texture_id: "bworld:sand", - has_collision: true, -}); diff --git a/client/tiles/snow.ts b/client/tiles/snow.ts deleted file mode 100644 index ec32051..0000000 --- a/client/tiles/snow.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; - -EverythingRegistry.register("blocks", "bworld:snow", { - texture_id: "bworld:snow", - has_collision: true, -}); diff --git a/client/tiles/stone.ts b/client/tiles/stone.ts deleted file mode 100644 index 09ccdaf..0000000 --- a/client/tiles/stone.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; - -EverythingRegistry.register("blocks", "bworld:stone", { - texture_id: "bworld:stone", - has_collision: true, -}); diff --git a/client/tiles/water.ts b/client/tiles/water.ts deleted file mode 100644 index 02dd39c..0000000 --- a/client/tiles/water.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts"; - -EverythingRegistry.register("blocks", "bworld:water", { - texture_id: "bworld:water", - has_collision: false, -}); diff --git a/common/constants.ts b/common/constants.ts index b9e1d14..1103709 100644 --- a/common/constants.ts +++ b/common/constants.ts @@ -1,5 +1,4 @@ export const TEXTURE_SIZE = 16; -export const TILE_SIZE = 48; export const TICKS_PER_SECOND = 20; export const TICK_DELTA = 1 / TICKS_PER_SECOND; diff --git a/common/everything_registry.ts b/common/everything_registry.ts index f2dbd91..dbfbbad 100644 --- a/common/everything_registry.ts +++ b/common/everything_registry.ts @@ -49,16 +49,16 @@ export class EverythingRegistry { } } -export interface TileRegistry { - texture_id: string | ((tile: Block) => string); +export interface BlockRegistry { + texture_id: string | ((block: Block) => string); has_collision: boolean; transparent?: boolean; - on_create?(dimension: Dimension, tile: Block): void; - on_click?(dimension: Dimension, tile: Block): void; - on_interact?(dimension: Dimension, tile: Block): void; - on_tick?(dimension: Dimension, tile: Block, tick_delta: number): void; - on_second?(dimension: Dimension, tile: Block, second_delta: number): void; + on_create?(dimension: Dimension, block: Block): void; + on_click?(dimension: Dimension, block: Block): void; + on_interact?(dimension: Dimension, block: Block): void; + on_tick?(dimension: Dimension, block: Block, tick_delta: number): void; + on_second?(dimension: Dimension, block: Block, second_delta: number): void; } export interface ItemRegistry {