API öğesi

The AssetManager allows developers to retrieve resources from a plugin JAR.

Bir eklentinin varlıkları `` assets / myplugin / `` adlı bir dizinde bulunur; burada `` myplugin`` eklenti kimliğidir.

Düzgün yapılandırdıktan sonra, aşağıdaki kodu kullanarak (veya herhangi bir eklentiniz için) bir kaynak alabilirsiniz:

import org.spongepowered.api.asset.Asset;

Asset asset = plugin.getAsset("myfile.txt").get();

Alternatif olarak, varlıkları `` AssetManager`` sınıfı üzerinden alabilirsiniz:

import org.spongepowered.api.Sponge;

Asset asset = Sponge.getAssetManager().getAsset(plugin, "myfile.txt").get();

Tüyo

AssetManager Sponge uygulamasının kendinde tanımlanan varlıkları basitçe eklenti parametresini çıkararak geri almak için kullanılabilir.

Not

The examples above assume that myfile.txt exists as an Asset. If it does not, then getAsset() will return Optional#empty().

Varlıklar ile çalışma

`` Asset`` sınıfı aslında sadece bir `` URL`` çevresinde sarmalayıcıdır ve `` Varlıklar`` s kullanım örnekleri aslında sınırsızdır, ve yaygın bir kullanım durumudur. Bunu bir :javadoc: PluginContainer yardımı ile aşağıdaki kodu kullanarak gerçekleştirebilirsiniz. Eklentinizin yapılandırma dosyası bulunamazsa, varsayılan bir yapılandırma dosyası oluşturun:

import java.nio.file.Files;

if (Files.notExists(configPath)) {
    plugin.getAsset("default.conf").copyToFile(configPath);
}

Not

Bukkit’ten veya bazı diğer Java arka planından gelen geliştiriciler, `` Class`` es ve `` ClassLoader`` s içindeki `` getResource`` ve `` getResourceAsStream`` yöntemlerine aşina olabilirler. ** Bu yöntemler genelde kendi eklentinizde değil diğer eklentiler için kaynakların daha iyi bir şekilde toplanabilmesi için SpongeAPI ortamında “AssetManager” lehine kaçınılmalıdır **.