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:

İlgili her evre olayı meydana geldiğinde bilgi için plugin lifecycle documentation bakın.