类net.minecraft.util.ClassInheritanceMultiMap源码实例Demo

下面列出了怎么用net.minecraft.util.ClassInheritanceMultiMap的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Kettle   文件: ActivationRange.java
/**
 * Checks for the activation state of all entities in this chunk.
 *
 * @param chunk
 */
private static void activateChunkEntities(Chunk chunk) {
    for (ClassInheritanceMultiMap<Entity> slice : chunk.entityLists) {
        for (Entity entity : slice) {
            if (entity == null) {
                continue;
            }
            if (MinecraftServer.currentTick > entity.activatedTick) {
                if (entity.defaultActivationState) {
                    entity.activatedTick = MinecraftServer.currentTick;
                    continue;
                }
                switch (entity.activationType) {
                    case 1:
                        if (monsterBB.intersects(entity.getEntityBoundingBox())) {
                            entity.activatedTick = MinecraftServer.currentTick;
                        }
                        break;
                    case 2:
                        if (animalBB.intersects(entity.getEntityBoundingBox())) {
                            entity.activatedTick = MinecraftServer.currentTick;
                        }
                        break;
                    case 3:
                    default:
                        if (miscBB.intersects(entity.getEntityBoundingBox())) {
                            entity.activatedTick = MinecraftServer.currentTick;
                        }
                }
            }
        }
    }
}
 
源代码2 项目: Signals   文件: MCNetworkState.java
public void onChunkUnload(Chunk chunk){
    for(ClassInheritanceMultiMap<Entity> entities : chunk.getEntityLists()) {
        for(EntityMinecart cart : entities.getByClass(EntityMinecart.class)) {
            removeCart(cart);
        }
    }
}
 
源代码3 项目: GriefPrevention   文件: BlockUtils.java
private static boolean unloadChunk(net.minecraft.world.chunk.Chunk chunk) {
    net.minecraft.world.World mcWorld = chunk.getWorld();
    ChunkProviderServer chunkProviderServer = (ChunkProviderServer) chunk.getWorld().getChunkProvider();

    boolean saveChunk = false;
    if (chunk.needsSaving(true)) {
        saveChunk = true;
    }

    for (ClassInheritanceMultiMap<Entity> classinheritancemultimap : chunk.getEntityLists())
    {
        chunk.getWorld().unloadEntities(classinheritancemultimap);
    }

    if (saveChunk) {
        saveChunkData(chunkProviderServer, chunk);
    }

    chunkProviderServer.id2ChunkMap.remove(ChunkPos.asLong(chunk.x, chunk.z));
    ((ChunkBridge) chunk).bridge$setScheduledForUnload(-1);
    org.spongepowered.api.world.Chunk spongeChunk = (org.spongepowered.api.world.Chunk) chunk;
    for (Direction direction : CARDINAL_SET) {
        Vector3i neighborPosition = spongeChunk.getPosition().add(direction.asBlockOffset());
        ChunkProviderBridge spongeChunkProvider = (ChunkProviderBridge) mcWorld.getChunkProvider();
        net.minecraft.world.chunk.Chunk neighbor = spongeChunkProvider.bridge$getLoadedChunkWithoutMarkingActive(neighborPosition.getX(),
            neighborPosition.getZ());
        if (neighbor != null) {
            int neighborIndex = directionToIndex(direction);
            int oppositeNeighborIndex = directionToIndex(direction.getOpposite());
            ((ChunkBridge) spongeChunk).bridge$setNeighborChunk(neighborIndex, null);
            ((ChunkBridge) neighbor).bridge$setNeighborChunk(oppositeNeighborIndex, null);
        }
    }

    return true;
}
 
源代码4 项目: FastAsyncWorldedit   文件: ForgeQueue_All.java
public boolean hasEntities(Chunk nmsChunk) {
    ClassInheritanceMultiMap<Entity>[] entities = nmsChunk.getEntityLists();
    for (int i = 0; i < entities.length; i++) {
        ClassInheritanceMultiMap<Entity> slice = entities[i];
        if (slice != null && !slice.isEmpty()) {
            return true;
        }
    }
    return false;
}
 
源代码5 项目: FastAsyncWorldedit   文件: SpongeQueue_1_11.java
public boolean hasEntities(Chunk nmsChunk) {
    ClassInheritanceMultiMap<Entity>[] entities = nmsChunk.getEntityLists();
    for (int i = 0; i < entities.length; i++) {
        ClassInheritanceMultiMap<Entity> slice = entities[i];
        if (slice != null && !slice.isEmpty()) {
            return true;
        }
    }
    return false;
}
 
源代码6 项目: FastAsyncWorldedit   文件: ForgeQueue_All.java
public boolean hasEntities(Chunk nmsChunk) {
    ClassInheritanceMultiMap<Entity>[] entities = nmsChunk.getEntityLists();
    for (int i = 0; i < entities.length; i++) {
        ClassInheritanceMultiMap<Entity> slice = entities[i];
        if (slice != null && !slice.isEmpty()) {
            return true;
        }
    }
    return false;
}
 
源代码7 项目: FastAsyncWorldedit   文件: SpongeQueue_1_12.java
public boolean hasEntities(Chunk nmsChunk) {
    ClassInheritanceMultiMap<Entity>[] entities = nmsChunk.getEntityLists();
    for (int i = 0; i < entities.length; i++) {
        ClassInheritanceMultiMap<Entity> slice = entities[i];
        if (slice != null && !slice.isEmpty()) {
            return true;
        }
    }
    return false;
}
 
源代码8 项目: FastAsyncWorldedit   文件: ForgeQueue_All.java
public boolean hasEntities(Chunk nmsChunk) {
    ClassInheritanceMultiMap<Entity>[] entities = nmsChunk.getEntityLists();
    for (int i = 0; i < entities.length; i++) {
        ClassInheritanceMultiMap<Entity> slice = entities[i];
        if (slice != null && !slice.isEmpty()) {
            return true;
        }
    }
    return false;
}
 
源代码9 项目: FastAsyncWorldedit   文件: ForgeQueue_All.java
public boolean hasEntities(Chunk nmsChunk) {
    ClassInheritanceMultiMap<Entity>[] entities = nmsChunk.getEntityLists();
    for (int i = 0; i < entities.length; i++) {
        ClassInheritanceMultiMap<Entity> slice = entities[i];
        if (slice != null && !slice.isEmpty()) {
            return true;
        }
    }
    return false;
}
 
源代码10 项目: FastAsyncWorldedit   文件: ForgeQueue_All.java
public boolean hasEntities(Chunk nmsChunk) {
    ClassInheritanceMultiMap<Entity>[] entities = nmsChunk.getEntityLists();
    for (int i = 0; i < entities.length; i++) {
        ClassInheritanceMultiMap<Entity> slice = entities[i];
        if (slice != null && !slice.isEmpty()) {
            return true;
        }
    }
    return false;
}
 
 类所在包
 类方法
 同包方法