The future of Fabrication
unascribed opened this issue · 3 comments
EDIT: SFort will be continuing to maintain Fabrication, as he has been. I will do this rework in another mod if I get around to it. I've granted him write access in all relevant places and migrated the site to GitHub so I'm no longer getting in the way.
Fabrication has become a massive behemoth that no one is able to adequately maintain, and its large collection of mixins and custom injection code makes maintaining it across versions (and porting it to new versions, such as 1.19.3) essentially impossible. SFort has been taking on the brunt of this while I just kind of pretend the project doesn't exist, but he's run out of time and motivation as well at this point.
I feel like we need to start over — scope on this mod has creeped to a ridiculous degree, and it's not even possible for users to get an idea of what all the features in it even are. The wiki page is so long as to be a bad joke.
Translations are also an issue with the incredible number of features; someone did go to the effort, and I commend them for that, but with the way the project is structured it's not really possible to natively support it.
I am holding a vote for the most popular features in Fabrication. Vote for your favorites. I will keep the top 50 in a rewrite, prioritizing the top 15. All other features will be removed. Feature PRs will no longer be unconditionally accepted.
I would like Fabrication 4 to focus on stability. Fabrication has garnered a (deserved) reputation for being unstable and buggy — it's simply not possible for us to test and adequately maintain all 261 features, and there's a lot of odd custom injections and reimplementations of Fabric API for no reason. 4 should use standard community libraries, like MixinExtras and Fabric API.
More than that, i feel like the features of the mod could be split into smaller mods. A lot of features target different kinds of players, like modpack makers, server owners, technical players, your average joe schmoe. Maybe if the features were divided in more targeted categories, it would be easier to find mantainers. Huge lists are always disencouraging, specially when you don't care about everything there.
I did a quick sorting of features based on usage cases, as opposed to the current "intrusivity" approach. Might be useful to sort things out.
Creator and Admin tools (No regular player would use these, meant for server admins, mapmakers and modpack makers)
Adventure Tags In Survival CanHit /i And More Inanimates Can Be Invisible Item Despawn Control Item Frames Don't Display Name Tags KillMessage Legacy Command Syntax Lenient Command Suggestions Mob IDs /mods Command Ping Privacy Show Map ID Taggable Players Yeet Recipes
Technical Players (Needs deep knowledge of mechanics or at least some familiarity with redstone)
Campfires Cook Entities ChunkLoading Furnace Minecart Colorful Redstone Detecting Powered Rails Directional Detector Rails Directional Powered Rails Exact Note Block Tuning Flimsy Tripwire Launching Pistons Less Restrictive Note Blocks Note Block Notes Note Blocks Play On Landing Observers See Entities Observers See Entities - Living Only Play Note Blocks In Creative Pursurvers Reverse Note Block Tuning Spawners Always Tick Stable Cacti Break Vanilla Compat Thrown Buckets Empty Lava Cauldrons Toggleable Furnace Carts
Aesthetic Fixes, Tweaks and Additions (Won't affect too much the server or other players)
Alt Absorption Sound Better Pause Freezing Blinking Drops Block Logo Boundless Levels Bubble Column Pop Billboard Drops Classic Block Drops Colored Crack Particles Cracking Spawn Eggs Dirt Screen Disable Equip Sound Disable Nether Fog End Portal Parallax Ender Pearl Sound Fix End Portal Render Fix Nether Portal Nausea Flat Items Foliage Creepers Fullres Banner Shields Ghast Charging Ghast Panic Janky Arm Less Annoying Fire Long Level Up Sound At 30 Mechanism Muffling More Explosion Particles No Hand Sway No Player Death Animation No Stance Transition Normal Fog With Night Vision Oak Is Apple Old Background Shade Old Lava Old Tooltip Omniscent Player Oof Rainbow Experience Silent Minecarts Silverfish Step Sync Attacker Yaw (Fixed in snapshots) TNT Is Dynamite Uncap Menu FPS Void Fog Void Fog Particles Yellow Button Hover
QoL (Mostly related to interfaces or ease of use)
Books Show Enchants Chat Markdown Crawling Despawning Items Blink Extract Furnace Experience Faster Obsidian Fire Aspect Is Flint And Steel Furnace Minecart Pushing Gradual Block Breaking Hide Armor Linkify Urls Multiline Sign Paste Open Inventories in Nether Portals Recipe Book Auto Craft RMB Clears Text Fields Use Player List Name In Tag See Held Items While Riding Show Bee Count in Tooltip Show Bee Count on Items Stable Cacti Tools Show Important Enchant Unsaddle Creatures Water Fills On Break Water Fills On Break Strict
Accessibility and Peace of Mind (Covers edge cases that don't affect most players but might be deal breaking to those affected)
Can Breathe Water Disable Bees Disable Prior Work Penalty Ender Dragon Always Spawns Dragon Egg Endermen Don't Grief Endermen Don't Squeal Environmentally Friendly Creepers Enter Selects Highlighted Suggestion Fireproof Invisible To Mobs Legible Signs (could be QoL) No Guardian Jumpscare No Night Vision Flashing Permanent Conduit Power Permanent Dolphins Grace Toggle Sprint Toggle Stance Scares Creepers Static Dragon Egg
Feature Removal (Quick and Dirty, A.k.a "The best solution to a problem is usually the easiest one")
Anvil No Xp Cost Bush Walk Doesn't Hurt Disable Elytra Disable Elytra Boost Disable Lightning Fire Disable Mending Disable Night Skip Disable Storing Thrown Ender Pearls Disable Villagers No Dolphin Theft No Experience No Heavy Minecarts No Hunger No Phantoms No Sneak Bypass No Sprint No Swim No Trample No Wandering Trader
Nerf-oriented balance (Changes aspects some might consider overpowered or just makes stuff harder)
Brittle Shields Campfires Place Unlit Chaining Creepers Creepers Explode When On Fire Disable Mending Trade Drop Experience With keepInventory Faulty Shields Full Enchanting Cost Lava Causes Fall Damage Nether Cauldron No Filled Inventories In Shulkers Mobs Drop Less Metal Old Armor Old Armor Scale Photoresistant Mobs Villager Trades Reset
Buff-oriented balance (Encourages otherwise unviable tactics or just makes stuff easier)
Anvil Repair Anvil Fully Repairs Anvil No Level Limit Anvil Rename Always Costs One Anvils Take Damage Only When Falling Arrows Work In Water Bedrock-Like Impaling Broken Gear Drops Components Bush Walk Doesn't Hurt When Sneaking Bush Walk Doesn't Hurt With Armor Cactus Brush Doesn't Hurt With Chest Cactus Walk Doesn't Hurt With Boots Channeling Two Creepers Can't climb Drop More Experience On Death Déjà Void Feather Falling V Feather Falling V Damages Boots Feather Falling No Trample Full Ender Dragon XP Furnace Minecart Accepts Any Fuel Hyperspeed Furnace Minecart InfiBows Infinity Crossbows Infinity & Mending No Dinnerlava Photoallergic Creepers Pickup Skeleton Arrows Soul Speed Doesn't Damage Boots Spiders Can't Climb Glazed Terracotta Swap Conflicting Enchants Tools in Bundles Tridents Accept Power Tridents Accept Sharpness Tridents In Void Return Use Items While Riding
Two-edged Tweaks (Tweaks that make the game harder or easier depending on the situation)
Campfires Ignite Entities Collision Based Landing Pos Flammable Cobwebs Interrupting Damage Player Free Spawners Shulker Bullets Despawn On Death Source Dependent Invulnerability Frames Underwater Explosions
Full Mechanics (Complete game changers)
Bottled Air Curable Piglins Enhanced Moistness Spiders Can't Climb While Wet Grindstone Disenchanting Obsidian Tears Protection On Any Item Weaponized Pearls
Weird or Situational (Features whose uses are very specific)
All Damage Is Fatal Blaze Powder Grows Nether Wart Cactus Punching Hurts Dimensional Tools Dropped Items Don't Stack Encroaching Emeralds Entities Can't Climb Fire Protection On Any Item Fix Charm Amethyst Dupe Food Always Edible Instant Bow Instant Eat Instant Pickup Invisibility Splash On Inanimates Item Safe Cactus Leaves Grow Grass Melee Mobs Keep Attacking Old Sheep Shear Slow Fall Splash On Inanimates Spreadable Moss Tridents Activate Levers Villagers Follow Emerald Blocks Weapons Accept Silk Wool Protected Sheep
The most important features to me are the QoL and aesthetic changes, pixel density consistency is excellent, and while it could be done with a resource pack, doing so would be a massive pain and require a lot of time and effort. Trident void returning is massively important, it's been in Bedrock Edition for ages. Honestly most of the Trident changes are excellent, and make the item much more versatile and usable for how hard it is to get. Being able to crawl on command is MASSIVE for me, and is a very important feature to my personal use, as is blinking items, it lets me see what items to prioritize grabbing and has saved my butt more times than i'd like to admit, especially with its integration with the flashing white. Being able to swap conflicting enchantments is again Huge to my playing, and is a massive help to me in some situations, and actually being able to actually see what enchantments are on an item/book is super massive, as without it I find it nearly impossible to find what enchantments I'm looking for otherwise, same for the Bee count indicator on Bee Home blocks. Reintroducing the ghast "squish" animation is extremely helpful for when they are facing away from you and decide to shoot anyways, and Rainbow Experience is super important to me as I find it makes it much easier to see Experience Orbs. No Stance Transition is again a massive feature for accessibility and makes it much easier for me to play the game, as without it I can get disoriented very easily. The alternative Absorption sound is excellent for "readability" of the game, as it can be difficult to pay attention to health bars and several mobs at once, and Bubble Columns popping makes it much easier for me to actually tell where they are, especially in large bodies of water. Silverfish step sounds make it much easier to tell if danger is near, especially early game, and Channeling II allows the enchantment to have use much more often.