All Projects → kOFReadie → BSDataPuller

kOFReadie / BSDataPuller

Licence: GPL-3.0 license
Gathers data about the current map you are playing to then be sent out over a websocket for other software to use, e.g. A web overlay like BSDP-Overlay. This mod works with multi PC setups!

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to BSDataPuller

VMCAvatar-BS
VRM avatar loader with Virtual Motion Capture for Beat Saber
Stars: ✭ 106 (+231.25%)
Mutual labels:  mod, beatsaber
ModelDownloader
A PC Beat Saber mod that allows you to download Sabers, Notes, Platforms, and Avatars directly from ModelSaber, all from a convenient window within your game.
Stars: ✭ 27 (-15.62%)
Mutual labels:  mod, beatsaber
BeatSaberServerBrowser
Beat Saber modification that adds a Server Browser to the Online menu, making it easy to share and join custom multiplayer games.
Stars: ✭ 101 (+215.63%)
Mutual labels:  mod, beatsaber
Randomly-Adding-Anything
No description or website provided.
Stars: ✭ 42 (+31.25%)
Mutual labels:  mod
Regeneration
Minecraft Mod that adds the concept of Regeneration from the show Doctor who
Stars: ✭ 22 (-31.25%)
Mutual labels:  mod
relics
No description or website provided.
Stars: ✭ 24 (-25%)
Mutual labels:  mod
Nuclear-Control
An updated version of nuclear control.
Stars: ✭ 25 (-21.87%)
Mutual labels:  mod
EMF
Extended Mechanics & Flavor
Stars: ✭ 33 (+3.13%)
Mutual labels:  mod
AutoUpdater
AutoUpdater :: Automatic Mindustry updater mod.
Stars: ✭ 12 (-62.5%)
Mutual labels:  mod
The-Aether
The original "The Aether" mod, rewritten to be ported to Minecraft 1.18 and beyond.
Stars: ✭ 85 (+165.63%)
Mutual labels:  mod
software-inc-multiplayer
A multiplayer mod for Software Inc written in C# for Unity.
Stars: ✭ 17 (-46.87%)
Mutual labels:  mod
KK Plugins
Various plugins for various Illusion games
Stars: ✭ 241 (+653.13%)
Mutual labels:  mod
advanced-mining-dimension
A dimension consisting just of caves.
Stars: ✭ 15 (-53.12%)
Mutual labels:  mod
pocketmod
Small ANSI C library for turning ProTracker MOD files into playable PCM audio.
Stars: ✭ 54 (+68.75%)
Mutual labels:  mod
equine
Mod manager/launcher for Diablo 1
Stars: ✭ 27 (-15.62%)
Mutual labels:  mod
carpet-discarpet
Fabric carpet extension that adds discord functionality to scarpet
Stars: ✭ 26 (-18.75%)
Mutual labels:  mod
MC-Remapper
Deobfuscator for Minecraft by mapping json
Stars: ✭ 104 (+225%)
Mutual labels:  mod
FactorioMods
Various mods for the game Factorio
Stars: ✭ 12 (-62.5%)
Mutual labels:  mod
Presence-Footsteps
An overly complicated footstep sound enhancement mod for Minecraft
Stars: ✭ 79 (+146.88%)
Mutual labels:  mod
factorio-example-mod
Lightweight modular example mod with various features and compatibilities
Stars: ✭ 15 (-53.12%)
Mutual labels:  mod

DataPuller

Gathers data about the current map you are playing to then be sent out over a websocket for other software to use, e.g. A web overlay like BSDP-Overlay. This mod works with multi PC setups!

Installation:

To install this mod, download the latest version and place the DataPuller.dll into your mods folder. Make sure to also have any of the dependencies listed below installed too.

Dependencies, these can all be found on the Mod Assistant app:

In order for this mod to function properly you must have installed the following mods:

Overlays:

There are few overlays that I know of at the moment that work with this mod but here are some:

Overlay Creator
BSDP-Overlay kOF.Readie
Freakylay UnskilledFreak

Planned changes:

  • Other players status in multiplayer
  • Campaign mode

Output data:

This mod outputs quite a bit of data to be used by other mods and overlays. Here is some of the data that the mod exposes:

  • Map info:
    • Hash
    • Song name
    • Song sub name
    • Song author
    • Mapper
    • BSR key
    • Cover image
    • Length
    • Time elapsed
  • Difficulty info:
    • Map type
    • Difficulty
    • PP
    • Star
    • BPM
    • NJS
    • Modifiers
    • Pratice mode
  • Level info:
    • Paused
    • Failed
    • Finished
    • Quit
  • Score info:
    • Score
    • Score with modifiers
    • Previous record
    • Full combo
    • Combo
    • Misses
    • Accuracy
    • Block hit score
    • Health

And more!

Dev docs (WIP):

I've not got much here yet but to make a start I will provide some sample data that is sent out over the websocket, I may have forgotten some of the details here but this should be enough to get going for now.
The data is sent out as a JSON over an unsecure websocket at ws://0.0.0.0:2946/BSDataPuller/<DATACLASS>.
I am working on getting it to be sent out over a secure websocket but unfortunatly I dont think it would be possible.
If you want to access this data with another mod, add DataPuller as a refrence and subscribe to the data classes Update events, they will pass the data as a JSON however you can read the values straight from the class if you do <class>.<data>. There are currently two data classes, they are:
MapData:
This is sent out every time a level is started, failed or paused.

{
    "GameVersion": "1.13.2",
    "PluginVersion": "2.0.0.0",
    "InLevel": true,
    "LevelPaused": false,
    "LevelFinished": false,
    "LevelFailed": false,
    "LevelQuit": false,
    "Hash": "648B6FE961C398DE638FA1E614878F1194ADF92E",
    "SongName": "Tera I/O",
    "SongSubName": "[200 Step]",
    "SongAuthor": "Camellia",
    "Mapper": "cerret",
    "BSRKey": "11a27",
    "coverImage": "https://beatsaver.com/cdn/11a27/648b6fe961c398de638fa1e614878f1194adf92e.jpg",
    "Length": 336,
    "TimeScale": 0,
    "MapType": "Standard",
    "Difficulty": "ExpertPlus",
    "CustomDifficultyLabel": "Normal",
    "BPM": 200,
    "NJS": 23,
    "Modifiers":
    {
        "instaFail": false,
        "batteryEnergy": false,
        "disappearingArrows": false,
        "ghostNotes": false,
        "fasterSong": false,
        "noFail": false,
        "noObstacles": false,
        "noBombs": false,
        "slowerSong": false,
        "noArrows": false
    },
    "ModifiersMultiplier": 1,
    "PracticeMode": false,
    "PracticeModeModifiers":
    {
        "songSpeedMul": 1
    },
    "PP": 0,
    "Star": 0,
    "IsMultiplayer": false,
    "PreviousRecord": 2714014,
    "PreviousBSR": null,
    "unixTimestamp": 1631935482036
}

LiveData:
This data is sent out every time the score is updated, health is lost or the time progresses.

{
    "Score": 574728,
    "ScoreWithMultipliers": 574728,
    "MaxScore": 612835,
    "MaxScoreWithMultipliers": 612835,
    "Rank": "SS",
    "FullCombo": false,
    "Combo": 352,
    "Misses": 2,
    "Accuracy": 94.20143961906433,
    "BlockHitScore":
    [
        70,
        30,
        14
    ],
    "PlayerHealth": 100,
    "TimeElapsed": 77,
    "unixTimestamp": 1631935485375
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].