BuilderToolsSystems class

Пакет: com.hypixel.hytale.builtin.buildertools

Файл: com/hypixel/hytale/builtin/buildertools/BuilderToolsSystems.java

Поля (8)

МодификаторыТипИмя
final HytaleLogger LOGGER
private static final ComponentType<EntityStore, InventoryComponent.Tool> TOOL_COMPONENT_TYPE
private final Set<Dependency<EntityStore>> dependencies
String[] var10
Map var4
InventoryComponent.Tool var5
ItemContainer var6
List var7

Методы (6)

МодификаторыВозвратСигнатура
public EnsureBuilderToolspublic EnsureBuilderTools()
for for(String var14 : var10)
public Set<Dependency<EntityStore>> getDependenciespublic Set<Dependency<EntityStore>> getDependencies()
public Query<EntityStore> getQuerypublic Query<EntityStore> getQuery()
public void onEntityAddpublic void onEntityAdd(@Nonnull Holder<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3)
public void onEntityRemovedpublic void onEntityRemoved(@Nonnull Holder<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3)

Исходный код

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

class="kw">import com.hypixel.hytale.component.AddReason;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.component.RemoveReason;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.dependency.Dependency;
class="kw">import com.hypixel.hytale.component.dependency.Order;
class="kw">import com.hypixel.hytale.component.dependency.SystemDependency;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.component.system.HolderSystem;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.BuilderToolItemReferenceAsset;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.inventory.InventoryComponent;
class="kw">import com.hypixel.hytale.server.core.inventory.ItemStack;
class="kw">import com.hypixel.hytale.server.core.inventory.container.ItemContainer;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerSystems;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.List;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;

class="kw">public class BuilderToolsSystems {
   class="kw">private class="kw">static class="kw">final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();

   class="kw">public BuilderToolsSystems() {
   }

   class="kw">public class="kw">static class EnsureBuilderTools class="kw">extends HolderSystem<EntityStore> {
      @Nonnull
      class="kw">private class="kw">static class="kw">final ComponentType<EntityStore, InventoryComponent.Tool> TOOL_COMPONENT_TYPE = InventoryComponent.Tool.getComponentType();
      class="kw">private class="kw">final Set<Dependency<EntityStore>> dependencies = Set.of(new SystemDependency<>(Order.AFTER, PlayerSystems.PlayerInitSystem.class));

      class="kw">public EnsureBuilderTools() {
      }

      @Nonnull
      @Override
      class="kw">public Query<EntityStore> getQuery() {
         class="kw">return Query.and(Player.getComponentType(), TOOL_COMPONENT_TYPE);
      }

      @Override
      class="kw">public void onEntityAdd(@Nonnull Holder<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3) {
         Map var4 = BuilderToolItemReferenceAsset.getAssetMap().getAssetMap();
         InventoryComponent.Tool var5 = var1.getComponent(TOOL_COMPONENT_TYPE);
         assert var5 != null;
         ItemContainer var6 = var5.getInventory();
         var6.clear();
         List var7 = new ObjectArrayList();

         for (BuilderToolItemReferenceAsset var9 : var4.values()) {
            String[] var10 = var9.getItems();

            for (String var14 : var10) {
               var7.add(new ItemStack(var14));
            }
         }

         if (!var6.addItemStacks(var7).succeeded()) {
            BuilderToolsSystems.LOGGER
               .at(Level.WARNING)
               .log("Could not add %d builder tools to the Tools container (capacity %d)", var7.size(), var6.getCapacity());
         }
      }

      @Override
      class="kw">public void onEntityRemoved(@Nonnull Holder<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3) {
      }

      @Nonnull
      @Override
      class="kw">public Set<Dependency<EntityStore>> getDependencies() {
         class="kw">return this.dependencies;
      }
   }
}