Intelligent Villagers Mod
=========================
Copyright (c) 2025-2026 BasteGK / ModPerfAI Team

This product is licensed under the Apache License, Version 2.0 (see the
LICENSE file at the root of this distribution). The full list of
third-party components + per-component licenses is in LICENSES.md and
the LICENSES/ directory. The authoritative copy of each license text
is additionally shipped inside the distributed jar under
META-INF/licenses/.


--- THIRD-PARTY APACHE 2.0 ATTRIBUTION NOTICES ----------------------

The following works are redistributed as part of this mod under the
Apache License, Version 2.0, and — per § 4(d) of that licence — the
attribution notices below must be preserved by downstream redistributors.

 • FLUX.1-schnell (default text-to-image model, invoked at runtime
   through the Pollinations.AI gateway on the player's own PC)
       Copyright (c) 2024 Black Forest Labs
       Source:  https://huggingface.co/black-forest-labs/FLUX.1-schnell
       Licence: Apache 2.0 — full text at LICENSES/FLUX_APACHE-2.0.txt

 • GPT-OSS 20B Reasoning LLM (the default free text model the mod hits
   when the local Ollama install is absent and the player opted in to
   cloud text — reached via Pollinations' `openai-fast` endpoint which
   runs on OVH infrastructure. Used by CloudAIFallbackClient.chatSingle.)
       Copyright (c) 2025 OpenAI
       Source:  https://huggingface.co/openai/gpt-oss-20b
       Licence: Apache 2.0

 • Valkyrien Skies 1 (physics concepts adapted into VehicleFactory,
   VehiclePhysicsEngineV3, VehicleAssembler and related classes under
   com.modperfai.iv.world.vehicle.*)
       Copyright (c) 2017-2019 Valkyrien Skies Development Team
       Source:  https://github.com/ValkyrienSkies/Valkyrien-Skies
       Licence: Apache 2.0 — full text at LICENSES/VALKYRIEN_SKIES_LICENSE.txt

 • Gson (JSON library, imported from `com.google.gson.*` in ~33 production
   source files — HTTP payload parsing, config serialisation, Wix API
   responses). Consumed transitively via NeoForge's Minecraft runtime
   classpath; not bundled by this mod's jarJar configuration.
       Copyright (c) 2008 Google Inc.
       Source:  https://github.com/google/gson
       Licence: Apache 2.0 — upstream NOTICE:
         "This product includes software developed at
          Google Inc. (https://www.google.com/)."

 • Guava (`com.google.common.cache.Cache` / `CacheBuilder`, used by
   `RenderingCache.java`). Consumed transitively via NeoForge's Minecraft
   runtime classpath; not bundled by this mod's jarJar configuration.
       Copyright (c) The Guava Authors
       Source:  https://github.com/google/guava
       Licence: Apache 2.0 — upstream NOTICE:
         "This product includes software developed at
          The Guava Authors."

 • fastutil (`it.unimi.dsi.fastutil.ints.IntOpenHashSet`, used by
   `SoldierGroupManager`). Transitive via NeoForge; not bundled here.
       Copyright (c) Sebastiano Vigna
       Source:  https://fastutil.di.unimi.it/
       Licence: Apache 2.0

 • Netty (`io.netty.buffer.ByteBuf` / `Unpooled`, used by a few packet-
   buffer helpers). Transitive via NeoForge; not bundled here.
       Copyright (c) The Netty Project
       Source:  https://netty.io/
       Licence: Apache 2.0 — upstream NOTICE:
         "This product includes software developed by
          The Netty project (https://netty.io/)."


--- THIRD-PARTY MIT ATTRIBUTION NOTICES -----------------------------

 • Pollinations.AI (public HTTP API gateway) — used by FOUR mod features:
   1. Image generation   (ImageGenClient.text2image → image.pollinations.ai)
   2. Text-LLM fallback  (CloudAIFallbackClient.chatSingle → text.pollinations.ai/openai)
   3. TTS fallback       (CloudAIFallbackClient.tts → text.pollinations.ai/?model=openai-audio)
   4. STT fallback       (CloudAIFallbackClient.stt → text.pollinations.ai/openai/v1/audio/transcriptions)
   All four paths run strictly client-side only, gated behind the per-
   feature opt-in flags in CloudFallbackConfig. No mod-server-side code
   ever reaches Pollinations.
       Copyright (c) 2023 pollinations
       Source:  https://github.com/pollinations/pollinations
       Licence: MIT — full text at LICENSES/POLLINATIONS_MIT.txt

 • OpenAI TTS voices (alloy, echo, fable, onyx, nova, shimmer) — the six
   base voices Pollinations exposes via the `openai-audio` model. The mod
   does NOT redistribute the voices or the model; each TTS request hits
   Pollinations' gateway and receives the synthesised audio bytes back.
   Generated audio is user-owned output. The voices themselves remain
   OpenAI's service — we hold no direct OpenAI licence.
       Source:  https://platform.openai.com/docs/guides/text-to-speech

 • OpenAI Whisper-1 (the speech-to-text model Pollinations exposes on the
   `/openai/v1/audio/transcriptions` endpoint). OpenAI released the
   Whisper family under the MIT licence in 2022, so the generated
   transcripts + the reference implementation are freely reusable.
       Copyright (c) 2022-2023 OpenAI
       Source:  https://github.com/openai/whisper
       Licence: MIT

 (Piper TTS, Ollama, and Rayon — also MIT — are listed under the
  BSD / MIT / Zlib block below to keep all binary-redistribution
  attributions together.)


--- THIRD-PARTY BSD / MIT / Zlib NOTICES ----------------------------

 • Libbulletjme (JNI wrapper — bundled in the jar via jarJar)
   *** MULTI-LICENSED — different files under different licences ***
       - Primary Java + native-glue code:  BSD-3-Clause
             Copyright (c) 2009-2026 jMonkeyEngine
             Copyright (c) 2013-2026 Stephen Gold
       - V-HACD native code:               BSD-3-Clause
             Copyright (c) 2011 Khaled Mamou
             Copyright (c) Riccardo Balbo, Simsilica LLC
         plus MIT for the single file `vhacdMutex.h`
       - Bundled Bullet Physics sources:   Zlib (see Bullet entry below)
       Source:  https://github.com/stephengold/Libbulletjme
       Licence text:  LICENSES/LIBBULLETJME_LICENSE.txt
       (the upstream LICENSE file concatenates all three licence bodies —
        keep verbatim on redistribution)

 • Bullet Physics (the C++ physics engine that Libbulletjme wraps)
       Copyright (c) 2003-2024 Erwin Coumans
       Source:  https://github.com/bulletphysics/bullet3
       Licence: Zlib — full text at LICENSES/BULLET_PHYSICS_LICENSE.txt
       Note: we redistribute only the core Bullet library; we do NOT
       redistribute anything from the upstream `Extras/` or
       `examples/ThirdPartyLibs/` folders (those carry different,
       potentially less-permissive licences).

 • Piper TTS (binary downloaded at runtime by PiperBinaryManager,
   invoked as a subprocess — no source embedded)
       Copyright (c) 2022 Michael Hansen
       Source:  https://github.com/rhasspy/piper
       Licence: MIT

 • whisper.cpp (binary + model files downloaded at runtime by
   WhisperBinaryManager / WhisperModelManager, invoked as a subprocess
   via ClientWhisperExecutor — no source embedded, no JNI linkage)
       Copyright (c) 2023-2026 The ggml authors
       Source:  https://github.com/ggerganov/whisper.cpp
       Licence: MIT — full text at LICENSES/WHISPER_CPP_LICENSE.txt
       Pinned version: v1.7.2 (see WhisperBinaryManager.WHISPER_VERSION)

 • OpenAI Whisper GGML models (ggml-tiny/base/small.bin downloaded on
   demand from HuggingFace to the player's whisper_cache/ — not bundled)
       Copyright (c) 2022-2023 OpenAI
       Source:  https://huggingface.co/ggerganov/whisper.cpp
       Licence: MIT (OpenAI open-sourced the Whisper models)

 • CEF (Chromium Embedded Framework — reached indirectly through MCEF,
   not bundled in this mod's jar)
       Copyright (c) 2008-2020 Marshall A. Greenblatt
       Portions  Copyright (c) 2006-2009 Google Inc.
       Source:  https://github.com/chromiumembedded/cef
       Licence: BSD-3-Clause

 • java-cef (reached indirectly through MCEF, not bundled)
       Source:  https://bitbucket.org/chromiumembedded/java-cef
       Licence: BSD-3-Clause

 • LWJGL 3 — OpenGL / GLFW / OpenAL / TinyFileDialogs bindings, imported
   as `org.lwjgl.*` in several renderer + UI files. Consumed transitively
   via Minecraft/NeoForge runtime; not bundled here.
       Copyright (c) LWJGL contributors
       Source:  https://www.lwjgl.org/
       Licence: BSD-3-Clause

 • Rayon Mod (architectural concepts only — no source code copied)
       Copyright (c) 2020 Lazurite
       Source:  https://github.com/LazuriteMC/Rayon
       Licence: MIT

 • Ollama (consumed via the local HTTP API at 127.0.0.1:11434,
   not bundled with this mod)
       Copyright (c) Ollama
       Source:  https://github.com/ollama/ollama
       Licence: MIT

 • JOML (math library — `org.joml.*`). Consumed transitively via
   Minecraft/NeoForge runtime; not bundled here.
       Copyright (c) JOML contributors
       Source:  https://github.com/JOML-CI/JOML
       Licence: MIT

 • Mojang Brigadier (`com.mojang.brigadier.*`, used by every
   `commands/*Command.java`). Consumed transitively via Minecraft runtime;
   not bundled here.
       Copyright (c) Microsoft Corporation / Mojang Studios
       Source:  https://github.com/Mojang/brigadier
       Licence: MIT

 • Mojang DataFixerUpper (`com.mojang.datafixers.util.Pair`). Consumed
   transitively via Minecraft runtime; not bundled here.
       Copyright (c) Mojang Studios
       Source:  https://github.com/Mojang/DataFixerUpper
       Licence: MIT

 • Mojang LogUtils (`com.mojang.logging.LogUtils`). Transitive via
   Minecraft runtime; not bundled here.
       Copyright (c) Mojang Studios
       Source:  https://github.com/Mojang/logging
       Licence: MIT

 • SpongePowered Mixin (`org.spongepowered.asm.mixin.*`). compileOnly
   at build; supplied at runtime by NeoForge's own Mixin bundle — not
   bundled by this mod.
       Copyright (c) SpongePowered
       Source:  https://github.com/SpongePowered/Mixin
       Licence: MIT


--- ESPEAK-NG: GPL-3.0 ESCAPE-HATCH NOTICE --------------------------

The mod invokes espeak-ng (https://github.com/espeak-ng/espeak-ng)
through the operating-system shell as an external process (see
`ClientESpeakExecutor`, `ProcessBuilder("espeak-ng")`). No espeak-ng
source code is copied, embedded, statically linked, or dynamically
linked as a JNI library. Per accepted case-law around the GPL's
aggregation clause, arms-length CLI invocation does NOT make the
mod a derivative work subject to GPL-3.0. The espeak-ng binary,
where installed, remains under its own GPL-3.0 licence, which the
end user agrees to upon installing it; the mod itself remains
Apache 2.0.


--- LGPL RUNTIME DEPENDENCY NOTICE ----------------------------------

 • MCEF (Minecraft Chromium Embedded Framework) — LGPL-2.1
       Source:  https://github.com/CinemaMod/mcef
       Accessed via Java Reflection only (Class.forName("...MCEF"));
       no MCEF source is copied, modified or statically linked.
       Distribution of MCEF, including its transitive CEF and
       java-cef components, is the responsibility of the end user
       installing MCEF as a separate Minecraft mod.
       Full text at LICENSES/MCEF_LGPL-2.1.txt.


--- VOICE MODELS + MUSIC (CONTENT) ----------------------------------

 • LibriTTS voice models — CC BY 4.0. Citation:
       Zen, Heiga, et al. "LibriTTS: A Corpus Derived from
       LibriSpeech for Text-to-Speech." arXiv:1904.02882 (2019).
 • Thorsten Voice (German TTS) — CC0 / CC BY 4.0, Thorsten Müller.
   Full details + per-voice attribution in TTS_VOICE_ATTRIBUTION.md.
 • Music tracks in assets/intelligentvillagers/sounds/music/ — see
   SOUND_ATTRIBUTION.md for per-track origin + licence.


--- CRYPTOGRAPHY NOTICE ---------------------------------------------

This distribution includes cryptographic software. The country in which
you currently reside may have restrictions on the import, possession,
use, and/or re-export to another country, of encryption software.
BEFORE using any encryption software, please check your country's
laws, regulations and policies concerning the import, possession,
use, and re-export of encryption software, to see if this is permitted.
See https://www.wassenaar.org/ for more information.

Apache Software Foundation's classification policy (followed as a
professional best practice) applies: this software is made available
publicly at https://github.com/BasteGK/intelligent_villagers and is
controlled under the U.S. Bureau of Industry and Security (BIS) Export
Administration Regulations (EAR) as publicly available encryption
software under License Exception TSU (15 C.F.R. §740.13(e)).

Specific cryptographic functionality in this mod:

  • AES-256-GCM — used client-side by `AnonymousBugTicketStore` and
    the "Remember Me" credential-persistence path to encrypt saved
    email/password against disk-snooping. Keys are per-install,
    never transmitted, and never reused across installs.

  • SHA-256 — used for portrait-image deduplication
    (`PortraitServerStorage`) and anonymous-ticket hashing.

  • Transport security (HTTPS/TLS) — every outbound HTTP call uses
    Java's built-in TLS via `java.net.http.HttpClient`. No custom
    crypto transport is implemented.

The mod does NOT contain weapon-grade cryptography, quantum-resistant
algorithms, or any classified crypto implementation. It relies entirely
on the JDK's standard `javax.crypto` + `java.security` providers.


--- MINECRAFT EULA --------------------------------------------------

This mod requires Minecraft Java Edition (proprietary, Microsoft).
Modifications of Minecraft are permitted under the Minecraft EULA
(https://www.minecraft.net/en-us/eula). Nothing in this NOTICE file
or in the Apache 2.0 licence overrides the Minecraft EULA; end users
must accept both.

The following Mojang-proprietary libraries are imported by the mod but
resolved at runtime against the player's installed Minecraft client —
no bytecode for these libraries is redistributed by this mod's jar:

 • com.mojang.authlib.*   — `GameProfile` lookup
 • com.mojang.blaze3d.*   — client-side GL state / matrix stack
 • com.mojang.math.*      — `Axis` and related math helpers

Per the Minecraft EULA these libraries stay the sole property of
Mojang / Microsoft. The Apache-2.0 licence that covers this mod's own
code does NOT re-licence them.


--- JDK STANDARD MODULES --------------------------------------------

One non-`java.*`/`javax.*` JDK module is imported directly:

 • jdk.httpserver (`com.sun.net.httpserver.*`) — used by the OAuth login
   flow (`WixOAuthService`) and the YouTube-widget loopback server
   (`YouTubeWidgetLocalServer`). Distributed as part of the OpenJDK;
   covered by GPL-2.0 + Classpath Exception. Not redistributed by this
   mod's jar — resolved against the end-user's installed JDK/JRE.


---------------------------------------------------------------------
End of NOTICE.
