@chamosmp-net/replay-viewer 0.0.0-stage → 1.16.1
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.
- package/LICENSE +661 -0
- package/README.md +9 -3
- package/dist/atlas/1.21.11/armor/chainmail_layer_1.png +0 -0
- package/dist/atlas/1.21.11/armor/chainmail_layer_2.png +0 -0
- package/dist/atlas/1.21.11/armor/diamond_layer_1.png +0 -0
- package/dist/atlas/1.21.11/armor/diamond_layer_2.png +0 -0
- package/dist/atlas/1.21.11/armor/gold_layer_1.png +0 -0
- package/dist/atlas/1.21.11/armor/gold_layer_2.png +0 -0
- package/dist/atlas/1.21.11/armor/iron_layer_1.png +0 -0
- package/dist/atlas/1.21.11/armor/iron_layer_2.png +0 -0
- package/dist/atlas/1.21.11/armor/leather_layer_1.png +0 -0
- package/dist/atlas/1.21.11/armor/leather_layer_2.png +0 -0
- package/dist/atlas/1.21.11/armor/netherite_layer_1.png +0 -0
- package/dist/atlas/1.21.11/armor/netherite_layer_2.png +0 -0
- package/dist/atlas/1.21.11/armor/turtle_layer_1.png +0 -0
- package/dist/atlas/1.21.11/atlas-data.json +1 -0
- package/dist/atlas/1.21.11/atlas.png +0 -0
- package/dist/atlas/1.21.11/entities/allay.png +0 -0
- package/dist/atlas/1.21.11/entities/armadillo.png +0 -0
- package/dist/atlas/1.21.11/entities/axolotl.png +0 -0
- package/dist/atlas/1.21.11/entities/bat.png +0 -0
- package/dist/atlas/1.21.11/entities/bee.png +0 -0
- package/dist/atlas/1.21.11/entities/blaze.png +0 -0
- package/dist/atlas/1.21.11/entities/bogged.png +0 -0
- package/dist/atlas/1.21.11/entities/breeze.png +0 -0
- package/dist/atlas/1.21.11/entities/camel.png +0 -0
- package/dist/atlas/1.21.11/entities/cat.png +0 -0
- package/dist/atlas/1.21.11/entities/cave_spider.png +0 -0
- package/dist/atlas/1.21.11/entities/creaking.png +0 -0
- package/dist/atlas/1.21.11/entities/creeper.png +0 -0
- package/dist/atlas/1.21.11/entities/dolphin.png +0 -0
- package/dist/atlas/1.21.11/entities/donkey.png +0 -0
- package/dist/atlas/1.21.11/entities/drowned.png +0 -0
- package/dist/atlas/1.21.11/entities/elder_guardian.png +0 -0
- package/dist/atlas/1.21.11/entities/enderman.png +0 -0
- package/dist/atlas/1.21.11/entities/endermite.png +0 -0
- package/dist/atlas/1.21.11/entities/evoker.png +0 -0
- package/dist/atlas/1.21.11/entities/fox.png +0 -0
- package/dist/atlas/1.21.11/entities/frog.png +0 -0
- package/dist/atlas/1.21.11/entities/ghast.png +0 -0
- package/dist/atlas/1.21.11/entities/glow_squid.png +0 -0
- package/dist/atlas/1.21.11/entities/goat.png +0 -0
- package/dist/atlas/1.21.11/entities/guardian.png +0 -0
- package/dist/atlas/1.21.11/entities/hoglin.png +0 -0
- package/dist/atlas/1.21.11/entities/horse.png +0 -0
- package/dist/atlas/1.21.11/entities/husk.png +0 -0
- package/dist/atlas/1.21.11/entities/iron_golem.png +0 -0
- package/dist/atlas/1.21.11/entities/llama.png +0 -0
- package/dist/atlas/1.21.11/entities/magma_cube.png +0 -0
- package/dist/atlas/1.21.11/entities/mooshroom.png +0 -0
- package/dist/atlas/1.21.11/entities/mule.png +0 -0
- package/dist/atlas/1.21.11/entities/ocelot.png +0 -0
- package/dist/atlas/1.21.11/entities/panda.png +0 -0
- package/dist/atlas/1.21.11/entities/phantom.png +0 -0
- package/dist/atlas/1.21.11/entities/piglin.png +0 -0
- package/dist/atlas/1.21.11/entities/piglin_brute.png +0 -0
- package/dist/atlas/1.21.11/entities/pillager.png +0 -0
- package/dist/atlas/1.21.11/entities/polar_bear.png +0 -0
- package/dist/atlas/1.21.11/entities/rabbit.png +0 -0
- package/dist/atlas/1.21.11/entities/ravager.png +0 -0
- package/dist/atlas/1.21.11/entities/sheep.png +0 -0
- package/dist/atlas/1.21.11/entities/shulker.png +0 -0
- package/dist/atlas/1.21.11/entities/silverfish.png +0 -0
- package/dist/atlas/1.21.11/entities/skeleton.png +0 -0
- package/dist/atlas/1.21.11/entities/skeleton_horse.png +0 -0
- package/dist/atlas/1.21.11/entities/slime.png +0 -0
- package/dist/atlas/1.21.11/entities/sniffer.png +0 -0
- package/dist/atlas/1.21.11/entities/snow_golem.png +0 -0
- package/dist/atlas/1.21.11/entities/spider.png +0 -0
- package/dist/atlas/1.21.11/entities/squid.png +0 -0
- package/dist/atlas/1.21.11/entities/stray.png +0 -0
- package/dist/atlas/1.21.11/entities/strider.png +0 -0
- package/dist/atlas/1.21.11/entities/trader_llama.png +0 -0
- package/dist/atlas/1.21.11/entities/turtle.png +0 -0
- package/dist/atlas/1.21.11/entities/vex.png +0 -0
- package/dist/atlas/1.21.11/entities/villager.png +0 -0
- package/dist/atlas/1.21.11/entities/vindicator.png +0 -0
- package/dist/atlas/1.21.11/entities/wandering_trader.png +0 -0
- package/dist/atlas/1.21.11/entities/warden.png +0 -0
- package/dist/atlas/1.21.11/entities/witch.png +0 -0
- package/dist/atlas/1.21.11/entities/wither.png +0 -0
- package/dist/atlas/1.21.11/entities/wither_skeleton.png +0 -0
- package/dist/atlas/1.21.11/entities/wolf.png +0 -0
- package/dist/atlas/1.21.11/entities/zoglin.png +0 -0
- package/dist/atlas/1.21.11/entities/zombie.png +0 -0
- package/dist/atlas/1.21.11/entities/zombie_horse.png +0 -0
- package/dist/atlas/1.21.11/entities/zombie_villager.png +0 -0
- package/dist/atlas/1.21.11/entities/zombified_piglin.png +0 -0
- package/dist/atlas/26.1.2/armor/chainmail_layer_1.png +0 -0
- package/dist/atlas/26.1.2/armor/chainmail_layer_2.png +0 -0
- package/dist/atlas/26.1.2/armor/diamond_layer_1.png +0 -0
- package/dist/atlas/26.1.2/armor/diamond_layer_2.png +0 -0
- package/dist/atlas/26.1.2/armor/gold_layer_1.png +0 -0
- package/dist/atlas/26.1.2/armor/gold_layer_2.png +0 -0
- package/dist/atlas/26.1.2/armor/iron_layer_1.png +0 -0
- package/dist/atlas/26.1.2/armor/iron_layer_2.png +0 -0
- package/dist/atlas/26.1.2/armor/leather_layer_1.png +0 -0
- package/dist/atlas/26.1.2/armor/leather_layer_2.png +0 -0
- package/dist/atlas/26.1.2/armor/netherite_layer_1.png +0 -0
- package/dist/atlas/26.1.2/armor/netherite_layer_2.png +0 -0
- package/dist/atlas/26.1.2/armor/turtle_layer_1.png +0 -0
- package/dist/atlas/26.1.2/atlas-data.json +1 -0
- package/dist/atlas/26.1.2/atlas.png +0 -0
- package/dist/atlas/26.1.2/entities/allay.png +0 -0
- package/dist/atlas/26.1.2/entities/axolotl.png +0 -0
- package/dist/atlas/26.1.2/entities/bee.png +0 -0
- package/dist/atlas/26.1.2/entities/bogged.png +0 -0
- package/dist/atlas/26.1.2/entities/breeze.png +0 -0
- package/dist/atlas/26.1.2/entities/camel.png +0 -0
- package/dist/atlas/26.1.2/entities/cave_spider.png +0 -0
- package/dist/atlas/26.1.2/entities/creaking.png +0 -0
- package/dist/atlas/26.1.2/entities/creeper.png +0 -0
- package/dist/atlas/26.1.2/entities/donkey.png +0 -0
- package/dist/atlas/26.1.2/entities/drowned.png +0 -0
- package/dist/atlas/26.1.2/entities/enderman.png +0 -0
- package/dist/atlas/26.1.2/entities/evoker.png +0 -0
- package/dist/atlas/26.1.2/entities/fox.png +0 -0
- package/dist/atlas/26.1.2/entities/ghast.png +0 -0
- package/dist/atlas/26.1.2/entities/glow_squid.png +0 -0
- package/dist/atlas/26.1.2/entities/goat.png +0 -0
- package/dist/atlas/26.1.2/entities/hoglin.png +0 -0
- package/dist/atlas/26.1.2/entities/horse.png +0 -0
- package/dist/atlas/26.1.2/entities/husk.png +0 -0
- package/dist/atlas/26.1.2/entities/iron_golem.png +0 -0
- package/dist/atlas/26.1.2/entities/magma_cube.png +0 -0
- package/dist/atlas/26.1.2/entities/mule.png +0 -0
- package/dist/atlas/26.1.2/entities/ocelot.png +0 -0
- package/dist/atlas/26.1.2/entities/panda.png +0 -0
- package/dist/atlas/26.1.2/entities/piglin.png +0 -0
- package/dist/atlas/26.1.2/entities/piglin_brute.png +0 -0
- package/dist/atlas/26.1.2/entities/pillager.png +0 -0
- package/dist/atlas/26.1.2/entities/polar_bear.png +0 -0
- package/dist/atlas/26.1.2/entities/ravager.png +0 -0
- package/dist/atlas/26.1.2/entities/sheep.png +0 -0
- package/dist/atlas/26.1.2/entities/shulker.png +0 -0
- package/dist/atlas/26.1.2/entities/skeleton.png +0 -0
- package/dist/atlas/26.1.2/entities/skeleton_horse.png +0 -0
- package/dist/atlas/26.1.2/entities/slime.png +0 -0
- package/dist/atlas/26.1.2/entities/sniffer.png +0 -0
- package/dist/atlas/26.1.2/entities/spider.png +0 -0
- package/dist/atlas/26.1.2/entities/squid.png +0 -0
- package/dist/atlas/26.1.2/entities/stray.png +0 -0
- package/dist/atlas/26.1.2/entities/strider.png +0 -0
- package/dist/atlas/26.1.2/entities/vex.png +0 -0
- package/dist/atlas/26.1.2/entities/villager.png +0 -0
- package/dist/atlas/26.1.2/entities/vindicator.png +0 -0
- package/dist/atlas/26.1.2/entities/warden.png +0 -0
- package/dist/atlas/26.1.2/entities/wither.png +0 -0
- package/dist/atlas/26.1.2/entities/wither_skeleton.png +0 -0
- package/dist/atlas/26.1.2/entities/wolf.png +0 -0
- package/dist/atlas/26.1.2/entities/zoglin.png +0 -0
- package/dist/atlas/26.1.2/entities/zombie.png +0 -0
- package/dist/atlas/26.1.2/entities/zombie_horse.png +0 -0
- package/dist/atlas/26.1.2/entities/zombie_villager.png +0 -0
- package/dist/atlas/26.1.2/entities/zombified_piglin.png +0 -0
- package/dist/atlas/26.2/armor/chainmail_layer_1.png +0 -0
- package/dist/atlas/26.2/armor/chainmail_layer_2.png +0 -0
- package/dist/atlas/26.2/armor/diamond_layer_1.png +0 -0
- package/dist/atlas/26.2/armor/diamond_layer_2.png +0 -0
- package/dist/atlas/26.2/armor/gold_layer_1.png +0 -0
- package/dist/atlas/26.2/armor/gold_layer_2.png +0 -0
- package/dist/atlas/26.2/armor/iron_layer_1.png +0 -0
- package/dist/atlas/26.2/armor/iron_layer_2.png +0 -0
- package/dist/atlas/26.2/armor/leather_layer_1.png +0 -0
- package/dist/atlas/26.2/armor/leather_layer_2.png +0 -0
- package/dist/atlas/26.2/armor/netherite_layer_1.png +0 -0
- package/dist/atlas/26.2/armor/netherite_layer_2.png +0 -0
- package/dist/atlas/26.2/armor/turtle_layer_1.png +0 -0
- package/dist/atlas/26.2/atlas-data.json +1 -0
- package/dist/atlas/26.2/atlas.png +0 -0
- package/dist/atlas/26.2/entities/allay.png +0 -0
- package/dist/atlas/26.2/entities/axolotl.png +0 -0
- package/dist/atlas/26.2/entities/bee.png +0 -0
- package/dist/atlas/26.2/entities/bogged.png +0 -0
- package/dist/atlas/26.2/entities/breeze.png +0 -0
- package/dist/atlas/26.2/entities/camel.png +0 -0
- package/dist/atlas/26.2/entities/cave_spider.png +0 -0
- package/dist/atlas/26.2/entities/creaking.png +0 -0
- package/dist/atlas/26.2/entities/creeper.png +0 -0
- package/dist/atlas/26.2/entities/donkey.png +0 -0
- package/dist/atlas/26.2/entities/drowned.png +0 -0
- package/dist/atlas/26.2/entities/enderman.png +0 -0
- package/dist/atlas/26.2/entities/evoker.png +0 -0
- package/dist/atlas/26.2/entities/fox.png +0 -0
- package/dist/atlas/26.2/entities/ghast.png +0 -0
- package/dist/atlas/26.2/entities/glow_squid.png +0 -0
- package/dist/atlas/26.2/entities/goat.png +0 -0
- package/dist/atlas/26.2/entities/hoglin.png +0 -0
- package/dist/atlas/26.2/entities/horse.png +0 -0
- package/dist/atlas/26.2/entities/husk.png +0 -0
- package/dist/atlas/26.2/entities/iron_golem.png +0 -0
- package/dist/atlas/26.2/entities/magma_cube.png +0 -0
- package/dist/atlas/26.2/entities/mule.png +0 -0
- package/dist/atlas/26.2/entities/ocelot.png +0 -0
- package/dist/atlas/26.2/entities/panda.png +0 -0
- package/dist/atlas/26.2/entities/piglin.png +0 -0
- package/dist/atlas/26.2/entities/piglin_brute.png +0 -0
- package/dist/atlas/26.2/entities/pillager.png +0 -0
- package/dist/atlas/26.2/entities/polar_bear.png +0 -0
- package/dist/atlas/26.2/entities/ravager.png +0 -0
- package/dist/atlas/26.2/entities/sheep.png +0 -0
- package/dist/atlas/26.2/entities/shulker.png +0 -0
- package/dist/atlas/26.2/entities/skeleton.png +0 -0
- package/dist/atlas/26.2/entities/skeleton_horse.png +0 -0
- package/dist/atlas/26.2/entities/slime.png +0 -0
- package/dist/atlas/26.2/entities/sniffer.png +0 -0
- package/dist/atlas/26.2/entities/spider.png +0 -0
- package/dist/atlas/26.2/entities/squid.png +0 -0
- package/dist/atlas/26.2/entities/stray.png +0 -0
- package/dist/atlas/26.2/entities/strider.png +0 -0
- package/dist/atlas/26.2/entities/vex.png +0 -0
- package/dist/atlas/26.2/entities/villager.png +0 -0
- package/dist/atlas/26.2/entities/vindicator.png +0 -0
- package/dist/atlas/26.2/entities/warden.png +0 -0
- package/dist/atlas/26.2/entities/wither.png +0 -0
- package/dist/atlas/26.2/entities/wither_skeleton.png +0 -0
- package/dist/atlas/26.2/entities/wolf.png +0 -0
- package/dist/atlas/26.2/entities/zoglin.png +0 -0
- package/dist/atlas/26.2/entities/zombie.png +0 -0
- package/dist/atlas/26.2/entities/zombie_horse.png +0 -0
- package/dist/atlas/26.2/entities/zombie_villager.png +0 -0
- package/dist/atlas/26.2/entities/zombified_piglin.png +0 -0
- package/dist/atlas/26.3/armor/chainmail_layer_1.png +0 -0
- package/dist/atlas/26.3/armor/chainmail_layer_2.png +0 -0
- package/dist/atlas/26.3/armor/diamond_layer_1.png +0 -0
- package/dist/atlas/26.3/armor/diamond_layer_2.png +0 -0
- package/dist/atlas/26.3/armor/gold_layer_1.png +0 -0
- package/dist/atlas/26.3/armor/gold_layer_2.png +0 -0
- package/dist/atlas/26.3/armor/iron_layer_1.png +0 -0
- package/dist/atlas/26.3/armor/iron_layer_2.png +0 -0
- package/dist/atlas/26.3/armor/leather_layer_1.png +0 -0
- package/dist/atlas/26.3/armor/leather_layer_2.png +0 -0
- package/dist/atlas/26.3/armor/netherite_layer_1.png +0 -0
- package/dist/atlas/26.3/armor/netherite_layer_2.png +0 -0
- package/dist/atlas/26.3/armor/turtle_layer_1.png +0 -0
- package/dist/atlas/26.3/atlas-data.json +1 -0
- package/dist/atlas/26.3/atlas.png +0 -0
- package/dist/atlas/26.3/entities/allay.png +0 -0
- package/dist/atlas/26.3/entities/axolotl.png +0 -0
- package/dist/atlas/26.3/entities/bee.png +0 -0
- package/dist/atlas/26.3/entities/bogged.png +0 -0
- package/dist/atlas/26.3/entities/breeze.png +0 -0
- package/dist/atlas/26.3/entities/camel.png +0 -0
- package/dist/atlas/26.3/entities/cave_spider.png +0 -0
- package/dist/atlas/26.3/entities/creaking.png +0 -0
- package/dist/atlas/26.3/entities/creeper.png +0 -0
- package/dist/atlas/26.3/entities/donkey.png +0 -0
- package/dist/atlas/26.3/entities/drowned.png +0 -0
- package/dist/atlas/26.3/entities/enderman.png +0 -0
- package/dist/atlas/26.3/entities/evoker.png +0 -0
- package/dist/atlas/26.3/entities/fox.png +0 -0
- package/dist/atlas/26.3/entities/ghast.png +0 -0
- package/dist/atlas/26.3/entities/glow_squid.png +0 -0
- package/dist/atlas/26.3/entities/goat.png +0 -0
- package/dist/atlas/26.3/entities/hoglin.png +0 -0
- package/dist/atlas/26.3/entities/horse.png +0 -0
- package/dist/atlas/26.3/entities/husk.png +0 -0
- package/dist/atlas/26.3/entities/iron_golem.png +0 -0
- package/dist/atlas/26.3/entities/magma_cube.png +0 -0
- package/dist/atlas/26.3/entities/mule.png +0 -0
- package/dist/atlas/26.3/entities/ocelot.png +0 -0
- package/dist/atlas/26.3/entities/panda.png +0 -0
- package/dist/atlas/26.3/entities/piglin.png +0 -0
- package/dist/atlas/26.3/entities/piglin_brute.png +0 -0
- package/dist/atlas/26.3/entities/pillager.png +0 -0
- package/dist/atlas/26.3/entities/polar_bear.png +0 -0
- package/dist/atlas/26.3/entities/ravager.png +0 -0
- package/dist/atlas/26.3/entities/sheep.png +0 -0
- package/dist/atlas/26.3/entities/shulker.png +0 -0
- package/dist/atlas/26.3/entities/skeleton.png +0 -0
- package/dist/atlas/26.3/entities/skeleton_horse.png +0 -0
- package/dist/atlas/26.3/entities/slime.png +0 -0
- package/dist/atlas/26.3/entities/sniffer.png +0 -0
- package/dist/atlas/26.3/entities/spider.png +0 -0
- package/dist/atlas/26.3/entities/squid.png +0 -0
- package/dist/atlas/26.3/entities/stray.png +0 -0
- package/dist/atlas/26.3/entities/strider.png +0 -0
- package/dist/atlas/26.3/entities/vex.png +0 -0
- package/dist/atlas/26.3/entities/villager.png +0 -0
- package/dist/atlas/26.3/entities/vindicator.png +0 -0
- package/dist/atlas/26.3/entities/warden.png +0 -0
- package/dist/atlas/26.3/entities/wither.png +0 -0
- package/dist/atlas/26.3/entities/wither_skeleton.png +0 -0
- package/dist/atlas/26.3/entities/wolf.png +0 -0
- package/dist/atlas/26.3/entities/zoglin.png +0 -0
- package/dist/atlas/26.3/entities/zombie.png +0 -0
- package/dist/atlas/26.3/entities/zombie_horse.png +0 -0
- package/dist/atlas/26.3/entities/zombie_villager.png +0 -0
- package/dist/atlas/26.3/entities/zombified_piglin.png +0 -0
- package/dist/atlas/versions.json +9 -0
- package/dist/components/InfoButton.d.ts +8 -0
- package/dist/components/InfoButton.d.ts.map +1 -0
- package/dist/components/InfoOverlay.d.ts +12 -0
- package/dist/components/InfoOverlay.d.ts.map +1 -0
- package/dist/components/InfoSidebar.d.ts +21 -0
- package/dist/components/InfoSidebar.d.ts.map +1 -0
- package/dist/components/InventoryPanel.d.ts +67 -0
- package/dist/components/InventoryPanel.d.ts.map +1 -0
- package/dist/components/LabelingWizard.d.ts +17 -0
- package/dist/components/LabelingWizard.d.ts.map +1 -0
- package/dist/components/LoadingOverlay.d.ts +7 -0
- package/dist/components/LoadingOverlay.d.ts.map +1 -0
- package/dist/components/PlayerHUD.d.ts +18 -0
- package/dist/components/PlayerHUD.d.ts.map +1 -0
- package/dist/components/PlayerList.d.ts +51 -0
- package/dist/components/PlayerList.d.ts.map +1 -0
- package/dist/components/ReplayViewer.d.ts +28 -0
- package/dist/components/ReplayViewer.d.ts.map +1 -0
- package/dist/components/TimelineControls.d.ts +13 -0
- package/dist/components/TimelineControls.d.ts.map +1 -0
- package/dist/components/labeling/CheatTypeStep.d.ts +10 -0
- package/dist/components/labeling/CheatTypeStep.d.ts.map +1 -0
- package/dist/components/labeling/ConfidenceStep.d.ts +11 -0
- package/dist/components/labeling/ConfidenceStep.d.ts.map +1 -0
- package/dist/components/labeling/PlayerVerdictStep.d.ts +8 -0
- package/dist/components/labeling/PlayerVerdictStep.d.ts.map +1 -0
- package/dist/components/labeling/ReviewStep.d.ts +12 -0
- package/dist/components/labeling/ReviewStep.d.ts.map +1 -0
- package/dist/components/labeling/TimeRangeStep.d.ts +16 -0
- package/dist/components/labeling/TimeRangeStep.d.ts.map +1 -0
- package/dist/engine/Interpolation.d.ts +41 -0
- package/dist/engine/Interpolation.d.ts.map +1 -0
- package/dist/engine/ReplayEngine.d.ts +109 -0
- package/dist/engine/ReplayEngine.d.ts.map +1 -0
- package/dist/engine/ReplayParser.d.ts +13 -0
- package/dist/engine/ReplayParser.d.ts.map +1 -0
- package/dist/engine/ReplayParser.test.d.ts +2 -0
- package/dist/engine/ReplayParser.test.d.ts.map +1 -0
- package/dist/engine/VersionResolver.d.ts +19 -0
- package/dist/engine/VersionResolver.d.ts.map +1 -0
- package/dist/engine/WorldState.d.ts +34 -0
- package/dist/engine/WorldState.d.ts.map +1 -0
- package/dist/index.cjs +4276 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17613 -0
- package/dist/renderer/CameraController.d.ts +53 -0
- package/dist/renderer/CameraController.d.ts.map +1 -0
- package/dist/renderer/PrismarineRenderer.d.ts +250 -0
- package/dist/renderer/PrismarineRenderer.d.ts.map +1 -0
- package/dist/types/PlaybackState.d.ts +14 -0
- package/dist/types/PlaybackState.d.ts.map +1 -0
- package/dist/types/ReplayFile.d.ts +185 -0
- package/dist/types/ReplayFile.d.ts.map +1 -0
- package/dist/types/labeling.d.ts +18 -0
- package/dist/types/labeling.d.ts.map +1 -0
- package/package.json +72 -6
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { ParsedReplay } from '../types/ReplayFile';
|
|
2
|
+
import { PlaybackState, PlaybackRate } from '../types/PlaybackState';
|
|
3
|
+
import { WorldState, BlockChange } from './WorldState';
|
|
4
|
+
export type EngineListener = (state: PlaybackState, changes: BlockChange[]) => void;
|
|
5
|
+
interface EntityState {
|
|
6
|
+
entityId: number;
|
|
7
|
+
entityTypeId: number;
|
|
8
|
+
entityTypeName: string;
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
z: number;
|
|
12
|
+
yaw: number;
|
|
13
|
+
pitch: number;
|
|
14
|
+
alive: boolean;
|
|
15
|
+
}
|
|
16
|
+
interface PlayerState {
|
|
17
|
+
uuid: string;
|
|
18
|
+
playerName: string;
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
z: number;
|
|
22
|
+
yaw: number;
|
|
23
|
+
pitch: number;
|
|
24
|
+
alive: boolean;
|
|
25
|
+
sneaking: boolean;
|
|
26
|
+
lastSwingTime: number;
|
|
27
|
+
lastDamageTime: number;
|
|
28
|
+
skinUuid: string;
|
|
29
|
+
heldItem: string;
|
|
30
|
+
equipment: Map<number, {
|
|
31
|
+
itemName: string;
|
|
32
|
+
enchantments?: Array<{
|
|
33
|
+
id: string;
|
|
34
|
+
level: number;
|
|
35
|
+
}>;
|
|
36
|
+
}>;
|
|
37
|
+
health: number;
|
|
38
|
+
food: number;
|
|
39
|
+
saturation: number;
|
|
40
|
+
effects: Array<{
|
|
41
|
+
effectTypeId: number;
|
|
42
|
+
amplifier: number;
|
|
43
|
+
durationTicks: number;
|
|
44
|
+
appliedAtMs: number;
|
|
45
|
+
}>;
|
|
46
|
+
inventory: Map<number, {
|
|
47
|
+
itemName: string;
|
|
48
|
+
count: number;
|
|
49
|
+
enchantments?: Array<{
|
|
50
|
+
id: string;
|
|
51
|
+
level: number;
|
|
52
|
+
}>;
|
|
53
|
+
}>;
|
|
54
|
+
}
|
|
55
|
+
export declare class ReplayEngine {
|
|
56
|
+
private replay;
|
|
57
|
+
private worldState;
|
|
58
|
+
private playing;
|
|
59
|
+
private currentTimeMs;
|
|
60
|
+
private totalDurationMs;
|
|
61
|
+
private rate;
|
|
62
|
+
private followingPlayer;
|
|
63
|
+
private listeners;
|
|
64
|
+
private animationFrameId;
|
|
65
|
+
private lastFrameTime;
|
|
66
|
+
private entities;
|
|
67
|
+
private players;
|
|
68
|
+
private playerSkins;
|
|
69
|
+
private playerMoveEvents;
|
|
70
|
+
private entityMoveEvents;
|
|
71
|
+
private currentEventIndex;
|
|
72
|
+
constructor(replay: ParsedReplay);
|
|
73
|
+
private buildMoveIndices;
|
|
74
|
+
subscribe(listener: EngineListener): () => void;
|
|
75
|
+
play(): void;
|
|
76
|
+
pause(): void;
|
|
77
|
+
seek(timeMs: number): void;
|
|
78
|
+
setRate(rate: PlaybackRate): void;
|
|
79
|
+
followPlayer(uuid: string | null): void;
|
|
80
|
+
getState(): PlaybackState;
|
|
81
|
+
getPlayers(): Map<string, PlayerState>;
|
|
82
|
+
getPlayerSkin(uuid: string): Uint8Array | undefined;
|
|
83
|
+
getEntities(): Map<number, EntityState>;
|
|
84
|
+
getWorldState(): WorldState;
|
|
85
|
+
/** Get interpolated entity position at current time */
|
|
86
|
+
getInterpolatedEntityPosition(entityId: number): {
|
|
87
|
+
x: number;
|
|
88
|
+
y: number;
|
|
89
|
+
z: number;
|
|
90
|
+
yaw: number;
|
|
91
|
+
pitch: number;
|
|
92
|
+
} | null;
|
|
93
|
+
/** Get interpolated player position at current time */
|
|
94
|
+
getInterpolatedPlayerPosition(uuid: string): {
|
|
95
|
+
x: number;
|
|
96
|
+
y: number;
|
|
97
|
+
z: number;
|
|
98
|
+
yaw: number;
|
|
99
|
+
pitch: number;
|
|
100
|
+
} | null;
|
|
101
|
+
private tick;
|
|
102
|
+
private processEventsTo;
|
|
103
|
+
private applyEvent;
|
|
104
|
+
private rebuildEntityState;
|
|
105
|
+
private notifyListeners;
|
|
106
|
+
dispose(): void;
|
|
107
|
+
}
|
|
108
|
+
export {};
|
|
109
|
+
//# sourceMappingURL=ReplayEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReplayEngine.d.ts","sourceRoot":"","sources":["../../src/engine/ReplayEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ParsedReplay } from '../types/ReplayFile';
|
|
2
|
+
/**
|
|
3
|
+
* Parse a .modlreplay binary file from an ArrayBuffer.
|
|
4
|
+
* Automatically decompresses gzip if detected.
|
|
5
|
+
*/
|
|
6
|
+
export declare function parseReplayAsync(buffer: ArrayBuffer): Promise<ParsedReplay>;
|
|
7
|
+
/**
|
|
8
|
+
* Parse a .modlreplay binary file from an ArrayBuffer.
|
|
9
|
+
* Uses DataView for big-endian reads (matching Java DataOutputStream).
|
|
10
|
+
* @deprecated Use parseReplayAsync for gzip support.
|
|
11
|
+
*/
|
|
12
|
+
export declare function parseReplay(buffer: ArrayBuffer): ParsedReplay;
|
|
13
|
+
//# sourceMappingURL=ReplayParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReplayParser.d.ts","sourceRoot":"","sources":["../../src/engine/ReplayParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EAIb,MAAM,qBAAqB,CAAC;AAqB7B;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAKjF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAE7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReplayParser.test.d.ts","sourceRoot":"","sources":["../../src/engine/ReplayParser.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version resolution for atlas loading.
|
|
3
|
+
* Maps a replay's MC version to the best available atlas version.
|
|
4
|
+
*/
|
|
5
|
+
export interface VersionManifest {
|
|
6
|
+
versions: string[];
|
|
7
|
+
default: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Resolve the best atlas version for a given MC version.
|
|
11
|
+
*
|
|
12
|
+
* Strategy:
|
|
13
|
+
* 1. Exact match
|
|
14
|
+
* 2. Closest same major.minor by absolute patch distance
|
|
15
|
+
* 3. Closest same major by absolute minor distance
|
|
16
|
+
* 4. Fallback to manifest default
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveAtlasVersion(mcVersion: string, manifest: VersionManifest): string;
|
|
19
|
+
//# sourceMappingURL=VersionResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionResolver.d.ts","sourceRoot":"","sources":["../../src/engine/VersionResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAUD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAqCxF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { BlockSnapshot, ParsedReplay } from '../types/ReplayFile';
|
|
2
|
+
/**
|
|
3
|
+
* Manages world block state, supporting forward/backward seeking.
|
|
4
|
+
* Entity/player state is handled separately by ReplayEngine.
|
|
5
|
+
*/
|
|
6
|
+
export declare class WorldState {
|
|
7
|
+
/** Initial snapshot blocks, keyed by "x,y,z" */
|
|
8
|
+
private initialBlocks;
|
|
9
|
+
/** Current block states, keyed by "x,y,z" */
|
|
10
|
+
private currentBlocks;
|
|
11
|
+
/** Block change events sorted by timestamp */
|
|
12
|
+
private blockChanges;
|
|
13
|
+
/** Current index into blockChanges (events up to this index have been applied) */
|
|
14
|
+
private currentIndex;
|
|
15
|
+
constructor(replay: ParsedReplay);
|
|
16
|
+
/**
|
|
17
|
+
* Advance or rewind world state to the given timestamp.
|
|
18
|
+
* Returns the list of blocks that changed since the last call.
|
|
19
|
+
*/
|
|
20
|
+
advanceTo(timeMs: number): BlockChange[];
|
|
21
|
+
private needsReset;
|
|
22
|
+
private resetAndReplayTo;
|
|
23
|
+
/** Get the current state ID of a block, or undefined if not in snapshot */
|
|
24
|
+
getBlockState(x: number, y: number, z: number): number | undefined;
|
|
25
|
+
/** Get all current blocks (for initial rendering) */
|
|
26
|
+
getAllBlocks(): BlockSnapshot[];
|
|
27
|
+
}
|
|
28
|
+
export interface BlockChange {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
z: number;
|
|
32
|
+
stateId: number;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=WorldState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorldState.d.ts","sourceRoot":"","sources":["../../src/engine/WorldState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4C,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE5G;;;GAGG;AACH,qBAAa,UAAU;IACrB,gDAAgD;IAChD,OAAO,CAAC,aAAa,CAAsB;IAC3C,6CAA6C;IAC7C,OAAO,CAAC,aAAa,CAAsB;IAC3C,8CAA8C;IAC9C,OAAO,CAAC,YAAY,CAAqB;IACzC,kFAAkF;IAClF,OAAO,CAAC,YAAY,CAAa;gBAErB,MAAM,EAAE,YAAY;IAehC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE;IAsBxC,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,gBAAgB;IASxB,2EAA2E;IAC3E,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIlE,qDAAqD;IACrD,YAAY,IAAI,aAAa,EAAE;CAQhC;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACjB"}
|