مقدمه
اگر تا به حال ویدیوهای دریم، یوتیوبر محبوب ماینکرافت را تماشا کرده باشید، متوجه شدهاید که بسیاری از ویدیوهای او دارای چالشهای ماینکرافتی هستند. در این چالشها، او و دوستانش سعی می کنند در شرایط عجیب و غریب و متفاوت از روند طبیعی بازی، با کشتن اندردراگون بازی را به اتمام برسانند. این شرایط ممکن است شامل رویدادهای دیوانهکنندهای مانند یورش یا ازدحام زنبورهایی باشد که به طور مکرر اسپاون میشوند. همه این چالشها میتواند با پلاگین سرور ماینکرافت انجامپذیر باشد.
پلاگین چیست؟
پلاگین یک کد اضافی است که ما برای تغییر رفتار پیشفرض بازی، به سرور ماینکرافت خود اضافه میکنیم. در این آموزش، ما اصول اولیه کدنویسی پلاگینهای خود را بررسی میکنیم. برای انجام این کار، ما به صورت عملی یاد میگیریم و پلاگینهایی ایجاد می کنیم که میتوانید با آنها سرگرم شوید.
پیشنیازها
ابتدا به ساکن لازم است نسخه جاوا ادیشن ماینکرافت را در سیستم خود نصب کرده باشید.
در مرحله بعد لازم است یک سرور لوکال برای خود راهاندازی کنید. برای اینکه سریعتر به مبحث شیرین برنامهنویسی پلاگین وارد شویم از آموزش نحوه ساخت سرور لوکال صرف نظر میکنیم.
برای شروع برنامهنویسی لازم است با زبان برنامهنویسی جاوا آشنایی مختصری داشته باشید. بهتر است برای شروع کار یک درک عملی قوی از برنامهنویسی شیگرا داشته باشید. شاید برخی از شما با برنامهنویسی آشنایی نداشتهباشید اما با این وجود این مقاله میتواند برای شما نیز مفید باشد.
به عنوان پیشنیاز نهایی، من به شما توصیه میکنم که یک نسخه ریپوزیتوری این مقاله را در اختیار داشته باشید. این ریپوزیتوری شامل منابعی برای همراهی با این مقاله است و اطلاعات اضافی را ارائه میدهد. منابع آن شامل راهاندازی پروژه، کد نهایی و راهحلهایی برای مشکلات احتمالی می باشد که بعداً ارائه خواهم داد.
تنظیمات اولیه پروژه و ساختار آن
قبل از شروع پلاگین نویسی ماینکرافت، لازم است یاد بگیریم چگونه پروژه خود را راهاندازی کنیم. در این مقاله، ما از ابزاری برای پروژههای جاوا به نام Maven استفاده میکنیم. Maven ابزاری است که ما از آن برای دانلود برخی از کدهای خارجی مورد نیاز خود استفاده خواهیم کرد. پروژه ما حاوی فایلی به نام “pom.xml” است که به Maven میگوید کدهای مدنظر را دانلود کند. برای نصب Maven بر روی سیستم خود، اینجا کلیک کنید.
برای سهولت در راهاندازی پروژه، استفاده از Intellij IDEA را توصیه میشود. Intellij پلاگینی دارد که می توانید از آن با کمترین زحمت برای ایجاد ساختار پروژه استفاده کنید.
برای شروع راهاندازی پروژه ابتدا نرم افزار Intelij IDEA را نصب کرده و آن را اجرا کنید. سپس مطابق تصویر زیر در قسمت Projects روی گزینه New Project کلیک کنید.
حال باید در قسمت چپ پنجره باز شده روی Minecraft کلیک کرده سپس پلتفرم مدنظر خود را برای پلاگین نویسی ماینکرافت انتخاب کنید. ما در این مقاله از پلتفرم و سرور Spigot استفاده کردهایم. پس از انتخاب پلتفرم خود روی گزینه Next کلیک کنید.
در پنجره جدید با سه فیلد برخورد میکنیم که نیاز به ویرایش دو فیلد اول داریم.
فیلد اول مربوط به Group ID است که باید در آن یک دامنه معکوس(مثلا com.google) بنویسیم. اگر شما وبسایتی برای خود دارید میتوانید دامنه آن را به صورت معکوس در این فیلد بنویسید ولی اگر وبسایتی ندارید میتوانید از دامنهای مانند me.firsname.lastname یا me.minecraftusername استفاده کنید.
فیلد دوم مربوط به Artifact ID که در آن باید نام پلاگین خود را وارد کنید. دقت کنید که کلمات باید با حروف کوچک باشد و بجای فاصله آنها را با نقطه از هم جدا کرده باشید.
پس از پر کردن فیلدها روی گزینه next کلیک کنید.
در پنجره جدید دو قسمت Required Settings و Optional Settings وجود دارد که در قسمت دوم میتوانید توضیحاتی برای پلاگین خود، نام نویسنده و … وارد کنید. همه این قسمتها اختیاری میباشد. در ادامه باید بر روی گزینه next کلیک کنید.
در پنجره آخر باید در فیلد اول اسم پروژه و در فیلد دوم محل ذخیرهسازی پروژه را وارد کنید. سپس بر روی create کلیک کرده و منتظر باشید تا پروژه شما راهاندازی شود.
ساختار پروژه پلاگین ماینکرافت
پس از راهاندازی کامل پروژه باید با ساختاری مانند ساختار زیر روبهرو شوید:
همه این ساختارها به جز پوشه idea. و فایل yml.(اسم پروژه) برای ما مهم هستند.
در پکیج main (در این مثال src>main>java>ir.msbco.minecraft_plugin) شما باید یک فایل جاوا را مشاهده کنید. این فایل جاوا که همنام Artifact ID است باید ساختاری مانند ساختار زیر داشته باشد:
این فایل محل اصلی اجرای پلاگین ما میباشد. برای همین به آن main class پلاگین میگویم.
فایل اصلی دیگر فایل plugin.yml است که دارای اطلاعات اولیه پلاگین ما برای اجرای آن است.
این اولین قدم در ساخت پلاگین ماینکرافت است با انجام این مراحل آماده ساخت پلاگین ماینکرافت شدهایم.