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;
}
}
}