Bijih Plugin Panduan Pengajuan

Selamat datang di Bijih panduan pengajuan. Dokumen ini memberikan garis besar harapan kami untuk investasi proyek dan file kiriman.

Ingat bahwa ini hanya pedoman dan Bijih tim, yang disebut sebagai "staf" semua pedoman ini, dapat memilih untuk mengizinkan atau melarang suatu tindakan yang tidak secara eksplisit tercantum di sini, di kebijaksanaan kami sendiri.


Proyek

Proyek yang diajukan harus memenuhi harapan sebagai berikut:

Nama

Your project’s submitted name should not include a version, tagline, or other description. The name should be unique and original and must not have a name implying it is an official Sponge project.

Examples of names that are not acceptable:

  • SpongeWarp

  • SpongeHome

  • SpongeEssentials

  • SpongeCloud

Examples of names that are acceptable:

  • CoolWarps-Sponge

  • MoneyMiner-Sponge

  • Golfball-for-Sponge

  • Calendar-for-Sponge

Halaman Dokumentasi Utama (Beranda)

This is the first page that anyone will see when visiting your project. Information here should include a clear and concise description of your project's features and goals. The following, if present in your plugin, should be documented on the main page if relevant:

Koneksi Eksternal

Jika proyek anda menggunakan web API, telepon rumah untuk mengumpulkan data, atau jika tidak terhubung ke sistem eksternal ke server berjalan pada, kehadiran fitur ini juga sebagai informasi tentang bagaimana untuk mengaktifkan atau menonaktifkan itu harus ditampilkan dengan jelas di halaman utama. Jika proyek anda satu-satunya tujuan melibatkan memanfaatkan sistem eksternal (seperti Spons plugin yang menerjemahkan obrolan antara bahasa), pilihan konfigurasi untuk beralih membuat sambungan ke layanan yang tidak diperlukan. Jika plugin anda mengirimkan informasi (misalnya, plugin atau daftar data pemain), informasi yang dikumpulkan harus tercantum pada halaman utama.

Contoh sistem yang memerlukan dokumentasi:

  • Statistik atau penggunaan pengumpulan informasi ('metrik')

  • Geolokasi

  • Layanan terjemahan

  • Web server yang berjalan pada plugin, menyajikan informasi kepada pengguna

  • Server yang berjalan pada plugin, mendengarkan permintaan dari layanan lain

  • IRC/Perselisihan/Telegram/WhatsApp bot atau relay

Examples of systems that do not require documentation:

  • Local databases or database connections specified by the end-user

Kategori

Kategori yang Anda pilih harus akurat. Proyek Anda harus menggunakan kategori sempit mungkin bukan kategori yang sedikit berlaku. Jika tidak ada kategori muncul akurat, kategori Miscellaneous harus digunakan.

Monetisasi / Iklan

Kiriman tidak dapat dijual, atau mungkin tambahan fitur unlockable dengan pembayaran. Iklan dan pendapatan lain menghasilkan link (misalnya ratusan pengunjung) tidak diizinkan. Dokumentasi ini mungkin berisi link ke sebuah halaman untuk menyumbang ke proyek pengelola atau kontributor lainnya seperti terima kasih, tapi halaman yang tidak mungkin menawarkan fitur tambahan atau plugin lainnya/mods untuk dijual.

"Retak" / modus Offline / online-mode=false Dukungan

Proyek-proyek yang secara eksplisit menyatakan mereka dirancang untuk penggunaan seperti tidak diperbolehkan. Beberapa proyek, seperti sistem otentikasi, mungkin memiliki fungsi yang dapat berguna untuk server terlepas dari penggunaan server otentikasi Mojang, tetapi mereka mungkin tidak mempromosikan penggunaan tambahan atau secara khusus dirancang untuk server menghindari Mojang auth. Proyek yang dirancang untuk proxy yang membutuhkan secara online-mode = false diperbolehkan, asalkan mereka tidak ditulis untuk memfasilitasi pengelakan Minecraft kepemilikan akun.

EULA

Kami bertujuan untuk mematuhi sepenuhnya dengan Mojang EULA. Plugin, jasa, posting, dan/atau link diduga melanggar EULA dapat dihapus pada kebijaksanaan dari Sponge Staf atau atas permintaan Mojang AB.

Garpu

Forks diperbolehkan, asalkan mereka memenuhi semua item dalam daftar di bawah ini. Staf memiliki kata akhir dalam apa yang merupakan garpu diterima. Ikuti lisensi proyek induk tepat.

Antara:

  • Mengandung perubahan yang signifikan yang memerlukan penciptaan sebuah proyek baru. Hal ini untuk menghindari "saya mengubah pesan warna di Plugin X dan sekarang saya mengklaim kredit!", atau

  • Melanjutkan Plugin yang telah ditinggalkan, dengan bukti penulis belum menjawab pesan atau telah menyatakan proyek ini akan tidak lagi diperbarui.

