Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Menggunakan NMS di Bukkit

Posted on May 5, 2023

Meskipun Minecraft terbuka untuk berbagai plugin (yang dapat Anda gunakan untuk mengubah pengalaman bermain Anda), beberapa elemen permainan terlindung dari manipulasi plugin. Net.Minecraft.Server (NMS) adalah salah satu paket yang dilindungi ini, karena berisi kode server penting untuk game tersebut. Kode ini berasal langsung dari pengembang Minecraft, Mojang, dan seharusnya tidak dapat diakses oleh pemain.

Dengan Bukkit, pemain dapat membuat lapisan abstraksi di sekitar kode NMS. Hal ini memungkinkan mereka mengembangkan plug-in yang berinteraksi dengan kode server tanpa membuat perubahan langsung pada basis kode yang penting untuk bermain game. Anggap saja seperti jendela yang memungkinkan Anda melihat kode yang ingin Anda gunakan di plugin Anda, tetapi juga bertindak sebagai penghalang yang mencegah Anda mengubah kode secara langsung.

Mari jelajahi cara menggunakan Bukkit dengan NMS Minecraft.

Sebelum Anda Mulai – Apa Anda Harus Tahu Tentang Bukkit

Bukkit adalah API yang memungkinkan Anda membuat dan menggunakan plugin yang mengubah cara Anda merasakan aspek multipemain Minecraft. Setidaknya begitu. Versi terakhir Bukkit keluar pada tahun 2016, dan sejak itu dihentikan untuk memberi jalan bagi API yang berbeda, bernama Spigot. Meskipun bekerja mirip dengan Bukkit, ia menawarkan kinerja server yang lebih baik.

Jadi, menggunakan Bukkit untuk plugin mengharuskan Anda memainkan Minecraft versi lama dan menerima kenyataan bahwa Bukkit tidak sebagus API penggantinya. Dengan asumsi Anda senang menerima pengorbanan itu, inilah satu-satunya hal yang Anda butuhkan:
Java Development Kit (JDK) 7 atau lebih tinggi, dengan sebagian besar merekomendasikan JDK 8.
Dengan itu, Anda siap membuat beberapa plugin.

Cara Membuat Bukkit Plugin untuk Minecraft

Sebelum Anda dapat mulai menggunakan Bukkit untuk mengakses NMS Minecraft, Anda perlu menambahkan API sebagai dependensi, menyetel kelas utama yang memungkinkan Bukkit berinteraksi dengan plugin yang Anda buat, dan memberikan Bukkit informasi yang diperlukan untuk memuat plugin Anda ke dalam permainan. Setiap langkah memerlukan pengkodean, dengan contoh berikut berasal dari Tutorial RIP.

Langkah 1 – Tambahkan Bukkit sebagai Ketergantungan

Di masa lalu, Anda dapat menambahkan Bukkit sebagai ketergantungan di Minecraft dengan mengunduh file Bukkit.jar dari Repositori Bukkit dan menambahkannya ke classpath proyek. Opsi itu tidak tersedia lagi karena Repositori tidak lagi dapat diakses.

Untungnya, ada metode alternatif yang menggunakan file pom.xml game Anda. Buka file dan tambahkan baris berikut:

spigot-repo
https://hub.spigotmc.org/nexus/content/repositories/snapshots/

org.bukkit
bukkit
{VERSION}
disediakan

Langkah 2 – Buat Kelas Utama Plugin Anda

Plugin Anda harus dapat membuat satu instance dari kelas utamanya, yang digunakan untuk memperluas “JavaPlugin” sehingga dapat mengenali dan memungkinkan Anda untuk menggunakan plugin saat Anda dalam game. Pikirkan kelas utama ini sebagai pintu yang dapat dilalui Bukkit untuk memuat dan memanipulasi plugin. Sebagian besar memberikan kelas utama plugin mereka dengan nama yang sama dengan plugin itu sendiri, membuatnya lebih mudah untuk merujuk ke kelas utama saat pengkodean. .example.myplugin; //{$TopLevelDomain}.{$Domain}.{$PluginName};
import org.bukkit.plugin.java.JavaPlugin;
kelas akhir publik MyPlugin memperluas JavaPlugin {
@Mengesampingkan
public void onEnable() {
//Dipanggil saat plugin diaktifkan
getLogger().info(“onEnable telah dipanggil!”);
}
@Mengesampingkan
public void onDisable() {
//Dipanggil saat plugin dinonaktifkan
getLogger().info(“onDisable telah dipanggil!”);
}
}

