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

  • Cara Jitu Ngebangun Bisnis SaaS di Era AI Pakai Strategi Agentic Workflow
  • Inilah Rincian Gaji Polri Lulusan Baru 2026, Cek Perbedaan Jalur Akpol, Bintara, dan Tamtama Sebelum Daftar!
  • Inilah 5 Channel YouTube Membosankan yang Diam-diam Menghasilkan Banyak Uang
  • Inilah Cara Pakai Google Maps Offline Biar Mudik Lebaran 2026 Nggak Nyasar Meski Tanpa Sinyal!
  • Inilah Alasan Mahkamah Agung Tolak Kasasi Google, Denda Rp202,5 Miliar Resmi Menanti Akibat Praktik Monopoli
  • Inilah Cara Daftar dan Syarat SPMB SMK Boarding Jawa Tengah 2026, Sekolah Gratis Sampai Lulus!
  • Inilah Daftar Sekolah Kedinasan 2026 untuk Lulusan SMK, Bisa Kuliah Gratis dan Berpeluang Besar Langsung Jadi CPNS!
  • Inilah Pajak TER: Skema Baru PPh 21 yang Nggak Bikin Pusing, Begini Cara Hitungnya!
  • Inilah Jadwal Resmi Jam Buka Tol Jogja-Solo Segmen Prambanan-Purwomartani Saat Mudik Lebaran 2026
  • Inilah Cara Mendapatkan Witherbloom di Fisch Roblox, Rahasia Menangkap Ikan Paling Sulit di Toxic Grove!
  • Kenapa Indomart Point Bisa Kalahkan Bisnis Kafe?
  • Inilah Cara Mendapatkan Rotten Seed di Fisch Roblox, Lokasi Rahasia di Toxic Grove Buat Unlock Toxic Lotus!
  • Inilah Cara Zakat Crypto Kalian Bisa Jadi Pengurang Pajak Berdasarkan Aturan Resmi Pemerintah!
  • Inilah Perbandingan Airwallex vs Payoneer 2026: Jangan Sampai Profit Kalian Ludes Gara-Gara Biaya Admin!
  • Inilah Roadmap 7 Tahap Bangun Bisnis Digital dari Nol Biar Nggak Cuma Putar-Putar di Tempat!
  • Inilah Cara Tetap Gajian dari YouTube Meski View Masih Ratusan, Penasaran?
  • Inilah Alasan Akun TikTok Affiliate GMV 270 Juta Kena Banned Permanen!
  • Inilah Bahaya Astute Beta Server APK, Jangan Sembarang Klik Link Download FF Kipas 2026!
  • Inilah Bahaya Nonton Film di LK21 dan IndoXXI, Awas Data Pribadi dan Saldo Rekening Kalian Bisa Ludes!
  • Inilah Kronologi & Video Lengkap Kasus Sejoli Tambelangan Sampang Viral, Ternyata Gini Awal Mulanya!
  • Inilah Alasan Kenapa Koin Nego Neko Shopee Nggak Bisa Dipakai Bayar Full dan Cara Rahasia Dapetinnya!
  • Inilah Cara Menjawab Pertanyaan Apakah di Sekolahmu Sudah Ada IFP/PID dengan Benar dan Profesional
  • Inilah Fakta Isu Roblox Diblokir di Indonesia 2026, Benarkah Akan Ditutup Total?
  • Inilah Penyebab dan Cara Mengatasi FF Kipas My ID Verify UID Biar Akun Tetap Aman
  • Inilah Deretan HP RAM 8GB Harga di Bawah 2 Juta Terbaik 2026, Spek Dewa Tapi Nggak Bikin Kantong Jebol!
  • Contoh Cara Buat SK Panitia TKA 2026
  • Inilah Cara Download Point Blank ID Versi Terbaru 2026, Gampang Banget Ternyata!
  • Inilah Persiapan Lengkap Gladi Bersih TKA 2026 SD dan SMP: Jadwal, Teknis Proktor, dan Aturan yang Wajib Kalian Tahu
  • Inilah Aturan Lengkapnya, Apakah Zakat dalam Bentuk Barang Bisa Mengurangi Pajak Penghasilan Kalian?
  • Inilah Kenapa KBLI Sangat Penting Buat Bisnis Digital dan Gini Caranya Biar Kalian Nggak Salah Pilih Kode
  • AI Bug Hunting with Semgrep
  • What is the Excel Power Query 0xc000026f Error?
  • How to Build Your Own Homelab AI Supercomputer 2026
  • How to Enable SSH in Oracle VirtualBox for Beginners
  • How to Intercept Secret IoT Camera Traffic
  • How to Vibe Coding a Game in 2026
  • Running NVIDIA’s Nemotron-3 Super 120B Model Locally with Ollama: A Complete Guide for Young Tech Enthusiasts
  • How to Track Objects and Blur Faces with Nero Motion Tracker AI
  • Introducing TadaTTS: A New Free Text to Speech Just Broke the Rule of TTS
  • How to Have OpenClaw Agent that Work for You 24/7/365?
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025

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