Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
cooffeeRequired authored Feb 3, 2025
1 parent 791feef commit 2dc8b04
Showing 1 changed file with 49 additions and 38 deletions.
87 changes: 49 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SkJson 4.5 (WIP)
<center>

![GitHub release](https://img.shields.io/github/release/SkJsonTeam/skJson?style=for-the-badge)
![GitHub issues](https://img.shields.io/github/issues-raw/SkJsonTeam/skJson?style=for-the-badge)
Expand All @@ -8,58 +8,69 @@
![License](https://img.shields.io/github/license/SkJsonTeam/skJson?style=for-the-badge)
[![CodeFactor](https://www.codefactor.io/repository/github/cooffeerequired/skjson/badge)](https://www.codefactor.io/repository/github/cooffeerequired/skjson)

</center>

<br />

<center>

[//]: # (<- Header ->)
<p align="center" style="align: center; text-align: center">
<img align="center" alt="SkJson" width="40%" src="https://i.ibb.co/DrTZJGP/banner-with-info.png">
</p>
<h1 align="center">SkJson <img align="center" style="border-radius: 20px;" alt="SkJson" width="5%" src="https://i.ibb.co/zV3Pxht/New-Project-4.png"></h1>
<img align="center" style="border-radius: 20px;" alt="SkJson" width="5%" src="https://i.ibb.co/zV3Pxht/New-Project-4.png">

<h3 align="center">The modern way how to handle JSON in Skript</h3>
<h6 align="center">The addon uses GSON (Google JSON) for work with JSON in Skript</h6>
<h6 align="center">Addon for handle JSON easily in <b>SkriptLang</b></h6>
<hr>

## 📑 Requirements

* **Java 21+**
* **Minecraft 1.16.5+**
* **Skript 2.9.2+**
### Support for servers

| 📑 Spigot | 🔑 Paper | 🆘 Purpur |
|--------------------------------------|-------------------------------------- |--------------------------------------|
| Java 21 + | Java 21 + | Java 21 + |
| Minecraft 1.16.5 + | Minecraft 1.16.5 + | Minecraft 1.16.5 + |
| Skript 2.9.2 + | Skript 2.9.2 + | Skript 2.9.2 + |

</center>

## 🔑 Recommended Tools

* **[Visual Studio Code](https://code.visualstudio.com/download)**
* **[Skript Extension](https://marketplace.visualstudio.com/items?itemName=JohnHeikens.skript)**


## 🆘 Where Can I Get Help?

* **[Discord](https://discord.gg/dsZq5Cs9fd)**
* **[SkUnity](https://skunity.com/)**
* **[Email](mailto:nextikczcz@gmail.com)** (Only for major issues and projects)

## 💡 What's New in SkJson?

The new version of SkJson is currently a **Work in Progress (WIP)**. Our goal is to make JSON handling in Skript easier and more efficient than ever before. This release will feature major improvements in terms of performance, usability, and compatibility, providing you with a seamless experience for all your scripting needs.

- **Java 21+ Compatibility**: SkJson now requires Java 21 or higher, ensuring that the addon takes full advantage of the latest performance improvements and language features.
- **Skript 2.9.2+ Compatibility**: Updated compatibility to require Skript 2.9.2+, providing better support and additional features that enhance your scripting workflow.
- **Enhanced JSON Parsing**: The new version significantly optimizes JSON parsing using GSON, resulting in faster and more reliable JSON handling.
- **Modular Architecture**: SkJson has been redesigned to offer a more modular architecture, making it easier to extend functionalities and customize the addon to fit your needs.
- **Improved Error Handling**: Added detailed error messages and handling mechanisms to make debugging easier and to provide more insight into what might go wrong during JSON operations.
- **Better Performance**: With the new Java version requirements, SkJson utilizes improved garbage collection and other JVM enhancements to boost performance, especially when dealing with large JSON structures.
- **Streamlined API**: The API has been simplified to reduce complexity. Many methods have been refined to provide a more intuitive experience for developers.

### Upcoming Features:

- **File Handling Improvements**: Expect better integration for reading, writing, and updating JSON files with more control and options.
- **Skript/Bukkit Object Serialization**: Enhanced capabilities for converting Bukkit and Skript objects directly into JSON and vice versa, making it even easier to work with in-game data.
- **Advanced Request Handling**: Improved support for HTTP requests, including additional methods (POST, PUT, DELETE) with simplified syntax and more customization options.
- **Async JSON Operations**: Support for asynchronous JSON processing to prevent lag during heavy JSON operations and to improve server responsiveness.

Stay tuned for the upcoming features and examples that will make working with JSON more powerful and intuitive!

<hr>

[<img style="width: 20%" src="https://skripthub.net/static/addon/ViewTheDocsButton.png">](https://skripthub.net/docs/?addon=skJson)
[<img style="width: 22%" src="https://skunity.com/branding/buttons/get_on_docs_4.png">](https://docs.skunity.com/syntax/search/addon:skjson)
[<img style="width: 10%" src="https://static.spigotmc.org/img/spigot.png">](https://www.spigotmc.org/resources/skjson.106019/)
* **[Email](mailto:admin@coffeerequired.info)**

## ❓ What can SkJson do?

* create JSON from string and other sources, for example from various Bukkit objects such as `Location, Player, Entitiy, Inventory, and many more`
* it can also work with `.json` files, in the future it will also be able to work with `.jsonc` -> which are files that can contain comments.
* it can also report HTTP requests and send http responses json encoded.
* it can also work with `FileWatchers` which is an advantage when for example you have a file that changes the server like for example `ops.json` -> a file that contains Server Operators
* at this point SkJson can read this file and can update its cache with each change
* `SkJson` works with **`MemoryCache`** so it is very fast to write and read around `100-1000 us`
* `SkJson` allows to create `VirtualCachedJson` which is a type of storage something like `Script` variables, it serves as a dynamic storage for various things.
* `SkJson` also supports NBT thanks to **NBT-API**, so you won't lose NBT from given input when serializing.
* `SKJson` in the last line can serialize and deserialize almost everything you know in MC.

## 🌀 Get started
* Paste `Skjson.jar` into the `<server>/plugins` folder
* * set what we need in `plugins/SkJson/config.yml`
* [**Wikipedia**](./get_started.md)

## 📖 Wiki
* Let's learn about what SkJson is for and how to use it properly.
* In general, we could say that SkJson is very multifunctional. It contains some web request functionalities, and also handles strings that work with files.
* Additionally, it allows us to use a so-called cache.
* We will delve further into all these aspects as we learn more

<center>

[<img style="width: 10%; margin-right: 1rem;" src="https://skripthub.net/static/addon/ViewTheDocsButton.png">](https://skripthub.net/docs/?addon=skJson)
[<img style="width: 12%; margin-right: 1rem;" src="https://skunity.com/branding/buttons/get_on_docs_4.png">](https://docs.skunity.com/syntax/search/addon:skjson)
[<img style="width: 5%" src="https://static.spigotmc.org/img/spigot.png">](https://www.spigotmc.org/resources/skjson.106019/)

</center>

0 comments on commit 2dc8b04

Please # to comment.