Mengakses Plugin Anda dari Kelas Lain
Anda mungkin ingin mengakses plugin Anda melalui kelas yang berbeda dari kelas utama yang Anda buat untuknya, yang dapat berguna untuk mengakses beberapa plugin dalam satu game Minecraft.

Untuk melakukan itu, Anda harus menyimpan instance terlebih dahulu dari kelas utama yang Anda buat menggunakan Bukkit sehingga kelas lain dapat mengaksesnya. Sekali lagi, kode contoh berikut berasal dari Tutorial RIP dan menggunakan nama kelas “MyPlugin”:
public class MyPlugin extends JavaPlugin {
contoh MyPlugin statis pribadi; // Secara efektif variabel final yang berisi instance plugin Anda
MyPlugin publik(){
if(MyPlugin.instance != null) { //Pemeriksaan tidak perlu tetapi pastikan plugin Anda hanya diinisialisasi sekali.
throw new Error(“Plugin sudah diinisialisasi!”);
}
MyPlugin.instance = ini; // Konstruktor plugin hanya boleh dipanggil sekali
}
public static MyPlugin getInstance(){ //Dapatkan instance plugin Anda
kembali contoh;
}
// kode Anda yang lain…
}

Setelah Anda memiliki instance, Anda dapat mengakses kelas utama Anda (dibuat melalui Bukkit) menggunakan perintah “getInstance()”. Berikut adalah contohnya menggunakan kelas utama “MyPlugin” Tutorial RIP:
public class MyOtherClass {
public void doSomethingWithMainClass(){
MyPlugin.getInstance().getLogger().info(“Kami baru saja menggunakan MyPlugin”);
}
}

Langkah 3 – Buat file plugin.yml Anda

A file plugin.yml berisi informasi penting tentang plugin Anda, artinya berfungsi sebagai file konfigurasi dasar plugin. Tanpa file ini, Bukkit tidak akan memiliki informasi yang dibutuhkan untuk memuat plugin Anda ke Minecraft, yang menyebabkan plugin gagal dimuat dan game kemungkinan macet. diberikan ke plugin Anda (yaitu, “MyPlugin” Tutorial RIP) dan itu akan ditampilkan dalam pesan log dan daftar plugin Anda. Versi – Gunakan bidang ini untuk menunjukkan riwayat versi plugin, dimulai dengan 1.0.0 dan naik saat Anda mengubah atau edit plugin.Main – Berisi nama kelas utama plugin, yang memperluas “JavaPlugin”, memungkinkan Bukkit untuk masuk ke plugin. Dalam contoh Tutorial RIP, nama ini akan menjadi “package com.example.myplugin,” yang dapat Anda lihat di kode kelas utama di atas.Deskripsi – Deskripsi dasar tentang apa yang dilakukan plugin Anda.Author – Anda dapat memiliki satu penulis atau beberapa penulis, dengan yang terakhir dilambangkan dengan tanda kurung siku dan koma sebagai berikut – [Penulis1, Penulis2, Penulis3]. Kontributor – Anda akan menggunakan bagian ini untuk mencatat siapa saja yang berkontribusi pada plugin Anda, dengan pemformatan yang sama seperti untuk Bagian “Penulis”.Situs web – Jika Anda memiliki situs web untuk dihubungkan, atau ingin menautkan orang ke halaman plugin atau repositori GitHub, Anda dapat memasukkan URL di sini.Versi API – Masukkan versi API Bukkit yang Anda gunakan di sini . Jika Anda tidak memasukkan versi API, Minecraft akan menganggap itu memuat plugin lawas. Plugin mungkin masih berfungsi, meskipun Anda akan melihat peringatan bahwa plugin ini adalah versi lawas yang dicetak di konsol Anda saat memuat.
Berikut ini adalah contoh file plugin.yml berdasarkan konvensi penamaan yang digunakan dalam kode Tutorial RIP yang digunakan di artikel ini:
name: MyPlugin
versi: 1.0.0
utama: paket com.example.myplugin
deskripsi: Plugin uji untuk Minecraft
penulis: Tutorial RIP
situs web: https://riptutorial.com/bukkit
api-versi: 1.17

Apakah Bukkit Tepat untuk Mengakses dan Menggunakan NMS?

