MCPcopy Index your code
hub / github.com/KotlinFactory/SimplixStorage

github.com/KotlinFactory/SimplixStorage @3.2.7

Chat with this repo
repository ↗ · DeepWiki ↗ · release 3.2.7 ↗ · + Follow
338 symbols 1,053 edges 42 files 68 documented · 20%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SimplixStorage

SimplixStorage - A Library to store data in a better way.

Discord GitHub

Overview

Do you want to save your config files easily and independently from Bukkit or BungeeCord?

Want to do more than just use simple .yml files to store data?

Are you looking for a powerful "bukkitlike" (Very similar to Bukkit config) library to store data in files?

Then this library is just right for you.

I was looking for a library that I could use to store data with Bukkit like methods without being depended on Bukkit/BungeeCord. But there was nothing out there, so I decided to write my own library. Of course there are a few libraries with bukkitlike methods but no one has the features that I need. ThunderBolt-2 for example only supports Json files but does not support nested objects. Now I'm publishing this library because I think libraries of high quality should be publicly available for everyone. Now it is here: SimplixStorage!

SimplixStorage is extremely fast & good at storing data reliably!

It also supports nested objects!

Like bukkit it has a contains check. SimplixStorage is licensed under the Apache2 license, which means that you can also use it in private projects that are not open source.

If you have any ideas to add or issues just open a issue page. I will do my best to help.

For more details, see the wiki

Supported data types

At the moment SimplixStorage supports three file types:

Json:

A very fast and slim file format. It is much faster than yaml files and is therefore better suited for storing larger amounts of data, such as player data (rank, money, playtime, etc).

https://stackoverflow.com/questions/2451732/how-is-it-that-json-serialization-is-so-much-faster-than-yaml-serialization-in-p/2452043#2452043

Yaml:

Yaml files are not as fast as json files, but they are easier to read and are therefore more suitable than configuration files, as you often find them in bukkit plugins in the form of "config.yml".

Toml:

Toml is a compromise between the readybility of Yaml and the performance of Json, thus being a quite good way to go.

Library's used:

SimplixStorage uses a powerful combination of libraries to provide the best usability:

MIT-org.json Copyright (c) 2002 JSON.org

YAMLBEANS - Copyright (c) 2008 Nathan Sweet, Copyright (c) 2006 Ola Bini

TOML-Lib - Copyright (c) 2016 Guillaume Raffin.

Extension points exported contracts — how you extend this code

DataStorage (Interface)
(no doc) [2 implementers]
src/main/java/de/leonhard/storage/internal/DataStorage.java
SimplixSerializable (Interface)
(no doc)
src/main/java/de/leonhard/storage/internal/serialize/SimplixSerializable.java
MapProvider (Interface)
(no doc)
src/main/java/de/leonhard/storage/internal/provider/MapProvider.java

Core symbols most depended-on inside this repo

write
called by 52
src/main/java/de/leonhard/storage/internal/editor/toml/TomlWriter.java
get
called by 41
src/main/java/de/leonhard/storage/internal/DataStorage.java
append
called by 31
src/main/java/de/leonhard/storage/util/FastStringWriter.java
getName
called by 26
src/main/java/de/leonhard/storage/internal/FlatFile.java
create
called by 18
src/main/java/de/leonhard/storage/internal/FlatFile.java
getParentDirPath
called by 16
src/main/java/de/leonhard/storage/util/FileUtils.java
containsKey
called by 15
src/main/java/de/leonhard/storage/internal/FileData.java
next
called by 15
src/main/java/de/leonhard/storage/internal/editor/toml/TomlReader.java

Shape

Method 289
Class 42
Enum 4
Interface 3

Languages

Java100%

Modules by API surface

src/main/java/de/leonhard/storage/internal/FlatFile.java33 symbols
src/main/java/de/leonhard/storage/internal/DataStorage.java30 symbols
src/main/java/de/leonhard/storage/internal/FileData.java24 symbols
src/main/java/de/leonhard/storage/util/ClassWrapper.java23 symbols
src/main/java/de/leonhard/storage/util/FileUtils.java21 symbols
src/main/java/de/leonhard/storage/internal/editor/toml/TomlReader.java19 symbols
src/main/java/de/leonhard/storage/SimplixBuilder.java17 symbols
src/main/java/de/leonhard/storage/internal/editor/toml/TomlWriter.java14 symbols
src/test/java/de/leonhard/storage/ConfigTest.java11 symbols
src/main/java/de/leonhard/storage/internal/editor/yaml/YamlEditor.java11 symbols
src/main/java/de/leonhard/storage/Yaml.java11 symbols
src/main/java/de/leonhard/storage/sections/FlatFileSection.java10 symbols

For agents

$ claude mcp add SimplixStorage \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact