Expand your gameplay customisation to the absolute limit!
There's a new/old character mod on the block!
Various Types is a rebirth of the Various Oddities types system and implements a datapack-driven per-player gameplay customisation infrastructure that is endlessly customisable and easy to use both by developers, server admins, and players.
As of today you can check out its first alpha version in Fabric 1.20.6, but don't be mistaken in thinking "alpha" means its buggy or crash-happy or that big chunks are incomplete.
The only thing this version is lacking in is default content. The infrastructure, from the character creator that lets you pick a species and any number of templates, complete with a preview screen of what you'll be like ingame, as well as the character sheet screen that lets you even look at other players' characters, to a fully-fleshed out wiki detailing how to use the commands and how all the different components work, is already here!
In Various Types, the properties being applied to each player are determined by a central character sheet object. This object is responsible for determining their current creature types, abilities, and other useful information. It also serves as the repository for the things that change those values, such as their selected species and currently-applied templates.
Initially, this was all hard-coded, so that adding a new value necessitated directly changing the character sheet object and updating all of the modifying elements to account for it. Whilst this was simple enough when there were relatively few values, such as when there was only 3 of them, it quickly became a headache as the amount of information and modifying factors increased during development.
Time for a new approach.
Enter the twin registries of ISheetElement and SheetModule. The simplest descriptions of which are the parts of a character sheet you write in (the modules) and the parts that many digital character sheets automatically calculate for you (the elements).
ISheetElements are the individual modifiable values stored in the character sheet. This can be a singular value like the the player's home dimension or volume of nonlethal damage, or it can be more complex like their current abilities. Each element defines what other elements must be calculated before they are, such as types before abilities since types themselves convey abilities, as well as when modules are applied during their recalculation process (for efficiency this "build order" is calculated after initial registration and stored for later usage, rather than calculated each time a sheet rebuilds). Elements can be stored in persistent data (such as activated abilities that require long-term information storage) but most are simply recalculated from scratch as needed.
Modules receive each element as it is recalculated, in a specific ascending integer order. They are the things that change the values, such as species or custom abilities. Modules always initialise blank.
Each character sheet always has a copy of every entry in both registries, even if a new entry was added inbetween times the sheet was loaded into memory. When the character sheet is rebuilt, usually due to a change in one or more of its modules, it recalculates each element in build order, applying the changes of each module as it goes.
New modules can be registered to expand the variety of modifying factors and new elements can be registered to expand what information the character sheet tracks.
This revised approach, though certainly overkill for a character sheet existing with only a small handful of components or with no intentions for future expansion, allows the character sheets to be expanded endlessly by third-party add-ons as well as to hold whatever feature creep inevitably demands.
Changing to this approach early on greatly simplified making changes to the character sheet structure during development, such as implementing custom types and abilities, separating abilities into passive and activated abilities, as well as adding new mechanics such as implementing nonlethal damage as a new tracked value per player.
This essentially makes Various Types into not only a powerful and versatile mod in itself, but the quintessential utility for implementing virtually any game mechanic that necessitates per-player data tracking.
Expand your gameplay customisation to the absolute limit!
By the strange peculiarities of time it's been a mortifying 7 months since Various Types last got an update, but here it is!
Beta version 0.8 for both Fabric and NeoForge includes a litany of new abilities, an overhauled command experience, and a whopping FIFTY-THREE cosmetics! Ranging from wings to tails to horns to mysterious glowing icons hovering over your head, the new cosmetic system has bountiful possibilities for roleplaying and filmmaking!
Download Various Types 0.6 on Modrinth. Supports 1.20.6 Fabric. Published on Aug 30, 2024. 0 downloads.
New Various Types beta version, with many new toys!
Added new abilities (as per convention, if the description has [square brackets] around something, it's configurable):
Berserk grants you substantial HP and damage buffs, but temporarily slows and weakens you afterwards
Mindless and Omniscient both prevent you from picking up XP, but Mindless prevents you from using crafting menus whereas Omniscient treats you as always having 9999 levels
Quake emits a shockwave where you land
Thunderstep allows you to teleport between any two visible surface positions via bolts of lightning
Bad Breath spawns a lingering cloud of poison at your feet
Flameproof reduces fire damage by 50%
Webweaver prevents cobwebs from slowing you down
Herbivore prevents you from eating any non-vegetarian food
Fleeced trades your hunger with white wool
Gelatinous now adds 15% resistance to physical damage, and makes you translucent
Regeneration now converts applicable damage into nonlethal damage
Animated avatars in the character creator or sheet display screens can now strike some poses for an indefinite length of time
I know full well that I've got an uphill struggle when it comes to marketing Various Types, because it's 2024 and everyone already uses Origins and thinks it's the bee's knees (and to their credit, Origins is a good mod), so you'll forgive me for harking on about VT but I do earnestly believe that it is more than viable as a competitor of the aging popular mod.
All this was true as well back when what is now Various Types was part of Various Oddities (which itself enjoyed some considerable popularity whilst Origins didn't share space in the same modloader), but I'll try and break it down a bit to drive home why I think it's worth giving a look:
Expand your gameplay customisation to the absolute limit!
First, it doesn't work like Origins. In Origins, you choose (or are randomly selected) a "origin", of varying levels of "impact" usually between 0 and 3. Depending on server config, you might get another one after dying, but that's it. This means the range of gameplay is only as diverse as the datapack in use, because each player is locked into just one component.
Various Types, in stark contrast, actually presents the player with a full-blown character creation system. You choose a species, which is similar to an origin, and are then able to choose templates that modify it. Moreover, those templates can be stacked on top of each-other, in different orders and with different results. So whilst the range of gameplay is still limited by datapack, it is roughly combinatorially massive. The default species and templates that presently ship in the alpha, by itself, theoretically offer up to 286 builds (template conditions permitting). The server has a "power" setting that helps to constrain how drastically overpowered characters can be, but the variations possible without even breaking 5 power are staggering against the dozen or so origins that Origins ships with even today.
This ultimately means that players are always able to be at least a little different to one-another. Even if they share the same species as the foundation of their character, an Insectile player is quite distinct to an Aquatic one.
Even among the less-impactful templates, a Gravekin Orkin (essentially a still-intelligent zombified piglin) has some stark distinction from a Reptilian Orkin (roughly a lizardman). Though personally, I'd rather not get on the bad side of either one of them, especially if they just heard me call them piglins...
Secondly, and by absolutely no means least, the core component of the mod (the character sheet) has intentionally been constructed such that it is incredibly easy for others to expand beyond its current and original confines.
Want to build a magic mod and need to track what spells people have and how much mana? All you need to do is register a couple things to the right registries, and it'll work just fine. Want to build a class system on top of it and player an Othall Ranger or Muckie Druid? Same thing, same ease.
In essence, and with no shred of hyperbole, Various Types has the capacity to be the foundational element of any conceivable per-player customisation mod. Just as long as people give it a chance.
Thirdly, the laborious devotion to clean visual aesthetics. I'm not gonna give Origins much sheet for this one, it's very much a product of its age from when Minecraft didn't really support anything that wasn't a texture rendered on a repeating dirt background.
But Various Types really fits in with the more recent era of Minecraft UI. The character creator screen alone really deserves a look. Each species can be given a distinct background to complement its lore or function, such as the Crioch species being from the End and therefore having an End City as their background, versus the sunny green forest background used by the Overworld-native Linn species.
Every species, template, type, or ability can even be given custom lore text. All of them. The sheer volume of options for RP alone are staggering.
Oh, and did I mention that your avatar is visible in the creator screen? As well as the character sheet display screen?
Which doesn't sound like much on its face, you can see your skin in your inventory screen all the time after all. Except that's not actually a player being rendered in either screen.
It's a custom entity. With a custom model. That can play animations.
Every time you open that screen, your avatar will wave at you to say hi. Stick around on it long enough, and you'll even see them strike a pose right out of a fighting game or casually sit down for a moment.
You can even see what your build will look like in full on the character sheet screen before you finalise it.
And that screen is itself no slouch. It prioritises clean minimalism whilst still giving access to every detail of a given build.
Which is great, but especially so because Various Types has four favourite ability keys (which you can assign activated abilities to quickly and easily from the ability menu, from which you can also just click on any ability to activate it) and absolutely no limit on how many abilities you can have. Passive OR activated.
It's really more comparable to the UI screens of Minecraft Dungeons or Legends than anything on offer by any other mod in the same niche.
Seriously, go check this mod out. It's in alpha right now, but more or less the only thing missing from it is just more abilities, and I've got a list as long as my arm of those to implement.
Download Various Types 0.5 on Modrinth. Supports 1.20.6 Fabric. Published on Aug 13, 2024. 0 downloads.
New beta version of Various Types now available!
In addition to some bug fixes and a crafting recipe for the character sheet item, this version implements the full flush of classic movement abilities (with Ghostly, Intangible, Burrow, and Fly, as well as Water Walking and Swim from earlier) and a few new ones (including making piglins neutral to you (Goldheart) and certain mobs hostile on-sight (Pariah))
We've also got the start of a new mechanic: Nonlethal damage and its consequent debuff, Fatigue! This scales up to amplifier 3, starting from roughly 50% of your max health as you accrue more nonlethal damage, which is always healed before hit point damage and passively recedes over time. Any effect that heals hit point damage prioritises healing nonlethal damage first, including your natural health regeneration.
Oh, and I made your avatar sit for however long they want to. They deserve a break.
hiya - been out of the modding game long since b4 fabric etc came about - is it possible to install whelchairs & various types on the same minecraft version? what would be the most stable one?
thanks so much im so excited to play with the wheelchair mod!!!
Wheelchairs is currently only available up to 1.20.5, though I do have plans to update it further once I figure out a bug with its custom recipes.
Various Types is currently only available for 1.20.6, with plans for porting to 1.21 in the near future once it leaves alpha.
This means the two cannot currently be played in the same pack, so basically just pick whichever most interests you and get going!