Dengan itu, Anda telah membuat ketergantungan Bukkit, membangun kelas utama untuk berfungsi sebagai pintu Bukkit ke dalam plugin, dan memiliki file plugin.yml yang dapat digunakan Bukkit untuk melihat apa yang dilakukan plugin . Namun, Anda mungkin tidak ingin melakukannya, karena Bukkit sudah ketinggalan zaman sehingga Anda harus menjalankan Minecraft versi lama untuk menggunakannya secara efektif. Sebagian besar sudah beralih ke Sprigot, yang mencerminkan sebagian besar dari apa yang dilakukan Bukkit sambil menawarkan kinerja yang lebih baik.

Jika Anda masih ingin menggunakan Bukkit untuk mengakses plugin, mengapa Anda memilihnya daripada API yang lebih modern? Jenis plugin apa yang Anda gunakan untuk meningkatkan pengalaman Minecraft Anda? Ceritakan semuanya di bagian komentar di bawah.

Terbaru

  • Boxville 2 Gratis di Playstore, Plus Diskon Lainnya!
  • Cara Atasi Masalah Pembacaan Suara (Read Aloud) di Windows Copilot Tidak Berfungsi
  • Kementerian Kesehatan Inggris Akui Data Breach, Akibat Zero-day Oracle DB?
  • Google Akan Perkenalkan Autofill Google Wallet di Chrome untuk Pembayaran Lebih Mudah
  • Google Pixel Akan Perkenalkan Launcher Device Search Baru, Lebih Cepat dan Pintar
  • Hacker Serang Bug VPN di ArrayOS AG untuk Menanam Web Shell
  • Cara Menonaktifkan Error “ITS Almost time to restart in Windows”
  • Google Fi Mendukung Panggilan Telepon RCS Melalui Web, Lebih Mudah dan Efisien
  • Data Breach Marquis: Hajar Lebih Dari 74 Bank dan Koperasi AS
  • Google Search Akan Adopsi ‘Continuous Circle’ untuk Hasil Pencarian Terjemahan, Lebih Cerdas dan Kontekstual
  • Rusia Memblokir Roblox Karena Distribusi ‘Propaganda LGBT’
  • Google Gemini Redesain Web Total di Desember 2025, Fokus UX yang Lebih Baik
  • Apa itu Google Workspace Studio? Tool Baru untuk Pembuat Konten?
  • Cara Menggunakan Xbox Full-Screen Experience di Windows
  • Korea Tahan Tersangka Terkait Penjualan Video Intim dari Kamera CCTV yang Diretas
  • Kebocoran Galaxy Buds 4 Mengungkap Desain dan Fitur Baru, Mirip Apple?
  • Sudah Update Windows KB5070311 dan Apa Saja Yang Diperbaiki?
  • Cara Menonaktifkan Fitur AI Actions (Tindakan AI) di Menu Windows Explorer
  • Microsoft Edge AI vs. OpenAI’s Atlas Browser: Perbandingan dan Perbedaan Utama
  • Cara Memasang Folder Sebagai Drive di Windows 11
  • Cara Memperbaiki Error 0xC1900101 0x40021 pada Update Windows 11
  • Malware Glassworm Serang Lagi VSCode, Hati-hati!
  • Walmart dan Google Bermitra untuk Kamera Rumah Google Home: Pengalaman Langsung
  • Gemini Dapat Bisa Atur Perangkat Rumah Melalui Home Assistant Pakai Suara, Desember 2025
  • Asahi, Produsen Bir Jepang, Akui Kebocoran Data 15 Juta Pelanggan
  • Google Messages Ada Fitur Baru: Pesan Grup, Mode Gelap dan Integrasi dengan Google Duo
  • 5 Laptop ASUS Terbaik dengan Tampilan Mewah dan Build Quality Premium
  • Pria di Balik Serangan ‘Twin Wifi’ Mencuri Wifi, Dikenakan Hukuman 7 Tahun Penjara
  • Google Kembangkan Fitur Baru untuk Tugas di Keep, Lebih Terintegrasi dengan Kalender
  • Google Akan Luncurkan Laptop dan Ponsel Android Baru di Tahun 2025: Murah & Spesifikasi Tinggi
  • Boxville 2 Gratis di Playstore, Plus Diskon Lainnya!
  • Cara Atasi Masalah Pembacaan Suara (Read Aloud) di Windows Copilot Tidak Berfungsi
  • Kementerian Kesehatan Inggris Akui Data Breach, Akibat Zero-day Oracle DB?

©2025 emka.web.id | Design: Newspaperly WordPress Theme