避开

避开

打包整个Minecraft的模组框架。有点像Bukkit。

基础库

🐦‍⬛ Avoid 允许你从代码中完全移除 net.minecraft 引用。


🧧 支持版本:

  • 1.21.11 [长期支持¹]
  • 26.1、26.1.1、26.1.2
  • 26.2
  • 26.3-snapshot-5 [临时支持²]
¹ 长期支持
² 临时支持

🔌 支持的模组加载器:

  • Fabric
  • NeoForge

🧮 API:

  • NBT
  • 客户端聊天
  • 服务器聊天
  • 聊天颜色
  • 聊天组件 [BETA]
  • 标识符
  • 物品查询       [ALPHA]
  • 物品组件 [BETA]
  • 可编辑物品组件 [BETA]
  • 实体类型                         [BETA]
  • 实体选择器                   [ALPHA]
  • 转换物品组件 [BETA]
  • 客户端屏幕 API
  • 字体 API
  • 渲染层 API [BETA]
  • 命令 API
  • 命令参数 API
  • 命令权限 API
  • 附加包加载器 (AvoidModLoader)
  • 方块创建 API [ALPHA]
  • 物品创建 API  [ALPHA]
  • 实体 API [ALPHA]
  • 玩家 API [ALPHA]
  • 世界 API  [ALPHA]
  • 事件 API  [BETA]
  • 实体类型创建 API        [BETA]
  • 实体模型创建 API      [BETA]
  • 实体层 API                       [BETA]
  • 实体渲染器创建 API [BETA]

🌲 事件:

  • ▾ 客户端聊天事件
    • ClientChatCommandEvent
    • ClientChatReceivedEvent
    • ClientChatSentEvent
  • ▾ 客户端键盘事件 [BETA]
    • ClientKeyPressEvent
    • ClientKeyReleaseEvent
  • ▾ 客户端 GUI 事件 [ALPHA]
    • RenderTextEvent
    • RenderOutlineEvent
  • ▾ 服务器聊天事件
    • ServerChatReceivedEvent
    • ServerChatSendEvent
    • ServerChatSentEvent
  • ▾ 服务器实体事件
    • ServerEntityCreateEvent 🧪
    • ServerEntityDropEvent
    • ServerEntityInteractEvent

    • ▾ 羊驼
      • ServerLlamaSpitEvent 🧪
    • ▾ 方块
      • ServerEntityBlockTrampleEvent 🧪
  • ▾ 服务器玩家事件
    • ServerPlayerGameModeChangeEvent
    • ServerPlayerInputEvent
    • ServerPlayerKickEvent

    • ▾ 工作台 [BETA]
      • ServerPlayerCraftSlotEvent
      • ServerPlayerSmithingSlotEvent

      • ▾ 铁砧 [BETA]
        • ServerPlayerAnvilEnchantmentCompatibilityCheckEvent
        • ServerPlayerAnvilFailEvent
        • ServerPlayerAnvilNameValidationEvent
        • ServerPlayerAnvilSuccessResultEvent

        • ▾ XP40 [BETA]
          • ServerPlayerAnvilXP40ItemClearEvent
          • ServerPlayerAnvilXP40NameChangeCostClampEvent
          • ServerPlayerAnvilXP40TriggerStackedEvent
      • ▾ 床 [BETA]
        • ServerPlayerBedSleepFailEvent
        • ServerPlayerBedSleepStopEvent
        • ServerPlayerBedSleepSuccessEvent
      • ▾ 附魔台 [BETA]
        • ServerPlayerEnchantingTableBookshelfAmountEvent
        • ServerPlayerEnchantingTableBookshelfLimitEvent
        • ServerPlayerEnchantingTableCostEvent
  • ▾ 客户端屏幕事件
    • ScreenInitEvent
    • ScreenOpenEvent [BETA]

以上列表可能遗漏了一些事件和/或 API。

🐙 GitHub:https://github.com/AvoidLib/Avoid
📚 Wiki:https://github.com/AvoidLib/Avoid/wiki


❓ 为什么?

  1. 兼容性
    我的世界频繁更改 API。这个库则不会。
  2. 防止接管
    当你在我的世界中制作模组时,微软可能会窃取你的模组。
    当你为 Avoid 制作模组时,你不是在为我的世界制作模组——而是为任何 Avoid 支持的平台。

👀 但是有数百个库

我知道。创建这个库是因为我不想使用其他库。也是因为需要完全覆盖我的世界的代码。


🧽 SpongePowered 呢?

SpongePowered 似乎不支持 Minecraft Fabric。
此外,我不认为 Sponge 有客户端 API。


🦘 到目前为止,AvoidLib 在所有以下更改中保持了兼容性¹:

  • [26.1] 渲染名称重构
  • [26.1] 物品堆栈重构
  • [26.1] 愚蠢的世界更改
  • [26.1] 愚蠢的玩家更改
  • [26.1] 愚蠢的聊天更改
  • [26.2] 实体重构
  • [26.2] GUI 重构
  • [26.2] 方块物品ID
  • [26.3] 移除方块类型
  • [26.3] 增加 ItemStackNative 使用
  • [26.3] 实体增量追踪
  • [26.3] 顶点修改
  • [26.3] 迁移至 SDL
  • [26.3] 迁移至 RenderPearl
  • [26.3] PushReaction 重构
  • [26.3] 移除 ItemStackTemplate#entrySet()
¹ 这些名称可能不准确,
   并且可能遗漏了一些重构。

💴 然而,没有版本支持被放弃。