This commit is contained in:
2026-03-27 10:32:53 -03:00
parent 188b7a4372
commit 582e5fc34c
8 changed files with 163 additions and 127 deletions
+12 -6
View File
@@ -62,7 +62,7 @@ interface TextureFront {
side: string;
}
export interface BlockRegistry<T = unknown | undefined> {
export interface BlockRegistry {
id: string;
textures: string | TextureSideTopBottom | TextureFront;
transparent?: boolean;
@@ -71,15 +71,21 @@ export interface BlockRegistry<T = unknown | undefined> {
has_collision: boolean;
drop_table?: string;
on_create?(dimension: Dimension, block: Block<T>): void;
on_click?(dimension: Dimension, block: Block<T>): void;
on_interact?(dimension: Dimension, block: Block<T>): void;
on_tick?(dimension: Dimension, block: Block<T>, tick_delta: number): void;
on_second?(dimension: Dimension, block: Block<T>, second_delta: number): void;
on_create?(dimension: Dimension, block: Block): void;
on_break?(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<T = unknown | undefined> {
texture_id: string | ((item: ItemStack<T>) => string);
block_id?: string;
place?(dimension: Dimension, block: Block): void;
on_create?(item: ItemStack<T>): void;
get_lore?(item: ItemStack<T>): string;
}
+2
View File
@@ -46,11 +46,13 @@ export function distance_point_point(ax: number, ay: number, az: number, bx: num
}
export function register_block_item(block: BlockRegistry) {
// TODO: handle block textures
let texture_id = "bworld:missing";
if (typeof block.textures === "string") {
texture_id = block.textures;
}
EverythingRegistry.register<ItemRegistry>("items", block.id, {
texture_id,
block_id: block.id,
});
}