specprotocol 1.4.2 → 1.4.3

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.
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /**
3
+ * Weather Manager (Core)
4
+ *
5
+ * Tracks weather state: clear, rain, thunder.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.Weather = void 0;
9
+ const events_js_1 = require("./utils/events.js");
10
+ class Weather extends events_js_1.TypedEventEmitter {
11
+ _isRaining = false;
12
+ _rainLevel = 0;
13
+ _thunderLevel = 0;
14
+ constructor() {
15
+ super();
16
+ }
17
+ /** Whether it's currently raining */
18
+ get isRaining() { return this._isRaining; }
19
+ /** Whether it's currently thundering */
20
+ get isThundering() { return this._thunderLevel > 0; }
21
+ /** Rain intensity (0.0 to 1.0) */
22
+ get rainLevel() { return this._rainLevel; }
23
+ /** Thunder intensity (0.0 to 1.0) */
24
+ get thunderLevel() { return this._thunderLevel; }
25
+ /** Current weather state */
26
+ get state() {
27
+ if (this._thunderLevel > 0)
28
+ return 'thunder';
29
+ if (this._isRaining)
30
+ return 'rain';
31
+ return 'clear';
32
+ }
33
+ /** Handle game event for weather */
34
+ handleGameEvent(event, value) {
35
+ switch (event) {
36
+ case 1: // Begin raining
37
+ this._isRaining = true;
38
+ this.emit('rain', true);
39
+ this.emit('weatherChange', this.state);
40
+ break;
41
+ case 2: // End raining
42
+ this._isRaining = false;
43
+ this._rainLevel = 0;
44
+ this._thunderLevel = 0;
45
+ this.emit('rain', false);
46
+ this.emit('weatherChange', 'clear');
47
+ break;
48
+ case 7: // Rain level change
49
+ this._rainLevel = value;
50
+ if (value > 0 && !this._isRaining) {
51
+ this._isRaining = true;
52
+ this.emit('rain', true);
53
+ }
54
+ this.emit('weatherChange', this.state);
55
+ break;
56
+ case 8: // Thunder level change
57
+ const wasThundering = this._thunderLevel > 0;
58
+ this._thunderLevel = value;
59
+ if ((value > 0) !== wasThundering) {
60
+ this.emit('thundering', value > 0);
61
+ this.emit('weatherChange', this.state);
62
+ }
63
+ break;
64
+ }
65
+ }
66
+ /** Clear weather state */
67
+ clear() {
68
+ this._isRaining = false;
69
+ this._rainLevel = 0;
70
+ this._thunderLevel = 0;
71
+ }
72
+ }
73
+ exports.Weather = Weather;
74
+ //# sourceMappingURL=weather.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weather.js","sourceRoot":"","sources":["../src/weather.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iDAAsD;AAUtD,MAAa,OAAQ,SAAQ,6BAAgC;IACjD,UAAU,GAAY,KAAK,CAAC;IAC5B,UAAU,GAAW,CAAC,CAAC;IACvB,aAAa,GAAW,CAAC,CAAC;IAElC;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAED,qCAAqC;IACrC,IAAI,SAAS,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEpD,wCAAwC;IACxC,IAAI,YAAY,KAAc,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9D,kCAAkC;IAClC,IAAI,SAAS,KAAa,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEnD,qCAAqC;IACrC,IAAI,YAAY,KAAa,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAEzD,4BAA4B;IAC5B,IAAI,KAAK;QACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAC7C,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,MAAM,CAAC;QACnC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,oCAAoC;IACpC,eAAe,CAAC,KAAa,EAAE,KAAa;QACxC,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,CAAC,EAAE,gBAAgB;gBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvC,MAAM;YACV,KAAK,CAAC,EAAE,cAAc;gBAClB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBACpC,MAAM;YACV,KAAK,CAAC,EAAE,oBAAoB;gBACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvC,MAAM;YACV,KAAK,CAAC,EAAE,uBAAuB;gBAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBAC7C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;oBAChC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBACnC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM;QACd,CAAC;IACL,CAAC;IAED,0BAA0B;IAC1B,KAAK;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IAC3B,CAAC;CACJ;AApED,0BAoEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specprotocol",
3
- "version": "1.4.2",
3
+ "version": "1.4.3",
4
4
  "description": "A Minecraft bot framework built from scratch in TypeScript — Mineflayer alternative with full protocol support for Java Edition 1.21.4",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",