Botania Documentation
repository·1.20.x·Indexed 23 days ago
https://github.com/vazkiimods/botaniaA Minecraft tech mod themed around natural magic. This documentation covers installation of the Garden of Glass skyblock mode, Gradle dependency configuration for Forge development, porting requirements for version 1.21 (including Java 21 and item components), and architectural details regarding the Xplat cross-platform module and Forge compatibility layer.
What's inside Botania
- This document provides detailed character profiles for the 'Botania Flower Characters' (formerly known as 'Flowersonas'). Each profile includes the character's personality traits, gender identity, physical symbols, likes, and dislikes, serving as lore for the project's character-driven elements.
View Botania Flower Character Profiles
1.20.xTheomakefile contains character profiles for Miscellaneous, Generating, and Functional Flowers in Botania, inspired by the Touhou Project. These profiles include details such as gender, physical symbols, likes, and dislikes for various flowers.What is the Xplat submodule?
1.20.xThe
Xplat(cross-platform) submodule contains all Botania code designed to be shared between different mod loaders, specifically Forge and Fabric. It is functionally equivalent to what other multi-loader projects might call a "Common" module, but specifically refers to cross-loader compatibility rather than client/server code sharing.To handle cases where shared code must perform loader-specific actions, the project uses the
XplatAbstractionsinterface. This interface is implemented by the respective Forge and Fabric submodules, allowing theXplatcode to call into loader-specific logic through these abstractions.Replace Enum-based behavior with Subclasses or Records
1.20.xTo reduce massive switch cases and improve type safety, several enum-based systems are being refactored into subclasses or record types:
Feature New Implementation Approach Luminizer types Subclasses Grass types Subclasses of SpreadingSnowyDirtBlockSpark augment types Identified by item type Mana pool variants Subclasses (diluted, default size, creative) Natura pylon Separate subclass Horn/drum variants Subclasses Elementium armor Merged into ElementiumArmorItemwith constructor parameter for pixie spawn chanceCharacter Profile: Exoflame
1.20.xExoflame
Exothermic and Exuberant Ear
- Gender: Tastefully done eyeliner that renders their features extra androgynous
- Physical symbols: a party hat, but specifically the one from OSRS
- Likes: Meeting new people, helping friends in need, Endoflame
- Dislikes: When hangout plans fall through
Exoflame is a social butterfly and a trusted friend who actively plans social gatherings and provides thoughtful support to others. They are the sibling of the introverted Endoflame.
How Xplat code is distributed in loader-specific builds
1.20.xWhen building Forge or Fabric specific artifacts, the
Xplatmodule's sources are substituted directly into the loader-specific project (e.g.,Xplat/srccontents are treated as if they were inForge/srcorFabric/src).For end-users (players and modders), the resulting JARs are indistinguishable from standard loader-specific mods. The code from
Xplatincluded in these JARs is remapped to Intermediary/SRG just like any other part of the mod.Character Profile: Hopperhock
1.20.xHopperhock
Jolly Collector
- Gender: ???
- Physical symbols: ?
- Likes: Hoarding
- Dislikes: Losing things
Hopperhock is a scavenger who lives by collecting and reselling items. They maintain a happy-go-lucky attitude despite a mysterious past and a tendency to be tricked out of their belongings.
Character Profile: Agricarnation
1.20.xAgricarnation
Guided Carnation Adrift in the Sea of Life
- Gender: Fluid
- Physical symbols: Composter
- Likes: Self-improvement books
- Dislikes: Not being motivated
Agricarnation was a high-achieving student who struggled with the lack of external validation in adulthood. They often struggle with motivation and spend time pondering the purpose of life through self-help literature.
How Garden of Glass works
1.20.xGarden of Glass is a specialized configuration of Botania designed for skyblock playstyles. It does not contain independent Java code; instead, it functions as a 'dressed-up datapack' that provides specific recipe overrides and data changes. All functional code execution is handled by the base Botania mod.Understand the Forge module in Botania
1.20.xThe
Forgemodule is the dedicated layer within Botania for Minecraft Forge compatibility. It encapsulates all Forge-specific logic, including:- Event registrations
- Hooks
- Integrations with other Forge mods
- Mixins specifically targeting Forge environments
Developers looking to understand how Botania interacts with the Forge ecosystem or how to implement Forge-specific extensions should focus on this module.
Character Profile: Labellia
1.20.xLabellia
Archivist of Leaves and Lore
- Gender: Book (they/them)
- Physical symbols: Brain
- Likes: Physical media (books, CD's, tapes, game cartridges, etc.), Munchdew
- Dislikes: DRM, closed-access scientific journals, subscription services
Labellia is an expert librarian who developed the 'Munchdewey Decimal System' to organize knowledge. They are a strong advocate for physical media and true ownership of content to combat the loss of digital access.
Character Profile: Rannuncarpus
1.20.xRannuncarpus
Handy and dexterous limbs
- Gender: Removed -- it was only holding them back
- Physical symbols: Toy slap hands
- Likes: Piano, building castles and other large structures in Minecraft
- Dislikes: Getting cold hands before work
Rannuncarpus is a highly skilled professional pianist and electronics repair technician, though they can be surprisingly clumsy in their private life.