Update README.md

This commit is contained in:
TheMode 2019-08-10 11:43:21 +02:00 committed by GitHub
parent cc203b1a1a
commit 3d149c65b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 25 additions and 1 deletions

View File

@ -5,6 +5,28 @@ Minestom is an alternative to the popular minecraft server API named Bukkit/Spig
Minecraft evolved a lot since its release, most of the servers today do not take advantage of vanilla features and even have to struggle because of them. Our target audience is those who want to make a completely different server compared to default Minecraft gamemode such as survival or creative building.
The goal is to offer more performance for those who need it, Minecraft being single-threaded is the most important problem for them.
# API features
Even if we do not include anything by default in the game, we simplify the way you add them, here is a preview.
## Instances
It is our major concept, worlds are really great for survival with friends, but when it scales up it can become really unmanageable. Best example can be found in Skyblock or minigames, not being able to separate each part properly and being forced to save everything in files, not to say the overhead caused by unnecessary data contained in them. Instances are a lightweight solution to it, being able to have every chunks in memory only, copying it and sending it to another player in no time, making your own serializer and much more...
Being able to create instances directly on the go is a must have, according to us it can push many more projects forward.
Instances also come with performance benefits, unlike some others which will be fully single-threaded or may be using one thread per world we are using a set number of threads (pool) to manage all chunks independently from instances, meaning using more of the CPU power.
## Blocks
Minestom by default does not know what is stone block, not even a chest, you will have to tell him that it opens an inventory. Every "special blocks" (which aren't only visual) have to be registered, then they can be placed anywhere simply.
## Entities
The terms "passive", "aggresive" monsters do not exist, nobody forbid you from making a flying chicken rushing into any players coming too close, doing so with NMS is a real mess because of obfuscation and the large inheritance.
## Inventories
It is a field where Minecraft evolved a lot, inventories are now used a lot as client<->server interface with clickable items and callback, we support it natively without the need of programming your own solution.
## Commands
Commands are the simplest way of communication between clients and server, since 1.13 Minecraft has incorpored a new library denominated "Brigadier", we then integrated an API meant to use the full potential of args types.
# Pros & Cons
Minestom isn't perfect, our choices make it much better for some cases, worse for some others.
@ -12,11 +34,13 @@ Minestom isn't perfect, our choices make it much better for some cases, worse fo
* Remove the overhead of vanilla features
* Multi-threaded (Chunks & Entities)
* 100% Thread-Safe
* Instance system which is much more scalable than worlds files
* Instance system which is much more scalable than worlds
* Open-source
* Modern API
* No more disgusting NMS
## Cons
* Does not work with bukkit plugins
* Does not work with older clients
* Bad for those who want vanilla experience
* Obviously longer to obtain something playable