ShopPlugin class

Пакет: com.hypixel.hytale.builtin.adventure.shop

Файл: com/hypixel/hytale/builtin/adventure/shop/ShopPlugin.java

extends: JavaPlugin

Поля (3)

МодификаторыТипИмя
static ShopPlugin instance
instance
AssetRegistry var1

Методы (2)

МодификаторыВозвратСигнатура
static ShopPlugin getShopPlugin get()
abstract super super(var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.shop;

class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.builtin.adventure.shop.barter.BarterShopAsset;
class="kw">import com.hypixel.hytale.builtin.adventure.shop.barter.BarterShopState;
class="kw">import com.hypixel.hytale.server.core.asset.HytaleAssetStore;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.Item;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.pages.choices.ChoiceElement;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.pages.choices.ChoiceInteraction;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.server.OpenCustomUIInteraction;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPlugin;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
class="kw">import com.hypixel.hytale.server.core.plugin.registry.AssetRegistry;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ShopPlugin class="kw">extends JavaPlugin {
   class="kw">protected class="kw">static ShopPlugin instance;

   class="kw">public class="kw">static ShopPlugin get() {
      class="kw">return instance;
   }

   class="kw">public ShopPlugin(@Nonnull JavaPluginInit var1) {
      super(var1);
   }

   @Override
   class="kw">protected void setup() {
      instance = this;
      AssetRegistry var1 = this.getAssetRegistry();
      var1.register(
         ((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)HytaleAssetStore.builder(
                           ShopAsset.class, new DefaultAssetMap()
                        )
                        .setPath("Shops"))
                     .setCodec(ShopAsset.CODEC))
                  .setKeyFunction(ShopAsset::getId))
               .loadsAfter(Item.class))
            .build()
      );
      var1.register(
         ((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)HytaleAssetStore.builder(
                           BarterShopAsset.class, new DefaultAssetMap()
                        )
                        .setPath("BarterShops"))
                     .setCodec(BarterShopAsset.CODEC))
                  .setKeyFunction(BarterShopAsset::getId))
               .loadsAfter(Item.class))
            .build()
      );
      this.getCodecRegistry(ChoiceElement.CODEC).register("ShopElement", ShopElement.class, ShopElement.CODEC);
      this.getCodecRegistry(ChoiceInteraction.CODEC).register("GiveItem", GiveItemInteraction.class, GiveItemInteraction.CODEC);
      this.getCodecRegistry(OpenCustomUIInteraction.PAGE_CODEC).register("Shop", ShopPageSupplier.class, ShopPageSupplier.CODEC);
   }

   @Override
   class="kw">protected void start() {
      BarterShopState.initialize(this.getDataDirectory());
      this.getLogger().at(Level.INFO).log("Barter shop state initialized");
   }

   @Override
   class="kw">protected void shutdown() {
      BarterShopState.shutdown();
      this.getLogger().at(Level.INFO).log("Barter shop state saved");
   }
}