Minestom adalah perpustakaan sumber terbuka yang memungkinkan pengembang membuat perangkat lunak server Minecraft mereka sendiri, tanpa kode apa pun dari Mojang.
Perbedaan utama antara server vanilla Mojang dan server berbasisminestom adalah server kami tidak berisi fitur apa pun secara default! Namun, kami memiliki API lengkap yang dirancang untuk memungkinkan Anda melakukan apa pun dengan mudah.
Ini adalah API pengembang yang tidak dimaksudkan untuk digunakan oleh pengguna akhir. Mengganti Bukkit/Forge/Sponge dengan ini tidak akan berhasil karena kami tidak mengimplementasikan API mereka.
Minestom tidak diinstal seperti Bukkit/Forge/Sponge. Karena Minestom adalah perpustakaan Java, ia harus dimuat dengan cara yang sama seperti perpustakaan Java lainnya dimuat. Ini berarti Anda perlu menambahkan Minestom sebagai ketergantungan, menambahkan kode Anda dan mengkompilasinya sendiri.
Minestom tersedia di Maven Central, dan dapat diinstal seperti berikut (Gradle/Groovy):
repositories {
mavenCentral()
maven { url ' https://jitpack.io ' }
}
dependencies {
implementation ' net.minestom:minestom-snapshots:<???> '
}
Contoh cara menggunakan perpustakaan Minestom tersedia di sini. Alternatifnya, Anda dapat memeriksa wiki resmi atau javadocs.
Minecraft telah banyak berkembang sejak dirilis, sebagian besar server saat ini tidak memanfaatkan fitur vanilla dan bahkan harus kesulitan karenanya. Target audiens kami adalah mereka yang ingin membuat server yang sedikit memanfaatkan fitur vanilla. misal kreatif, kitpvp. Tujuannya adalah untuk menawarkan kinerja lebih bagi mereka yang membutuhkannya. Dengan kata lain, masuk akal untuk menggunakan Minestom ketika mengimplementasikan setiap fitur vanilla yang Anda inginkan membutuhkan waktu lebih sedikit daripada menghapus setiap fitur vanilla yang akan memperlambat Anda.
Minestom tidak sempurna, pilihan kita menjadikannya lebih baik dalam beberapa kasus, dan lebih buruk dalam beberapa kasus lainnya.
Meskipun kami tidak menyertakan apa pun secara default di dalam game, kami menyederhanakan cara Anda menambahkannya, berikut pratinjaunya.
Ini adalah konsep utama kami, dunia adalah tempat yang bagus untuk bertahan hidup bersama teman-teman, namun jika diperluas, dunia akan menjadi tidak terkendali. Contoh terbaik dapat ditemukan di Skyblock atau minigame, tidak dapat memisahkan setiap bagian dengan benar dan terpaksa menyimpan semuanya dalam file, belum lagi overhead yang disebabkan oleh data tidak perlu yang terkandung di dalamnya. Instance adalah solusi ringan untuk itu, mampu menyimpan setiap bagian di memori saja, menyalin dan mengirimkannya ke pemain lain dalam waktu singkat, dengan serialisasi khusus dan banyak lagi...
Mampu membuat instance secara langsung saat bepergian adalah hal yang harus dimiliki, kami yakin hal ini dapat mendorong lebih banyak proyek ke depan.
Instance juga memiliki keunggulan performa, tidak seperti instance lainnya yang sepenuhnya single-thread atau mungkin menggunakan satu thread per dunia, kami menggunakan sejumlah thread (kumpulan) untuk mengelola semua chunk secara independen dari instance, yang berarti menggunakan lebih banyak daya CPU.
Minestom secara default tidak tahu apa itu peti, Anda harus memberitahunya bahwa itu membuka inventaris. Setiap "blok khusus" (yang tidak hanya bersifat visual) memerlukan penangan khusus. Setelah menerapkan handler ini, Anda memiliki blok yang dapat ditempatkan dimana saja dengan mudah. Namun, semua blok secara visual ada, hanya saja tidak akan ada interaksi secara default.
Istilah monster "pasif" atau "agresif" tidak ada, tidak ada yang menghentikan Anda untuk membuat ayam terbang menyerbu pemain mana pun yang mendekat, melakukan hal itu dengan NMS benar-benar berantakan karena kebingungan dan warisan yang besar.
Ini adalah bidang di mana Minecraft banyak berkembang, inventaris sekarang banyak digunakan sebagai antarmuka klien<->server dengan item yang dapat diklik dan panggilan balik, kami mendukung interaksi ini secara asli tanpa perlu memprogram solusi Anda.
Perintah adalah cara komunikasi paling sederhana antara klien dan server. Sejak 1.13 Minecraft telah memasukkan perpustakaan baru yang disebut "Brigadier", kami kemudian mengintegrasikan API yang dirancang untuk menggunakan potensi penuh dari tipe args.
#mcdevs
- penelitian protokol dan format file.Lihat file kontribusi! Semua fitur WIP dipratinjau sebagai Draf PR
Proyek ini dilisensikan di bawah Lisensi Apache Versi 2.0.