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

  • SALAH! MIT Ungkap AI Tidak Ganti Karyawan Karena Efisiensi
  • Inilah Inovasi Terbaru Profesor UI: Pelumas Mobil dari Minyak Nabati!
  • Daftar Sekarang! Beasiswa S2 di Italia dari IYT Scholarship 2026 Sudah Dibuka
  • Sejarah Hantavirus dan Perkembangannya Sampai ke Indonesia
  • Kementerian Pendidikan: Mapel Bahasa Inggris Wajib di SD Mulai 2027!
  • Ketua Fraksi PKB MPR-RI: Kemenag Respon Cepat Pendidikan Santri Ndolo Kusumo Pati yang Terdampak
  • Viral Video Sejoli Di Balai Kota Panggul Trenggalek, Satpol PP Janji Usut
  • Video Viral Wakil Wali Kota Batam Tegur Keras Pasir Ilegal
  • LPDP Buka Peluang Beasiswa S3 Prancis 2026, Simak Syaratnya!
  • Inilah Panduan Lengkap dan Aturan Main Seleksi Penerimaan Murid Baru (SPMB) SMA dan SMK Negeri Jawa Tengah Tahun 2026
  • Inilah Syarat dan Cara Daftar MOFA Taiwan Fellowship 2027
  • RESMI! Inilah Macam Jalur di SPMB Sekolah Tahun Ajaran 2026
  • Ini Loh Rute Terbaru TransJOGJA Per Mei 2026, Jangan Salah Naik!
  • Inilah Jadwal Operasional MRT Jakarta Per Mei 2026, Berubah Dimana?
  • Inilah Syarat dan Mekanisme Seleksi Siswa Unggul ITB Jalur Talenta (OSN, Seniman, Hafidz, Atlet dll) 2026/2027
  • Inilah Daftar Saham Farmasi di BEI Per Mei 2026, Pilih Mana?
  • Kesehatan Mental Itu Penting: Inilah Isi Chat Terakhir Karyawan Minimarket Sukabumi Bundir
  • Inilah Kampus Swasta Terbaik Jurusan Farmasi di Area Malang Raya
  • Cara Login EMIS 4.0 Kemenag Terbaru 2026 Pakai Akun Lembaga dan PTK Guru Madrasah Aktivasi
  • Survei Parpol Terbaru: Gerindra Unggul, PDIP Ketiga, PKB 5%
  • PKB Resmi Jalin Kerjasama dengan Institut Teknologi & Sains NU Kalimantan
  • Inilah Urutan Terbaru Pangkat TNI Angkatan Darat! (Update 2026)
  • Inilah Panduan Lengkap Operator Sekolah Mengelola SPTJM e-Ijazah dan Menghindari Kesalahan Fatal Data Kelulusan
  • Inilah Syarat dan Penilaian Seleksi Siswa Unggul ITB Jalur UTBK
  • Download Video Viral Guru Bahasa Inggris? Awas Berisi Virus!
  • PKB Minta Kasus C4bul Pendiri Ponpes Pati Tidak Ada Ampunan & Tuntutan Maksimal
  • Inilah Kronologi Video Viral Preman vs Sopir Di Sumedang
  • Ini Alasan UKP Pariwisata Disindir Konten Kreator Drone Gunung Rinjani
  • Inilah Kronologi Viral Video Dugaan Asusila Pegawai Disdik Pasuruan di Mobil Dinas
  • Polisi Polda Sumut Resmi Dipecat: Dari Video Viral Sampai Sidang Etik Ini Kronologinya
  • How to build a high-performance private photo cloud with Immich and TrueNAS SCALE
  • How to Build an Endgame Local AI Agent Setup Using an 8-Node NVIDIA Cluster with 1TB Memory
  • How to Master Windows Event Logs to Level Up Your Cybersecurity Investigations and SOC Career
  • How to Build Ultra-Resilient Databases with Amazon Aurora Global Database and RDS Proxy for Maximum Uptime and Performance
  • How to Build Real-Time Personalization Systems Using AWS Agentic AI to Make Every User Feel Special
  • How to Automate Your Entire SEO Strategy Using a Swarm of 100 Free AI Agents Working in Parallel
  • How to create professional presentations easily using NotebookLM’s AI power for school projects and beyond
  • How to Master SEO Automation with Google Gemini 3.1 Flash-Lite in Google AI Studio
  • How to create viral AI video ads and complete brand assets using the Claude and Higgsfield MCP integration
  • How to Transform Your Mac Into a Supercharged AI Assistant with Perplexity Personal Computer
  • 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