System class
Пакет: com.hypixel.hytale.component.system
Файл: com/hypixel/hytale/component/system/System.java
implements: ISystem<ECS_TYPE>
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
ComponentType |
var5 |
|
ResourceType |
var5 |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.component.system;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentRegistration;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Resource;
class="kw">import com.hypixel.hytale.component.ResourceRegistration;
class="kw">import com.hypixel.hytale.component.ResourceType;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectList;
class="kw">import java.util.List;
class="kw">import java.util.function.Supplier;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class="kw">abstract class System<ECS_TYPE> class="kw">implements ISystem<ECS_TYPE> {
@Nonnull
class="kw">private class="kw">final ObjectList<ComponentRegistration<ECS_TYPE, ?>> componentRegistrations = new ObjectArrayList();
@Nonnull
class="kw">private class="kw">final ObjectList<ResourceRegistration<ECS_TYPE, ?>> resourceRegistrations = new ObjectArrayList();
class="kw">public System() {
}
@Nonnull
class="kw">protected <T class="kw">extends Component<ECS_TYPE>> ComponentType<ECS_TYPE, T> registerComponent(@Nonnull Class<? super T> var1, @Nonnull Supplier<T> var2) {
class="kw">return this.registerComponent(var1, null, null, var2);
}
@Nonnull
class="kw">protected <T class="kw">extends Component<ECS_TYPE>> ComponentType<ECS_TYPE, T> registerComponent(
@Nonnull Class<? super T> var1, @Nonnull String var2, @Nonnull BuilderCodec<T> var3
) {
class="kw">return this.registerComponent(var1, var2, var3, var3::getDefaultValue);
}
@Nonnull
class="kw">protected <T class="kw">extends Component<ECS_TYPE>> ComponentType<ECS_TYPE, T> registerComponent(
@Nonnull Class<? super T> var1, @Nullable String var2, @Nullable BuilderCodec<T> var3, @Nonnull Supplier<T> var4
) {
ComponentType var5 = new ComponentType<>();
this.componentRegistrations.add(new ComponentRegistration<>(var1, var2, var3, var4, var5));
class="kw">return var5;
}
@Nonnull
class="kw">public <T class="kw">extends Resource<ECS_TYPE>> ResourceType<ECS_TYPE, T> registerResource(@Nonnull Class<? super T> var1, @Nonnull Supplier<T> var2) {
class="kw">return this.registerResource(var1, null, null, var2);
}
@Nonnull
class="kw">public <T class="kw">extends Resource<ECS_TYPE>> ResourceType<ECS_TYPE, T> registerResource(
@Nonnull Class<? super T> var1, @Nonnull String var2, @Nonnull BuilderCodec<T> var3
) {
class="kw">return this.registerResource(var1, var2, var3, var3::getDefaultValue);
}
@Nonnull
class="kw">private <T class="kw">extends Resource<ECS_TYPE>> ResourceType<ECS_TYPE, T> registerResource(
@Nonnull Class<? super T> var1, @Nullable String var2, @Nullable BuilderCodec<T> var3, @Nonnull Supplier<T> var4
) {
ResourceType var5 = new ResourceType<>();
this.resourceRegistrations.add(new ResourceRegistration<>(var1, var2, var3, var4, var5));
class="kw">return var5;
}
@Nonnull
class="kw">public List<ComponentRegistration<ECS_TYPE, ?>> getComponentRegistrations() {
class="kw">return this.componentRegistrations;
}
@Nonnull
class="kw">public List<ResourceRegistration<ECS_TYPE, ?>> getResourceRegistrations() {
class="kw">return this.resourceRegistrations;
}
}