Community listing page, reviews may not be monitored by the author.
Avoid
No reviews yet
Mod framework that wraps whole Minecraft. Kinda like Bukkit. [#killaislop]
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
Install on the client or the server; either alone gives full functionality.
Works on the client or the server alone, but does more when on both.
Varies by version.
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
🐦⬛ Avoid allows you to remove net.minecraft references completely from your code.
🧧 Compatibility Matrix:
| Fabric | NeoForge | Sponge | Paper | Forge (ALPHA) | ||
|---|---|---|---|---|---|---|
| 1.21.5 | ✔️ | ❌ | ❌ | ❌ | ❌ | |
| 1.21.8 | ✔️ | ❌ | ❌ | ❌ | ❌ | |
| 1.21.10 | ✔️ | ❌ | ❌ | ❌ | ❌ | |
| 1.21.11 | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | [LTS¹] |
| 26.1.* | ✔️ | ✔️ | ✔️ | ❌ | ❌ | [LTS¹] |
| 26.2 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | |
| 26.3 | ✔️ | ✔️ | ❌ | ❌ | ❌ | |
| 26.4-snapshot-7 | ✔️ | ❌ | ❌ | ❌ | ❌ | [TS²] |
Quilt is not supported and will break with the mod.
¹ 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
- Identification (Identifier)
- Item Querying [ALPHA]
- Item Components [BETA]
- Editable Item Components
- Entity Types
- Entity Selectors
- Transformed Item Components [BETA]
- Advancement Creation API
- Annotation-Based Config API
- 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
- Permission Handler API
- Addon Loader (AvoidModLoader)
- Addon PreLoader (PreModLoader)
- Custom Payload Creation API
- Datapack API
- Block Creation API [ALPHA]
- Item Creation API [ALPHA]
- Entity API
- Player API
- World API
- Event API
- 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]
- ClientPlaySoundEvent [ALPHA]
- ClientScreenInPortalEvent [ALPHA]
- ClientWindowTitleUpdateEvent [some form of experimental]
▾ Server Events
- ServerPlaySoundEvent
- ServerExplodeEvent
▾ 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.
Avoid addons can have mixins!
Note: If you're using my mods, I advise against buying Minecraft.
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.
👀 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.
🥴 Is it worth it
Yes! Even shedaniel hates porting mods, and Avoid eliminates just that:

🧽 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:
| Name | Goals | Completed |
|---|---|---|
| Fabric | mixins, access widening | no |
| Fabric API | custom payloads | yes |
| Quilt | loader plugins | yes |
| Architectury | not sure tbh | no |
| Fabric Language Kotlin | - | yes |
| Kotlin for Forge | dedicated QoL features for kotlin | no |
| Balm (partially?) | not sure | no |
| Konkrete | not sure | no |
| Collective | not sure | no |
| CreativeCore | ingredients api | no |
| Bookshelf | stuff | no |
| Moonlight Lib | pack creation api | no |
| MaliLib | rendering utilities | no |
| Iceberg | some events | no |
| Resourceful Lib (partially?) | not sure | no |
| Resourceful Config | not sure | no |
| libIPN (partially?) | more modloader methods | yes |
| SuperMartjin642's Config Lib | config api | no |
| Trinkets | slot creation & management | no |
| Cristel Lib | conditional datapack loading | yes |
| Prism | color utilities | sort of |
| JamLib | repost checking | close |
Note that Avoid does not currently provide all functionality to replace them. But it may in the future.
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:
- 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)
- 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 Avoid License 3.1.0.
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Get it on
Available Platforms
On ModDex
Community snapshot
By the numbers