Skip to content

Boost Format

Patrigan edited this page Jan 29, 2022 · 2 revisions

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.
  • rarity: one of common, uncommon, rare, very_rare, none. See Boost 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.
  • boost_type: See Boost Types for possible values (always lowercase)
  • rarity: one of common, uncommon, rare, very_rare, none. See Boost 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.
  • boost_type: See Boost 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

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.

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.
  • rarity: one of common, uncommon, rare, very_rare, none. See Boost 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

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:

public class BoostProviders {
    public static final DeferredRegister<Boost.Serializer<?>> BOOST_PROVIDERS = BOOST_DISPATCHER.makeDeferredRegister(MODID);

    public static final RegistryObject<Boost.Serializer<YourClassBoost>> YOUR_CLASS_BOOST = BOOST_PROVIDERS.register("your_class_boost", () -> new Boost.Serializer<>(YourClassBoost.CODEC));
}```

Clone this wiki locally