Here you will find a description on how to configure the various Boost Types. ## Available Boost Providers - **no_boost**: This type is there to support the singular `minecraft:empty` boost. No other boosts should be defined on this. - **attribute_boost**: Improves an attribute with a value. - **wear_armor_boost**: Gives the entity 1 complete armor set. In the current implementation, an entity can be affected by only 1 `wear_armor_boost` - **wear_hands_boost**: Gives the entity something to hold in his hands. In the current implementation, an entity can be affected by up to 2 `wear_hands_boost`, one with type `mainhand` and one with type `offhand`. - **daylight_protection_boost**: A boost provided to prevent mobs from behaving weirdly during daylight. ## Formats ### Attribute Boost - **type**: `"faction_craft:attribute_boost` - **attribute**: Namespaced resource location of the attribute. - **adjustment**: The amount the attribute value should be adjusted with. - **strength_adjustment**: The amount 1 application of this boost will adjust the entity's [Strength](Strength). - **rarity**: one of `common`, `uncommon`, `rare`, `very_rare`, `none`. See [Boost Rarity](Boosts#Rarity) ### Wear Armor Boost - **type**: `"faction_craft:wear_armor_boost` - **item_stacks**: a list of ItemStack NBTs. Following list is for a most basic implementation, for more info see Fandom Wiki. - **id**: Namespaced resource location of the item. - **tag**: An itemstack tag to be applied to the itemstack - **Count**: How many items there should be in the stack. Put this to 1 for this boost. - **strength_adjustment**: The amount 1 application of this boost will adjust the entity's [Strength](Strength). - **boost_type**: See [Boost Types](Boosts#Types) for possible values (always lowercase) - **rarity**: one of `common`, `uncommon`, `rare`, `very_rare`, `none`. See [Boost Rarity](Boosts#Rarity) ### Wear Hands Boost - **type**: `"faction_craft:wear_hands_boost` - **item**: an ItemStack NBT. Following list is for a most basic implementation, for more info see Fandom Wiki. - **id**: Namespaced resource location of the item. - **tag**: An itemstack tag to be applied to the itemstack - **Count**: How many items there should be in the stack. Put this to 1 for this boost. - **strength_adjustment**: The amount 1 application of this boost will adjust the entity's [Strength](Strength). - **boost_type**: See [Boost Types](Boosts#Types) for possible values (always lowercase). Only in the case of `offhand` will the offhand item be filled. - **rarity**: one of `common`, `uncommon`, `rare`, `very_rare`, `none`. See [Boost Rarity](Boosts#Rarity) ### Daylight Protection Boost - **type**: `"faction_craft:daylight_protection_boost` - **headpiece**: an ItemStack NBT. Following list is for a most basic implementation, for more info see Fandom Wiki. - **id**: Namespaced resource location of the item. - **tag**: An itemstack tag to be applied to the itemstack. It is advisable to at least have `{"Unbreakable":1}` in this. - **Count**: How many items there should be in the stack. Put this to 1 for this boost. - **strength_adjustment**: The amount 1 application of this boost will adjust the entity's [Strength](Strength). ### Mount Boost - **type**: `"faction_craft:mount_boost` - **mount**: A ResourceLocation of the entity to add as a mount. - **strength_adjustment**: The amount 1 application of this boost will adjust the entity's [Strength](Strength). - **rarity**: one of `common`, `uncommon`, `rare`, `very_rare`, `none`. See [Boost Rarity](Boosts#Rarity) ### Faction Mount Boost Does not have a strength adjustment, as that comes from the entity definition in the faction file. - **type**: `"faction_craft:faction_mount_boost` - **mount**: A ResourceLocation of the entity to add as a mount. - **rarity**: one of `common`, `uncommon`, `rare`, `very_rare`, `none`. See [Boost Rarity](Boosts#Rarity) ## Information for modders. Adding more Boost Providers can be done by extending the Boost class and then adding them to `BOOST_DISPATCHER` registry in FactionCraft. This can be done with a class definition as follows: ```java public class BoostProviders { public static final DeferredRegister> BOOST_PROVIDERS = BOOST_DISPATCHER.makeDeferredRegister(MODID); public static final RegistryObject> YOUR_CLASS_BOOST = BOOST_PROVIDERS.register("your_class_boost", () -> new Boost.Serializer<>(YourClassBoost.CODEC)); }```