Better Blood Magic 3 Potions —— 第三方作品、原始许可与致谢
================================================================================

本文件载明 Better Blood Magic 3 Potions 所依据的上游作品、原始版权归属与原始许可声明。
本 mod 的许可全文见同目录 LICENSE 文件。


1. 本 mod
--------------------------------------------------------------------------------

  名称：Better Blood Magic 3 Potions
  作者：anderlyer
  标识：SPDX-License-Identifier: Apache-2.0


2. 上游作品
--------------------------------------------------------------------------------

  名称：    Blood Magic（中文名「血魔法」）
  项目地址：https://github.com/WayofTime/BloodMagic
  作者：    WayofTime 及 Blood Magic 贡献者
  版权：    Copyright (C) WayofTime and contributors
  许可：    Creative Commons Attribution 4.0 International（CC BY 4.0）
            见其仓库 1.20.1 分支根目录的 LICENSE.md

  关于许可字段的一处说明：
  发行 jar 内 META-INF/mods.toml 的 license 字段在不同构建里并不一致 ——

    · 3.3.8-50 及之后的构建写作 "CC BY 4.0"，与仓库 LICENSE.md 一致；
    · 更早的构建（例如 3.3.3-45）该字段仍是**未经修改的 Forge MDK 示例模板**，
      写作 "All Rights Reserved"（连 credits 字段都还留着模板的示例文本）。

  后者显然不是作者的许可选择，而是模板默认值未清理。**实际适用的许可以仓库根目录
  的 LICENSE.md 为准，即 CC BY 4.0。**

  名称：    Create（中文名「机械动力」）
  项目地址：https://github.com/Creators-of-Create/Create
  作者：    simibubi 及 Create 贡献者
  许可：    MIT（代码）；美术资源另有条款

  本 mod 只用到 Create 的一个附魔（create:capacity）与它声明的空标记接口
  CapacityEnchantment$ICapacityEnchantable，没有复制其任何代码或资源。


