@sectersion/rockbot 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +345 -0
  2. package/dist/auth/env.d.ts +6 -0
  3. package/dist/auth/env.d.ts.map +1 -0
  4. package/dist/auth/env.js +17 -0
  5. package/dist/auth/env.js.map +1 -0
  6. package/dist/auth/file.d.ts +9 -0
  7. package/dist/auth/file.d.ts.map +1 -0
  8. package/dist/auth/file.js +67 -0
  9. package/dist/auth/file.js.map +1 -0
  10. package/dist/auth/provider.d.ts +3 -0
  11. package/dist/auth/provider.d.ts.map +1 -0
  12. package/dist/auth/provider.js +3 -0
  13. package/dist/auth/provider.js.map +1 -0
  14. package/dist/block.d.ts +11 -0
  15. package/dist/block.d.ts.map +1 -0
  16. package/dist/block.js +21 -0
  17. package/dist/block.js.map +1 -0
  18. package/dist/bot.d.ts +37 -0
  19. package/dist/bot.d.ts.map +1 -0
  20. package/dist/bot.js +251 -0
  21. package/dist/bot.js.map +1 -0
  22. package/dist/entity.d.ts +19 -0
  23. package/dist/entity.d.ts.map +1 -0
  24. package/dist/entity.js +32 -0
  25. package/dist/entity.js.map +1 -0
  26. package/dist/fleet.d.ts +21 -0
  27. package/dist/fleet.d.ts.map +1 -0
  28. package/dist/fleet.js +110 -0
  29. package/dist/fleet.js.map +1 -0
  30. package/dist/group.d.ts +12 -0
  31. package/dist/group.d.ts.map +1 -0
  32. package/dist/group.js +37 -0
  33. package/dist/group.js.map +1 -0
  34. package/dist/index.d.ts +13 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +26 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/plugins/loader.d.ts +4 -0
  39. package/dist/plugins/loader.d.ts.map +1 -0
  40. package/dist/plugins/loader.js +15 -0
  41. package/dist/plugins/loader.js.map +1 -0
  42. package/dist/tick.d.ts +33 -0
  43. package/dist/tick.d.ts.map +1 -0
  44. package/dist/tick.js +126 -0
  45. package/dist/tick.js.map +1 -0
  46. package/dist/types.d.ts +45 -0
  47. package/dist/types.d.ts.map +1 -0
  48. package/dist/types.js +3 -0
  49. package/dist/types.js.map +1 -0
  50. package/package.json +42 -0
