Skip to content

Commit 7cd4253

Browse files
good enough
1 parent 8ddc8ee commit 7cd4253

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

tests/setup.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,15 @@ export class FlatWorld {
6767
function createFakePlayer(
6868
version: string,
6969
mcData: ReturnType<typeof registry>,
70+
world: Bot["world"],
7071
pos: Vec3,
7172
groundLevel: number,
72-
) {
73+
): any {
7374
const onGround = pos.y === groundLevel;
7475
const control: Partial<Record<ControlState, boolean>> = {};
7576

7677
return {
78+
world: world,
7779
entity: {
7880
position: pos,
7981
velocity: new Vec3(0, onGround ? -0.08 : 0, 0),
@@ -96,6 +98,11 @@ function createFakePlayer(
9698
food: 20,
9799
game: { gameMode: "survival", dimension: "overworld" },
98100
registry: mcData,
101+
102+
blockAt: (point: Vec3, extraInfos?: any) => {
103+
return world.getBlock(point)
104+
},
105+
99106
setControlState: (name: ControlState, value: boolean) => {
100107
control[name] = value;
101108
},
@@ -109,7 +116,7 @@ export function createFlatWorld(version: string, floorY: number) {
109116
return new FlatWorld(mcData.blocksByName, Block, floorY);
110117
}
111118

112-
export function createPlayerRig(options: {
119+
export function createPlayerRig(world: Bot["world"], options: {
113120
version: string;
114121
position: Vec3;
115122
groundLevel?: number;
@@ -118,7 +125,7 @@ export function createPlayerRig(options: {
118125
const groundLevel = options.groundLevel ?? position.y;
119126
const { mcData } = loadMcData(version);
120127

121-
const fakePlayer: any = createFakePlayer(version, mcData, position.clone(), groundLevel);
128+
const fakePlayer: any = createFakePlayer(version, mcData, world, position.clone(), groundLevel);
122129
fakePlayer.entity = applyMdToNewEntity(EPhysicsCtx, mcData.entitiesByName.player, fakePlayer.entity);
123130

124131
const physics = new BotcraftPhysics(mcData);

0 commit comments

Comments
 (0)