Search in sources :

Example 36 with Chunk

use of net.minecraft.server.v1_16_R1.Chunk in project PaperDev by Kamillaova.

the class ActivationRange method activateEntities.

/**
 * Find what entities are in range of the players in the world and set
 * active if in range.
 */
public static void activateEntities(World world) {
    MinecraftTimings.entityActivationCheckTimer.startTiming();
    final int miscActivationRange = world.spigotConfig.miscActivationRange;
    final int animalActivationRange = world.spigotConfig.animalActivationRange;
    final int monsterActivationRange = world.spigotConfig.monsterActivationRange;
    // Paper
    final int waterActivationRange = world.spigotConfig.waterActivationRange;
    int maxRange = Math.max(monsterActivationRange, animalActivationRange);
    maxRange = Math.max(maxRange, miscActivationRange);
    maxRange = Math.min((world.spigotConfig.viewDistance << 4) - 8, maxRange);
    // Paper
    Chunk chunk;
    for (EntityHuman player : world.players) {
        player.activatedTick = MinecraftServer.currentTick;
        maxBB = player.getBoundingBox().grow(maxRange, 256, maxRange);
        miscBB = player.getBoundingBox().grow(miscActivationRange, 256, miscActivationRange);
        animalBB = player.getBoundingBox().grow(animalActivationRange, 256, animalActivationRange);
        // Paper
        waterBB = player.getBoundingBox().grow(waterActivationRange, 256, waterActivationRange);
        monsterBB = player.getBoundingBox().grow(monsterActivationRange, 256, monsterActivationRange);
        int i = MathHelper.floor(maxBB.a / 16.0D);
        int j = MathHelper.floor(maxBB.d / 16.0D);
        int k = MathHelper.floor(maxBB.c / 16.0D);
        int l = MathHelper.floor(maxBB.f / 16.0D);
        for (int i1 = i; i1 <= j; ++i1) {
            for (int j1 = k; j1 <= l; ++j1) {
                if (// Paper
                (chunk = MCUtil.getLoadedChunkWithoutMarkingActive(world, i1, j1)) != null) {
                    // Paper
                    activateChunkEntities(chunk);
                }
            }
        }
    }
    MinecraftTimings.entityActivationCheckTimer.stopTiming();
}
Also used : EntityHuman(net.minecraft.server.v1_12_R1.EntityHuman) Chunk(net.minecraft.server.v1_12_R1.Chunk)

Aggregations

Location (org.bukkit.Location)13 ArrayList (java.util.ArrayList)11 List (java.util.List)11 HashMap (java.util.HashMap)10 WildLoadersPlugin (com.bgsoftware.wildloaders.WildLoadersPlugin)8 Hologram (com.bgsoftware.wildloaders.api.holograms.Hologram)8 ChunkLoader (com.bgsoftware.wildloaders.api.loaders.ChunkLoader)8 ChunkLoaderNPC (com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC)8 ITileEntityChunkLoader (com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader)8 WChunkLoader (com.bgsoftware.wildloaders.loaders.WChunkLoader)8 Collection (java.util.Collection)8 Collections (java.util.Collections)8 Map (java.util.Map)8 UUID (java.util.UUID)8 Chunk (net.minecraft.server.v1_16_R3.Chunk)8 Chunk (net.minecraft.server.v1_12_R1.Chunk)6 GenericChunk (org.dynmap.common.chunk.GenericChunk)6 Chunk (net.minecraft.server.v1_15_R1.Chunk)4 DynmapChunk (org.dynmap.DynmapChunk)4 ChestType (com.bgsoftware.wildchests.api.objects.ChestType)3