3. 本 mod 对上游作品的使用方式
--------------------------------------------------------------------------------

  Better Blood Magic 3 Potions 不复制、不重新分发 Blood Magic、Minecraft、Forge 或 Create
  的任何源码或资源，产物中不含它们的代码。它通过 SpongePowered Mixin 在运行时注入下列六个类：

      wayoftime.bloodmagic.recipe.flask.RecipePotionFill                （Blood Magic）
      wayoftime.bloodmagic.recipe.flask.RecipePotionIncreaseLength      （Blood Magic）
      wayoftime.bloodmagic.recipe.flask.RecipePotionIncreasePotency     （Blood Magic）
      net.minecraft.world.item.Item                                     （Minecraft）
      net.minecraft.world.item.ItemStack                                （Minecraft）
      net.minecraft.world.item.enchantment.Enchantment                  （Minecraft）
      com.simibubi.create.content.equipment.armor.CapacityEnchantment   （Create）

  对应的注入点：

      · RecipePotionFill#getOutput —— 决定一种填充剂施用于炼金药水瓶时究竟做了什么：
        补充多少用量，以及是否把药水瓶的效果列表截断到配方 json 里声明的 max 值。

      · RecipePotionIncreaseLength#canModifyFlask 与 #getOutput、
        RecipePotionIncreasePotency#canModifyFlask 与 #getOutput
        —— 决定增时 / 增效催化剂能否再次施用于同一个效果，以及第二份是叠乘而非覆盖原值。

      · Item#getBarWidth 与 Item#getBarColor —— 仅当宿主物品是炼金药水瓶时生效：改成用
        stack.getMaxDamage() 计算。原版这两个方法**不读堆叠的最大耐久**，而是直接读 Item
        自己的 maxDamage 字段，所以附魔把上限抬高之后，物品说明（走 getMaxDamage）显示 11，
        而耐久条仍按 8 画，两边对不上。其他任何物品一律原样返回。

      · Item#getEnchantmentValue —— 仅当宿主物品是炼金药水瓶时生效：返回配置的附魔能力值
        （默认 15）。血魔法从未给药水瓶设过这个值，而原版的附魔台在附魔能力 <= 0 时会
        直接不给任何选项（EnchantmentHelper.getEnchantmentCost 返回 0、
        getAvailableEnchantmentResults 返回空列表），所以药水瓶在附魔台上原本毫无反应。
        其他任何物品一律原样返回。

      · ItemStack#getMaxDamage —— 仅当宿主物品是炼金药水瓶时生效：把最大耐久改成
        8 + 耐久等级 + 扩容等级，于是这个上限是按「单个瓶子」算的，而不是按「物品」算。
        其他任何物品一律原样返回。

      · Enchantment#canEnchant —— 仅当宿主附魔是 create:capacity、且物品是炼金药水瓶时返回 true。

      · CapacityEnchantment#canApplyAtEnchantingTable —— 同上，供附魔台使用。

  该 mod 只读取配方自身的公开数据（getInput()、maxEffects、lengthDurationMod、amplifier 等
  公开字段）、物品堆叠自身的公开附魔数据，不读取任何私有状态。

  唯一的存档写入：它会在炼金药水瓶自己的 NBT 里额外写一个键 "BmfrUpgrades"，用来记录某个效果
  被强化过几次（Blood Magic 的原版数据结构里没有这个信息，而加强制正是靠它判断的）。这是**新增**
  的键，不会覆盖或改动 Blood Magic 自己写的任何键；卸掉本 mod 后残留的这个键无害，只是不再被读取。

  两条需要说明的地方：

    · **Minecraft 原版并非开源软件。** 本 mod 不复制、不再分发其任何代码或资源，只在运行时
      通过 Mixin 改写两个方法的行为 —— 这是 Forge 生态中的通行做法，也是 Mixin 的设计用途。
      之所以必须动原版类，是因为「最大耐久」在原版里是按物品（Item）而非按单个堆叠
      （ItemStack）计算的：实测映射表中 getMaxDamage 只有无参版本，没有接受 ItemStack 的重载，
      Fabric/NeoForge 之外也没有其它扩展点。

    · 对 Create 的注入使用 @Pseudo —— 未安装 Create 时该注入整体跳过，其余功能不受影响，
      也不会报错。

  编译期仅以只读方式引用 Blood Magic、Patchouli 与 Create 的 API（compileOnly，三者均不打包）。


4. 许可依据
--------------------------------------------------------------------------------

  Blood Magic 以 CC BY 4.0 发布。该许可授予的权利包括：

      · 复制与再分发（第 2 条 a 款 1 项 A）
      · 制作、复制与再分发**改编作品**（第 2 条 a 款 1 项 B）
      · 允许商业性使用

  **该许可不含 ShareAlike 条款** —— 也就是说，它不要求改编作品采用相同或兼容的许可。

  因此本 mod 采用 Apache-2.0 发布，并不违反上游许可。

  需要履行的义务只有署名（第 3 条 a 款）：保留版权声明、注明许可、指出是否作了修改、
  并附上许可全文的链接。本 NOTICE 即为此而设。

  （对照：若上游采用 LGPL-3.0 这类含 copyleft 的许可，则改编作品需依其第 2 条 (b)
   整体改用 GPL 发布。CC BY 4.0 没有这个约束。）


5. 非官方声明
--------------------------------------------------------------------------------

  本 mod 是**第三方作品，与 Blood Magic 官方无关**。WayofTime 及 Blood Magic 贡献者
  未曾参与本 mod 的开发，也未以任何方式为其背书。


6. 致谢
--------------------------------------------------------------------------------

  感谢 WayofTime 与 Blood Magic 全体贡献者。把「补充用量」和「限制效果数量」这两件
  互不相干的事捆在同一个配方字段里（fill 配方 json 的 max），是一个很难从物品说明里
  看出来的设计 —— 而它正是本 mod 存在的理由。

  同时感谢 SpongePowered Mixin 与 Minecraft Forge 项目。


================================================================================
完整许可文本见同目录 LICENSE 文件，或访问
<https://www.apache.org/licenses/LICENSE-2.0>
CC BY 4.0 全文见 <https://creativecommons.org/licenses/by/4.0/legalcode>
