▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Avoid
Avoid

Avoid

Mod framework that wraps whole Minecraft. Kinda like Bukkit. [#killaislop]

Оцените первым
1.3K
4


🐦‍⬛ Avoid allows you to remove net.minecraft references completely from your code.


🧧 Compatibility Matrix:

FabricNeoForgeSpongePaper (ALPHA)
1.21.8✔️❌❌❌
1.21.10✔️❌❌❌
1.21.11✔️❌✔️✔️[LTS¹]
26.1.*✔️✔️✔️❌[LTS¹]
26.2✔️✔️✔️❌
26.3✔️✔️❌❌
26.4-snapshot-1✔️❌❌❌[TS²]

Quilt is not supported and will break with the mod.
Paper did not receive the latest update. It will receive the next one, however.

¹ Long Term Support
² Temporary Support

Note: This mod does not require Fabric API!
Note: Some features may not work or be no-op (do nothing) on Paper.

🧮 API-s:
  • NBT
  • Client Chat
  • Server Chat
  • Chat Colors
  • Chat Components [BETA]
  • Identification (Identifier)
  • Item Querying       [ALPHA]
  • Item Components [BETA]
  • Editable Item Components [BETA]
  • Entity Types                         [BETA]
  • Entity Selectors                   [ALPHA]
  • Transformed Item Components [BETA]
  • Client API
  • Client Screen API
  • Client Screen Widget API
  • Client Screen Modifier API
  • Client Interaction API
  • Font API
  • Render Layer API [BETA]
  • Command API
  • Command Parameter API
  • Command Permission API
  • Placeholder API [ALPHA]
  • Addon Loader (AvoidModLoader)
  • Block Creation API [ALPHA]
  • Item Creation API  [ALPHA]
  • Entity API [ALPHA]
  • Player API [ALPHA]
  • World API  [ALPHA]
  • Event API  [BETA]
  • Entity Type Creation API        [BETA]
  • Entity Model Creation API      [BETA]
  • Entity Layer API                       [BETA]
  • Entity Renderer Creation API [BETA]
  • Fluid API [BETA]
  • Fog API  [BETA]
  • Resource Overriding [ALPHA]
🌲 Events:
▾ Client Chat Events
  • ClientChatCommandEvent
  • ClientChatReceivedEvent
  • ClientChatNormalizeEvent
  • ClientChatSentEvent
▾ Client Entity Events
  • ClientEntityCreateEvent
  • ClientEntityVelocityEvent
▾ Client Keyboard Events [BETA]
  • ClientKeyPressEvent
  • ClientKeyReleaseEvent
▾ Client GUI Events [ALPHA]
  • RenderTextEvent
  • RenderOutlineEvent
  • RenderHudEvent
  • ToastAddEvent
▾ Client Loading Events [BETA]
  • ClientLoadingScreenRenderMojangEvent
▾ Client Screen Events
  • ScreenInitEvent
  • ScreenOpenEvent [BETA]
▾ Client Events
  • ClientTickEvent [BETA]
  • ClientScreenInPortalEvent [ALPHA]
▾ Server Chat Events
  • ServerChatReceivedEvent
  • ServerChatSendEvent
  • ServerChatSentEvent
▾ Server Command Events
  • ServerCommandExecuteEvent
  • ServerCommandSuggestEvent
▾ Server Entity Events
  • ServerEntityCreateEvent 🧪
  • ServerEntityDropEvent
  • ServerEntityEffectAddEvent
  • ServerEntityEffectRemoveEvent
  • ServerEntityEffectUpdateEvent
  • ServerEntityStruckByBoltEvent
  • ServerEntityVelocityEvent
  • ServerEntityInteractEvent
  • ServerEntityInsideBlockEvent
  • ServerEntityResurrectEvent
  • ServerMobSetTargetEvent
  • ServerMobClearTargetEvent

  • ▾ Llama
    • ServerLlamaSpitEvent 🧪

  • ▾ Block
    • ServerEntityBlockTrampleEvent 🧪
▾ Server Player Events
  • ServerPlayerGameModeChangeEvent
  • ServerPlayerInputEvent
  • ServerPlayerSwingEvent
  • ServerPlayerUpdateAbilitiesEvent
  • ServerPlayerKickEvent

  • ▾ Block
    • ServerPlayerCraftSlotEvent
    • ServerPlayerSmithingSlotEvent

    • ▾ Anvil [BETA]
      • ServerPlayerAnvilEnchantmentCompatibilityCheckEvent
      • ServerPlayerAnvilFailEvent
      • ServerPlayerAnvilNameValidationEvent
      • ServerPlayerAnvilSuccessResultEvent

      • ▾ XP40 [BETA]
        • ServerPlayerAnvilXP40ItemClearEvent
        • ServerPlayerAnvilXP40NameChangeCostClampEvent
        • ServerPlayerAnvilXP40TriggerStackedEvent

    • ▾ Bed [BETA]
      • ServerPlayerBedSleepFailEvent
      • ServerPlayerBedSleepStopEvent
      • ServerPlayerBedSleepSuccessEvent

    • ▾ Enchanting Table [BETA]
      • ServerPlayerEnchantingTableBookshelfAmountEvent
      • ServerPlayerEnchantingTableBookshelfLimitEvent
      • ServerPlayerEnchantingTableCostEvent

  • ▾ Food [BETA]
    • ServerPlayerSetFoodLevelEvent
    • ServerPlayerSetSaturationLevelEvent

Some events and/or API-s might've been missed in the listings above.

GitHubWiki


Note: If you're using my mods, I advise against buying Minecraft.


🔌 Support Everything.

Same API on 9 minecraft versions, 4 loaders.


🪶 Feature requests

If you want a new API, event or something else, make a feature request here.

I am working on Avoid very often, but I don't push out releases immediately.
I want to make sure all features I add don't turn out to be total mistakes, so that I (and you, Avoid addon developers) won't have to deal with deprecation or removals.

Also, I may be adding new compatibility options.
Such as Paper support. That takes longer, so sometimes releases may be delayed if they contain those.



❓ FAQ

👀 But there's hundreds of libraries

I know. This one is created because I don't wanna use others. And because I need full coverage of Minecraft's code.

🧐 What actually is this mod

It's a framework - a mod that other mods can use in their code instead of referring to Minecraft. It exists so that mods can support multiple modloaders and minecraft versions without doing advanced stuff. It also generally simplifies making mods & plugins.

🧽 What about SpongePowered

SpongePowered doesn't seem to support Minecraft Fabric.
Also, I don't think Sponge has client API-s.

🟣 Is Quilt supported?

No! It breaks the mod.

🥳 When new release?

I usually publish releases every 3days-1week.
Sometimes they may be delayed due to lack of ideas or energy.

🛠️ What does Avoid strive to replace?

Avoid strives to provide all functionality possible to remake your mods/plugins in Avoid from:

NameMain goalsCompleted
Fabricmixins, access wideningno
Fabric APInetworkingno
Quiltloader pluginsno
Architecturynot sure tbhno
Fabric Language Kotlin-yes
Kotlin for Forgededicated QoL features for kotlinno
Balm (partially?)not sureno
Konkretenot sureno
Collectivenot sureno
CreativeCoreingredients apino
Bookshelfstuffno
Moonlight Libpack creation apino
MaliLibrendering utilitiesno
Icebergsome eventsno
Resourceful Lib (partially?)not sureno
Resourceful Confignot sureno
libIPN (partially?)more modloader methodsno
SuperMartjin642's Config Libconfig apino
Trinketsslot creation & managementno
Cristel Libconditional datapack loadingno
Prismcolor utilitiesno
JamLibrepost checkingno

Note that Avoid does not currently provide all functionality to replace them. But it may in the future.

What libraries I think may be cool although I never used to be fair (note that i did not check how all of these libraries are used so yk i may change my mind):

  • Melody
  • GeckoLib
  • Forge Config API port (if you're coming from Forge)
  • Searchables
  • SuperMartjin642's Config Lib

Note that this does not mean I like or not like these projects.
My motivation behind Avoid is purely fun and making mod development better (including for myself [:).

The reasons for why I want to make Avoid the huge framework, are:

  1. these libraries & modloaders mentioned earlier have one big flaw: use breaks every minecraft update. it's not their fault, it's mojang (each mc update = incompatibilities)
  2. I want to eliminate the need for libraries. the only libraries mods should need are e.g. forge config api port (it's for easier porting to fabric) or geckolib (advanced animations).

Also note that Avoid will not neccessarily fulfill all uses of those libraries. For example as a key point they may support more Minecraft versions than Avoid. However, the biggest cool thing about Avoid is that, all of its APIs are compatible with each other. With the listed libraries you might experience incompatibilites (I mean, it's natural that there might be.)

Fabric Language Kotlin should be already replaceable with Avoid, as you can add all kotlin dependencies to your avoid.mod.json libraries section, which is sort of a replacement for maven-mirror library mods.


🦘 So far, AvoidLib kept compatibility through all these changes¹:

  • [26.1] Rendering Name Refactor
  • [26.1] Item Stack Refactor
  • [26.1] Stupid World Changes
  • [26.1] Stupid Player Changes
  • [26.1] Stupid Chat Changes
  • [26.2] Entity Refactor
  • [26.2] GUI Refactor
  • [26.2] Block Item IDs
  • [26.3] Block Type Removal
  • [26.3] Increased ItemStackNative usage
  • [26.3] Entity Delta Tracking
  • [26.3] Vertex Modifications
  • [26.3] Move to SDL
  • [26.3] Move to RenderPearl
  • [26.3] PushReaction Refactor
  • [26.3] ItemStackTemplate#entrySet() removal
  • [26.4] RenderPearl unrefactor
¹ These names may not be accurate,
   and some refactorings may be missing.
The content of this page is licensed under All Rights Reserved.
The mod's license is Apache 2.0.
Партнёрский материал

Как поиграть с друзьями с модом Avoid?

Мод Avoid куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Avoid будет готов за пару минут - BungeeHost сделает всё за вас.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.4.x26.3.x26.2.x26.1.x1.21.x

Поддерживаемые окружения

Клиент и сервер

Зависимости

Ссылки

Создатели

Детали

Лицензия:
Опубликован:3 месяца назад
Обновлён:6 дней назад
Главная