AddSystem class
Пакет: com.hypixel.hytale.builtin.adventure.wilderness.system
Файл: com/hypixel/hytale/builtin/adventure/wilderness/system/WildernessEntitySystems.java
extends: RefSystem<EntityStore>
Поля (6)
| Модификаторы | Тип | Имя |
|---|---|---|
|
protected final Query<EntityStore> |
query |
|
World |
var5 |
|
WildernessConfig |
var6 |
|
int |
var7 |
|
int |
var8 |
|
protected final ComponentType<EntityStore, Wilderness> |
wildernessComponentType |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public Query<EntityStore> |
getQuerypublic Query<EntityStore> getQuery() |
|
public void |
onEntityAddedpublic void onEntityAdded(@Nonnull Ref<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4) |
|
public void |
onEntityRemovepublic void onEntityRemove(@Nonnull Ref<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.wilderness.system;
class="kw">import com.hypixel.hytale.builtin.adventure.wilderness.WildernessConfig;
class="kw">import com.hypixel.hytale.builtin.adventure.wilderness.component.Wilderness;
class="kw">import com.hypixel.hytale.builtin.adventure.wilderness.resource.WildernessTracker;
class="kw">import com.hypixel.hytale.component.AddReason;
class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.RemoveReason;
class="kw">import com.hypixel.hytale.component.ResourceType;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.component.system.RefSystem;
class="kw">import com.hypixel.hytale.component.system.tick.ArchetypeTickingSystem;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.Spectating;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">public class WildernessEntitySystems {
class="kw">public WildernessEntitySystems() {
}
class="kw">public class="kw">static class AddSystem class="kw">extends RefSystem<EntityStore> {
@Nonnull
class="kw">protected class="kw">final ComponentType<EntityStore, Wilderness> wildernessComponentType;
@Nonnull
class="kw">protected class="kw">final Query<EntityStore> query = Query.and(PlayerRef.getComponentType(), TransformComponent.getComponentType());
class="kw">public AddSystem(@Nonnull ComponentType<EntityStore, Wilderness> var1) {
this.wildernessComponentType = var1;
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.query;
}
@Override
class="kw">public void onEntityAdded(
@Nonnull Ref<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
World var5 = var3.getExternalData().getWorld();
WildernessConfig var6 = WildernessConfig.getOrDefault(var5);
int var7 = var6.getPlayerTrackerChunkRadius();
int var8 = var6.getPlayerTrackerChunkRadiusY();
var4.putComponent(var1, this.wildernessComponentType, new Wilderness(var7, var8));
}
@Override
class="kw">public void onEntityRemove(
@Nonnull Ref<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
}
}
class="kw">public class="kw">static class TickSystem class="kw">extends ArchetypeTickingSystem<EntityStore> {
@Nonnull
class="kw">protected class="kw">final ComponentType<EntityStore, Wilderness> wildernessComponentType;
@Nonnull
class="kw">protected class="kw">final ComponentType<EntityStore, TransformComponent> transformComponentType;
@Nonnull
class="kw">protected class="kw">final ResourceType<ChunkStore, WildernessTracker> wildernessTrackerResourceType;
class="kw">protected class="kw">final Query<EntityStore> query;
class="kw">public TickSystem(
@Nonnull ComponentType<EntityStore, Wilderness> var1,
@Nonnull ComponentType<EntityStore, TransformComponent> var2,
@Nonnull ResourceType<ChunkStore, WildernessTracker> var3
) {
this.wildernessComponentType = var1;
this.transformComponentType = var2;
this.wildernessTrackerResourceType = var3;
this.query = Query.and(var1, var2, Query.not(Spectating.getComponentType()));
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.query;
}
@Override
class="kw">public void tick(float var1, @Nonnull ArchetypeChunk<EntityStore> var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4) {
WildernessTracker var5 = WildernessTracker.getTracker(var3.getExternalData().getWorld());
if (!var5.isDisabled()) {
for (int var6 = 0; var6 < var2.size(); var6++) {
Wilderness var7 = var2.getComponent(var6, this.wildernessComponentType);
assert var7 != null;
TransformComponent var8 = var2.getComponent(var6, this.transformComponentType);
assert var8 != null;
int var9 = MathUtil.floor(var8.getPosition().x);
int var10 = MathUtil.floor(var8.getPosition().y);
int var11 = MathUtil.floor(var8.getPosition().z);
var7.move(var9, var10, var11, var5);
}
}
}
}
}