Newer
Older
void-pack-super-server / work / decompile-ee3ecae0 / net / minecraft / server / GeneratorAccess.java
package net.minecraft.server;

import java.util.Random;
import java.util.Set;
import java.util.stream.Stream;
import javax.annotation.Nullable;

public interface GeneratorAccess extends IEntityAccess, IWorldReader, VirtualLevelWritable {

    long getSeed();

    default float Y() {
        return WorldProvider.a[this.getWorldProvider().a(this.getWorldData().getDayTime())];
    }

    default float f(float f) {
        return this.getWorldProvider().a(this.getWorldData().getDayTime(), f);
    }

    TickList<Block> getBlockTickList();

    TickList<FluidType> getFluidTickList();

    World getMinecraftWorld();

    WorldData getWorldData();

    DifficultyDamageScaler getDamageScaler(BlockPosition blockposition);

    default EnumDifficulty getDifficulty() {
        return this.getWorldData().getDifficulty();
    }

    IChunkProvider getChunkProvider();

    @Override
    default boolean isChunkLoaded(int i, int j) {
        return this.getChunkProvider().b(i, j);
    }

    Random getRandom();

    void update(BlockPosition blockposition, Block block);

    void playSound(@Nullable EntityHuman entityhuman, BlockPosition blockposition, SoundEffect soundeffect, SoundCategory soundcategory, float f, float f1);

    void addParticle(ParticleParam particleparam, double d0, double d1, double d2, double d3, double d4, double d5);

    void a(@Nullable EntityHuman entityhuman, int i, BlockPosition blockposition, int j);

    default void triggerEffect(int i, BlockPosition blockposition, int j) {
        this.a((EntityHuman) null, i, blockposition, j);
    }

    @Override
    default Stream<VoxelShape> b(@Nullable Entity entity, AxisAlignedBB axisalignedbb, Set<Entity> set) {
        return IEntityAccess.super.b(entity, axisalignedbb, set);
    }

    @Override
    default boolean a(@Nullable Entity entity, VoxelShape voxelshape) {
        return IEntityAccess.super.a(entity, voxelshape);
    }

    @Override
    default BlockPosition getHighestBlockYAt(HeightMap.Type heightmap_type, BlockPosition blockposition) {
        return IWorldReader.super.getHighestBlockYAt(heightmap_type, blockposition);
    }
}