Mengakui atau kredit masa lalu Plugin dan pengembang. Pada dasarnya, tidak mengklaim itu adalah baru Plugin dan eksklusif kreasi Anda.


Berkas

Berkas yang diajukan harus memenuhi harapan sebagai berikut:

Kebingungan

Berkas yang memanfaatkan kebingungan akan ditolak kecuali berada dalam pengecualian berikut:

NMS Kebingungan

Ini hanya berlaku untuk plugin yang referensi Minecraft atau mod Forge. Contoh akan menjadi plugin yang menggunakan mixin atau plugin yang yang berfungsi sebagai Forge mod (hybrid Plugin). Asalkan satu-satunya referensi dikaburkan adalah sumber dikaburkan dihasilkan menggunakan ForgeGradle atau VanillaGradle, yang Plugin diperbolehkan untuk melanjutkan melalui proses peninjauan.

Mods inti dan mixin: Modifikasi Minecraft Basis Kode

Plugins and mods that use a system that modifies the Minecraft base code at runtime, (such as core mods and mixins) must disclose the edits that they make to the Minecraft code, and their reasoning for them. Sponge plugins should use SpongeAPI where possible. Sponge implementations may implement technical restrictions to prevent such modifications from being applied by default. Files are not permitted to attempt to work around these restrictions, but can notify the user that enhanced functionality can be enabled via the Sponge provided configuration options.

Koneksi eksternal (Web API, Menelepon Rumah, dll.)

Banyak fitur yang besar dapat ditulis dengan membuat panggilan ke sistem eksternal. Serta yang jelas didokumentasikan dalam deskripsi proyek, fungsi tersebut harus dikonfigurasi dan dinonaktifkan secara default. Jika satu-satunya tujuan proyek Anda melibatkan memanfaatkan sistem eksternal (seperti Sponge Plugin yang menerjemahkan obrolan antara bahasa), menghubungkan ke sistem yang tidak perlu disableable. Jika Anda Plugin mengirimkan informasi (e.g. plugin yang daftar, data yang player, atau data peta) ke sistem eksternal, informasi yang dikumpulkan harus tercantum pada halaman utama (lihat di atas).

Metrics (Data Collection)

Whenever data collected about the server (often referred to as "stats" or "metrics" data, such as server or plugin versions, as well as usage information) is to be sent to an external service, the plugin must first query the Sponge API MetricsConfigManager. Documentation on doing so can be found Here. This API must be checked each time data is sent, not only once. Plugins may not modify the values the API returns, but may encourage users to make the decision to enable the collection and sending of this data for their plugin.

Catatan

This API was added in API 7.1.0. Plugins built against older API versions must instead check against a variable in a configuration file unique to that plugin for the enabled/disabled status, which must also default to disabled.

Pelaksanaan Kode yang diunduh

We cannot ensure that content that is downloaded and executed at runtime is safe and complies with our guidelines. Any project that performs downloads and execution of code will have warnings on the project page and a warning prior to download to ensure users know the risk.

The following conditions must be also be met by the project:

  • Downloaded content must have hard-coded SHA256 (or better) based hash checking

  • Downloaded content must be explained in the main project page as to what is downloaded and what purpose it serves

  • Downloaded content must be performed over HTTPS connections

  • Downloaded content must not be hosted in a location that will limit downloads (e.g. DropBox, Google Drive)

  • Downloading another plugin must go through Ore's API in the same fashion as Update Checking

Monetisasi / Iklan

All functionality present in your plugin should be usable without restriction, and cannot require a license key to operate. External APIs, such as translation or geolocation services, that require payment for functionality can be allowed but must be discussed among staff prior to approval. Plugins may not be used to display advertisements.

Perbarui Pemeriksaan

Memeriksa pembaruan harus dilakukan menggunakan yang disediakan Ore API. Anda Plugin mungkin tidak menghubungkan mana saja tapi Ore ketika mengarahkan pengguna Anda Plugin untuk men-download versi baru. Perhatikan bahwa update ini memeriksa dianggap sebagai koneksi eksternal, yang harus didokumentasikan dan yang konfigurasi harus ada untuk menonaktifkannya.

Pengabulan hak istimewa

Plugin tidak harus memberikan atau mencabut fitur akses untuk setiap pengguna tertentu atau kelompok pengguna ditentukan oleh pengembang plugin. Ini termasuk pemberian penulis sendiri yang khusus menampilkan nama atau membiarkan diri menggunakan perintah khusus. Fitur, ketika berlaku, harus terkunci di balik izin node, daripada akses yang telah ditentukan oleh penulis. Perintah untuk pemberian spesifik, pra-diprogram pengguna OP atau izin tidak dapat diterima.