Ana eklenti sınıfı
Not
The instructions within the Sponge Documentation assume that you have prior knowledge of Java. SpongeAPI provides the foundation for you to begin creating plugins for Minecraft servers powered by Sponge; however, it is up to you to be creative and make your code work! There are several free Java courses online if you have had little experience with Java.
Sınıfınız başlatılıyor
The next step after adding SpongeAPI as a dependency is creating a new class. The class can be named however you
like, and can be in any package that does not begin with org.spongepowered
. By convention, class names should be
in title case.
Uzman eğer domaininiz varsa domaininizi paket adınız olarak kullanabilmeniz için <https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html>`_ öneriyor. Ancak domaine sahip olmadığınız olayda genel uygulama bir email adresi ( com.gmail.username.project
gibi) veya bir açık kaynaklı veri havuzu (io.github.username.project
gibi) kullanmaktır.
After creating your main class, the Plugin annotation must be affixed to it. This annotation allows Sponge to easily find your main plugin class when your plugin is loaded. An example usage is illustrated below, more detailed usage is explained on Eklenti Metaverileri.
package io.github.username.project;
import org.spongepowered.api.plugin.Plugin;
@Plugin(id = "exampleplugin", name = "Example Plugin", version = "1.0", description = "Example")
public class ExamplePlugin {
}
Not
Eklenti ID’nizi henüz girmediyseniz Eklenti Tanımlayıcıları başvurun.
Eklentiniz Başlatılıyor
Eklentiler oyun ve dünya (lar)’dan önce yüklenir. Eklentiniz oyunla etkileşime girmeye başlamışsa, komutları veya etkinlikleri kaydetmek gibi belirli bir zaman aralığı bırakır.
Eklentiniz oyunun evrelerindeki değişikliklerden haberdar olmak için state events denilen belirli olayları dinleyebilir. Aşağıdaki örnekte,``onServerStart()`` GameStartedServerEvent meydana geldiğinde çağırılır ; yöntemden önce Listener bilgi notunu kaydedin ,
The example below will log a message upon starting the server. If your plugin is correctly loaded, you should see this message as part of the server’s initialization output.
import org.spongepowered.api.plugin.Plugin;
import org.spongepowered.api.event.Listener;
import org.spongepowered.api.event.game.state.GameStartedServerEvent;
// Imports for logger
import com.google.inject.Inject;
import org.slf4j.Logger;
@Plugin(id = "exampleplugin", name = "Example Plugin", version = "1.0", description = "Example")
public class ExamplePlugin {
@Inject
private Logger logger;
@Listener
public void onServerStart(GameStartedServerEvent event) {
logger.info("Successfully running ExamplePlugin!!!");
}
}
Tüyo
Sponge belge işlemi olaylardaki ( Etkinlikler e bakın) daha fazla bilgiyle birlikte bir kılavuz sağlar. Normalde , olay çözücü tekniklere @Listener
ile ön bilgi eklemeye ilaveten Sponge’un olay yoluyla nesnenizi kaydetmelisiniz. Ancak sizin ana eklenti sınıfınız otomatik olarak kaydedilir.
Durum Olayları
Ayrıca diğer evre olayları özellikle de GameStoppingServerEvent
istenilebilir. Evre olaylarının iki kategorisi vardır:
Initialization: Bu olaylar, Sponge ve eklentiler yüklendiğinde ortaya çıkar.
Running: Bu olaylar oyun ve dünya yüklendiğinde ortaya çıkar.
İlgili her evre olayı meydana geldiğinde bilgi için plugin lifecycle documentation bakın.