2023-11-09 16:30:40 +00:00
|
|
|
import AABB from "../AABB";
|
2024-10-26 14:24:38 +01:00
|
|
|
import Block from "./Block";
|
2024-10-18 21:47:03 +01:00
|
|
|
import Random from "../Random";
|
2024-10-26 14:24:38 +01:00
|
|
|
import World from "../World";
|
2023-08-20 01:17:05 +01:00
|
|
|
|
2024-10-26 14:24:38 +01:00
|
|
|
export default interface IBlockBehaviour {
|
2024-10-18 21:47:03 +01:00
|
|
|
block:Block,
|
|
|
|
|
2024-11-25 22:28:33 +00:00
|
|
|
placed(world:World, x:number, y:number, z:number): void,
|
|
|
|
destroyed(world:World, x:number, y:number, z:number): void,
|
2023-11-02 08:31:43 +00:00
|
|
|
neighborBlockChange(world:World, x:number, y:number, z:number, blockId:number): void,
|
2023-11-09 16:30:40 +00:00
|
|
|
droppedItem: (blockId:number) => number,
|
2023-12-24 17:47:20 +00:00
|
|
|
droppedCount: (blockId:number) => number,
|
2023-11-09 16:30:40 +00:00
|
|
|
getBoundingBox: (x:number, y:number, z:number) => AABB,
|
2024-10-18 21:47:03 +01:00
|
|
|
randomTick: (world:World, x:number, y:number, z:number, random:Random) => void,
|
|
|
|
canPlaceBlockAt: (world:World, x:number, y:number, z:number) => boolean
|
2023-08-20 01:17:05 +01:00
|
|
|
}
|