Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ProfessorFichte/Bards/llms.txt
Use this file to discover all available pages before exploring further.
BardsMod
The BardsMod class is the main entry point for the Bards RPG mod, providing static methods for initialization and registration, as well as configuration managers for various mod systems.
Location: com/bards/BardsMod.java:22
Constants
MOD_ID
public static final String MOD_ID = "bards_rpg";
The mod identifier used for all registry entries and resource locations.
Location: BardsMod.java:23
Configuration managers
itemConfig
public static ConfigManager<ConfigFile.Equipment> itemConfig = new ConfigManager<>
("equipment", Default.itemConfig)
.builder()
.setDirectory(MOD_ID)
.sanitize(true)
.build();
Manages equipment configuration including armor sets and weapons. Uses Default.itemConfig as the default configuration.
Location: BardsMod.java:24-29
Configuration file name for equipment settings
Default equipment configuration values
effectsConfig
public static ConfigManager<ConfigFile.Effects> effectsConfig = new ConfigManager<>
("effects", new ConfigFile.Effects())
.builder()
.setDirectory(MOD_ID)
.sanitize(true)
.build();
Manages status effect configurations for custom bard effects like Ballad and Troubadour’s Minuet.
Location: BardsMod.java:31-36
Configuration file name for effect settings
villageConfig
public static ConfigManager<StructurePoolConfig> villageConfig = new ConfigManager<>
("villages", Default.villageConfig)
.builder()
.setDirectory(MOD_ID)
.sanitize(true)
.build();
Manages village structure pool configurations, controlling where bard-themed structures (like pubs) spawn in villages.
Location: BardsMod.java:38-43
Configuration file name for village structure settings
Default village configuration including pub structures for desert, savanna, plains, taiga, and snowy villages
tweaksConfig
public static ConfigManager<TweaksConfig> tweaksConfig = new ConfigManager<>
("tweaks", new TweaksConfig())
.builder()
.setDirectory(MOD_ID)
.sanitize(true)
.build();
Manages development and compatibility tweaks. Contains the ignore_items_required_mods flag for development environments.
Location: BardsMod.java:45-50
Configuration file name for tweak settings
Methods
init()
public static void init() {
itemConfig.refresh();
effectsConfig.refresh();
villageConfig.refresh();
tweaksConfig.refresh();
CustomSpellImpacts.registerCustomImpacts();
if (FabricLoader.getInstance().isDevelopmentEnvironment()) {
tweaksConfig.value.ignore_items_required_mods = true;
}
}
Initializes the mod by refreshing all configuration managers and registering custom spell impacts. In development environments, automatically enables ignore_items_required_mods to allow testing items with mod dependencies.
Location: BardsMod.java:52-61
Execution order:
- Refreshes item configuration from disk
- Refreshes effects configuration from disk
- Refreshes village configuration from disk
- Refreshes tweaks configuration from disk
- Registers custom spell impacts (e.g.,
armies_paeon_impact)
- Enables mod requirement bypass in development mode
registerItems()
public static void registerItems() {
Group.BARDS = FabricItemGroup.builder()
.icon(() -> new ItemStack(Armors.troubadourArmorSet.armorSet().head.asItem()))
.displayName(Text.translatable("itemGroup.bards_rpg.general"))
.build();
Registry.register(Registries.ITEM_GROUP, Group.KEY, Group.BARDS);
BardBooks.register();
Armors.register(itemConfig.value.armor_sets);
Weapons.register(itemConfig.value.weapons);
itemConfig.save();
}
Registers all mod items including the creative tab, spell books, armor sets, and weapons. Creates the Bards creative item group with the Troubadour Hat as the icon.
Location: BardsMod.java:63-73
Registration order:
- Creates the Bards item group with troubadour helmet icon
- Registers the item group to Minecraft’s registry
- Registers spell books (bard spell book)
- Registers armor sets (entertainer, troubadour, netherite troubadour, storyteller)
- Registers weapons (rapiers, lutes, lyres)
- Saves the item configuration to disk
registerEffects()
public static void registerEffects() {
BardsEffects.register(effectsConfig.value);
effectsConfig.save();
}
Registers all custom status effects defined in BardsEffects and saves the configuration.
Location: BardsMod.java:75-78
Effects registered:
- Ballad - Increases attack damage and spell power
- Troubadour’s Minuet - Reduces damage taken
- Army’s Paeon - Buff stash effect
- Army’s Motivation - Damage-on-hit effect
id()
public static Identifier id(String path) {
return Identifier.of(MOD_ID, path);
}
Utility method for creating namespaced identifiers with the bards_rpg namespace.
Location: BardsMod.java:79-81
The path component of the identifier
Returns: Identifier - A namespaced identifier in the format bards_rpg:path
Example:
Identifier bookId = BardsMod.id("bard"); // Returns: bards_rpg:bard