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 **.