-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathreview.txt
More file actions
1774 lines (1424 loc) · 76 KB
/
review.txt
File metadata and controls
1774 lines (1424 loc) · 76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# PyJavaBridge Full File-by-File Review
Started: 2026-04-14
Scope: all tracked files from git ls-files, reviewed sequentially with findings appended per file.
Format:
- FILE: \<path\>
- RESULT: OK | ISSUE
- NOTES: line-specific comments and risks
- FILE: src/main/java/com/pyjavabridge/BridgeInstance.java
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/java/com/pyjavabridge/BridgeInstance.java:871 inserts a null value into ConcurrentHashMap (subscriptions.put(eventName, null)); ConcurrentHashMap forbids null values, so script-only subscriptions trigger a runtime NullPointerException and fail to register.
- [HIGH] src/main/java/com/pyjavabridge/BridgeInstance.java:1035 and src/main/java/com/pyjavabridge/BridgeInstance.java:1077 serialize raw invoke() results in batch mode without handling CompletableFuture results (unlike single-call path at lines 889 and 941). Batch calls can return unresolved future objects instead of completed values.
- [MEDIUM] src/main/java/com/pyjavabridge/BridgeInstance.java:1919 constructs BlockData from Material.matchMaterial(matName) without null-check; invalid material names can produce NPE/IAE instead of a controlled INVALID_MATERIAL error.
- [MEDIUM] src/main/java/com/pyjavabridge/BridgeInstance.java:2405 "broadcastMessage" logs to plugin logger but does not broadcast to players; behavior does not match method name/API expectation.
- FILE: src/main/java/com/pyjavabridge/BridgeSerializer.java
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/java/com/pyjavabridge/BridgeSerializer.java:889 mutates world state during deserialization (block.setType(material)) inside the "Block" value path. Deserialization should be side-effect free; this allows data decoding to change live blocks unexpectedly.
- [MEDIUM] src/main/java/com/pyjavabridge/BridgeSerializer.java:1016 returns raw arg for boolean parameters without validating type. Non-boolean values can reach reflective invocation and fail later with less actionable errors.
- [MEDIUM] src/main/java/com/pyjavabridge/BridgeSerializer.java:833 creates inventories from unvalidated size values; invalid sizes (not multiple of 9 or out of bounds) can throw IllegalArgumentException from Bukkit.createInventory and break calls.
- FILE: src/main/java/com/pyjavabridge/EventDispatcher.java
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/java/com/pyjavabridge/EventDispatcher.java:181 and src/main/java/com/pyjavabridge/EventDispatcher.java:266 block while waiting for Python responses (await + Thread.sleep loops). If this path runs on the main server thread, bursts of events can translate to tick stalls/lag under slow script handlers.
- FILE: src/main/java/com/pyjavabridge/PacketBridge.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/PyJavaBridgePlugin.java
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/java/com/pyjavabridge/PyJavaBridgePlugin.java:171 uses Files.list(scriptsDir) without try-with-resources; the directory stream is not explicitly closed and can leak file descriptors over repeated reload/start cycles.
- [LOW] src/main/java/com/pyjavabridge/PyJavaBridgePlugin.java:70 and src/main/java/com/pyjavabridge/PyJavaBridgePlugin.java:71 dereference getCommand("bridge") without null-check; misconfigured plugin.yml would cause onEnable NPE instead of a controlled startup failure.
- FILE: src/main/java/com/pyjavabridge/SchematicCapture.java
- RESULT: ISSUE
- NOTES:
- [LOW] src/main/java/com/pyjavabridge/SchematicCapture.java:535, src/main/java/com/pyjavabridge/SchematicCapture.java:538, and src/main/java/com/pyjavabridge/SchematicCapture.java:541 choose exit facing only from whether min coordinate is 0; groups not on outer boundaries are still labeled as +axis exits, which can produce incorrect exit metadata.
- FILE: src/main/java/com/pyjavabridge/ScriptCommand.java
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/java/com/pyjavabridge/ScriptCommand.java:139 and src/main/java/com/pyjavabridge/ScriptCommand.java:142 only update permission/completions when non-null; re-registering a command with null permission or null completions cannot clear previous values, leaving stale command behavior.
- [LOW] src/main/java/com/pyjavabridge/ScriptCommand.java:52 lowercases all static completion options at registration time, so returned suggestions lose original casing.
- FILE: src/main/java/com/pyjavabridge/client/ClientModChannelBridge.java
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/java/com/pyjavabridge/client/ClientModChannelBridge.java:274 stores request bodies for every outbound request, but normal completion path at src/main/java/com/pyjavabridge/client/ClientModChannelBridge.java:376 only removes pending futures (not stored bodies). This can accumulate stale request payloads over time.
- [LOW] src/main/java/com/pyjavabridge/client/ClientModChannelBridge.java:158 strips a leading VarInt prefix using a heuristic (`varIntValue == remaining`) that can misclassify some valid unprefixed payloads and corrupt decode input.
- FILE: src/main/java/com/pyjavabridge/client/ClientModFacade.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/client/ClientModFrameCodec.java
- RESULT: ISSUE
- NOTES:
- [LOW] src/main/java/com/pyjavabridge/client/ClientModFrameCodec.java:54 reads protocolVersion but never validates it before accepting the frame (returned at src/main/java/com/pyjavabridge/client/ClientModFrameCodec.java:72), so incompatible protocol traffic is not rejected early.
- FILE: src/main/java/com/pyjavabridge/client/ClientModProtocol.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/client/ClientModSessionManager.java
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/java/com/pyjavabridge/client/ClientModSessionManager.java:39 keeps requestBodies per request id, but cleanup requires explicit takeRequestBody (line 63) or disconnect clear (line 123). If callers complete requests without taking bodies, this map grows over session lifetime.
- FILE: src/main/java/com/pyjavabridge/event/CancelMode.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/event/EventSubscription.java
- RESULT: ISSUE
- NOTES:
- [LOW] src/main/java/com/pyjavabridge/event/EventSubscription.java:22 and src/main/java/com/pyjavabridge/event/EventSubscription.java:54 use unsynchronized lastTick updates in the executor path; async events can race and bypass once-per-tick suppression.
- FILE: src/main/java/com/pyjavabridge/event/PendingEvent.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/facade/ChatFacade.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/facade/CommandsFacade.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/facade/DatapackFacade.java
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/java/com/pyjavabridge/facade/DatapackFacade.java:23 and src/main/java/com/pyjavabridge/facade/DatapackFacade.java:41 register models/registries, but applyAll only processes advancements (line 133) and predicates (line 222). Registered models and registry entries are never applied.
- FILE: src/main/java/com/pyjavabridge/facade/MetricsFacade.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/facade/ParticleFacade.java
- RESULT: ISSUE
- NOTES:
- [LOW] src/main/java/com/pyjavabridge/facade/ParticleFacade.java:30 caps line-particle count at MAX_PARTICLES, but loop at line 31 uses <= and returns count+1 at line 35, producing one extra spawn beyond the configured cap.
- FILE: src/main/java/com/pyjavabridge/facade/PermissionsFacade.java
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/java/com/pyjavabridge/facade/PermissionsFacade.java:145 builds a default permission node and removes it, but does not match node value (true/false). Permissions added with explicit false values can remain because removal targets a different node variant.
- FILE: src/main/java/com/pyjavabridge/facade/RaycastFacade.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/facade/RefFacade.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/facade/ReflectFacade.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/facade/RegionFacade.java
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/java/com/pyjavabridge/facade/RegionFacade.java:212 performs large batch edits without any MAX_VOLUME enforcement (the volume checks used by other mutators are bypassed), so oversized operation lists can cause heavy server stalls.
- [LOW] src/main/java/com/pyjavabridge/facade/RegionFacade.java:264 silently falls back to AIR when fill block data parsing fails, which can unintentionally erase blocks instead of surfacing an invalid block-data error.
- FILE: src/main/java/com/pyjavabridge/util/CallableTask.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/util/DebugManager.java
- RESULT: ISSUE
- NOTES:
- [LOW] src/main/java/com/pyjavabridge/util/DebugManager.java:62 returns the mutable internal debug-player set directly, allowing external callers to mutate internal state without using add/remove methods.
- FILE: src/main/java/com/pyjavabridge/util/EntityGoneException.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/util/EntitySpawner.java
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/java/com/pyjavabridge/util/EntitySpawner.java:386 resolves string entity types via EntityType.valueOf(text) without normalization, making string type handling case-sensitive and causing avoidable failures for common lowercase inputs.
- FILE: src/main/java/com/pyjavabridge/util/EnumValue.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/util/NonLivingSpawner.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/util/ObjectRegistry.java
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/java/com/pyjavabridge/util/PlayerUuidResolver.java
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/java/com/pyjavabridge/util/PlayerUuidResolver.java:95 generates offline-mode UUIDs from the caller-provided name casing. Because offline UUID generation is case-sensitive, mixed-case lookups for the same player name can produce inconsistent UUIDs.
- FILE: src/main/resources/python/bridge/wrappers.py
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/resources/python/bridge/wrappers.py:34, src/main/resources/python/bridge/wrappers.py:43, and src/main/resources/python/bridge/wrappers.py:70 mutate _handle_refcounts without synchronization. Concurrent async callbacks can race and corrupt reference counts (double-release or leaked handles).
- [HIGH] src/main/resources/python/bridge/wrappers.py:338 and src/main/resources/python/bridge/wrappers.py:342 implement non-atomic loop-start guarding for _at_time_loop_started; concurrent decorators can start duplicate polling loops.
- [MEDIUM] src/main/resources/python/bridge/wrappers.py:60 uses assert for runtime validation (`assert count > 0`), which is disabled under Python optimization flags and can hide invalid refcount transitions.
- [MEDIUM] src/main/resources/python/bridge/wrappers.py:229 and src/main/resources/python/bridge/wrappers.py:230 use _connection directly in Event.cancel() without null/closed checks, causing shutdown-time AttributeErrors instead of controlled bridge errors.
- [LOW] src/main/resources/python/bridge/wrappers.py:2064 falls back to self.fields['ref_id']/'world' for world_name, but world identity is not guaranteed in fields; callbacks for unnamed worlds can be grouped incorrectly.
- FILE: src/main/resources/python/bridge/connection.py
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/resources/python/bridge/connection.py:276/282 and src/main/resources/python/bridge/connection.py:479 access _pending_sync from different threads without coordination. Timeout and response paths can race, producing intermittent false timeouts or dropped wakeups.
- [HIGH] src/main/resources/python/bridge/connection.py:354 and src/main/resources/python/bridge/connection.py:355 reset batch buffers without synchronization; concurrent call() activity during flush can mis-order or lose buffered messages.
- [MEDIUM] src/main/resources/python/bridge/connection.py:330 and src/main/resources/python/bridge/connection.py:335 mutate _batch_stack without locking, so overlapping frame()/atomic() contexts from multiple threads can corrupt effective batch mode.
- [MEDIUM] src/main/resources/python/bridge/connection.py:746 stops the event loop directly inside shutdown handling; pending callbacks/futures may be abandoned before orderly completion.
- FILE: src/main/resources/python/bridge/helpers.py
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/resources/python/bridge/helpers.py:468 iterates self._expiry while other methods mutate the same dict (e.g., line 438, line 456) with no locking, which can raise `RuntimeError: dictionary changed size during iteration` under concurrent access.
- [HIGH] src/main/resources/python/bridge/helpers.py:439 and src/main/resources/python/bridge/helpers.py:461 use a non-atomic `_task_started` check/set; concurrent check() calls can start duplicate cooldown expiry tasks.
- [MEDIUM] src/main/resources/python/bridge/helpers.py:211 replaces Config._data wholesale during reload while getters/setters access it concurrently; callers can observe inconsistent state.
- [MEDIUM] src/main/resources/python/bridge/helpers.py:783 starts a new BossBarDisplay link task each call without canceling prior tasks, allowing duplicate update loops for the same bar/player.
- [LOW] src/main/resources/python/bridge/helpers.py:310 returns the mutable internal config dict directly, allowing external code to mutate internal state without validation.
- FILE: src/main/resources/python/bridge/extensions/dungeon.py
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/resources/python/bridge/extensions/dungeon.py:838 deduplicates transformed variants using only block layout signature. Symmetric templates with different transformed exit orientations can be collapsed, reducing valid placement options.
- [MEDIUM] src/main/resources/python/bridge/extensions/dungeon.py:336 detects ops format only from the very first physical line. Leading blank lines cause valid `fill`/`set` files to be parsed via legacy path incorrectly.
- [MEDIUM] src/main/resources/python/bridge/extensions/dungeon.py:1377 iterates self.players directly in the tracking loop; concurrent mutation of player list can break tracking with runtime iteration errors.
- FILE: src/main/resources/python/bridge/extensions/schematic.py
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/resources/python/bridge/extensions/schematic.py:490 and src/main/resources/python/bridge/extensions/schematic.py:497 write `set`/`fill` op coordinates into layer arrays without bounds checks, so malformed files can raise IndexError or corrupt parse behavior.
- [MEDIUM] src/main/resources/python/bridge/extensions/schematic.py:540 assumes marker coordinates always contain three comma-separated values; malformed marker lines raise unhandled IndexError/ValueError rather than a clean parse error.
- [MEDIUM] src/main/resources/python/bridge/extensions/schematic.py:722 builds a reverse key map where duplicate block definitions overwrite prior keys; round-trip save/load can silently remap block keys.
- [LOW] src/main/resources/python/bridge/extensions/schematic.py:634, src/main/resources/python/bridge/extensions/schematic.py:636, and src/main/resources/python/bridge/extensions/schematic.py:638 parse dimensions but never validate positivity, producing confusing downstream errors for zero/negative metadata.
- FILE: docs/build.py
- RESULT: ISSUE
- NOTES:
- [HIGH] docs/build.py:620 and docs/build.py:621 generate output filenames from slug basename only. Different slugs sharing a basename can overwrite each other’s HTML output silently.
- [HIGH] docs/build.py:994 maps source markdown paths by basename (`src_map` key), so basename collisions overwrite entries and break historical source resolution for affected pages.
- [MEDIUM] docs/build.py:161 splits slugs only on `/`, which is fragile for Windows-style `\\` paths and can produce inconsistent basename behavior across platforms.
- FILE: src/main/resources/python/bridge/__init__.pyi
- RESULT: ISSUE
- NOTES:
- [LOW] src/main/resources/python/bridge/__init__.pyi:548, src/main/resources/python/bridge/__init__.pyi:549, src/main/resources/python/bridge/__init__.pyi:550, and src/main/resources/python/bridge/__init__.pyi:551 declare WorldTime constants without `ClassVar[...]`, unlike other enum-like constants in the same stub, reducing type-checker precision.
- [LOW] src/main/resources/python/bridge/__init__.pyi:878/880 exposes `exp` as property while src/main/resources/python/bridge/__init__.pyi:982 also exposes `xp` field; dual names for the same concept make the public typing contract ambiguous.
- FILE: src/main/resources/python/bridge/extensions/__init__.pyi
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/resources/python/bridge/extensions/__init__.pyi:1 does not import `AsyncIterable`/`Iterable`, but these are used in type annotations at src/main/resources/python/bridge/extensions/__init__.pyi:555; this breaks strict type checking of the stub.
- [LOW] src/main/resources/python/bridge/extensions/__init__.pyi:511 declares `LootPool.entry` as `Callable[..., Callable[..., bool]]`, which is too loose for a decorator signature and weakens static typing for callback arguments.
- FILE: src/main/resources/python/bridge/api.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/api.py:41 and src/main/resources/python/bridge/api.py:52 register packet handlers on shared event names (`packet_send` / `packet_receive`) without local packet-type filtering, so multiple listeners can receive cross-type events unless each handler re-filters manually.
- FILE: src/main/resources/python/bridge/decorators.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/decorators.py:324 and src/main/resources/python/bridge/decorators.py:325 derive preserve filenames directly from `func.__qualname__`; nested/local function names can contain path-unfriendly characters, causing portability issues.
- [LOW] src/main/resources/python/bridge/decorators.py:309 declares preserve as returning a callable but actually returns the preserved value (see line 356 with type-ignore), weakening typing guarantees.
- FILE: src/main/resources/python/bridge/errors.py
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/resources/python/bridge/types.py
- RESULT: ISSUE
- NOTES:
- [LOW] src/main/resources/python/bridge/types.py:108 calls `self._future.result()` inside __repr__; if the future completed with an exception, repr itself raises, which is unsafe for logging/debug output.
- FILE: src/main/resources/python/bridge/utils.py
- RESULT: ISSUE
- NOTES:
- [LOW] src/main/resources/python/bridge/utils.py:22 evicts the first quarter of cache keys when full, which is insertion-order trimming rather than true LRU; frequently-used old entries can be evicted prematurely.
- FILE: src/main/resources/python/bridge/__init__.py
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/resources/python/runner.py
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/resources/python/bridge/extensions/mesh_display.py
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/resources/python/bridge/extensions/mesh_display.py:347 defaults `face_uvs` to `faces`, but texture sampling at line 205 treats these as UV indices. Meshes where UV index space differs from vertex index space can crash with IndexError or sample wrong texels.
- FILE: src/main/resources/python/bridge/extensions/client_mod.py
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/resources/python/bridge/extensions/client_mod.py:177 returns early when `proc.stdout` is None without terminating the created ffmpeg process, leaking a subprocess.
- [MEDIUM] src/main/resources/python/bridge/extensions/client_mod.py:242 and src/main/resources/python/bridge/extensions/client_mod.py:247 swallow producer-thread exceptions during streamed audio generation, which can hide failures and leave the consumer loop timing out without actionable diagnostics.
- [MEDIUM] src/main/resources/python/bridge/extensions/client_mod.py:269 suppresses executor completion errors/timeouts, so stalled producer threads are not surfaced to callers.
- FILE: src/main/resources/python/bridge/extensions/loot_table.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/extensions/loot_table.py:52 uses `setdefault("amount", rolled_amount)` for dict-based items, so explicit item amounts silently bypass min_amount/max_amount roll parameters.
- [MEDIUM] src/main/resources/python/bridge/extensions/loot_table.py:163 and src/main/resources/python/bridge/extensions/loot_table.py:165 perform inventory insertion without exception handling, allowing partial insertion states if backend calls fail mid-loop.
- [LOW] src/main/resources/python/bridge/extensions/loot_table.py:365 mutates shared item field dictionaries in-place during stacking, which can produce side effects if generated items are reused elsewhere.
- FILE: src/main/resources/python/bridge/extensions/image_display.py
- RESULT: ISSUE
- NOTES:
- [LOW] src/main/resources/python/bridge/extensions/image_display.py:54 exposes `dual_side_mode` but the parameter is never used, so callers cannot influence behavior as the signature implies.
- [LOW] src/main/resources/python/bridge/extensions/image_display.py:267 indexes `flat_pixels[row * w + col]` without a local bounds guard in `_update_from_flat`; misuse of this helper raises IndexError rather than a clear validation error.
- FILE: src/main/resources/python/bridge/extensions/npc.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/extensions/npc.py:109-112 uses `_path_task` as a shared boolean sentinel for path coroutines; starting a new follow_path can re-enable the sentinel while an old loop is still running, allowing overlapping movement loops.
- [LOW] src/main/resources/python/bridge/extensions/npc.py:201 catches any exception in the range loop and breaks permanently, so transient bridge errors can silently disable all future range enter/exit callbacks.
- FILE: examples/command.py
- RESULT: OK
- NOTES:
- No correctness or security defects found in this example file during line-by-line review.
- FILE: examples/spawn_protect.py
- RESULT: OK
- NOTES:
- No correctness or security defects found in this example file during line-by-line review.
- FILE: examples/tempban.py
- RESULT: ISSUE
- NOTES:
- [LOW] examples/tempban.py:55 calls parse_time without catching ValueError, so malformed duration input aborts command flow with an unhandled exception path.
- FILE: src/main/resources/python/bridge/extensions/__init__.py
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/resources/python/bridge/extensions/ability.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/extensions/ability.py:40 stores a single shared boss bar instance (`self._bar`) for all players. Concurrent ability use by multiple players can overwrite bar value/text state across users.
- FILE: src/main/resources/python/bridge/extensions/bank.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/extensions/bank.py:35 loads persisted JSON without error handling; corrupted bank files can raise and break extension initialization.
- FILE: src/main/resources/python/bridge/extensions/client_mod.pyi
- RESULT: OK
- NOTES:
- No correctness or security defects found in this stub file during line-by-line review.
- FILE: src/main/resources/python/bridge/extensions/combat.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/extensions/combat.py:131 starts a new `_update()` task on every combat tag refresh, with no deduplication per player. Repeated hits can create overlapping timer tasks that race on the same bossbar.
- FILE: src/main/resources/python/bridge/extensions/custom_item.py
- RESULT: ISSUE
- NOTES:
- [LOW] src/main/resources/python/bridge/extensions/custom_item.py:33 mutates the template builder state (`self.amount(amount)`) in `give()`. Reusing the same CustomItem instance can leak amount state into subsequent builds/gives.
- FILE: src/main/resources/python/bridge/extensions/dialog.py
- RESULT: ISSUE
- NOTES:
- [LOW] src/main/resources/python/bridge/extensions/dialog.py:147 directly mutates the internal `_handlers` map on the connection object for cleanup. This couples to private internals and can break if handler storage changes.
- FILE: src/main/resources/python/bridge/extensions/guild.py
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/resources/python/bridge/extensions/guild.py:200 and src/main/resources/python/bridge/extensions/guild.py:206 use unsanitized guild names in filesystem paths. Crafted names with path separators can write/read outside the intended guild storage directory.
- [MEDIUM] src/main/resources/python/bridge/extensions/guild.py:211 loads guild JSON without decode error handling; corrupted files can raise and break guild loading.
- FILE: examples/dungeon.py
- RESULT: OK
- NOTES:
- No correctness or security defects found in this example file during line-by-line review.
- FILE: src/main/resources/python/bridge/extensions/leaderboard.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/extensions/leaderboard.py:40 starts a new update loop every time `start()` is called. Repeated starts can create duplicate refresh tasks running concurrently.
- FILE: src/main/resources/python/bridge/extensions/levels.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/extensions/levels.py:40 loads persisted XP JSON without decode error handling; malformed files can raise and break level system initialization.
- FILE: src/main/resources/python/bridge/extensions/mana.py
- RESULT: ISSUE
- NOTES:
- [LOW] src/main/resources/python/bridge/extensions/mana.py:103 always calls `_update_bar(player)` in `__setitem__`. When callers use UUID strings (supported by `_puuid`), `_update_bar` can attempt `bar.show(player)` with a non-player object.
- FILE: src/main/resources/python/bridge/extensions/party.py
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/resources/python/bridge/extensions/placeholder.py
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/resources/python/bridge/extensions/player_data.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/extensions/player_data.py:68 loads player JSON without decode error handling; malformed files can raise and break data access for that player.
- FILE: src/main/resources/python/bridge/extensions/quest.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/extensions/quest.py:36 uses a single shared bossbar instance (`self._bar`) for all players. Concurrent players on the same quest can overwrite each other's bar state.
- FILE: src/main/resources/python/bridge/extensions/region.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/extensions/region.py:135 breaks the global tracking loop on any uncaught iteration error, which can permanently disable enter/exit detection after a transient failure.
- FILE: src/main/resources/python/bridge/extensions/scheduler.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/extensions/scheduler.py:117, src/main/resources/python/bridge/extensions/scheduler.py:138, and src/main/resources/python/bridge/extensions/scheduler.py:161 overwrite existing task names without canceling the prior task first. Previously launched tasks can continue running as untracked orphans.
- FILE: src/main/resources/python/bridge/extensions/shop.py
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: src/main/resources/python/bridge/extensions/state_machine.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/extensions/state_machine.py:207 starts a new ticking loop each time `start_ticking()` is called without canceling an existing loop first. Multiple loops can run concurrently and duplicate `on_tick` execution.
- FILE: src/main/resources/python/bridge/extensions/tab_list.py
- RESULT: ISSUE
- NOTES:
- [MEDIUM] src/main/resources/python/bridge/extensions/tab_list.py:79 stores groups/entries, but src/main/resources/python/bridge/extensions/tab_list.py:160 only applies header/footer. Group and fake-entry APIs are never materialized to the client tab list.
- FILE: src/main/resources/python/bridge/extensions/trade.py
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/resources/python/bridge/extensions/trade.py:207 and src/main/resources/python/bridge/extensions/trade.py:211 ignore the return value of `bank.withdraw` after a pre-check. If balances change between check and execution, withdraw can fail while the matching deposit still executes, minting currency.
- FILE: src/main/resources/python/bridge/extensions/visual_effect.py
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: .github/instructions/codebase-info.instructions.md
- RESULT: OK
- NOTES:
- No correctness or security defects found in this instruction file during line-by-line review.
- FILE: .github/workflows/deploy-pages.yml
- RESULT: ISSUE
- NOTES:
- [LOW] .github/workflows/deploy-pages.yml:41 and .github/workflows/deploy-pages.yml:45 install npm/pip dependencies without version pinning, which reduces build reproducibility and increases supply-chain drift risk.
- FILE: .gitignore
- RESULT: OK
- NOTES:
- No correctness or security defects found in this file during line-by-line review.
- FILE: .markdownlint.json
- RESULT: OK
- NOTES:
- No correctness or security defects found in this config file during line-by-line review.
- FILE: .vscode/launch.json
- RESULT: OK
- NOTES:
- No correctness or security defects found in this workspace config during line-by-line review.
- FILE: .vscode/settings.json
- RESULT: OK
- NOTES:
- No correctness or security defects found in this workspace config during line-by-line review.
- FILE: .vscode/tasks.json
- RESULT: OK
- NOTES:
- No correctness or security defects found in this workspace config during line-by-line review.
- FILE: README.md
- RESULT: OK
- NOTES:
- No correctness or security defects found in this documentation file during line-by-line review.
- FILE: SECURITY.md
- RESULT: OK
- NOTES:
- No correctness or security defects found in this policy file during line-by-line review.
- FILE: build.gradle
- RESULT: OK
- NOTES:
- No correctness or security defects found in this build file during line-by-line review.
- FILE: changelog.md
- RESULT: OK
- NOTES:
- No correctness or security defects found in this documentation file during line-by-line review.
- FILE: gradle.properties
- RESULT: OK
- NOTES:
- No correctness or security defects found in this build config during line-by-line review.
- FILE: gradle/wrapper/gradle-wrapper.jar
- RESULT: OK
- NOTES:
- Binary artifact reviewed at metadata level only; no line-based source review possible.
- FILE: gradle/wrapper/gradle-wrapper.properties
- RESULT: OK
- NOTES:
- No correctness or security defects found in this wrapper config during line-by-line review.
- FILE: gradlew
- RESULT: OK
- NOTES:
- Standard generated Gradle wrapper script; no project-specific correctness/security defects found.
- FILE: gradlew.bat
- RESULT: OK
- NOTES:
- Standard generated Gradle wrapper script; no project-specific correctness/security defects found.
- FILE: pjb
- RESULT: OK
- NOTES:
- No correctness or security defects found in this CLI script during line-by-line review.
- FILE: pyrightconfig.json
- RESULT: OK
- NOTES:
- No correctness or security defects found in this static-analysis config during line-by-line review.
- FILE: settings.gradle
- RESULT: OK
- NOTES:
- No correctness or security defects found in this build settings file during line-by-line review.
- FILE: src/main/resources/config.yml
- RESULT: OK
- NOTES:
- No correctness or security defects found in this runtime config file during line-by-line review.
- FILE: src/main/resources/plugin.yml
- RESULT: OK
- NOTES:
- No correctness or security defects found in this plugin metadata file during line-by-line review.
- FILE: src/main/resources/python/bridge/MANIFEST
- RESULT: ISSUE
- NOTES:
- [HIGH] src/main/resources/python/bridge/MANIFEST:4-37 omits several shipped extension files (`extensions/loot_table.py`, `extensions/placeholder.py`, `extensions/scheduler.py`, `extensions/schematic.py`, `extensions/state_machine.py`, `extensions/tab_list.py`). Runtime bridge package copying uses this manifest, so omitted modules are not deployed and imports can fail.
- FILE: examples/crypt_rooms/entrance.droom
- RESULT: OK
- NOTES:
- No correctness or security defects found in this room template during line-by-line review.
- FILE: examples/crypt_rooms/straight.droom
- RESULT: OK
- NOTES:
- No correctness or security defects found in this room template during line-by-line review.
- FILE: examples/crypt_rooms/t_crossing.droom
- RESULT: OK
- NOTES:
- No correctness or security defects found in this room template during line-by-line review.
- FILE: examples/crypt_rooms/turn.droom
- RESULT: OK
- NOTES:
- No correctness or security defects found in this room template during line-by-line review.
- FILE: examples/crypt_rooms/x_crossing.droom
- RESULT: OK
- NOTES:
- No correctness or security defects found in this room template during line-by-line review.
- FILE: releases/pyjavabridge-1A.jar
- RESULT: OK
- NOTES:
- Binary release artifact reviewed at metadata level only; no line-based source review possible.
- FILE: releases/pyjavabridge-1B.jar
- RESULT: OK
- NOTES:
- Binary release artifact reviewed at metadata level only; no line-based source review possible.
- FILE: releases/pyjavabridge-1C.jar
- RESULT: OK
- NOTES:
- Binary release artifact reviewed at metadata level only; no line-based source review possible.
- FILE: releases/pyjavabridge-1D.jar
- RESULT: OK
- NOTES:
- Binary release artifact reviewed at metadata level only; no line-based source review possible.
- FILE: releases/pyjavabridge-2A.jar
- RESULT: OK
- NOTES:
- Binary release artifact reviewed at metadata level only; no line-based source review possible.
- FILE: releases/pyjavabridge-3A.jar
- RESULT: OK
- NOTES:
- Binary release artifact reviewed at metadata level only; no line-based source review possible.
- FILE: releases/pyjavabridge-3B.jar
- RESULT: OK
- NOTES:
- Binary release artifact reviewed at metadata level only; no line-based source review possible.
- FILE: releases/pyjavabridge-3C.jar
- RESULT: OK
- NOTES:
- Binary release artifact reviewed at metadata level only; no line-based source review possible.
- FILE: releases/pyjavabridge-3D.jar
- RESULT: OK
- NOTES:
- Binary release artifact reviewed at metadata level only; no line-based source review possible.
- FILE: releases/pyjavabridge-4A.jar
- RESULT: OK
- NOTES:
- Binary release artifact reviewed at metadata level only; no line-based source review possible.
- FILE: releases/pyjavabridge-dev.jar
- RESULT: OK
- NOTES:
- Binary release artifact reviewed at metadata level only; no line-based source review possible.
- FILE: docs/favicon.svg
- RESULT: OK
- NOTES:
- No correctness or security defects found in this documentation asset during line-by-line review.
- FILE: docs/script.js
- RESULT: ISSUE
- NOTES:
- [LOW] docs/script.js:323 references `h.heading`, but search hit objects never set `heading`; section heading context is dropped from rendered search results.
- FILE: docs/site/ability.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/actionbardisplay.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/advancement.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/attribute.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/bank.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/block.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/blockdisplay.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/blocksnapshot.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/bookbuilder.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/bossbar.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/bossbardisplay.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/bridge.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/chat.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/chunk.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/clientmod.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/combat.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/config.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/cooldown.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/customitem.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/datapack_runtime.html
- RESULT: ISSUE
- NOTES:
- [MEDIUM] docs/site/datapack_runtime.html is tracked in Git but missing in the current working tree, so a line-by-line current-file review is not possible for this path.
- FILE: docs/site/debugging.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/decorators.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/dialog.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/dungeon.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/effect.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/entity.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/entitysubtypes.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/enums.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/enumvalue.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/event.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/events_internal.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/examples.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/examples_command.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/examples_dungeon.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/examples_spawn_protect.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/examples_tempban.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/exceptions.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/execution.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/favicon.svg
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/firework.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/git_meta.json
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/guild.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/hologram.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/imagedisplay.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/index.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/inventory.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/item.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/itembuilder.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/itemdisplay.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/leaderboard.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/levels.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/lifecycle.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/location.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/loottable.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/mana.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/menu.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/menuitem.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/meshdisplay.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/npc.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/objective.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/paginator.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/party.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/placeholder.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/player.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/playerdatastore.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/potion.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/quest.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/raycast.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/recipe.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/reflect.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/region.html
- RESULT: OK
- NOTES:
- Generated documentation artifact reviewed line-by-line; no correctness or security defects found affecting runtime logic.
- FILE: docs/site/scheduler.html