Handle class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.plugin
Файл: com/hypixel/hytale/builtin/hytalegenerator/plugin/Handle.java
implements: IWorldGen
Поля (8)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
var1 |
|
|
var1 |
|
ChunkRequest.GeneratorProfile |
var2 |
|
int |
var3 |
|
List |
var4 |
|
Transform[] |
var5 |
|
ChunkRequest.Arguments |
var8 |
|
ChunkRequest |
var9 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
|
for for(int var6 = 0; var6 < var4.size() |
|
|
if if(this.seedOverride != null) |
|
|
if if(this.seedOverride != null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.plugin;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.engine.chunkgenerator.ChunkRequest;
class="kw">import com.hypixel.hytale.math.vector.Transform;
class="kw">import com.hypixel.hytale.server.core.universe.world.spawn.ISpawnProvider;
class="kw">import com.hypixel.hytale.server.core.universe.world.worldgen.GeneratedChunk;
class="kw">import com.hypixel.hytale.server.core.universe.world.worldgen.IWorldGen;
class="kw">import com.hypixel.hytale.server.core.universe.world.worldgen.WorldGenTimingsCollector;
class="kw">import it.unimi.dsi.fastutil.longs.Long2FloatFunction;
class="kw">import java.util.List;
class="kw">import java.util.concurrent.CompletableFuture;
class="kw">import java.util.function.LongPredicate;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3dc;
class="kw">public class Handle class="kw">implements IWorldGen {
@Nonnull
class="kw">private class="kw">final HytaleGenerator plugin;
@Nonnull
class="kw">private class="kw">final ChunkRequest.GeneratorProfile profile;
@Nullable
class="kw">private class="kw">final String seedOverride;
class="kw">public Handle(@Nonnull HytaleGenerator var1, @Nonnull ChunkRequest.GeneratorProfile var2, @Nullable String var3) {
this.plugin = var1;
this.profile = var2;
this.seedOverride = var3;
}
@Nonnull
@Override
class="kw">public CompletableFuture<GeneratedChunk> generate(int var1, long var2, int var4, int var5, LongPredicate var6, Long2FloatFunction var7) {
ChunkRequest.Arguments var8 = new ChunkRequest.Arguments(var1, var2, var4, var5, var6, var7);
if (this.seedOverride != null) {
var1 = this.seedOverride.hashCode();
}
this.profile.setSeed(var1);
ChunkRequest var9 = new ChunkRequest(this.profile, var8);
class="kw">return this.plugin.submitChunkRequest(var9);
}
@Nonnull
class="kw">public ChunkRequest.GeneratorProfile getGeneratorProfile() {
class="kw">return this.profile;
}
@Nonnull
@Override
class="kw">public Transform[] getSpawnPoints(int var1) {
ChunkRequest.GeneratorProfile var2 = this.profile.clone();
if (this.seedOverride != null) {
var1 = this.seedOverride.hashCode();
}
var2.setSeed(var1);
int var3 = 1000000;
List var4 = this.plugin.getSpawnPositions(var2, 1000000);
Transform[] var5 = new Transform[var4.size()];
for (int var6 = 0; var6 < var4.size(); var6++) {
var5[var6] = new Transform((Vector3dc)var4.get(var6));
}
class="kw">return var4.isEmpty() ? new Transform[]{new Transform(0.0, 140.0, 0.0)} : var5;
}
@Nonnull
@Override
class="kw">public ISpawnProvider getDefaultSpawnProvider(int var1) {
class="kw">return IWorldGen.super.getDefaultSpawnProvider(var1);
}
@Nullable
@Override
class="kw">public WorldGenTimingsCollector getTimings() {
class="kw">return null;
}
@Override
class="kw">public void shutdown() {
this.plugin.shutdownHandle(this);
}
}