package/dist/tick.js ADDED
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TickLoop = void 0;
4
+ const TICK_INTERVAL = 50;
5
+ class TickLoop {
6
+ _client;
7
+ _getControls;
8
+ _getPosition;
9
+ _interval;
10
+ _tick;
11
+ _started;
12
+ constructor(client, getControls, getPosition) {
13
+ this._client = client;
14
+ this._getControls = getControls;
15
+ this._getPosition = getPosition;
16
+ this._interval = null;
17
+ this._tick = 0;
18
+ this._started = false;
19
+ }
20
+ start() {
21
+ if (this._interval)
22
+ return;
23
+ this._started = false;
24
+ this._interval = setInterval(() => this._send(), TICK_INTERVAL);
25
+ }
26
+ stop() {
27
+ if (this._interval) {
28
+ clearInterval(this._interval);
29
+ this._interval = null;
30
+ }
31
+ }
32
+ get running() {
33
+ return this._interval !== null;
34
+ }
35
+ _send() {
36
+ const c = this._getControls();
37
+ const pos = this._getPosition();
38
+ if (!pos)
39
+ return;
40
+ this._tick++;
41
+ this._client.queue('player_auth_input', {
42
+ pitch: 0,
43
+ yaw: 0,
44
+ position: { x: pos.x, y: pos.y, z: pos.z },
45
+ move_vector: { x: c.forward ? 1 : c.back ? -1 : 0, y: c.left ? 1 : c.right ? -1 : 0 },
46
+ head_yaw: 0,
47
+ input_data: {
48
+ up: c.forward,
49
+ down: c.back,
50
+ left: c.left,
51
+ right: c.right,
52
+ jumping: c.jump,
53
+ ascend: c.jump,
54
+ sneaking: c.sneak,
55
+ sprinting: c.sprint,
56
+ north_jump: false,
57
+ jump_down: false,
58
+ sprint_down: false,
59
+ change_height: false,
60
+ auto_jumping_in_water: false,
61
+ sneak_down: false,
62
+ up_left: false,
63
+ up_right: false,
64
+ want_up: false,
65
+ want_down: false,
66
+ want_down_slow: false,
67
+ want_up_slow: false,
68
+ ascend_block: false,
69
+ descend_block: false,
70
+ sneak_toggle_down: false,
71
+ persist_sneak: false,
72
+ start_sprinting: false,
73
+ stop_sprinting: false,
74
+ start_sneaking: false,
75
+ stop_sneaking: false,
76
+ start_swimming: false,
77
+ stop_swimming: false,
78
+ start_jumping: false,
79
+ start_gliding: false,
80
+ stop_gliding: false,
81
+ item_interact: false,
82
+ block_action: false,
83
+ item_stack_request: false,
84
+ handled_teleport: false,
85
+ emoting: false,
86
+ missed_swing: false,
87
+ start_crawling: false,
88
+ stop_crawling: false,
89
+ start_flying: false,
90
+ stop_flying: false,
91
+ received_server_data: false,
92
+ client_predicted_vehicle: false,
93
+ paddling_left: false,
94
+ paddling_right: false,
95
+ block_breaking_delay_enabled: false,
96
+ horizontal_collision: false,
97
+ vertical_collision: false,
98
+ down_left: false,
99
+ down_right: false,
100
+ start_using_item: false,
101
+ camera_relative_movement_enabled: false,
102
+ rot_controlled_by_move_direction: false,
103
+ start_spin_attack: false,
104
+ stop_spin_attack: false,
105
+ hotbar_only_touch: false,
106
+ jump_released_raw: false,
107
+ jump_pressed_raw: false,
108
+ jump_current_raw: false,
109
+ sneak_released_raw: false,
110
+ sneak_pressed_raw: false,
111
+ sneak_current_raw: false,
112
+ },
113
+ input_mode: 'mouse',
114
+ play_mode: 'normal',
115
+ interaction_model: 'touch',
116
+ interact_rotation: { x: 0, y: 0 },
117
+ tick: this._tick,
118
+ delta: { x: 0, y: 0, z: 0 },
119
+ analogue_move_vector: { x: 0, y: 0 },
120
+ camera_orientation: { x: 0, y: 0, z: 0 },
121
+ raw_move_vector: { x: 0, y: 0 },
122
+ });
123
+ }
124
+ }
125
+ exports.TickLoop = TickLoop;
126
+ //# sourceMappingURL=tick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tick.js","sourceRoot":"","sources":["../src/tick.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ export interface BotOptions {
2
+ host?: string;
3
+ port?: number;
4
+ username: string;
5
+ offline?: boolean;
6
+ version?: string;
7
+ viewDistance?: number;
8
+ connectTimeout?: number;
9
+ plugins?: PluginDeclaration[];
10
+ }
11
+ export interface FleetOptions {
12
+ defaults?: Partial<BotOptions>;
13
+ auth?: AuthConfig;
14
+ plugins?: PluginDeclaration[];
15
+ }
16
+ export interface AuthConfig {
17
+ provider: 'file' | 'env' | AuthProvider;
18
+ source?: string;
19
+ }
20
+ export interface SpawnOptions extends Partial<BotOptions> {
21
+ name?: string;
22
+ }
23
+ export interface Account {
24
+ username: string;
25
+ password?: string;
26
+ token?: string;
27
+ email?: string;
28
+ xuid?: string;
29
+ }
30
+ export interface ControlState {
31
+ forward: boolean;
32
+ back: boolean;
33
+ left: boolean;
34
+ right: boolean;
35
+ jump: boolean;
36
+ sneak: boolean;
37
+ sprint: boolean;
38
+ }
39
+ export interface AuthProvider {
40
+ acquire(): Promise<Account>;
41
+ release(account: Account, reason?: string): Promise<void>;
42
+ }
43
+ export type PluginDeclaration = Plugin | [Plugin, Record<string, any>];
44
+ export type Plugin = (bot: any, options?: Record<string, any>) => void;
45
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,CAAA;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,OAAO,CAAC,UAAU,CAAC;IACvD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3B,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1D;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;AAEtE,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAA"}
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@sectersion/rockbot",
3
+ "version": "0.1.0",
4
+ "description": "Multi-bot orchestration for Minecraft Bedrock",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist/"
9
+ ],
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "dev": "tsc --watch",
13
+ "test": "vitest run",
14
+ "prepublishOnly": "npm run build"
15
+ },
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/sectersion/rockbot.git"
22
+ },
23
+ "bugs": {
24
+ "url": "https://github.com/sectersion/rockbot/issues"
25
+ },
26
+ "homepage": "https://github.com/sectersion/rockbot#readme",
27
+ "dependencies": {
28
+ "bedrock-protocol": "^3.57.0",
29
+ "vec3": "^0.1.7",
30
+ "minecraft-data": "^3.77.0"
31
+ },
32
+ "devDependencies": {
33
+ "@types/node": "^20.0.0",
34
+ "typescript": "^5.4.0",
35
+ "vitest": "^1.6.0"
36
+ },
37
+ "keywords": ["minecraft", "bedrock", "bot", "automation", "fleet", "multi-bot"],
38
+ "license": "MIT",
39
+ "engines": {
40
+ "node": ">=18"
41
+ }
42
+ }