BlockConsumer interface
Пакет: com.hypixel.hytale.server.core.modules.interaction.interaction.config.selector
Файл: com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/Selector.java
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
void |
acceptvoid accept(int var1, int var2, int var3, int var4, int var5, int var6) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.interaction.interaction.config.selector;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.spatial.SpatialResource;
class="kw">import com.hypixel.hytale.function.consumer.TriIntConsumer;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.ModelComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.List;
class="kw">import java.util.function.BiConsumer;
class="kw">import java.util.function.Consumer;
class="kw">import java.util.function.Predicate;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector4d;
class="kw">public class="kw">interface Selector {
class="kw">static void selectNearbyBlocks(double var0, double var2, double var4, double var6, @Nonnull TriIntConsumer var8) {
int var9 = MathUtil.floor(var0 - var6);
int var10 = MathUtil.floor(var2 - var6);
int var11 = MathUtil.floor(var4 - var6);
int var12 = MathUtil.floor(var0 + var6);
int var13 = MathUtil.floor(var2 + var6);
int var14 = MathUtil.floor(var4 + var6);
for (int var15 = var9; var15 < var12; var15++) {
for (int var16 = var10; var16 < var13; var16++) {
for (int var17 = var11; var17 < var14; var17++) {
var8.accept(var15, var16, var17);
}
}
}
}
class="kw">static void selectNearbyEntities(
@Nonnull CommandBuffer<EntityStore> var0,
@Nonnull Ref<EntityStore> var1,
double var2,
@Nonnull Consumer<Ref<EntityStore>> var4,
@Nonnull Predicate<Ref<EntityStore>> var5
) {
TransformComponent var6 = var0.getComponent(var1, TransformComponent.getComponentType());
assert var6 != null;
Vector3d var7 = var6.getPosition();
float var8 = ModelComponent.getEyeHeight(var1, var0);
Vector3d var9 = new Vector3d(var7).add(0.0, var8, 0.0);
selectNearbyEntities(var0, var9, var2, var4, var5);
}
class="kw">static void selectNearbyEntities(
@Nonnull ComponentAccessor<EntityStore> var0,
@Nonnull Vector3d var1,
double var2,
@Nonnull Consumer<Ref<EntityStore>> var4,
@Nullable Predicate<Ref<EntityStore>> var5
) {
List var6 = SpatialResource.getThreadLocalReferenceList();
SpatialResource var7 = var0.getResource(EntityModule.get().getPlayerSpatialResourceType());
var7.getSpatialStructure().collect(var1, var2, var6);
SpatialResource var8 = var0.getResource(EntityModule.get().getEntitySpatialResourceType());
var8.getSpatialStructure().collect(var1, var2, var6);
SpatialResource var9 = var0.getResource(EntityModule.get().getItemSpatialResourceType());
var9.getSpatialStructure().collect(var1, var2, var6);
for (Ref var11 : var6) {
if (var11 != null && var11.isValid() && (var5 == null || var5.test(var11))) {
var4.accept(var11);
}
}
}
void tick(@Nonnull CommandBuffer<EntityStore> var1, @Nonnull Ref<EntityStore> var2, float var3, float var4);
void selectTargetEntities(
@Nonnull CommandBuffer<EntityStore> var1, @Nonnull Ref<EntityStore> var2, BiConsumer<Ref<EntityStore>, Vector4d> var3, Predicate<Ref<EntityStore>> var4
);
void selectTargetBlocks(@Nonnull CommandBuffer<EntityStore> var1, @Nonnull Ref<EntityStore> var2, @Nonnull Selector.BlockConsumer var3);
@FunctionalInterface
class="kw">interface BlockConsumer {
void accept(int var1, int var2, int var3, int var4, int var5, int var6);
}
}